mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 06:25:52 +02:00
net: ip6_tunnel: Unregister catch-all devices
commit941ea91e87upstream. Similarly to the sit case, we need to remove the tunnels with no addresses that have been moved to another network namespace. Fixes:0bd8762824("ip6tnl: add x-netns support") Signed-off-by: Hristo Venev <hristo@venev.name> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ea0340e632
commit
33f3dab42a
|
|
@ -2275,6 +2275,16 @@ static void __net_exit ip6_tnl_destroy_tunnels(struct net *net, struct list_head
|
||||||
t = rtnl_dereference(t->next);
|
t = rtnl_dereference(t->next);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
t = rtnl_dereference(ip6n->tnls_wc[0]);
|
||||||
|
while (t) {
|
||||||
|
/* If dev is in the same netns, it has already
|
||||||
|
* been added to the list by the previous loop.
|
||||||
|
*/
|
||||||
|
if (!net_eq(dev_net(t->dev), net))
|
||||||
|
unregister_netdevice_queue(t->dev, list);
|
||||||
|
t = rtnl_dereference(t->next);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __net_init ip6_tnl_init_net(struct net *net)
|
static int __net_init ip6_tnl_init_net(struct net *net)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user