summaryrefslogtreecommitdiff
path: root/sys/kern/kern_fork.c
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2018-11-21 18:56:15 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2018-11-21 18:56:15 +0000
commit3d3e6793f6f502c1220f6384dc79e1e0595ba0cb (patch)
tree65bfbd024ff4e0e851f5da42d7699613a7c0834a /sys/kern/kern_fork.c
parent3bea9a2664be8585a421820a80b3cd012183e008 (diff)
Notes
Diffstat (limited to 'sys/kern/kern_fork.c')
-rw-r--r--sys/kern/kern_fork.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index cea57b6c34a6..a155246e6cc0 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -406,7 +406,9 @@ do_fork(struct thread *td, struct fork_req *fr, struct proc *p2, struct thread *
AUDIT_ARG_PID(p2->p_pid);
LIST_INSERT_HEAD(&allproc, p2, p_list);
allproc_gen++;
+ sx_xlock(PIDHASHLOCK(p2->p_pid));
LIST_INSERT_HEAD(PIDHASH(p2->p_pid), p2, p_hash);
+ sx_xunlock(PIDHASHLOCK(p2->p_pid));
PROC_LOCK(p2);
PROC_LOCK(p1);