mirror of
https://github.com/torvalds/linux.git
synced 2025-08-15 14:11:42 +02:00
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>
This commit is contained in:
parent
b573bf6f69
commit
3155a19407
2 changed files with 4 additions and 5 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -2042,11 +2042,6 @@ static int __pidfd_prepare(struct pid *pid, unsigned int flags, struct file **re
|
|||
if (IS_ERR(pidfd_file))
|
||||
return PTR_ERR(pidfd_file);
|
||||
|
||||
/*
|
||||
* anon_inode_getfile() ignores everything outside of the
|
||||
* O_ACCMODE | O_NONBLOCK mask, set PIDFD_THREAD manually.
|
||||
*/
|
||||
pidfd_file->f_flags |= (flags & PIDFD_THREAD);
|
||||
*ret = pidfd_file;
|
||||
return take_fd(pidfd);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue