mirror of https://github.com/torvalds/linux.git
namespace: convert open_tree_attr() to FD_PREPARE()
Link: https://patch.msgid.link/20251123-work-fd-prepare-v4-6-b6efa1706cfd@kernel.org Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
542a406543
commit
416b0d1659
|
|
@ -5023,19 +5023,17 @@ SYSCALL_DEFINE5(open_tree_attr, int, dfd, const char __user *, filename,
|
|||
unsigned, flags, struct mount_attr __user *, uattr,
|
||||
size_t, usize)
|
||||
{
|
||||
struct file __free(fput) *file = NULL;
|
||||
int fd;
|
||||
|
||||
if (!uattr && usize)
|
||||
return -EINVAL;
|
||||
|
||||
file = vfs_open_tree(dfd, filename, flags);
|
||||
if (IS_ERR(file))
|
||||
return PTR_ERR(file);
|
||||
FD_PREPARE(fdf, flags, vfs_open_tree(dfd, filename, flags));
|
||||
if (fdf.err)
|
||||
return fdf.err;
|
||||
|
||||
if (uattr) {
|
||||
int ret;
|
||||
struct mount_kattr kattr = {};
|
||||
struct file *file = fd_prepare_file(fdf);
|
||||
int ret;
|
||||
|
||||
if (flags & OPEN_TREE_CLONE)
|
||||
kattr.kflags = MOUNT_KATTR_IDMAP_REPLACE;
|
||||
|
|
@ -5051,12 +5049,7 @@ SYSCALL_DEFINE5(open_tree_attr, int, dfd, const char __user *, filename,
|
|||
return ret;
|
||||
}
|
||||
|
||||
fd = get_unused_fd_flags(flags & O_CLOEXEC);
|
||||
if (fd < 0)
|
||||
return fd;
|
||||
|
||||
fd_install(fd, no_free_ptr(file));
|
||||
return fd;
|
||||
return fd_publish(fdf);
|
||||
}
|
||||
|
||||
int show_path(struct seq_file *m, struct dentry *root)
|
||||
|
|
|
|||
Loading…
Reference in New Issue