Unionfs: fix d_revalidate for corner case
authorErez Zadok <ezk@cs.sunysb.edu>
Tue, 12 Aug 2014 00:49:59 +0000 (20:49 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Sat, 16 Aug 2014 02:31:46 +0000 (22:31 -0400)
In some cases, lower_dentry may goes to NULL.  Return 0 here to mark it
as invalid dentry.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Mengyang Li <li.mengyang@stonybrook.edu>
fs/unionfs/dentry.c

index a10c4fdb40daa5d75507c3f73045724d6e0c444e..318b3d53e67ad87a5349a9fc1b9040c17a8efcb7 100644 (file)
@@ -312,6 +312,10 @@ static int unionfs_d_revalidate(struct dentry *dentry, unsigned int flags)
        unionfs_lock_dentry(dentry, UNIONFS_DMUTEX_CHILD);
 
        lower_dentry = unionfs_lower_dentry(dentry);
+       if (!lower_dentry) {
+               err = 0;
+               goto out;
+       }
        if (!(lower_dentry->d_flags & DCACHE_OP_REVALIDATE))
                goto out;