summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2021-02-15 12:12:55 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2021-02-15 12:12:55 +0000
commit00ed96791d8e880817b8977a2ce6121ba74aafd7 (patch)
treee1823be82daa3f52b9f3fd18b64127f2af545a71
parent2b4d4942980e01a6b33e439ad18f42f5d4b2cb8a (diff)
Fix double unlock in uvmfault_anonget().
Reported by and ok jsg@
-rw-r--r--sys/uvm/uvm_fault.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/uvm/uvm_fault.c b/sys/uvm/uvm_fault.c
index 407f5d75cb6..02030337918 100644
--- a/sys/uvm/uvm_fault.c
+++ b/sys/uvm/uvm_fault.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_fault.c,v 1.113 2021/01/19 13:21:36 mpi Exp $ */
+/* $OpenBSD: uvm_fault.c,v 1.114 2021/02/15 12:12:54 mpi Exp $ */
/* $NetBSD: uvm_fault.c,v 1.51 2000/08/06 00:22:53 thorpej Exp $ */
/*
@@ -381,7 +381,7 @@ uvmfault_anonget(struct uvm_faultinfo *ufi, struct vm_amap *amap,
pmap_page_protect(pg, PROT_NONE);
KASSERT(anon->an_ref == 0);
if (locked)
- uvmfault_unlockall(ufi, amap, NULL);
+ uvmfault_unlockall(ufi, NULL, NULL);
uvm_anon_release(anon); /* frees page for us */
counters_inc(uvmexp_counters, flt_pgrele);
return (VM_PAGER_REFAULT); /* refault! */
@@ -412,7 +412,7 @@ uvmfault_anonget(struct uvm_faultinfo *ufi, struct vm_amap *amap,
uvm_unlock_pageq();
if (locked)
- uvmfault_unlockall(ufi, amap, NULL);
+ uvmfault_unlockall(ufi, NULL, NULL);
rw_exit(anon->an_lock);
return (VM_PAGER_ERROR);
}