summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2003-02-14 08:59:49 +0000
committertjr <tjr@FreeBSD.org>2003-02-14 08:59:49 +0000
commit5c16d0c5384413c453a808d72dc792c3a3784cd8 (patch)
treee0e5efec3d91cda6b3622677625cc8150704ae80
parent8ac8794f2891f87d74dfad1d1fe02e1ff11d0f18 (diff)
downloadFreeBSD-src-5c16d0c5384413c453a808d72dc792c3a3784cd8.zip
FreeBSD-src-5c16d0c5384413c453a808d72dc792c3a3784cd8.tar.gz
Obtain proc lock around modification of p_siglist in linux_wait4().
-rw-r--r--sys/compat/linux/linux_misc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 6b2dda9..57460a8 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -832,7 +832,9 @@ linux_wait4(struct thread *td, struct linux_wait4_args *args)
if ((error = wait4(td, &tmp)) != 0)
return error;
+ PROC_LOCK(td->td_proc);
SIGDELSET(td->td_proc->p_siglist, SIGCHLD);
+ PROC_UNLOCK(td->td_proc);
if (args->status) {
if ((error = copyin((caddr_t)args->status, &tmpstat,
OpenPOWER on IntegriCloud