On 6/3/19 6:58 PM, Martin Lau wrote: > I have concern on calling ip6_create_rt_rcu() in general which seems > to trace back to this commit > dec9b0e295f6 ("net/ipv6: Add rt6_info create function for > ip6_pol_route_lookup") > > This rt is not tracked in pcpu_rt, rt6_uncached_list or exception bucket. > In particular, how to react to NETDEV_UNREGISTER/DOWN like > the rt6_uncached_list_flush_dev() does and calls dev_put()? > > The existing callers seem to do dst_release() immediately without > caching it, but still concerning.
those are the callers that don't care about the dst_entry, but are forced to deal with it. Removing the tie between fib lookups an dst_entry is again the right solution.