On Thu, 2006-08-17 at 00:22 +0200, Jesper Juhl wrote:Thanks, that was useful info.
> The coverity checker spotted this as bug #1013.
>
> If we get a NULL dentry->d_inode, then regardless of
> NFS_PARANOIA or no NFS_PARANOIA, then if
> if (dentry->d_flags & DCACHE_NFSFS_RENAMED)
> turns out to be false we'll end up dereferencing
> that NULL d_inode in two places below.
>
> And since the check for "(!dentry->d_inode)" even exists
> (although inside #ifdef NFS_PARANOIA) I take that to mean
> that this is a possibility.
Sorry, but it isn't possible. See the checks in may_delete() (which is
called before ->unlink()) and nfs_rename().
IOW: Feel free to kill the NFS_PARANOIA crap. It looks like legacy codeSure thing, I'll cook up a patch to do that.
from a debugging session about a decade or so ago.