Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sfc: Use kcalloc instead of kzalloc to allocate array

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>

authored by

Thomas Meyer and committed by
David S. Miller
c2e4e25a ddf98e6d

+4 -4
+1 -1
drivers/net/ethernet/sfc/rx.c
··· 669 669 rx_queue->ptr_mask); 670 670 671 671 /* Allocate RX buffers */ 672 - rx_queue->buffer = kzalloc(entries * sizeof(*rx_queue->buffer), 672 + rx_queue->buffer = kcalloc(entries, sizeof(*rx_queue->buffer), 673 673 GFP_KERNEL); 674 674 if (!rx_queue->buffer) 675 675 return -ENOMEM;
+2 -2
drivers/net/ethernet/sfc/selftest.c
··· 503 503 /* Determine how many packets to send */ 504 504 state->packet_count = efx->txq_entries / 3; 505 505 state->packet_count = min(1 << (i << 2), state->packet_count); 506 - state->skbs = kzalloc(sizeof(state->skbs[0]) * 507 - state->packet_count, GFP_KERNEL); 506 + state->skbs = kcalloc(state->packet_count, 507 + sizeof(state->skbs[0]), GFP_KERNEL); 508 508 if (!state->skbs) 509 509 return -ENOMEM; 510 510 state->flush = false;
+1 -1
drivers/net/ethernet/sfc/tx.c
··· 479 479 tx_queue->queue, efx->txq_entries, tx_queue->ptr_mask); 480 480 481 481 /* Allocate software ring */ 482 - tx_queue->buffer = kzalloc(entries * sizeof(*tx_queue->buffer), 482 + tx_queue->buffer = kcalloc(entries, sizeof(*tx_queue->buffer), 483 483 GFP_KERNEL); 484 484 if (!tx_queue->buffer) 485 485 return -ENOMEM;