Commit 48ebf6eb authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

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: default avatarEric Dumazet <edumazet@google.com>
Acked-by: default avatarNikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4cd582ff
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
}