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