lkml.org 
[lkml]   [2022]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 02/17] exit: Coredumps reach do_group_exit
    The comment about coredumps not reaching do_group_exit and the
    corresponding BUG_ON are bogus.

    What happens and has happened for years is that get_signal calls
    do_coredump (which sets SIGNAL_GROUP_EXIT and group_exit_code) and
    then do_group_exit passing the signal number. Then do_group_exit
    ignores the exit_code it is passed and uses signal->group_exit_code
    from the coredump.

    The comment and BUG_ON were correct when they were added during the
    2.5 development cycle, but became obsolete and incorrect when
    get_signal was changed to fall through to do_group_exit after
    do_coredump in 2.6.10-rc2.

    So remove the stale comment and BUG_ON

    Fixes: 63bd6144f191 ("[PATCH] Invalid BUG_ONs in signal.c")
    History-Tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    ---
    kernel/exit.c | 2 --
    1 file changed, 2 deletions(-)

    diff --git a/kernel/exit.c b/kernel/exit.c
    index b5c35b520fda..34c43037450f 100644
    --- a/kernel/exit.c
    +++ b/kernel/exit.c
    @@ -904,8 +904,6 @@ do_group_exit(int exit_code)
    {
    struct signal_struct *sig = current->signal;

    - BUG_ON(exit_code & 0x80); /* core dumps don't get here */
    -
    if (sig->flags & SIGNAL_GROUP_EXIT)
    exit_code = sig->group_exit_code;
    else if (sig->group_exec_task)
    --
    2.29.2
    \
     
     \ /
      Last update: 2022-01-03 22:34    [W:4.101 / U:0.644 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site