[PATCH v3 1/2] pid: deinline kill_cad_pid

From: Cen Zhang (Microsoft)

Date: Sun Jul 19 2026 - 11:58:52 EST


Move kill_cad_pid() out of the header without changing behavior. This
prepares for taking a reference to cad_pid under RCU in the following
fix.

Suggested-by: Mateusz Guzik <mjguzik@xxxxxxxxx>
Suggested-by: Bradley Morgan <include@xxxxxxxxx>
Reviewed-by: Bradley Morgan <include@xxxxxxxxx>
Link: https://lore.kernel.org/all/CAGudoHH0vz=1m97EDHQFLLwGJmDPmqWJ+444b7rMiD059drEwQ@xxxxxxxxxxxxxx/
Signed-off-by: Cen Zhang (Microsoft) <blbllhy@xxxxxxxxx>
---
v3: Add Reviewed-by from Bradley Morgan.
v2: New preparatory patch to deinline kill_cad_pid().

include/linux/sched/signal.h | 5 +----
kernel/pid.c | 5 +++++
2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/include/linux/sched/signal.h b/include/linux/sched/signal.h
index 584ae88b435e..d45a5476b97d 100644
--- a/include/linux/sched/signal.h
+++ b/include/linux/sched/signal.h
@@ -562,10 +562,7 @@ static inline sigset_t *sigmask_to_save(void)
return res;
}

-static inline int kill_cad_pid(int sig, int priv)
-{
- return kill_pid(cad_pid, sig, priv);
-}
+int kill_cad_pid(int sig, int priv);

/* These can be the second arg to send_sig_info/send_group_sig_info. */
#define SEND_SIG_NOINFO ((struct kernel_siginfo *) 0)
diff --git a/kernel/pid.c b/kernel/pid.c
index f55189a3d07d..234ebee29375 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -557,6 +557,11 @@ pid_t pid_vnr(struct pid *pid)
}
EXPORT_SYMBOL_GPL(pid_vnr);

+int kill_cad_pid(int sig, int priv)
+{
+ return kill_pid(cad_pid, sig, priv);
+}
+
pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type,
struct pid_namespace *ns)
{
--
2.53.0