diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index 2e3cb882ce04..6d52c72155a3 100644 --- a/sys/ia64/ia64/pmap.c +++ b/sys/ia64/ia64/pmap.c @@ -1444,18 +1444,15 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, vm_prot_t prot) if (pmap == NULL) return; - oldpmap = pmap_install(pmap); - if ((prot & VM_PROT_READ) == VM_PROT_NONE) { pmap_remove(pmap, sva, eva); - pmap_install(oldpmap); return; } - if (prot & VM_PROT_WRITE) { - pmap_install(oldpmap); + if (prot & VM_PROT_WRITE) return; - } + + oldpmap = pmap_install(pmap); newprot = pte_prot(pmap, prot);