From: Al Viro <viro@ZenIV.linux.org.uk>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: akpm@linux-foundation.org, torvalds@linux-foundation.org,
dave@linux.vnet.ibm.com, ezk@cs.sunysb.edu, mhalcrow@us.ibm.com,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 00/13] vfs: add helpers to check r/o bind mounts
Date: Thu, 24 Apr 2008 16:59:54 +0100 [thread overview]
Message-ID: <20080424155954.GM15214@ZenIV.linux.org.uk> (raw)
In-Reply-To: <E1Jp3Vz-0004FH-Ih@pomaz-ex.szeredi.hu>
On Thu, Apr 24, 2008 at 05:37:39PM +0200, Miklos Szeredi wrote:
> > > What is left is the guarantee, that the race-free r/o remounts will
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > always work and some obscure caller didn't forget to surround it with
^^^^^^^^^^^^^^^^^
> Why are those so important? Yes, if we have multiple vfs_() calls,
> surround them with an extra want/drop pair.
Which leaves you with the same need to audit all these suckers anyway.
I'm in principle fine with having such helper functions, *IF* they are
not sold as providing all protection one needs, *IF* you are not expecting
to be able to fold all areas down into them and *IF* original ones are
left intact.
Modulo the like path_rename(), BTW - that one is just plain ugly API.
> > We don't even have many callers of each, and with a few we do it's not
> > obvious that we want to go through vfsmounts (and vfsmount-based checks)
> > in all of them. So no, I don't buy your argument. Sorry.
> >
> > I'm not even convinced that they are useful as helpers, at least until
> > we'd decided what to do with checks in nfsd. Until then we do, as
> > far as I'm concerned, one place where they would definitely DTRT - fs/namei.c.
> > And I want more than one caller before merging those,
>
> unix_bind() -> vfs_mknod()
> sys_mq_unlink() -> vfs_unlink()
> open.c (several) -> notify_change()
> *setxattr() -> vfs_setxattr()
> *removexattr() -> vfs_removexattr()
OK.
> > let alone removing the interface that doesn't require checks to be
> > vfsmount-based for all users.
>
> What users? There are paractically _no_ other users. The ones that
> there are (like reiserfs) should not be using them, and there are
> already some patches cleaning that mess up.
OK, explain me, in small words, WTF should something that wants to do
operations on filesystem tree have a vfsmount. Slowly. And "r/o
bind loses value if it can be bypassed" is a hogwash - fs methods are
still there, so it *can* be bypassed just fine, thank you very much.
It's really up to caller. "But they won't be able to do open()" also
doesn't fly - again, it's up to whoever writes particular piece of code.
next prev parent reply other threads:[~2008-04-24 16:00 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-24 11:39 [patch 00/13] vfs: add helpers to check r/o bind mounts Miklos Szeredi
2008-04-24 11:39 ` [patch 01/13] ecryptfs: add missing lock around notify_change Miklos Szeredi
2008-04-24 16:56 ` Erez Zadok
2008-04-24 17:09 ` Miklos Szeredi
2008-04-24 11:39 ` [patch 02/13] ecryptfs: clean up (un)lock_parent Miklos Szeredi
2008-04-24 11:39 ` [patch 03/13] nfsd: clean up mnt_want_write calls Miklos Szeredi
2008-04-24 11:39 ` [patch 04/13] vfs: add path_create() and path_mknod() Miklos Szeredi
2008-04-24 11:39 ` [patch 05/13] vfs: add path_mkdir() Miklos Szeredi
2008-04-24 11:39 ` [patch 06/13] vfs: add path_rmdir() Miklos Szeredi
2008-04-24 11:39 ` [patch 07/13] vfs: add path_unlink() Miklos Szeredi
2008-04-24 11:39 ` [patch 08/13] vfs: add path_symlink() Miklos Szeredi
2008-04-24 11:39 ` [patch 09/13] vfs: add path_link() Miklos Szeredi
2008-04-24 11:40 ` [patch 10/13] vfs: add path_rename() Miklos Szeredi
2008-04-24 11:40 ` [patch 11/13] vfs: add path_setattr() Miklos Szeredi
2008-04-24 11:40 ` [patch 12/13] vfs: add path_setxattr() Miklos Szeredi
2008-04-24 11:40 ` [patch 13/13] vfs: add path_removexattr() Miklos Szeredi
2008-04-24 12:42 ` [patch 00/13] vfs: add helpers to check r/o bind mounts Al Viro
2008-04-24 13:05 ` Miklos Szeredi
2008-04-24 13:48 ` Al Viro
2008-04-24 14:00 ` Al Viro
2008-04-24 14:16 ` Miklos Szeredi
2008-04-24 14:35 ` Al Viro
2008-04-24 14:42 ` Miklos Szeredi
2008-04-24 14:48 ` Al Viro
2008-04-24 14:58 ` Miklos Szeredi
2008-04-24 15:21 ` Al Viro
2008-04-24 15:37 ` Miklos Szeredi
2008-04-24 15:59 ` Al Viro [this message]
2008-04-24 16:16 ` Miklos Szeredi
2008-04-28 10:15 ` Miklos Szeredi
2008-04-28 14:20 ` Michael Halcrow
2008-04-28 14:52 ` Miklos Szeredi
2008-04-25 7:22 ` Miklos Szeredi
2008-04-24 17:55 ` Dave Hansen
2008-04-24 18:47 ` Miklos Szeredi
2008-04-24 14:09 ` Miklos Szeredi
2008-04-24 14:28 ` Al Viro
2008-04-24 14:36 ` Miklos Szeredi
2008-04-24 14:44 ` Al Viro
2008-04-24 14:53 ` Miklos Szeredi
2008-04-24 15:12 ` Al Viro
2008-04-24 15:18 ` Miklos Szeredi
2008-04-24 15:38 ` Al Viro
2008-04-24 15:43 ` Miklos Szeredi
2008-04-24 17:29 ` Erez Zadok
2008-04-24 18:13 ` Al Viro
2008-04-24 19:40 ` Erez Zadok
2008-04-24 20:16 ` Michael Halcrow
2008-04-24 22:39 ` Erez Zadok
2008-04-24 23:33 ` Michael Halcrow
2008-04-28 21:53 ` J. Bruce Fields
2008-04-24 17:25 ` Erez Zadok
2008-04-24 17:30 ` Al Viro
2008-04-24 19:56 ` Erez Zadok
2008-04-24 17:04 ` Erez Zadok
2008-04-24 16:52 ` Erez Zadok
2008-04-24 16:58 ` Miklos Szeredi
2008-04-24 17:14 ` Erez Zadok
2008-04-24 17:23 ` Miklos Szeredi
2008-05-01 5:40 ` Dave Hansen
2008-05-01 8:08 ` Miklos Szeredi
2008-05-01 16:40 ` Dave Hansen
2008-05-01 17:04 ` Miklos Szeredi
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=20080424155954.GM15214@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=akpm@linux-foundation.org \
--cc=dave@linux.vnet.ibm.com \
--cc=ezk@cs.sunysb.edu \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhalcrow@us.ibm.com \
--cc=miklos@szeredi.hu \
--cc=torvalds@linux-foundation.org \
/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.