linux/net/wireless
Johannes Berg ccb6c1360f cfg80211: don't get expired BSSes
When kernel-internal users use cfg80211_get_bss()
to get a reference to a BSS struct, they may end
up getting one that would have been removed from
the list if there had been any userspace access
to the list. This leads to inconsistencies and
problems.

Fix it by making cfg80211_get_bss() ignore BSSes
that cfg80211_bss_expire() would remove.

Fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2180

Cc: stable@kernel.org
Reported-by: Jiajia Zheng <jiajia.zheng@intel.com>
Tested-by: Jiajia Zheng <jiajia.zheng@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-07-14 13:52:45 -04:00
..
.gitignore wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
chan.c cfg80211: don't refuse HT20 channels on devices that don't support HT40 2010-06-02 16:13:17 -04:00
core.c cfg80211: move cfg80211_exit to .exit.text 2010-06-18 15:11:13 -04:00
core.h cfg80211: make action channel type optional 2010-06-02 16:13:27 -04:00
db.txt wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
debugfs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
ethtool.c cfg80211: add firmware and hardware version to wiphy 2009-10-07 16:39:46 -04:00
ethtool.h net/wireless/ethtool.h: drop unnecessary include of linux/ethtool.h 2009-10-07 16:39:49 -04:00
genregdb.awk wireless: fix comments in genregdb.awk 2009-12-25 16:35:43 -08:00
ibss.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-11 14:24:55 -04:00
Kconfig wireless: remove CONFIG_WIRELESS_OLD_REGULATORY 2009-12-28 16:31:37 -05:00
lib80211_crypt_ccmp.c lib80211: Cosmetics - make room for MIC/CRC near the actual calculation 2010-02-02 16:03:38 -05:00
lib80211_crypt_tkip.c lib80211: Introduce TKIP_HDR_LEN define for code clarity 2010-02-02 16:03:38 -05:00
lib80211_crypt_wep.c lib80211: absorb crypto bits from net/ieee80211 2008-11-21 11:08:17 -05:00
lib80211.c lib80211: consolidate crypt init routines 2008-11-21 11:08:17 -05:00
Makefile wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
mlme.c cfg80211: ignore spurious deauth 2010-07-12 16:05:31 -04:00
nl80211.c NET: nl80211, fix lock imbalance and netdev referencing 2010-07-07 15:48:18 -04:00
nl80211.h cfg80211: Add connection quality monitoring support to nl80211 2010-03-24 16:02:37 -04:00
radiotap.c wireless: update radiotap parser 2010-02-08 16:50:53 -05:00
reg.c wireless: mark reg_mutex as static 2010-06-24 15:42:12 -04:00
reg.h wireless: move regulatory_init to .init.text 2010-06-18 15:11:13 -04:00
regdb.h wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
scan.c cfg80211: don't get expired BSSes 2010-07-14 13:52:45 -04:00
sme.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-11 14:24:55 -04:00
sysfs.c cfg80211: export multiple MAC addresses in sysfs 2010-01-22 16:11:16 -05:00
sysfs.h
util.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-04-15 16:21:34 -04:00
wext-compat.c cfg80211/mac80211: Update set_tx_power to use mBm instead of dBm units 2010-06-24 15:42:33 -04:00
wext-compat.h cfg80211: validate channel settings across interfaces 2009-08-14 09:13:42 -04:00
wext-core.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
wext-priv.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wext-proc.c net: spread __net_init, __net_exit 2010-01-17 19:16:02 -08:00
wext-sme.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-11 14:24:55 -04:00
wext-spy.c wext: refactor 2009-10-07 16:39:43 -04:00