wpan: use stack buffer instead of heap
authorAlexander Aring <alex.aring@gmail.com>
Tue, 5 Feb 2013 10:23:44 +0000 (10:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Feb 2013 20:56:17 +0000 (15:56 -0500)
head buffer is only temporary available in mac802154_header_create.
So it's not necessary to put it on the heap.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mac802154/wpan.c

index 98c867bca9861203167c7d3d4f2a8e8cf63a191e..d20c6d3c247db1b15036977e585e9e039829f3f9 100644 (file)
@@ -137,16 +137,12 @@ static int mac802154_header_create(struct sk_buff *skb,
        struct ieee802154_addr dev_addr;
        struct mac802154_sub_if_data *priv = netdev_priv(dev);
        int pos = 2;
-       u8 *head;
+       u8 head[MAC802154_FRAME_HARD_HEADER_LEN];
        u16 fc;
 
        if (!daddr)
                return -EINVAL;
 
-       head = kzalloc(MAC802154_FRAME_HARD_HEADER_LEN, GFP_KERNEL);
-       if (head == NULL)
-               return -ENOMEM;
-
        head[pos++] = mac_cb(skb)->seq; /* DSN/BSN */
        fc = mac_cb_type(skb);
 
@@ -210,7 +206,6 @@ static int mac802154_header_create(struct sk_buff *skb,
        head[1] = fc >> 8;
 
        memcpy(skb_push(skb, pos), head, pos);
-       kfree(head);
 
        return pos;
 }