Patch "ath11k: fix missing skb drop on htc_tx_completion error" has been added to the 5.19-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ath11k: fix missing skb drop on htc_tx_completion error

to the 5.19-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ath11k-fix-missing-skb-drop-on-htc_tx_completion-err.patch
and it can be found in the queue-5.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 63dc57d611967d0ab13055aa2be00b211b3ecbcd
Author: Christian Marangi <ansuelsmth@xxxxxxxxx>
Date:   Sat May 28 16:25:16 2022 +0200

    ath11k: fix missing skb drop on htc_tx_completion error
    
    [ Upstream commit e5646fe3b7ef739c392e59da7db6adf5e1fdef42 ]
    
    On htc_tx_completion error the skb is not dropped. This is wrong since
    the completion_handler logic expect the skb to be consumed anyway even
    when an error is triggered. Not freeing the skb on error is a memory
    leak since the skb won't be freed anywere else. Correctly free the
    packet on eid >= ATH11K_HTC_EP_COUNT before returning.
    
    Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
    
    Fixes: f951380a6022 ("ath11k: Disabling credit flow for WMI path")
    Signed-off-by: Christian 'Ansuel' Marangi <ansuelsmth@xxxxxxxxx>
    Reviewed-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>
    Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20220528142516.20819-2-ansuelsmth@xxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/ath/ath11k/htc.c b/drivers/net/wireless/ath/ath11k/htc.c
index 069c29a4fac7..ca3aedc0252d 100644
--- a/drivers/net/wireless/ath/ath11k/htc.c
+++ b/drivers/net/wireless/ath/ath11k/htc.c
@@ -258,8 +258,10 @@ void ath11k_htc_tx_completion_handler(struct ath11k_base *ab,
 	u8 eid;
 
 	eid = ATH11K_SKB_CB(skb)->eid;
-	if (eid >= ATH11K_HTC_EP_COUNT)
+	if (eid >= ATH11K_HTC_EP_COUNT) {
+		dev_kfree_skb_any(skb);
 		return;
+	}
 
 	ep = &htc->endpoint[eid];
 	spin_lock_bh(&htc->tx_lock);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux