summaryrefslogtreecommitdiff
path: root/sys/uvm
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2010-07-02 18:26:59 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2010-07-02 18:26:59 +0000
commit20db90291d3be155d5c7fd7c0948c1601ccf780d (patch)
treeb8aaaff6dbb466f962c87efdb32ab4e4775324ef /sys/uvm
parent92b1f39e02f7680f0b65f786e5b756684f3dc4d0 (diff)
Add missing pmap_update. pointed out by matthew@
Diffstat (limited to 'sys/uvm')
-rw-r--r--sys/uvm/uvm_glue.c4
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);
}