Re: [CFT][PATCH] mnt: Implicitly add MNT_NODEV on remount when it was implicitly added by mount

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux