On Thu, Jul 20, 2017 at 8:23 AM, Hangbin Liu <liuhang...@gmail.com> wrote: > 2017-07-20 23:06 GMT+08:00 Hangbin Liu <liuhang...@gmail.com>: >>> +++ b/net/ipv6/route.c >>> @@ -3637,12 +3637,6 @@ static int inet6_rtm_getroute(struct sk_buff >>> *in_skb, struct nlmsghdr *nlh, >>> dst = ip6_route_lookup(net, &fl6, 0); >>> >>> rt = container_of(dst, struct rt6_info, dst); >>> - if (rt->dst.error) { >>> - err = rt->dst.error; >>> - ip6_rt_put(rt); >>> - goto errout; >>> - } >> >> hmm... or instead of remove this check, should we check all the entry? Like >> if ((rt->dst.error && rt != net->ipv6.ip6_null_entry && rt != > ^^ mistake here >> net->ipv6.ip6_blk_hole_entry) || >> rt == net->ipv6.ip6_null_entry ) > > Sorry, there should be no need to check ip6_null_entry since the > error is already > -ENETUNREACH. So how about
Hmm? All of these 3 entries have error set, right?? So we should only check dst.error...