Make a child execute fork_return() only if PTRACE_FORK has been specified.
authormpi <mpi@openbsd.org>
Tue, 23 Mar 2021 10:30:40 +0000 (10:30 +0000)
committermpi <mpi@openbsd.org>
Tue, 23 Mar 2021 10:30:40 +0000 (10:30 +0000)
commitaf8964917e47849e103b45f84b226601281e0495
treefb73b284f8714c4690cc4193b35edb266025bfed
parentcb55d4750a53b14e91e62240a8a2cb53357ffd2f
Make a child execute fork_return() only if PTRACE_FORK has been specified.

fork_return() does an additional check to send a SIGTRAP (for a debugger)
but this signal might overwrite the SIGSTOP generated by the parent doing
a PT_ATTACH before the child has a change to execute any instruction.

Prevent a race visible only on SP system with regress/sys/kern/ptrace2.

ok kettenis@
sys/kern/kern_fork.c