summaryrefslogtreecommitdiff
path: root/fs/jbd2
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/jbd2
parentb0de6ef3648d201f714bf769347705d74ecca34e (diff)
downloadlinux-3.10-c38e36f1966284360a229c7c6e9f2ba601869c2f.tar.gz
linux-3.10-c38e36f1966284360a229c7c6e9f2ba601869c2f.tar.bz2
linux-3.10-c38e36f1966284360a229c7c6e9f2ba601869c2f.zip
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/jbd2')
-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 3bacc1909dd..6e2fb5cbacd 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;
}