summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/selftests/mock_request.c
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@linaro.org>2025-06-25 10:21:58 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-07-10 16:04:49 +0200
commit9d4064787d8d11f69b01fd9d08bb7fd248041a56 (patch)
treef66825a1e3d237ef5712684cf3ba764c52b7943f /drivers/gpu/drm/i915/selftests/mock_request.c
parent3832ddc2fae84dbcb1162fcf2fabe7ce07db30af (diff)
drm/i915/selftests: Change mock_request() to return error pointers
[ Upstream commit caa7c7a76b78ce41d347003f84975125383e6b59 ] There was an error pointer vs NULL bug in __igt_breadcrumbs_smoketest(). The __mock_request_alloc() function implements the smoketest->request_alloc() function pointer. It was supposed to return error pointers, but it propogates the NULL return from mock_request() so in the event of a failure, it would lead to a NULL pointer dereference. To fix this, change the mock_request() function to return error pointers and update all the callers to expect that. Fixes: 52c0fdb25c7c ("drm/i915: Replace global breadcrumbs with per-context interrupt tracking") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://lore.kernel.org/r/685c1417.050a0220.696f5.5c05@mx.google.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> (cherry picked from commit 778fa8ad5f0f23397d045c7ebca048ce8def1c43) Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/i915/selftests/mock_request.c')
-rw-r--r--drivers/gpu/drm/i915/selftests/mock_request.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/selftests/mock_request.c b/drivers/gpu/drm/i915/selftests/mock_request.c
index 09f747228dff..1b0cf073e964 100644
--- a/drivers/gpu/drm/i915/selftests/mock_request.c
+++ b/drivers/gpu/drm/i915/selftests/mock_request.c
@@ -35,7 +35,7 @@ mock_request(struct intel_context *ce, unsigned long delay)
/* NB the i915->requests slab cache is enlarged to fit mock_request */
request = intel_context_create_request(ce);
if (IS_ERR(request))
- return NULL;
+ return request;
request->mock.delay = delay;
return request;