linux/net/mac80211
Michal Kazior 2b32713d72 mac80211: fix racy usage of chanctx->refcount
Channel context refcount is protected by
chanctx_mtx. Accessing the value without holding
the mutex is racy. RCU section didn't guarantee
anything here.

Theoretically ieee80211_channel_switch() could
fail to see refcount change and read "1" instead
of, e.g. "2". This means mac80211 could accept CSA
even though it shouldn't have.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2014-04-25 17:08:30 +02:00
..
Kconfig mac80211: process the CSA frame for mesh accordingly 2013-10-28 15:05:28 +01:00
Makefile mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
aes_ccm.c mac80211: remove VLAIS usage from mac80211 2014-04-09 10:55:27 +02:00
aes_ccm.h mac80211: port CCMP to cryptoapi's CCM driver 2013-10-11 15:38:20 +02:00
aes_cmac.c mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
aes_cmac.h mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
agg-rx.c mac80211: improve aggregation debug messages 2013-01-18 21:55:15 +01:00
agg-tx.c mac80211: send {ADD,DEL}BA on AC_VO like other mgmt frames, as per spec 2014-02-04 21:48:28 +01:00
cfg.c mac80211: fix racy usage of chanctx->refcount 2014-04-25 17:08:30 +02:00
cfg.h mac80211: make cfg80211 ops and privid const 2014-02-04 21:48:21 +01:00
chan.c mac80211: split ieee80211_free_chanctx() 2014-04-25 17:08:30 +02:00
debug.h mac80211: process the CSA frame for mesh accordingly 2013-10-28 15:05:28 +01:00
debugfs.c mac80211: use RCU_INIT_POINTER 2014-04-09 10:55:30 +02:00
debugfs.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
debugfs_key.c mac80211: move sdata debugfs dir to vif 2013-03-18 20:10:04 +01:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c mac80211: add beacon_loss debugfs file 2014-02-11 12:58:45 +01:00
debugfs_netdev.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
debugfs_sta.c mac80211: fix agg_status debugfs file write 2014-02-04 21:48:19 +01:00
debugfs_sta.h
driver-ops.h mac80211: add vif to flush call 2014-04-09 10:55:29 +02:00
event.c
ht.c mac80211: Allow HT capa override to add 40 MHz intolerant 2014-04-22 17:23:19 +02:00
ibss.c cfg80211/mac80211: move combination check to mac80211 for ibss 2014-04-09 10:55:45 +02:00
ieee80211_i.h mac80211: track reserved vifs in chanctx 2014-04-25 17:08:29 +02:00
iface.c mac80211: track reserved vifs in chanctx 2014-04-25 17:08:29 +02:00
key.c mac80211: free all AP/VLAN keys at once 2013-12-16 11:29:48 +01:00
key.h mac80211: free all AP/VLAN keys at once 2013-12-16 11:29:48 +01:00
led.c mac80211: use oneshot blink API for LED triggers 2013-08-01 10:48:49 +02:00
led.h mac80211: use oneshot blink API for LED triggers 2013-08-01 10:48:49 +02:00
main.c mac80211: Allow HT capa override to add 40 MHz intolerant 2014-04-22 17:23:19 +02:00
mesh.c mac80211: fix mesh_add_rsn_ie IE finding loop 2014-04-22 17:24:49 +02:00
mesh.h mac80211: use put_unaligned_le in mesh when necessary 2013-11-25 20:51:55 +01:00
mesh_hwmp.c mac80211: mesh: always use the latest target_sn 2014-04-22 17:24:50 +02:00
mesh_pathtbl.c mac80211: use put_unaligned_le in mesh when necessary 2013-11-25 20:51:55 +01:00
mesh_plink.c mac80211: enable WME for peer mesh STA 2014-01-06 17:43:06 +01:00
mesh_ps.c mac80211: clear sequence/fragment number in QoS-null frames 2014-03-05 15:49:54 +01:00
mesh_sync.c mac80211: update adjusting TBTT bit in beacon 2013-12-16 14:21:22 +01:00
michael.c
michael.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
mlme.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-03-20 11:53:20 -04:00
offchannel.c mac80211: Run deferred scan if last roc_list item is not started 2013-09-30 12:36:56 +02:00
pm.c mac80211: fix suspend vs. authentication race 2014-03-19 21:29:53 +01:00
rate.c mac80211: remove module handling from rate control ops 2014-02-04 21:48:26 +01:00
rate.h mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_minstrel.c mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_minstrel.h mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_minstrel_debugfs.c mac80211: cosmetics for minstrel_debugfs 2013-04-17 17:08:23 +02:00
rc80211_minstrel_ht.c mac80211: minstrel_ht: sample_table can be __read_mostly 2014-02-04 21:48:25 +01:00
rc80211_minstrel_ht.h mac80211/minstrel_ht: use the new rate control API 2013-04-22 16:16:41 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: minstrel_ht: replace some occurences of MCS_GROUP_RATES 2013-11-25 20:52:07 +01:00
rc80211_pid.h Fix common misspellings 2011-03-31 11:26:23 -03:00
rc80211_pid_algo.c mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_pid_debugfs.c mac80211: fix some snprintf misuses 2013-10-01 12:16:51 +02:00
rx.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-03-20 11:53:20 -04:00
scan.c mac80211: use RCU_INIT_POINTER 2014-04-09 10:55:30 +02:00
spectmgmt.c mac80211: fix the mesh channel switch support 2013-11-25 16:50:13 +01:00
sta_info.c mac80211: clear sequence/fragment number in QoS-null frames 2014-03-05 15:49:54 +01:00
sta_info.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-03-05 20:32:02 -05:00
status.c mac80211: remove set but unused variables 2014-02-04 21:58:14 +01:00
tkip.c mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
tkip.h mac80211: fix TKIP races, make API easier to use 2011-07-08 11:11:19 -04:00
trace.c mac80211: trace debug messages 2012-06-24 11:33:18 +02:00
trace.h mac80211: add tracing for ieee80211_sta_set_buffered 2014-01-06 12:09:01 +01:00
tx.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-03-20 11:53:20 -04:00
util.c mac80211: add max channel calculation utility function 2014-04-25 17:08:15 +02:00
vht.c mac80211: update opmode when adding new station 2014-02-05 14:03:23 +01:00
wep.c wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
wep.h mac80211: move RX WEP weak IV counting 2012-03-13 14:54:16 -04:00
wme.c mac80211: send control port protocol frames to the VO queue 2014-02-12 11:26:43 +01:00
wme.h mac80211: save wmm_acm per sdata 2012-06-20 17:35:22 +02:00
wpa.c mac80211: add length check in ieee80211_is_robust_mgmt_frame() 2014-02-04 21:58:07 +01:00
wpa.h mac80211: add generic cipher scheme support 2013-11-25 20:50:52 +01:00