linux/net/mac80211
Johannes Berg 6b0f32745d mac80211: fix duplicate retransmission detection
The duplicate retransmission detection code in mac80211
erroneously attempts to do the check for every frame,
even frames that don't have a sequence control field or
that don't use it (QoS-Null frames.)

This is problematic because it causes the code to access
data beyond the end of the SKB and depending on the data
there will drop packets erroneously.

Correct the code to not do duplicate detection for such
frames.

I found this error while testing AP powersave, it lead
to retransmitted PS-Poll frames being dropped entirely
as the data beyond the end of the SKB was always zero.

Cc: stable@vger.kernel.org [all versions]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-16 09:55:59 +03:00
..
aes_ccm.c wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
aes_ccm.h
aes_cmac.c mac80211: include export.h in aes_cmac 2012-11-07 18:01:54 +01:00
aes_cmac.h
agg-rx.c mac80211: improve aggregation debug messages 2013-01-18 21:55:15 +01:00
agg-tx.c mac80211: fix aggregation state with current drivers 2013-01-24 15:43:51 +01:00
cfg.c mac80211: fix ethtool stats for non-station interfaces 2013-07-16 09:55:57 +03:00
cfg.h
chan.c Merge remote-tracking branch 'wireless-next/master' into mac80211-next 2013-04-22 15:31:43 +02:00
debug.h mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs_key.c mac80211: move sdata debugfs dir to vif 2013-03-18 20:10:04 +01:00
debugfs_key.h
debugfs_netdev.c cfg80211/mac80211: use cfg80211 wdev mutex in mac80211 2013-05-25 00:02:16 +02:00
debugfs_netdev.h
debugfs_sta.c mac80211: add beacon stats to debugfs 2013-04-08 09:16:54 +02:00
debugfs_sta.h
debugfs.c mac80211: remove IEEE80211_HW_SCAN_WHILE_IDLE 2013-02-11 18:45:01 +01:00
debugfs.h mac80211: use __printf attribute in debugfs 2012-10-18 09:01:57 +02:00
driver-ops.h mac80211: support active monitor interfaces 2013-05-29 09:11:56 +02:00
event.c
ht.c mac80211: Ensure tid_start_tx is protected by sta->lock 2013-06-13 10:27:07 +02:00
ibss.c Revert "mac80211: in IBSS use the Auth frame to trigger STA reinsertion" 2013-06-18 16:36:59 +02:00
ieee80211_i.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-06-19 16:49:39 -07:00
iface.c Merge remote-tracking branch 'mac80211/master' into HEAD 2013-06-19 18:55:12 +02:00
Kconfig Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
key.c wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
key.h wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
led.c leds: Rename led_brightness_set() to led_set_brightness() 2012-07-24 07:52:34 +08:00
led.h
main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-07-09 18:24:39 -07:00
Makefile mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh_hwmp.c mac80211: parse VHT channel switch IEs 2013-04-16 15:29:45 +02:00
mesh_pathtbl.c mac80211: return new mpath from mesh_path_add() 2013-04-08 09:16:59 +02:00
mesh_plink.c mac80211: fix various components for the new 5 and 10 MHz widths 2013-06-18 16:17:11 +02:00
mesh_ps.c mac80211: consolidate MBSS change notification 2013-02-15 09:41:09 +01:00
mesh_sync.c mac80211: clean up mesh code 2013-02-15 15:46:37 +01:00
mesh.c mac80211: fix various components for the new 5 and 10 MHz widths 2013-06-18 16:17:11 +02:00
mesh.h mac80211: update mesh beacon on workqueue 2013-06-18 15:57:27 +02:00
michael.c
michael.h
mlme.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-06-19 16:49:39 -07:00
offchannel.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-04-10 14:09:54 -04:00
pm.c mac80211: use synchronize_rcu() with rcu_barrier() 2013-04-22 15:40:39 +02:00
rate.c Merge remote-tracking branch 'mac80211/master' into HEAD 2013-06-19 18:55:12 +02:00
rate.h mac80211: track number of spatial streams 2013-02-15 09:41:31 +01:00
rc80211_minstrel_debugfs.c mac80211: cosmetics for minstrel_debugfs 2013-04-17 17:08:23 +02:00
rc80211_minstrel_ht_debugfs.c mac80211/minstrel_ht: add support for using CCK rates 2013-02-13 10:56:33 +01:00
rc80211_minstrel_ht.c mac80211/minstrel_ht: fix cck rate sampling 2013-07-16 09:55:56 +03:00
rc80211_minstrel_ht.h mac80211/minstrel_ht: use the new rate control API 2013-04-22 16:16:41 +02:00
rc80211_minstrel.c mac80211/minstrel: use the new rate control API 2013-04-22 16:16:41 +02:00
rc80211_minstrel.h mac80211/minstrel: use the new rate control API 2013-04-22 16:16:41 +02:00
rc80211_pid_algo.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
rc80211_pid_debugfs.c
rc80211_pid.h
rx.c mac80211: fix duplicate retransmission detection 2013-07-16 09:55:59 +03:00
scan.c mac80211: track AP's beacon rate and give it to the driver 2013-06-13 11:58:47 +02:00
spectmgmt.c
sta_info.c mac80211: initialize power mode for mesh STAs 2013-06-24 15:59:20 +02:00
sta_info.h mac80211: Ensure tid_start_tx is protected by sta->lock 2013-06-13 10:27:07 +02:00
status.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
tkip.c mac80211: use just spin_lock() in ieee80211_get_tkip_p2k() 2013-05-16 22:38:06 +02:00
tkip.h
trace.c mac80211: trace debug messages 2012-06-24 11:33:18 +02:00
trace.h mac80211: support secondary channel offset in CSA 2013-04-16 15:29:44 +02:00
tx.c mac80211: don't check local mesh TTL on TX 2013-06-03 16:53:51 +02:00
util.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-06-19 16:49:39 -07:00
vht.c mac80211: Fix VHT bandwidth change event 2013-06-13 11:58:47 +02: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: mesh power save basics 2013-02-04 18:57:47 +01:00
wme.h mac80211: save wmm_acm per sdata 2012-06-20 17:35:22 +02:00
wpa.c wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
wpa.h mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00