From 48002331da85c7c962cfbc09c8bd84d219a6fe1c Mon Sep 17 00:00:00 2001 From: Chien Wong Date: Mon, 12 Oct 2026 22:07:37 +0800 Subject: [PATCH] wifi: mac80211: reserve MME tailroom for protected beacons Beacon protection appends an MME to beacons, but the skb allocation does not reserve tailroom for it. If the available tailroom is too small, the crypto path drops the beacon. Two factors often mask this: the 256-byte TIM reservation is rarely fully used, and dev_alloc_skb() may round up the allocation, leaving extra tailroom. Neither guarantees enough room for the MME. Reserve enough room for the largest MME. Fixes: 0a3a84360b37 ("mac80211: Beacon protection using the new BIGTK (AP)") Signed-off-by: Chien Wong Link: https://patch.msgid.link/20261012140738.70178-3-m@xv97.com Signed-off-by: Johannes Berg --- net/mac80211/tx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index ef97d6d3bdcd..e9b6a0415d6a 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -5724,7 +5724,8 @@ __ieee80211_beacon_get_ap(struct ieee80211_hw *hw, skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + beacon->tail_len + 256 + - local->hw.extra_beacon_tailroom + mbssid_len); + local->hw.extra_beacon_tailroom + mbssid_len + + IEEE80211_ENCRYPT_TAILROOM); if (!skb) return NULL;