Commit 8680451f38a64bd270233b3c0eeb7c45f2b5efe3
Committed by
Johannes Berg
1 parent
9cbbffe2de
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
mac80211: add encrypt headroom to PERR frames
Mesh PERR action frames are robust and thus may be encrypted, so add proper head/tailroom to allow this. Fixes this warning when operating a Mesh STA on ath5k: WARNING: at net/mac80211/wpa.c:427 ccmp_encrypt_skb.isra.5+0x7b/0x1a0 [mac80211]() Call Trace: [<c011c5e7>] warn_slowpath_common+0x63/0x78 [<c011c60b>] warn_slowpath_null+0xf/0x13 [<e090621d>] ccmp_encrypt_skb.isra.5+0x7b/0x1a0 [mac80211] [<e090685c>] ieee80211_crypto_ccmp_encrypt+0x1f/0x37 [mac80211] [<e0917113>] invoke_tx_handlers+0xcad/0x10bd [mac80211] [<e0917665>] ieee80211_tx+0x87/0xb3 [mac80211] [<e0918932>] ieee80211_tx_pending+0xcc/0x170 [mac80211] [<c0121c43>] tasklet_action+0x3e/0x65 Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Showing 1 changed file with 3 additions and 1 deletions Side-by-side Diff
net/mac80211/mesh_hwmp.c
... | ... | @@ -247,11 +247,13 @@ |
247 | 247 | return -EAGAIN; |
248 | 248 | |
249 | 249 | skb = dev_alloc_skb(local->tx_headroom + |
250 | + IEEE80211_ENCRYPT_HEADROOM + | |
251 | + IEEE80211_ENCRYPT_TAILROOM + | |
250 | 252 | hdr_len + |
251 | 253 | 2 + 15 /* PERR IE */); |
252 | 254 | if (!skb) |
253 | 255 | return -1; |
254 | - skb_reserve(skb, local->tx_headroom); | |
256 | + skb_reserve(skb, local->tx_headroom + IEEE80211_ENCRYPT_HEADROOM); | |
255 | 257 | mgmt = (struct ieee80211_mgmt *) skb_put(skb, hdr_len); |
256 | 258 | memset(mgmt, 0, hdr_len); |
257 | 259 | mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT | |