diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 6cc137811ec..f4c167a88ec 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1028,7 +1028,8 @@ pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot) default: off = 0; } - if (vm_page_pa_tryrelock(pmap, tpte & ~ATTR_MASK, &pa)) + if (vm_page_pa_tryrelock(pmap, + (tpte & ~ATTR_MASK) | off, &pa)) goto retry; m = PHYS_TO_VM_PAGE((tpte & ~ATTR_MASK) | off); vm_page_hold(m);