* [PATCH] drm/radeon: Use kcalloc instead of kzalloc to allocate array
@ 2011-11-29 21:08 Thomas Meyer
0 siblings, 0 replies; only message in thread
From: Thomas Meyer @ 2011-11-29 21:08 UTC (permalink / raw)
To: airlied, dri-devel, linux-kernel
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@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;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2011-11-29 21:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-29 21:08 [PATCH] drm/radeon: Use kcalloc instead of kzalloc to allocate array Thomas Meyer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox