]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/linux-2.6.32.43-cve_2011_1767+1768.patch
Updated intel network modules.
[ipfire-2.x.git] / src / patches / linux-2.6.32.43-cve_2011_1767+1768.patch
CommitLineData
18520692
AF
1diff -Naur linux-2.6.32.43.org/net/ipv4/ip_gre.c linux-2.6.32.43/net/ipv4/ip_gre.c
2--- linux-2.6.32.43.org/net/ipv4/ip_gre.c 2011-07-13 05:29:43.000000000 +0200
3+++ linux-2.6.32.43/net/ipv4/ip_gre.c 2011-06-20 19:27:06.000000000 +0200
4@@ -1665,14 +1665,16 @@
5
6 printk(KERN_INFO "GRE over IPv4 tunneling driver\n");
7
8- if (inet_add_protocol(&ipgre_protocol, IPPROTO_GRE) < 0) {
9- printk(KERN_INFO "ipgre init: can't add protocol\n");
10- return -EAGAIN;
11- }
12-
13 err = register_pernet_gen_device(&ipgre_net_id, &ipgre_net_ops);
14 if (err < 0)
15+ goto out;
16+
17+ err = inet_add_protocol(&ipgre_protocol, IPPROTO_GRE);
18+ if (err < 0) {
19+ printk(KERN_INFO "ipgre init: can't add protocol\n");
20+ err = -EAGAIN;
21 goto gen_device_failed;
22+ }
23
24 err = rtnl_link_register(&ipgre_link_ops);
25 if (err < 0)
26@@ -1688,9 +1690,9 @@
27 tap_ops_failed:
28 rtnl_link_unregister(&ipgre_link_ops);
29 rtnl_link_failed:
30- unregister_pernet_gen_device(ipgre_net_id, &ipgre_net_ops);
31-gen_device_failed:
32 inet_del_protocol(&ipgre_protocol, IPPROTO_GRE);
33+gen_device_failed:
34+ unregister_pernet_gen_device(ipgre_net_id, &ipgre_net_ops);
35 goto out;
36 }
37
38@@ -1698,9 +1700,10 @@
39 {
40 rtnl_link_unregister(&ipgre_tap_ops);
41 rtnl_link_unregister(&ipgre_link_ops);
42- unregister_pernet_gen_device(ipgre_net_id, &ipgre_net_ops);
43 if (inet_del_protocol(&ipgre_protocol, IPPROTO_GRE) < 0)
44 printk(KERN_INFO "ipgre close: can't remove protocol\n");
45+
46+ unregister_pernet_gen_device(ipgre_net_id, &ipgre_net_ops);
47 }
48
49 module_init(ipgre_init);
50diff -Naur linux-2.6.32.43.org/net/ipv4/ipip.c linux-2.6.32.43/net/ipv4/ipip.c
51--- linux-2.6.32.43.org/net/ipv4/ipip.c 2011-07-13 05:29:43.000000000 +0200
52+++ linux-2.6.32.43/net/ipv4/ipip.c 2011-06-20 19:27:06.000000000 +0200
53@@ -830,15 +830,14 @@
54
55 printk(banner);
56
57- if (xfrm4_tunnel_register(&ipip_handler, AF_INET)) {
58+ err = register_pernet_gen_device(&ipip_net_id, &ipip_net_ops);
59+ if (err < 0)
60+ return err;
61+ err = xfrm4_tunnel_register(&ipip_handler, AF_INET);
62+ if (err < 0) {
63+ unregister_pernet_gen_device(ipip_net_id, &ipip_net_ops);
64 printk(KERN_INFO "ipip init: can't register tunnel\n");
65- return -EAGAIN;
66 }
67-
68- err = register_pernet_gen_device(&ipip_net_id, &ipip_net_ops);
69- if (err)
70- xfrm4_tunnel_deregister(&ipip_handler, AF_INET);
71-
72 return err;
73 }
74
75diff -Naur linux-2.6.32.43.org/net/ipv6/ip6_tunnel.c linux-2.6.32.43/net/ipv6/ip6_tunnel.c
76--- linux-2.6.32.43.org/net/ipv6/ip6_tunnel.c 2011-07-13 05:29:43.000000000 +0200
77+++ linux-2.6.32.43/net/ipv6/ip6_tunnel.c 2011-06-20 19:27:06.000000000 +0200
78@@ -1466,10 +1465,14 @@
79 {
80 int err;
81
82+ err = register_pernet_gen_device(&ip6_tnl_net_id, &ip6_tnl_net_ops);
83+ if (err < 0)
84+ goto out;
85+
86 if (xfrm6_tunnel_register(&ip4ip6_handler, AF_INET)) {
87 printk(KERN_ERR "ip6_tunnel init: can't register ip4ip6\n");
88 err = -EAGAIN;
89- goto out;
90+ goto unreg_pernet_dev;
91 }
92
93 if (xfrm6_tunnel_register(&ip6ip6_handler, AF_INET6)) {
94@@ -1478,14 +1481,12 @@
95 goto unreg_ip4ip6;
96 }
97
98- err = register_pernet_gen_device(&ip6_tnl_net_id, &ip6_tnl_net_ops);
99- if (err < 0)
100- goto err_pernet;
101 return 0;
102-err_pernet:
103- xfrm6_tunnel_deregister(&ip6ip6_handler, AF_INET6);
104+
105 unreg_ip4ip6:
106 xfrm6_tunnel_deregister(&ip4ip6_handler, AF_INET);
107+unreg_pernet_dev:
108+ unregister_pernet_gen_device(ip6_tnl_net_id, &ip6_tnl_net_ops);
109 out:
110 return err;
111 }
112diff -Naur linux-2.6.32.43.org/net/ipv6/sit.c linux-2.6.32.43/net/ipv6/sit.c
113--- linux-2.6.32.43.org/net/ipv6/sit.c 2011-07-13 05:29:43.000000000 +0200
114+++ linux-2.6.32.43/net/ipv6/sit.c 2011-06-20 19:27:06.000000000 +0200
115@@ -1086,15 +1086,17 @@
116
117 printk(KERN_INFO "IPv6 over IPv4 tunneling driver\n");
118
119- if (xfrm4_tunnel_register(&sit_handler, AF_INET6) < 0) {
120+ err = register_pernet_gen_device(&sit_net_id, &sit_net_ops);
121+ if (err < 0)
122+ return err;
123+
124+ err = xfrm4_tunnel_register(&sit_handler, AF_INET6);
125+ if (err < 0) {
126+ unregister_pernet_gen_device(sit_net_id, &sit_net_ops);
127 printk(KERN_INFO "sit init: Can't add protocol\n");
128 return -EAGAIN;
129 }
130
131- err = register_pernet_gen_device(&sit_net_id, &sit_net_ops);
132- if (err < 0)
133- xfrm4_tunnel_deregister(&sit_handler, AF_INET6);
134-
135 return err;
136 }
137