mac802154: account for all header parts during wpan header creationg
authorPhoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
Wed, 14 May 2014 15:43:07 +0000 (17:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 May 2014 19:51:42 +0000 (15:51 -0400)
The current WPAN header creation code checks for EMSGSIZE conditions,
but does not account for the MIC field that link layer security may add
at the end of the frame. Now that we can accurately calculate the
maximum payload size of packets, use that to check for EMSGSIZE
conditions.

Signed-off-by: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mac802154/wpan.c

index 1df7a6a573865b4add87261300cc1d7ff01fa243..cb34064d05f6197bffeedbac12daa4e804546c7b 100644 (file)
@@ -231,7 +231,7 @@ static int mac802154_header_create(struct sk_buff *skb,
        skb_reset_mac_header(skb);
        skb->mac_len = hlen;
 
-       if (hlen + len + 2 > dev->mtu)
+       if (len > ieee802154_max_payload(&hdr))
                return -EMSGSIZE;
 
        return hlen;