drm/amdgpu: Fix out-of-bounds write warning
authorMa Jun <Jun.Ma2@amd.com>
Thu, 25 Apr 2024 06:00:17 +0000 (14:00 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 8 May 2024 19:17:05 +0000 (15:17 -0400)
Check the ring type value to fix the out-of-bounds
write warning

Signed-off-by: Ma Jun <Jun.Ma2@amd.com>
Suggested-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tim Huang <Tim.Huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c

index 15c2406..ad49cec 100644 (file)
@@ -352,7 +352,7 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
        ring->max_dw = max_dw;
        ring->hw_prio = hw_prio;
 
-       if (!ring->no_scheduler) {
+       if (!ring->no_scheduler && ring->funcs->type < AMDGPU_HW_IP_NUM) {
                hw_ip = ring->funcs->type;
                num_sched = &adev->gpu_sched[hw_ip][hw_prio].num_scheds;
                adev->gpu_sched[hw_ip][hw_prio].sched[(*num_sched)++] =