linux/fs/jbd2
Taesoo Kim 74407793c5 jbd2: fix incorrect unlock on j_list_lock
[ Upstream commit 559cce698e ]

When 'jh->b_transaction == transaction' (asserted by below)

  J_ASSERT_JH(jh, (jh->b_transaction == transaction || ...

'journal->j_list_lock' will be incorrectly unlocked, since
the the lock is aquired only at the end of if / else-if
statements (missing the else case).

Signed-off-by: Taesoo Kim <tsgatesv@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Fixes: 6e4862a5bb
Cc: stable@vger.kernel.org # 3.14+
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
History 2016-11-23 21:28:38 -05:00
..
checkpoint.c jbd2: avoid infinite loop when destroying aborted journal 2015-11-13 13:14:15 -05:00
commit.c jbd2: avoid infinite loop when destroying aborted journal 2015-11-13 13:14:15 -05:00
journal.c jbd2: fix FS corruption possibility in jbd2_journal_destroy() on umount path 2016-04-18 08:49:27 -04:00
Kconfig jbd2: remove debug dependency on debug_fs and update Kconfig help text 2013-06-12 23:07:51 -04:00
Makefile [PATCH] jbd2: rename jbd2 symbols to avoid duplication of jbd symbols 2006-10-11 11:14:15 -07:00
recovery.c jbd2: fix r_count overflows leading to buffer overflow in journal recovery 2015-06-10 13:42:24 -04:00
revoke.c jbd2: fix r_count overflows leading to buffer overflow in journal recovery 2015-06-10 13:42:24 -04:00
transaction.c jbd2: fix incorrect unlock on j_list_lock 2016-11-23 21:28:38 -05:00