| From | "Eric W. Biederman" <> | Date | Wed, 22 Jun 2022 11:45:20 -0500 | Subject | [PATCH 1/3] signal: Ensure SIGNAL_GROUP_EXIT gets set in do_group_exit |
| |
The function do_group_exit has an optimization that avoids taking siglock and doing the work to find other threads in the signal group and shutting them down.
It is very desirable for SIGNAL_GROUP_EXIT to always been set whenever it is decided for the process to exit. That ensures only a single place needs to be tested, and a single bit of state needs to be looked at. This makes the optimization in do_group_exit counter productive.
Make the code and maintenance simpler by removing this unnecessary option.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> --- kernel/exit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/exit.c b/kernel/exit.c index f072959fcab7..96e4b12edea8 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -905,7 +905,7 @@ do_group_exit(int exit_code) exit_code = sig->group_exit_code; else if (sig->group_exec_task) exit_code = 0; - else if (!thread_group_empty(current)) { + else { struct sighand_struct *const sighand = current->sighand; spin_lock_irq(&sighand->siglock); -- 2.35.3
|