]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bridge: Convert br_net_exit_batch_rtnl() to ->exit_rtnl().
authorKuniyuki Iwashima <kuniyu@amazon.com>
Fri, 11 Apr 2025 20:52:38 +0000 (13:52 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Apr 2025 00:08:43 +0000 (17:08 -0700)
br_net_exit_batch_rtnl() iterates the dying netns list and
performs the same operation for each.

Let's use ->exit_rtnl().

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://patch.msgid.link/20250411205258.63164-10-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/bridge/br.c

index 25dda554ca5b358126a8113ae81c0568703909a3..0adeafe11a3651829b9a09ed29d2e947ded5b5be 100644 (file)
@@ -368,21 +368,20 @@ void br_opt_toggle(struct net_bridge *br, enum net_bridge_opts opt, bool on)
                clear_bit(opt, &br->options);
 }
 
-static void __net_exit br_net_exit_batch_rtnl(struct list_head *net_list,
-                                             struct list_head *dev_to_kill)
+static void __net_exit br_net_exit_rtnl(struct net *net,
+                                       struct list_head *dev_to_kill)
 {
        struct net_device *dev;
-       struct net *net;
 
-       ASSERT_RTNL();
-       list_for_each_entry(net, net_list, exit_list)
-               for_each_netdev(net, dev)
-                       if (netif_is_bridge_master(dev))
-                               br_dev_delete(dev, dev_to_kill);
+       ASSERT_RTNL_NET(net);
+
+       for_each_netdev(net, dev)
+               if (netif_is_bridge_master(dev))
+                       br_dev_delete(dev, dev_to_kill);
 }
 
 static struct pernet_operations br_net_ops = {
-       .exit_batch_rtnl = br_net_exit_batch_rtnl,
+       .exit_rtnl = br_net_exit_rtnl,
 };
 
 static const struct stp_proto br_stp_proto = {