linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Herbert Poetzl <herbert@13thfloor.at>
To: Grzegorz Kulewski <kangur@polcom.net>
Cc: Dave Hansen <haveblue@us.ibm.com>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	viro@ftp.linux.org.uk
Subject: Re: [RFC][PATCH 00/20] Mount writer count and read-only bind	mounts (v2)
Date: Sat, 17 Jun 2006 05:35:31 +0200	[thread overview]
Message-ID: <20060617033531.GA25823@MAIL.13thfloor.at> (raw)
In-Reply-To: <Pine.LNX.4.63.0606170202020.14464@alpha.polcom.net>

On Sat, Jun 17, 2006 at 02:10:17AM +0200, Grzegorz Kulewski wrote:
> On Fri, 16 Jun 2006, Dave Hansen wrote:
> >On Sat, 2006-06-17 at 01:29 +0200, Grzegorz Kulewski wrote:
> >>Isn't this some kind of security risk (at least in my planned use)? I mean
> >>- for a small fraction of second somebody seeing /dest can write
> >>/source... No?
> >
> >I assume you're talking about this kind of situation:
> >
> >mount --bind /local/writable/dir /chroot/untrusted/area/
> >mount --o remount,ro /chroot/untrusted/area/
> 
> Well, actually about some kind of VPS: openvz or something like that.
> But yes, this is the same kind of scenario.

yes, Linux-VServer provides this kind of ro --bind mounts
without the race, as the the flags are passed on the actual
mount

> >This has no r/w window in the chroot area:
> >
> >mount --bind /local/writable/dir /tmp/area/
> >mount --o remount,ro /tmp/area/
> >mount --bind /tmp/area/ /chroot/untrusted/area/
> >umount /tmp/area/
> 
> Well, it looks a little scarry and complicated at first. And probably
> requires you to know that semantic of --bind lets you do the last
> unmount. But if you are saying that this makes kernel smaller, faster
> and less buggy then you are probably very right.

well, it makes the kernel more consistant in it's behaviour,
because especially for --rbind mounts, the logic what is
changed where and when is not as well defined as one would
wish ...

btw, you could get the same result by simply doing:

mount --bind /local/writable/dir /tmp/area/
mount --o remount,ro /tmp/area/
mount --move /tmp/area/ /chroot/untrusted/area/

without the duplicate mount and the unmount

HTH,
Herbert

> Thank you for your explanation,
> 
> Grzegorz Kulewski

  reply	other threads:[~2006-06-17  3:35 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-16 23:12 [RFC][PATCH 00/20] Mount writer count and read-only bind mounts (v2) Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 01/20] prepare for write access checks: collapse if() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 02/20] r/o bind mount prepwork: move open_namei()'s vfs_create() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 03/20] Add vfsmount writer count Dave Hansen
2006-06-18 18:33   ` Al Viro
2006-06-19 17:02     ` Dave Hansen
2006-06-20 21:20       ` Al Viro
2006-06-22 17:01         ` Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 04/20] elevate mnt writers for callers of vfs_mkdir() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 05/20] elevate write count during entire ncp_ioctl() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 07/20] elevate mount count for extended attributes Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 06/20] sys_symlinkat() elevate write count around vfs_symlink() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 08/20] sys_linkat(): elevate write count around vfs_link() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 09/20] mount_is_safe(): add comment Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 10/20] unix_find_other() elevate write count for touch_atime() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 11/20] elevate write count over calls to vfs_rename() Dave Hansen
2006-06-18 18:23   ` Al Viro
2006-06-19 17:18     ` Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 12/20] tricky: elevate write count files are open()ed Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 13/20] elevate writer count for do_sys_truncate() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 14/20] elevate write count for do_utimes() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 15/20] elevate write count for do_sys_utime() and touch_atime() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 16/20] sys_mknodat(): elevate write count for vfs_mknod/create() Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 17/20] elevate mnt writers for vfs_unlink() callers Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 19/20] elevate writer count for custom 'struct file' Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 18/20] do_rmdir(): elevate write count Dave Hansen
2006-06-16 23:12 ` [RFC][PATCH 20/20] honor r/w changes at do_remount() time Dave Hansen
2006-06-18 18:36   ` Al Viro
2006-06-19 16:45     ` Dave Hansen
2006-06-16 23:29 ` [RFC][PATCH 00/20] Mount writer count and read-only bind mounts (v2) Grzegorz Kulewski
2006-06-16 23:41   ` Dave Hansen
2006-06-17  0:10     ` Grzegorz Kulewski
2006-06-17  3:35       ` Herbert Poetzl [this message]
2006-06-17  9:36         ` Jan Engelhardt
2006-06-17 13:29           ` Herbert Poetzl

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=20060617033531.GA25823@MAIL.13thfloor.at \
    --to=herbert@13thfloor.at \
    --cc=haveblue@us.ibm.com \
    --cc=kangur@polcom.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viro@ftp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).