ext4: remove unnecessary check from alloc_flex_gd()
authorBaokun Li <libaokun1@huawei.com>
Mon, 23 Oct 2023 01:30:55 +0000 (09:30 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 14 Dec 2023 15:54:46 +0000 (10:54 -0500)
In commit 967ac8af4475 ("ext4: fix potential integer overflow in
alloc_flex_gd()"), an overflow check is added to alloc_flex_gd() to
prevent the allocated memory from being smaller than expected due to
the overflow. However, after kmalloc() is replaced with kmalloc_array()
in commit 6da2ec56059c ("treewide: kmalloc() -> kmalloc_array()"), the
kmalloc_array() function has an overflow check, so the above problem
will not occur. Therefore, the extra check is removed.

Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20231023013057.2117948-3-libaokun1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/resize.c

index c6d4539..0a57b19 100644 (file)
@@ -236,10 +236,7 @@ static struct ext4_new_flex_group_data *alloc_flex_gd(unsigned int flexbg_size)
        if (flex_gd == NULL)
                goto out3;
 
-       if (flexbg_size >= UINT_MAX / sizeof(struct ext4_new_group_data))
-               goto out2;
        flex_gd->count = flexbg_size;
-
        flex_gd->groups = kmalloc_array(flexbg_size,
                                        sizeof(struct ext4_new_group_data),
                                        GFP_NOFS);