diff options
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/pmap.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/arm/arm/pmap.c b/sys/arm/arm/pmap.c index f684402..d24a422 100644 --- a/sys/arm/arm/pmap.c +++ b/sys/arm/arm/pmap.c @@ -3242,9 +3242,12 @@ pmap_protect(pmap_t pm, vm_offset_t sva, vm_offset_t eva, vm_prot_t prot) PTE_SYNC(ptep); if (pg != NULL) { - f = pmap_modify_pv(pg, pm, sva, - PVF_WRITE, 0); - vm_page_dirty(pg); + if (!(pg->flags & PG_UNMANAGED)) { + f = pmap_modify_pv(pg, pm, sva, + PVF_WRITE, 0); + vm_page_dirty(pg); + } else + f = 0; } else f = PVF_REF | PVF_EXEC; |