]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Array offset used before range check
authorClay King <clayking@amd.com>
Thu, 14 Aug 2025 21:01:04 +0000 (17:01 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 27 Aug 2025 17:57:50 +0000 (13:57 -0400)
Consolidating multiple CodeQL Fixes for alerts with rule id: cpp/offset-use-before-range-check

Reviewed-by: Joshua Aberback <joshua.aberback@amd.com>
Signed-off-by: Clay King <clayking@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dml/dcn302/dcn302_fpu.c
drivers/gpu/drm/amd/display/dc/dml/dcn303/dcn303_fpu.c
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c
drivers/gpu/drm/amd/display/dc/resource/dcn30/dcn30_resource.c

index 8da97a96b1ceb9bad9d7992ca4b60078af31b3fc..8d7c59ec701dc04039f535a08ec9486e755feea0 100644 (file)
@@ -280,7 +280,7 @@ void dcn302_fpu_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_p
                j = 0;
                /* create the final dcfclk and uclk table */
                while (i < num_dcfclk_sta_targets && j < num_uclk_states && num_states < DC__VOLTAGE_STATES) {
-                       if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j] && i < num_dcfclk_sta_targets) {
+                       if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j]) {
                                dcfclk_mhz[num_states] = dcfclk_sta_targets[i];
                                dram_speed_mts[num_states++] = optimal_uclk_for_dcfclk_sta_targets[i++];
                        } else {
index e968870a4b810c62e30114d7ba1c88e7dd2c9834..b5d3fd4c3694ec4ae9135eb08c1f489737ba16c3 100644 (file)
@@ -285,7 +285,7 @@ void dcn303_fpu_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_p
                j = 0;
                /* create the final dcfclk and uclk table */
                while (i < num_dcfclk_sta_targets && j < num_uclk_states && num_states < DC__VOLTAGE_STATES) {
-                       if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j] && i < num_dcfclk_sta_targets) {
+                       if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j]) {
                                dcfclk_mhz[num_states] = dcfclk_sta_targets[i];
                                dram_speed_mts[num_states++] = optimal_uclk_for_dcfclk_sta_targets[i++];
                        } else {
index 7cd7bddea4236db9f3bce498b1c31c96102a4588..18388fb00be8cf6b0730e78e523221ab9f5ec6c1 100644 (file)
@@ -3229,7 +3229,7 @@ void dcn32_update_bw_bounding_box_fpu(struct dc *dc, struct clk_bw_params *bw_pa
                        j = 0;
                        // create the final dcfclk and uclk table
                        while (i < num_dcfclk_sta_targets && j < num_uclk_states && num_states < DC__VOLTAGE_STATES) {
-                               if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j] && i < num_dcfclk_sta_targets) {
+                               if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j]) {
                                        dcfclk_mhz[num_states] = dcfclk_sta_targets[i];
                                        dram_speed_mts[num_states++] = optimal_uclk_for_dcfclk_sta_targets[i++];
                                } else {
index 8839faf42207b17099289753e705011523664a57..e0a1dc89ce43f3e73232737811dd37e78c7542aa 100644 (file)
@@ -779,7 +779,7 @@ void dcn321_update_bw_bounding_box_fpu(struct dc *dc, struct clk_bw_params *bw_p
                j = 0;
                // create the final dcfclk and uclk table
                while (i < num_dcfclk_sta_targets && j < num_uclk_states && num_states < DC__VOLTAGE_STATES) {
-                       if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j] && i < num_dcfclk_sta_targets) {
+                       if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j]) {
                                dcfclk_mhz[num_states] = dcfclk_sta_targets[i];
                                dram_speed_mts[num_states++] = optimal_uclk_for_dcfclk_sta_targets[i++];
                        } else {
index 895349d9ca07cab675ef30cf2ba5c7a3bf098396..201ed863b69eb62bf2e84cf99fb2d4a20c4cb8ba 100644 (file)
@@ -2192,7 +2192,7 @@ void dcn30_update_bw_bounding_box(struct dc *dc, struct clk_bw_params *bw_params
                j = 0;
                // create the final dcfclk and uclk table
                while (i < num_dcfclk_sta_targets && j < num_uclk_states && num_states < DC__VOLTAGE_STATES) {
-                       if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j] && i < num_dcfclk_sta_targets) {
+                       if (dcfclk_sta_targets[i] < optimal_dcfclk_for_uclk[j]) {
                                dcfclk_mhz[num_states] = dcfclk_sta_targets[i];
                                dram_speed_mts[num_states++] = optimal_uclk_for_dcfclk_sta_targets[i++];
                        } else {