From: Kirill Tkhai <[email protected]>
Date: Fri, 30 Mar 2018 19:38:16 +0300
> there is wext_netdev_notifier_call()->wireless_nlevent_flush()
> netdevice notifier, which takes net_rwsem, so we can't take
> net_rwsem in {,un}register_netdevice_notifier().
>
> Since {,un}register_netdevice_notifier() is executed under
> pernet_ops_rwsem, net_namespace_list can't change, while we
> holding it, so there is no need net_rwsem in these functions [1/2].
>
> The same is in [2/2]. We make callers of __rtnl_link_unregister()
> take pernet_ops_rwsem, and close the race with setup_net()
> and cleanup_net(), so __rtnl_link_unregister() does not need it.
> This also fixes the problem of that __rtnl_link_unregister() does
> not see initializing and exiting nets.
Series applied.