[PATCH 2/7] ext4 resize: missing brelse() after errors in set_flexbg_block_bitmap()

From: Vasily Averin
Date: Mon Oct 29 2018 - 11:47:41 EST


Fixes 33afdcc5402d ("ext4: add a function which sets up group blocks ...")
#? cc: stable@xxxxxxxxxxxxxxx # 3.3+

Signed-off-by: Vasily Averin <vvs@xxxxxxxxxx>
---
fs/ext4/resize.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index c3fa30878ca8..0a4dc6217e78 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -459,16 +459,18 @@ static int set_flexbg_block_bitmap(struct super_block *sb, handle_t *handle,

BUFFER_TRACE(bh, "get_write_access");
err = ext4_journal_get_write_access(handle, bh);
- if (err)
+ if (err) {
+ brelse(bh);
return err;
+ }
ext4_debug("mark block bitmap %#04llx (+%llu/%u)\n",
first_cluster, first_cluster - start, count2);
ext4_set_bits(bh->b_data, first_cluster - start, count2);

err = ext4_handle_dirty_metadata(handle, NULL, bh);
+ brelse(bh);
if (unlikely(err))
return err;
- brelse(bh);
}

return 0;
--
2.17.1