⬢ DragonFlyBSD Kernel Audit
DF-4453 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/i915/intel_opregion.c
+++ b/sys/dev/drm/i915/intel_opregion.c
@@ -1027,7 +1027,10 @@
 		goto out;
 
 	if (opregion->header->opregion_ver >= 2 && opregion->asle &&
-	    opregion->asle->rvda && opregion->asle->rvds) {
+	    opregion->asle->rvda && opregion->asle->rvds &&
+	    opregion->asle->rvds <= 4 * 1024 * 1024 &&
+	    opregion->asle->rvda + opregion->asle->rvds >
+	    opregion->asle->rvda) {
 		opregion->rvda = pmap_mapbios(opregion->asle->rvda,
 					  opregion->asle->rvds);
 		vbt = opregion->rvda;