summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2020-09-14 20:31:10 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2020-09-14 20:31:10 +0000
commit3d84bf75008cf1a249ad58cfff1ac977acd5bfe5 (patch)
tree18c6cd0653ba1ec20402681b6e5d5b44dcdf85dc
parent48687d2855ce61b327eed1aa999a076b5526558e (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.c6
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);
}