linux-uconsole/net/wireless
Johannes Berg 001632030b cfg80211: don't get expired BSSes
commit ccb6c1360f upstream.

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

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-10 10:20:43 -07:00
..
chan.c cfg80211: fix locking for SIWFREQ 2009-08-14 09:13:51 -04:00
core.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
core.h wireless: report reasonable bitrate for MCS rates through wext 2010-07-05 11:11:11 -07:00
debugfs.c cfg80211: clean up naming once and for all 2009-07-10 15:02:33 -04:00
debugfs.h cfg80211: clean up naming once and for all 2009-07-10 15:02:33 -04:00
ibss.c cfg80211: make spurious warnings less likely, configurable 2009-08-28 14:40:30 -04:00
Kconfig wireless: update cfg80211 kconfig entry 2009-09-08 16:31:06 -04:00
lib80211.c lib80211: consolidate crypt init routines 2008-11-21 11:08:17 -05:00
lib80211_crypt_ccmp.c lib80211: silence excessive crypto debugging messages 2009-03-16 18:01:58 -04:00
lib80211_crypt_tkip.c lib80211: silence excessive crypto debugging messages 2009-03-16 18:01:58 -04:00
lib80211_crypt_wep.c lib80211: absorb crypto bits from net/ieee80211 2008-11-21 11:08:17 -05:00
Makefile cfg80211: validate channel settings across interfaces 2009-08-14 09:13:42 -04:00
mlme.c cfg80211: ignore spurious deauth 2010-08-10 10:20:42 -07:00
nl80211.c wireless: report reasonable bitrate for MCS rates through wext 2010-07-05 11:11:11 -07:00
nl80211.h cfg80211: fix locking 2009-07-10 15:02:32 -04:00
radiotap.c wireless: use get/put_unaligned_* helpers 2008-05-14 16:29:32 -04:00
reg.c cfg80211: fix syntax error on user regulatory hints 2010-01-18 10:19:45 -08:00
reg.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
scan.c cfg80211: don't get expired BSSes 2010-08-10 10:20:43 -07:00
sme.c cfg80211: fix channel setting for wext 2010-01-28 15:02:38 -08:00
sysfs.c cfg80211: rename cfg80211_registered_device's idx to wiphy_idx 2009-02-27 14:52:54 -05:00
sysfs.h [WIRELESS] cfg80211: New wireless config infrastructure. 2007-04-25 22:29:41 -07:00
util.c wireless: report reasonable bitrate for MCS rates through wext 2010-07-05 11:11:11 -07:00
wext-compat.c wireless: report reasonable bitrate for MCS rates through wext 2010-07-05 11:11:11 -07:00
wext-compat.h cfg80211: validate channel settings across interfaces 2009-08-14 09:13:42 -04:00
wext-sme.c cfg80211: don't set privacy w/o key 2009-09-28 16:55:04 -04:00
wext.c wext: add back wireless/ dir in sysfs for cfg80211 interfaces 2009-09-28 16:55:07 -04:00