From: Al Viro Date: Sun, 12 May 2019 21:23:30 +0000 (-0400) Subject: legacy_get_tree(): pass fc->user_ns to mount_capable() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fd912087f4a897cfdf8274f8085c501742638be2;p=linux.git 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 --- diff --git a/fs/fs_context.c b/fs/fs_context.c index 746a5871959cb..d75ba0eb8c5bc 100644 --- a/fs/fs_context.c +++ b/fs/fs_context.c @@ -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; }