Re: [REGRESSION 4.6-rc1] NFS mounts (using autofs) failing

From: Al Viro
Date: Tue Mar 29 2016 - 10:02:53 EST


On Tue, Mar 29, 2016 at 01:11:55PM +0200, Arend Van Spriel wrote:
> Hi Al,
>
> Moved to 4.6-rc1 and found NFS mounts were failing moving to the new
> kernel. The NFS mounts are done using autofs. Below is the bisect log
> and attached the kernel .config file. Let me know if you need any other
> information.

AFAICS, it's the same one that got reported yesterday by Junichi Nomura.
Folks, could you check if the delta below fixes it?

diff --git a/fs/namei.c b/fs/namei.c
index 3498d53..0d80c72 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1740,15 +1740,17 @@ static int walk_component(struct nameidata *nd, int flags)
nd->flags);
if (IS_ERR(path.dentry))
return PTR_ERR(path.dentry);
- if (unlikely(d_is_negative(path.dentry))) {
- dput(path.dentry);
- return -ENOENT;
- }
+
path.mnt = nd->path.mnt;
err = follow_managed(&path, nd);
if (unlikely(err < 0))
return err;

+ if (unlikely(d_is_negative(path.dentry))) {
+ path_to_nameidata(&path, nd);
+ return -ENOENT;
+ }
+
seq = 0; /* we are already out of RCU mode */
inode = d_backing_inode(path.dentry);
}