From: Christian Brauner Date: Thu, 21 Jan 2021 13:19:46 +0000 (+0100) Subject: ecryptfs: do not mount on top of idmapped mounts X-Git-Tag: accepted/tizen/unified/20230118.172025~7765^2~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f16ff0f545d5ec90bbd548afd2983785b546780;p=platform%2Fkernel%2Flinux-rpi.git ecryptfs: do not mount on top of idmapped mounts Prevent ecryptfs from being mounted on top of idmapped mounts. Stacking filesystems need to be prevented from being mounted on top of idmapped mounts until they have have been converted to handle this. Link: https://lore.kernel.org/r/20210121131959.646623-28-christian.brauner@ubuntu.com Cc: Christoph Hellwig Cc: David Howells Cc: Al Viro Cc: linux-fsdevel@vger.kernel.org Reviewed-by: James Morris Signed-off-by: Christian Brauner --- diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index e63259f..cdf40a5 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c @@ -531,6 +531,12 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags goto out_free; } + if (mnt_user_ns(path.mnt) != &init_user_ns) { + rc = -EINVAL; + printk(KERN_ERR "Mounting on idmapped mounts currently disallowed\n"); + goto out_free; + } + if (check_ruid && !uid_eq(d_inode(path.dentry)->i_uid, current_uid())) { rc = -EPERM; printk(KERN_ERR "Mount of device (uid: %d) not owned by "