On Mon, May 15, 2017 at 1:37 PM, Julian Anastasov <j...@ssi.bg> wrote: > Any user that does not set FIB_LOOKUP_NOREF > will need nh_dev refcounts. The assumption is that the > NHs are accessed, who knows, may be even after RCU grace > period. As result, we can not use dev_put on NETDEV_UNREGISTER. > So, we should check if there are users that do not > set FIB_LOOKUP_NOREF, at first look, I don't see such ones > for IPv4.
I see, although we do have FIB_LOOKUP_NOREF set all the times, there are other places we hold fib_clntref too, for example mlxsw_sp_router_fib_event_work(), it actually uses nh_dev too... So I am afraid moving dev_put() to fib_release_info() is not a solution here. I have to rethink about it.