sfc: Use kcalloc instead of kzalloc to allocate array
authorThomas Meyer <thomas@m3y3r.de>
Fri, 2 Dec 2011 12:36:13 +0000 (12:36 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 Dec 2011 06:32:06 +0000 (01:32 -0500)
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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/rx.c
drivers/net/ethernet/sfc/selftest.c
drivers/net/ethernet/sfc/tx.c

index 752d521c09b1a15400ada2d8ce6fce786f1c42c9..955b14956deb4fa1abcdf6c7d9b599b07d8be41e 100644 (file)
@@ -669,7 +669,7 @@ int efx_probe_rx_queue(struct efx_rx_queue *rx_queue)
                  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;
index 822f6c2a6a7c1dee37d4809508ae23e015e9129a..52edd24fcde388cfc690e6ca1fe27bae0f20e32a 100644 (file)
@@ -503,8 +503,8 @@ efx_test_loopback(struct efx_tx_queue *tx_queue,
                /* 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;
index e0e00b3d6a827a556bc147a2dcffb6b266197143..72f0fbc73b1abb08cd514e012d41d0bce5e8d675 100644 (file)
@@ -479,7 +479,7 @@ int efx_probe_tx_queue(struct efx_tx_queue *tx_queue)
                  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;