On Wed, Oct 22, 2014 at 2:24 PM, Seth Forshee <seth.forshee@xxxxxxxxxxxxx> wrote: > Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> > Cc: Serge H. Hallyn <serge.hallyn@xxxxxxxxxx> > Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> > Signed-off-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> > --- > fs/fuse/inode.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c > index b88b5a780228..7d0e73e36e7b 100644 > --- a/fs/fuse/inode.c > +++ b/fs/fuse/inode.c > @@ -1201,7 +1201,7 @@ static void fuse_kill_sb_anon(struct super_block *sb) > static struct file_system_type fuse_fs_type = { > .owner = THIS_MODULE, > .name = "fuse", > - .fs_flags = FS_HAS_SUBTYPE, > + .fs_flags = FS_HAS_SUBTYPE | FS_USERNS_MOUNT, > .mount = fuse_mount, > .kill_sb = fuse_kill_sb_anon, > }; > @@ -1233,7 +1233,7 @@ static struct file_system_type fuseblk_fs_type = { > .name = "fuseblk", > .mount = fuse_mount_blk, > .kill_sb = fuse_kill_sb_blk, > - .fs_flags = FS_REQUIRES_DEV | FS_HAS_SUBTYPE, > + .fs_flags = FS_REQUIRES_DEV | FS_HAS_SUBTYPE | FS_USERNS_MOUNT, > }; > MODULE_ALIAS_FS("fuseblk"); > > -- > 1.9.1 > This is mostly a sign of my ignorance, but how does this actually end up working? I assume that the mounter opens /dev/fuse and then passes the fd to the mount call. Which userns is captured? The opener of /dev/fuse or the mounter of the fs? --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html