mirror of
https://github.com/torvalds/linux.git
synced 2025-08-15 22:21: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);
|
return ERR_PTR(ret);
|
||||||
|
|
||||||
pidfd_file = dentry_open(&path, flags, current_cred());
|
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);
|
path_put(&path);
|
||||||
return pidfd_file;
|
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))
|
if (IS_ERR(pidfd_file))
|
||||||
return PTR_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;
|
*ret = pidfd_file;
|
||||||
return take_fd(pidfd);
|
return take_fd(pidfd);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue