bridge: check for zero ether address in fdb add
authorStephen Hemminger <stephen@networkplumber.org>
Tue, 25 Jun 2013 16:34:36 +0000 (09:34 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 25 Jun 2013 23:59:27 +0000 (16:59 -0700)
The check for all-zero ether address was removed from rtnetlink core,
since Vxlan uses all-zero ether address to signify default address.
Need to add check back in for bridge.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
net/bridge/br_fdb.c

index ebfa444..60aca91 100644 (file)
@@ -707,6 +707,11 @@ int br_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
                }
        }
 
+       if (is_zero_ether_addr(addr)) {
+               pr_info("bridge: RTM_NEWNEIGH with invalid ether address\n");
+               return -EINVAL;
+       }
+
        p = br_port_get_rtnl(dev);
        if (p == NULL) {
                pr_info("bridge: RTM_NEWNEIGH %s not a bridge port\n",