Searched hist:"554873 e517115c4b7207259f1cadfd77d90b5395" (Results 1 – 4 of 4) sorted by relevance
/openbmc/linux/drivers/net/ |
H A D | dummy.c | diff 554873e517115c4b7207259f1cadfd77d90b5395 Fri Mar 30 11:38:37 CDT 2018 Kirill Tkhai <ktkhai@virtuozzo.com> net: Do not take net_rwsem in __rtnl_link_unregister()
This function calls call_netdevice_notifier(), which also may take net_rwsem. So, we can't use net_rwsem here.
This patch makes callers of this functions take pernet_ops_rwsem, like register_netdevice_notifier() does. This will protect the modifications of net_namespace_list, and allows notifiers to take it (they won't have to care about context).
Since __rtnl_link_unregister() is used on module load and unload (which are not frequent operations), this looks for me better, than make all call_netdevice_notifier() always executing in "protected net_namespace_list" context.
Also, this fixes the problem we had a deal in 328fbe747ad4 "Close race between {un, }register_netdevice_notifier and ...", and guarantees __rtnl_link_unregister() does not skip exitting net.
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
H A D | ifb.c | diff 554873e517115c4b7207259f1cadfd77d90b5395 Fri Mar 30 11:38:37 CDT 2018 Kirill Tkhai <ktkhai@virtuozzo.com> net: Do not take net_rwsem in __rtnl_link_unregister()
This function calls call_netdevice_notifier(), which also may take net_rwsem. So, we can't use net_rwsem here.
This patch makes callers of this functions take pernet_ops_rwsem, like register_netdevice_notifier() does. This will protect the modifications of net_namespace_list, and allows notifiers to take it (they won't have to care about context).
Since __rtnl_link_unregister() is used on module load and unload (which are not frequent operations), this looks for me better, than make all call_netdevice_notifier() always executing in "protected net_namespace_list" context.
Also, this fixes the problem we had a deal in 328fbe747ad4 "Close race between {un, }register_netdevice_notifier and ...", and guarantees __rtnl_link_unregister() does not skip exitting net.
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
/openbmc/linux/net/core/ |
H A D | net_namespace.c | diff 554873e517115c4b7207259f1cadfd77d90b5395 Fri Mar 30 11:38:37 CDT 2018 Kirill Tkhai <ktkhai@virtuozzo.com> net: Do not take net_rwsem in __rtnl_link_unregister()
This function calls call_netdevice_notifier(), which also may take net_rwsem. So, we can't use net_rwsem here.
This patch makes callers of this functions take pernet_ops_rwsem, like register_netdevice_notifier() does. This will protect the modifications of net_namespace_list, and allows notifiers to take it (they won't have to care about context).
Since __rtnl_link_unregister() is used on module load and unload (which are not frequent operations), this looks for me better, than make all call_netdevice_notifier() always executing in "protected net_namespace_list" context.
Also, this fixes the problem we had a deal in 328fbe747ad4 "Close race between {un, }register_netdevice_notifier and ...", and guarantees __rtnl_link_unregister() does not skip exitting net.
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
H A D | rtnetlink.c | diff 554873e517115c4b7207259f1cadfd77d90b5395 Fri Mar 30 11:38:37 CDT 2018 Kirill Tkhai <ktkhai@virtuozzo.com> net: Do not take net_rwsem in __rtnl_link_unregister()
This function calls call_netdevice_notifier(), which also may take net_rwsem. So, we can't use net_rwsem here.
This patch makes callers of this functions take pernet_ops_rwsem, like register_netdevice_notifier() does. This will protect the modifications of net_namespace_list, and allows notifiers to take it (they won't have to care about context).
Since __rtnl_link_unregister() is used on module load and unload (which are not frequent operations), this looks for me better, than make all call_netdevice_notifier() always executing in "protected net_namespace_list" context.
Also, this fixes the problem we had a deal in 328fbe747ad4 "Close race between {un, }register_netdevice_notifier and ...", and guarantees __rtnl_link_unregister() does not skip exitting net.
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|