pid: kill the obsolete PIDTYPE_PID code in transfer_pid()
authorOleg Nesterov <oleg@redhat.com>
Fri, 2 Feb 2024 13:12:55 +0000 (14:12 +0100)
committerChristian Brauner <brauner@kernel.org>
Fri, 2 Feb 2024 13:57:53 +0000 (14:57 +0100)
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>
Link: https://lore.kernel.org/r/20240202131255.GA26025@redhat.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
kernel/pid.c

index 62461c7c82b8bf7c247e620f5234f9d9168f30b5..de0bf2f8d18bf0139dc7601c53ce6e1b6084917f 100644 (file)
@@ -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]);
 }