linux-stable/net/wireless
Johannes Berg e646a0257b cfg80211: restore regulatory without calling userspace
Jouni reports that in some cases it is possible that getting
disconnected (or stopping AP, after previous patches) results
in further operations hitting the window within the regulatory
core restoring the regdomain to the defaults. The reason for
this is that we have to call out to CRDA or otherwise do some
asynchronous work, and thus can't do the restore atomically.

However, we've previously seen all the data we need to do the
restore, so we can hang on to that data and use it later for
the restore. This makes the whole thing happen within a single
locked section and thus atomic.

However, we can't *always* do this - there are unfortunately
cases where the restore needs to re-request, because this is
also used (abused?) as an error recovery process, so make the
new behaviour optional and only use it when doing a regular
restore as described above.

Reported-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-02-11 15:46:29 +01:00
..
certs cfg80211: ship certificates as hex files 2017-12-19 09:28:01 +01:00
.gitignore cfg80211: implement regdb signature checking 2017-10-11 14:24:24 +02:00
ap.c nl80211: Add SOCKET_OWNER support to START_AP 2018-03-29 10:47:28 +02:00
chan.c cfg80211: add some missing fall through annotations 2018-12-18 13:15:08 +01:00
core.c nl80211: announce radios/interfaces when switching namespaces 2018-11-09 11:21:10 +01:00
core.h cfg80211: Move Multiple BSS info to struct cfg80211_bss to be visible 2019-02-08 13:51:50 +01:00
debugfs.c cfg80211 debugfs: Cleanup some checkpatch issues 2017-02-08 09:15:59 +01:00
debugfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ethtool.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ibss.c nl80211: Add SOCKET_OWNER support to JOIN_IBSS 2018-03-29 10:36:22 +02:00
Kconfig cfg80211: add missing dependency to CFG80211 suboptions 2018-02-27 10:54:12 +01:00
lib80211.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
lib80211_crypt_ccmp.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
lib80211_crypt_tkip.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
lib80211_crypt_wep.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
Makefile cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
mesh.c nl80211: Add SOCKET_OWNER support to JOIN_MESH 2018-03-29 10:38:24 +02:00
mlme.c cfg80211: add missing constraint for user-supplied VHT mask 2018-11-09 08:55:32 +01:00
nl80211.c nl80211: use for_each_element() in validate_ie_attr() 2019-02-08 13:51:50 +01:00
nl80211.h cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
ocb.c cfg80211: ocb: Fix null pointer deref if join_ocb is unimplemented 2015-12-04 14:43:32 +01:00
of.c cfg80211: support ieee80211-freq-limit DT property 2017-01-06 14:01:13 +01:00
pmsr.c cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
radiotap.c cfg80211: add radiotap VHT info to rtap_namespace_sizes 2016-02-24 09:04:41 +01:00
rdev-ops.h cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
reg.c cfg80211: restore regulatory without calling userspace 2019-02-11 15:46:29 +01:00
reg.h cfg80211: restore regulatory without calling userspace 2019-02-11 15:46:29 +01:00
scan.c cfg80211: fix memory leak of new_ie 2019-02-08 13:56:37 +01:00
sme.c cfg80211: Prevent regulatory restore during STA disconnect in concurrent interfaces 2018-11-09 09:11:47 +01:00
sysfs.c cfg80211: track time using boottime 2018-06-29 09:49:28 +02:00
sysfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
trace.c
trace.h cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
util.c cfg80211: add various struct element finding helpers 2019-02-08 13:51:50 +01:00
wext-compat.c cfg80211: mark expected switch fall-throughs 2019-01-25 14:05:31 +01:00
wext-compat.h cfg80211-wext: export symbols only when needed 2015-02-28 21:31:09 +01:00
wext-core.c net: Don't take rtnl_lock() in wireless_nlevent_flush() 2018-03-29 13:47:53 -04:00
wext-priv.c
wext-proc.c proc: introduce proc_create_net{,_data} 2018-05-16 07:24:30 +02:00
wext-sme.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
wext-spy.c