From: Sven Eckelmann <s...@narfation.org>

The routing check for management frames is validating the source mac
address in the outer ethernet header. It rejects every source mac address
which is a broadcast address. But it also has to reject the zero-mac
address and multicast mac addresses.

Signed-off-by: Sven Eckelmann <s...@narfation.org>
Signed-off-by: Simon Wunderlich <s...@simonwunderlich.de>
---
 net/batman-adv/routing.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
index c02897b..4f034df 100644
--- a/net/batman-adv/routing.c
+++ b/net/batman-adv/routing.c
@@ -196,8 +196,8 @@ bool batadv_check_management_packet(struct sk_buff *skb,
        if (!is_broadcast_ether_addr(ethhdr->h_dest))
                return false;
 
-       /* packet with broadcast sender address */
-       if (is_broadcast_ether_addr(ethhdr->h_source))
+       /* packet with invalid sender address */
+       if (!is_valid_ether_addr(ethhdr->h_source))
                return false;
 
        /* create a copy of the skb, if needed, to modify it. */
-- 
2.10.1

Reply via email to