DORMANTno replies LANDED

Landed in mainline as fa22b51ace8a on 2023-01-10.

[PATCH] mac80211: Fix MLO address translation for multiple bss case

From: Sriram R <hidden>
Date: 2022-12-08 04:01:26
Subsystem: mac80211, the rest · Maintainers: Johannes Berg, Linus Torvalds

When multiple interfaces are present in the local interface
list, new skb copy is taken before rx processing except for
the first interface. The address translation happens each
time only on the original skb since the hdr pointer is not
updated properly to the newly created skb.

As a result frames start to drop in userspace when address
based checks or search fails.

Signed-off-by: Sriram R <redacted>
---
 net/mac80211/rx.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 8dcd67d..3206b42 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -5072,6 +5072,9 @@ static bool ieee80211_prepare_and_rx_handle(struct ieee80211_rx_data *rx,
 		 */
 		shwt = skb_hwtstamps(rx->skb);
 		shwt->hwtstamp = skb_hwtstamps(skb)->hwtstamp;
+
+		/* Update the hdr pointer to the new skb for translation below */
+		hdr = (struct ieee80211_hdr *)rx->skb->data;
 	}
 
 	if (unlikely(link_sta)) {
-- 
2.17.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help