linux/net/wireless
Johannes Berg 103317670e wifi: cfg80211: hold wiphy mutex for send_interface
Given all the locking rework in mac80211, we pretty much
need to get into the driver with the wiphy mutex held in
all callbacks. This is already mostly the case, but as
Johan reported, in the get_txpower it may not be true.

Lock the wiphy mutex around nl80211_send_iface(), then
is also around callers of nl80211_notify_iface(). This
is easy to do, fixes the problem, and aligns the locking
between various calls to it in different parts of the
code of cfg80211.

Fixes: 0e8185ce1d ("wifi: mac80211: check wiphy mutex in ops")
Reported-by: Johan Hovold <johan@kernel.org>
Closes: https://lore.kernel.org/r/ZVOXX6qg4vXEx8dX@hovoldconsulting.com
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-11-24 18:30:48 +01:00
..
certs
tests wifi: cfg80211: add first kunit tests, for element defrag 2023-09-11 12:32:16 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
ap.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
chan.c wifi: cfg80211: export DFS CAC time and usable state helper functions 2023-09-13 13:24:11 +02:00
core.c wifi: cfg80211: hold wiphy mutex for send_interface 2023-11-24 18:30:48 +01:00
core.h wifi: cfg80211: fix CQM for non-range use 2023-11-24 18:29:35 +01:00
debugfs.c wifi: cfg80211: debugfs: fix return type in ht40allow_map_read() 2022-08-25 10:04:46 +02:00
debugfs.h
ethtool.c wifi: cfg80211: use strscpy to replace strlcpy 2022-07-15 11:43:12 +02:00
ibss.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
Kconfig wifi: cfg80211: add first kunit tests, for element defrag 2023-09-11 12:32:16 +02:00
lib80211_crypt_ccmp.c wifi: use struct_group to copy addresses 2022-09-03 16:40:06 +02:00
lib80211_crypt_tkip.c wifi: lib80211: remove unused variables iv32 and iv16 2023-09-13 12:33:58 +02:00
lib80211_crypt_wep.c mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
lib80211.c lib80211: Remove unused macro DRV_NAME 2020-09-18 11:53:00 +02:00
Makefile wifi: cfg80211: add first kunit tests, for element defrag 2023-09-11 12:32:16 +02:00
mesh.c wifi: cfg80211: remove scan_width support 2023-09-13 11:10:50 +02:00
mlme.c wireless-next patches for v6.7 2023-10-26 20:27:58 -07:00
nl80211.c wifi: cfg80211: hold wiphy mutex for send_interface 2023-11-24 18:30:48 +01:00
nl80211.h wifi: cfg80211: Allow AP/P2PGO to indicate port authorization to peer STA/P2PClient 2023-10-23 12:50:44 +02:00
ocb.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
of.c
pmsr.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
radiotap.c mac80211: Use flex-array for radiotap header bitmap 2021-08-13 09:58:25 +02:00
rdev-ops.h wifi: cfg80211: split struct cfg80211_ap_settings 2023-09-25 09:00:39 +02:00
reg.c wifi: cfg80211: reg: describe return values in kernel-doc 2023-09-25 09:12:33 +02:00
reg.h wifi: cfg80211: reg: fix various kernel-doc issues 2023-09-11 12:32:39 +02:00
scan.c wireless-next patches for v6.7 2023-10-26 20:27:58 -07:00
sme.c wifi: cfg80211: Allow AP/P2PGO to indicate port authorization to peer STA/P2PClient 2023-10-23 12:50:44 +02:00
sysfs.c wifi: cfg80211: add flush functions for wiphy work 2023-09-11 11:27:19 +02:00
sysfs.h
trace.c
trace.h wifi: mac80211: rename struct cfg80211_rx_assoc_resp to cfg80211_rx_assoc_resp_data 2023-10-23 12:26:51 +02:00
util.c wifi: cfg80211: Allow AP/P2PGO to indicate port authorization to peer STA/P2PClient 2023-10-23 12:50:44 +02:00
wext-compat.c wifi: cfg80211: wext: convert return value to kernel-doc 2023-10-23 11:45:17 +02:00
wext-compat.h wifi: cfg80211: Avoid clashing function prototypes 2022-11-16 11:31:47 +02:00
wext-core.c wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point() 2023-06-19 12:05:27 +02:00
wext-priv.c
wext-proc.c
wext-sme.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
wext-spy.c wireless: wext-spy: Fix out-of-bounds warning 2021-06-23 10:57:17 +02:00