diff mbox

debugfs - fix segfault on "stat" command with no open fs

Message ID 498231C4.6090203@redhat.com
State Accepted, archived
Headers show

Commit Message

Eric Sandeen Jan. 29, 2009, 10:46 p.m. UTC
This is a regression from commit 
8fdf29117f922419bd5b3f741e5d554b1d5b8893, which attempts to access
current_fs via a feature check before we check that it's open.

Just moving the feature check below the open check should fix it.

Reported-by: Andrew Hecox <ahecox@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---


--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Theodore Ts'o March 8, 2009, 11:31 p.m. UTC | #1
On Thu, Jan 29, 2009 at 05:46:28PM -0500, Eric Sandeen wrote:
> This is a regression from commit 
> 8fdf29117f922419bd5b3f741e5d554b1d5b8893, which attempts to access
> current_fs via a feature check before we check that it's open.
> 
> Just moving the feature check below the open check should fix it.

Thanks, applied to the e2fsprogs git tree.

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

Index: e2fsprogs/debugfs/debugfs.c
===================================================================
--- e2fsprogs.orig/debugfs/debugfs.c	2008-09-12 10:37:52.000000000 -0500
+++ e2fsprogs/debugfs/debugfs.c	2009-01-29 16:36:04.748574864 -0600
@@ -291,9 +291,6 @@  void do_show_super_stats(int argc, char 
 	int	c, header_only = 0;
 	int	numdirs = 0, first, gdt_csum;
 
-	gdt_csum = EXT2_HAS_RO_COMPAT_FEATURE(current_fs->super,
-					      EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
-
 	reset_getopt();
 	while ((c = getopt (argc, argv, "h")) != EOF) {
 		switch (c) {
@@ -321,6 +318,8 @@  void do_show_super_stats(int argc, char 
 		return;
 	}
 
+	gdt_csum = EXT2_HAS_RO_COMPAT_FEATURE(current_fs->super,
+					      EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
 	gdp = &current_fs->group_desc[0];
 	for (i = 0; i < current_fs->group_desc_count; i++, gdp++) {
 		fprintf(out, " Group %2d: block bitmap at %u, "