summaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/porting
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-05-07 20:17:26 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2019-05-07 20:17:26 +0200
commit78438ce18f26dbcaa8993bb45d20ffb0cec3bc3e (patch)
tree2f6fe2eb05296a410a44ee7d602cafe2d202467b /Documentation/filesystems/porting
parentMerge branch 'work.icache' of git://git.kernel.org/pub/scm/linux/kernel/git/v... (diff)
parentautofs: fix use-after-free in lockless ->d_manage() (diff)
downloadlinux-78438ce18f26dbcaa8993bb45d20ffb0cec3bc3e.tar.xz
linux-78438ce18f26dbcaa8993bb45d20ffb0cec3bc3e.zip
Merge branch 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs stable fodder fixes from Al Viro: - acct_on() fix for deadlock caught by overlayfs folks - autofs RCU use-after-free SNAFU (->d_manage() can be called locklessly, so we need to RCU-delay freeing the objects it looks at) - (hopefully) the end of "do we need freeing this dentry RCU-delayed" whack-a-mole. * 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: autofs: fix use-after-free in lockless ->d_manage() dcache: sort the freeing-without-RCU-delay mess for good. acct_on(): don't mess with freeze protection
Diffstat (limited to 'Documentation/filesystems/porting')
-rw-r--r--Documentation/filesystems/porting5
1 files changed, 5 insertions, 0 deletions
diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting
index b8d3ddd8b8db..d392d4b0c393 100644
--- a/Documentation/filesystems/porting
+++ b/Documentation/filesystems/porting
@@ -663,3 +663,8 @@ in your dentry operations instead.
there, but that's it. Freeing memory in the callback is fine; doing
more than that is possible, but requires a lot of care and is best
avoided.
+--
+[mandatory]
+ DCACHE_RCUACCESS is gone; having an RCU delay on dentry freeing is the
+ default. DCACHE_NORCU opts out, and only d_alloc_pseudo() has any
+ business doing so.