Patch "wifi: ath12k: change DMA direction while mapping reinjected packets" has been added to the 6.10-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

    wifi: ath12k: change DMA direction while mapping reinjected packets

to the 6.10-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:
     wifi-ath12k-change-dma-direction-while-mapping-reinj.patch
and it can be found in the queue-6.10 subdirectory.

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



commit 99329f18b6f1394f2ee34c7061ac664d85b4356e
Author: P Praneesh <quic_ppranees@xxxxxxxxxxx>
Date:   Mon May 20 12:30:43 2024 +0530

    wifi: ath12k: change DMA direction while mapping reinjected packets
    
    [ Upstream commit 33322e3ef07409278a18c6919c448e369d66a18e ]
    
    For fragmented packets, ath12k reassembles each fragment as a normal
    packet and then reinjects it into HW ring. In this case, the DMA
    direction should be DMA_TO_DEVICE, not DMA_FROM_DEVICE. Otherwise,
    an invalid payload may be reinjected into the HW and
    subsequently delivered to the host.
    
    Given that arbitrary memory can be allocated to the skb buffer,
    knowledge about the data contained in the reinjected buffer is lacking.
    Consequently, there’s a risk of private information being leaked.
    
    Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.1.1-00209-QCAHKSWPL_SILICONZ-1
    
    Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
    Co-developed-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>
    Signed-off-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>
    Signed-off-by: P Praneesh <quic_ppranees@xxxxxxxxxxx>
    Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>
    Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx>
    Link: https://msgid.link/20240520070045.631029-2-quic_ppranees@xxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/ath/ath12k/dp_rx.c b/drivers/net/wireless/ath/ath12k/dp_rx.c
index e5fb5cb000f04..37e5bca9570fe 100644
--- a/drivers/net/wireless/ath/ath12k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath12k/dp_rx.c
@@ -3030,7 +3030,7 @@ static int ath12k_dp_rx_h_defrag_reo_reinject(struct ath12k *ar,
 
 	buf_paddr = dma_map_single(ab->dev, defrag_skb->data,
 				   defrag_skb->len + skb_tailroom(defrag_skb),
-				   DMA_FROM_DEVICE);
+				   DMA_TO_DEVICE);
 	if (dma_mapping_error(ab->dev, buf_paddr))
 		return -ENOMEM;
 
@@ -3116,7 +3116,7 @@ static int ath12k_dp_rx_h_defrag_reo_reinject(struct ath12k *ar,
 	spin_unlock_bh(&dp->rx_desc_lock);
 err_unmap_dma:
 	dma_unmap_single(ab->dev, buf_paddr, defrag_skb->len + skb_tailroom(defrag_skb),
-			 DMA_FROM_DEVICE);
+			 DMA_TO_DEVICE);
 	return ret;
 }
 




[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