summaryrefslogtreecommitdiffstats
path: root/fs/jffs2/malloc.c
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2014-02-25 18:27:40 -0800
committerBrian Norris <computersforpeace@gmail.com>2015-05-07 16:20:53 -0700
commit7aaea7605c0e19fa7b38d7ac5dcd818942fd17a7 (patch)
tree48324e2612fa372c69a97e4b76f14b007423e2c8 /fs/jffs2/malloc.c
parent3094fe121e7514687dd1bdc35127a23be257400e (diff)
downloadlinux-stable-7aaea7605c0e19fa7b38d7ac5dcd818942fd17a7.tar.gz
linux-stable-7aaea7605c0e19fa7b38d7ac5dcd818942fd17a7.tar.bz2
linux-stable-7aaea7605c0e19fa7b38d7ac5dcd818942fd17a7.zip
jffs2: fix unbalanced locking
Li Zefan reported an unbalanced locking issue, found by his internal debugging feature on runtime. The particular case he was looking at doesn't lead to a deadlock, as the structure that this lock is embedded in is freed on error. But we should straighten out the error handling. Because several callers of jffs2_do_read_inode_internal() / jffs2_do_read_inode() already handle the locking/unlocking and inode clearing at their own level, let's just push any unlocks/clearing down to the caller. This consistency is much easier to verify. Reported-by: Li Zefan <lizefan@huawei.com> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'fs/jffs2/malloc.c')
0 files changed, 0 insertions, 0 deletions