| 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; |
| } |