Unverified Commit 43966114 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Christian Brauner
Browse files

exit: kill the pointless __exit_signal()->clear_tsk_thread_flag(TIF_SIGPENDING)



It predates the git history and most probably it was never needed. It
doesn't really hurt, but it looks confusing because its purpose is not
clear at all.

release_task(p) is called when this task has already passed exit_notify()
so signal_pending(p) == T shouldn't make any difference.

And even _if_ there were a subtle reason to clear TIF_SIGPENDING after
exit_notify(), this clear_tsk_thread_flag() can't help anyway.  If the
exiting task is a group leader or if it is ptraced, release_task() will
be likely called when this task has already done its last schedule() from
do_task_dead().

Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
Link: https://lore.kernel.org/r/20250206152334.GB14620@redhat.com


Acked-by: default avatarFrederic Weisbecker <frederic@kernel.org>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent fb3bbcfe
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -204,7 +204,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)
		tty_kref_put(tty);
}