linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] ext4: Add missing brelse() in add_new_gdb_meta_bg()
@ 2019-03-05 10:53 Lukas Czerner
  2019-03-05 10:54 ` [PATCH v2 2/2] ext4: Report real fs size after failed resize Lukas Czerner
  2019-03-15  4:18 ` [PATCH v2 1/2] ext4: Add missing brelse() in add_new_gdb_meta_bg() Theodore Ts'o
  0 siblings, 2 replies; 5+ messages in thread
From: Lukas Czerner @ 2019-03-05 10:53 UTC (permalink / raw)
  To: linux-ext4

Currently in add_new_gdb_meta_bg() there is a missing brelse of gdb_bh
in case ext4_journal_get_write_access() fails.
Additionally kvfree() is missing in the same error path. Fix it by
moving the ext4_journal_get_write_access() before the ext4 sb update as
Ted suggested and release n_group_desc and gdb_bh in case it fails.

Fixes: 61a9c11e5e7a ("ext4: add missing brelse() add_new_gdb_meta_bg()'s error path")
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
v2: Mofe ext4_journal_get_write_access() before we update ext4 sb

 fs/ext4/resize.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 48421de803b7..5f89c19043a2 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -932,11 +932,18 @@ static int add_new_gdb_meta_bg(struct super_block *sb,
 	memcpy(n_group_desc, o_group_desc,
 	       EXT4_SB(sb)->s_gdb_count * sizeof(struct buffer_head *));
 	n_group_desc[gdb_num] = gdb_bh;
+
+	BUFFER_TRACE(gdb_bh, "get_write_access");
+	err = ext4_journal_get_write_access(handle, gdb_bh);
+	if (err) {
+		kvfree(n_group_desc);
+		brelse(gdb_bh);
+		return err;
+	}
+
 	EXT4_SB(sb)->s_group_desc = n_group_desc;
 	EXT4_SB(sb)->s_gdb_count++;
 	kvfree(o_group_desc);
-	BUFFER_TRACE(gdb_bh, "get_write_access");
-	err = ext4_journal_get_write_access(handle, gdb_bh);
 	return err;
 }
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-03-15  8:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-05 10:53 [PATCH v2 1/2] ext4: Add missing brelse() in add_new_gdb_meta_bg() Lukas Czerner
2019-03-05 10:54 ` [PATCH v2 2/2] ext4: Report real fs size after failed resize Lukas Czerner
2019-03-15  4:23   ` Theodore Ts'o
2019-03-15  8:43     ` Lukas Czerner
2019-03-15  4:18 ` [PATCH v2 1/2] ext4: Add missing brelse() in add_new_gdb_meta_bg() Theodore Ts'o

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).