diff options
author | 2019-06-21 09:39:48 +0000 | |
---|---|---|
committer | 2019-06-21 09:39:48 +0000 | |
commit | edc99bcd885f4004d6cffdbe82f15aa2eb27ee9c (patch) | |
tree | 90a5c776fe52a9672304a33b0ce308c3c1f7763f /sys/kern/exec_subr.c | |
parent | Use timeout_add_msec(9) (diff) | |
download | wireguard-openbsd-edc99bcd885f4004d6cffdbe82f15aa2eb27ee9c.tar.xz wireguard-openbsd-edc99bcd885f4004d6cffdbe82f15aa2eb27ee9c.zip |
Make resource limit access MP-safe. So far, the copy-on-write sharing
of resource limit structs has been done between processes. By applying
copy-on-write also between threads, threads can read rlimits in
a nearly lock-free manner.
Inspired by code in DragonFly BSD and FreeBSD.
OK mpi@, agreement from jmatthew@ and anton@
Diffstat (limited to 'sys/kern/exec_subr.c')
-rw-r--r-- | sys/kern/exec_subr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/exec_subr.c b/sys/kern/exec_subr.c index f2282a4a357..f32be4bddf4 100644 --- a/sys/kern/exec_subr.c +++ b/sys/kern/exec_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: exec_subr.c,v 1.55 2018/04/12 17:13:44 deraadt Exp $ */ +/* $OpenBSD: exec_subr.c,v 1.56 2019/06/21 09:39:48 visa Exp $ */ /* $NetBSD: exec_subr.c,v 1.9 1994/12/04 03:10:42 mycroft Exp $ */ /* @@ -351,7 +351,7 @@ exec_setup_stack(struct proc *p, struct exec_package *epp) epp->ep_maxsaddr = USRSTACK - MAXSSIZ - MAXSSIZ_GUARD; epp->ep_minsaddr = USRSTACK; #endif - epp->ep_ssize = round_page(p->p_rlimit[RLIMIT_STACK].rlim_cur); + epp->ep_ssize = round_page(lim_cur(RLIMIT_STACK)); if (stackgap_random != 0) { sgap = arc4random() & (stackgap_random - 1); |