lkml.org 
[lkml]   [2011]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: [PATCH 1/1] fix d_revalidate oopsen on NFS exports
Date
From
> -----Original Message-----
> From: Chris Dunlop [mailto:chris@onthe.net.au]
> Sent: Tuesday, November 29, 2011 3:25 AM
> To: linux-fsdevel@vger.kernel.org; linux-kernel@vger.kernel.org; Eric
Van
> Hensbergen; Ron Minnich; Latchesar Ionkov; David Howells; Jan Harkes;
> maintainer:CODA FILE SYSTEM; Dave Kleikamp; Petr Vandrovec; Myklebust,
> Trond; Greg Kroah-Hartman; Al Viro;
v9fs-developer@lists.sourceforge.net;
> linux-afs@lists.infradead.org; codalist@TELEMANN.coda.cs.cmu.edu; jfs-
> discussion@lists.sourceforge.net; linux-nfs@vger.kernel.org
> Subject: Re: [PATCH 1/1] fix d_revalidate oopsen on NFS exports
>
> Hi,
>
> I haven't seen any response to this patch which fixes an Oops in
> d_revalidate. I hit this using NFS, but various other file systems
look to be
> likewise vulnerable, hence the broadness of the patch. The sequence
leading
> to the Oops is:
>
> lookup_one_len() [fs/namei.c]
> calls __lookup_hash() [fs/namei.c] with nd == NULL,
> which can then call the file system specific d_revalidate(),
passing in nd ==
> NULL
> which will then Oops if nd is used without checking

That's because you are "fixing" the wrong bug and if you'd checked the
list archives, you'd know that this has already been discussed several
times...

By allowing stacked filesystems to pass nd==NULL (the VFS doesn't do
this), you're circumventing the lookup intent mechanisms and will hit
all sorts of problems further down the road. If you want to fix the
problem, then please fix the broken stacking filesystems to stop using
lookup_one_len...

Trond


\
 
 \ /
  Last update: 2011-11-29 13:01    [W:0.171 / U:0.600 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site