Re: [PATCH] atm: eni: avoid accessing the data mapped to streaming DMA

From: David Miller
Date: Mon Aug 03 2020 - 18:51:41 EST


From: Jia-Ju Bai <baijiaju@xxxxxxxxxxxxxxx>
Date: Sun, 2 Aug 2020 17:16:11 +0800

> In do_tx(), skb->data is mapped to streaming DMA on line 1111:
> paddr = dma_map_single(...,skb->data,DMA_TO_DEVICE);
>
> Then skb->data is accessed on line 1153:
> (skb->data[3] & 0xf)
>
> This access may cause data inconsistency between CPU cache and hardware.
>
> To fix this problem, skb->data[3] is assigned to a local variable before
> DMA mapping, and then the driver accesses this local variable instead of
> skb->data[3].
>
> Signed-off-by: Jia-Ju Bai <baijiaju@xxxxxxxxxxxxxxx>

Applied.