2020-11-18 02:57:19

by 赵军奎

[permalink] [raw]
Subject: [PATCH] amd/amdgpu: use kmalloc_array to replace kmalloc with multiply

Fix check_patch.pl warning:
WARNING: Prefer kmalloc_array over kmalloc with multiply
+bps = kmalloc(align_space * sizeof((*data)->bps), GFP_KERNEL);
WARNING: Prefer kmalloc_array over kmalloc with multiply
+bps_bo = kmalloc(align_space * sizeof((*data)->bps_bo),
GFP_KERNEL);
kmalloc_array has multiply overflow check, which will be safer.

Signed-off-by: Bernard Zhao <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
index d0aea5e39531..f2a0851c804f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
@@ -280,8 +280,8 @@ static int amdgpu_virt_init_ras_err_handler_data(struct amdgpu_device *adev)
if (!*data)
return -ENOMEM;

- bps = kmalloc(align_space * sizeof((*data)->bps), GFP_KERNEL);
- bps_bo = kmalloc(align_space * sizeof((*data)->bps_bo), GFP_KERNEL);
+ bps = kmalloc_array(align_space, sizeof((*data)->bps), GFP_KERNEL);
+ bps_bo = kmalloc_array(align_space, sizeof((*data)->bps_bo), GFP_KERNEL);

if (!bps || !bps_bo) {
kfree(bps);
--
2.29.0


2020-11-18 08:22:28

by Christian König

[permalink] [raw]
Subject: Re: [PATCH] amd/amdgpu: use kmalloc_array to replace kmalloc with multiply

Am 18.11.20 um 03:55 schrieb Bernard Zhao:
> Fix check_patch.pl warning:
> WARNING: Prefer kmalloc_array over kmalloc with multiply
> +bps = kmalloc(align_space * sizeof((*data)->bps), GFP_KERNEL);
> WARNING: Prefer kmalloc_array over kmalloc with multiply
> +bps_bo = kmalloc(align_space * sizeof((*data)->bps_bo),
> GFP_KERNEL);
> kmalloc_array has multiply overflow check, which will be safer.
>
> Signed-off-by: Bernard Zhao <[email protected]>

Not userspace controllable values, but looks cleaner anyway.

Reviewed-by: Christian König <[email protected]>

> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> index d0aea5e39531..f2a0851c804f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> @@ -280,8 +280,8 @@ static int amdgpu_virt_init_ras_err_handler_data(struct amdgpu_device *adev)
> if (!*data)
> return -ENOMEM;
>
> - bps = kmalloc(align_space * sizeof((*data)->bps), GFP_KERNEL);
> - bps_bo = kmalloc(align_space * sizeof((*data)->bps_bo), GFP_KERNEL);
> + bps = kmalloc_array(align_space, sizeof((*data)->bps), GFP_KERNEL);
> + bps_bo = kmalloc_array(align_space, sizeof((*data)->bps_bo), GFP_KERNEL);
>
> if (!bps || !bps_bo) {
> kfree(bps);

2020-11-19 21:59:18

by Alex Deucher

[permalink] [raw]
Subject: Re: [PATCH] amd/amdgpu: use kmalloc_array to replace kmalloc with multiply

Applied. Thanks!

Alex

On Wed, Nov 18, 2020 at 3:18 AM Christian König
<[email protected]> wrote:
>
> Am 18.11.20 um 03:55 schrieb Bernard Zhao:
> > Fix check_patch.pl warning:
> > WARNING: Prefer kmalloc_array over kmalloc with multiply
> > +bps = kmalloc(align_space * sizeof((*data)->bps), GFP_KERNEL);
> > WARNING: Prefer kmalloc_array over kmalloc with multiply
> > +bps_bo = kmalloc(align_space * sizeof((*data)->bps_bo),
> > GFP_KERNEL);
> > kmalloc_array has multiply overflow check, which will be safer.
> >
> > Signed-off-by: Bernard Zhao <[email protected]>
>
> Not userspace controllable values, but looks cleaner anyway.
>
> Reviewed-by: Christian König <[email protected]>
>
> > ---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> > index d0aea5e39531..f2a0851c804f 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> > @@ -280,8 +280,8 @@ static int amdgpu_virt_init_ras_err_handler_data(struct amdgpu_device *adev)
> > if (!*data)
> > return -ENOMEM;
> >
> > - bps = kmalloc(align_space * sizeof((*data)->bps), GFP_KERNEL);
> > - bps_bo = kmalloc(align_space * sizeof((*data)->bps_bo), GFP_KERNEL);
> > + bps = kmalloc_array(align_space, sizeof((*data)->bps), GFP_KERNEL);
> > + bps_bo = kmalloc_array(align_space, sizeof((*data)->bps_bo), GFP_KERNEL);
> >
> > if (!bps || !bps_bo) {
> > kfree(bps);
>
> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel