android_kernel_oneplus_msm8998/net/mac80211
Yu Wang 3fea925a91 mac80211: handle deauthentication/disassociation from TDLS peer
[ Upstream commit 79c92ca42b5a3e0ea172ea2ce8df8e125af237da ]

When receiving a deauthentication/disassociation frame from a TDLS
peer, a station should not disconnect the current AP, but only
disable the current TDLS link if it's enabled.

Without this change, a TDLS issue can be reproduced by following the
steps as below:

1. STA-1 and STA-2 are connected to AP, bidirection traffic is running
   between STA-1 and STA-2.
2. Set up TDLS link between STA-1 and STA-2, stay for a while, then
   teardown TDLS link.
3. Repeat step  and monitor the connection between STA and AP.

During the test, one STA may send a deauthentication/disassociation
frame to another, after TDLS teardown, with reason code 6/7, which
means: Class 2/3 frame received from nonassociated STA.

On receive this frame, the receiver STA will disconnect the current
AP and then reconnect. It's not a expected behavior, purpose of this
frame should be disabling the TDLS link, not the link with AP.

Cc: stable@vger.kernel.org
Signed-off-by: Yu Wang <yyuwang@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-10-05 12:27:39 +02:00
..
aes_ccm.c
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.c
aes_gcm.h
aes_gmac.c
aes_gmac.h
agg-rx.c
agg-tx.c
cfg.c mac80211: fix possible sta leak 2019-09-06 10:18:17 +02:00
chan.c
debug.h
debugfs.c net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y 2018-01-17 09:35:25 +01:00
debugfs.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c
debugfs_netdev.h
debugfs_sta.c
debugfs_sta.h
driver-ops.c mac80211: don't warn about CW params when not using them 2019-08-25 10:52:46 +02:00
driver-ops.h mac80211: do not call driver wake_tx_queue op during reconfig 2019-04-27 09:34:02 +02:00
ethtool.c
ht.c
ibss.c mac80211: shorten the IBSS debug messages 2018-10-10 08:52:11 +02:00
ieee80211_i.h mac80211: handle deauthentication/disassociation from TDLS peer 2019-10-05 12:27:39 +02:00
iface.c mac80211: Clear beacon_int in ieee80211_do_stop 2018-12-13 09:21:37 +01:00
Kconfig
key.c mac80211: restrict delayed tailroom needed decrement 2018-09-26 08:35:06 +02:00
key.h
led.c
led.h
main.c mac80211: fix a race between restart and CSA flows 2018-10-10 08:52:11 +02:00
Makefile
mesh.c mac80211: mesh: fix RCU warning 2019-07-21 09:07:06 +02:00
mesh.h
mesh_hwmp.c mac80211: fix "warning: ‘target_metric’ may be used uninitialized" 2019-04-03 06:23:23 +02:00
mesh_pathtbl.c
mesh_plink.c
mesh_ps.c
mesh_sync.c
michael.c
michael.h
mlme.c mac80211: handle deauthentication/disassociation from TDLS peer 2019-10-05 12:27:39 +02:00
ocb.c
offchannel.c
pm.c
rate.c
rate.h
rc80211_minstrel.c
rc80211_minstrel.h
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht.c
rc80211_minstrel_ht.h
rc80211_minstrel_ht_debugfs.c
rx.c mac80211: drop robust management frames from unknown TA 2019-07-10 09:56:34 +02:00
scan.c
spectmgmt.c
sta_info.c
sta_info.h
status.c mac80211: ignore tx status for PS stations in ieee80211_tx_status_ext 2018-12-13 09:21:37 +01:00
tdls.c mac80211: handle deauthentication/disassociation from TDLS peer 2019-10-05 12:27:39 +02:00
tkip.c
tkip.h
trace.c
trace.h
trace_msg.h
tx.c mac80211: ensure that mgmt tx skbs have tailroom for encryption 2019-02-20 10:13:19 +01:00
util.c mac80211: add stations tied to AP_VLANs during hw reconfig 2018-09-05 09:18:33 +02:00
vht.c
wep.c mac80211: Add RX flag to indicate ICV stripped 2018-05-16 10:06:46 +02:00
wep.h
wme.c
wme.h
wpa.c mac80211: Add RX flag to indicate ICV stripped 2018-05-16 10:06:46 +02:00
wpa.h