Index: sys/arm64/arm64/pmap.c =================================================================== --- sys/arm64/arm64/pmap.c +++ sys/arm64/arm64/pmap.c @@ -5138,6 +5138,8 @@ } } pte = pmap_pte(pmap, pv->pv_va, &lvl); + KASSERT(pte != NULL, + ("%s: no pv page table entry found", __func__)); KASSERT(lvl == 3, ("pmap_page_test_mappings: Invalid level %d", lvl)); mask = 0; @@ -5173,6 +5175,8 @@ } } pte = pmap_pte(pmap, pv->pv_va, &lvl); + KASSERT(pte != NULL, + ("%s: no pvh page table entry found", __func__)); KASSERT(lvl == 2, ("pmap_page_test_mappings: Invalid level %d", lvl)); mask = 0; @@ -5294,6 +5298,8 @@ } va = pv->pv_va; pte = pmap_pte(pmap, va, &lvl); + KASSERT(pte != NULL, + ("%s: no page table entry found", __func__)); if ((pmap_load(pte) & ATTR_SW_DBM) != 0) (void)pmap_demote_l2_locked(pmap, pte, va, &lock); KASSERT(lock == VM_PAGE_TO_PV_LIST_LOCK(m), @@ -5317,6 +5323,8 @@ } } pte = pmap_pte(pmap, pv->pv_va, &lvl); + KASSERT(pte != NULL, + ("%s: no page table entry found", __func__)); oldpte = pmap_load(pte); if ((oldpte & ATTR_SW_DBM) != 0) { while (!atomic_fcmpset_64(pte, &oldpte,