diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 04f45a93147..64efc54eb97 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -3076,12 +3076,13 @@ validate: } #if VM_NRESERVLEVEL > 0 - if ((mpte == NULL || mpte->wire_count == NL3PG) && - pmap_superpages_enabled() && - (m->flags & PG_FICTITIOUS) == 0 && - vm_reserv_level_iffullpop(m) == 0) { - pmap_promote_l2(pmap, pde, va, &lock); - } + if (pmap != pmap_kernel() && + (mpte == NULL || mpte->wire_count == NL3PG) && + pmap_superpages_enabled() && + (m->flags & PG_FICTITIOUS) == 0 && + vm_reserv_level_iffullpop(m) == 0) { + pmap_promote_l2(pmap, pde, va, &lock); + } #endif if (lock != NULL)