mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
ovs: Remove rtnl_lock() from ovs_exit_net()
Here we iterate for_each_net() and removes vport from alive net to the exiting net. ovs_net::dps are protected by ovs_mutex(), and the others, who change it (ovs_dp_cmd_new(), __dp_destroy()) also take it. The same with datapath::ports list. So, we remove rtnl_lock() here. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
350311aab4
commit
ec9c780925
@ -2363,12 +2363,10 @@ static void __net_exit ovs_exit_net(struct net *dnet)
|
||||
list_for_each_entry_safe(dp, dp_next, &ovs_net->dps, list_node)
|
||||
__dp_destroy(dp);
|
||||
|
||||
rtnl_lock();
|
||||
down_read(&net_rwsem);
|
||||
for_each_net(net)
|
||||
list_vports_from_net(net, dnet, &head);
|
||||
up_read(&net_rwsem);
|
||||
rtnl_unlock();
|
||||
|
||||
/* Detach all vports from given namespace. */
|
||||
list_for_each_entry_safe(vport, vport_next, &head, detach_list) {
|
||||
|
Loading…
Reference in New Issue
Block a user