Commit 3c70b8ee authored by Miklos Szeredi's avatar Miklos Szeredi

fuse: don't check_submounts_and_drop() in RCU walk

If revalidate finds an invalid dentry in RCU walk mode, let the VFS deal
with it instead of calling check_submounts_and_drop() which is not prepared
for being called from RCU walk.
Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
Cc: stable@vger.kernel.org
parent 0ab08f57
...@@ -259,7 +259,8 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags) ...@@ -259,7 +259,8 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
invalid: invalid:
ret = 0; ret = 0;
if (check_submounts_and_drop(entry) != 0)
if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0)
ret = 1; ret = 1;
goto out; goto out;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment