diff options
author | Eric Dumazet <edumazet@google.com> | 2024-02-09 15:30:58 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2024-02-12 12:17:02 +0000 |
commit | 48ebf6ebbc91a6e6b2c0ac1217573e81b37ef2ab (patch) | |
tree | 6c42aae5429cd71c18c594f6418c2796c62b1f35 /net/bridge | |
parent | 4cd582ffa5a9a5d58e5bac9c5e55ca8eeabffddc (diff) | |
download | linux-48ebf6ebbc91a6e6b2c0ac1217573e81b37ef2ab.tar.gz linux-48ebf6ebbc91a6e6b2c0ac1217573e81b37ef2ab.tar.bz2 linux-48ebf6ebbc91a6e6b2c0ac1217573e81b37ef2ab.zip |
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>
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/br_vlan.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c index 15f44d026e75..9c2fffb827ab 100644 --- a/net/bridge/br_vlan.c +++ b/net/bridge/br_vlan.c @@ -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); } |