Loading fs/namespace.c +6 −13 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading
fs/namespace.c +6 −13 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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