drm/amd/pm: vega10_hwmgr: fix potential off-by-one overflow in 'performance_levels'
authorAlexey Kodanev <aleksei.kodanev@bell-sw.com>
Tue, 4 Oct 2022 08:14:01 +0000 (11:14 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 10 Oct 2022 21:32:56 +0000 (17:32 -0400)
Since 'hardwareActivityPerformanceLevels' is set to the size of the
'performance_levels' array in vega10_hwmgr_backend_init(), using the
'<=' assertion to check for the next index value is incorrect.
Replace it with '<'.

Detected using the static analysis tool - Svace.
Fixes: f83a9991648b ("drm/amd/powerplay: add Vega10 powerplay support (v5)")
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alexey Kodanev <aleksei.kodanev@bell-sw.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_hwmgr.c

index 99bfe5e..c8c9fb8 100644 (file)
@@ -3155,7 +3155,7 @@ static int vega10_get_pp_table_entry_callback_func(struct pp_hwmgr *hwmgr,
                        return -1);
 
        PP_ASSERT_WITH_CODE(
-                       (vega10_ps->performance_level_count <=
+                       (vega10_ps->performance_level_count <
                                        hwmgr->platform_descriptor.
                                        hardwareActivityPerformanceLevels),
                        "Performance levels exceeds Driver limit!",