mac80211: mesh: drop frames appearing to be from us
Upstream backport to fix issues arising from devices with duplicate MAC addresses Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
21d3643828
commit
166741240a
|
@ -0,0 +1,25 @@
|
||||||
|
From: Johannes Berg <johannes.berg@intel.com>
|
||||||
|
Date: Thu, 4 Jan 2018 15:51:53 +0100
|
||||||
|
Subject: [PATCH] mac80211: mesh: drop frames appearing to be from us
|
||||||
|
|
||||||
|
If there are multiple mesh stations with the same MAC address,
|
||||||
|
they will both get confused and start throwing warnings.
|
||||||
|
|
||||||
|
Obviously in this case nothing can actually work anyway, so just
|
||||||
|
drop frames that look like they're from ourselves early on.
|
||||||
|
|
||||||
|
Reported-by: Gui Iribarren <gui@altermundi.net>
|
||||||
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
--- a/net/mac80211/rx.c
|
||||||
|
+++ b/net/mac80211/rx.c
|
||||||
|
@@ -3632,6 +3632,8 @@ static bool ieee80211_accept_frame(struc
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case NL80211_IFTYPE_MESH_POINT:
|
||||||
|
+ if (ether_addr_equal(sdata->vif.addr, hdr->addr2))
|
||||||
|
+ return false;
|
||||||
|
if (multicast)
|
||||||
|
return true;
|
||||||
|
return ether_addr_equal(sdata->vif.addr, hdr->addr1);
|
Loading…
Reference in New Issue