diff options
author | David S. Miller <davem@davemloft.net> | 2014-06-11 12:11:25 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-11 12:11:25 -0700 |
commit | 9181a6bd18009bf417bc865fd862075c335cc1dd (patch) | |
tree | bad4e444da804759fe1d8f91d4a940cdcb4ca1fb /net/mac802154/monitor.c | |
parent | d5c4858237fe43c30714f4447ccec87d5fb3fcde (diff) | |
parent | 2d3b5b0a90e5370ad13ca98d95519c3e41d2c925 (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.c | 3 |
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); |