[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190604.145522.1019698960837846036.davem@davemloft.net>
Date: Tue, 04 Jun 2019 14:55:22 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dsahern@...nel.org
Cc: netdev@...r.kernel.org, dsahern@...il.com
Subject: Re: [PATCH net-next] ipv6: Always allocate pcpu memory in a fib6_nh
From: David Ahern <dsahern@...nel.org>
Date: Mon, 3 Jun 2019 18:37:03 -0700
> From: David Ahern <dsahern@...il.com>
>
> A recent commit had an unintended side effect with reject routes:
> rt6i_pcpu is expected to always be initialized for all fib6_info except
> the null entry. The commit mentioned below skips it for reject routes
> and ends up leaking references to the loopback device. For example,
>
> ip netns add foo
> ip -netns foo li set lo up
> ip -netns foo -6 ro add blackhole 2001:db8:1::1
> ip netns exec foo ping6 2001:db8:1::1
> ip netns del foo
>
> ends up spewing:
> unregister_netdevice: waiting for lo to become free. Usage count = 3
>
> The fib_nh_common_init is not needed for reject routes (no ipv4 caching
> or encaps), so move the alloc_percpu_gfp after it and adjust the goto label.
>
> Fixes: f40b6ae2b612 ("ipv6: Move pcpu cached routes to fib6_nh")
> Signed-off-by: David Ahern <dsahern@...il.com>
Applied.
Powered by blists - more mailing lists