2023-10-19 11:24:43

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH 2/4] ext4: remove unnecessary check from alloc_flex_gd()

On Wed 18-10-23 19:42:19, Baokun Li wrote:
> 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 <[email protected]>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <[email protected]>

Honza

> ---
> fs/ext4/resize.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
> index c6d4539d4c1f..0a57b199883c 100644
> --- a/fs/ext4/resize.c
> +++ b/fs/ext4/resize.c
> @@ -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);
> --
> 2.31.1
>
--
Jan Kara <[email protected]>
SUSE Labs, CR