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: 3.14.11/, 3.14.10/, 3.15.4/, 3.2.60/, 3.15.3/
Date: Tue, 08 Jul 2014 20:15:02
Message-Id: 1404850522.94139e45a98575a57447fac3045d8f74b6108422.blueness@gentoo
1 commit: 94139e45a98575a57447fac3045d8f74b6108422
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jul 8 20:15:22 2014 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Tue Jul 8 20:15:22 2014 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-patchset.git;a=commit;h=94139e45
7
8 Grsec/PaX: 3.0-{3.2.60,3.14.11,3.15.4}-201407072046
9
10 ---
11 {3.14.10 => 3.14.11}/0000_README | 2 +-
12 .../4420_grsecurity-3.0-3.14.11-201407072045.patch | 178 +++++++-----------
13 .../4425_grsec_remove_EI_PAX.patch | 0
14 .../4427_force_XATTR_PAX_tmpfs.patch | 0
15 .../4430_grsec-remove-localversion-grsec.patch | 0
16 .../4435_grsec-mute-warnings.patch | 0
17 .../4440_grsec-remove-protected-paths.patch | 0
18 .../4450_grsec-kconfig-default-gids.patch | 0
19 .../4465_selinux-avc_audit-log-curr_ip.patch | 0
20 .../4470_disable-compat_vdso.patch | 0
21 .../4475_emutramp_default_on.patch | 0
22 {3.15.3 => 3.15.4}/0000_README | 0
23 .../4420_grsecurity-3.0-3.15.4-201407072046.patch | 207 +++++++++------------
24 {3.15.3 => 3.15.4}/4425_grsec_remove_EI_PAX.patch | 0
25 .../4427_force_XATTR_PAX_tmpfs.patch | 0
26 .../4430_grsec-remove-localversion-grsec.patch | 0
27 {3.15.3 => 3.15.4}/4435_grsec-mute-warnings.patch | 0
28 .../4440_grsec-remove-protected-paths.patch | 0
29 .../4450_grsec-kconfig-default-gids.patch | 0
30 .../4465_selinux-avc_audit-log-curr_ip.patch | 0
31 {3.15.3 => 3.15.4}/4470_disable-compat_vdso.patch | 0
32 {3.15.3 => 3.15.4}/4475_emutramp_default_on.patch | 0
33 3.2.60/0000_README | 2 +-
34 ... 4420_grsecurity-3.0-3.2.60-201407072042.patch} | 51 +++--
35 24 files changed, 197 insertions(+), 243 deletions(-)
36
37 diff --git a/3.14.10/0000_README b/3.14.11/0000_README
38 similarity index 96%
39 rename from 3.14.10/0000_README
40 rename to 3.14.11/0000_README
41 index 7edf2bb..4a9468b 100644
42 --- a/3.14.10/0000_README
43 +++ b/3.14.11/0000_README
44 @@ -2,7 +2,7 @@ README
45 -----------------------------------------------------------------------------
46 Individual Patch Descriptions:
47 -----------------------------------------------------------------------------
48 -Patch: 4420_grsecurity-3.0-3.14.10-201407052031.patch
49 +Patch: 4420_grsecurity-3.0-3.14.11-201407072045.patch
50 From: http://www.grsecurity.net
51 Desc: hardened-sources base patch from upstream grsecurity
52
53
54 diff --git a/3.14.10/4420_grsecurity-3.0-3.14.10-201407052031.patch b/3.14.11/4420_grsecurity-3.0-3.14.11-201407072045.patch
55 similarity index 99%
56 rename from 3.14.10/4420_grsecurity-3.0-3.14.10-201407052031.patch
57 rename to 3.14.11/4420_grsecurity-3.0-3.14.11-201407072045.patch
58 index 5cd674b..a883f75 100644
59 --- a/3.14.10/4420_grsecurity-3.0-3.14.10-201407052031.patch
60 +++ b/3.14.11/4420_grsecurity-3.0-3.14.11-201407072045.patch
61 @@ -287,7 +287,7 @@ index 7116fda..d8ed6e8 100644
62
63 pcd. [PARIDE]
64 diff --git a/Makefile b/Makefile
65 -index bd5d673..00eaa40 100644
66 +index f1bbec5..d78810b 100644
67 --- a/Makefile
68 +++ b/Makefile
69 @@ -244,8 +244,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
70 @@ -16136,7 +16136,7 @@ index 69bbb48..32517fe 100644
71
72 #define smp_load_acquire(p) \
73 diff --git a/arch/x86/include/asm/bitops.h b/arch/x86/include/asm/bitops.h
74 -index 9fc1af7..fc71228 100644
75 +index 9fc1af7..776d75a 100644
76 --- a/arch/x86/include/asm/bitops.h
77 +++ b/arch/x86/include/asm/bitops.h
78 @@ -49,7 +49,7 @@
79 @@ -16216,7 +16216,7 @@ index 9fc1af7..fc71228 100644
80 */
81 #ifdef CONFIG_X86_64
82 -static __always_inline int fls64(__u64 x)
83 -+static __always_inline long fls64(__u64 x)
84 ++static __always_inline __intentional_overflow(-1) int fls64(__u64 x)
85 {
86 int bitpos = -1;
87 /*
88 @@ -18734,7 +18734,7 @@ index fdedd38..95c02c2 100644
89 void df_debug(struct pt_regs *regs, long error_code);
90 #endif /* _ASM_X86_PROCESSOR_H */
91 diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
92 -index 14fd6fd..b31a4a4 100644
93 +index 6205f0c..b31a4a4 100644
94 --- a/arch/x86/include/asm/ptrace.h
95 +++ b/arch/x86/include/asm/ptrace.h
96 @@ -84,28 +84,29 @@ static inline unsigned long regs_return_value(struct pt_regs *regs)
97 @@ -18807,29 +18807,6 @@ index 14fd6fd..b31a4a4 100644
98 #endif
99 return *(unsigned long *)((unsigned long)regs + offset);
100 }
101 -@@ -231,6 +235,22 @@ static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
102 -
103 - #define ARCH_HAS_USER_SINGLE_STEP_INFO
104 -
105 -+/*
106 -+ * When hitting ptrace_stop(), we cannot return using SYSRET because
107 -+ * that does not restore the full CPU state, only a minimal set. The
108 -+ * ptracer can change arbitrary register values, which is usually okay
109 -+ * because the usual ptrace stops run off the signal delivery path which
110 -+ * forces IRET; however, ptrace_event() stops happen in arbitrary places
111 -+ * in the kernel and don't force IRET path.
112 -+ *
113 -+ * So force IRET path after a ptrace stop.
114 -+ */
115 -+#define arch_ptrace_stop_needed(code, info) \
116 -+({ \
117 -+ set_thread_flag(TIF_NOTIFY_RESUME); \
118 -+ false; \
119 -+})
120 -+
121 - struct user_desc;
122 - extern int do_get_thread_area(struct task_struct *p, int idx,
123 - struct user_desc __user *info);
124 diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
125 index 9c6b890..5305f53 100644
126 --- a/arch/x86/include/asm/realmode.h
127 @@ -26887,7 +26864,7 @@ index 9c0280f..5bbb1c0 100644
128 ip = *(u64 *)(fp+8);
129 if (!in_sched_functions(ip))
130 diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
131 -index 7461f50..1334029 100644
132 +index 7461f50..01d0b9c 100644
133 --- a/arch/x86/kernel/ptrace.c
134 +++ b/arch/x86/kernel/ptrace.c
135 @@ -184,14 +184,13 @@ unsigned long kernel_stack_pointer(struct pt_regs *regs)
136 @@ -26909,7 +26886,28 @@ index 7461f50..1334029 100644
137
138 return (unsigned long)regs;
139 }
140 -@@ -588,7 +587,7 @@ static void ptrace_triggered(struct perf_event *bp,
141 +@@ -452,6 +451,20 @@ static int putreg(struct task_struct *child,
142 + if (child->thread.gs != value)
143 + return do_arch_prctl(child, ARCH_SET_GS, value);
144 + return 0;
145 ++
146 ++ case offsetof(struct user_regs_struct,ip):
147 ++ /*
148 ++ * Protect against any attempt to set ip to an
149 ++ * impossible address. There are dragons lurking if the
150 ++ * address is noncanonical. (This explicitly allows
151 ++ * setting ip to TASK_SIZE_MAX, because user code can do
152 ++ * that all by itself by running off the end of its
153 ++ * address space.
154 ++ */
155 ++ if (value > TASK_SIZE_MAX)
156 ++ return -EIO;
157 ++ break;
158 ++
159 + #endif
160 + }
161 +
162 +@@ -588,7 +601,7 @@ static void ptrace_triggered(struct perf_event *bp,
163 static unsigned long ptrace_get_dr7(struct perf_event *bp[])
164 {
165 int i;
166 @@ -26918,7 +26916,7 @@ index 7461f50..1334029 100644
167 struct arch_hw_breakpoint *info;
168
169 for (i = 0; i < HBP_NUM; i++) {
170 -@@ -822,7 +821,7 @@ long arch_ptrace(struct task_struct *child, long request,
171 +@@ -822,7 +835,7 @@ long arch_ptrace(struct task_struct *child, long request,
172 unsigned long addr, unsigned long data)
173 {
174 int ret;
175 @@ -26927,7 +26925,7 @@ index 7461f50..1334029 100644
176
177 switch (request) {
178 /* read the word at location addr in the USER area. */
179 -@@ -907,14 +906,14 @@ long arch_ptrace(struct task_struct *child, long request,
180 +@@ -907,14 +920,14 @@ long arch_ptrace(struct task_struct *child, long request,
181 if ((int) addr < 0)
182 return -EIO;
183 ret = do_get_thread_area(child, addr,
184 @@ -26944,7 +26942,7 @@ index 7461f50..1334029 100644
185 break;
186 #endif
187
188 -@@ -1292,7 +1291,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
189 +@@ -1292,7 +1305,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
190
191 #ifdef CONFIG_X86_64
192
193 @@ -26953,7 +26951,7 @@ index 7461f50..1334029 100644
194 [REGSET_GENERAL] = {
195 .core_note_type = NT_PRSTATUS,
196 .n = sizeof(struct user_regs_struct) / sizeof(long),
197 -@@ -1333,7 +1332,7 @@ static const struct user_regset_view user_x86_64_view = {
198 +@@ -1333,7 +1346,7 @@ static const struct user_regset_view user_x86_64_view = {
199 #endif /* CONFIG_X86_64 */
200
201 #if defined CONFIG_X86_32 || defined CONFIG_IA32_EMULATION
202 @@ -26962,7 +26960,7 @@ index 7461f50..1334029 100644
203 [REGSET_GENERAL] = {
204 .core_note_type = NT_PRSTATUS,
205 .n = sizeof(struct user_regs_struct32) / sizeof(u32),
206 -@@ -1386,7 +1385,7 @@ static const struct user_regset_view user_x86_32_view = {
207 +@@ -1386,7 +1399,7 @@ static const struct user_regset_view user_x86_32_view = {
208 */
209 u64 xstate_fx_sw_bytes[USER_XSTATE_FX_SW_WORDS];
210
211 @@ -26971,7 +26969,7 @@ index 7461f50..1334029 100644
212 {
213 #ifdef CONFIG_X86_64
214 x86_64_regsets[REGSET_XSTATE].n = size / sizeof(u64);
215 -@@ -1421,7 +1420,7 @@ static void fill_sigtrap_info(struct task_struct *tsk,
216 +@@ -1421,7 +1434,7 @@ static void fill_sigtrap_info(struct task_struct *tsk,
217 memset(info, 0, sizeof(*info));
218 info->si_signo = SIGTRAP;
219 info->si_code = si_code;
220 @@ -26980,7 +26978,7 @@ index 7461f50..1334029 100644
221 }
222
223 void user_single_step_siginfo(struct task_struct *tsk,
224 -@@ -1450,6 +1449,10 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
225 +@@ -1450,6 +1463,10 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
226 # define IS_IA32 0
227 #endif
228
229 @@ -26991,7 +26989,7 @@ index 7461f50..1334029 100644
230 /*
231 * We must return the syscall number to actually look up in the table.
232 * This can be -1L to skip running any syscall at all.
233 -@@ -1460,6 +1463,11 @@ long syscall_trace_enter(struct pt_regs *regs)
234 +@@ -1460,6 +1477,11 @@ long syscall_trace_enter(struct pt_regs *regs)
235
236 user_exit();
237
238 @@ -27003,7 +27001,7 @@ index 7461f50..1334029 100644
239 /*
240 * If we stepped into a sysenter/syscall insn, it trapped in
241 * kernel mode; do_debug() cleared TF and set TIF_SINGLESTEP.
242 -@@ -1515,6 +1523,11 @@ void syscall_trace_leave(struct pt_regs *regs)
243 +@@ -1515,6 +1537,11 @@ void syscall_trace_leave(struct pt_regs *regs)
244 */
245 user_exit();
246
247 @@ -47099,6 +47097,19 @@ index a2515887..6d13233 100644
248 dev->net->dev_addr[ETH_ALEN-1] = ifacenum;
249
250 /* we will have to manufacture ethernet headers, prepare template */
251 +diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
252 +index 841b608..198a8b7 100644
253 +--- a/drivers/net/virtio_net.c
254 ++++ b/drivers/net/virtio_net.c
255 +@@ -47,7 +47,7 @@ module_param(gso, bool, 0444);
256 + #define RECEIVE_AVG_WEIGHT 64
257 +
258 + /* Minimum alignment for mergeable packet buffers. */
259 +-#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, 256)
260 ++#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, 256UL)
261 +
262 + #define VIRTNET_DRIVER_VERSION "1.0.0"
263 +
264 diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
265 index 40ad25d..8703023 100644
266 --- a/drivers/net/vxlan.c
267 @@ -50909,10 +50920,10 @@ index 24884ca..26c8220 100644
268 login->tgt_agt = sbp_target_agent_register(login);
269 if (IS_ERR(login->tgt_agt)) {
270 diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
271 -index 26416c1..e796a3d 100644
272 +index 6ea95d2..88607b4 100644
273 --- a/drivers/target/target_core_device.c
274 +++ b/drivers/target/target_core_device.c
275 -@@ -1524,7 +1524,7 @@ struct se_device *target_alloc_device(struct se_hba *hba, const char *name)
276 +@@ -1525,7 +1525,7 @@ struct se_device *target_alloc_device(struct se_hba *hba, const char *name)
277 spin_lock_init(&dev->se_tmr_lock);
278 spin_lock_init(&dev->qf_cmd_lock);
279 sema_init(&dev->caw_sem, 1);
280 @@ -62806,7 +62817,7 @@ index f4ccfe6..a5cf064 100644
281 static struct callback_op callback_ops[];
282
283 diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
284 -index 360114a..ac6e265 100644
285 +index 15f9d98..082c625 100644
286 --- a/fs/nfs/inode.c
287 +++ b/fs/nfs/inode.c
288 @@ -1189,16 +1189,16 @@ static int nfs_size_need_update(const struct inode *inode, const struct nfs_fatt
289 @@ -62843,7 +62854,7 @@ index 9a914e8..e89c0ea 100644
290 static struct nfsd4_operation nfsd4_ops[];
291
292 diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
293 -index 16e8fa7..b0803f6 100644
294 +index bc11bf6..324b058 100644
295 --- a/fs/nfsd/nfs4xdr.c
296 +++ b/fs/nfsd/nfs4xdr.c
297 @@ -1531,7 +1531,7 @@ nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p)
298 @@ -82100,20 +82111,6 @@ index 34a1e10..70f6bde 100644
299
300 struct proc_ns {
301 void *ns;
302 -diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h
303 -index 077904c..cc79eff 100644
304 ---- a/include/linux/ptrace.h
305 -+++ b/include/linux/ptrace.h
306 -@@ -334,6 +334,9 @@ static inline void user_single_step_siginfo(struct task_struct *tsk,
307 - * calling arch_ptrace_stop() when it would be superfluous. For example,
308 - * if the thread has not been back to user mode since the last stop, the
309 - * thread state might indicate that nothing needs to be done.
310 -+ *
311 -+ * This is guaranteed to be invoked once before a task stops for ptrace and
312 -+ * may include arch-specific operations necessary prior to a ptrace stop.
313 - */
314 - #define arch_ptrace_stop_needed(code, info) (0)
315 - #endif
316 diff --git a/include/linux/quota.h b/include/linux/quota.h
317 index cc7494a..1e27036 100644
318 --- a/include/linux/quota.h
319 @@ -86755,7 +86752,7 @@ index 81b3d67..ef189a4 100644
320 {
321 struct signal_struct *sig = current->signal;
322 diff --git a/kernel/fork.c b/kernel/fork.c
323 -index 45da005c..6581b2b 100644
324 +index c44bff8..a3c5876 100644
325 --- a/kernel/fork.c
326 +++ b/kernel/fork.c
327 @@ -180,6 +180,48 @@ void thread_info_cache_init(void)
328 @@ -87137,7 +87134,7 @@ index 45da005c..6581b2b 100644
329 if (likely(p->pid)) {
330 ptrace_init_task(p, (clone_flags & CLONE_PTRACE) || trace);
331
332 -@@ -1537,6 +1647,8 @@ bad_fork_cleanup_count:
333 +@@ -1539,6 +1649,8 @@ bad_fork_cleanup_count:
334 bad_fork_free:
335 free_task(p);
336 fork_out:
337 @@ -87146,7 +87143,7 @@ index 45da005c..6581b2b 100644
338 return ERR_PTR(retval);
339 }
340
341 -@@ -1598,6 +1710,7 @@ long do_fork(unsigned long clone_flags,
342 +@@ -1600,6 +1712,7 @@ long do_fork(unsigned long clone_flags,
343
344 p = copy_process(clone_flags, stack_start, stack_size,
345 child_tidptr, NULL, trace);
346 @@ -87154,7 +87151,7 @@ index 45da005c..6581b2b 100644
347 /*
348 * Do this prior waking up the new thread - the thread pointer
349 * might get invalid after that point, if the thread exits quickly.
350 -@@ -1614,6 +1727,8 @@ long do_fork(unsigned long clone_flags,
351 +@@ -1616,6 +1729,8 @@ long do_fork(unsigned long clone_flags,
352 if (clone_flags & CLONE_PARENT_SETTID)
353 put_user(nr, parent_tidptr);
354
355 @@ -87163,7 +87160,7 @@ index 45da005c..6581b2b 100644
356 if (clone_flags & CLONE_VFORK) {
357 p->vfork_done = &vfork;
358 init_completion(&vfork);
359 -@@ -1732,7 +1847,7 @@ void __init proc_caches_init(void)
360 +@@ -1734,7 +1849,7 @@ void __init proc_caches_init(void)
361 mm_cachep = kmem_cache_create("mm_struct",
362 sizeof(struct mm_struct), ARCH_MIN_MMSTRUCT_ALIGN,
363 SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_NOTRACK, NULL);
364 @@ -87172,7 +87169,7 @@ index 45da005c..6581b2b 100644
365 mmap_init();
366 nsproxy_cache_init();
367 }
368 -@@ -1772,7 +1887,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
369 +@@ -1774,7 +1889,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
370 return 0;
371
372 /* don't need lock here; in the worst case we'll do useless copy */
373 @@ -87181,7 +87178,7 @@ index 45da005c..6581b2b 100644
374 return 0;
375
376 *new_fsp = copy_fs_struct(fs);
377 -@@ -1879,7 +1994,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
378 +@@ -1881,7 +1996,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
379 fs = current->fs;
380 spin_lock(&fs->lock);
381 current->fs = new_fs;
382 @@ -91701,10 +91698,10 @@ index fc4da2d..f3e800b 100644
383 *data_page = bpage;
384
385 diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
386 -index 24c1f23..781fd73f 100644
387 +index f0831c22..4b19cb3 100644
388 --- a/kernel/trace/trace.c
389 +++ b/kernel/trace/trace.c
390 -@@ -3399,7 +3399,7 @@ int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set)
391 +@@ -3400,7 +3400,7 @@ int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set)
392 return 0;
393 }
394
395 @@ -91894,7 +91891,7 @@ index 4f69f9a..7c6f8f8 100644
396 memcpy(&uts_table, table, sizeof(uts_table));
397 uts_table.data = get_uts(table, write);
398 diff --git a/kernel/watchdog.c b/kernel/watchdog.c
399 -index 4431610..4265616 100644
400 +index c9b6f01..37781d9 100644
401 --- a/kernel/watchdog.c
402 +++ b/kernel/watchdog.c
403 @@ -475,7 +475,7 @@ static int watchdog_nmi_enable(unsigned int cpu) { return 0; }
404 @@ -92442,37 +92439,6 @@ index c24c2f7..f0296f4 100644
405 + pax_close_kernel();
406 +}
407 +EXPORT_SYMBOL(pax_list_del_rcu);
408 -diff --git a/lib/lz4/lz4_decompress.c b/lib/lz4/lz4_decompress.c
409 -index b74da44..7a85967 100644
410 ---- a/lib/lz4/lz4_decompress.c
411 -+++ b/lib/lz4/lz4_decompress.c
412 -@@ -192,6 +192,8 @@ static int lz4_uncompress_unknownoutputsize(const char *source, char *dest,
413 - int s = 255;
414 - while ((ip < iend) && (s == 255)) {
415 - s = *ip++;
416 -+ if (unlikely(length > (size_t)(length + s)))
417 -+ goto _output_error;
418 - length += s;
419 - }
420 - }
421 -@@ -232,6 +234,8 @@ static int lz4_uncompress_unknownoutputsize(const char *source, char *dest,
422 - if (length == ML_MASK) {
423 - while (ip < iend) {
424 - int s = *ip++;
425 -+ if (unlikely(length > (size_t)(length + s)))
426 -+ goto _output_error;
427 - length += s;
428 - if (s == 255)
429 - continue;
430 -@@ -284,7 +288,7 @@ static int lz4_uncompress_unknownoutputsize(const char *source, char *dest,
431 -
432 - /* write overflow error detected */
433 - _output_error:
434 -- return (int) (-(((char *) ip) - source));
435 -+ return -1;
436 - }
437 -
438 - int lz4_decompress(const unsigned char *src, size_t *src_len,
439 diff --git a/lib/percpu-refcount.c b/lib/percpu-refcount.c
440 index 963b703..438bc51 100644
441 --- a/lib/percpu-refcount.c
442 @@ -101804,7 +101770,7 @@ index a8eb0a8..86f2de4 100644
443
444 if (!todrop_rate[i]) return 0;
445 diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
446 -index 4f26ee4..6a9d7c3 100644
447 +index 3d2d2c8..c87e4d3 100644
448 --- a/net/netfilter/ipvs/ip_vs_core.c
449 +++ b/net/netfilter/ipvs/ip_vs_core.c
450 @@ -567,7 +567,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
451 @@ -101816,7 +101782,7 @@ index 4f26ee4..6a9d7c3 100644
452 ip_vs_conn_put(cp);
453 return ret;
454 }
455 -@@ -1706,7 +1706,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
456 +@@ -1711,7 +1711,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
457 if (cp->flags & IP_VS_CONN_F_ONE_PACKET)
458 pkts = sysctl_sync_threshold(ipvs);
459 else
460 @@ -101994,7 +101960,7 @@ index a4b5e2a..13b1de3 100644
461 table = kmemdup(acct_sysctl_table, sizeof(acct_sysctl_table),
462 GFP_KERNEL);
463 diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
464 -index 356bef5..99932cb 100644
465 +index 356bef5..163b56a 100644
466 --- a/net/netfilter/nf_conntrack_core.c
467 +++ b/net/netfilter/nf_conntrack_core.c
468 @@ -1627,6 +1627,10 @@ void nf_conntrack_init_end(void)
469 @@ -102013,7 +101979,7 @@ index 356bef5..99932cb 100644
470 }
471
472 +#ifdef CONFIG_GRKERNSEC_HIDESYM
473 -+ net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%08lx", atomic_inc_return_unchecked(&conntrack_cache_id));
474 ++ net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%08x", atomic_inc_return_unchecked(&conntrack_cache_id));
475 +#else
476 net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%p", net);
477 +#endif
478 @@ -114733,7 +114699,7 @@ index 0000000..4378111
479 +}
480 diff --git a/tools/gcc/size_overflow_plugin/size_overflow_hash.data b/tools/gcc/size_overflow_plugin/size_overflow_hash.data
481 new file mode 100644
482 -index 0000000..8972f81
483 +index 0000000..4077712
484 --- /dev/null
485 +++ b/tools/gcc/size_overflow_plugin/size_overflow_hash.data
486 @@ -0,0 +1,5988 @@
487 @@ -116547,8 +116513,8 @@ index 0000000..8972f81
488 +attach_hdlc_protocol_19986 attach_hdlc_protocol 3 19986 NULL
489 +rtw_set_wps_probe_resp_19989 rtw_set_wps_probe_resp 3 19989 NULL
490 +diva_um_idi_read_20003 diva_um_idi_read 0 20003 NULL
491 -+lov_stripe_md_size_20009 lov_stripe_md_size 0-1 20009 NULL nohasharray
492 -+event_trigger_write_20009 event_trigger_write 3 20009 &lov_stripe_md_size_20009
493 ++event_trigger_write_20009 event_trigger_write 3 20009 NULL nohasharray
494 ++lov_stripe_md_size_20009 lov_stripe_md_size 0-1 20009 &event_trigger_write_20009
495 +tree_mod_log_eb_move_20011 tree_mod_log_eb_move 5 20011 NULL
496 +SYSC_fgetxattr_20027 SYSC_fgetxattr 4 20027 NULL
497 +split_scan_timeout_read_20029 split_scan_timeout_read 3 20029 NULL
498 @@ -116915,8 +116881,8 @@ index 0000000..8972f81
499 +bin_to_hex_dup_23853 bin_to_hex_dup 2 23853 NULL
500 +ocfs2_xattr_get_clusters_23857 ocfs2_xattr_get_clusters 0 23857 NULL
501 +ieee80211_if_read_dot11MeshMaxPeerLinks_23878 ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 NULL
502 -+nouveau_clock_create__23881 nouveau_clock_create_ 5 23881 NULL nohasharray
503 -+writeback_single_inode_23881 writeback_single_inode 0 23881 &nouveau_clock_create__23881
504 ++writeback_single_inode_23881 writeback_single_inode 0 23881 NULL nohasharray
505 ++nouveau_clock_create__23881 nouveau_clock_create_ 5 23881 &writeback_single_inode_23881
506 +tipc_snprintf_23893 tipc_snprintf 2-0 23893 NULL
507 +add_new_gdb_meta_bg_23911 add_new_gdb_meta_bg 3 23911 NULL nohasharray
508 +ieee80211_if_read_hw_queues_23911 ieee80211_if_read_hw_queues 3 23911 &add_new_gdb_meta_bg_23911
509
510 diff --git a/3.14.10/4425_grsec_remove_EI_PAX.patch b/3.14.11/4425_grsec_remove_EI_PAX.patch
511 similarity index 100%
512 rename from 3.14.10/4425_grsec_remove_EI_PAX.patch
513 rename to 3.14.11/4425_grsec_remove_EI_PAX.patch
514
515 diff --git a/3.14.10/4427_force_XATTR_PAX_tmpfs.patch b/3.14.11/4427_force_XATTR_PAX_tmpfs.patch
516 similarity index 100%
517 rename from 3.14.10/4427_force_XATTR_PAX_tmpfs.patch
518 rename to 3.14.11/4427_force_XATTR_PAX_tmpfs.patch
519
520 diff --git a/3.14.10/4430_grsec-remove-localversion-grsec.patch b/3.14.11/4430_grsec-remove-localversion-grsec.patch
521 similarity index 100%
522 rename from 3.14.10/4430_grsec-remove-localversion-grsec.patch
523 rename to 3.14.11/4430_grsec-remove-localversion-grsec.patch
524
525 diff --git a/3.14.10/4435_grsec-mute-warnings.patch b/3.14.11/4435_grsec-mute-warnings.patch
526 similarity index 100%
527 rename from 3.14.10/4435_grsec-mute-warnings.patch
528 rename to 3.14.11/4435_grsec-mute-warnings.patch
529
530 diff --git a/3.14.10/4440_grsec-remove-protected-paths.patch b/3.14.11/4440_grsec-remove-protected-paths.patch
531 similarity index 100%
532 rename from 3.14.10/4440_grsec-remove-protected-paths.patch
533 rename to 3.14.11/4440_grsec-remove-protected-paths.patch
534
535 diff --git a/3.14.10/4450_grsec-kconfig-default-gids.patch b/3.14.11/4450_grsec-kconfig-default-gids.patch
536 similarity index 100%
537 rename from 3.14.10/4450_grsec-kconfig-default-gids.patch
538 rename to 3.14.11/4450_grsec-kconfig-default-gids.patch
539
540 diff --git a/3.14.10/4465_selinux-avc_audit-log-curr_ip.patch b/3.14.11/4465_selinux-avc_audit-log-curr_ip.patch
541 similarity index 100%
542 rename from 3.14.10/4465_selinux-avc_audit-log-curr_ip.patch
543 rename to 3.14.11/4465_selinux-avc_audit-log-curr_ip.patch
544
545 diff --git a/3.14.10/4470_disable-compat_vdso.patch b/3.14.11/4470_disable-compat_vdso.patch
546 similarity index 100%
547 rename from 3.14.10/4470_disable-compat_vdso.patch
548 rename to 3.14.11/4470_disable-compat_vdso.patch
549
550 diff --git a/3.14.10/4475_emutramp_default_on.patch b/3.14.11/4475_emutramp_default_on.patch
551 similarity index 100%
552 rename from 3.14.10/4475_emutramp_default_on.patch
553 rename to 3.14.11/4475_emutramp_default_on.patch
554
555 diff --git a/3.15.3/0000_README b/3.15.4/0000_README
556 similarity index 100%
557 rename from 3.15.3/0000_README
558 rename to 3.15.4/0000_README
559
560 diff --git a/3.15.3/4420_grsecurity-3.0-3.15.3-201407060933.patch b/3.15.4/4420_grsecurity-3.0-3.15.4-201407072046.patch
561 similarity index 99%
562 rename from 3.15.3/4420_grsecurity-3.0-3.15.3-201407060933.patch
563 rename to 3.15.4/4420_grsecurity-3.0-3.15.4-201407072046.patch
564 index 8f5bdcd..0dbb183 100644
565 --- a/3.15.3/4420_grsecurity-3.0-3.15.3-201407060933.patch
566 +++ b/3.15.4/4420_grsecurity-3.0-3.15.4-201407072046.patch
567 @@ -287,7 +287,7 @@ index 30a8ad0d..2ed9efd 100644
568
569 pcd. [PARIDE]
570 diff --git a/Makefile b/Makefile
571 -index 2e37d8b..3904d75 100644
572 +index 25ecc1d..184bee9 100644
573 --- a/Makefile
574 +++ b/Makefile
575 @@ -246,7 +246,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
576 @@ -15755,7 +15755,7 @@ index 69bbb48..32517fe 100644
577
578 #define smp_load_acquire(p) \
579 diff --git a/arch/x86/include/asm/bitops.h b/arch/x86/include/asm/bitops.h
580 -index 9fc1af7..fc71228 100644
581 +index 9fc1af7..776d75a 100644
582 --- a/arch/x86/include/asm/bitops.h
583 +++ b/arch/x86/include/asm/bitops.h
584 @@ -49,7 +49,7 @@
585 @@ -15835,7 +15835,7 @@ index 9fc1af7..fc71228 100644
586 */
587 #ifdef CONFIG_X86_64
588 -static __always_inline int fls64(__u64 x)
589 -+static __always_inline long fls64(__u64 x)
590 ++static __always_inline __intentional_overflow(-1) int fls64(__u64 x)
591 {
592 int bitpos = -1;
593 /*
594 @@ -18365,7 +18365,7 @@ index a4ea023..33aa874 100644
595 void df_debug(struct pt_regs *regs, long error_code);
596 #endif /* _ASM_X86_PROCESSOR_H */
597 diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
598 -index 14fd6fd..b31a4a4 100644
599 +index 6205f0c..b31a4a4 100644
600 --- a/arch/x86/include/asm/ptrace.h
601 +++ b/arch/x86/include/asm/ptrace.h
602 @@ -84,28 +84,29 @@ static inline unsigned long regs_return_value(struct pt_regs *regs)
603 @@ -18438,29 +18438,6 @@ index 14fd6fd..b31a4a4 100644
604 #endif
605 return *(unsigned long *)((unsigned long)regs + offset);
606 }
607 -@@ -231,6 +235,22 @@ static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
608 -
609 - #define ARCH_HAS_USER_SINGLE_STEP_INFO
610 -
611 -+/*
612 -+ * When hitting ptrace_stop(), we cannot return using SYSRET because
613 -+ * that does not restore the full CPU state, only a minimal set. The
614 -+ * ptracer can change arbitrary register values, which is usually okay
615 -+ * because the usual ptrace stops run off the signal delivery path which
616 -+ * forces IRET; however, ptrace_event() stops happen in arbitrary places
617 -+ * in the kernel and don't force IRET path.
618 -+ *
619 -+ * So force IRET path after a ptrace stop.
620 -+ */
621 -+#define arch_ptrace_stop_needed(code, info) \
622 -+({ \
623 -+ set_thread_flag(TIF_NOTIFY_RESUME); \
624 -+ false; \
625 -+})
626 -+
627 - struct user_desc;
628 - extern int do_get_thread_area(struct task_struct *p, int idx,
629 - struct user_desc __user *info);
630 diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
631 index 9c6b890..5305f53 100644
632 --- a/arch/x86/include/asm/realmode.h
633 @@ -26431,7 +26408,7 @@ index 898d077..4c458ff 100644
634 ip = *(u64 *)(fp+8);
635 if (!in_sched_functions(ip))
636 diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
637 -index 678c0ad..d309ccb 100644
638 +index 678c0ad..2fc2a7b 100644
639 --- a/arch/x86/kernel/ptrace.c
640 +++ b/arch/x86/kernel/ptrace.c
641 @@ -186,10 +186,10 @@ unsigned long kernel_stack_pointer(struct pt_regs *regs)
642 @@ -26447,7 +26424,28 @@ index 678c0ad..d309ccb 100644
643 if (prev_esp)
644 return (unsigned long)prev_esp;
645
646 -@@ -588,7 +588,7 @@ static void ptrace_triggered(struct perf_event *bp,
647 +@@ -452,6 +452,20 @@ static int putreg(struct task_struct *child,
648 + if (child->thread.gs != value)
649 + return do_arch_prctl(child, ARCH_SET_GS, value);
650 + return 0;
651 ++
652 ++ case offsetof(struct user_regs_struct,ip):
653 ++ /*
654 ++ * Protect against any attempt to set ip to an
655 ++ * impossible address. There are dragons lurking if the
656 ++ * address is noncanonical. (This explicitly allows
657 ++ * setting ip to TASK_SIZE_MAX, because user code can do
658 ++ * that all by itself by running off the end of its
659 ++ * address space.
660 ++ */
661 ++ if (value > TASK_SIZE_MAX)
662 ++ return -EIO;
663 ++ break;
664 ++
665 + #endif
666 + }
667 +
668 +@@ -588,7 +602,7 @@ static void ptrace_triggered(struct perf_event *bp,
669 static unsigned long ptrace_get_dr7(struct perf_event *bp[])
670 {
671 int i;
672 @@ -26456,7 +26454,7 @@ index 678c0ad..d309ccb 100644
673 struct arch_hw_breakpoint *info;
674
675 for (i = 0; i < HBP_NUM; i++) {
676 -@@ -822,7 +822,7 @@ long arch_ptrace(struct task_struct *child, long request,
677 +@@ -822,7 +836,7 @@ long arch_ptrace(struct task_struct *child, long request,
678 unsigned long addr, unsigned long data)
679 {
680 int ret;
681 @@ -26465,7 +26463,7 @@ index 678c0ad..d309ccb 100644
682
683 switch (request) {
684 /* read the word at location addr in the USER area. */
685 -@@ -907,14 +907,14 @@ long arch_ptrace(struct task_struct *child, long request,
686 +@@ -907,14 +921,14 @@ long arch_ptrace(struct task_struct *child, long request,
687 if ((int) addr < 0)
688 return -EIO;
689 ret = do_get_thread_area(child, addr,
690 @@ -26482,7 +26480,7 @@ index 678c0ad..d309ccb 100644
691 break;
692 #endif
693
694 -@@ -1292,7 +1292,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
695 +@@ -1292,7 +1306,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
696
697 #ifdef CONFIG_X86_64
698
699 @@ -26491,7 +26489,7 @@ index 678c0ad..d309ccb 100644
700 [REGSET_GENERAL] = {
701 .core_note_type = NT_PRSTATUS,
702 .n = sizeof(struct user_regs_struct) / sizeof(long),
703 -@@ -1333,7 +1333,7 @@ static const struct user_regset_view user_x86_64_view = {
704 +@@ -1333,7 +1347,7 @@ static const struct user_regset_view user_x86_64_view = {
705 #endif /* CONFIG_X86_64 */
706
707 #if defined CONFIG_X86_32 || defined CONFIG_IA32_EMULATION
708 @@ -26500,7 +26498,7 @@ index 678c0ad..d309ccb 100644
709 [REGSET_GENERAL] = {
710 .core_note_type = NT_PRSTATUS,
711 .n = sizeof(struct user_regs_struct32) / sizeof(u32),
712 -@@ -1386,7 +1386,7 @@ static const struct user_regset_view user_x86_32_view = {
713 +@@ -1386,7 +1400,7 @@ static const struct user_regset_view user_x86_32_view = {
714 */
715 u64 xstate_fx_sw_bytes[USER_XSTATE_FX_SW_WORDS];
716
717 @@ -26509,7 +26507,7 @@ index 678c0ad..d309ccb 100644
718 {
719 #ifdef CONFIG_X86_64
720 x86_64_regsets[REGSET_XSTATE].n = size / sizeof(u64);
721 -@@ -1421,7 +1421,7 @@ static void fill_sigtrap_info(struct task_struct *tsk,
722 +@@ -1421,7 +1435,7 @@ static void fill_sigtrap_info(struct task_struct *tsk,
723 memset(info, 0, sizeof(*info));
724 info->si_signo = SIGTRAP;
725 info->si_code = si_code;
726 @@ -26518,7 +26516,7 @@ index 678c0ad..d309ccb 100644
727 }
728
729 void user_single_step_siginfo(struct task_struct *tsk,
730 -@@ -1450,6 +1450,10 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
731 +@@ -1450,6 +1464,10 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
732 # define IS_IA32 0
733 #endif
734
735 @@ -26529,7 +26527,7 @@ index 678c0ad..d309ccb 100644
736 /*
737 * We must return the syscall number to actually look up in the table.
738 * This can be -1L to skip running any syscall at all.
739 -@@ -1460,6 +1464,11 @@ long syscall_trace_enter(struct pt_regs *regs)
740 +@@ -1460,6 +1478,11 @@ long syscall_trace_enter(struct pt_regs *regs)
741
742 user_exit();
743
744 @@ -26541,7 +26539,7 @@ index 678c0ad..d309ccb 100644
745 /*
746 * If we stepped into a sysenter/syscall insn, it trapped in
747 * kernel mode; do_debug() cleared TF and set TIF_SINGLESTEP.
748 -@@ -1515,6 +1524,11 @@ void syscall_trace_leave(struct pt_regs *regs)
749 +@@ -1515,6 +1538,11 @@ void syscall_trace_leave(struct pt_regs *regs)
750 */
751 user_exit();
752
753 @@ -39039,7 +39037,7 @@ index 000e4e0..4770351 100644
754 cpu_notifier_register_begin();
755
756 diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
757 -index abda660..f1d1de0 100644
758 +index 558224c..55e3b57 100644
759 --- a/drivers/cpufreq/cpufreq.c
760 +++ b/drivers/cpufreq/cpufreq.c
761 @@ -2022,7 +2022,7 @@ void cpufreq_unregister_governor(struct cpufreq_governor *governor)
762 @@ -39051,7 +39049,7 @@ index abda660..f1d1de0 100644
763 mutex_unlock(&cpufreq_governor_mutex);
764 return;
765 }
766 -@@ -2240,7 +2240,7 @@ static int cpufreq_cpu_callback(struct notifier_block *nfb,
767 +@@ -2238,7 +2238,7 @@ static int cpufreq_cpu_callback(struct notifier_block *nfb,
768 return NOTIFY_OK;
769 }
770
771 @@ -39060,7 +39058,7 @@ index abda660..f1d1de0 100644
772 .notifier_call = cpufreq_cpu_callback,
773 };
774
775 -@@ -2280,13 +2280,17 @@ int cpufreq_boost_trigger_state(int state)
776 +@@ -2278,13 +2278,17 @@ int cpufreq_boost_trigger_state(int state)
777 return 0;
778
779 write_lock_irqsave(&cpufreq_driver_lock, flags);
780 @@ -39080,7 +39078,7 @@ index abda660..f1d1de0 100644
781 write_unlock_irqrestore(&cpufreq_driver_lock, flags);
782
783 pr_err("%s: Cannot %s BOOST\n",
784 -@@ -2342,8 +2346,11 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
785 +@@ -2340,8 +2344,11 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
786
787 pr_debug("trying to register driver %s\n", driver_data->name);
788
789 @@ -39094,7 +39092,7 @@ index abda660..f1d1de0 100644
790
791 write_lock_irqsave(&cpufreq_driver_lock, flags);
792 if (cpufreq_driver) {
793 -@@ -2358,8 +2365,11 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
794 +@@ -2356,8 +2363,11 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
795 * Check if driver provides function to enable boost -
796 * if not, use cpufreq_boost_set_sw as default
797 */
798 @@ -46464,6 +46462,19 @@ index a2515887..6d13233 100644
799 dev->net->dev_addr[ETH_ALEN-1] = ifacenum;
800
801 /* we will have to manufacture ethernet headers, prepare template */
802 +diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
803 +index 8a852b5..668a4b6 100644
804 +--- a/drivers/net/virtio_net.c
805 ++++ b/drivers/net/virtio_net.c
806 +@@ -47,7 +47,7 @@ module_param(gso, bool, 0444);
807 + #define RECEIVE_AVG_WEIGHT 64
808 +
809 + /* Minimum alignment for mergeable packet buffers. */
810 +-#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, 256)
811 ++#define MERGEABLE_BUFFER_ALIGN max(L1_CACHE_BYTES, 256UL)
812 +
813 + #define VIRTNET_DRIVER_VERSION "1.0.0"
814 +
815 diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
816 index 77dcf92..549924a 100644
817 --- a/drivers/net/vxlan.c
818 @@ -48745,10 +48756,10 @@ index 3cbb57a..95e47a3 100644
819
820 /* These three are default values which can be overridden */
821 diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
822 -index 9a6e4a2..27843b6 100644
823 +index fda6cf1..7a6b5d8 100644
824 --- a/drivers/scsi/hpsa.c
825 +++ b/drivers/scsi/hpsa.c
826 -@@ -687,10 +687,10 @@ static inline u32 next_command(struct ctlr_info *h, u8 q)
827 +@@ -699,10 +699,10 @@ static inline u32 next_command(struct ctlr_info *h, u8 q)
828 unsigned long flags;
829
830 if (h->transMethod & CFGTBL_Trans_io_accel1)
831 @@ -48761,7 +48772,7 @@ index 9a6e4a2..27843b6 100644
832
833 if ((rq->head[rq->current_entry] & 1) == rq->wraparound) {
834 a = rq->head[rq->current_entry];
835 -@@ -5448,7 +5448,7 @@ static void start_io(struct ctlr_info *h)
836 +@@ -5460,7 +5460,7 @@ static void start_io(struct ctlr_info *h)
837 while (!list_empty(&h->reqQ)) {
838 c = list_entry(h->reqQ.next, struct CommandList, list);
839 /* can't do anything if fifo is full */
840 @@ -48770,7 +48781,7 @@ index 9a6e4a2..27843b6 100644
841 h->fifo_recently_full = 1;
842 dev_warn(&h->pdev->dev, "fifo full\n");
843 break;
844 -@@ -5472,7 +5472,7 @@ static void start_io(struct ctlr_info *h)
845 +@@ -5484,7 +5484,7 @@ static void start_io(struct ctlr_info *h)
846
847 /* Tell the controller execute command */
848 spin_unlock_irqrestore(&h->lock, flags);
849 @@ -48779,7 +48790,7 @@ index 9a6e4a2..27843b6 100644
850 spin_lock_irqsave(&h->lock, flags);
851 }
852 spin_unlock_irqrestore(&h->lock, flags);
853 -@@ -5480,17 +5480,17 @@ static void start_io(struct ctlr_info *h)
854 +@@ -5492,17 +5492,17 @@ static void start_io(struct ctlr_info *h)
855
856 static inline unsigned long get_next_completion(struct ctlr_info *h, u8 q)
857 {
858 @@ -48800,7 +48811,7 @@ index 9a6e4a2..27843b6 100644
859 (h->interrupts_enabled == 0);
860 }
861
862 -@@ -6444,7 +6444,7 @@ static int hpsa_pci_init(struct ctlr_info *h)
863 +@@ -6456,7 +6456,7 @@ static int hpsa_pci_init(struct ctlr_info *h)
864 if (prod_index < 0)
865 return -ENODEV;
866 h->product_name = products[prod_index].product_name;
867 @@ -48809,7 +48820,7 @@ index 9a6e4a2..27843b6 100644
868
869 pci_disable_link_state(h->pdev, PCIE_LINK_STATE_L0S |
870 PCIE_LINK_STATE_L1 | PCIE_LINK_STATE_CLKPM);
871 -@@ -6723,7 +6723,7 @@ static void controller_lockup_detected(struct ctlr_info *h)
872 +@@ -6735,7 +6735,7 @@ static void controller_lockup_detected(struct ctlr_info *h)
873 {
874 unsigned long flags;
875
876 @@ -48818,7 +48829,7 @@ index 9a6e4a2..27843b6 100644
877 spin_lock_irqsave(&h->lock, flags);
878 h->lockup_detected = readl(h->vaddr + SA5_SCRATCHPAD_OFFSET);
879 spin_unlock_irqrestore(&h->lock, flags);
880 -@@ -6951,7 +6951,7 @@ reinit_after_soft_reset:
881 +@@ -6963,7 +6963,7 @@ reinit_after_soft_reset:
882 }
883
884 /* make sure the board interrupts are off */
885 @@ -48827,7 +48838,7 @@ index 9a6e4a2..27843b6 100644
886
887 if (hpsa_request_irq(h, do_hpsa_intr_msi, do_hpsa_intr_intx))
888 goto clean2;
889 -@@ -6986,7 +6986,7 @@ reinit_after_soft_reset:
890 +@@ -6998,7 +6998,7 @@ reinit_after_soft_reset:
891 * fake ones to scoop up any residual completions.
892 */
893 spin_lock_irqsave(&h->lock, flags);
894 @@ -48836,7 +48847,7 @@ index 9a6e4a2..27843b6 100644
895 spin_unlock_irqrestore(&h->lock, flags);
896 free_irqs(h);
897 rc = hpsa_request_irq(h, hpsa_msix_discard_completions,
898 -@@ -7005,9 +7005,9 @@ reinit_after_soft_reset:
899 +@@ -7017,9 +7017,9 @@ reinit_after_soft_reset:
900 dev_info(&h->pdev->dev, "Board READY.\n");
901 dev_info(&h->pdev->dev,
902 "Waiting for stale completions to drain.\n");
903 @@ -48848,7 +48859,7 @@ index 9a6e4a2..27843b6 100644
904
905 rc = controller_reset_failed(h->cfgtable);
906 if (rc)
907 -@@ -7033,7 +7033,7 @@ reinit_after_soft_reset:
908 +@@ -7045,7 +7045,7 @@ reinit_after_soft_reset:
909 h->drv_req_rescan = 0;
910
911 /* Turn the interrupts on so we can service requests */
912 @@ -48857,7 +48868,7 @@ index 9a6e4a2..27843b6 100644
913
914 hpsa_hba_inquiry(h);
915 hpsa_register_scsi(h); /* hook ourselves into SCSI subsystem */
916 -@@ -7102,7 +7102,7 @@ static void hpsa_shutdown(struct pci_dev *pdev)
917 +@@ -7114,7 +7114,7 @@ static void hpsa_shutdown(struct pci_dev *pdev)
918 * To write all data in the battery backed cache to disks
919 */
920 hpsa_flush_cache(h);
921 @@ -48866,7 +48877,7 @@ index 9a6e4a2..27843b6 100644
922 hpsa_free_irqs_and_disable_msix(h);
923 }
924
925 -@@ -7220,7 +7220,7 @@ static void hpsa_enter_performant_mode(struct ctlr_info *h, u32 trans_support)
926 +@@ -7232,7 +7232,7 @@ static void hpsa_enter_performant_mode(struct ctlr_info *h, u32 trans_support)
927 CFGTBL_Trans_enable_directed_msix |
928 (trans_support & (CFGTBL_Trans_io_accel1 |
929 CFGTBL_Trans_io_accel2));
930 @@ -48875,7 +48886,7 @@ index 9a6e4a2..27843b6 100644
931
932 /* This is a bit complicated. There are 8 registers on
933 * the controller which we write to to tell it 8 different
934 -@@ -7285,12 +7285,12 @@ static void hpsa_enter_performant_mode(struct ctlr_info *h, u32 trans_support)
935 +@@ -7297,12 +7297,12 @@ static void hpsa_enter_performant_mode(struct ctlr_info *h, u32 trans_support)
936 * enable outbound interrupt coalescing in accelerator mode;
937 */
938 if (trans_support & CFGTBL_Trans_io_accel1) {
939 @@ -50293,10 +50304,10 @@ index e7e9372..161f530 100644
940 login->tgt_agt = sbp_target_agent_register(login);
941 if (IS_ERR(login->tgt_agt)) {
942 diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
943 -index 26416c1..e796a3d 100644
944 +index 6ea95d2..88607b4 100644
945 --- a/drivers/target/target_core_device.c
946 +++ b/drivers/target/target_core_device.c
947 -@@ -1524,7 +1524,7 @@ struct se_device *target_alloc_device(struct se_hba *hba, const char *name)
948 +@@ -1525,7 +1525,7 @@ struct se_device *target_alloc_device(struct se_hba *hba, const char *name)
949 spin_lock_init(&dev->se_tmr_lock);
950 spin_lock_init(&dev->qf_cmd_lock);
951 sema_init(&dev->caw_sem, 1);
952 @@ -62226,7 +62237,7 @@ index f4ccfe6..a5cf064 100644
953 static struct callback_op callback_ops[];
954
955 diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
956 -index 0c43897..0949f08 100644
957 +index c79f3e7..d61d671 100644
958 --- a/fs/nfs/inode.c
959 +++ b/fs/nfs/inode.c
960 @@ -1209,16 +1209,16 @@ static int nfs_size_need_update(const struct inode *inode, const struct nfs_fatt
961 @@ -62263,7 +62274,7 @@ index d543222..2cfa2a2 100644
962 static struct nfsd4_operation nfsd4_ops[];
963
964 diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
965 -index 18881f3..40e5bef 100644
966 +index b4c4958..04687ad 100644
967 --- a/fs/nfsd/nfs4xdr.c
968 +++ b/fs/nfsd/nfs4xdr.c
969 @@ -1530,7 +1530,7 @@ nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p)
970 @@ -81571,20 +81582,6 @@ index 34a1e10..70f6bde 100644
971
972 struct proc_ns {
973 void *ns;
974 -diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h
975 -index 077904c..cc79eff 100644
976 ---- a/include/linux/ptrace.h
977 -+++ b/include/linux/ptrace.h
978 -@@ -334,6 +334,9 @@ static inline void user_single_step_siginfo(struct task_struct *tsk,
979 - * calling arch_ptrace_stop() when it would be superfluous. For example,
980 - * if the thread has not been back to user mode since the last stop, the
981 - * thread state might indicate that nothing needs to be done.
982 -+ *
983 -+ * This is guaranteed to be invoked once before a task stops for ptrace and
984 -+ * may include arch-specific operations necessary prior to a ptrace stop.
985 - */
986 - #define arch_ptrace_stop_needed(code, info) (0)
987 - #endif
988 diff --git a/include/linux/quota.h b/include/linux/quota.h
989 index cc7494a..1e27036 100644
990 --- a/include/linux/quota.h
991 @@ -86219,7 +86216,7 @@ index 6ed6a1d..edecb0e 100644
992 {
993 struct signal_struct *sig = current->signal;
994 diff --git a/kernel/fork.c b/kernel/fork.c
995 -index 1429043..9d95f16 100644
996 +index 68b9226..0700bf6 100644
997 --- a/kernel/fork.c
998 +++ b/kernel/fork.c
999 @@ -183,6 +183,48 @@ void thread_info_cache_init(void)
1000 @@ -86601,7 +86598,7 @@ index 1429043..9d95f16 100644
1001 if (likely(p->pid)) {
1002 ptrace_init_task(p, (clone_flags & CLONE_PTRACE) || trace);
1003
1004 -@@ -1539,6 +1649,8 @@ bad_fork_cleanup_count:
1005 +@@ -1541,6 +1651,8 @@ bad_fork_cleanup_count:
1006 bad_fork_free:
1007 free_task(p);
1008 fork_out:
1009 @@ -86610,7 +86607,7 @@ index 1429043..9d95f16 100644
1010 return ERR_PTR(retval);
1011 }
1012
1013 -@@ -1600,6 +1712,7 @@ long do_fork(unsigned long clone_flags,
1014 +@@ -1602,6 +1714,7 @@ long do_fork(unsigned long clone_flags,
1015
1016 p = copy_process(clone_flags, stack_start, stack_size,
1017 child_tidptr, NULL, trace);
1018 @@ -86618,7 +86615,7 @@ index 1429043..9d95f16 100644
1019 /*
1020 * Do this prior waking up the new thread - the thread pointer
1021 * might get invalid after that point, if the thread exits quickly.
1022 -@@ -1616,6 +1729,8 @@ long do_fork(unsigned long clone_flags,
1023 +@@ -1618,6 +1731,8 @@ long do_fork(unsigned long clone_flags,
1024 if (clone_flags & CLONE_PARENT_SETTID)
1025 put_user(nr, parent_tidptr);
1026
1027 @@ -86627,7 +86624,7 @@ index 1429043..9d95f16 100644
1028 if (clone_flags & CLONE_VFORK) {
1029 p->vfork_done = &vfork;
1030 init_completion(&vfork);
1031 -@@ -1734,7 +1849,7 @@ void __init proc_caches_init(void)
1032 +@@ -1736,7 +1851,7 @@ void __init proc_caches_init(void)
1033 mm_cachep = kmem_cache_create("mm_struct",
1034 sizeof(struct mm_struct), ARCH_MIN_MMSTRUCT_ALIGN,
1035 SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_NOTRACK, NULL);
1036 @@ -86636,7 +86633,7 @@ index 1429043..9d95f16 100644
1037 mmap_init();
1038 nsproxy_cache_init();
1039 }
1040 -@@ -1774,7 +1889,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
1041 +@@ -1776,7 +1891,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
1042 return 0;
1043
1044 /* don't need lock here; in the worst case we'll do useless copy */
1045 @@ -86645,7 +86642,7 @@ index 1429043..9d95f16 100644
1046 return 0;
1047
1048 *new_fsp = copy_fs_struct(fs);
1049 -@@ -1881,7 +1996,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
1050 +@@ -1883,7 +1998,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
1051 fs = current->fs;
1052 spin_lock(&fs->lock);
1053 current->fs = new_fs;
1054 @@ -91252,10 +91249,10 @@ index c634868..00d0d19 100644
1055 *data_page = bpage;
1056
1057 diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
1058 -index 737b0ef..bd21ea6 100644
1059 +index e916972..e87f285 100644
1060 --- a/kernel/trace/trace.c
1061 +++ b/kernel/trace/trace.c
1062 -@@ -3448,7 +3448,7 @@ int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set)
1063 +@@ -3449,7 +3449,7 @@ int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set)
1064 return 0;
1065 }
1066
1067 @@ -91445,7 +91442,7 @@ index 4f69f9a..7c6f8f8 100644
1068 memcpy(&uts_table, table, sizeof(uts_table));
1069 uts_table.data = get_uts(table, write);
1070 diff --git a/kernel/watchdog.c b/kernel/watchdog.c
1071 -index 516203e..ecc58d1 100644
1072 +index 30e4822..dd2b854 100644
1073 --- a/kernel/watchdog.c
1074 +++ b/kernel/watchdog.c
1075 @@ -479,7 +479,7 @@ static int watchdog_nmi_enable(unsigned int cpu) { return 0; }
1076 @@ -91971,37 +91968,6 @@ index c24c2f7..f0296f4 100644
1077 + pax_close_kernel();
1078 +}
1079 +EXPORT_SYMBOL(pax_list_del_rcu);
1080 -diff --git a/lib/lz4/lz4_decompress.c b/lib/lz4/lz4_decompress.c
1081 -index b74da44..7a85967 100644
1082 ---- a/lib/lz4/lz4_decompress.c
1083 -+++ b/lib/lz4/lz4_decompress.c
1084 -@@ -192,6 +192,8 @@ static int lz4_uncompress_unknownoutputsize(const char *source, char *dest,
1085 - int s = 255;
1086 - while ((ip < iend) && (s == 255)) {
1087 - s = *ip++;
1088 -+ if (unlikely(length > (size_t)(length + s)))
1089 -+ goto _output_error;
1090 - length += s;
1091 - }
1092 - }
1093 -@@ -232,6 +234,8 @@ static int lz4_uncompress_unknownoutputsize(const char *source, char *dest,
1094 - if (length == ML_MASK) {
1095 - while (ip < iend) {
1096 - int s = *ip++;
1097 -+ if (unlikely(length > (size_t)(length + s)))
1098 -+ goto _output_error;
1099 - length += s;
1100 - if (s == 255)
1101 - continue;
1102 -@@ -284,7 +288,7 @@ static int lz4_uncompress_unknownoutputsize(const char *source, char *dest,
1103 -
1104 - /* write overflow error detected */
1105 - _output_error:
1106 -- return (int) (-(((char *) ip) - source));
1107 -+ return -1;
1108 - }
1109 -
1110 - int lz4_decompress(const unsigned char *src, size_t *src_len,
1111 diff --git a/lib/percpu-refcount.c b/lib/percpu-refcount.c
1112 index 963b703..438bc51 100644
1113 --- a/lib/percpu-refcount.c
1114 @@ -101773,7 +101739,7 @@ index a4b5e2a..13b1de3 100644
1115 table = kmemdup(acct_sysctl_table, sizeof(acct_sysctl_table),
1116 GFP_KERNEL);
1117 diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
1118 -index 75421f2..054c1fc 100644
1119 +index 75421f2..0e69621 100644
1120 --- a/net/netfilter/nf_conntrack_core.c
1121 +++ b/net/netfilter/nf_conntrack_core.c
1122 @@ -1789,6 +1789,10 @@ void nf_conntrack_init_end(void)
1123 @@ -101792,7 +101758,7 @@ index 75421f2..054c1fc 100644
1124 goto err_pcpu_lists;
1125
1126 +#ifdef CONFIG_GRKERNSEC_HIDESYM
1127 -+ net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%08lx", atomic_inc_return_unchecked(&conntrack_cache_id));
1128 ++ net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%08x", atomic_inc_return_unchecked(&conntrack_cache_id));
1129 +#else
1130 net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%p", net);
1131 +#endif
1132 @@ -114525,10 +114491,10 @@ index 0000000..4378111
1133 +}
1134 diff --git a/tools/gcc/size_overflow_plugin/size_overflow_hash.data b/tools/gcc/size_overflow_plugin/size_overflow_hash.data
1135 new file mode 100644
1136 -index 0000000..2393acc
1137 +index 0000000..386f2d1
1138 --- /dev/null
1139 +++ b/tools/gcc/size_overflow_plugin/size_overflow_hash.data
1140 -@@ -0,0 +1,5800 @@
1141 +@@ -0,0 +1,5801 @@
1142 +intel_fake_agp_alloc_by_type_1 intel_fake_agp_alloc_by_type 1 1 NULL
1143 +storvsc_connect_to_vsp_22 storvsc_connect_to_vsp 2 22 NULL
1144 +compat_sock_setsockopt_23 compat_sock_setsockopt 5 23 NULL
1145 @@ -119795,6 +119761,7 @@ index 0000000..2393acc
1146 +btrfs_insert_dir_item_59304 btrfs_insert_dir_item 4 59304 NULL
1147 +fd_copyout_59323 fd_copyout 3 59323 NULL
1148 +read_9287_modal_eeprom_59327 read_9287_modal_eeprom 3 59327 NULL
1149 ++set_state_private_59336 set_state_private 0 59336 NULL
1150 +rx_defrag_in_process_called_read_59338 rx_defrag_in_process_called_read 3 59338 NULL
1151 +xfs_attrmulti_attr_set_59346 xfs_attrmulti_attr_set 4 59346 NULL
1152 +f2fs_fallocate_59377 f2fs_fallocate 4-3 59377 NULL
1153
1154 diff --git a/3.15.3/4425_grsec_remove_EI_PAX.patch b/3.15.4/4425_grsec_remove_EI_PAX.patch
1155 similarity index 100%
1156 rename from 3.15.3/4425_grsec_remove_EI_PAX.patch
1157 rename to 3.15.4/4425_grsec_remove_EI_PAX.patch
1158
1159 diff --git a/3.15.3/4427_force_XATTR_PAX_tmpfs.patch b/3.15.4/4427_force_XATTR_PAX_tmpfs.patch
1160 similarity index 100%
1161 rename from 3.15.3/4427_force_XATTR_PAX_tmpfs.patch
1162 rename to 3.15.4/4427_force_XATTR_PAX_tmpfs.patch
1163
1164 diff --git a/3.15.3/4430_grsec-remove-localversion-grsec.patch b/3.15.4/4430_grsec-remove-localversion-grsec.patch
1165 similarity index 100%
1166 rename from 3.15.3/4430_grsec-remove-localversion-grsec.patch
1167 rename to 3.15.4/4430_grsec-remove-localversion-grsec.patch
1168
1169 diff --git a/3.15.3/4435_grsec-mute-warnings.patch b/3.15.4/4435_grsec-mute-warnings.patch
1170 similarity index 100%
1171 rename from 3.15.3/4435_grsec-mute-warnings.patch
1172 rename to 3.15.4/4435_grsec-mute-warnings.patch
1173
1174 diff --git a/3.15.3/4440_grsec-remove-protected-paths.patch b/3.15.4/4440_grsec-remove-protected-paths.patch
1175 similarity index 100%
1176 rename from 3.15.3/4440_grsec-remove-protected-paths.patch
1177 rename to 3.15.4/4440_grsec-remove-protected-paths.patch
1178
1179 diff --git a/3.15.3/4450_grsec-kconfig-default-gids.patch b/3.15.4/4450_grsec-kconfig-default-gids.patch
1180 similarity index 100%
1181 rename from 3.15.3/4450_grsec-kconfig-default-gids.patch
1182 rename to 3.15.4/4450_grsec-kconfig-default-gids.patch
1183
1184 diff --git a/3.15.3/4465_selinux-avc_audit-log-curr_ip.patch b/3.15.4/4465_selinux-avc_audit-log-curr_ip.patch
1185 similarity index 100%
1186 rename from 3.15.3/4465_selinux-avc_audit-log-curr_ip.patch
1187 rename to 3.15.4/4465_selinux-avc_audit-log-curr_ip.patch
1188
1189 diff --git a/3.15.3/4470_disable-compat_vdso.patch b/3.15.4/4470_disable-compat_vdso.patch
1190 similarity index 100%
1191 rename from 3.15.3/4470_disable-compat_vdso.patch
1192 rename to 3.15.4/4470_disable-compat_vdso.patch
1193
1194 diff --git a/3.15.3/4475_emutramp_default_on.patch b/3.15.4/4475_emutramp_default_on.patch
1195 similarity index 100%
1196 rename from 3.15.3/4475_emutramp_default_on.patch
1197 rename to 3.15.4/4475_emutramp_default_on.patch
1198
1199 diff --git a/3.2.60/0000_README b/3.2.60/0000_README
1200 index ee22cb5..f6a6bee 100644
1201 --- a/3.2.60/0000_README
1202 +++ b/3.2.60/0000_README
1203 @@ -158,7 +158,7 @@ Patch: 1059_linux-3.2.60.patch
1204 From: http://www.kernel.org
1205 Desc: Linux 3.2.60
1206
1207 -Patch: 4420_grsecurity-3.0-3.2.60-201407052028.patch
1208 +Patch: 4420_grsecurity-3.0-3.2.60-201407072042.patch
1209 From: http://www.grsecurity.net
1210 Desc: hardened-sources base patch from upstream grsecurity
1211
1212
1213 diff --git a/3.2.60/4420_grsecurity-3.0-3.2.60-201407052028.patch b/3.2.60/4420_grsecurity-3.0-3.2.60-201407072042.patch
1214 similarity index 99%
1215 rename from 3.2.60/4420_grsecurity-3.0-3.2.60-201407052028.patch
1216 rename to 3.2.60/4420_grsecurity-3.0-3.2.60-201407072042.patch
1217 index 2ddb90d..b3267bc 100644
1218 --- a/3.2.60/4420_grsecurity-3.0-3.2.60-201407052028.patch
1219 +++ b/3.2.60/4420_grsecurity-3.0-3.2.60-201407072042.patch
1220 @@ -22643,7 +22643,7 @@ index 6a364a6..b147d11 100644
1221 ip = *(u64 *)(fp+8);
1222 if (!in_sched_functions(ip))
1223 diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
1224 -index 2dc4121..60e1086 100644
1225 +index 2dc4121..c7c8aac 100644
1226 --- a/arch/x86/kernel/ptrace.c
1227 +++ b/arch/x86/kernel/ptrace.c
1228 @@ -181,14 +181,13 @@ unsigned long kernel_stack_pointer(struct pt_regs *regs)
1229 @@ -22665,7 +22665,28 @@ index 2dc4121..60e1086 100644
1230
1231 return (unsigned long)regs;
1232 }
1233 -@@ -585,7 +584,7 @@ static void ptrace_triggered(struct perf_event *bp,
1234 +@@ -449,6 +448,20 @@ static int putreg(struct task_struct *child,
1235 + if (child->thread.gs != value)
1236 + return do_arch_prctl(child, ARCH_SET_GS, value);
1237 + return 0;
1238 ++
1239 ++ case offsetof(struct user_regs_struct,ip):
1240 ++ /*
1241 ++ * Protect against any attempt to set ip to an
1242 ++ * impossible address. There are dragons lurking if the
1243 ++ * address is noncanonical. (This explicitly allows
1244 ++ * setting ip to TASK_SIZE_MAX, because user code can do
1245 ++ * that all by itself by running off the end of its
1246 ++ * address space.
1247 ++ */
1248 ++ if (value > TASK_SIZE_MAX)
1249 ++ return -EIO;
1250 ++ break;
1251 ++
1252 + #endif
1253 + }
1254 +
1255 +@@ -585,7 +598,7 @@ static void ptrace_triggered(struct perf_event *bp,
1256 static unsigned long ptrace_get_dr7(struct perf_event *bp[])
1257 {
1258 int i;
1259 @@ -22674,7 +22695,7 @@ index 2dc4121..60e1086 100644
1260 struct arch_hw_breakpoint *info;
1261
1262 for (i = 0; i < HBP_NUM; i++) {
1263 -@@ -852,7 +851,7 @@ long arch_ptrace(struct task_struct *child, long request,
1264 +@@ -852,7 +865,7 @@ long arch_ptrace(struct task_struct *child, long request,
1265 unsigned long addr, unsigned long data)
1266 {
1267 int ret;
1268 @@ -22683,7 +22704,7 @@ index 2dc4121..60e1086 100644
1269
1270 switch (request) {
1271 /* read the word at location addr in the USER area. */
1272 -@@ -937,14 +936,14 @@ long arch_ptrace(struct task_struct *child, long request,
1273 +@@ -937,14 +950,14 @@ long arch_ptrace(struct task_struct *child, long request,
1274 if ((int) addr < 0)
1275 return -EIO;
1276 ret = do_get_thread_area(child, addr,
1277 @@ -22700,7 +22721,7 @@ index 2dc4121..60e1086 100644
1278 break;
1279 #endif
1280
1281 -@@ -1229,7 +1228,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
1282 +@@ -1229,7 +1242,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
1283
1284 #ifdef CONFIG_X86_64
1285
1286 @@ -22709,7 +22730,7 @@ index 2dc4121..60e1086 100644
1287 [REGSET_GENERAL] = {
1288 .core_note_type = NT_PRSTATUS,
1289 .n = sizeof(struct user_regs_struct) / sizeof(long),
1290 -@@ -1273,7 +1272,7 @@ static const struct user_regset_view user_x86_64_view = {
1291 +@@ -1273,7 +1286,7 @@ static const struct user_regset_view user_x86_64_view = {
1292 #endif /* CONFIG_X86_64 */
1293
1294 #if defined CONFIG_X86_32 || defined CONFIG_IA32_EMULATION
1295 @@ -22718,7 +22739,7 @@ index 2dc4121..60e1086 100644
1296 [REGSET_GENERAL] = {
1297 .core_note_type = NT_PRSTATUS,
1298 .n = sizeof(struct user_regs_struct32) / sizeof(u32),
1299 -@@ -1326,7 +1325,7 @@ static const struct user_regset_view user_x86_32_view = {
1300 +@@ -1326,7 +1339,7 @@ static const struct user_regset_view user_x86_32_view = {
1301 */
1302 u64 xstate_fx_sw_bytes[USER_XSTATE_FX_SW_WORDS];
1303
1304 @@ -22727,7 +22748,7 @@ index 2dc4121..60e1086 100644
1305 {
1306 #ifdef CONFIG_X86_64
1307 x86_64_regsets[REGSET_XSTATE].n = size / sizeof(u64);
1308 -@@ -1361,7 +1360,7 @@ static void fill_sigtrap_info(struct task_struct *tsk,
1309 +@@ -1361,7 +1374,7 @@ static void fill_sigtrap_info(struct task_struct *tsk,
1310 memset(info, 0, sizeof(*info));
1311 info->si_signo = SIGTRAP;
1312 info->si_code = si_code;
1313 @@ -22736,7 +22757,7 @@ index 2dc4121..60e1086 100644
1314 }
1315
1316 void user_single_step_siginfo(struct task_struct *tsk,
1317 -@@ -1390,6 +1389,10 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
1318 +@@ -1390,6 +1403,10 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
1319 # define IS_IA32 0
1320 #endif
1321
1322 @@ -22747,7 +22768,7 @@ index 2dc4121..60e1086 100644
1323 /*
1324 * We must return the syscall number to actually look up in the table.
1325 * This can be -1L to skip running any syscall at all.
1326 -@@ -1398,6 +1401,11 @@ long syscall_trace_enter(struct pt_regs *regs)
1327 +@@ -1398,6 +1415,11 @@ long syscall_trace_enter(struct pt_regs *regs)
1328 {
1329 long ret = 0;
1330
1331 @@ -22759,7 +22780,7 @@ index 2dc4121..60e1086 100644
1332 /*
1333 * If we stepped into a sysenter/syscall insn, it trapped in
1334 * kernel mode; do_debug() cleared TF and set TIF_SINGLESTEP.
1335 -@@ -1409,7 +1417,11 @@ long syscall_trace_enter(struct pt_regs *regs)
1336 +@@ -1409,7 +1431,11 @@ long syscall_trace_enter(struct pt_regs *regs)
1337 regs->flags |= X86_EFLAGS_TF;
1338
1339 /* do the secure computing check first */
1340 @@ -22772,7 +22793,7 @@ index 2dc4121..60e1086 100644
1341
1342 if (unlikely(test_thread_flag(TIF_SYSCALL_EMU)))
1343 ret = -1L;
1344 -@@ -1436,6 +1448,7 @@ long syscall_trace_enter(struct pt_regs *regs)
1345 +@@ -1436,6 +1462,7 @@ long syscall_trace_enter(struct pt_regs *regs)
1346 #endif
1347 }
1348
1349 @@ -22780,7 +22801,7 @@ index 2dc4121..60e1086 100644
1350 return ret ?: regs->orig_ax;
1351 }
1352
1353 -@@ -1443,6 +1456,11 @@ void syscall_trace_leave(struct pt_regs *regs)
1354 +@@ -1443,6 +1470,11 @@ void syscall_trace_leave(struct pt_regs *regs)
1355 {
1356 bool step;
1357
1358 @@ -104860,7 +104881,7 @@ index 369df3f..b660190 100644
1359 table = kmemdup(acct_sysctl_table, sizeof(acct_sysctl_table),
1360 GFP_KERNEL);
1361 diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
1362 -index 7489bd3..5f4df88 100644
1363 +index 7489bd3..b7a282c 100644
1364 --- a/net/netfilter/nf_conntrack_core.c
1365 +++ b/net/netfilter/nf_conntrack_core.c
1366 @@ -1491,6 +1491,10 @@ err_proto:
1367 @@ -104879,7 +104900,7 @@ index 7489bd3..5f4df88 100644
1368 }
1369
1370 +#ifdef CONFIG_GRKERNSEC_HIDESYM
1371 -+ net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%08lx", atomic_inc_return_unchecked(&conntrack_cache_id));
1372 ++ net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%08x", atomic_inc_return_unchecked(&conntrack_cache_id));
1373 +#else
1374 net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%p", net);
1375 +#endif