linux/net/wireless
Johannes Berg e6f462df9a cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts
When mac80211 abandons an association attempt, it may free
all the data structures, but inform cfg80211 and userspace
about it only by sending the deauth frame it received, in
which case cfg80211 has no link to the BSS struct that was
used and will not cfg80211_unhold_bss() it.

Fix this by providing a way to inform cfg80211 of this with
the BSS entry passed, so that it can clean up properly, and
use this ability in the appropriate places in mac80211.

This isn't ideal: some code is more or less duplicated and
tracing is missing. However, it's a fairly small change and
it's thus easier to backport - cleanups can come later.

Cc: stable@vger.kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2016-12-09 12:57:49 +01:00
..
.gitignore
ap.c cfg80211: export interface stopping function 2014-05-06 15:16:34 +02:00
chan.c cfg80211: add start / stop NAN commands 2016-09-30 13:21:14 +02:00
core.c cfg80211: disallow beacon_int_min_gcd with IBSS 2016-10-27 09:08:45 +02:00
core.h cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts 2016-12-09 12:57:49 +01:00
db.txt
debugfs.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
debugfs.h
ethtool.c cfg80211: make ethtool the driver's responsibility 2014-06-23 11:05:33 +02:00
genregdb.awk wireless: fixup genregdb.awk for remove of antenna gain from wireless-regd 2014-07-21 12:24:20 +02:00
ibss.c cfg80211: Add support for static WEP in the driver 2016-09-30 13:19:10 +02:00
Kconfig cfg80211: Fix some linguistics in Kconfig 2016-02-24 09:04:23 +01:00
lib80211_crypt_ccmp.c lib80211: ratelimit key index mismatch 2015-12-04 14:43:32 +01:00
lib80211_crypt_tkip.c lib80211: Use skcipher and ahash 2016-01-27 20:36:03 +08:00
lib80211_crypt_wep.c lib80211: Use skcipher and ahash 2016-01-27 20:36:03 +08:00
lib80211.c lib80211: remove unused print_ssid() 2014-10-14 02:18:27 +02:00
Makefile cfg80211: 802.11p OCB mode handling 2014-11-04 13:18:17 +01:00
mesh.c cfg80211: mesh: track (and thus validate) beacon interval 2016-10-27 09:08:45 +02:00
mlme.c cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts 2016-12-09 12:57:49 +01:00
nl80211.c nl80211: Use different attrs for BSSID and random MAC addr in scan req 2016-12-09 12:47:19 +01:00
nl80211.h cfg80211: always notify userspace of new wireless netdevs 2016-08-11 16:51:41 +02:00
ocb.c cfg80211: ocb: Fix null pointer deref if join_ocb is unimplemented 2015-12-04 14:43:32 +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 support to update connection parameters 2016-10-27 16:03:28 +02:00
reg.c cfg80211: make wdev_list accessible to drivers 2016-05-12 11:16:40 +02:00
reg.h cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02: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: add helper to find an IE that matches a byte-array 2016-09-16 14:49:52 +02:00
sme.c cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts 2016-12-09 12:57:49 +01:00
sysfs.c cfg80211: process events caused by suspend before suspending 2016-10-26 07:59:52 +02:00
sysfs.h net: misc: Remove extern from function prototypes 2013-10-19 19:12:11 -04:00
trace.c cfg80211: add tracing to rdev-ops 2012-10-18 10:53:37 +02:00
trace.h cfg80211: Add support to update connection parameters 2016-10-27 16:03:28 +02:00
util.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-10-30 12:42:58 -04:00
wext-compat.c cfg80211: Add support for static WEP in the driver 2016-09-30 13:19:10 +02:00
wext-compat.h cfg80211-wext: export symbols only when needed 2015-02-28 21:31:09 +01:00
wext-core.c Revert "wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel" 2016-08-08 08:49:50 +02:00
wext-priv.c
wext-proc.c net: proc: change proc_net_remove to remove_proc_entry 2013-02-18 14:53:08 -05:00
wext-sme.c cfg80211: Add support for static WEP in the driver 2016-09-30 13:19:10 +02:00
wext-spy.c wireless: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:19 -04:00