diff options
author | Theodore Ts'o <tytso@mit.edu> | 2009-07-27 23:09:47 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2009-07-27 23:09:47 -0400 |
commit | 78f1ddbb498283c2445c11b0dfa666424c301803 (patch) | |
tree | aa25853e60d224812103ea5b5e520fc41d57cb05 | |
parent | 43b38520296d0c1730c78c878e1d6d1a49122091 (diff) |
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>
-rw-r--r-- | fs/ext4/super.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 8f4f079e6b9a..fe3f376b7df2 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -344,7 +344,8 @@ static const char *ext4_decode_error(struct super_block *sb, int errno, | |||
344 | errstr = "Out of memory"; | 344 | errstr = "Out of memory"; |
345 | break; | 345 | break; |
346 | case -EROFS: | 346 | case -EROFS: |
347 | if (!sb || EXT4_SB(sb)->s_journal->j_flags & JBD2_ABORT) | 347 | if (!sb || (EXT4_SB(sb)->s_journal && |
348 | EXT4_SB(sb)->s_journal->j_flags & JBD2_ABORT)) | ||
348 | errstr = "Journal has aborted"; | 349 | errstr = "Journal has aborted"; |
349 | else | 350 | else |
350 | errstr = "Readonly filesystem"; | 351 | errstr = "Readonly filesystem"; |