]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.6.7/mac80211-don-t-inspect-sequence-control-field-on-control-frames.patch
Linux 3.6.7
[thirdparty/kernel/stable-queue.git] / releases / 3.6.7 / mac80211-don-t-inspect-sequence-control-field-on-control-frames.patch
CommitLineData
2d1c2790
GKH
1From f7fbf70ee9db6da6033ae50d100e017ac1f26555 Mon Sep 17 00:00:00 2001
2From: Javier Cardona <javier@cozybit.com>
3Date: Thu, 25 Oct 2012 11:10:18 -0700
4Subject: mac80211: don't inspect Sequence Control field on control frames
5
6From: Javier Cardona <javier@cozybit.com>
7
8commit f7fbf70ee9db6da6033ae50d100e017ac1f26555 upstream.
9
10Per IEEE Std. 802.11-2012, Sec 8.2.4.4.1, the sequence Control field is
11not present in control frames. We noticed this problem when processing
12Block Ack Requests.
13
14Signed-off-by: Javier Cardona <javier@cozybit.com>
15Signed-off-by: Javier Lopez <jlopex@cozybit.com>
16Signed-off-by: Johannes Berg <johannes.berg@intel.com>
17Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
18
19---
20 net/mac80211/rx.c | 4 ++++
21 1 file changed, 4 insertions(+)
22
23--- a/net/mac80211/rx.c
24+++ b/net/mac80211/rx.c
25@@ -1422,6 +1422,10 @@ ieee80211_rx_h_defragment(struct ieee802
26
27 hdr = (struct ieee80211_hdr *)rx->skb->data;
28 fc = hdr->frame_control;
29+
30+ if (ieee80211_is_ctl(fc))
31+ return RX_CONTINUE;
32+
33 sc = le16_to_cpu(hdr->seq_ctrl);
34 frag = sc & IEEE80211_SCTL_FRAG;
35