Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-patchset:master commit in: 4.7.10/
Date: Wed, 02 Nov 2016 08:23:09
Message-Id: 1478074932.56df60d70f473e515a2b889709239ecc78bbf5c6.blueness@gentoo
1 commit: 56df60d70f473e515a2b889709239ecc78bbf5c6
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 2 08:22:12 2016 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 2 08:22:12 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/hardened-patchset.git/commit/?id=56df60d7
7
8 grsecurity-3.1-4.7.10-201611011946
9
10 4.7.10/0000_README | 2 +-
11 ... 4420_grsecurity-3.1-4.7.10-201611011946.patch} | 161 +++++++++++++++++++--
12 2 files changed, 151 insertions(+), 12 deletions(-)
13
14 diff --git a/4.7.10/0000_README b/4.7.10/0000_README
15 index 5c79278..c596497 100644
16 --- a/4.7.10/0000_README
17 +++ b/4.7.10/0000_README
18 @@ -14,7 +14,7 @@ Patch: 1009_linux-4.7.10.patch
19 From: http://www.kernel.org
20 Desc: Linux 4.7.10
21
22 -Patch: 4420_grsecurity-3.1-4.7.10-201610262029.patch
23 +Patch: 4420_grsecurity-3.1-4.7.10-201611011946.patch
24 From: http://www.grsecurity.net
25 Desc: hardened-sources base patch from upstream grsecurity
26
27
28 diff --git a/4.7.10/4420_grsecurity-3.1-4.7.10-201610262029.patch b/4.7.10/4420_grsecurity-3.1-4.7.10-201611011946.patch
29 similarity index 99%
30 rename from 4.7.10/4420_grsecurity-3.1-4.7.10-201610262029.patch
31 rename to 4.7.10/4420_grsecurity-3.1-4.7.10-201611011946.patch
32 index 2148028..15bb765 100644
33 --- a/4.7.10/4420_grsecurity-3.1-4.7.10-201610262029.patch
34 +++ b/4.7.10/4420_grsecurity-3.1-4.7.10-201611011946.patch
35 @@ -960,7 +960,7 @@ index d50430c..01cc53b 100644
36 # but it is being used too early to link to meaningful stack_chk logic.
37 nossp_flags := $(call cc-option, -fno-stack-protector)
38 diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
39 -index 9e10c45..5fbb312 100644
40 +index 9e10c45..e4cd000 100644
41 --- a/arch/arm/include/asm/atomic.h
42 +++ b/arch/arm/include/asm/atomic.h
43 @@ -18,17 +18,41 @@
44 @@ -1018,7 +1018,7 @@ index 9e10c45..5fbb312 100644
45 + "3:\n"
46 +#define __OVERFLOW_POST_RETURN \
47 + " bvc 3f\n" \
48 -+" mov %0, %1\n" \
49 ++ " mov %0, %1\n" \
50 + "2: " REFCOUNT_TRAP_INSN "\n"\
51 + "3:\n"
52 +#define __OVERFLOW_EXTABLE \
53 @@ -24176,7 +24176,7 @@ index dee8a70..a2c1bda 100644
54 }
55
56 diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h
57 -index c3496619..3f3a7dc 100644
58 +index c3496619..a968182 100644
59 --- a/arch/x86/include/asm/traps.h
60 +++ b/arch/x86/include/asm/traps.h
61 @@ -10,7 +10,7 @@
62 @@ -24188,7 +24188,15 @@ index c3496619..3f3a7dc 100644
63 asmlinkage void nmi(void);
64 asmlinkage void int3(void);
65 asmlinkage void xen_debug(void);
66 -@@ -107,7 +107,7 @@ extern int panic_on_unrecovered_nmi;
67 +@@ -54,6 +54,7 @@ asmlinkage void trace_page_fault(void);
68 + #define trace_alignment_check alignment_check
69 + #define trace_simd_coprocessor_error simd_coprocessor_error
70 + #define trace_async_page_fault async_page_fault
71 ++#define trace_refcount_error refcount_error
72 + #endif
73 +
74 + dotraplinkage void do_divide_error(struct pt_regs *, long);
75 +@@ -107,7 +108,7 @@ extern int panic_on_unrecovered_nmi;
76
77 void math_emulate(struct math_emu_info *);
78 #ifndef CONFIG_X86_32
79 @@ -24198,7 +24206,7 @@ index c3496619..3f3a7dc 100644
80 asmlinkage void smp_deferred_error_interrupt(void);
81 #endif
82 diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h
83 -index 0328c2cc..b65e680d 100644
84 +index 0328c2cc..fb12bf2 100644
85 --- a/arch/x86/include/asm/uaccess.h
86 +++ b/arch/x86/include/asm/uaccess.h
87 @@ -8,6 +8,7 @@
88 @@ -24294,7 +24302,7 @@ index 0328c2cc..b65e680d 100644
89
90 /**
91 * get_user: - Get a simple variable from user space.
92 -@@ -201,13 +247,11 @@ __typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
93 +@@ -201,14 +247,12 @@ __typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
94 asm volatile("call __put_user_" #size : "=a" (__ret_pu) \
95 : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")
96
97 @@ -24305,22 +24313,26 @@ index 0328c2cc..b65e680d 100644
98 asm volatile("\n" \
99 - "1: movl %%eax,0(%2)\n" \
100 - "2: movl %%edx,4(%2)\n" \
101 +- "3:" \
102 + "1: "__copyuser_seg"movl %%eax,0(%2)\n" \
103 + "2: "__copyuser_seg"movl %%edx,4(%2)\n" \
104 - "3:" \
105 ++ "3:\n" \
106 ".section .fixup,\"ax\"\n" \
107 "4: movl %3,%0\n" \
108 -@@ -220,8 +264,8 @@ __typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
109 + " jmp 3b\n" \
110 +@@ -220,9 +264,9 @@ __typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
111
112 #define __put_user_asm_ex_u64(x, addr) \
113 asm volatile("\n" \
114 - "1: movl %%eax,0(%1)\n" \
115 - "2: movl %%edx,4(%1)\n" \
116 +- "3:" \
117 + "1: "__copyuser_seg"movl %%eax,0(%1)\n" \
118 + "2: "__copyuser_seg"movl %%edx,4(%1)\n" \
119 - "3:" \
120 ++ "3:\n" \
121 _ASM_EXTABLE_EX(1b, 2b) \
122 _ASM_EXTABLE_EX(2b, 3b) \
123 + : : "A" (x), "r" (addr))
124 @@ -269,10 +313,10 @@ extern void __put_user_8(void);
125 #define put_user(x, ptr) \
126 ({ \
127 @@ -67040,7 +67052,7 @@ index d9f1394..ba6ee91 100644
128
129 memset(buf, 0, sizeof(buf));
130 diff --git a/drivers/net/wireless/intersil/hostap/hostap_ioctl.c b/drivers/net/wireless/intersil/hostap/hostap_ioctl.c
131 -index 3e5fa78..ca2e051 100644
132 +index 3e5fa78..6d26beb 100644
133 --- a/drivers/net/wireless/intersil/hostap/hostap_ioctl.c
134 +++ b/drivers/net/wireless/intersil/hostap/hostap_ioctl.c
135 @@ -101,8 +101,9 @@ static int prism2_get_datarates(struct net_device *dev, u8 *rates)
136 @@ -67523,7 +67535,123 @@ index 3e5fa78..ca2e051 100644
137 {
138 struct hostap_interface *iface = netdev_priv(dev);
139 local_info_t *local = iface->local;
140 -@@ -3943,10 +3981,10 @@ static const iw_handler prism2_handler[] =
141 +@@ -3883,70 +3921,70 @@ const struct ethtool_ops prism2_ethtool_ops = {
142 +
143 + static const iw_handler prism2_handler[] =
144 + {
145 +- (iw_handler) NULL, /* SIOCSIWCOMMIT */
146 +- (iw_handler) prism2_get_name, /* SIOCGIWNAME */
147 +- (iw_handler) NULL, /* SIOCSIWNWID */
148 +- (iw_handler) NULL, /* SIOCGIWNWID */
149 +- (iw_handler) prism2_ioctl_siwfreq, /* SIOCSIWFREQ */
150 +- (iw_handler) prism2_ioctl_giwfreq, /* SIOCGIWFREQ */
151 +- (iw_handler) prism2_ioctl_siwmode, /* SIOCSIWMODE */
152 +- (iw_handler) prism2_ioctl_giwmode, /* SIOCGIWMODE */
153 +- (iw_handler) prism2_ioctl_siwsens, /* SIOCSIWSENS */
154 +- (iw_handler) prism2_ioctl_giwsens, /* SIOCGIWSENS */
155 +- (iw_handler) NULL /* not used */, /* SIOCSIWRANGE */
156 +- (iw_handler) prism2_ioctl_giwrange, /* SIOCGIWRANGE */
157 +- (iw_handler) NULL /* not used */, /* SIOCSIWPRIV */
158 +- (iw_handler) NULL /* kernel code */, /* SIOCGIWPRIV */
159 +- (iw_handler) NULL /* not used */, /* SIOCSIWSTATS */
160 +- (iw_handler) NULL /* kernel code */, /* SIOCGIWSTATS */
161 +- iw_handler_set_spy, /* SIOCSIWSPY */
162 +- iw_handler_get_spy, /* SIOCGIWSPY */
163 +- iw_handler_set_thrspy, /* SIOCSIWTHRSPY */
164 +- iw_handler_get_thrspy, /* SIOCGIWTHRSPY */
165 +- (iw_handler) prism2_ioctl_siwap, /* SIOCSIWAP */
166 +- (iw_handler) prism2_ioctl_giwap, /* SIOCGIWAP */
167 +- (iw_handler) prism2_ioctl_siwmlme, /* SIOCSIWMLME */
168 +- (iw_handler) prism2_ioctl_giwaplist, /* SIOCGIWAPLIST */
169 +- (iw_handler) prism2_ioctl_siwscan, /* SIOCSIWSCAN */
170 +- (iw_handler) prism2_ioctl_giwscan, /* SIOCGIWSCAN */
171 +- (iw_handler) prism2_ioctl_siwessid, /* SIOCSIWESSID */
172 +- (iw_handler) prism2_ioctl_giwessid, /* SIOCGIWESSID */
173 +- (iw_handler) prism2_ioctl_siwnickn, /* SIOCSIWNICKN */
174 +- (iw_handler) prism2_ioctl_giwnickn, /* SIOCGIWNICKN */
175 +- (iw_handler) NULL, /* -- hole -- */
176 +- (iw_handler) NULL, /* -- hole -- */
177 +- (iw_handler) prism2_ioctl_siwrate, /* SIOCSIWRATE */
178 +- (iw_handler) prism2_ioctl_giwrate, /* SIOCGIWRATE */
179 +- (iw_handler) prism2_ioctl_siwrts, /* SIOCSIWRTS */
180 +- (iw_handler) prism2_ioctl_giwrts, /* SIOCGIWRTS */
181 +- (iw_handler) prism2_ioctl_siwfrag, /* SIOCSIWFRAG */
182 +- (iw_handler) prism2_ioctl_giwfrag, /* SIOCGIWFRAG */
183 +- (iw_handler) prism2_ioctl_siwtxpow, /* SIOCSIWTXPOW */
184 +- (iw_handler) prism2_ioctl_giwtxpow, /* SIOCGIWTXPOW */
185 +- (iw_handler) prism2_ioctl_siwretry, /* SIOCSIWRETRY */
186 +- (iw_handler) prism2_ioctl_giwretry, /* SIOCGIWRETRY */
187 +- (iw_handler) prism2_ioctl_siwencode, /* SIOCSIWENCODE */
188 +- (iw_handler) prism2_ioctl_giwencode, /* SIOCGIWENCODE */
189 +- (iw_handler) prism2_ioctl_siwpower, /* SIOCSIWPOWER */
190 +- (iw_handler) prism2_ioctl_giwpower, /* SIOCGIWPOWER */
191 +- (iw_handler) NULL, /* -- hole -- */
192 +- (iw_handler) NULL, /* -- hole -- */
193 +- (iw_handler) prism2_ioctl_siwgenie, /* SIOCSIWGENIE */
194 +- (iw_handler) prism2_ioctl_giwgenie, /* SIOCGIWGENIE */
195 +- (iw_handler) prism2_ioctl_siwauth, /* SIOCSIWAUTH */
196 +- (iw_handler) prism2_ioctl_giwauth, /* SIOCGIWAUTH */
197 +- (iw_handler) prism2_ioctl_siwencodeext, /* SIOCSIWENCODEEXT */
198 +- (iw_handler) prism2_ioctl_giwencodeext, /* SIOCGIWENCODEEXT */
199 +- (iw_handler) NULL, /* SIOCSIWPMKSA */
200 +- (iw_handler) NULL, /* -- hole -- */
201 ++ NULL, /* SIOCSIWCOMMIT */
202 ++ prism2_get_name, /* SIOCGIWNAME */
203 ++ NULL, /* SIOCSIWNWID */
204 ++ NULL, /* SIOCGIWNWID */
205 ++ prism2_ioctl_siwfreq, /* SIOCSIWFREQ */
206 ++ prism2_ioctl_giwfreq, /* SIOCGIWFREQ */
207 ++ prism2_ioctl_siwmode, /* SIOCSIWMODE */
208 ++ prism2_ioctl_giwmode, /* SIOCGIWMODE */
209 ++ prism2_ioctl_siwsens, /* SIOCSIWSENS */
210 ++ prism2_ioctl_giwsens, /* SIOCGIWSENS */
211 ++ NULL /* not used */, /* SIOCSIWRANGE */
212 ++ prism2_ioctl_giwrange, /* SIOCGIWRANGE */
213 ++ NULL /* not used */, /* SIOCSIWPRIV */
214 ++ NULL /* kernel code */, /* SIOCGIWPRIV */
215 ++ NULL /* not used */, /* SIOCSIWSTATS */
216 ++ NULL /* kernel code */, /* SIOCGIWSTATS */
217 ++ iw_handler_set_spy, /* SIOCSIWSPY */
218 ++ iw_handler_get_spy, /* SIOCGIWSPY */
219 ++ iw_handler_set_thrspy, /* SIOCSIWTHRSPY */
220 ++ iw_handler_get_thrspy, /* SIOCGIWTHRSPY */
221 ++ prism2_ioctl_siwap, /* SIOCSIWAP */
222 ++ prism2_ioctl_giwap, /* SIOCGIWAP */
223 ++ prism2_ioctl_siwmlme, /* SIOCSIWMLME */
224 ++ prism2_ioctl_giwaplist, /* SIOCGIWAPLIST */
225 ++ prism2_ioctl_siwscan, /* SIOCSIWSCAN */
226 ++ prism2_ioctl_giwscan, /* SIOCGIWSCAN */
227 ++ prism2_ioctl_siwessid, /* SIOCSIWESSID */
228 ++ prism2_ioctl_giwessid, /* SIOCGIWESSID */
229 ++ prism2_ioctl_siwnickn, /* SIOCSIWNICKN */
230 ++ prism2_ioctl_giwnickn, /* SIOCGIWNICKN */
231 ++ NULL, /* -- hole -- */
232 ++ NULL, /* -- hole -- */
233 ++ prism2_ioctl_siwrate, /* SIOCSIWRATE */
234 ++ prism2_ioctl_giwrate, /* SIOCGIWRATE */
235 ++ prism2_ioctl_siwrts, /* SIOCSIWRTS */
236 ++ prism2_ioctl_giwrts, /* SIOCGIWRTS */
237 ++ prism2_ioctl_siwfrag, /* SIOCSIWFRAG */
238 ++ prism2_ioctl_giwfrag, /* SIOCGIWFRAG */
239 ++ prism2_ioctl_siwtxpow, /* SIOCSIWTXPOW */
240 ++ prism2_ioctl_giwtxpow, /* SIOCGIWTXPOW */
241 ++ prism2_ioctl_siwretry, /* SIOCSIWRETRY */
242 ++ prism2_ioctl_giwretry, /* SIOCGIWRETRY */
243 ++ prism2_ioctl_siwencode, /* SIOCSIWENCODE */
244 ++ prism2_ioctl_giwencode, /* SIOCGIWENCODE */
245 ++ prism2_ioctl_siwpower, /* SIOCSIWPOWER */
246 ++ prism2_ioctl_giwpower, /* SIOCGIWPOWER */
247 ++ NULL, /* -- hole -- */
248 ++ NULL, /* -- hole -- */
249 ++ prism2_ioctl_siwgenie, /* SIOCSIWGENIE */
250 ++ prism2_ioctl_giwgenie, /* SIOCGIWGENIE */
251 ++ prism2_ioctl_siwauth, /* SIOCSIWAUTH */
252 ++ prism2_ioctl_giwauth, /* SIOCGIWAUTH */
253 ++ prism2_ioctl_siwencodeext, /* SIOCSIWENCODEEXT */
254 ++ prism2_ioctl_giwencodeext, /* SIOCGIWENCODEEXT */
255 ++ NULL, /* SIOCSIWPMKSA */
256 ++ NULL, /* -- hole -- */
257 + };
258
259 static const iw_handler prism2_private_handler[] =
260 { /* SIOCIWFIRSTPRIV + */
261 @@ -67538,6 +67666,17 @@ index 3e5fa78..ca2e051 100644
262 };
263
264 const struct iw_handler_def hostap_iw_handler_def =
265 +@@ -3954,8 +3992,8 @@ const struct iw_handler_def hostap_iw_handler_def =
266 + .num_standard = ARRAY_SIZE(prism2_handler),
267 + .num_private = ARRAY_SIZE(prism2_private_handler),
268 + .num_private_args = ARRAY_SIZE(prism2_priv),
269 +- .standard = (iw_handler *) prism2_handler,
270 +- .private = (iw_handler *) prism2_private_handler,
271 ++ .standard = prism2_handler,
272 ++ .private = prism2_private_handler,
273 + .private_args = (struct iw_priv_args *) prism2_priv,
274 + .get_wireless_stats = hostap_get_wireless_stats,
275 + };
276 diff --git a/drivers/net/wireless/intersil/orinoco/wext.c b/drivers/net/wireless/intersil/orinoco/wext.c
277 index 1d4dae4..0508fc1 100644
278 --- a/drivers/net/wireless/intersil/orinoco/wext.c