summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSabrina Dubroca <sd@queasysnail.net>2014-03-06 20:51:57 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-04-14 17:47:19 +0400
commit0e0e70fba39b7151196116409daf4d35e93d173c (patch)
tree06d35bede4da2c5ee19e0466da3881e8f9396422
parent0ceb6013f1a3b17eb187f598b3bf935e6c17d168 (diff)
downloadlinux-0e0e70fba39b7151196116409daf4d35e93d173c.tar.xz
ipv6: don't set DST_NOCOUNT for remotely added routes
[ Upstream commit c88507fbad8055297c1d1e21e599f46960cbee39 ] DST_NOCOUNT should only be used if an authorized user adds routes locally. In case of routes which are added on behalf of router advertisments this flag must not get used as it allows an unlimited number of routes getting added remotely. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/ipv6/route.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 4b4944c3e4c4..40b6e6910792 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1495,7 +1495,7 @@ int ip6_route_add(struct fib6_config *cfg)
if (!table)
goto out;
- rt = ip6_dst_alloc(net, NULL, DST_NOCOUNT, table);
+ rt = ip6_dst_alloc(net, NULL, (cfg->fc_flags & RTF_ADDRCONF) ? 0 : DST_NOCOUNT, table);
if (!rt) {
err = -ENOMEM;