aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac802154
diff options
context:
space:
mode:
authorMartin Townsend <martin.townsend@xsilon.com>2014-08-19 19:03:30 +0200
committerMarcel Holtmann <marcel@holtmann.org>2014-08-19 19:17:41 +0200
commit6e361d6ffee322fcd092d97720e05032ffb98ae6 (patch)
treef11a83d7b9f93c22ee8dee403ce3411a9cde24a9 /net/mac802154
parentieee802154: 6lowpan_rtnl: fix correct errno value (diff)
downloadlinux-dev-6e361d6ffee322fcd092d97720e05032ffb98ae6.tar.xz
linux-dev-6e361d6ffee322fcd092d97720e05032ffb98ae6.zip
ieee802154: mac802154: handle the reserved dest mode by dropping the packet
If received frame contains the reserved destination address mode. The frame should be dropped and free the skb. Signed-off-by: Martin Townsend <martin.townsend@xsilon.com> Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/mac802154')
-rw-r--r--net/mac802154/wpan.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac802154/wpan.c b/net/mac802154/wpan.c
index 4c133239ad39..547838822d5e 100644
--- a/net/mac802154/wpan.c
+++ b/net/mac802154/wpan.c
@@ -462,7 +462,10 @@ mac802154_subif_frame(struct mac802154_sub_if_data *sdata, struct sk_buff *skb,
skb->pkt_type = PACKET_OTHERHOST;
break;
default:
- break;
+ spin_unlock_bh(&sdata->mib_lock);
+ pr_debug("invalid dest mode\n");
+ kfree_skb(skb);
+ return NET_RX_DROP;
}
spin_unlock_bh(&sdata->mib_lock);