aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-05-19 17:35:49 +0200
committerFelix Fietkau <nbd@nbd.name>2016-05-19 17:55:54 +0200
commit24270e9493e0832c4976c7001e527f4a2b9b761e (patch)
tree65b9af10def2605de8ef81fafdc56feb35eb5023
parent3bc90f9626eee251a0d19d60044d0d544e2f3316 (diff)
downloadupstream-24270e9493e0832c4976c7001e527f4a2b9b761e.tar.gz
upstream-24270e9493e0832c4976c7001e527f4a2b9b761e.tar.bz2
upstream-24270e9493e0832c4976c7001e527f4a2b9b761e.zip
mac80211: fix unaligned accesses in the tx path
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--package/kernel/mac80211/patches/304-mac80211-fix-fast_tx-header-alignment.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/304-mac80211-fix-fast_tx-header-alignment.patch b/package/kernel/mac80211/patches/304-mac80211-fix-fast_tx-header-alignment.patch
new file mode 100644
index 0000000000..6316d81729
--- /dev/null
+++ b/package/kernel/mac80211/patches/304-mac80211-fix-fast_tx-header-alignment.patch
@@ -0,0 +1,25 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Thu, 19 May 2016 17:32:13 +0200
+Subject: [PATCH] mac80211: fix fast_tx header alignment
+
+The header field is defined as u8[] but also accessed as struct
+ieee80211_hdr. Enforce an alignment of 2 to prevent unnecessary
+unaligned accesses, which can be very harmful for performance on many
+platforms.
+
+Fixes: e495c24731a2 ("mac80211: extend fast-xmit for more ciphers")
+Cc: stable@vger.kernel.org
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/net/mac80211/sta_info.h
++++ b/net/mac80211/sta_info.h
+@@ -280,7 +280,7 @@ struct ieee80211_fast_tx {
+ u8 sa_offs, da_offs, pn_offs;
+ u8 band;
+ u8 hdr[30 + 2 + IEEE80211_FAST_XMIT_MAX_IV +
+- sizeof(rfc1042_header)];
++ sizeof(rfc1042_header)] __aligned(2);
+
+ struct rcu_head rcu_head;
+ };