During ip dump in gfx10 the index variable is reused but is not reinitialized to 0 and this causes the index calculation to be wrong and access out of bound access. Signed-off-by: Sunil Khatri <sunil.khatri@xxxxxxx> --- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c index 18488c02d1cf..a52c72739b40 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c @@ -9287,6 +9287,7 @@ static void gfx_v10_ip_print(void *handle, struct drm_printer *p) if (!adev->gfx.ip_dump_gfx_queues) return; + index = 0; reg_count = ARRAY_SIZE(gc_gfx_queue_reg_list_10); drm_printf(p, "\nnum_me: %d num_pipe: %d num_queue: %d\n", adev->gfx.me.num_me, @@ -9352,6 +9353,7 @@ static void gfx_v10_ip_dump(void *handle) if (!adev->gfx.ip_dump_gfx_queues) return; + index = 0; reg_count = ARRAY_SIZE(gc_gfx_queue_reg_list_10); amdgpu_gfx_off_ctrl(adev, false); mutex_lock(&adev->srbm_mutex); -- 2.34.1