Re: nfs_lookup_revalidate BUG ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2012-08-14 at 19:35 +0100, Al Viro wrote:
> On Tue, Aug 14, 2012 at 06:04:08PM +0000, Myklebust, Trond wrote:
> > > Is this a known BUG ?
> > > Which other information or test can I do to contribute searching/resolving this issue?
> > 
> > I'm not 100% certain, but it looks to me as if the call to dget_parent()
> > in nfs_lookup_revalidate is returning NULL.
> > 
> > Could you please apply the following patch, and see if that triggers the
> > WARN_ON instead of the above Oops?
> 
> Unlikely as hell.  dget_parent() has only one return in it, and it's
>         BUG_ON(!ret->d_count);
>         ret->d_count++;
>         spin_unlock(&ret->d_lock);
>         return ret;
> so it's extremely unlikely that it would managed to return NULL.  Not
> without oopsing...

Agreed, but the Oops is a NULL pointer dereference of offset 00038,
which looks suspiciously like a deference of (struct dentry)->d_inode.
There are only 2 of those in the vicinity of nfs_lookup_revalidate+0x2d:
one is a dereference of parent->d_inode, the other is dentry->d_inode...

-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com

��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux