blob: 9ce3adbc816e4f9ae7079be9c6c4464d4b666e81 [file] [log] [blame]
From psomas@gentoo.org Tue Aug 30 14:52:07 2011
From: Stratos Psomadakis <psomas@gentoo.org>
Date: Tue, 30 Aug 2011 17:48:08 +0300
Subject: Fix broken backport for IPv6 tunnels
To: stable@kernel.org
Cc: Stratos Psomadakis <psomas@gentoo.org>
Message-ID: <1314715688-26919-1-git-send-email-psomas@gentoo.org>
From: Stratos Psomadakis <psomas@gentoo.org>
Fix broken backport for IPv6 tunnels in 2.6.32-longterm kernels.
upstream commit d5aa407f59f5b83d2c50ec88f5bf56d40f1f8978 ("tunnels: fix
netns vs proto registration ordering") , which was included in
2.6.32.44-longterm, was not backported correctly, and results in a NULL
pointer dereference in ip6_tunnel.c for longterm kernels >=2.6.32.44
Use [un]register_pernet_gen_device() instead of
[un]register_pernet_device() to fix it.
Signed-off-by: Stratos Psomadakis <psomas@gentoo.org>
Cc: Wolfgang Walter <wolfgang.walter@stwm.de>
Cc: Tim Gardner <tim.gardner@canonical.com>
Cc: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
net/ipv6/ip6_tunnel.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -1466,7 +1466,7 @@ static int __init ip6_tunnel_init(void)
{
int err;
- err = register_pernet_device(&ip6_tnl_net_ops);
+ err = register_pernet_gen_device(&ip6_tnl_net_id, &ip6_tnl_net_ops);
if (err < 0)
goto out_pernet;
@@ -1487,7 +1487,7 @@ static int __init ip6_tunnel_init(void)
out_ip6ip6:
xfrm6_tunnel_deregister(&ip4ip6_handler, AF_INET);
out_ip4ip6:
- unregister_pernet_device(&ip6_tnl_net_ops);
+ unregister_pernet_gen_device(ip6_tnl_net_id, &ip6_tnl_net_ops);
out_pernet:
return err;
}