[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ee659bf6-789f-edc0-a668-db1c4b0abb20@cumulusnetworks.com>
Date: Tue, 28 Feb 2017 11:01:03 -0800
From: David Ahern <dsa@...ulusnetworks.com>
To: Cong Wang <xiyou.wangcong@...il.com>, netdev@...r.kernel.org
Cc: andreyknvl@...gle.com
Subject: Re: [Patch net] ipv6: ignore null_entry in inet6_rtm_getroute() too
On 2/28/17 10:44 AM, Cong Wang wrote:
> Like commit 1f17e2f2c8a8 ("net: ipv6: ignore null_entry on route dumps"),
> we need to ignore null entry in inet6_rtm_getroute() too.
>
> Return -ENOENT here because we return the same errno when deleting
> the null entry.
>
> Fixes: a1a22c1206 ("net: ipv6: Keep nexthop of multipath route on admin down")
> Reported-by: Dmitry Vyukov <dvyukov@...gle.com>
> Cc: David Ahern <dsa@...ulusnetworks.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com>
> ---
> net/ipv6/route.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> index f54f426..25590d1 100644
> --- a/net/ipv6/route.c
> +++ b/net/ipv6/route.c
> @@ -3627,6 +3627,12 @@ static int inet6_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh)
> rt = (struct rt6_info *)ip6_route_output(net, NULL, &fl6);
> }
>
> + if (rt == net->ipv6.ip6_null_entry) {
> + ip6_rt_put(rt);
> + err = -ENOENT;
> + goto errout;
> + }
> +
> skb = alloc_skb(NLMSG_GOODSIZE, GFP_KERNEL);
> if (!skb) {
> ip6_rt_put(rt);
>
hold on. That test exposed something else, not just a getroute problem.
I accidentally ran 'unsahre -n; ip -6 ro ls' on my host machine instead
of a VM, so took some time to recover. dumproute already covers the null
route.
I'll get back to this in the afternoon.
Powered by blists - more mailing lists