]> git.baikalelectronics.ru Git - kernel.git/commit
ip6tnl: fix use after free of fb_tnl_dev
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Thu, 14 Nov 2013 14:47:03 +0000 (15:47 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Nov 2013 22:04:38 +0000 (17:04 -0500)
commitd3c806e3674fd1093eeab79c2073eaa2257be922
tree5919ae67befcdb3de8aee7330cafb789bec37d19
parentf744ec8e69eb5ad7ba5db8101db8ba6827dd5245
ip6tnl: fix use after free of fb_tnl_dev

Bug has been introduced by commit f4f0ae3773eb ("ip6tnl: allow to use rtnl ops
on fb tunnel").

When ip6_tunnel.ko is unloaded, FB device is delete by rtnl_link_unregister()
and then we try to use the pointer in ip6_tnl_destroy_tunnels().

Let's add an handler for dellink, which will never remove the FB tunnel. With
this patch it will no more be possible to remove it via 'ip link del ip6tnl0',
but it's safer.

The same fix was already proposed by Willem de Bruijn <willemb@google.com> for
sit interfaces.

CC: Willem de Bruijn <willemb@google.com>
Reported-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_tunnel.c