⬢ DragonFlyBSD Kernel Audit
DF-3683 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+++ b/sys/dev/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
@@ -228,8 +228,13 @@
 	voltage_table->mask_low = 0;
 	voltage_table->phase_delay = 0;
 	voltage_table->count = voltage_dependency_table->count;
+	if (voltage_table->count > PP_ATOMCTRL_MAX_VOLTAGE_ENTRIES) {
+		pr_warn("smu7: VBIOS voltage dependency table has %u entries, trimming to %d\n",
+			voltage_table->count, PP_ATOMCTRL_MAX_VOLTAGE_ENTRIES);
+		voltage_table->count = PP_ATOMCTRL_MAX_VOLTAGE_ENTRIES;
+	}
 
-	for (i = 0; i < voltage_dependency_table->count; i++) {
+	for (i = 0; i < voltage_table->count; i++) {
 		voltage_table->entries[i].value =
 			voltage_dependency_table->entries[i].v;
 		voltage_table->entries[i].smio_low = 0;