OSDN Git Service

legacy_get_tree(): pass fc->user_ns to mount_capable()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 12 May 2019 21:23:30 +0000 (17:23 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 25 May 2019 21:59:58 +0000 (17:59 -0400)
guaranteed to be equal to current_user_ns() here - it has not
been changed since alloc_fs_context() (nothing in legacy
methods changes it) and since we don't have SB_SUBMOUNT,
that must've been FS_CONTEXT_FOR_MOUNT.  And in that case
we have fc->user_ns set to fc->cred->user_ns, i.e.
current_cred()->user_ns, i.e. current_user_ns()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/fs_context.c

index 746a587..d75ba0e 100644 (file)
@@ -663,7 +663,7 @@ static int legacy_get_tree(struct fs_context *fc)
        struct dentry *root;
 
        if (!(fc->sb_flags & (SB_KERNMOUNT|SB_SUBMOUNT))) {
-               if (!mount_capable(fc->fs_type, current_user_ns()))
+               if (!mount_capable(fc->fs_type, fc->user_ns))
                        return -EPERM;
        }