diff options
author | Stephen Hemminger <stephen@networkplumber.org> | 2013-06-26 02:02:49 +0200 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2013-06-26 02:02:49 +0200 |
commit | 3f5d6af0948a33a58001182de9cbb6b3e674ea14 (patch) | |
tree | 73a4ccde21718f3890f594d8622df73495a43853 /net | |
parent | bonding: add an option to fail when any of arp_ip_target is inaccessible (diff) | |
parent | bridge: check for zero ether address in fdb add (diff) | |
download | linux-3f5d6af0948a33a58001182de9cbb6b3e674ea14.tar.xz linux-3f5d6af0948a33a58001182de9cbb6b3e674ea14.zip |
Merge ../vxlan-x
Diffstat (limited to 'net')
-rw-r--r-- | net/bridge/br_fdb.c | 5 | ||||
-rw-r--r-- | net/core/rtnetlink.c | 8 |
2 files changed, 5 insertions, 8 deletions
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c index ebfa4443c69b..60aca9109a50 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", diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 9007533867f0..3de740834d1f 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -2109,10 +2109,6 @@ static int rtnl_fdb_add(struct sk_buff *skb, struct nlmsghdr *nlh) } addr = nla_data(tb[NDA_LLADDR]); - if (is_zero_ether_addr(addr)) { - pr_info("PF_BRIDGE: RTM_NEWNEIGH with invalid ether address\n"); - return -EINVAL; - } err = -EOPNOTSUPP; @@ -2210,10 +2206,6 @@ static int rtnl_fdb_del(struct sk_buff *skb, struct nlmsghdr *nlh) } addr = nla_data(tb[NDA_LLADDR]); - if (is_zero_ether_addr(addr)) { - pr_info("PF_BRIDGE: RTM_DELNEIGH with invalid ether address\n"); - return -EINVAL; - } err = -EOPNOTSUPP; |