595302a9f7
[ Upstream commit 2adc886244dff60f948497b59affb6c6ebb3c348 ] Fix an array-index-out-of-bounds read in ath9k_htc_txstatus(). The bug occurs when txs->cnt, data from a URB provided by a USB device, is bigger than the size of the array txs->txstatus, which is HTC_MAX_TX_STATUS. WARN_ON() already checks it, but there is no bug handling code after the check. Make the function return if that is the case. Found by a modified version of syzkaller. UBSAN: array-index-out-of-bounds in htc_drv_txrx.c index 13 is out of range for type '__wmi_event_txstatus [12]' Call Trace: ath9k_htc_txstatus ath9k_wmi_event_tasklet tasklet_action_common __do_softirq irq_exit_rxu sysvec_apic_timer_interrupt Signed-off-by: Minsuk Kang <linuxlovemin@yonsei.ac.kr> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20231113065756.1491991-1-linuxlovemin@yonsei.ac.kr Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
admtek | ||
ath | ||
atmel | ||
broadcom | ||
cisco | ||
cnss2 | ||
cnss_genl | ||
cnss_prealloc | ||
cnss_utils | ||
intel | ||
intersil | ||
marvell | ||
mediatek | ||
microchip | ||
qualcomm/qca6490 | ||
quantenna | ||
ralink | ||
realtek | ||
rsi | ||
scsc | ||
st | ||
ti | ||
zydas | ||
Kconfig | ||
mac80211_hwsim.c | ||
mac80211_hwsim.h | ||
Makefile | ||
ray_cs.c | ||
ray_cs.h | ||
rayctl.h | ||
rndis_wlan.c | ||
virt_wifi.c | ||
wl3501.h | ||
wl3501_cs.c |