sfc: Use kcalloc instead of kzalloc to allocate array

Started by Thomas Meyer on Dec 3, 2011

DORMANTno replies

open the first message on its own page

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 <redacted>
---

diff -u -p a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c
--- a/drivers/net/ethernet/sfc/rx.c 2011-11-13 11:07:36.306977044 +0100
+++ b/drivers/net/ethernet/sfc/rx.c 2011-11-28 19:53:10.346917167 +0100
@@ -669,7 +669,7 @@ int efx_probe_rx_queue(struct efx_rx_que
 		  rx_queue->ptr_mask);
 
 	/* Allocate RX buffers */
-	rx_queue->buffer = kzalloc(entries * sizeof(*rx_queue->buffer),
+	rx_queue->buffer = kcalloc(entries, sizeof(*rx_queue->buffer),
 				   GFP_KERNEL);
 	if (!rx_queue->buffer)
 		return -ENOMEM;
diff -u -p a/drivers/net/ethernet/sfc/selftest.c b/drivers/net/ethernet/sfc/selftest.c
--- a/drivers/net/ethernet/sfc/selftest.c 2011-11-13 11:07:36.306977044 +0100
+++ b/drivers/net/ethernet/sfc/selftest.c 2011-11-28 19:53:09.640237232 +0100
@@ -503,8 +503,8 @@ efx_test_loopback(struct efx_tx_queue *t
 		/* Determine how many packets to send */
 		state->packet_count = efx->txq_entries / 3;
 		state->packet_count = min(1 << (i << 2), state->packet_count);
-		state->skbs = kzalloc(sizeof(state->skbs[0]) *
-				      state->packet_count, GFP_KERNEL);
+		state->skbs = kcalloc(state->packet_count,
+				      sizeof(state->skbs[0]), GFP_KERNEL);
 		if (!state->skbs)
 			return -ENOMEM;
 		state->flush = false;
diff -u -p a/drivers/net/ethernet/sfc/tx.c b/drivers/net/ethernet/sfc/tx.c
--- a/drivers/net/ethernet/sfc/tx.c 2011-11-13 11:07:36.313643816 +0100
+++ b/drivers/net/ethernet/sfc/tx.c 2011-11-28 19:53:08.056874176 +0100
@@ -468,7 +468,7 @@ int efx_probe_tx_queue(struct efx_tx_que
 		  tx_queue->queue, efx->txq_entries, tx_queue->ptr_mask);
 
 	/* Allocate software ring */
-	tx_queue->buffer = kzalloc(entries * sizeof(*tx_queue->buffer),
+	tx_queue->buffer = kcalloc(entries, sizeof(*tx_queue->buffer),
 				   GFP_KERNEL);
 	if (!tx_queue->buffer)
 		return -ENOMEM;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help