]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Fix incorrect size calculation for loop
authorAlex Hung <alex.hung@amd.com>
Sat, 20 Apr 2024 02:23:36 +0000 (20:23 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 May 2024 20:18:16 +0000 (16:18 -0400)
[WHY]
fe_clk_en has size of 5 but sizeof(fe_clk_en) has byte size 20 which is
lager than the array size.

[HOW]
Divide byte size 20 by its element size.

This fixes 2 OVERRUN issues reported by Coverity.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Alex Hung <alex.hung@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/dccg/dcn35/dcn35_dccg.c

index 02ec16bf381fe3dc4a8eb4f3927db3095bc8c434..1fc3aa2b507b2fa85a1523a6d5a8648294debf7c 100644 (file)
@@ -904,7 +904,7 @@ static uint8_t dccg35_get_other_enabled_symclk_fe(struct dccg *dccg, uint32_t st
        /* for DPMST, this backend could be used by multiple front end.
        only disable the backend if this stream_enc_ins is the last active stream enc connected to this back_end*/
                uint8_t i;
-               for (i = 0; i != link_enc_inst && i < sizeof(fe_clk_en); i++) {
+               for (i = 0; i != link_enc_inst && i < ARRAY_SIZE(fe_clk_en); i++) {
                        if (fe_clk_en[i] && be_clk_sel[i] == link_enc_inst)
                                num_enabled_symclk_fe++;
                }