]> www.infradead.org Git - users/willy/xarray.git/commitdiff
drm/amd/display: Fix bounds check for dcn35 DcfClocks
authorRoman Li <roman.li@amd.com>
Wed, 13 Mar 2024 22:35:13 +0000 (18:35 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 27 Mar 2024 13:27:29 +0000 (09:27 -0400)
[Why]
NumFclkLevelsEnabled is used for DcfClocks bounds check
instead of designated NumDcfClkLevelsEnabled.
That can cause array index out-of-bounds access.

[How]
Use designated variable for dcn35 DcfClocks bounds check.

Fixes: a8edc9cc0b14 ("drm/amd/display: Fix array-index-out-of-bounds in dcn35_clkmgr")
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Reviewed-by: Sun peng Li <sunpeng.li@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c

index ee5c4ee1ed664433f4925a41717feab47fa53e69..101fe96287cb480bf9ee142ceb998a84ab1027f8 100644 (file)
@@ -714,7 +714,7 @@ static void dcn35_clk_mgr_helper_populate_bw_params(struct clk_mgr_internal *clk
                clock_table->NumFclkLevelsEnabled;
        max_fclk = find_max_clk_value(clock_table->FclkClocks_Freq, num_fclk);
 
-       num_dcfclk = (clock_table->NumFclkLevelsEnabled > NUM_DCFCLK_DPM_LEVELS) ? NUM_DCFCLK_DPM_LEVELS :
+       num_dcfclk = (clock_table->NumDcfClkLevelsEnabled > NUM_DCFCLK_DPM_LEVELS) ? NUM_DCFCLK_DPM_LEVELS :
                clock_table->NumDcfClkLevelsEnabled;
        for (i = 0; i < num_dcfclk; i++) {
                int j;