]> www.infradead.org Git - users/willy/xarray.git/commitdiff
ath10k: Fix a use after free in ath10k_htc_send_bundle
authorLv Yunlong <lyl2019@mail.ustc.edu.cn>
Mon, 29 Mar 2021 12:01:54 +0000 (05:01 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 22 Apr 2021 13:53:35 +0000 (16:53 +0300)
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
drivers/net/wireless/ath/ath10k/htc.c

index 0a37be6a7d33d677c150ca0e6dac7d7a62335d00..fab398046a3f231c38b20e60d771f3548ddaba57 100644 (file)
@@ -669,7 +669,7 @@ static int ath10k_htc_send_bundle(struct ath10k_htc_ep *ep,
 
        ath10k_dbg(ar, ATH10K_DBG_HTC,
                   "bundle tx status %d eid %d req count %d count %d len %d\n",
-                  ret, ep->eid, skb_queue_len(&ep->tx_req_head), cn, bundle_skb->len);
+                  ret, ep->eid, skb_queue_len(&ep->tx_req_head), cn, skb_len);
        return ret;
 }