OpenCloudOS-Kernel/net/mac80211
Johannes Berg e58695f6c5 wifi: mac80211: fix change_address deadlock during unregister
[ Upstream commit 74a7c93f45abba538914a65dd2ef2ea7cf7150e2 ]

When using e.g. bonding, and doing a sequence such as

 # iw wlan0 set type __ap
 # ip link add name bond1 type bond
 # ip link set wlan0 master bond1
 # iw wlan0 interface del

we deadlock, since the wlan0 interface removal will cause
bonding to reset the MAC address of wlan0.

The locking would be somewhat difficult to fix, but since
this only happens during removal, we can simply ignore the
MAC address change at this time.

Reported-by: syzbot+25b3a0b24216651bc2af@syzkaller.appspotmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://lore.kernel.org/r/20231012123447.9f9d7fd1f237.Ic3a5ef4391b670941a69cec5592aefc79d9c2890@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 06:04:25 +02:00
..
Kconfig ath9k: fix build error with LEDS_CLASS=m 2021-01-28 09:29:34 +02:00
Makefile wifi: mac80211: move link code to a new file 2022-09-03 17:02:25 +02:00
aead_api.c mac80211: Check crypto_aead_encrypt for errors 2021-03-16 21:20:41 +01:00
aead_api.h
aes_ccm.h
aes_cmac.c mac80211: aes_cmac: check crypto_shash_setkey() return value 2021-04-19 12:01:40 +02:00
aes_cmac.h
aes_gcm.h
aes_gmac.c mac80211: Check crypto_aead_encrypt for errors 2021-03-16 21:20:41 +01:00
aes_gmac.h
agg-rx.c wifi: mac80211: remove support for AddBA with fragmentation 2022-10-07 15:24:31 +02:00
agg-tx.c wifi: mac80211: agg-tx: prevent start/stop race 2023-06-19 13:12:43 +02: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: track capability/opmode NSS separately 2024-08-03 08:54:33 +02:00
chan.c wifi: mac80211: add consistency check for compat chandef 2023-06-19 12:05:28 +02:00
debug.h wifi: mac80211: Add getter functions for vif MLD state 2023-06-14 12:20:08 +02:00
debugfs.c wifi: mac80211: remove return value check of debugfs_create_dir() 2023-04-20 11:46:07 +02:00
debugfs.h
debugfs_key.c wifi: mac80211: reorg some iface data structs for MLD 2022-06-20 12:55:06 +02:00
debugfs_key.h mac80211: Support BIGTK configuration for Beacon protection 2020-02-24 10:35:57 +01:00
debugfs_netdev.c wifi: mac80211: Add debugfs entry to report dormant links 2023-06-19 12:05:19 +02:00
debugfs_netdev.h wifi: mac80211: add netdev per-link debugfs data and driver hook 2023-03-07 10:56:06 +01:00
debugfs_sta.c wifi: mac80211: add eht_capa debugfs field 2023-06-19 17:34:55 +02:00
debugfs_sta.h wifi: mac80211: add API to show the link STAs in debugfs 2022-10-07 15:23:41 +02:00
driver-ops.c wifi: mac80211: don't re-add debugfs during reconfig 2024-01-01 12:42:27 +00:00
driver-ops.h wifi: mac80211: do not pass AP_VLAN vif pointer to drivers during flush 2023-12-08 08:52:21 +01:00
drop.h wifi: mac80211: fix check for unusable RX result 2023-11-20 11:58:57 +01:00
eht.c wifi: mac80211: add helpers to access sband iftype data 2023-06-14 11:57:29 +02:00
ethtool.c wifi: mac80211: read ethtool's sta_stats from sinfo 2022-08-26 09:56:54 +02:00
fils_aead.c wifi: mac80211: Do not include crypto/algapi.h 2023-08-24 08:42:36 +02:00
fils_aead.h
he.c wifi: mac80211: correctly parse Spatial Reuse Parameter Set element 2024-06-21 14:38:13 +02:00
ht.c wifi: mac80211: handle 320 MHz in ieee80211_ht_cap_ie_to_sta_ht_cap 2024-01-20 11:51:37 +01:00
ibss.c wifi: mac80211: work around Cisco AP 9115 VHT MPDU length 2023-09-25 08:41:27 +02:00
ieee80211_i.h wifi: mac80211: track capability/opmode NSS separately 2024-08-03 08:54:33 +02:00
iface.c wifi: mac80211: fix change_address deadlock during unregister 2024-08-19 06:04:25 +02:00
key.c wifi: mac80211: fix error path key leak 2023-10-11 16:36:14 +02:00
key.h wifi: mac80211: implement link switching 2022-09-06 10:17:20 +02:00
led.c leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
led.h leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
link.c wifi: mac80211: Fix setting vif links 2023-11-20 11:59:02 +01:00
main.c wifi: mac80211: disable softirqs for queued frame handling 2024-07-25 09:50:57 +02:00
mesh.c wifi: mac80211: mesh: init nonpeer_pm to active by default in mesh sdata 2024-07-25 09:50:41 +02:00
mesh.h wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded 2024-05-02 16:32:34 +02:00
mesh_hwmp.c wifi: mac80211: use wiphy work for sdata->work 2023-06-07 19:53:18 +02:00
mesh_pathtbl.c wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects 2024-06-21 14:38:12 +02:00
mesh_plink.c wifi: mac80211: mesh_plink: fix matches_local logic 2024-01-01 12:42:27 +00:00
mesh_ps.c wifi: mac80211: consistently use u64 for BSS changes 2023-06-06 14:16:48 +02:00
mesh_sync.c mac80211: mesh: clean up rx_bcn_presp API 2021-09-23 16:26:33 +02:00
michael.c
michael.h
mlme.c wifi: mac80211: ensure beacon is non-S1G prior to extracting the beacon timestamp field 2024-06-12 11:11:22 +02:00
ocb.c wifi: mac80211: use wiphy work for sdata->work 2023-06-07 19:53:18 +02:00
offchannel.c wifi: mac80211: move offchannel works to wiphy work 2023-11-20 11:58:54 +01:00
pm.c mac80211: Prevent AP probing during suspend 2021-10-21 17:27:51 +02:00
rate.c wifi: mac80211: track capability/opmode NSS separately 2024-08-03 08:54:33 +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 mac80211: minstrel_ht: remove unused n_supported variable 2023-03-30 11:21:17 +02:00
rc80211_minstrel_ht.h wifi: mac80211: minstrel_ht: remove unused has_mrr member from struct minstrel_priv 2022-10-07 15:25:05 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: minstrel_ht: show sampling rates in debugfs 2021-02-12 08:58:11 +01:00
rx.c wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded 2024-05-02 16:32:34 +02:00
s1g.c wifi: mac80211: Set TWT Information Frame Disabled bit as 1 2022-11-02 09:50:40 +01:00
scan.c wifi: mac80211: fix UBSAN noise in ieee80211_prep_hw_scan() 2024-07-25 09:50:42 +02:00
spectmgmt.c wifi: mac80211: separate out connection downgrade flags 2022-07-15 11:43:14 +02:00
sta_info.c wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup() 2024-06-21 14:38:12 +02:00
sta_info.h wifi: mac80211: track capability/opmode NSS separately 2024-08-03 08:54:33 +02:00
status.c wifi: mac80211: use wiphy work for sdata->work 2023-06-07 19:53:18 +02:00
tdls.c wifi: mac80211: Extend AID element addition for TDLS frames 2023-06-19 12:05:28 +02:00
tkip.c
tkip.h
trace.c
trace.h wifi: mac80211: Replace strlcpy with strscpy 2023-06-14 12:32:19 +02:00
trace_msg.h mac80211: tracing: Use the new __vstring() helper 2022-07-24 19:11:17 -04:00
tx.c wifi: mac80211: don't use rate mask for scanning 2024-06-12 11:11:22 +02:00
util.c wifi: mac80211: disable softirqs for queued frame handling 2024-07-25 09:50:57 +02:00
vht.c wifi: mac80211: track capability/opmode NSS separately 2024-08-03 08:54:33 +02:00
wep.c mac80211: make ieee80211_wep_init() return void 2020-02-07 12:40:34 +01:00
wep.h mac80211: make ieee80211_wep_init() return void 2020-02-07 12:40:34 +01:00
wme.c wifi: mac80211: fix qos on mesh interfaces 2023-03-22 13:46:38 +01:00
wme.h wifi: mac80211: Drop support for TX push path 2022-10-10 11:06:14 +02:00
wpa.c wifi: mac80211: Do not include crypto/algapi.h 2023-08-24 08:42:36 +02:00
wpa.h wifi: mac80211: remove cipher scheme support 2022-06-10 15:35:53 +02:00