[PATCH v2 1/2] signal: change force_sig_info_to_task() to call __send_signal_locked()
From: Oleg Nesterov
Date: Sat May 02 2026 - 10:13:33 EST
force_sig_info_to_task() calls send_signal_locked() but this is pointless;
info is always valid and has_si_pid_and_uid(info) should never be true.
Forced signals do not carry si_pid/si_uid, not to mention that info.si_pid
overlaps with .si_addr/si_call_addr/etc.
Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
---
kernel/signal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/signal.c b/kernel/signal.c
index 9924489c43a5..75e277e24b52 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1317,7 +1317,7 @@ force_sig_info_to_task(struct kernel_siginfo *info, struct task_struct *t,
if (action->sa.sa_handler == SIG_DFL &&
(!t->ptrace || (handler == HANDLER_EXIT)))
t->signal->flags &= ~SIGNAL_UNKILLABLE;
- ret = send_signal_locked(sig, info, t, PIDTYPE_PID);
+ ret = __send_signal_locked(sig, info, t, PIDTYPE_PID, false);
/* This can happen if the signal was already pending and blocked */
if (!task_sigpending(t))
signal_wake_up(t, 0);
--
2.52.0