| From foo@baz Fri Apr 11 08:46:36 PDT 2014 |
| From: Sabrina Dubroca <sd@queasysnail.net> |
| Date: Thu, 6 Mar 2014 17:51:57 +0100 |
| Subject: ipv6: don't set DST_NOCOUNT for remotely added routes |
| |
| From: Sabrina Dubroca <sd@queasysnail.net> |
| |
| [ 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> |
| --- |
| net/ipv6/route.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/ipv6/route.c |
| +++ b/net/ipv6/route.c |
| @@ -1428,7 +1428,7 @@ int ip6_route_add(struct fib6_config *cf |
| 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; |