Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ath10k: Fix a use after free in ath10k_htc_send_bundle

In ath10k_htc_send_bundle, the bundle_skb could be freed by
dev_kfree_skb_any(bundle_skb). But the bundle_skb is used later
by bundle_skb->len.

As skb_len = bundle_skb->len, my patch replaces bundle_skb->len to
skb_len after the bundle_skb was freed.

Fixes: c8334512f3dd1 ("ath10k: add htt TX bundle for sdio")
Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210329120154.8963-1-lyl2019@mail.ustc.edu.cn

authored by

Lv Yunlong and committed by
Kalle Valo
8392df5d 7dd9a40f

+1 -1
+1 -1
drivers/net/wireless/ath/ath10k/htc.c
··· 669 669 670 670 ath10k_dbg(ar, ATH10K_DBG_HTC, 671 671 "bundle tx status %d eid %d req count %d count %d len %d\n", 672 - ret, ep->eid, skb_queue_len(&ep->tx_req_head), cn, bundle_skb->len); 672 + ret, ep->eid, skb_queue_len(&ep->tx_req_head), cn, skb_len); 673 673 return ret; 674 674 } 675 675