userns: Remove implicit MNT_NODEV fragility.
[linux-2.6-block.git] / fs / super.c
index 78790ada71915d539a204d6652913e98b3442ad7..25cdceed2ad37eadae32504c8d520643833452c8 100644 (file)
@@ -206,6 +206,9 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags,
        init_waitqueue_head(&s->s_writers.wait_unfrozen);
        s->s_bdi = &noop_backing_dev_info;
        s->s_flags = flags;
+       if ((s->s_user_ns != &init_user_ns) &&
+           !(type->fs_flags & FS_USERNS_DEV_MOUNT))
+               s->s_iflags |= SB_I_NODEV;
        INIT_HLIST_NODE(&s->s_instances);
        INIT_HLIST_BL_HEAD(&s->s_anon);
        mutex_init(&s->s_sync_lock);