diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2021-02-15 12:12:55 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2021-02-15 12:12:55 +0000 |
commit | 00ed96791d8e880817b8977a2ce6121ba74aafd7 (patch) | |
tree | e1823be82daa3f52b9f3fd18b64127f2af545a71 | |
parent | 2b4d4942980e01a6b33e439ad18f42f5d4b2cb8a (diff) |
Fix double unlock in uvmfault_anonget().
Reported by and ok jsg@
-rw-r--r-- | sys/uvm/uvm_fault.c | 6 |
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); } |