[PATCH] IB/qib: Use kcalloc instead of kzalloc to allocate array

From: Thomas Meyer
Date: Sat Dec 10 2011 - 07:51:20 EST


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@xxxxxxxx>
---

diff -u -p a/drivers/infiniband/hw/qib/qib_init.c b/drivers/infiniband/hw/qib/qib_init.c
--- a/drivers/infiniband/hw/qib/qib_init.c 2011-11-13 11:07:26.730159415 +0100
+++ b/drivers/infiniband/hw/qib/qib_init.c 2011-11-28 19:51:23.644920442 +0100
@@ -116,7 +116,7 @@ int qib_create_ctxts(struct qib_devdata
* Allocate full ctxtcnt array, rather than just cfgctxts, because
* cleanup iterates across all possible ctxts.
*/
- dd->rcd = kzalloc(sizeof(*dd->rcd) * dd->ctxtcnt, GFP_KERNEL);
+ dd->rcd = kcalloc(dd->ctxtcnt, sizeof(*dd->rcd), GFP_KERNEL);
if (!dd->rcd) {
qib_dev_err(dd, "Unable to allocate ctxtdata array, "
"failing\n");
@@ -1435,9 +1435,8 @@ int qib_setup_eagerbufs(struct qib_ctxtd
egrperchunk = rcd->rcvegrbufs_perchunk;
size = rcd->rcvegrbuf_size;
if (!rcd->rcvegrbuf) {
- rcd->rcvegrbuf =
- kzalloc(chunk * sizeof(rcd->rcvegrbuf[0]),
- GFP_KERNEL);
+ rcd->rcvegrbuf = kcalloc(chunk, sizeof(rcd->rcvegrbuf[0]),
+ GFP_KERNEL);
if (!rcd->rcvegrbuf)
goto bail;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/