DragonFlyBSD Kernel Audit
DF-1420 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/powerplay/hwmgr/smu8_hwmgr.c b/sys/dev/drm/amd/powerplay/hwmgr/smu8_hwmgr.c
--- a/sys/dev/drm/amd/powerplay/hwmgr/smu8_hwmgr.c
+++ b/sys/dev/drm/amd/powerplay/hwmgr/smu8_hwmgr.c
@@ -259,7 +259,7 @@
 	struct phm_clock_voltage_dependency_table *dep_table =
 				hwmgr->dyn_state.vddc_dependency_on_sclk;
 
-	if (dep_table->count > 0) {
+	if (dep_table && dep_table->count > 0) {
 		table->sclk = dep_table->entries[dep_table->count-1].clk;
 		table->vddc = smu8_convert_8Bit_index_to_voltage(hwmgr,
 		   (uint16_t)dep_table->entries[dep_table->count-1].v);
@@ -1703,7 +1703,7 @@
 
 	switch (idx) {
 	case AMDGPU_PP_SENSOR_GFX_SCLK:
-		if (sclk_index < NUM_SCLK_LEVELS) {
+		if (table && sclk_index < min(NUM_SCLK_LEVELS, table->count)) {
 			sclk = table->entries[sclk_index].clk;
 			*((uint32_t *)value) = sclk;
 			return 0;