diff options
author | Stephen Hemminger <stephen@networkplumber.org> | 2013-06-25 09:34:36 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2013-06-25 16:59:27 -0700 |
commit | 537f7f8494be4219eb0ef47121ea16a6f9f0f49e (patch) | |
tree | 7da675320abf8088deba467c48d5e4755efc9435 /net/bridge/br_fdb.c | |
parent | 58e4c767046a35f11a55af6ce946054ddf4a8580 (diff) | |
download | op-kernel-dev-537f7f8494be4219eb0ef47121ea16a6f9f0f49e.zip op-kernel-dev-537f7f8494be4219eb0ef47121ea16a6f9f0f49e.tar.gz |
bridge: check for zero ether address in fdb add
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>
Diffstat (limited to 'net/bridge/br_fdb.c')
-rw-r--r-- | net/bridge/br_fdb.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c index ebfa444..60aca91 100644 --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c @@ -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", |