ieee802154: 6lowpan: trivial checks at first

This patch moves some trivial checks at first before calling
skb_share_check which could do some memcpy if the buffer is shared.

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Alexander Aring 2015-09-02 14:21:23 +02:00 committed by Marcel Holtmann
parent ad23d5b9da
commit 742c3afe53

View File

@ -63,7 +63,8 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *wdev,
struct net_device *ldev;
int ret;
if (wdev->type != ARPHRD_IEEE802154)
if (wdev->type != ARPHRD_IEEE802154 ||
skb->pkt_type == PACKET_OTHERHOST)
goto drop;
ldev = wdev->ieee802154_ptr->lowpan_dev;
@ -74,9 +75,6 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *wdev,
if (!skb)
goto drop;
if (skb->pkt_type == PACKET_OTHERHOST)
goto drop_skb;
if (ieee802154_hdr_peek_addrs(skb, &hdr) < 0)
goto drop_skb;