OSDN Git Service

mt76: mt7921: fix memory leak in mt7921_coredump_work
authorSean Wang <sean.wang@mediatek.com>
Fri, 19 Feb 2021 17:28:45 +0000 (18:28 +0100)
committerFelix Fietkau <nbd@nbd.name>
Sun, 11 Apr 2021 22:01:20 +0000 (00:01 +0200)
Fix possible memory leak in mt7921_coredump_work.

Fixes: 1c099ab44727c ("mt76: mt7921: add MCU support")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/mac.c

index 9468c9c..8befa81 100644 (file)
@@ -1503,8 +1503,10 @@ void mt7921_coredump_work(struct work_struct *work)
                        break;
 
                skb_pull(skb, sizeof(struct mt7921_mcu_rxd));
-               if (data + skb->len - dump > MT76_CONNAC_COREDUMP_SZ)
-                       break;
+               if (data + skb->len - dump > MT76_CONNAC_COREDUMP_SZ) {
+                       dev_kfree_skb(skb);
+                       continue;
+               }
 
                memcpy(data, skb->data, skb->len);
                data += skb->len;