DragonFlyBSD Kernel Audit
DF-1183 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/sys/dev/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
--- a/sys/dev/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
+++ b/sys/dev/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
@@ -3449,6 +3449,11 @@
 
 	vdd_dep_table_on_mclk  = table_info->vdd_dep_on_mclk;
 
+	/* DF-1183: VBIOS may report fewer than NUM_UCLK_DPM_LEVELS MCLK entries. */
+	if (vdd_dep_table_on_mclk == NULL ||
+	    vdd_dep_table_on_mclk->count < NUM_UCLK_DPM_LEVELS)
+		return 0;
+
 	return vdd_dep_table_on_mclk->entries[NUM_UCLK_DPM_LEVELS - 1].vddInd + 1;
 }