diff options
author | Brian Norris <computersforpeace@gmail.com> | 2014-02-25 18:27:40 -0800 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2015-05-07 16:20:53 -0700 |
commit | 7aaea7605c0e19fa7b38d7ac5dcd818942fd17a7 (patch) | |
tree | 48324e2612fa372c69a97e4b76f14b007423e2c8 /fs/jffs2/malloc.c | |
parent | 3094fe121e7514687dd1bdc35127a23be257400e (diff) | |
download | linux-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