drm/amdgpu: Fix out-of-bounds read of df_v1_7_channel_number
authorMa Jun <Jun.Ma2@amd.com>
Tue, 7 May 2024 01:29:33 +0000 (09:29 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 8 May 2024 19:17:07 +0000 (15:17 -0400)
Check the fb_channel_number range to avoid the array out-of-bounds
read error

Signed-off-by: Ma Jun <Jun.Ma2@amd.com>
Reviewed-by: Tim Huang <Tim.Huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/df_v1_7.c

index 5dfab80ffff213f11d5de27dd7e5c90faa06545e..cd298556f7a608dea1df5beb1d70aaa8d6a40727 100644 (file)
@@ -70,6 +70,8 @@ static u32 df_v1_7_get_hbm_channel_number(struct amdgpu_device *adev)
        int fb_channel_number;
 
        fb_channel_number = adev->df.funcs->get_fb_channel_number(adev);
+       if (fb_channel_number >= ARRAY_SIZE(df_v1_7_channel_number))
+               fb_channel_number = 0;
 
        return df_v1_7_channel_number[fb_channel_number];
 }