DragonFlyBSD Kernel Audit
DF-2005 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/powerplay/hwmgr/vega12_processpptables.c b/sys/dev/drm/amd/powerplay/hwmgr/vega12_processpptables.c
--- a/sys/dev/drm/amd/powerplay/hwmgr/vega12_processpptables.c
+++ b/sys/dev/drm/amd/powerplay/hwmgr/vega12_processpptables.c
@@ -70,6 +70,15 @@
 		"Unsupported PPTable format!", return -1);
 	PP_ASSERT_WITH_CODE(powerplay_table->sHeader.structuresize > 0,
 		"Invalid PowerPlay Table!", return -1);
+	PP_ASSERT_WITH_CODE(
+		(hwmgr->soft_pp_table_size >= sizeof(ATOM_Vega12_POWERPLAYTABLE)),
+		"PowerPlay Table size smaller than ATOM_Vega12_POWERPLAYTABLE!",
+		return -1);
+	PP_ASSERT_WITH_CODE(
+		(powerplay_table->sHeader.structuresize >=
+		 sizeof(ATOM_Vega12_POWERPLAYTABLE)),
+		"PowerPlay Table structuresize smaller than expected!",
+		return -1);
 
 	return 0;
 }