linux/drivers/net/wireless
Andrei Otcheretianski c6d6783988 iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta()
[ Upstream commit 12d47f0ea5 ]

Fix a kernel panic by checking that the sta is not NULL.
This could happen during a reconfig flow, as mac80211 moves the sta
between all the states without really checking if the previous state was
successfully set. So, if for some reason we failed to add back the
station, subsequent calls to sta_state() callback will be done when the
station is NULL. This would result in a following panic:

BUG: unable to handle kernel NULL pointer dereference at
0000000000000040
IP: iwl_mvm_cfg_he_sta+0xfc/0x690 [iwlmvm]
[..]
Call Trace:
 iwl_mvm_mac_sta_state+0x629/0x6f0 [iwlmvm]
 drv_sta_state+0xf4/0x950 [mac80211]
 ieee80211_reconfig+0xa12/0x2180 [mac80211]
 ieee80211_restart_work+0xbb/0xe0 [mac80211]
 process_one_work+0x1e2/0x610
 worker_thread+0x4d/0x3e0
[..]

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2020-02-24 08:38:49 +01:00
..
admtek adm80211: remove set but not used variables 'mem_addr' and 'io_addr' 2019-10-24 08:48:00 +03:00
ath ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start 2020-02-24 08:38:11 +01:00
atmel drivers: net: Fix Kconfig indentation, continued 2019-11-21 11:54:09 -08:00
broadcom b43legacy: Fix -Wcast-function-type 2020-02-24 08:38:16 +01:00
cisco airo: Add missing CAP_NET_ADMIN check in AIROOLDIOCTL/SIOCDEVPRIVATE 2020-01-23 11:01:13 +01:00
intel iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta() 2020-02-24 08:38:49 +01:00
intersil hostap: Adjust indentation in prism2_hostapd_add_sta 2020-02-24 08:38:43 +01:00
marvell libertas: make lbs_ibss_join_existing() return error code on rates overflow 2020-02-14 16:53:07 -05:00
mediatek mt76: mt7615: fix max_nss in mt7615_eeprom_parse_hw_cap 2020-02-14 16:53:00 -05:00
quantenna qtnfmac: process HE capabilities requests 2019-11-20 09:43:01 +02:00
ralink drivers: net: Fix Kconfig indentation, continued 2019-11-21 11:54:09 -08:00
realtek rtw88: fix potential NULL skb access in TX ISR 2020-02-24 08:38:43 +01:00
rsi rsi: fix non-atomic allocation in completion handler 2020-02-01 09:32:59 +00:00
st net/wireless: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-10-15 08:27:02 +03:00
ti MMC core: 2019-11-27 10:03:52 -08:00
zydas zd1211rw: fix storage endpoint lookup 2020-02-01 09:32:57 +00:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
mac80211_hwsim.c mac80211_hwsim: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops 2019-11-08 10:17:33 +01:00
mac80211_hwsim.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile mac80211-next: rtnetlink wifi simulation device 2018-12-05 15:31:31 +01:00
ray_cs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 416 2019-06-05 17:37:15 +02:00
ray_cs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rayctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rndis_wlan.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
virt_wifi.c virt_wifi: fix use-after-free in virt_wifi_newlink() 2019-11-22 13:36:25 +01:00
wl3501.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
wl3501_cs.c wl3501_cs: remove redundant variable rc 2019-07-24 14:45:24 +03:00