1 |
Author: psomas |
2 |
Date: 2011-08-30 14:52:36 +0000 (Tue, 30 Aug 2011) |
3 |
New Revision: 1977 |
4 |
|
5 |
Modified: |
6 |
genpatches-2.6/trunk/2.6.32/2000_fix-broken-backport-for-ipv6-tunnels.patch |
7 |
Log: |
8 |
Fix 2000_fix-broken-backport-for-ipv6-tunnels.patch to correct the unregister_pernet_device() function too |
9 |
|
10 |
Modified: genpatches-2.6/trunk/2.6.32/2000_fix-broken-backport-for-ipv6-tunnels.patch |
11 |
=================================================================== |
12 |
--- genpatches-2.6/trunk/2.6.32/2000_fix-broken-backport-for-ipv6-tunnels.patch 2011-08-29 23:32:50 UTC (rev 1976) |
13 |
+++ genpatches-2.6/trunk/2.6.32/2000_fix-broken-backport-for-ipv6-tunnels.patch 2011-08-30 14:52:36 UTC (rev 1977) |
14 |
@@ -1,5 +1,25 @@ |
15 |
+From 2788e3c50d2ba803581684e9e1aa2ae7def789d8 Mon Sep 17 00:00:00 2001 |
16 |
+From: Stratos Psomadakis <psomas@g.o> |
17 |
+Date: Tue, 30 Aug 2011 17:38:10 +0300 |
18 |
+Subject: [RESEND PATCH] Fix broken backport for IPv6 tunnels |
19 |
+ |
20 |
+Fix broken backport for IPv6 tunnels in 2.6.32-longterm kernels. |
21 |
+ |
22 |
+upstream commit d5aa407f59f5b83d2c50ec88f5bf56d40f1f8978 ("tunnels: fix |
23 |
+netns vs proto registration ordering") , which was included in |
24 |
+2.6.32.44-longterm, was not backported correctly, and results in a NULL |
25 |
+pointer dereference in ip6_tunnel.c for longterm kernels >=2.6.32.44 |
26 |
+ |
27 |
+Use [un]register_pernet_gen_device() instead of |
28 |
+[un]register_pernet_device() to fix it. |
29 |
+ |
30 |
+Signed-off-by: Stratos Psomadakis <psomas@g.o> |
31 |
+--- |
32 |
+ net/ipv6/ip6_tunnel.c | 4 ++-- |
33 |
+ 1 files changed, 2 insertions(+), 2 deletions(-) |
34 |
+ |
35 |
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c |
36 |
-index 7fb3e02..53e0d51 100644 |
37 |
+index 7fb3e02..51ab519 100644 |
38 |
--- a/net/ipv6/ip6_tunnel.c |
39 |
+++ b/net/ipv6/ip6_tunnel.c |
40 |
@@ -1466,7 +1466,7 @@ static int __init ip6_tunnel_init(void) |
41 |
@@ -11,6 +31,14 @@ |
42 |
if (err < 0) |
43 |
goto out_pernet; |
44 |
|
45 |
+@@ -1487,7 +1487,7 @@ static int __init ip6_tunnel_init(void) |
46 |
+ out_ip6ip6: |
47 |
+ xfrm6_tunnel_deregister(&ip4ip6_handler, AF_INET); |
48 |
+ out_ip4ip6: |
49 |
+- unregister_pernet_device(&ip6_tnl_net_ops); |
50 |
++ unregister_pernet_gen_device(ip6_tnl_net_id, &ip6_tnl_net_ops); |
51 |
+ out_pernet: |
52 |
+ return err; |
53 |
+ } |
54 |
-- |
55 |
-1.7.6.1 |
56 |
- |
57 |
+1.7.3.4 |