[AMD Official Use Only - General]

Invalid block id should return invalid error code.

Regards,
Hawking

-----Original Message-----
From: SHANMUGAM, SRINIVASAN <[email protected]>
Sent: Tuesday, December 26, 2023 18:04
To: Deucher, Alexander <[email protected]>; Koenig, Christian 
<[email protected]>
Cc: [email protected]; SHANMUGAM, SRINIVASAN 
<[email protected]>; Zhou1, Tao <[email protected]>; Zhang, Hawking 
<[email protected]>
Subject: [PATCH] drm/amdgpu: Fix possible NULL dereference in 
amdgpu_ras_query_error_status_helper()

Return 0, if blk is >= AMDGPU_RAS_BLOCK_COUNT

Fixes the below:

drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:1183 
amdgpu_ras_query_error_status_helper() error: we previously assumed 'info' 
could be null (see line 1176)

Cc: Tao Zhou <[email protected]>
Cc: Hawking Zhang <[email protected]>
Cc: Christian König <[email protected]>
Cc: Alex Deucher <[email protected]>
Signed-off-by: Srinivasan Shanmugam <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index bad62141f708..327415a15b05 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -1176,6 +1176,9 @@ static int amdgpu_ras_query_error_status_helper(struct 
amdgpu_device *adev,
        enum amdgpu_ras_block blk = info ? info->head.block : 
AMDGPU_RAS_BLOCK_COUNT;
        struct amdgpu_ras_block_object *block_obj = NULL;

+       if (blk >= AMDGPU_RAS_BLOCK_COUNT)
+               return 0;
+
        if (error_query_mode == AMDGPU_RAS_INVALID_ERROR_QUERY)
                return -EINVAL;

--
2.34.1

Reply via email to