DragonFlyBSD Kernel Audit
DF-1689 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/powerplay/hwmgr/vega20_processpptables.c b/sys/dev/drm/amd/powerplay/hwmgr/vega20_processpptables.c
--- a/sys/dev/drm/amd/powerplay/hwmgr/vega20_processpptables.c
+++ b/sys/dev/drm/amd/powerplay/hwmgr/vega20_processpptables.c
@@ -642,6 +642,9 @@
 		"Unsupported PPTable format!", return -1);
 	PP_ASSERT_WITH_CODE(powerplay_table->sHeader.structuresize > 0,
 		"Invalid PowerPlay Table!", return -1);
+	PP_ASSERT_WITH_CODE(powerplay_table->sHeader.structuresize >=
+		sizeof(ATOM_Vega20_POWERPLAYTABLE),
+		"PowerPlay Table too small for Vega20 layout!", return -EINVAL);
 
 	if (powerplay_table->smcPPTable.Version != PPTABLE_V20_SMU_VERSION) {
 		pr_info("Unmatch PPTable version: "