All of lore.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Rob Landley <rob@landley.net>
Cc: linux-kernel@vger.kernel.org, Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: [PATCH 1/5] initmpfs: replace MS_NOUSER in initramfs
Date: Sat, 29 Jun 2013 18:15:40 -0700	[thread overview]
Message-ID: <87y59swg8z.fsf@xmission.com> (raw)
In-Reply-To: <1372536729.850656@landley.net> (Rob Landley's message of "Sat, 29 Jun 2013 13:12:14 -0700 (PDT)")

Rob Landley <rob@landley.net> writes:

> From: Rob Landley <rob@landley.net>
>
> Mounting MS_NOUSER prevents --bind mounts from rootfs. Prevent new rootfs
> mounts with a different mechanism that doesn't affect bind mounts.

I don't see patches 4 and 5 so I don't know if you have covered this
elsewhere but a very important part of the reason for MS_NOUSER is to
prevent unmounting of rootfs.

The entire vfs breaks if you are allowed to unmount rootfs, and it
appears this patch is allowing that.

Eric

> Signed-off-by: Rob Landley <rob@landley.net>
> ---
>
>  fs/ramfs/inode.c |    9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
> index c24f1e1..14b9c35 100644
> --- a/fs/ramfs/inode.c
> +++ b/fs/ramfs/inode.c
> @@ -247,7 +247,14 @@ struct dentry *ramfs_mount(struct file_system_type *fs_type,
>  static struct dentry *rootfs_mount(struct file_system_type *fs_type,
>  	int flags, const char *dev_name, void *data)
>  {
> -	return mount_nodev(fs_type, flags|MS_NOUSER, data, ramfs_fill_super);
> +	static int once;
> +
> +	if (once)
> +		return ERR_PTR(-ENODEV);
> +	else
> +		once++;
> +
> +	return mount_nodev(fs_type, flags, data, ramfs_fill_super);
>  }
>  
>  static void ramfs_kill_sb(struct super_block *sb)

  reply	other threads:[~2013-06-30  1:16 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-29 20:12 [PATCH 0/5] initmpfs: use tmpfs instead of ramfs for rootfs Rob Landley
2013-06-29 20:12 ` Rob Landley
2013-06-29 20:12 ` Rob Landley
2013-06-29 20:12 ` [PATCH 1/5] initmpfs: replace MS_NOUSER in initramfs Rob Landley
2013-06-30  1:15   ` Eric W. Biederman [this message]
2013-06-30  2:45     ` Rob Landley
2013-06-30  3:09     ` Rob Landley
2013-06-29 20:12 ` [PATCH 2/5] initmpfs: Move bdi setup from init_rootfs to init_ramfs Rob Landley
2013-06-29 20:12 ` [PATCH 3/5] initmpfs: Move rootfs code from fs/ramfs/ to init/ Rob Landley
2013-06-29 20:12 ` [PATCH 4/5] initmpfs: Make rootfs use tmpfs when CONFIG_TMPFS enabled Rob Landley
2013-06-29 20:12   ` Rob Landley
2013-06-29 20:12 ` [PATCH 5/5] initmpfs: Use initramfs if rootfstype= or root= specified Rob Landley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y59swg8z.fsf@xmission.com \
    --to=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob@landley.net \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.