[PATCH 3/3] pid: kill the obsolete PIDTYPE_PID code in transfer_pid()
From: Oleg Nesterov <oleg@redhat.com>
Date: 2024-02-02 13:14:22
Also in:
lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Oleg Nesterov <oleg@redhat.com>
Date: 2024-02-02 13:14:22
Also in:
lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
transfer_pid() must be never called with pid == PIDTYPE_PID, new_leader->thread_pid should be changed by exchange_tids(). Signed-off-by: Oleg Nesterov <oleg@redhat.com> --- kernel/pid.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/kernel/pid.c b/kernel/pid.c
index 62461c7c82b8..de0bf2f8d18b 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c@@ -396,8 +396,7 @@ void exchange_tids(struct task_struct *left, struct task_struct *right) void transfer_pid(struct task_struct *old, struct task_struct *new, enum pid_type type) { - if (type == PIDTYPE_PID) - new->thread_pid = old->thread_pid; + WARN_ON_ONCE(type == PIDTYPE_PID); hlist_replace_rcu(&old->pid_links[type], &new->pid_links[type]); }
--
2.25.1.362.g51ebf55