linux-stable/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
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.c mac80211: remove IEEE80211_HW_SCAN_WHILE_IDLE 2013-02-11 18:45:01 +01:00
debugfs.h
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
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
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.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
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
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.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_minstrel_debugfs.c mac80211: cosmetics for minstrel_debugfs 2013-04-17 17:08:23 +02: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_ht_debugfs.c mac80211/minstrel_ht: add support for using CCK rates 2013-02-13 10:56:33 +01:00
rc80211_pid.h
rc80211_pid_algo.c
rc80211_pid_debugfs.c
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
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
wme.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
wme.h
wpa.c wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
wpa.h