diff options
author | Minsuk Kang <linuxlovemin@yonsei.ac.kr> | 2023-11-22 20:31:04 +0200 |
---|---|---|
committer | Kalle Valo <quic_kvalo@quicinc.com> | 2023-11-29 13:28:29 +0200 |
commit | 2adc886244dff60f948497b59affb6c6ebb3c348 (patch) | |
tree | 8699dfda35a33ed2d2b929786edc17e641e7da3d /drivers/net/wireless/ath/ath12k/peer.h | |
parent | d6e71dd1e49e740d4bb0725cd802dab9008cd394 (diff) |
wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus()
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
Diffstat (limited to 'drivers/net/wireless/ath/ath12k/peer.h')
0 files changed, 0 insertions, 0 deletions