mac80211: check and dequeue skb in ieee80211_tx_prepare_skb()
authorJohannes Berg <johannes.berg@intel.com>
Sun, 1 Mar 2015 07:10:12 +0000 (09:10 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 4 Mar 2015 09:34:11 +0000 (10:34 +0100)
commit88724a81b4ac2a755bf9c532cdbee08a52803852
tree7c73b370322b85288b70dd3a8313bd10f27b8657
parent0b4e11074a933937ee75be371d32bf91a0051419
mac80211: check and dequeue skb in ieee80211_tx_prepare_skb()

The ieee80211_tx_prepare_skb() function currently entirely ignores
the fact that the SKB that is passed in might be split into more
than one due to fragmentation and doesn't check the list of skbs
that the TX handlers may create. In case this happens, it would
leak them.

Fix this and also don't leave the skb next/prev pointers dangling
pointing to the on-stack sk_buff_head.

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