Re: [PATCH 0/3] Fixes for vfs-scale and vfs-automount

Al Viro
2011-02-24T05:47:22Z

On Thu, Feb 24, 2011 at 03:58:37AM +0000, Al Viro wrote:
> On Thu, Feb 24, 2011 at 11:28:57AM +0800, Ian Kent wrote:
>
> > Ha, I haven't even turned on my Ultrsparc 2 in months, it's only got an
> > old version of Solaris on it now anyway, ;)
>
> U60, with lenny (and mainline kernel) on it. Probably ought to upgrade
> to squeeze one of those days... It works, all right, but it's only 2-way,
> so reproducing would probably be harder. Plus the fun of building the tests
> themselves on somewhat different userland...
>
> Anyway, I wonder why you care about __d_lookup_rcu() and ->d_inode stability;
> d_mountpoint() _is_ stable at that point (we hold vfsmount_lock) and you
> don't seem to look at ->d_inode at all in RCU case. Note that ->d_automount()
> is never called in RCU case at all; nor is ->lookup() and friends, so you
> really only have ->d_manage() to cope with, what with autofs4 having no
> ->d_revalidate() anymore.

FWIW, can we _ever_ get to __do_follow_link() with link->mnt != nd->path.mnt?
It's probably not what's happening here, or we would've stepped on another
BUG_ON(), but still it might be worth checking...

AFAICS, if we ever get there that way, we are fscked, so the check before
mntget() ought to replaced with BUG_ON(link->mnt != nd->path.mnt)...