kernel-fxtec-pro1x/net/wireless
Johannes Berg 2d31986764 regulatory: fix restore_regulatory_settings
My commit 379b82f4c9
("regulatory: pass new regdomain to reset function")
broke the restore_regulatory_settings() function due
to a logic change. Consider this change:

-	reset_regdomains(true);
-	cfg80211_regdomain = cfg80211_world_regdom;
+	reset_regdomains(true, cfg80211_world_regdom);

This looks innocent enough, until you realise that the
called function (reset_regdomains) also resets the
cfg80211_world_regdom pointer, so that the old version
of the code would use the new object it pointed to and
the new version of the code uses the old object. This
lead to a double-free of this object.

Since reset_regdomains() sets it to &world_regdom, use
that directly.

Reported-by: Sujith Manoharan <sujith@msujith.org>
Tested-by: Sujith Manoharan <sujith@msujith.org>
Reported-by: Bob Copeland <me@bobcopeland.com>
Reported-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-01-09 12:19:52 +01:00
..
.gitignore
ap.c cfg80211: move some AP code to right file 2013-01-03 13:01:40 +01:00
chan.c cfg80211: adjacent 80+80 MHz channel segments are invalid 2013-01-03 13:01:32 +01:00
core.c cfg80211: remove wiphy_idx_valid 2013-01-03 13:01:23 +01:00
core.h wireless: use __aligned 2013-01-03 13:01:44 +01:00
db.txt
debugfs.c
debugfs.h
ethtool.c
ethtool.h
genregdb.awk
ibss.c nl80211/cfg80211: support VHT channel configuration 2012-11-26 12:42:59 +01:00
Kconfig
lib80211.c
lib80211_crypt_ccmp.c
lib80211_crypt_tkip.c
lib80211_crypt_wep.c
Makefile
mesh.c cfg80211: fix channel error on mesh join 2012-12-03 11:24:49 +01:00
mlme.c cfg80211: move some AP code to right file 2013-01-03 13:01:40 +01:00
nl80211.c cfg80211: disallow more station changes 2013-01-03 13:01:45 +01:00
nl80211.h cfg80211: pass a channel definition struct 2012-11-26 12:42:58 +01:00
radiotap.c
rdev-ops.h cfg80211: pass a channel definition struct 2012-11-26 12:42:58 +01:00
reg.c regulatory: fix restore_regulatory_settings 2013-01-09 12:19:52 +01:00
reg.h regulatory: use RCU to protect global and wiphy regdomains 2013-01-03 13:01:29 +01:00
regdb.h
scan.c cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
sme.c regulatory: code cleanup 2013-01-03 13:01:22 +01:00
sysfs.c
sysfs.h
trace.c
trace.h cfg80211: fix some tracing output issues 2012-11-26 12:48:17 +01:00
util.c cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
wext-compat.c wext: explicitly cast -110 to u8 2012-12-07 11:58:26 +01:00
wext-compat.h
wext-core.c
wext-priv.c
wext-proc.c
wext-sme.c cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
wext-spy.c