Skip to contentSkip to conversation

mac80211: fix memory leak when defraging packets

PATCH New John W. Linville 1 participant 1 message May 17, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mac80211: fix memory leak when defraging packets

From: Hong Liu <[email protected]>

We forget to free all the fragments when defraging them into one packet.

---

 net/mac80211/ieee80211.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
net/mac80211/ieee80211.c +3 -1
index 873ccb0..ed86804 100644
@@ -3412,8 +3412,10 @@ ieee80211_rx_h_defragment(struct ieee80211_txrx_data *rx)
 			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);
+		dev_kfree_skb(skb);
+	}
 
 	/* Complete frame has been reassembled - process it now */
 	rx->fragmented = 1;