RE: [PATCH v2] drm/amdgpu: use kmalloc_array() instead of kmalloc()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Public]

Applied.  Thanks!

Alex

> -----Original Message-----
> From: Yunshui Jiang <jiangyunshui@xxxxxxxxxx>
> Sent: Thursday, July 24, 2025 2:30 AM
> To: linux-kernel@xxxxxxxxxxxxxxx
> Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>;
> chriistian.koenig@xxxxxxx; linux-doc@xxxxxxxxxxxxxxx; willy@xxxxxxxxxxxxx;
> Yunshui Jiang <jiangyunshui@xxxxxxxxxx>
> Subject: [PATCH v2] drm/amdgpu: use kmalloc_array() instead of kmalloc()
>
> Use kmalloc_array() instead of kmalloc() with multiplication.
> kmalloc_array() is a safer way because of its multiply overflow check.
>
> ---
> Changes in v2:
> Fixed incorrect kmalloc usage in v1:
> -     *bps = kmalloc(data->count, sizeof(struct ras_badpage), GFP_KERNEL);
> +     *bps = kmalloc_array(data->count, sizeof(struct ras_badpage),
> GFP_KERNEL);
>
> Signed-off-by: Yunshui Jiang <jiangyunshui@xxxxxxxxxx>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> index de0944947eaf..12f5a1b9ff8b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> @@ -2563,7 +2563,7 @@ static int amdgpu_ras_badpages_read(struct
> amdgpu_device *adev,
>               goto out;
>       }
>
> -     *bps = kmalloc(sizeof(struct ras_badpage) * data->count, GFP_KERNEL);
> +     *bps = kmalloc_array(data->count, sizeof(struct ras_badpage),
> GFP_KERNEL);
>       if (!*bps) {
>               ret = -ENOMEM;
>               goto out;
> @@ -2719,7 +2719,7 @@ static int amdgpu_ras_realloc_eh_data_space(struct
> amdgpu_device *adev,
>       unsigned int old_space = data->count + data->space_left;
>       unsigned int new_space = old_space + pages;
>       unsigned int align_space = ALIGN(new_space, 512);
> -     void *bps = kmalloc(align_space * sizeof(*data->bps), GFP_KERNEL);
> +     void *bps = kmalloc_array(align_space, sizeof(*data->bps),
> GFP_KERNEL);
>
>       if (!bps) {
>               return -ENOMEM;
> --
> 2.47.1






[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux