Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757609AbcC2TRM (ORCPT ); Tue, 29 Mar 2016 15:17:12 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:37993 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752283AbcC2TRK (ORCPT ); Tue, 29 Mar 2016 15:17:10 -0400 Subject: Re: [REGRESSION 4.6-rc1] NFS mounts (using autofs) failing To: Al Viro References: <56FA62FB.1080506@broadcom.com> <20160329140244.GV17997@ZenIV.linux.org.uk> Cc: Junichi Nomura , "linux-kernel@vger.kernel.org" , Linux NFS Mailing List From: Arend van Spriel Message-ID: <56FAD4B4.3070508@broadcom.com> Date: Tue, 29 Mar 2016 21:17:08 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <20160329140244.GV17997@ZenIV.linux.org.uk> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1308 Lines: 48 On 29-03-16 16:02, Al Viro wrote: > 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? Works for me so you may add Tested-by: Arend van Spriel Regards, Arend > 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); > } >