mac80211: fix TX error path
authorJohannes Berg <johannes.berg@intel.com>
Wed, 7 Nov 2012 13:02:30 +0000 (14:02 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 7 Nov 2012 17:01:54 +0000 (18:01 +0100)
One error path in ieee80211_subif_start_xmit() will
double-free the SKB. Set it to NULL to prevent that.

This issue was introduced by my channel context
changes.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/tx.c

index 065f81cb5618389801abb9c4fb5fa9b4bb01250d..b5468876287e752f93600ec6b06e30f8f9a190c5 100644 (file)
@@ -2089,6 +2089,7 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
                head_need = max_t(int, 0, head_need);
                if (ieee80211_skb_resize(sdata, skb, head_need, true)) {
                        ieee80211_free_txskb(&local->hw, skb);
+                       skb = NULL;
                        goto fail_rcu;
                }
        }