linux/drivers/net/wireless/mediatek/mt76
Lorenzo Bianconi 7c250f4612 mt76: fix potential NULL pointer dereference in mt76_stop_tx_queues
Starting from mac80211 commit adf8ed01e4 ("mac80211: add an optional
TXQ for other PS-buffered frames") and commit 0eeb2b674f ("mac80211:
add an option for station management TXQ") a new per-sta queue has been
introduced for bufferable management frames.
sta->txq[IEEE80211_NUM_TIDS] is initialized just if the driver reports
the following hw flags:
- IEEE80211_HW_STA_MMPDU_TXQ
- IEEE80211_HW_BUFF_MMPDU_TXQ
This can produce a NULL pointer dereference in mt76_stop_tx_queues
since mt76 iterates on all available sta tx queues assuming they are
initialized by mac80211. This issue has been spotted analyzing the code
(it has not triggered any crash yet)

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2018-12-13 16:19:56 +02:00
..
mt76x0 mt76x0: phy: do not run calibration during channel switch 2018-10-13 17:39:53 +02:00
mt76x2 mt76: fix uninitialized mutex access setting rts threshold 2018-11-16 15:15:49 +02:00
agg-rx.c mt76x2: add napi struct to mt76_rx_poll_complete/mt76_rx_complete signatures 2018-08-02 21:47:57 +03:00
debugfs.c mt76: move rate_txpower handler in mt76 debugfs 2018-10-01 12:34:02 +02:00
dma.c mt76: use a per rx queue page fragment cache 2018-09-19 12:31:44 +02:00
dma.h mt76x02: move TXD/RXD/MCU definitions in mt76x02_dma.h 2018-09-19 12:31:25 +02:00
eeprom.c
Kconfig mt76: fix building without CONFIG_LEDS_CLASS 2018-11-06 18:46:33 +02:00
mac80211.c mt76: fix building without CONFIG_LEDS_CLASS 2018-11-06 18:46:33 +02:00
Makefile mt76: move mt76x02_mac_poll_tx_status in mt76x02-lib moudle 2018-10-05 20:05:46 +02:00
mmio.c mt76: allow to identify bus 2018-10-13 17:39:11 +02:00
mt76.h mt76: allow to identify bus 2018-10-13 17:39:11 +02:00
mt76x02_dfs.h mt76x2: move mt76x2_dev in mt76x02_util.h 2018-10-05 20:05:45 +02:00
mt76x02_dma.h mt76: move tx_tasklet management in mt76x02-lib moudle 2018-10-05 20:05:46 +02:00
mt76x02_eeprom.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_eeprom.c 2018-10-13 17:39:24 +02:00
mt76x02_eeprom.h mt76x0: eeprom: introduce mt76x0_tssi_enabled routine 2018-10-13 17:39:46 +02:00
mt76x02_mac.c mt76: disable ldpc coding for mt76x0 devices 2018-10-13 17:39:28 +02:00
mt76x02_mac.h mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mac.c 2018-10-13 17:39:22 +02:00
mt76x02_mcu.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mcu.c 2018-10-13 17:39:16 +02:00
mt76x02_mcu.h mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mcu.c 2018-10-13 17:39:16 +02:00
mt76x02_mmio.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mac.c 2018-10-13 17:39:22 +02:00
mt76x02_phy.c mt76: introduce mt76x02_init_agc_gain routine 2018-10-13 17:39:50 +02:00
mt76x02_phy.h mt76: introduce mt76x02_init_agc_gain routine 2018-10-13 17:39:50 +02:00
mt76x02_regs.h mt76x0: correct RF access via RF_CSR register. 2018-10-13 17:39:10 +02:00
mt76x02_trace.c mt76: move mt76x02_mac_poll_tx_status in mt76x02-lib moudle 2018-10-05 20:05:46 +02:00
mt76x02_trace.h mt76: move irq handler in mt76x02-lib moudle 2018-10-05 20:05:46 +02:00
mt76x02_txrx.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_txrx.c 2018-10-13 17:39:23 +02:00
mt76x02_usb_core.c mt76: reserve enough room for USB tx skbs 2018-10-13 17:39:31 +02:00
mt76x02_usb_mcu.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_usb_mcu.c 2018-10-13 17:39:20 +02:00
mt76x02_usb.h mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mac.c 2018-10-13 17:39:22 +02:00
mt76x02_util.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_txrx.c 2018-10-13 17:39:23 +02:00
mt76x02.h mt76: fix uninitialized mutex access setting rts threshold 2018-11-16 15:15:49 +02:00
trace.c
trace.h
tx.c mt76: fix potential NULL pointer dereference in mt76_stop_tx_queues 2018-12-13 16:19:56 +02:00
usb_mcu.c mt76: usb: move mt76x02 mcu code in mt76x02-usb module 2018-09-19 12:31:23 +02:00
usb_trace.c mt76: add usb support to mt76 layer 2018-08-02 21:48:16 +03:00
usb_trace.h mt76: add usb support to mt76 layer 2018-08-02 21:48:16 +03:00
usb.c mt76: allow to identify bus 2018-10-13 17:39:11 +02:00
util.c
util.h