From: "Björn Steinbrink" <B.Steinbrink@gmx.de>
To: Mike Waychison <Michael.Waychison@Sun.COM>
Cc: viro@parcelfarce.linux.theplanet.co.uk, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Mounting on floating mounts is possible
Date: Mon, 8 Nov 2004 18:20:04 +0100 [thread overview]
Message-ID: <20041108182004.267bd72b@doener> (raw)
In-Reply-To: <418F9CCB.1000202@sun.com>
On Mon, 08 Nov 2004 11:20:27 -0500
Mike Waychison <Michael.Waychison@Sun.COM> wrote:
> Björn Steinbrink wrote:
> > Hi,
> >
> > this[1] patch changed check_mnt() so that mounting on a floating
> > mount(i.e. one that was unmounted using MNT_DETACH and was still in
> > use) is possible, since we no longer check if the mountpoint is
> > actually reachable. The problem is that we may lose any reference to
> > the floating mount, but the mount on it will keep it alive, thus it
> > will never go away. The following patch removes the reference from
> > the mount to its namespace when it is unmounted lazily, so that
> > check_mnt protects from such mounts.
> >
> > Please CC me as I'm not subscribed to the list.
> >
> > Bjoern
> >
> > [1] http://lwn.net/Articles/91946/
> >
> > diff -uNr --minimal a/fs/namespace.c b/fs/namespace.c
> > --- a/fs/namespace.c 2004-10-31 00:41:02.000000000 +0200
> > +++ b/fs/namespace.c 2004-11-06 04:38:37.299013810 +0100
> > @@ -358,6 +358,7 @@
> > } else {
> > struct nameidata old_nd;
> > detach_mnt(mnt, &old_nd);
> > + mnt->mnt_namespace = NULL;
> > spin_unlock(&vfsmount_lock);
> > path_release(&old_nd);
> > }
> > -
>
> I don't think this patch clears mnt_namespace for the root of the
> umounted tree. How about this?
>
The root mount of the umounted tree is not detached yet, i.e. it has
mnt->mnt_parent != mnt and is detached in the else-branch, so that is
handled fine (at least my tests said so ;).
Only detached mounts and the namespace's root mount (that's the rootfs
mount IIRC) have mnt->mnt_parent==mnt. And we have two cases here:
a) already detached mount, this cannot happen. The only possibility to
get a detached mount into umount is the same we currently have with
mount, some process kept a reference and used a relative path. But
with the patch we would already bail out in check_mnt earlier in this
case.
b) root mount, is not detached so all mounts are still reachable
and can be unmounted as usual.
Please keep CC'ing me.
Bjoern
next prev parent reply other threads:[~2004-11-08 17:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-06 5:04 [PATCH] Mounting on floating mounts is possible Björn Steinbrink
2004-11-08 16:20 ` Mike Waychison
2004-11-08 17:20 ` Björn Steinbrink [this message]
2004-11-08 17:53 ` Mike Waychison
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=20041108182004.267bd72b@doener \
--to=b.steinbrink@gmx.de \
--cc=Michael.Waychison@Sun.COM \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@parcelfarce.linux.theplanet.co.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