ext2: set proper return code
authorChengguang Xu <cgxu519@gmx.com>
Tue, 1 Jan 2019 13:30:28 +0000 (21:30 +0800)
committerJan Kara <jack@suse.cz>
Tue, 22 Jan 2019 10:38:15 +0000 (11:38 +0100)
Set proper return code when failing from allocating
memory in ext2_fill_super().

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext2/super.c

index 73b2d52..b6d8402 100644 (file)
@@ -1087,12 +1087,14 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)
                                           sizeof(struct buffer_head *),
                                           GFP_KERNEL);
        if (sbi->s_group_desc == NULL) {
+               ret = -ENOMEM;
                ext2_msg(sb, KERN_ERR, "error: not enough memory");
                goto failed_mount;
        }
        bgl_lock_init(sbi->s_blockgroup_lock);
        sbi->s_debts = kcalloc(sbi->s_groups_count, sizeof(*sbi->s_debts), GFP_KERNEL);
        if (!sbi->s_debts) {
+               ret = -ENOMEM;
                ext2_msg(sb, KERN_ERR, "error: not enough memory");
                goto failed_mount_group_desc;
        }
@@ -1148,6 +1150,7 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)
 #ifdef CONFIG_EXT2_FS_XATTR
        sbi->s_ea_block_cache = ext2_xattr_create_cache();
        if (!sbi->s_ea_block_cache) {
+               ret = -ENOMEM;
                ext2_msg(sb, KERN_ERR, "Failed to create ea_block_cache");
                goto failed_mount3;
        }