diff mbox series

wireless: ath10k: Fix a use after free in ath10k_htc_send_bundle

Message ID 20210329120154.8963-1-lyl2019@mail.ustc.edu.cn
State Deferred
Delegated to: Kalle Valo
Headers show
Series wireless: ath10k: Fix a use after free in ath10k_htc_send_bundle | expand

Commit Message

Lv Yunlong March 29, 2021, 12:01 p.m. UTC
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>
---
 drivers/net/wireless/ath/ath10k/htc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lv Yunlong April 13, 2021, 4:15 p.m. UTC | #1
Hi, maintainers of kerenl.

    I submitted this patch two weeks ago, but it still hasn't been reviewed.
    Could you help to review this patch? It will not take you much time.

Thank you very much.

> -----原始邮件-----
> 发件人: "Lv Yunlong" <lyl2019@mail.ustc.edu.cn>
> 发送时间: 2021-03-29 20:01:54 (星期一)
> 收件人: kvalo@codeaurora.org, davem@davemloft.net, kuba@kernel.org
> 抄送: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "Lv Yunlong" <lyl2019@mail.ustc.edu.cn>
> 主题: [PATCH] wireless: 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>
> ---
>  drivers/net/wireless/ath/ath10k/htc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/ath10k/htc.c b/drivers/net/wireless/ath/ath10k/htc.c
> index 0a37be6a7d33..fab398046a3f 100644
> --- a/drivers/net/wireless/ath/ath10k/htc.c
> +++ b/drivers/net/wireless/ath/ath10k/htc.c
> @@ -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;
>  }
>  
> -- 
> 2.25.1
>
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath10k/htc.c b/drivers/net/wireless/ath/ath10k/htc.c
index 0a37be6a7d33..fab398046a3f 100644
--- a/drivers/net/wireless/ath/ath10k/htc.c
+++ b/drivers/net/wireless/ath/ath10k/htc.c
@@ -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;
 }