projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0ab08f5
)
fuse: don't check_submounts_and_drop() in RCU walk
author
Miklos Szeredi
<mszeredi@suse.cz>
Tue, 1 Oct 2013 14:41:22 +0000
(16:41 +0200)
committer
Miklos Szeredi
<mszeredi@suse.cz>
Tue, 1 Oct 2013 14:41:22 +0000
(16:41 +0200)
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
fs/fuse/dir.c
patch
|
blob
|
history
diff --git
a/fs/fuse/dir.c
b/fs/fuse/dir.c
index 62b43b577bfce40b116a7a8eb77a91cea1c8b7b4..9b16806f11dad2e296b5864455c8f47e6998bb94 100644
(file)
--- a/
fs/fuse/dir.c
+++ b/
fs/fuse/dir.c
@@
-259,7
+259,8
@@
out:
invalid:
ret = 0;
- if (check_submounts_and_drop(entry) != 0)
+
+ if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0)
ret = 1;
goto out;
}