summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSabrina Dubroca <sd@queasysnail.net>2014-03-06 17:51:57 +0100
committerDavid S. Miller <davem@davemloft.net>2014-03-06 17:29:27 -0500
commitc88507fbad8055297c1d1e21e599f46960cbee39 (patch)
tree6096363b9a553bca322108f23db2fe1f348d3fd1
parent97989356af0ec8b1b1658d804892abb354127330 (diff)
downloadop-kernel-dev-c88507fbad8055297c1d1e21e599f46960cbee39.zip
op-kernel-dev-c88507fbad8055297c1d1e21e599f46960cbee39.tar.gz
ipv6: don't set DST_NOCOUNT for remotely added routes
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>
-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 11dac21..fba54a4 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1513,7 +1513,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;
OpenPOWER on IntegriCloud