• Oleg Nesterov's avatar
    exit_signal: fix the "parent has changed security domain" logic · b6e238dc
    Oleg Nesterov authored
    exit_notify() changes ->exit_signal if the parent already did exec.
    This doesn't really work, we are not going to send the signal now
    if there is another live thread or the exiting task is traced. The
    parent can exec before the last dies or the tracer detaches.
    
    Move this check into do_notify_parent() which actually sends the
    signal.
    
    The user-visible change is that we do not change ->exit_signal,
    and thus the exiting task is still "clone children" for
    do_wait()->eligible_child(__WCLONE). Hopefully this is fine, the
    current logic is racy anyway.
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b6e238dc
signal.c 85.1 KB