summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorLior David <liord@codeaurora.org>2018-10-31 10:52:14 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-02-12 19:46:57 +0100
commit3e5bffa5371d22842c135608605e3bb4f55ffbf0 (patch)
treee3b98d813d2cfa09d02dcd05a28c3e34e7f4f813 /drivers/net/wireless
parent8edf1df19ca1159c5b19d956cc413d5f4dd1a703 (diff)
downloadlinux-stable-3e5bffa5371d22842c135608605e3bb4f55ffbf0.tar.gz
linux-stable-3e5bffa5371d22842c135608605e3bb4f55ffbf0.tar.bz2
linux-stable-3e5bffa5371d22842c135608605e3bb4f55ffbf0.zip
wil6210: fix memory leak in wil_find_tx_bcast_2
[ Upstream commit 664497400c89a4d40aee51bcf48bbd2e4dc71104 ] A successful call to wil_tx_ring takes skb reference so it will only be freed in wil_tx_complete. Consume the skb in wil_find_tx_bcast_2 to prevent memory leak. Signed-off-by: Lior David <liord@codeaurora.org> Signed-off-by: Maya Erez <merez@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/wil6210/txrx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c
index 6a7943e487fb..75c8aa297107 100644
--- a/drivers/net/wireless/ath/wil6210/txrx.c
+++ b/drivers/net/wireless/ath/wil6210/txrx.c
@@ -1313,6 +1313,8 @@ found:
wil_dbg_txrx(wil, "BCAST DUP -> ring %d\n", i);
wil_set_da_for_vring(wil, skb2, i);
wil_tx_ring(wil, vif, v2, skb2);
+ /* successful call to wil_tx_ring takes skb2 ref */
+ dev_kfree_skb_any(skb2);
} else {
wil_err(wil, "skb_copy failed\n");
}