mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
bridge: vlan: use synchronize_net() when holding RTNL
br_vlan_flush() and nbp_vlan_flush() should use synchronize_net() instead of syncronize_rcu() to release RTNL sooner. Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Nikolay Aleksandrov <razor@blackwall.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4cd582ffa5
commit
48ebf6ebbc
@ -841,7 +841,7 @@ void br_vlan_flush(struct net_bridge *br)
|
||||
vg = br_vlan_group(br);
|
||||
__vlan_flush(br, NULL, vg);
|
||||
RCU_INIT_POINTER(br->vlgrp, NULL);
|
||||
synchronize_rcu();
|
||||
synchronize_net();
|
||||
__vlan_group_free(vg);
|
||||
}
|
||||
|
||||
@ -1372,7 +1372,7 @@ void nbp_vlan_flush(struct net_bridge_port *port)
|
||||
vg = nbp_vlan_group(port);
|
||||
__vlan_flush(port->br, port, vg);
|
||||
RCU_INIT_POINTER(port->vlgrp, NULL);
|
||||
synchronize_rcu();
|
||||
synchronize_net();
|
||||
__vlan_group_free(vg);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user