summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorVlad Yasevich2013-04-23 13:05:23 +0200
committerDavid S. Miller2013-04-25 10:14:08 +0200
commit37fe0660981d7a1577409226f77554c2c5123e27 (patch)
tree5a58c6c80f6ff19e6c70d1f7fbd9d4405bab7f88 /net/core
parentnet/cpsw: fix irq_disable() with threaded interrupts (diff)
downloadkernel-qcow2-linux-37fe0660981d7a1577409226f77554c2c5123e27.tar.gz
kernel-qcow2-linux-37fe0660981d7a1577409226f77554c2c5123e27.tar.xz
kernel-qcow2-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/core')
-rw-r--r--net/core/rtnetlink.c2
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;
}