Commit e8fdeca2 authored by Hong Liu's avatar Hong Liu Committed by John W. Linville

[PATCH] mac80211: fix memory leak when defrag fragments

We forget to free all the fragments when defraging them into one packet.
Signed-off-by: default avatarHong Liu <hong.liu@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f11b0f0e
...@@ -3278,8 +3278,10 @@ ieee80211_rx_h_defragment(struct ieee80211_txrx_data *rx) ...@@ -3278,8 +3278,10 @@ ieee80211_rx_h_defragment(struct ieee80211_txrx_data *rx)
return TXRX_DROP; return TXRX_DROP;
} }
} }
while ((skb = __skb_dequeue(&entry->skb_list))) while ((skb = __skb_dequeue(&entry->skb_list))) {
memcpy(skb_put(rx->skb, skb->len), skb->data, skb->len); memcpy(skb_put(rx->skb, skb->len), skb->data, skb->len);
dev_kfree_skb(skb);
}
/* Complete frame has been reassembled - process it now */ /* Complete frame has been reassembled - process it now */
rx->fragmented = 1; rx->fragmented = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment