From: Johannes Berg Date: Wed, 24 Aug 2022 10:37:32 +0000 (+0200) Subject: wifi: mac80211: allow link address A2 in TXQ dequeue X-Git-Tag: v6.1-rc1~170^2~329^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3579f4c28e77a8a19cb804ab7f7ea6843c50f6ad;p=thirdparty%2Flinux.git wifi: mac80211: allow link address A2 in TXQ dequeue In ieee80211_tx_dequeue() we currently allow a control port frame to be transmitted on a non-authorized port only if the A2 matches the local interface address, but if that's an MLD and the peer is a legacy peer, we need to allow link address here. Fix that. Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 1c2658e4976fe..51d564c8742ba 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -3772,8 +3772,8 @@ begin: !test_sta_flag(tx.sta, WLAN_STA_AUTHORIZED) && (!(info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO) || - !ether_addr_equal(tx.sdata->vif.addr, - hdr->addr2)))) { + !ieee80211_is_our_addr(tx.sdata, hdr->addr2, + NULL)))) { I802_DEBUG_INC(local->tx_handlers_drop_unauth_port); ieee80211_free_txskb(&local->hw, skb); goto begin;