DragonFlyBSD Kernel Audit
DF-1272 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/powerplay/smumgr/tonga_smumgr.c b/sys/dev/drm/amd/powerplay/smumgr/tonga_smumgr.c
--- a/sys/dev/drm/amd/powerplay/smumgr/tonga_smumgr.c
+++ b/sys/dev/drm/amd/powerplay/smumgr/tonga_smumgr.c
@@ -1617,7 +1617,9 @@
 
 
 	/* Populate Sclk_CKS_masterEn0_7 and Sclk_voltageOffset */
-	for (i = 0; i < sclk_table->count; i++) {
+	for (i = 0; i < sclk_table->count &&
+		    i < (sizeof(smu_data->smc_state_table.Sclk_voltageOffset) /
+		         sizeof(smu_data->smc_state_table.Sclk_voltageOffset[0])); i++) {
 		smu_data->smc_state_table.Sclk_CKS_masterEn0_7 |=
 				sclk_table->entries[i].cks_enable << i;
 		if (ASICID_IS_TONGA_P(dev_id, hw_revision)) {