diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2016-02-01 12:37:20 +0000 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2016-02-25 11:11:26 +0000 |
commit | 49e91e7079febe59a20ca885a87dd1c54240d0f1 (patch) | |
tree | 492560579a27a7658d2327f0e0a3a6eb825a303f /fs/jffs2/README.Locking | |
parent | 157078f64b8a9cd7011b6b900b2f2498df850748 (diff) | |
download | lwn-49e91e7079febe59a20ca885a87dd1c54240d0f1.tar.gz lwn-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.Locking | 5 |
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 |