提交 3c70b8ee 编写于 作者: M 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: NMiklos Szeredi <mszeredi@suse.cz>
Cc: stable@vger.kernel.org
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册