copy_process() currently checks the SIGNAL_UNKILLABLE flag to determine whether to accept CLONE_PARENT. In preparation for allowing init processes to opt out of SIGNAL_UNKILLABLE, directly check whether the process is an init process with is_child_reaper().
Signed-off-by: Jürg Billeter <j...@bitron.ch> --- kernel/fork.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/fork.c b/kernel/fork.c index 1b27babc4c78..c019ce461556 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1646,7 +1646,7 @@ static __latent_entropy struct task_struct *copy_process( * from creating siblings. */ if ((clone_flags & CLONE_PARENT) && - current->signal->flags & SIGNAL_UNKILLABLE) + is_child_reaper(task_tgid(current))) return ERR_PTR(-EINVAL); /* -- 2.18.0