Patch "wifi: mac80211: Don't translate MLD addresses for multicast" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    wifi: mac80211: Don't translate MLD addresses for multicast

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     wifi-mac80211-don-t-translate-mld-addresses-for-mult.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 7fe47d5e2658717503d14d12d37858d46a848b87
Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx>
Date:   Tue Feb 14 12:10:48 2023 +0200

    wifi: mac80211: Don't translate MLD addresses for multicast
    
    [ Upstream commit daf8fb4295dccc032515cdc1bd3873370063542b ]
    
    MLD address translation should be done only for individually addressed
    frames. Otherwise, AAD calculation would be wrong and the decryption
    would fail.
    
    Fixes: e66b7920aa5ac ("wifi: mac80211: fix initialization of rx->link and rx->link_sta")
    Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx>
    Link: https://lore.kernel.org/r/20230214101048.792414-1-andrei.otcheretianski@xxxxxxxxx
    Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index f9604dc182a87..08e01bddc9fb2 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -4861,7 +4861,8 @@ static bool ieee80211_prepare_and_rx_handle(struct ieee80211_rx_data *rx,
 		hdr = (struct ieee80211_hdr *)rx->skb->data;
 	}
 
-	if (unlikely(rx->sta && rx->sta->sta.mlo)) {
+	if (unlikely(rx->sta && rx->sta->sta.mlo) &&
+	    is_unicast_ether_addr(hdr->addr1)) {
 		/* translate to MLD addresses */
 		if (ether_addr_equal(link->conf->addr, hdr->addr1))
 			ether_addr_copy(hdr->addr1, rx->sdata->vif.addr);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux