linux/net/wireless
Johannes Berg 9caf036402 cfg80211: fix BSS struct IE access races
When a BSS struct is updated, the IEs are currently
overwritten or freed. This can lead to races if some
other CPU is accessing the BSS struct and using the
IEs concurrently.

Fix this by always allocating the IEs in a new struct
that holds the data and length and protecting access
to this new struct with RCU.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2012-11-30 13:42:20 +01:00
..
.gitignore wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
ap.c cfg80211: store the ssid into wirless_dev in AP mode 2012-11-07 17:57:14 +01:00
chan.c cfg80211: rework chandef checking and export it 2012-11-27 09:18:25 +01:00
core.c cfg80211: allow registering more than one beacon listener 2012-11-05 16:33:45 +01:00
core.h cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
db.txt wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
debugfs.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
ethtool.c cfg80211: add wrappers for registered_device_ops 2012-10-18 10:53:37 +02:00
ethtool.h net/wireless/ethtool.h: drop unnecessary include of linux/ethtool.h 2009-10-07 16:39:49 -04:00
genregdb.awk cfg80211: relicense reg.c reg.h and genregdb.awk to ISC 2012-01-04 14:30:41 -05:00
ibss.c nl80211/cfg80211: support VHT channel configuration 2012-11-26 12:42:59 +01:00
Kconfig cfg80211: add CONFIG_CFG80211_CERTIFICATION_ONUS 2012-07-17 12:13:51 +02:00
lib80211_crypt_ccmp.c net: Convert net_ratelimit uses to net_<level>_ratelimited 2012-05-15 13:45:03 -04:00
lib80211_crypt_tkip.c net: Convert net_ratelimit uses to net_<level>_ratelimited 2012-05-15 13:45:03 -04:00
lib80211_crypt_wep.c wireless: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
lib80211.c lib80211: remove exports for functions not called by other modules 2011-08-09 15:42:36 -04:00
Makefile cfg80211: add tracing to rdev-ops 2012-10-18 10:53:37 +02:00
mesh.c nl80211/cfg80211: support VHT channel configuration 2012-11-26 12:42:59 +01:00
mlme.c cfg80211: pass a channel definition struct 2012-11-26 12:42:58 +01:00
nl80211.c cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
nl80211.h cfg80211: pass a channel definition struct 2012-11-26 12:42:58 +01:00
radiotap.c wireless: add radiotap A-MPDU status field 2012-08-20 13:53:09 +02:00
rdev-ops.h cfg80211: pass a channel definition struct 2012-11-26 12:42:58 +01:00
reg.c cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
reg.h cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
regdb.h cfg80211: relicense reg.c reg.h and genregdb.awk to ISC 2012-01-04 14:30:41 -05:00
scan.c cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
sme.c cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
sysfs.c cfg80211: add wrappers for registered_device_ops 2012-10-18 10:53:37 +02:00
sysfs.h
trace.c cfg80211: add tracing to rdev-ops 2012-10-18 10:53:37 +02:00
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 nl80211/cfg80211: support VHT channel configuration 2012-11-26 12:42:59 +01:00
wext-compat.h cfg80211: remove unused wext handler exports 2011-08-08 14:26:29 -04:00
wext-core.c wext: include wireless event id when it has a size problem 2012-09-05 16:12:44 +02:00
wext-priv.c wext: fix potential private ioctl memory content leak 2010-09-20 13:41:40 -04:00
wext-proc.c net: spread __net_init, __net_exit 2010-01-17 19:16:02 -08:00
wext-sme.c cfg80211: fix BSS struct IE access races 2012-11-30 13:42:20 +01:00
wext-spy.c wireless: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:19 -04:00