android_kernel_xiaomi_sm8350/fs/ubifs
Adrian Hunter 601c0bc467 UBIFS: allow for racing between GC and TNC
The TNC mutex is unlocked prematurely when reading leaf nodes
with non-hashed keys.  This is unsafe because the node may be
moved by garbage collection and the eraseblock unmapped, although
that has never actually happened during stress testing.

This patch fixes the flaw by detecting the race and retrying with
the TNC mutex locked.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
2008-08-25 14:34:02 +03:00
..
budget.c UBIFS: correct spelling of "thrice". 2008-08-13 11:39:20 +03:00
commit.c UBIFS: increment commit number earlier 2008-08-13 11:27:47 +03:00
compress.c
debug.c UBIFS: print pid in dump function 2008-08-13 11:35:58 +03:00
debug.h UBIFS: improve arguments checking in debugging messages 2008-08-13 11:42:47 +03:00
dir.c UBIFS: fix zero-length truncations 2008-08-21 16:48:52 +03:00
file.c UBIFS: fix zero-length truncations 2008-08-21 16:48:52 +03:00
find.c UBIFS: correct spelling of "thrice". 2008-08-13 11:39:20 +03:00
gc.c UBIFS: allow for racing between GC and TNC 2008-08-25 14:34:02 +03:00
io.c UBIFS: make ubifs_ro_mode() not inline 2008-08-13 11:24:26 +03:00
ioctl.c
journal.c UBIFS: xattr bugfixes 2008-08-14 12:46:20 +03:00
Kconfig
key.h
log.c UBIFS: increment commit number earlier 2008-08-13 11:27:47 +03:00
lprops.c
lpt_commit.c
lpt.c
Makefile
master.c
misc.h UBIFS: allow for racing between GC and TNC 2008-08-25 14:34:02 +03:00
orphan.c UBIFS: increment commit number earlier 2008-08-13 11:27:47 +03:00
recovery.c
replay.c
sb.c
scan.c
shrinker.c
super.c UBIFS: few commentary fixes 2008-08-13 18:59:02 +03:00
tnc_commit.c UBIFS: minor tweaks in commit 2008-08-13 11:38:19 +03:00
tnc_misc.c
tnc.c UBIFS: allow for racing between GC and TNC 2008-08-25 14:34:02 +03:00
ubifs-media.h UBIFS: reserve more space for index 2008-08-13 11:37:28 +03:00
ubifs.h UBIFS: allow for racing between GC and TNC 2008-08-25 14:34:02 +03:00
xattr.c UBIFS: xattr bugfixes 2008-08-14 12:46:20 +03:00