diff options
author | Christian Brauner <brauner@kernel.org> | 2025-03-05 11:08:13 +0100 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2025-03-05 13:26:05 +0100 |
commit | 3155a194075411528faec9a3b6dede33cab085cc (patch) | |
tree | ac7fb94feaabc06a75c010a343bd0fa67d682213 /fs/pidfs.c | |
parent | b573bf6f693ccb1e62214abf24201e27678b02ad (diff) |
pidfs: move setting flags into pidfs_alloc_file()
Instead od adding it into __pidfd_prepare() place it where the actual
file allocation happens and update the outdated comment.
Link: https://lore.kernel.org/r/20250305-work-pidfs-kill_on_last_close-v3-3-c8c3d8361705@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/pidfs.c')
-rw-r--r-- | fs/pidfs.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/pidfs.c b/fs/pidfs.c index aa8c8bda8c8f..ecc0dd886714 100644 --- a/fs/pidfs.c +++ b/fs/pidfs.c @@ -696,6 +696,10 @@ struct file *pidfs_alloc_file(struct pid *pid, unsigned int flags) return ERR_PTR(ret); pidfd_file = dentry_open(&path, flags, current_cred()); + /* Raise PIDFD_THREAD explicitly as do_dentry_open() strips it. */ + if (!IS_ERR(pidfd_file)) + pidfd_file->f_flags |= (flags & PIDFD_THREAD); + path_put(&path); return pidfd_file; } |