mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
In rtl92ce_tx_fill_cmddesc(), skb->data is mapped to streaming DMA on line 530: dma_addr_t mapping = dma_map_single(..., skb->data, ...); On line 533, skb->data is assigned to hdr after cast: struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data); Then hdr->frame_control is accessed on line 534: __le16 fc = hdr->frame_control; This DMA access may cause data inconsistency between CPU and hardwre. To fix this bug, hdr->frame_control is accessed before the DMA mapping. Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20201119015151.12110-1-baijiaju1990@gmail.com |
||
|---|---|---|
| .. | ||
| def.h | ||
| dm.c | ||
| dm.h | ||
| hw.c | ||
| hw.h | ||
| led.c | ||
| led.h | ||
| Makefile | ||
| phy.c | ||
| phy.h | ||
| reg.h | ||
| rf.c | ||
| rf.h | ||
| sw.c | ||
| table.c | ||
| table.h | ||
| trx.c | ||
| trx.h | ||