Re: [PATCH] drm/v3d: Use kvcalloc

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

 



On 28/03/22 5:55 pm, Melissa Wen wrote:
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,
Hi Melissa,

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?

Thanks for looking at the patch.

Yes, you are right, the issue is same there as well.

Few other similar instances in drm/ subsystem.

drivers/gpu/drm/drm_gem.c:700 drm_gem_objects_lookup() warn: Please consider using kvcalloc instead drivers/gpu/drm/ttm/ttm_tt.c:99 ttm_tt_alloc_page_directory() warn: Please consider using kvcalloc instead drivers/gpu/drm/ttm/ttm_tt.c:108 ttm_dma_tt_alloc_page_directory() warn: Please consider using kvcalloc instead drivers/gpu/drm/ttm/ttm_tt.c:121 ttm_sg_tt_alloc_page_directory() warn: Please consider using kvcalloc instead drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:541 amdgpu_cs_parser_bos() warn: Please consider using kvcalloc instead drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c:152 svm_range_dma_map_dev() warn: Please consider using kvcalloc instead drivers/gpu/drm/v3d/v3d_gem.c:311 v3d_lookup_bos() warn: Please consider using kvcalloc instead drivers/gpu/drm/vc4/vc4_gem.c:746 vc4_cl_lookup_bos() warn: Please consider using kvcalloc instead drivers/gpu/drm/lima/lima_gem.c:42 lima_heap_alloc() warn: Please consider using kvcalloc instead drivers/gpu/drm/panfrost/panfrost_drv.c:147 panfrost_lookup_bos() warn: Please consider using kvcalloc instead drivers/gpu/drm/panfrost/panfrost_mmu.c:452 panfrost_mmu_map_fault_addr() warn: Please consider using kvcalloc instead drivers/gpu/drm/panfrost/panfrost_mmu.c:460 panfrost_mmu_map_fault_addr() warn: Please consider using kvcalloc instead

Tool Used: Smatch.

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? ^


Sorry Melissa, I am still a beginner, Can't review it.

Regards,
Harshit

Thanks,

Melissa

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





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux