OpenCloudOS-Kernel/drivers/net/wireless/intersil/p54
Jia-Ju Bai 478762855b p54: avoid accessing the data mapped to streaming DMA
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.

Cc: <stable@vger.kernel.org>
Signed-off-by: Jia-Ju Bai <baijiaju@tsinghua.edu.cn>
Acked-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200802132949.26788-1-baijiaju@tsinghua.edu.cn
2020-09-01 12:33:48 +03:00
..
Kconfig intersil: fix wiki website url 2020-08-02 18:23:21 +03:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
eeprom.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
eeprom.h p54: Replace zero-length array with flexible-array member 2020-03-23 19:01:13 +02:00
fwio.c intersil: fix wiki website url 2020-08-02 18:23:21 +03:00
led.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lmac.h p54: Replace zero-length array with flexible-array member 2020-03-23 19:01:13 +02:00
main.c wireless-drivers-next patches for 5.3 2019-06-26 10:12:17 -07:00
p54.h p54: Replace zero-length array with flexible-array member 2020-03-23 19:01:13 +02:00
p54pci.c p54: avoid accessing the data mapped to streaming DMA 2020-09-01 12:33:48 +03:00
p54pci.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
p54spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
p54spi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
p54spi_eeprom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
p54usb.c intersil: fix wiki website url 2020-08-02 18:23:21 +03:00
p54usb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
txrx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2019-07-11 10:55:49 -07:00