]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mt76: mt7615: fix memory leak in mt7615_coredump_work
authorLorenzo Bianconi <lorenzo@kernel.org>
Fri, 19 Feb 2021 17:22:11 +0000 (18:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 May 2021 08:52:51 +0000 (10:52 +0200)
[ Upstream commit 49cc85059a2cb656f96ff3693f891e8fe8f669a9 ]

Similar to the issue fixed in mt7921_coredump_work, fix a possible memory
leak in mt7615_coredump_work routine.

Fixes: d2bf7959d9c0f ("mt76: mt7663: introduce coredump support")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt7615/mac.c

index 1abfd58e8f4965d049855975dbdd82ca75a25c0d..b313442b2d9e250e4cda18f1d56fe6fcd239ce1c 100644 (file)
@@ -2308,8 +2308,10 @@ void mt7615_coredump_work(struct work_struct *work)
                        break;
 
                skb_pull(skb, sizeof(struct mt7615_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;