Browse Source

ext4: Avoid null pointer dereference when decoding EROFS w/o a journal

We need to check to make sure a journal is present before checking the
journal flags in ext4_decode_error().

Signed-off-by: Eric Sesterhenn <eric.sesterhenn@lsexperts.de>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Theodore Ts'o 16 years ago
parent
commit
78f1ddbb49
1 changed files with 2 additions and 1 deletions
  1. 2 1
      fs/ext4/super.c

+ 2 - 1
fs/ext4/super.c

@@ -344,7 +344,8 @@ static const char *ext4_decode_error(struct super_block *sb, int errno,
 		errstr = "Out of memory";
 		errstr = "Out of memory";
 		break;
 		break;
 	case -EROFS:
 	case -EROFS:
-		if (!sb || EXT4_SB(sb)->s_journal->j_flags & JBD2_ABORT)
+		if (!sb || (EXT4_SB(sb)->s_journal &&
+			    EXT4_SB(sb)->s_journal->j_flags & JBD2_ABORT))
 			errstr = "Journal has aborted";
 			errstr = "Journal has aborted";
 		else
 		else
 			errstr = "Readonly filesystem";
 			errstr = "Readonly filesystem";