diff options
author | Stratos Psomadakis <psomas@gentoo.org> | 2011-08-30 17:48:08 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-07 12:31:50 -0800 |
commit | c5ed15616ec3dc395107c3c8c760039ae9edfec8 (patch) | |
tree | 91e0ec56c9ab5a7218119bfe35771303ea11e067 | |
parent | abc7edfb03efd63cf15c98b1b5984e4dcf076edd (diff) |
Fix broken backport for IPv6 tunnels
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>
-rw-r--r-- | net/ipv6/ip6_tunnel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 7fb3e02ef2a..51ab519cb8a 100644 --- 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; } |