From: Kirill Tkhai <ktk...@virtuozzo.com>
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.

Reply via email to