path: root/net/ipv6/ip6_tunnel.c
diff options
authorNicolas Dichtel <>2013-12-13 09:06:35 (GMT)
committerGreg Kroah-Hartman <>2013-12-20 15:45:11 (GMT)
commit22c3ec552c29cf4bd4a75566088950fe57d860c4 (patch)
tree7b7989e86ec67b6d9264e2f3336ac84971108ca5 /net/ipv6/ip6_tunnel.c
parent39be1c3dd03ee291a006189fe1cf43a5322a6eaf (diff)
ip6tnl: fix use after free of fb_tnl_dev
The upstream commit bb8140947a24 ("ip6tnl: allow to use rtnl ops on fb tunnel") (backported into linux-3.10.y) left a bug which was fixed upstream by commit 1e9f3d6f1c40 ("ip6tnl: fix use after free of fb_tnl_dev"). The problem is a bit different in linux-3.10.y, because there is no x-netns support (upstream commit 0bd8762824e7 ("ip6tnl: add x-netns support")). When ip6_tunnel.ko is unloaded, FB device is deleted by rtnl_link_unregister() and then we try to delete it again in ip6_tnl_destroy_tunnels(). This patch removes the second deletion. Reported-by: Steven Rostedt <> Suggested-by: Steven Rostedt <> Signed-off-by: Nicolas Dichtel <> Cc: David Miller <> Signed-off-by: Greg Kroah-Hartman <>
Diffstat (limited to 'net/ipv6/ip6_tunnel.c')
1 files changed, 0 insertions, 2 deletions
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index 0516ebb..209bb4d 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -1711,8 +1711,6 @@ static void __net_exit ip6_tnl_destroy_tunnels(struct ip6_tnl_net *ip6n)
- t = rtnl_dereference(ip6n->tnls_wc[0]);
- unregister_netdevice_queue(t->dev, &list);