⬢ DragonFlyBSD Kernel Audit
DF-4069 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/amd/powerplay/smumgr/vegam_smumgr.c
+++ b/sys/dev/drm/amd/powerplay/smumgr/vegam_smumgr.c
@@ vegam_populate_all_graphic_levels @@
-	uint32_t i, max_entry;
+	uint32_t i, max_entry, sclk_count;
@@
-	for (i = 0; i < dpm_table->sclk_table.count; i++) {
+	sclk_count = min(dpm_table->sclk_table.count,
+			(uint32_t)SMU75_MAX_LEVELS_GRAPHICS);
+	for (i = 0; i < sclk_count; i++) {
@@
-	smu_data->smc_state_table.GraphicsDpmLevelCount =
-			(uint8_t)dpm_table->sclk_table.count;
+	smu_data->smc_state_table.GraphicsDpmLevelCount = (uint8_t)sclk_count;
@@
-	for (i = 0; i < dpm_table->sclk_table.count; i++)
+	for (i = 0; i < sclk_count; i++)
 		levels[i].EnabledForActivity =
@@
-		for (i = 0; i < dpm_table->sclk_table.count; i++)
+		for (i = 0; i < sclk_count; i++)
 			levels[i].pcieDpmLevel =