On 03/12, Harshit Mogalapalli wrote: > kvcalloc is same as kvmalloc_array + __GFP_ZERO. > > Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@xxxxxxxxxx> > --- > 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