Johannes Berg
0afe9d4ab9
mac80211: fix locking in ieee80211_sta_tear_down_BA_sessions
...
Due to overlap between
commit 1281103770 ("mac80211: Simplify locking in ieee80211_sta_tear_down_BA_sessions()")
and the way that Luca modified
commit 72e2c3438b ("mac80211: tear down RX aggregations first")
when sending it upstream from Intel's internal tree, we get
the following warning:
WARNING: CPU: 0 PID: 5472 at net/mac80211/agg-tx.c:315 ___ieee80211_stop_tx_ba_session+0x158/0x1f0
since there's no appropriate locking around the call to
___ieee80211_stop_tx_ba_session; Sara's original just had
a call to the locked __ieee80211_stop_tx_ba_session (one
less underscore) but it looks like Luca modified both of
the calls when fixing it up for upstream, leading to the
problem at hand.
Move the locking appropriately to fix this problem.
Reported-by: Kalle Valo <[email protected] >
Reported-by: Pavel Machek <[email protected] >
Tested-by: Pavel Machek <[email protected] >
Signed-off-by: Johannes Berg <[email protected] >
2017-12-11 10:50:00 +01:00
..
aead_api.c
mac80211: use crypto_aead_authsize()
2017-10-11 15:46:45 +02:00
aead_api.h
mac80211: aead api to reduce redundancy
2017-10-11 09:37:35 +02:00
aes_ccm.h
mac80211: aead api to reduce redundancy
2017-10-11 09:37:35 +02:00
aes_cmac.c
mac80211: aes-cmac: switch to shash CMAC driver
2017-02-08 09:19:33 +01:00
aes_cmac.h
mac80211: aes-cmac: switch to shash CMAC driver
2017-02-08 09:19:33 +01:00
aes_gcm.h
mac80211: aead api to reduce redundancy
2017-10-11 09:37:35 +02:00
aes_gmac.c
mac80211: move struct aead_req off the stack
2016-10-17 16:14:04 +02:00
aes_gmac.h
mac80211: move struct aead_req off the stack
2016-10-17 16:14:04 +02:00
agg-rx.c
mac80211: aggregation: Convert timers to use timer_setup()
2017-11-20 16:55:23 +01:00
agg-tx.c
mac80211: properly free requested-but-not-started TX agg sessions
2017-11-20 17:01:31 +01:00
cfg.c
mac80211: validate user rate mask before configuring driver
2017-10-18 09:39:56 +02:00
chan.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-01-17 15:19:37 -05:00
debug.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
debugfs.c
mac80211: check for allocation failure in debugfs code
2017-02-08 10:05:07 +01:00
debugfs.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
debugfs_key.c
mac80211: move TKIP TX IVs to public part of key struct
2016-02-24 09:04:38 +01:00
debugfs_key.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
debugfs_netdev.c
networking: convert many more places to skb_put_zero()
2017-06-16 11:48:35 -04:00
debugfs_netdev.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
debugfs_sta.c
mac80211: Dynamically set CoDel parameters per station
2017-05-17 16:03:40 +02:00
debugfs_sta.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
driver-ops.c
mac80211: add offset_tsf driver op and use it for mesh
2016-09-30 13:45:44 +02:00
driver-ops.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ethtool.c
fils_aead.c
Some more updates:
2017-02-10 14:31:51 -05:00
fils_aead.h
mac80211: FILS AEAD protection for station mode association frames
2016-10-27 16:03:25 +02:00
ht.c
mac80211: fix locking in ieee80211_sta_tear_down_BA_sessions
2017-12-11 10:50:00 +01:00
ibss.c
mac80211: Convert timers to use timer_setup()
2017-11-20 16:55:11 +01:00
ieee80211_i.h
mac80211: Convert timers to use timer_setup()
2017-11-20 16:55:11 +01:00
iface.c
mac80211: only remove AP VLAN frames from TXQ
2017-10-11 09:49:40 +02:00
Kconfig
mac80211: fils_aead: Use crypto api CMAC shash rather than bare cipher
2017-02-08 09:19:17 +01:00
key.c
mac80211: don't compare TKIP TX MIC key in reinstall prevention
2017-10-25 11:04:45 +02:00
key.h
mac80211: aes-cmac: switch to shash CMAC driver
2017-02-08 09:19:33 +01:00
led.c
mac80211: Convert timers to use timer_setup()
2017-11-20 16:55:11 +01:00
led.h
main.c
mac80211: Convert timers to use timer_setup()
2017-11-20 16:55:11 +01:00
Makefile
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-11-04 09:26:51 +09:00
mesh.c
mac80211: Convert timers to use timer_setup()
2017-11-20 16:55:11 +01:00
mesh.h
mac80211: Convert timers to use timer_setup()
2017-11-20 16:55:11 +01:00
mesh_hwmp.c
mac80211: fix the update of path metric for RANN frame
2017-11-27 11:24:26 +01:00
mesh_pathtbl.c
mac80211: Convert timers to use timer_setup()
2017-11-20 16:55:11 +01:00
mesh_plink.c
net/mac80211/mesh_plink: Convert timers to use timer_setup()
2017-10-06 11:47:52 +02:00
mesh_ps.c
networking: make skb_put & friends return void pointers
2017-06-16 11:48:39 -04:00
mesh_sync.c
mac80211: Use appropriate name for functions and messages
2016-12-13 16:22:27 +01:00
michael.c
michael.h
mlme.c
mac80211: use QoS NDP for AP probing
2017-11-27 11:23:20 +01:00
ocb.c
mac80211: Convert timers to use timer_setup()
2017-11-20 16:55:11 +01:00
offchannel.c
mac80211: flush hw_roc_start work before cancelling the ROC
2017-09-05 16:25:07 +02:00
pm.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
rate.c
mac80211: Dynamically set CoDel parameters per station
2017-05-17 16:03:40 +02:00
rate.h
mac80211: make rate control tx status API more extensible
2017-04-28 10:57:33 +02:00
rc80211_minstrel.c
mac80211: make rate control tx status API more extensible
2017-04-28 10:57:33 +02:00
rc80211_minstrel.h
mac80211: minstrel: make prob_ewma u16 instead of u32
2016-12-15 11:07:53 +01:00
rc80211_minstrel_debugfs.c
mac80211: minstrel: store probability variance instead of standard deviation
2016-12-15 11:07:52 +01:00
rc80211_minstrel_ht.c
mac80211: make rate control tx status API more extensible
2017-04-28 10:57:33 +02:00
rc80211_minstrel_ht.h
mac80211: minstrel_ht: move supported bitrate mask out of group data
2016-12-15 11:07:52 +01:00
rc80211_minstrel_ht_debugfs.c
mac80211: minstrel: store probability variance instead of standard deviation
2016-12-15 11:07:52 +01:00
rx.c
networking: make skb_push & __skb_push return void pointers
2017-06-16 11:48:40 -04:00
scan.c
mac80211: oce: enable receiving of bcast probe resp
2017-09-21 11:42:00 +02:00
spectmgmt.c
networking: convert many more places to skb_put_zero()
2017-06-16 11:48:35 -04:00
sta_info.c
mac80211: aggregation: Convert timers to use timer_setup()
2017-11-20 16:55:23 +01:00
sta_info.h
mac80211: aggregation: Convert timers to use timer_setup()
2017-11-20 16:55:23 +01:00
status.c
networking: make skb_push & __skb_push return void pointers
2017-06-16 11:48:40 -04:00
tdls.c
net: manual clean code which call skb_put_[data:zero]
2017-06-20 13:30:15 -04:00
tkip.c
mac80211: move TKIP TX IVs to public part of key struct
2016-02-24 09:04:38 +01:00
tkip.h
mac80211: move TKIP TX IVs to public part of key struct
2016-02-24 09:04:38 +01:00
trace.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
trace.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
trace_msg.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
tx.c
mac80211: use QoS NDP for AP probing
2017-11-27 11:23:20 +01:00
util.c
mac80211: use offsetofend()
2017-09-21 11:42:01 +02:00
vht.c
mac80211: fix bandwidth computation for TDLS peers
2017-10-02 14:06:19 +02:00
wep.c
mac80211: Add RX flag to indicate ICV stripped
2017-01-12 10:15:18 +01:00
wep.h
wme.c
mac80211: preserve more bits when building QoS header
2016-10-12 14:17:13 +02:00
wme.h
wpa.c
mac80211: aead api to reduce redundancy
2017-10-11 09:37:35 +02:00
wpa.h