[PATCH] drm/radeon: Use kcalloc instead of kzalloc to allocate array

Thomas Meyer thomas at m3y3r.de
Tue Nov 29 13:08:00 PST 2011


The advantage of kcalloc is, that will prevent integer overflows which could
result from the multiplication of number of elements and size and it is also
a bit nicer to read.

The semantic patch that makes this change is available
in https://lkml.org/lkml/2011/11/25/107

Signed-off-by: Thomas Meyer <thomas at m3y3r.de>
---

diff -u -p a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c
--- a/drivers/gpu/drm/radeon/radeon_gart.c 2011-11-13 11:07:24.266787250 +0100
+++ b/drivers/gpu/drm/radeon/radeon_gart.c 2011-11-28 19:50:09.760213006 +0100
@@ -274,8 +274,8 @@ int radeon_gart_init(struct radeon_devic
 		radeon_gart_fini(rdev);
 		return -ENOMEM;
 	}
-	rdev->gart.ttm_alloced = kzalloc(sizeof(bool) *
-					 rdev->gart.num_cpu_pages, GFP_KERNEL);
+	rdev->gart.ttm_alloced = kcalloc(rdev->gart.num_cpu_pages,
+					 sizeof(bool), GFP_KERNEL);
 	if (rdev->gart.ttm_alloced == NULL) {
 		radeon_gart_fini(rdev);
 		return -ENOMEM;
diff -u -p a/drivers/gpu/drm/radeon/radeon_test.c b/drivers/gpu/drm/radeon/radeon_test.c
--- a/drivers/gpu/drm/radeon/radeon_test.c 2011-11-13 11:07:24.296787724 +0100
+++ b/drivers/gpu/drm/radeon/radeon_test.c 2011-11-28 19:50:16.026995920 +0100
@@ -49,7 +49,7 @@ void radeon_test_moves(struct radeon_dev
 		n -= rdev->ih.ring_size;
 	n /= size;
 
-	gtt_obj = kzalloc(n * sizeof(*gtt_obj), GFP_KERNEL);
+	gtt_obj = kcalloc(n, sizeof(*gtt_obj), GFP_KERNEL);
 	if (!gtt_obj) {
 		DRM_ERROR("Failed to allocate %d pointers\n", n);
 		r = 1;


More information about the dri-devel mailing list