[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200818124147.27D1DC43391@smtp.codeaurora.org>
Date: Tue, 18 Aug 2020 12:41:47 +0000 (UTC)
From: Kalle Valo <kvalo@...eaurora.org>
To: Jia-Ju Bai <baijiaju@...nghua.edu.cn>
Cc: chunkeey@...glemail.com, davem@...emloft.net, kuba@...nel.org,
linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, Jia-Ju Bai <baijiaju@...nghua.edu.cn>
Subject: Re: [PATCH] p54: avoid accessing the data mapped to streaming DMA
Jia-Ju Bai <baijiaju@...nghua.edu.cn> wrote:
> In p54p_tx(), skb->data is mapped to streaming DMA on line 337:
> mapping = pci_map_single(..., skb->data, ...);
>
> Then skb->data is accessed on line 349:
> desc->device_addr = ((struct p54_hdr *)skb->data)->req_id;
>
> This access may cause data inconsistency between CPU cache and hardware.
>
> To fix this problem, ((struct p54_hdr *)skb->data)->req_id is stored in
> a local variable before DMA mapping, and then the driver accesses this
> local variable instead of skb->data.
>
> Signed-off-by: Jia-Ju Bai <baijiaju@...nghua.edu.cn>
Can someone review this?
--
https://patchwork.kernel.org/patch/11696391/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Powered by blists - more mailing lists