We don't want ext2fs_open2() to report bad sb checksum on something that's not even an ext* superblock. This apparently happens pretty easily if we try to open an XFS filesystem. Thus, make it so that a bad magic number code always trumps the sb checksum error code. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- lib/ext2fs/openfs.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/ext2fs/openfs.c b/lib/ext2fs/openfs.c index 00320f3..1d6f147 100644 --- a/lib/ext2fs/openfs.c +++ b/lib/ext2fs/openfs.c @@ -221,8 +221,6 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, retval = EXT2_ET_UNKNOWN_CSUM; if (!ext2fs_superblock_csum_verify(fs, fs->super)) retval = EXT2_ET_SB_CSUM_INVALID; - if (retval) - goto cleanup; } #ifdef WORDS_BIGENDIAN @@ -235,10 +233,11 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, } #endif - if (fs->super->s_magic != EXT2_SUPER_MAGIC) { + if (fs->super->s_magic != EXT2_SUPER_MAGIC) retval = EXT2_ET_BAD_MAGIC; + if (retval) goto cleanup; - } + if (fs->super->s_rev_level > EXT2_LIB_CURRENT_REV) { retval = EXT2_ET_REV_TOO_HIGH; goto cleanup; -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html