git: 6a7761b4d27c - main - amd64 pmap: convert panics to KASSERTs
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 07 Jul 2025 00:06:21 UTC
The branch main has been updated by alc:
URL: https://cgit.FreeBSD.org/src/commit/?id=6a7761b4d27c99b3b548f2d948b88bf1430ee636
commit 6a7761b4d27c99b3b548f2d948b88bf1430ee636
Author: Alan Cox <alc@FreeBSD.org>
AuthorDate: 2025-07-06 17:42:08 +0000
Commit: Alan Cox <alc@FreeBSD.org>
CommitDate: 2025-07-07 00:03:28 +0000
amd64 pmap: convert panics to KASSERTs
With the recent changes to pmap_demote_DMAP(), the calls to
pmap_demote_pdpe() and pmap_demote_pde_mpte() should never fail, so
we change the associated panics to KASSERTs.
Reviewed by: kib, markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D51180
---
sys/amd64/amd64/pmap.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index cae5436a1ff2..9c985df13ddf 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -9991,7 +9991,7 @@ pmap_demote_DMAP(vm_paddr_t base, vm_size_t len, bool invalidate)
pd_entry_t *pde;
vm_offset_t va;
vm_page_t m, mpte;
- bool changed;
+ bool changed, rv __diagused;
if (len == 0)
return;
@@ -10021,8 +10021,8 @@ pmap_demote_DMAP(vm_paddr_t base, vm_size_t len, bool invalidate)
if ((*pdpe & X86_PG_V) == 0)
panic("pmap_demote_DMAP: invalid PDPE");
if ((*pdpe & PG_PS) != 0) {
- if (!pmap_demote_pdpe(kernel_pmap, pdpe, va, m))
- panic("pmap_demote_DMAP: PDPE failed");
+ rv = pmap_demote_pdpe(kernel_pmap, pdpe, va, m);
+ KASSERT(rv, ("pmap_demote_DMAP: PDPE failed"));
changed = true;
m = NULL;
}
@@ -10033,9 +10033,9 @@ pmap_demote_DMAP(vm_paddr_t base, vm_size_t len, bool invalidate)
if ((*pde & PG_PS) != 0) {
mpte->pindex = pmap_pde_pindex(va);
pmap_pt_page_count_adj(kernel_pmap, 1);
- if (!pmap_demote_pde_mpte(kernel_pmap, pde, va,
- NULL, mpte))
- panic("pmap_demote_DMAP: PDE failed");
+ rv = pmap_demote_pde_mpte(kernel_pmap, pde, va,
+ NULL, mpte);
+ KASSERT(rv, ("pmap_demote_DMAP: PDE failed"));
changed = true;
mpte = NULL;
}