diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 62b43b577bfce40b116a7a8eb77a91cea1c8b7b4..9b16806f11dad2e296b5864455c8f47e6998bb94 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -259,7 +259,8 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags) invalid: ret = 0; - if (check_submounts_and_drop(entry) != 0) + + if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0) ret = 1; goto out; }