legacy_get_tree(): pass fc->user_ns to mount_capable()

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>
This commit is contained in:
Al Viro 2019-05-12 17:23:30 -04:00
parent 2527b284de
commit fd912087f4

View 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;
}