aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/exec.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2024-02-02 14:12:48 +0100
committerChristian Brauner <brauner@kernel.org>2024-02-02 14:57:53 +0100
commit90f92b68c9869913753f8bc1d87b7762a5f36873 (patch)
tree55c32034c513daef9f2a31aef928032f0566d637 /fs/exec.c
parentpidfd_poll: report POLLHUP when pid_task() == NULL (diff)
downloadwireguard-linux-90f92b68c9869913753f8bc1d87b7762a5f36873.tar.xz
wireguard-linux-90f92b68c9869913753f8bc1d87b7762a5f36873.zip
pidfd: kill the no longer needed do_notify_pidfd() in de_thread()
Now that __change_pid() does wake_up_all(&pid->wait_pidfd) we can kill do_notify_pidfd(leader) in de_thread(), it calls release_task(leader) right after that and this implies detach_pid(leader, PIDTYPE_PID). Signed-off-by: Oleg Nesterov <oleg@redhat.com> Link: https://lore.kernel.org/r/20240202131248.GA26022@redhat.com Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/exec.c')
-rw-r--r--fs/exec.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/fs/exec.c b/fs/exec.c
index b68f61bbcaa8..ca0d53edac99 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1144,11 +1144,6 @@ static int de_thread(struct task_struct *tsk)
BUG_ON(leader->exit_state != EXIT_ZOMBIE);
leader->exit_state = EXIT_DEAD;
/*
- * leader and tsk exhanged their pids, the old pid dies,
- * wake up the PIDFD_THREAD waiters.
- */
- do_notify_pidfd(leader);
- /*
* We are going to release_task()->ptrace_unlink() silently,
* the tracer can sleep in do_wait(). EXIT_DEAD guarantees
* the tracer won't block again waiting for this thread.