ext2_fill_super is using err variable, but it is not applied to return value. This patch fixes it. Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> --- fs/ext2/super.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/fs/ext2/super.c b/fs/ext2/super.c index e3fc51e..7e36536 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -770,14 +770,13 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) unsigned long logic_sb_block; unsigned long offset = 0; unsigned long def_mount_opts; - int ret = -EINVAL; + int ret = -ENOMEM; int blocksize = BLOCK_SIZE; int db_count; int i, j; __le32 features; - int err; + int err = 0; - err = -ENOMEM; sbi = kzalloc(sizeof(*sbi), GFP_KERNEL); if (!sbi) goto failed; @@ -793,6 +792,9 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) spin_lock_init(&sbi->s_lock); + /* -EINVAL is default */ + ret = -EINVAL; + /* * See what the current blocksize for the device is, and * use that as the blocksize. Otherwise (or if the blocksize @@ -1140,7 +1142,7 @@ failed_sbi: kfree(sbi->s_blockgroup_lock); kfree(sbi); failed: - return ret; + return err ? err : ret; } static void ext2_clear_super_error(struct super_block *sb) -- 1.7.9.5 -- 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