Re: [PATCH] drm/xe/selftests: Fix an error pointer dereference bug

From: Matthew Brost
Date: Fri Jan 05 2024 - 15:26:33 EST


On Fri, Jan 05, 2024 at 03:20:35PM +0300, Dan Carpenter wrote:
> Check if "bo" is an error pointer before calling xe_bo_lock() on it.
>
> Fixes: d6abc18d6693 ("drm/xe/xe2: Modify xe_bo_test for system memory")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Reviewed-by: Matthew Brost <matthew.brost@xxxxxxxxx>

> ---
> drivers/gpu/drm/xe/tests/xe_bo.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
> index 412b2e7ce40c..3436fd9cf2b2 100644
> --- a/drivers/gpu/drm/xe/tests/xe_bo.c
> +++ b/drivers/gpu/drm/xe/tests/xe_bo.c
> @@ -125,14 +125,13 @@ static void ccs_test_run_tile(struct xe_device *xe, struct xe_tile *tile,
>
> bo = xe_bo_create_user(xe, NULL, NULL, SZ_1M, DRM_XE_GEM_CPU_CACHING_WC,
> ttm_bo_type_device, bo_flags);
> -
> - xe_bo_lock(bo, false);
> -
> if (IS_ERR(bo)) {
> KUNIT_FAIL(test, "Failed to create bo.\n");
> return;
> }
>
> + xe_bo_lock(bo, false);
> +
> kunit_info(test, "Verifying that CCS data is cleared on creation.\n");
> ret = ccs_test_migrate(tile, bo, false, 0ULL, 0xdeadbeefdeadbeefULL,
> test);
> --
> 2.42.0
>