diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2013-10-01 10:41:22 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2013-10-01 10:41:22 -0400 |
commit | 3c70b8eeda596069258772afabf2ab0b1aa017f0 (patch) | |
tree | 961f03f916d1bfa70846ca003688e6c18ff33cc4 /fs | |
parent | 0ab08f576b9e6a6b689fc6b4e632079b978e619b (diff) |
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: Miklos Szeredi <mszeredi@suse.cz>
Cc: stable@vger.kernel.org
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fuse/dir.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 62b43b577bfc..9b16806f11da 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c | |||
@@ -259,7 +259,8 @@ out: | |||
259 | 259 | ||
260 | invalid: | 260 | invalid: |
261 | ret = 0; | 261 | ret = 0; |
262 | if (check_submounts_and_drop(entry) != 0) | 262 | |
263 | if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0) | ||
263 | ret = 1; | 264 | ret = 1; |
264 | goto out; | 265 | goto out; |
265 | } | 266 | } |