lkml.org 
[lkml]   [2014]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v5 4/4] fuse: Allow user namespace mounts
On Wed, Oct 22, 2014 at 5:22 PM, Seth Forshee
<seth.forshee@canonical.com> wrote:
> On Wed, Oct 22, 2014 at 02:51:56PM -0700, Andy Lutomirski wrote:
>> On Wed, Oct 22, 2014 at 2:24 PM, Seth Forshee
>> <seth.forshee@canonical.com> wrote:
>> > Cc: Eric W. Biederman <ebiederm@xmission.com>
>> > Cc: Serge H. Hallyn <serge.hallyn@ubuntu.com>
>> > Cc: Andy Lutomirski <luto@amacapital.net>
>> > Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
>> > ---
>> > 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?
>
> You're correct that the mounter passes the fd to /dev/fuse to the mount
> call. The namespace of the mounter is used, but there's also a check to
> make sure that's the same as that of the opener of /dev/fuse, otherwise
> the mount fails.

As long as my nodev fix is either applied first or rejected,

Acked-by: Andy Lutomirski <luto@amacapital.net>

Although the LSM situation is still a mess. Serge, any thoughts?

--Andy

>
> Seth



--
Andy Lutomirski
AMA Capital Management, LLC


\
 
 \ /
  Last update: 2014-10-23 05:01    [W:0.212 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site