linux-stable/net/mac80211
Johannes Berg 2f4e16e39e wifi: mac80211: fix potential key use-after-free
[ Upstream commit 31db78a492 ]

When ieee80211_key_link() is called by ieee80211_gtk_rekey_add()
but returns 0 due to KRACK protection (identical key reinstall),
ieee80211_gtk_rekey_add() will still return a pointer into the
key, in a potential use-after-free. This normally doesn't happen
since it's only called by iwlwifi in case of WoWLAN rekey offload
which has its own KRACK protection, but still better to fix, do
that by returning an error code and converting that to success on
the cfg80211 boundary only, leaving the error for bad callers of
ieee80211_gtk_rekey_add().

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Fixes: fdf7cb4185 ("mac80211: accept key reinstall without changing anything")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-10-10 22:00:41 +02:00
..
aead_api.c
aead_api.h
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.h
aes_gmac.c
aes_gmac.h
agg-rx.c wifi: mac80211: fix multi-BSSID element parsing 2022-07-15 11:43:17 +02:00
agg-tx.c wifi: mac80211: Fix iTXQ AMPDU fragmentation handling 2023-02-01 08:34:36 +01:00
airtime.c wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration 2022-11-25 12:45:53 +01:00
cfg.c wifi: mac80211: fix potential key use-after-free 2023-10-10 22:00:41 +02:00
chan.c wifi: mac80211: recalc chanctx mindef before assigning 2023-06-09 10:34:15 +02:00
debug.h wifi: mac80211: debug: omit link if non-MLO connection 2022-07-15 11:43:14 +02:00
debugfs.c wifi: mac80211: optionally implement MLO multicast TX 2022-07-22 14:28:36 +02:00
debugfs.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c wifi: mac80211: Fix permissions for valid_links debugfs entry 2023-07-19 16:21:09 +02:00
debugfs_netdev.h
debugfs_sta.c wifi: mac80211: Proper mark iTXQs for resumption 2023-02-01 08:34:35 +01:00
debugfs_sta.h
driver-ops.c wifi: mac80211: sdata can be NULL during AMPDU start 2023-01-24 07:24:32 +01:00
driver-ops.h wifi: mac80211: Proper mark iTXQs for resumption 2023-02-01 08:34:35 +01:00
eht.c wifi: cfg80211/mac80211: check EHT capability size correctly 2022-08-25 10:41:24 +02:00
ethtool.c wifi: mac80211: read ethtool's sta_stats from sinfo 2022-08-26 09:56:54 +02:00
fils_aead.c
fils_aead.h
he.c wifi: mac80211: use correct iftype HE cap 2023-06-14 11:15:18 +02:00
ht.c wifi: mac80211: Fix iTXQ AMPDU fragmentation handling 2023-02-01 08:34:36 +01:00
ibss.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-01 12:58:02 -07:00
ieee80211_i.h wifi: mac80211: consider reserved chanctx for mindef 2023-06-09 10:34:14 +02:00
iface.c Revert "wifi: mac80211: fix memory leak in ieee80211_if_add()" 2023-01-24 07:24:44 +01:00
Kconfig
key.c wifi: mac80211: fix potential key use-after-free 2023-10-10 22:00:41 +02:00
key.h wifi: mac80211: implement link switching 2022-09-06 10:17:20 +02:00
led.c
led.h
link.c wifi: mac80211: fix link activation settings order 2023-06-21 16:00:59 +02:00
main.c wifi: mac80211: fix memory free error when registering wiphy fail 2022-10-21 12:34:59 +02:00
Makefile wifi: mac80211: move link code to a new file 2022-09-03 17:02:25 +02:00
mesh.c wifi: mac80211: correct SMPS mode in HE 6 GHz capability 2022-08-26 09:56:36 +02:00
mesh.h
mesh_hwmp.c wifi: mac80211: fix multi-BSSID element parsing 2022-07-15 11:43:17 +02:00
mesh_pathtbl.c wifi: mac80211: Fix ack frame idr leak when mesh has no route 2022-11-02 09:48:11 +01:00
mesh_plink.c wifi: mac80211: fix up link station creation/insertion 2022-07-15 11:43:23 +02:00
mesh_ps.c
mesh_sync.c
michael.c
michael.h
mlme.c wifi: mac80211: mlme: fix non-inheritence element 2023-06-14 11:15:19 +02:00
ocb.c wifi: mac80211: fix up link station creation/insertion 2022-07-15 11:43:23 +02:00
offchannel.c wifi: mac80211: expand ieee80211_mgmt_tx() for MLO 2022-07-22 14:28:35 +02:00
pm.c
rate.c wifi: mac80211: make ieee80211_check_rate_mask() link-aware 2022-07-15 11:43:21 +02:00
rate.h wifi: mac80211: make ieee80211_check_rate_mask() link-aware 2022-07-15 11:43:21 +02:00
rc80211_minstrel_ht.c treewide: use get_random_bytes() when possible 2022-10-11 17:42:58 -06:00
rc80211_minstrel_ht.h
rc80211_minstrel_ht_debugfs.c
rx.c wifi: mac80211: check S1G action frame size 2023-09-23 11:11:02 +02:00
s1g.c wifi: mac80211: Set TWT Information Frame Disabled bit as 1 2022-11-02 09:50:40 +01:00
scan.c treewide: use get_random_{u8,u16}() when possible, part 1 2022-10-11 17:42:58 -06:00
spectmgmt.c wifi: mac80211: separate out connection downgrade flags 2022-07-15 11:43:14 +02:00
sta_info.c wifi: mac80211: recalc min chandef for new STA links 2023-07-19 16:21:07 +02:00
sta_info.h wifi: mac80211: keep A-MSDU data in sta and per-link 2022-09-06 10:17:08 +02:00
status.c wifi: mac80211: don't start TX with fq->lock to fix deadlock 2022-09-27 10:29:04 +02:00
tdls.c wifi: mac80211: optionally implement MLO multicast TX 2022-07-22 14:28:36 +02:00
tkip.c
tkip.h
trace.c
trace.h wifi: mac80211: fix min center freq offset tracing 2023-05-24 17:32:46 +01:00
trace_msg.h mac80211: tracing: Use the new __vstring() helper 2022-07-24 19:11:17 -04:00
tx.c wifi: mac80211: Use active_links instead of valid_links in Tx 2023-09-13 09:42:24 +02:00
util.c wifi: mac80211: Remove "Missing iftype sband data/EHT cap" spam 2023-07-19 16:21:09 +02:00
vht.c wifi: mac80211: keep A-MSDU data in sta and per-link 2022-09-06 10:17:08 +02:00
wep.c
wep.h
wme.c wifi: mac80211: fix qos on mesh interfaces 2023-03-30 12:49:27 +02:00
wme.h
wpa.c wifi: use struct_group to copy addresses 2022-09-03 16:40:06 +02:00
wpa.h