summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2014-09-16 14:43:09 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-11-14 08:47:57 -0800
commitc38e36f1966284360a229c7c6e9f2ba601869c2f (patch)
tree0fc1fdced6b51ffe6e4cad5a16a1395c15f3dd91 /fs
parentb0de6ef3648d201f714bf769347705d74ecca34e (diff)
downloadlinux-rt-c38e36f1966284360a229c7c6e9f2ba601869c2f.tar.gz
jbd2: free bh when descriptor block checksum fails
commit 064d83892e9ba547f7d4eae22cbca066d95210ce upstream. Free the buffer head if the journal descriptor block fails checksum verification. This is the jbd2 port of the e2fsprogs patch "e2fsck: free bh on csum verify error in do_one_pass". Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/jbd2/recovery.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/jbd2/recovery.c b/fs/jbd2/recovery.c
index 3bacc1909ddb..6e2fb5cbacde 100644
--- a/fs/jbd2/recovery.c
+++ b/fs/jbd2/recovery.c
@@ -522,6 +522,7 @@ static int do_one_pass(journal_t *journal,
!jbd2_descr_block_csum_verify(journal,
bh->b_data)) {
err = -EIO;
+ brelse(bh);
goto failed;
}