--- linux-stage.orig/fs/ext4/mmp.c 2015-10-06 08:21:12.013939184 +0530 +++ linux-stage/fs/ext4/mmp.c 2015-10-06 08:20:35.242939292 +0530 @@ -99,8 +99,11 @@ static int read_mmp_block(struct super_b mmp = (struct mmp_struct *)((*bh)->b_data); if (le32_to_cpu(mmp->mmp_magic) != EXT4_MMP_MAGIC || - !ext4_mmp_csum_verify(sb, mmp)) + !ext4_mmp_csum_verify(sb, mmp)) { + brelse(*bh); + *bh = NULL; return -EINVAL; + } return 0; } @@ -219,6 +221,7 @@ static int kmmpd(void *data) "The filesystem seems to have been" " multiply mounted."); ext4_error(sb, "abort"); + put_bh(bh_check); goto failed; } put_bh(bh_check);