Handling of signals does not happen once do_exit is called as a process never again exits from the kernel. So remove this ancient hold over from something else. Furthermore this is TIF_SIGPENDING on a zombie. Which will never be scheduled on a cpu again. Setting sigpending=0 was silly in 2.4 when exit_sighand did it and was called from do_exit. When exit_sighand started being called from release_task the code went from silly to completely pointless. History tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/ Fixes: 6dfc88977e42 ("[PATCH] shared thread signals") Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> --- kernel/exit.c | 1 - 1 file changed, 1 deletion(-) diff --git a/kernel/exit.c b/kernel/exit.c index 8926cdd132f2..c3de7ace243c 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -164,7 +164,6 @@ static void __exit_signal(struct task_struct *tsk) spin_unlock(&sighand->siglock); __cleanup_sighand(sighand); - clear_tsk_thread_flag(tsk, TIF_SIGPENDING); if (group_dead) { flush_sigqueue(&sig->shared_pending); tty_kref_put(tty); -- 2.10.1 -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html