diff options
author | Vlad Yasevich <vyasevic@redhat.com> | 2013-04-23 11:05:23 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-25 04:14:08 -0400 |
commit | 37fe0660981d7a1577409226f77554c2c5123e27 (patch) | |
tree | 5a58c6c80f6ff19e6c70d1f7fbd9d4405bab7f88 /net | |
parent | a11fbba9a7d338c4a4e4be624af0334bbf2c9a5a (diff) | |
download | linux-37fe0660981d7a1577409226f77554c2c5123e27.tar.gz linux-37fe0660981d7a1577409226f77554c2c5123e27.tar.bz2 linux-37fe0660981d7a1577409226f77554c2c5123e27.zip |
net: fix address check in rtnl_fdb_del
Commit 6681712d67eef14c4ce793561c3231659153a320
vxlan: generalize forwarding tables
relaxed the address checks in rtnl_fdb_del() to use is_zero_ether_addr().
This allows users to add multicast addresses using the fdb API. However,
the check in rtnl_fdb_del() still uses a more strict
is_valid_ether_addr() which rejects multicast addresses. Thus it
is possible to add an fdb that can not be later removed.
Relax the check in rtnl_fdb_del() as well.
Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/rtnetlink.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 18af08a73f0a..a08bd2b7fe3f 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -2192,7 +2192,7 @@ static int rtnl_fdb_del(struct sk_buff *skb, struct nlmsghdr *nlh) } addr = nla_data(tb[NDA_LLADDR]); - if (!is_valid_ether_addr(addr)) { + if (is_zero_ether_addr(addr)) { pr_info("PF_BRIDGE: RTM_DELNEIGH with invalid ether address\n"); return -EINVAL; } |