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