Page MenuHomeFreeBSD

D33509.id100149.diff
No OneTemporary

D33509.id100149.diff

Index: sys/arm64/arm64/pmap.c
===================================================================
--- sys/arm64/arm64/pmap.c
+++ sys/arm64/arm64/pmap.c
@@ -1593,11 +1593,11 @@
va = sva;
while (count-- > 0) {
pte = pmap_pte(kernel_pmap, va, &lvl);
+ KASSERT(pte != NULL,
+ ("%s: no page table entry found", __func__));
KASSERT(lvl == 3,
("Invalid device pagetable level: %d != 3", lvl));
- if (pte != NULL) {
- pmap_clear(pte);
- }
+ pmap_clear(pte);
va += PAGE_SIZE;
}
@@ -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,

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 21, 10:45 AM (8 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27111716
Default Alt Text
D33509.id100149.diff (1 KB)

Event Timeline