]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Fix Coverity INTEGER_OVERFLOW within decide_fallback_link_setting_ma...
authorHersen Wu <hersenxs.wu@amd.com>
Fri, 26 Apr 2024 16:13:59 +0000 (12:13 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 May 2024 20:18:18 +0000 (16:18 -0400)
[Why]
For addtion (uint8_t) variable + constant 1,
coverity generates message below:
Truncation due to cast operation on "cur_idx + 1" from
32 to 8 bits.

Then Coverity assume result is 32 bits value be saved into
8 bits variable. When result is used as index to access
array, Coverity suspects index invalid.

[How]
Change varaible type to uint32_t.

Reviewed-by: Alex Hung <alex.hung@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Hersen Wu <hersenxs.wu@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/link/protocols/link_dp_capability.c

index a01d0842bf8e5d025530350ab61fd205b986d48e..107b2cec572db482da48c6b1e4b1ed06649201b0 100644 (file)
@@ -534,7 +534,7 @@ static bool decide_fallback_link_setting_max_bw_policy(
                struct dc_link_settings *cur,
                enum link_training_result training_result)
 {
-       uint8_t cur_idx = 0, next_idx;
+       uint32_t cur_idx = 0, next_idx;
        bool found = false;
 
        if (training_result == LINK_TRAINING_ABORT)