Commit 01e23742 authored by Thomas Meyer's avatar Thomas Meyer Committed by David S. Miller

bnx2x: 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/107Signed-off-by: default avatarThomas Meyer <thomas@m3y3r.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fdf5af0d
...@@ -3300,14 +3300,14 @@ int __devinit bnx2x_alloc_mem_bp(struct bnx2x *bp) ...@@ -3300,14 +3300,14 @@ int __devinit bnx2x_alloc_mem_bp(struct bnx2x *bp)
msix_table_size = bp->igu_sb_cnt + 1; msix_table_size = bp->igu_sb_cnt + 1;
/* fp array: RSS plus CNIC related L2 queues */ /* fp array: RSS plus CNIC related L2 queues */
fp = kzalloc((BNX2X_MAX_RSS_COUNT(bp) + NON_ETH_CONTEXT_USE) * fp = kcalloc(BNX2X_MAX_RSS_COUNT(bp) + NON_ETH_CONTEXT_USE,
sizeof(*fp), GFP_KERNEL); sizeof(*fp), GFP_KERNEL);
if (!fp) if (!fp)
goto alloc_err; goto alloc_err;
bp->fp = fp; bp->fp = fp;
/* msix table */ /* msix table */
tbl = kzalloc(msix_table_size * sizeof(*tbl), GFP_KERNEL); tbl = kcalloc(msix_table_size, sizeof(*tbl), GFP_KERNEL);
if (!tbl) if (!tbl)
goto alloc_err; goto alloc_err;
bp->msix_table = tbl; bp->msix_table = tbl;
......
...@@ -3342,7 +3342,7 @@ static inline int bnx2x_mcast_refresh_registry_e1(struct bnx2x *bp, ...@@ -3342,7 +3342,7 @@ static inline int bnx2x_mcast_refresh_registry_e1(struct bnx2x *bp,
if (!list_empty(&o->registry.exact_match.macs)) if (!list_empty(&o->registry.exact_match.macs))
return 0; return 0;
elem = kzalloc(sizeof(*elem)*len, GFP_ATOMIC); elem = kcalloc(len, sizeof(*elem), GFP_ATOMIC);
if (!elem) { if (!elem) {
BNX2X_ERR("Failed to allocate registry memory\n"); BNX2X_ERR("Failed to allocate registry memory\n");
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment