DragonFlyBSD Kernel Audit
DF-0996 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/platform/vkernel64/platform/pmap.c b/sys/platform/vkernel64/platform/pmap.c
@@ -2635,8 +2635,9 @@
 	 */
 	vm_object_hold(pmap->pm_pteobj);
 	pte = pmap_pte(pmap, va);
-	if ((*pte & VPTE_V) == 0) {
-		*pva = pmap_nextva(pmap, va);
+	if (pte == NULL || (*pte & VPTE_V) == 0) {
+		if (pte == NULL)
+			*pva = pmap_nextva(pmap, va);
 		vm_object_drop(pmap->pm_pteobj);
 
 		return NULL;