On Nov 29, 2014 4:06 PM, "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> wrote: > > > Now that remount is properly enforcing the rule that you can't remove > nodev at leastsandstorm.iois breaking when performing a remount. > > It turns out that there is an easy intuitive solution implicitly > add nodev on remount when nodev was implicitly added on mount. Is this intended to be a permanent fix or are you planning on replacing it with something closer to my version for 3.19? http://git.kernel.org/cgit/linux/kernel/git/luto/linux.git/commit/?h=userns/fix_magic_nodev&id=bf8b198add82a249d6da4ecf280c30a0865637f6 I still think that the implicit nodev behavior is a bad idea in general. --Andy > > Cc:stable@xxxxxxxxxxxxxxx > Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> > --- > fs/namespace.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/fs/namespace.c b/fs/namespace.c > index 5b66b2b3624d..3a1a87dc33df 100644 > --- a/fs/namespace.c > +++ b/fs/namespace.c > @@ -2098,7 +2098,13 @@ static int do_remount(struct path *path, int flags, int mnt_flags, > } > if ((mnt->mnt.mnt_flags & MNT_LOCK_NODEV) && > !(mnt_flags & MNT_NODEV)) { > - return -EPERM; > + /* Was the nodev implicitly added in mount? */ > + if ((mnt->mnt_ns->user_ns != &init_user_ns) && > + !(sb->s_type->fs_flags & FS_USERNS_DEV_MOUNT)) { > + mnt_flags |= MNT_NODEV; > + } else { > + return -EPERM; > + } > } > if ((mnt->mnt.mnt_flags & MNT_LOCK_NOSUID) && > !(mnt_flags & MNT_NOSUID)) { > -- > 1.9.1 > _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers