• Oleg Nesterov's avatar
    CLONE_PARENT shouldn't allow to set ->exit_signal · 5f8aadd8
    Oleg Nesterov authored
    The child must not control its ->exit_signal, it is the parent who
    decides which signal the child should use for notification.
    
    This means that CLONE_PARENT should not use "clone_flags & CSIGNAL",
    the forking task is the sibling of the new process and their parent
    doesn't control exit_signal in this case.
    
    This patch uses ->exit_signal of the forking process, but perhaps
    we should simply use SIGCHLD.
    
    We read group_leader->exit_signal lockless, this can race with the
    ORIGINAL_SIGNAL -> SIGCHLD transition, but this is fine.
    
    Potentially this change allows to kill self_exec_id/parent_exec_id.
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5f8aadd8
fork.c 43 KB