On 03/12, Harshit Mogalapalli wrote:
> kvcalloc is same as kvmalloc_array + __GFP_ZERO.
> 
> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapa...@oracle.com>
> ---
>  drivers/gpu/drm/v3d/v3d_gem.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c
> index c7ed2e1cbab6..f7d37228461e 100644
> --- a/drivers/gpu/drm/v3d/v3d_gem.c
> +++ b/drivers/gpu/drm/v3d/v3d_gem.c
> @@ -308,9 +308,8 @@ v3d_lookup_bos(struct drm_device *dev,
>               return -EINVAL;
>       }
>  
> -     job->bo = kvmalloc_array(job->bo_count,
> -                              sizeof(struct drm_gem_cma_object *),
> -                              GFP_KERNEL | __GFP_ZERO);
> +     job->bo = kvcalloc(job->bo_count, sizeof(struct drm_gem_cma_object *),
> +                        GFP_KERNEL);

Hi Harshit,

This change seems valid to me, but I believe, in this point, v3d should
move to use the DRM function `drm_gem_objects_lookup()`, and then your
change goes there, since drm_get_objects_lookup() has the same issue
you're pointing. What do you think?

I already sent a patchset to replace steps in v3d_lookup_bos() by
drm_gem_objects_lookup(), as I mentioned. The patchset is here:
https://patchwork.freedesktop.org/series/101610/
Willing to review it? ^

Thanks,

Melissa

>       if (!job->bo) {
>               DRM_DEBUG("Failed to allocate validated BO pointers\n");
>               return -ENOMEM;
> -- 
> 2.31.1
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to