From 1c610e1dd6dbb0109e58fd86b552f0686e381261 Mon Sep 17 00:00:00 2001 From: markj Date: Thu, 14 May 2020 15:49:37 +0000 Subject: [PATCH] Assert that page table traversal functions don't operate on superpages. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D24828 --- sys/amd64/amd64/pmap.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 8dd236acc82..1078a45ee8d 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -1317,6 +1317,8 @@ pmap_pdpe_to_pde(pdp_entry_t *pdpe, vm_offset_t va) { pd_entry_t *pde; + KASSERT((*pdpe & PG_PS) == 0, + ("%s: pdpe %#lx is a leaf", __func__, *pdpe)); pde = (pd_entry_t *)PHYS_TO_DMAP(*pdpe & PG_FRAME); return (&pde[pmap_pde_index(va)]); } @@ -1341,6 +1343,8 @@ pmap_pde_to_pte(pd_entry_t *pde, vm_offset_t va) { pt_entry_t *pte; + KASSERT((*pde & PG_PS) == 0, + ("%s: pde %#lx is a leaf", __func__, *pde)); pte = (pt_entry_t *)PHYS_TO_DMAP(*pde & PG_FRAME); return (&pte[pmap_pte_index(va)]); } -- 2.45.0