Re: [NFS] [RFC: 2.6 patch] include/linux/nfsd/nfsfh.h: fix a NULL

Trond Myklebust
2006-11-12T15:59:22Z

On Sun, 2006-11-12 at 14:17 +0100, Adrian Bunk wrote:
> dereference
> Reply-To:
> Fcc: =sent-mail
>
> When we know fhp->fh_dentry is NULL, a code path where it's being
> dereferenced isn't a good choice.
>
> Spotted by the coverity checker.
>
> Signed-off-by: Adrian Bunk <bunk@stusta.de>
>
> --- linux-2.6/include/linux/nfsd/nfsfh.h.old 2006-11-12 14:13:34.000000000 +0100
> +++ linux-2.6/include/linux/nfsd/nfsfh.h 2006-11-12 14:13:49.000000000 +0100
> @@ -330,8 +330,7 @@ fh_unlock(struct svc_fh *fhp)
> {
> if (!fhp->fh_dentry)
> printk(KERN_ERR "fh_unlock: fh not verified!\n");
> -
> - if (fhp->fh_locked) {
> + else if (fhp->fh_locked) {
> fill_post_wcc(fhp);
> mutex_unlock(&fhp->fh_dentry->d_inode->i_mutex);
> fhp->fh_locked = 0;
>

This issue has come up on lkml before. Please just convert that check
for fhp->fh_dentry into a BUG_ON().

Trond