summaryrefslogtreecommitdiff
path: root/net/mac802154/monitor.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-06-11 12:11:25 -0700
committerDavid S. Miller <davem@davemloft.net>2014-06-11 12:11:25 -0700
commit9181a6bd18009bf417bc865fd862075c335cc1dd (patch)
treebad4e444da804759fe1d8f91d4a940cdcb4ca1fb /net/mac802154/monitor.c
parentd5c4858237fe43c30714f4447ccec87d5fb3fcde (diff)
parent2d3b5b0a90e5370ad13ca98d95519c3e41d2c925 (diff)
Merge branch 'mac802154'
Phoebe Buckheister says: ==================== Recent llsec code introduced a memory leak on decryption failures during rx. This fixes said leak, and optimizes the receive loops for monitor and wpan devices to only deliver skbs to devices that are actually up. Also changes a dev_kfree_skb to kfree_skb when an invalid packet is dropped before being pushed into the stack. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac802154/monitor.c')
-rw-r--r--net/mac802154/monitor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac802154/monitor.c b/net/mac802154/monitor.c
index 434a26f76a80..a68230e2b25f 100644
--- a/net/mac802154/monitor.c
+++ b/net/mac802154/monitor.c
@@ -70,7 +70,8 @@ void mac802154_monitors_rx(struct mac802154_priv *priv, struct sk_buff *skb)
rcu_read_lock();
list_for_each_entry_rcu(sdata, &priv->slaves, list) {
- if (sdata->type != IEEE802154_DEV_MONITOR)
+ if (sdata->type != IEEE802154_DEV_MONITOR ||
+ !netif_running(sdata->dev))
continue;
skb2 = skb_clone(skb, GFP_ATOMIC);