linux/net/mac80211
Stanislaw Gruszka 4045f72bcf mac80211: check if key has TKIP type before updating IV
This patch fix corruption which can manifest itself by following crash
when switching on rfkill switch with rt2x00 driver:
https://bugzilla.redhat.com/attachment.cgi?id=615362

Pointer key->u.ccmp.tfm of group key get corrupted in:

ieee80211_rx_h_michael_mic_verify():

        /* update IV in key information to be able to detect replays */
        rx->key->u.tkip.rx[rx->security_idx].iv32 = rx->tkip_iv32;
        rx->key->u.tkip.rx[rx->security_idx].iv16 = rx->tkip_iv16;

because rt2x00 always set RX_FLAG_MMIC_STRIPPED, even if key is not TKIP.

We already check type of the key in different path in
ieee80211_rx_h_michael_mic_verify() function, so adding additional
check here is reasonable.

Cc: stable@vger.kernel.org # 3.0+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-10-15 14:42:53 -04:00
..
aes_ccm.c
aes_ccm.h
aes_cmac.c mac80211: simplify buffers in aes_128_cmac_vector 2012-08-20 14:03:18 +02:00
aes_cmac.h
agg-rx.c
agg-tx.c mac80211: don't send delBA on addBA failure 2012-09-21 16:14:14 +02:00
cfg.c cfg80211: constify name parameter to add_virtual_intf 2012-09-19 09:32:59 +02:00
cfg.h
chan.c mac80211: refactor set_channel_type 2012-09-06 17:55:00 +02:00
debug.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c
debugfs_netdev.h
debugfs_sta.c
debugfs_sta.h
debugfs.c mac80211: make reset debugfs depend on CONFIG_PM 2012-09-19 08:20:24 +02:00
debugfs.h
driver-ops.h mac80211: support P2P Device abstraction 2012-08-20 13:58:22 +02:00
event.c
ht.c
ibss.c mac80211: fix IBSS auth TX debug message 2012-09-20 10:31:34 +02:00
ieee80211_i.h mac80211: handle power constraint/country IE better 2012-09-14 14:06:51 +02:00
iface.c mac80211: use call_rcu() on sta deletion 2012-09-10 12:44:17 +02:00
Kconfig
key.c mac80211: use synchronize_net() on key destroying 2012-09-06 17:29:23 +02:00
key.h
led.c leds: Rename led_brightness_set() to led_set_brightness() 2012-07-24 07:52:34 +08:00
led.h
main.c mac80211: change locking around ieee80211_recalc_smps 2012-09-14 14:09:25 +02:00
Makefile
mesh_hwmp.c mac80211: clean up mpath_move_to_queue() 2012-08-20 13:25:05 +02:00
mesh_pathtbl.c mac80211: clean up mpath_move_to_queue() 2012-08-20 13:25:05 +02:00
mesh_plink.c mac80211: allow re-open the blocked peer link in mesh 2012-09-14 14:25:16 +02:00
mesh_sync.c mac80211: call drv_get_tsf() in sleepable context 2012-10-08 15:06:02 -04:00
mesh.c Merge remote-tracking branch 'wireless-next/master' into mac80211-next 2012-09-06 17:05:28 +02:00
mesh.h Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2012-08-21 16:00:21 -04:00
michael.c
michael.h
mlme.c mac80211: don't send delBA before disassoc 2012-09-21 16:14:13 +02:00
offchannel.c mac80211: use list_move instead of list_del/list_add 2012-09-06 11:55:47 +02:00
pm.c
rate.c
rate.h mac80211: use oper_channel in rate init 2012-08-20 14:13:41 +02:00
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht_debugfs.c
rc80211_minstrel_ht.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2012-07-12 15:21:05 -04:00
rc80211_minstrel_ht.h
rc80211_minstrel.c
rc80211_minstrel.h
rc80211_pid_algo.c
rc80211_pid_debugfs.c
rc80211_pid.h
rx.c mac80211: don't use kerneldoc for ieee80211_add_rx_radiotap_header 2012-09-05 15:55:27 +02:00
scan.c net/mac80211/scan.c: removes unnecessary semicolon 2012-09-07 13:30:06 +02:00
spectmgmt.c
sta_info.c mac80211: don't send delBA when removing stations 2012-09-21 16:14:14 +02:00
sta_info.h mac80211: use call_rcu() on sta deletion 2012-09-10 12:44:17 +02:00
status.c mac80211: use ieee80211_free_txskb to fix possible skb leaks 2012-10-08 15:06:05 -04:00
tkip.c
tkip.h
trace.c
trace.h mac80211: don't assume channel is set in tracing 2012-08-20 14:13:42 +02:00
tx.c mac80211: use ieee80211_free_txskb to fix possible skb leaks 2012-10-08 15:06:05 -04:00
util.c mac80211: change locking around ieee80211_recalc_smps 2012-09-14 14:09:25 +02:00
wep.c
wep.h
wme.c
wme.h
wpa.c mac80211: check if key has TKIP type before updating IV 2012-10-15 14:42:53 -04:00
wpa.h