Message ID | 1427988677-11478-1-git-send-email-nicolas.dichtel@6wind.com |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, Apr 02, 2015 at 05:31:17PM +0200, Nicolas Dichtel wrote: > From: Yao Xiwei <xiwei.yao@6wind.com> > > When the kernel deleted a vti6 interface, this interface was not removed from > the tunnels list. Thus, when the ip6_vti module was removed, this old interface > was found and the kernel tried to delete it again. This was leading to a kernel > panic. > > Fixes: 61220ab34948 ("vti6: Enable namespace changing") > Signed-off-by: Yao Xiwei <xiwei.yao@6wind.com> > Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Patch applied to the ipsec tree, thanks a lot! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c index ace10d0b3aac..96ba579917c1 100644 --- a/net/ipv6/ip6_vti.c +++ b/net/ipv6/ip6_vti.c @@ -288,8 +288,7 @@ static struct ip6_tnl *vti6_locate(struct net *net, struct __ip6_tnl_parm *p, static void vti6_dev_uninit(struct net_device *dev) { struct ip6_tnl *t = netdev_priv(dev); - struct net *net = dev_net(dev); - struct vti6_net *ip6n = net_generic(net, vti6_net_id); + struct vti6_net *ip6n = net_generic(t->net, vti6_net_id); if (dev == ip6n->fb_tnl_dev) RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);