mirror of https://gitee.com/openkylin/linux.git
ieee802154: 6lowpan: fix non-lowpan wpan interfaces
We receive all 802.15.4 frames on the packet handler "lowpan_rcv" this patch checks if the wpan device belongs to a lowpan interface. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
0751272880
commit
c0015bf3a3
|
@ -67,6 +67,10 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev,
|
|||
struct ieee802154_hdr hdr;
|
||||
int ret;
|
||||
|
||||
if (dev->type != ARPHRD_IEEE802154 ||
|
||||
!dev->ieee802154_ptr->lowpan_dev)
|
||||
goto drop;
|
||||
|
||||
skb = skb_share_check(skb, GFP_ATOMIC);
|
||||
if (!skb)
|
||||
goto drop;
|
||||
|
@ -77,9 +81,6 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev,
|
|||
if (skb->pkt_type == PACKET_OTHERHOST)
|
||||
goto drop_skb;
|
||||
|
||||
if (dev->type != ARPHRD_IEEE802154)
|
||||
goto drop_skb;
|
||||
|
||||
if (ieee802154_hdr_peek_addrs(skb, &hdr) < 0)
|
||||
goto drop_skb;
|
||||
|
||||
|
|
Loading…
Reference in New Issue