summaryrefslogtreecommitdiffstats
path: root/fs/jffs2/README.Locking
diff options
context:
space:
mode:
authorDavid Woodhouse2016-02-01 13:37:20 +0100
committerDavid Woodhouse2016-02-25 12:11:26 +0100
commit49e91e7079febe59a20ca885a87dd1c54240d0f1 (patch)
tree492560579a27a7658d2327f0e0a3a6eb825a303f /fs/jffs2/README.Locking
parentRevert "jffs2: Fix lock acquisition order bug in jffs2_write_begin" (diff)
downloadkernel-qcow2-linux-49e91e7079febe59a20ca885a87dd1c54240d0f1.tar.gz
kernel-qcow2-linux-49e91e7079febe59a20ca885a87dd1c54240d0f1.tar.xz
kernel-qcow2-linux-49e91e7079febe59a20ca885a87dd1c54240d0f1.zip
jffs2: Fix page lock / f->sem deadlock
With this fix, all code paths should now be obtaining the page lock before f->sem. Reported-by: Szabó Tamás <sztomi89@gmail.com> Tested-by: Thomas Betker <thomas.betker@rohde-schwarz.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/jffs2/README.Locking')
-rw-r--r--fs/jffs2/README.Locking5
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/jffs2/README.Locking b/fs/jffs2/README.Locking
index 3ea36554107f..8918ac905a3b 100644
--- a/fs/jffs2/README.Locking
+++ b/fs/jffs2/README.Locking
@@ -2,10 +2,6 @@
JFFS2 LOCKING DOCUMENTATION
---------------------------
-At least theoretically, JFFS2 does not require the Big Kernel Lock
-(BKL), which was always helpfully obtained for it by Linux 2.4 VFS
-code. It has its own locking, as described below.
-
This document attempts to describe the existing locking rules for
JFFS2. It is not expected to remain perfectly up to date, but ought to
be fairly close.
@@ -69,6 +65,7 @@ Ordering constraints:
any f->sem held.
2. Never attempt to lock two file mutexes in one thread.
No ordering rules have been made for doing so.
+ 3. Never lock a page cache page with f->sem held.
erase_completion_lock spinlock