linux/drivers/net/wireless
Emmanuel Grumbach 00f4eb31b8 wifi: iwlwifi: mvm: fix a crash when we run out of stations
commit b7198383ef upstream.

A DoS tool that injects loads of authentication frames made our AP
crash. The iwl_mvm_is_dup() function couldn't find the per-queue
dup_data which was not allocated.

The root cause for that is that we ran out of stations in the firmware
and we didn't really add the station to the firmware, yet we didn't
return an error to mac80211.
Mac80211 was thinking that we have the station and because of that,
sta_info::uploaded was set to 1. This allowed
ieee80211_find_sta_by_ifaddr() to return a valid station object, but
that ieee80211_sta didn't have any iwl_mvm_sta object initialized and
that caused the crash mentioned earlier when we got Rx on that station.

Cc: stable@vger.kernel.org
Fixes: 57974a55d9 ("wifi: iwlwifi: mvm: refactor iwl_mvm_mac_sta_state_common()")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240206175739.1f76c44b2486.I6a00955e2842f15f0a089db2f834adb9d10fbe35@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-02-23 09:25:12 +01:00
..
admtek wifi: mac80211: add wake_tx_queue callback to drivers 2022-10-10 11:00:03 +02:00
ath wifi: ath12k: fix the issue that the multicast/broadcast indicator is not read correctly for WCN7850 2024-02-05 20:14:22 +00:00
atmel Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
broadcom wifi: brcmfmac: Adjust n_channels usage for __counted_by 2024-02-16 19:10:47 +01:00
cisco wifi: airo: avoid uninitialized warning in airo_get_rate() 2023-07-11 19:22:54 -07:00
intel wifi: iwlwifi: mvm: fix a crash when we run out of stations 2024-02-23 09:25:12 +01:00
intersil Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
legacy Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
marvell wifi: mwifiex: fix uninitialized firmware_stat 2024-01-25 15:35:47 -08:00
mediatek wifi: mt76: mt7996: add PCI IDs for mt7992 2024-02-05 20:14:21 +00:00
microchip wifi: wilc1000: use vmm_table as array in wilc struct 2023-11-28 17:20:02 +00:00
purelifi wifi: plfxlc: check for allocation failure in plfxlc_usb_wreq_async() 2024-01-25 15:35:19 -08:00
quantenna wifi: qtnfmac: use struct_size and size_sub for payload length 2023-03-13 15:44:29 +02:00
ralink wifi: rt2x00: correct wrong BBP register in RxDCOC calibration 2024-02-05 20:14:18 +00:00
realtek wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift() 2024-02-05 20:14:24 +00:00
rsi wifi: rsi: rsi_91x_usb_ops: Remove unnecessary (void*) conversions 2023-08-23 14:07:16 +03:00
silabs wifi: wfx: fix possible NULL pointer dereference in wfx_set_mfp_ap() 2024-02-05 20:14:22 +00:00
st net: Replace all spi->chip_select and spi->cs_gpiod references with function call 2023-03-11 12:34:02 +00:00
ti wifi: wlcore: sdio: Use module_sdio_driver macro to simplify the code 2023-08-25 12:59:31 +03:00
virtual wifi: mac80211_hwsim: fix clang-specific fortify warning 2023-11-28 17:19:37 +00:00
zydas Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
Kconfig wifi: move raycs, wl3501 and rndis_wlan to legacy directory 2023-03-13 15:42:14 +02:00
Makefile wifi: move raycs, wl3501 and rndis_wlan to legacy directory 2023-03-13 15:42:14 +02:00