Commit 6f2667b9 authored by Kuniyuki Iwashima's avatar Kuniyuki Iwashima Committed by Jakub Kicinski
Browse files

vxlan: Convert vxlan_exit_batch_rtnl() to ->exit_rtnl().



vxlan_exit_batch_rtnl() iterates the dying netns list and
performs the same operations for each.

Let's use ->exit_rtnl().

Signed-off-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: default avatarNikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: default avatarSabrina Dubroca <sd@queasysnail.net>
Link: https://patch.msgid.link/20250411205258.63164-6-kuniyu@amazon.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent cf701038
Loading
Loading
Loading
Loading
+7 −11
Original line number Diff line number Diff line
@@ -4966,20 +4966,16 @@ 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,
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);

		__unregister_nexthop_notifier(net, &vn->nexthop_notifier_block);
	ASSERT_RTNL_NET(net);

	__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),