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

Let's use ->exit_rtnl().

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://patch.msgid.link/20250411205258.63164-6-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/vxlan/vxlan_core.c

index 9ccc3f09f71b8c4939bb0e62e3b336a0dfdd79c5..56aee539c235f178e1ed18a8f6465cc59b2be545 100644 (file)
@@ -4966,19 +4966,15 @@ static void __net_exit vxlan_destroy_tunnels(struct vxlan_net *vn,
                vxlan_dellink(vxlan->dev, dev_to_kill);
 }
 
-static void __net_exit vxlan_exit_batch_rtnl(struct list_head *net_list,
-                                            struct list_head *dev_to_kill)
+static void __net_exit vxlan_exit_rtnl(struct net *net,
+                                      struct list_head *dev_to_kill)
 {
-       struct net *net;
-
-       ASSERT_RTNL();
-       list_for_each_entry(net, net_list, exit_list) {
-               struct vxlan_net *vn = net_generic(net, vxlan_net_id);
+       struct vxlan_net *vn = net_generic(net, vxlan_net_id);
 
-               __unregister_nexthop_notifier(net, &vn->nexthop_notifier_block);
+       ASSERT_RTNL_NET(net);
 
-               vxlan_destroy_tunnels(vn, dev_to_kill);
-       }
+       __unregister_nexthop_notifier(net, &vn->nexthop_notifier_block);
+       vxlan_destroy_tunnels(vn, dev_to_kill);
 }
 
 static void __net_exit vxlan_exit_net(struct net *net)
@@ -4992,7 +4988,7 @@ static void __net_exit vxlan_exit_net(struct net *net)
 
 static struct pernet_operations vxlan_net_ops = {
        .init = vxlan_init_net,
-       .exit_batch_rtnl = vxlan_exit_batch_rtnl,
+       .exit_rtnl = vxlan_exit_rtnl,
        .exit = vxlan_exit_net,
        .id   = &vxlan_net_id,
        .size = sizeof(struct vxlan_net),