drm/amdgpu: Fix NULL ptr dereference issue for non userq fences
authorArunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Mon, 9 Dec 2024 17:32:28 +0000 (23:02 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 8 Apr 2025 20:48:19 +0000 (16:48 -0400)
Add the correct fences count variable [num_fences] in the fences
array iteration to handle the userq / non-userq fences.

v2:(Christian)
  - All fences in the array either come from some reservation object
    or drm_syncobj. If any of those are NULL then there is a bug
    somewhere else.

Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c

index 20c36dc97c2eecffa231fee0504f0906cbab5061..8a4d9495f9d7862a983d3ced0b476c4dfa4ef7e3 100644 (file)
@@ -817,7 +817,7 @@ int amdgpu_userq_wait_ioctl(struct drm_device *dev, void *data,
                        fences[num_fences++] = fence;
                }
 
-               for (i = 0, cnt = 0; i < wait_info->num_fences; i++) {
+               for (i = 0, cnt = 0; i < num_fences; i++) {
                        struct amdgpu_userq_fence_driver *fence_drv;
                        struct amdgpu_userq_fence *userq_fence;
                        u32 index;