diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2020-09-14 20:31:10 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2020-09-14 20:31:10 +0000 |
commit | 3d84bf75008cf1a249ad58cfff1ac977acd5bfe5 (patch) | |
tree | 18c6cd0653ba1ec20402681b6e5d5b44dcdf85dc | |
parent | 48687d2855ce61b327eed1aa999a076b5526558e (diff) |
Since the issues with calling uvm_map_inentry_fix() without holding the
kernel lock are fixed now, push the kernel lock down again.
ok deraadt@
-rw-r--r-- | sys/uvm/uvm_map.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/uvm/uvm_map.c b/sys/uvm/uvm_map.c index fc23bc67e30..a7eac332bdd 100644 --- a/sys/uvm/uvm_map.c +++ b/sys/uvm/uvm_map.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_map.c,v 1.266 2020/09/12 17:08:50 mpi Exp $ */ +/* $OpenBSD: uvm_map.c,v 1.267 2020/09/14 20:31:09 kettenis Exp $ */ /* $NetBSD: uvm_map.c,v 1.86 2000/11/27 08:40:03 chs Exp $ */ /* @@ -1893,16 +1893,16 @@ uvm_map_inentry(struct proc *p, struct p_inentry *ie, vaddr_t addr, boolean_t ok = TRUE; if (uvm_map_inentry_recheck(serial, addr, ie)) { - KERNEL_LOCK(); ok = uvm_map_inentry_fix(p, ie, addr, fn, serial); if (!ok) { + KERNEL_LOCK(); printf(fmt, p->p_p->ps_comm, p->p_p->ps_pid, p->p_tid, addr, ie->ie_start, ie->ie_end); p->p_p->ps_acflag |= AMAP; sv.sival_ptr = (void *)PROC_PC(p); trapsignal(p, SIGSEGV, 0, SEGV_ACCERR, sv); + KERNEL_UNLOCK(); } - KERNEL_UNLOCK(); } return (ok); } |