[PATCH] signal: use task parameter instead of current in task_join_group_stop()
From: Josh Law
Date: Sun Mar 15 2026 - 11:19:21 EST
task_join_group_stop() takes a task_struct parameter but reads jobctl
and signal from current instead. This works today because the sole
caller (copy_process) always passes a new thread in the same thread
group as current, so task->signal == current->signal and
task->jobctl is a copy of current->jobctl from dup_task_struct().
Use the task parameter directly so the function is self-consistent
with its API and will not silently break if a future caller passes a
task from a different thread group.
Signed-off-by: Josh Law <objecting@xxxxxxxxxxxxx>
---
kernel/signal.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/signal.c b/kernel/signal.c
index 116cf678c4a3..cb417e3674ed 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -386,8 +386,8 @@ static bool task_participate_group_stop(struct task_struct *task)
void task_join_group_stop(struct task_struct *task)
{
- unsigned long mask = current->jobctl & JOBCTL_STOP_SIGMASK;
- struct signal_struct *sig = current->signal;
+ unsigned long mask = task->jobctl & JOBCTL_STOP_SIGMASK;
+ struct signal_struct *sig = task->signal;
if (sig->group_stop_count) {
sig->group_stop_count++;
--
2.34.1