drivers/net : Correct the size argument to kzalloc
authorJulia Lawall <julia@diku.dk>
Tue, 29 Dec 2009 09:15:42 +0000 (09:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Jan 2010 05:42:51 +0000 (21:42 -0800)
lp->rx_skb has type struct sk_buff **, not struct sk_buff *, so the
elements of the array should have pointer type, not structure type.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@disable sizeof_type_expr@
type T;
T **x;
@@

  x =
  <+...sizeof(
- T
+ *x
  )...+>
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ll_temac_main.c

index 336e7c7a9275bd62c861987901db18bf9ff3d53d..a8522bd73ae725c18817ec65b272bcc9aacf40b1 100644 (file)
@@ -134,7 +134,7 @@ static int temac_dma_bd_init(struct net_device *ndev)
        struct sk_buff *skb;
        int i;
 
-       lp->rx_skb = kzalloc(sizeof(struct sk_buff)*RX_BD_NUM, GFP_KERNEL);
+       lp->rx_skb = kzalloc(sizeof(*lp->rx_skb) * RX_BD_NUM, GFP_KERNEL);
        /* allocate the tx and rx ring buffer descriptors. */
        /* returns a virtual addres and a physical address. */
        lp->tx_bd_v = dma_alloc_coherent(ndev->dev.parent,