diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2010-07-02 18:26:59 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2010-07-02 18:26:59 +0000 |
commit | 20db90291d3be155d5c7fd7c0948c1601ccf780d (patch) | |
tree | b8aaaff6dbb466f962c87efdb32ab4e4775324ef /sys/uvm/uvm_glue.c | |
parent | 92b1f39e02f7680f0b65f786e5b756684f3dc4d0 (diff) |
Add missing pmap_update. pointed out by matthew@
Diffstat (limited to 'sys/uvm/uvm_glue.c')
-rw-r--r-- | sys/uvm/uvm_glue.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/uvm/uvm_glue.c b/sys/uvm/uvm_glue.c index 3783e418b0a..d589c590f11 100644 --- a/sys/uvm/uvm_glue.c +++ b/sys/uvm/uvm_glue.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_glue.c,v 1.52 2010/07/01 21:27:39 art Exp $ */ +/* $OpenBSD: uvm_glue.c,v 1.53 2010/07/02 18:26:58 art Exp $ */ /* $NetBSD: uvm_glue.c,v 1.44 2001/02/06 19:54:44 eeh Exp $ */ /* @@ -256,6 +256,7 @@ uvm_vslock_device(struct proc *p, void *addr, size_t len, pmap_kenter_pa(va, VM_PAGE_TO_PHYS(pg), VM_PROT_READ|VM_PROT_WRITE); va += PAGE_SIZE; } + pmap_update(pmap_kernel()); KASSERT(va == sva + sz); *retp = (void *)(sva + off); @@ -285,6 +286,7 @@ uvm_vsunlock_device(struct proc *p, void *addr, size_t len, void *map) kva = trunc_page((vaddr_t)map); pmap_kremove(kva, sz); + pmap_update(pmap_kernel()); uvm_km_pgremove_intrsafe(kva, kva + sz); uvm_km_free(kernel_map, kva, sz); } |