Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1486093

Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware

From Ian Kent <raven@themaw.net>
Newsgroups linux.kernel
Subject Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware
Date 2016-09-19 03:40 +0200
Message-ID <siVIS-7lV-11@gated-at.bofh.it> (permalink)
References <shbI5-5Bm-3@gated-at.bofh.it> <shbI5-5Bm-1@gated-at.bofh.it> <siufD-769-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sat, 2016-09-17 at 22:10 +0200, Mateusz Guzik wrote:
> On Wed, Sep 14, 2016 at 02:14:45PM +0800, Ian Kent wrote:
> > If an automount mount is clone(2)ed into a file system that is
> > propagation private, when it later expires in the originating
> > namespace subsequent calls to autofs ->d_automount() for that
> > dentry in the original namespace will return ELOOP until the
> > mount is manually umounted in the cloned namespace.
> > 
> > In the same way, if an autofs mount is triggered by automount(8)
> > running within a container the dentry will be seen as mounted in
> > the root init namespace and calls to ->d_automount() in that namespace
> > will return ELOOP until the mount is umounted within the container.
> > 
> > Also, have_submounts() can return an incorect result when a mount
> > exists in a namespace other than the one being checked.
> > 
> > @@ -460,7 +460,7 @@ static int autofs4_d_manage(struct dentry *dentry, bool
> > rcu_walk)
> >  
> >  		if (ino->flags & AUTOFS_INF_WANT_EXPIRE)
> >  			return 0;
> > -		if (d_mountpoint(dentry))
> > +		if (is_local_mountpoint(dentry))
> >  			return 0;
> >  		inode = d_inode_rcu(dentry);
> >  		if (inode && S_ISLNK(inode->i_mode))
> 
> This change is within RCU lookup.
> 
> is_local_mountpoint may end up calling __is_local_mountpoint, which will
> optionally take the namespace_sem lock, resulting in a splat:

Yes, that's a serious problem I missed.

snip ...

> I don't know this code. Perhaps it will be perfectly fine performance wise to
> just drop out of RCU lookup in this case.

It's a bit worse than that.

I think being able to continue the rcu-walk for an already mounted dentry that
is not being expired is an important part of the performance improvement given
by the series that added this.

Can you confirm that Neil?

But for the case here the existing test can allow rcu-walk to continue for a
dentry that would attempt to trigger an automount so it's also a bug in the
existing code.

Any thoughts on how we can handle this Neil, I'm having a bit of trouble working
out how to resolve this one.

Ian

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-14 08:20 +0200
  Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware ebiederm@xmission.com (Eric W. Biederman) - 2016-09-14 19:50 +0200
    Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-15 02:10 +0200
      Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Omar Sandoval <osandov@osandov.com> - 2016-09-15 02:40 +0200
      Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware ebiederm@xmission.com (Eric W. Biederman) - 2016-09-15 04:30 +0200
        Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-15 06:20 +0200
          Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-15 10:30 +0200
          Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware ebiederm@xmission.com (Eric W. Biederman) - 2016-09-16 03:10 +0200
            Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-16 05:00 +0200
              Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-19 03:00 +0200
                Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware ebiederm@xmission.com (Eric W. Biederman) - 2016-09-20 18:30 +0200
    Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-15 03:10 +0200
  Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Omar Sandoval <osandov@osandov.com> - 2016-09-16 23:20 +0200
  Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Mateusz Guzik <mguzik@redhat.com> - 2016-09-17 22:20 +0200
    Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-19 03:40 +0200
      Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware ebiederm@xmission.com (Eric W. Biederman) - 2016-09-20 19:10 +0200
        Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-21 00:50 +0200
          Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-21 01:10 +0200
            Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-22 03:40 +0200
              Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware ebiederm@xmission.com (Eric W. Biederman) - 2016-09-22 18:00 +0200
                Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-23 03:00 +0200
                Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware ebiederm@xmission.com (Eric W. Biederman) - 2016-09-23 04:00 +0200
                Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-23 06:30 +0200
                Re: [PATCH 3/4] autofs - make mountpoint checks namespace aware Ian Kent <raven@themaw.net> - 2016-09-23 14:10 +0200

csiph-web