]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Sep 2024 09:06:40 +0000 (11:06 +0200)
[ Upstream commit d768394fa99467bcf2703bde74ddc96eeb0b71fa ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdgpu/df_v1_7.c

index d6aca1c080687e6fbad20828024cb78e2fd6705e..9587e8672a01c1e0be9d1de1b273d2454c0f2e8a 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];
 }