lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 8 May 2020 09:31:55 -0700
From:   Wei Wang <weiwan@...gle.com>
To:     Eric Dumazet <edumazet@...gle.com>
Cc:     "David S . Miller" <davem@...emloft.net>,
        netdev <netdev@...r.kernel.org>,
        Eric Dumazet <eric.dumazet@...il.com>,
        Martin KaFai Lau <kafai@...com>,
        David Ahern <dsahern@...nel.org>,
        Maciej ┼╗enczykowski <maze@...gle.com>
Subject: Re: [PATCH net-next] ipv6: use DST_NOCOUNT in ip6_rt_pcpu_alloc()

On Fri, May 8, 2020 at 7:34 AM Eric Dumazet <edumazet@...gle.com> wrote:
>
> We currently have to adjust ipv6 route gc_thresh/max_size depending
> on number of cpus on a server, this makes very little sense.
>
> If the kernels sets /proc/sys/net/ipv6/route/gc_thresh to 1024
> and /proc/sys/net/ipv6/route/max_size to 4096, then we better
> not track the percpu dst that our implementation uses.
>
> Only routes not added (directly or indirectly) by the admin
> should be tracked and limited.
>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
> Cc: Martin KaFai Lau <kafai@...com>
> Cc: David Ahern <dsahern@...nel.org>
> Cc: Wei Wang <weiwan@...gle.com>
> Cc: Maciej ┼╗enczykowski <maze@...gle.com>
> ---


Acked-by: Wei Wang <weiwan@...gle.com>

>
>  net/ipv6/route.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> index a9072dba00f4fb0b61bce1fc0f44a3a81ba702fa..4292653af533bb641ae8571fffe45b39327d0380 100644
> --- a/net/ipv6/route.c
> +++ b/net/ipv6/route.c
> @@ -1377,7 +1377,7 @@ static struct rt6_info *ip6_rt_pcpu_alloc(const struct fib6_result *res)
>
>         rcu_read_lock();
>         dev = ip6_rt_get_dev_rcu(res);
> -       pcpu_rt = ip6_dst_alloc(dev_net(dev), dev, flags);
> +       pcpu_rt = ip6_dst_alloc(dev_net(dev), dev, flags | DST_NOCOUNT);
>         rcu_read_unlock();
>         if (!pcpu_rt) {
>                 fib6_info_release(f6i);
> --
> 2.26.2.645.ge9eca65c58-goog
>

Powered by blists - more mailing lists