]> git.ipfire.org Git - thirdparty/grsecurity-scrape.git/blob - test/changelog-test.txt
Auto commit, 1 new patch{es}.
[thirdparty/grsecurity-scrape.git] / test / changelog-test.txt
1 commit e8658e072c00c4c4124383dba46d91f67a24cf97
2 Merge: b48043e f70f945
3 Author: Brad Spengler <spender@grsecurity.net>
4 Date: Fri Apr 18 21:05:15 2014 -0400
5
6 Merge branch 'pax-test' into grsec-test
7
8 commit f70f94597c07e3902709100b9e8b0ca88ee5be4d
9 Author: Brad Spengler <spender@grsecurity.net>
10 Date: Fri Apr 18 21:04:32 2014 -0400
11
12 Update to pax-linux-3.13.10-test20.patch:
13 - forward port to 3.13.10
14 - temporarily reverted the previous fix of the overflow plugin as it triggers more problems than it solves
15
16 tools/gcc/size_overflow_plugin.c | 4 ++--
17 1 files changed, 2 insertions(+), 2 deletions(-)
18
19 commit b48043e1a01025db96cbbe3b9817a221c8dc154b
20 Merge: 30ce675 0338ded
21 Author: Brad Spengler <spender@grsecurity.net>
22 Date: Thu Apr 17 17:55:02 2014 -0400
23
24 Merge branch 'pax-test' into grsec-test
25
26 commit 0338dedbccd1d623ef78ccebd057893a8510905d
27 Author: Brad Spengler <spender@grsecurity.net>
28 Date: Thu Apr 17 17:54:33 2014 -0400
29
30 Update to pax-linux-3.13.9-test20.patch:
31 - Emese fixed two size overflow false positives due to intentional overflows, reported by 7LL (https://forums.grsecurity.net/viewtopic.php?f=3&t=3940) and marcin1j (https://forums.grsecurity.net/viewtopic.php?f=3&t=3943)
32
33 include/uapi/linux/bcache.h | 5 ++-
34 tools/gcc/size_overflow_hash_aux.data | 9 +++++
35 tools/gcc/size_overflow_plugin.c | 58 ++++++++++++++++++++++++++++++++-
36 3 files changed, 69 insertions(+), 3 deletions(-)
37
38 commit 30ce6750d8a1cd0484a19bb136baaec0f7780b09
39 Author: Brad Spengler <spender@grsecurity.net>
40 Date: Thu Apr 17 17:12:50 2014 -0400
41
42 fix an off-by-one triggerable on 32bit kernels with PAX_USERCOPY on
43 specific shmemfs reads that end up copying from empty_zero_page,
44 which on 32bit x86 has the same address as _etext. Fix up some
45 other harmless instances of this error as well
46
47 Thanks to 'jy' from IRC for reporting this
48
49 arch/x86/mm/init_32.c | 6 +++---
50 fs/exec.c | 4 ++--
51 2 files changed, 5 insertions(+), 5 deletions(-)
52
53 commit b3a6e7d392ea040b10b5d84e21ce3b25964ce6df
54 Merge: 27bdf99 b377d16
55 Author: Brad Spengler <spender@grsecurity.net>
56 Date: Mon Apr 14 16:49:55 2014 -0400
57
58 Merge branch 'pax-test' into grsec-test
59
60 commit b377d16f0d5b072ef75635ca0d778e2807c20ae8
61 Merge: fc6d889 f994ec5
62 Author: Brad Spengler <spender@grsecurity.net>
63 Date: Mon Apr 14 16:49:37 2014 -0400
64
65 Merge branch 'linux-3.13.y' into pax-test
66
67 Conflicts:
68 arch/x86/crypto/ghash-clmulni-intel_asm.S
69 kernel/futex.c
70
71 commit 27bdf99dcadbe3e4b185aea4f8574a6cadf3cc93
72 Author: Brad Spengler <spender@grsecurity.net>
73 Date: Sun Apr 13 12:47:57 2014 -0400
74
75 From: Mathias Krause <minipli@googlemail.com>
76 [PATCH net] filter: prevent nla extensions to peek beyond the end of
77 the message
78
79 The BPF_S_ANC_NLATTR and BPF_S_ANC_NLATTR_NEST extensions fail to check
80 for a minimal message length before testing the supplied offset to be
81 within the bounds of the message. This allows the subtraction of the nla
82 header to underflow and therefore -- as the data type is unsigned --
83 allowing far to big offset and length values for the search of the
84 netlink attribute.
85
86 The remainder calculation for the BPF_S_ANC_NLATTR_NEST extension is
87 also wrong. It has the minuend und subtrahend mixed up, therefore
88 calculates a huge length value, allowing to overrun the end of the
89 message while looking for the netlink attribute.
90
91 The following three BPF snippets will trigger the bugs when attached to
92 a UNIX datagram socket and parsing a message with length 1, 2 or 3.
93
94 ,-[ PoC for missing size check in BPF_S_ANC_NLATTR ]--
95 | ld #0x87654321
96 | ldx #42
97 | ld #nla
98 | ret a
99 `---
100
101 ,-[ PoC for the same bug in BPF_S_ANC_NLATTR_NEST ]--
102 | ld #0x87654321
103 | ldx #42
104 | ld #nlan
105 | ret a
106 `---
107
108 ,-[ PoC for wrong remainder calculation in BPF_S_ANC_NLATTR_NEST ]--
109 | ; (needs a fake netlink header at offset 0)
110 | ld #0
111 | ldx #42
112 | ld #nlan
113 | ret a
114 `---
115
116 Fix the first issue by ensuring the message length fulfills the minimal
117 size constrains of a nla header. Fix the second bug by getting the math
118 for the remainder calculation right.
119
120 Fixes: 4738c1db15 ("[SKFILTER]: Add SKF_ADF_NLATTR instruction")
121 Fixes: d214c7537b ("filter: add SKF_AD_NLATTR_NEST to look for nested..")
122 Cc: Patrick McHardy <kaber@trash.net>
123 Cc: Pablo Neira Ayuso <pablo@netfilter.org>
124 Signed-off-by: Mathias Krause <minipli@googlemail.com>
125
126 net/core/filter.c | 10 +++++++++-
127 1 files changed, 9 insertions(+), 1 deletions(-)
128
129 commit 397ff885e5d3da96d0f115caa9d4c697895b3281
130 Author: Pablo Neira Ayuso <pablo@netfilter.org>
131 Date: Mon Mar 31 12:26:39 2014 +0200
132
133 Upstream commit: 2fec6bb6f484b1a88b4a325724234d6cfd08c918
134
135 netfilter: nf_tables: fix wrong format in request_module()
136
137 The intended format in request_module is %.*s instead of %*.s.
138
139 Reported-by: Florian Westphal <fw@strlen.de>
140 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
141
142 net/netfilter/nf_tables_api.c | 4 ++--
143 1 files changed, 2 insertions(+), 2 deletions(-)
144
145 commit 4d8b1faffb7cfe526eb20b717cb0b6d59f348108
146 Author: Pablo Neira Ayuso <pablo@netfilter.org>
147 Date: Mon Mar 24 15:10:37 2014 +0100
148
149 Upstream commit: a9bdd8365684810e3de804f8c51e52c26a5eccbb
150
151 netfilter: nf_tables: set names cannot be larger than 15 bytes
152
153 Currently, nf_tables trims off the set name if it exceeeds 15
154 bytes, so explicitly reject set names that are too large.
155
156 Reported-by: Giuseppe Longo <giuseppelng@gmail.com>
157 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
158
159 net/netfilter/nf_tables_api.c | 3 ++-
160 1 files changed, 2 insertions(+), 1 deletions(-)
161
162 commit a99a10ea229b7ae7f6af473949ff5138aef76209
163 Author: Brad Spengler <spender@grsecurity.net>
164 Date: Fri Apr 11 17:33:00 2014 -0400
165
166 Upstream commit: 5678de3f15010b9022ee45673f33bcfc71d47b60
167
168 KVM: ioapic: fix assignment of ioapic->rtc_status.pending_eoi (CVE-2014-0155)
169 QE reported that they got the BUG_ON in ioapic_service to trigger.
170 I cannot reproduce it, but there are two reasons why this could happen.
171
172 The less likely but also easiest one, is when kvm_irq_delivery_to_apic
173 does not deliver to any APIC and returns -1.
174
175 Because irqe.shorthand == 0, the kvm_for_each_vcpu loop in that
176 function is never reached. However, you can target the similar loop in
177 kvm_irq_delivery_to_apic_fast; just program a zero logical destination
178 address into the IOAPIC, or an out-of-range physical destination address.
179
180 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
181
182 virt/kvm/ioapic.c | 2 +-
183 1 files changed, 1 insertions(+), 1 deletions(-)
184
185 commit 7c522310c240fa3b1e671066def9fcab1f232f3b
186 Author: Dan Carpenter <dan.carpenter@oracle.com>
187 Date: Tue Apr 8 12:23:09 2014 +0300
188
189 Upstream commit: 7563487cbf865284dcd35e9ef5a95380da046737
190
191 isdnloop: several buffer overflows
192
193 There are three buffer overflows addressed in this patch.
194
195 1) In isdnloop_fake_err() we add an 'E' to a 60 character string and
196 then copy it into a 60 character buffer. I have made the destination
197 buffer 64 characters and I'm changed the sprintf() to a snprintf().
198
199 2) In isdnloop_parse_cmd(), p points to a 6 characters into a 60
200 character buffer so we have 54 characters. The ->eazlist[] is 11
201 characters long. I have modified the code to return if the source
202 buffer is too long.
203
204 3) In isdnloop_command() the cbuf[] array was 60 characters long but the
205 max length of the string then can be up to 79 characters. I made the
206 cbuf array 80 characters long and changed the sprintf() to snprintf().
207 I also removed the temporary "dial" buffer and changed it to use "p"
208 directly.
209
210 Unfortunately, we pass the "cbuf" string from isdnloop_command() to
211 isdnloop_writecmd() which truncates anything over 60 characters to make
212 it fit in card->omsg[]. (It can accept values up to 255 characters so
213 long as there is a '\n' character every 60 characters). For now I have
214 just fixed the memory corruption bug and left the other problems in this
215 driver alone.
216
217 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
218 Signed-off-by: David S. Miller <davem@davemloft.net>
219
220 drivers/isdn/isdnloop/isdnloop.c | 17 +++++++++--------
221 1 files changed, 9 insertions(+), 8 deletions(-)
222
223 commit 9b011cba3d245a48139ab05099e6a825956f8056
224 Author: Andrey Vagin <avagin@openvz.org>
225 Date: Fri Mar 28 13:54:32 2014 +0400
226
227 Upstream commit: 223b02d923ecd7c84cf9780bb3686f455d279279
228
229 netfilter: nf_conntrack: reserve two bytes for nf_ct_ext->len
230
231 "len" contains sizeof(nf_ct_ext) and size of extensions. In a worst
232 case it can contain all extensions. Bellow you can find sizes for all
233 types of extensions. Their sum is definitely bigger than 256.
234
235 nf_ct_ext_types[0]->len = 24
236 nf_ct_ext_types[1]->len = 32
237 nf_ct_ext_types[2]->len = 24
238 nf_ct_ext_types[3]->len = 32
239 nf_ct_ext_types[4]->len = 152
240 nf_ct_ext_types[5]->len = 2
241 nf_ct_ext_types[6]->len = 16
242 nf_ct_ext_types[7]->len = 8
243
244 I have seen "len" up to 280 and my host has crashes w/o this patch.
245
246 The right way to fix this problem is reducing the size of the ecache
247 extension (4) and Florian is going to do this, but these changes will
248 be quite large to be appropriate for a stable tree.
249
250 Fixes: 5b423f6a40a0 (netfilter: nf_conntrack: fix racy timer handling with reliable)
251 Cc: Pablo Neira Ayuso <pablo@netfilter.org>
252 Cc: Patrick McHardy <kaber@trash.net>
253 Cc: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
254 Cc: "David S. Miller" <davem@davemloft.net>
255 Signed-off-by: Andrey Vagin <avagin@openvz.org>
256 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
257
258 include/net/netfilter/nf_conntrack_extend.h | 4 ++--
259 1 files changed, 2 insertions(+), 2 deletions(-)
260
261 commit c323aca3431ec956221a0333826a0aebcad6182c
262 Author: Trond Myklebust <trond.myklebust@primarydata.com>
263 Date: Wed Mar 26 13:24:37 2014 -0700
264
265 Upstream commit: e911b8158ee1def8153849b1641b736026b036e0
266
267 NFSv4: Fix a use-after-free problem in open()
268
269 If we interrupt the nfs4_wait_for_completion_rpc_task() call in
270 nfs4_run_open_task(), then we don't prevent the RPC call from
271 completing. So freeing up the opendata->f_attr.mdsthreshold
272 in the error path in _nfs4_do_open() leads to a use-after-free
273 when the XDR decoder tries to decode the mdsthreshold information
274 from the server.
275
276 Fixes: 82be417aa37c0 (NFSv4.1 cache mdsthreshold values on OPEN)
277 Tested-by: Steve Dickson <SteveD@redhat.com>
278 Cc: stable@vger.kernel.org # 3.5+
279 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
280
281 fs/nfs/nfs4proc.c | 19 ++++++++++---------
282 1 files changed, 10 insertions(+), 9 deletions(-)
283
284 commit afbc7281d89c10419bcaf9cd8f2a34fa1f0dc74a
285 Author: Brad Spengler <spender@grsecurity.net>
286 Date: Fri Apr 11 16:57:17 2014 -0400
287
288 Apply: https://lkml.org/lkml/2014/4/10/736
289
290 PAX_REFCOUNT makes this unexploitable, turning it into a harmless memleak
291
292 net/ipv4/ping.c | 11 ++++++++---
293 1 files changed, 8 insertions(+), 3 deletions(-)
294
295 commit 64688b956632b3165fd8aabb9b143f4d365ba382
296 Author: H. Peter Anvin <hpa@linux.intel.com>
297 Date: Sun Mar 16 15:31:54 2014 -0700
298
299 Upstream commit: b3b42ac2cbae1f3cecbb6229964a4d48af31d382
300
301 x86-64, modify_ldt: Ban 16-bit segments on 64-bit kernels
302
303 The IRET instruction, when returning to a 16-bit segment, only
304 restores the bottom 16 bits of the user space stack pointer. We have
305 a software workaround for that ("espfix") for the 32-bit kernel, but
306 it relies on a nonzero stack segment base which is not available in
307 32-bit mode.
308
309 Since 16-bit support is somewhat crippled anyway on a 64-bit kernel
310 (no V86 mode), and most (if not quite all) 64-bit processors support
311 virtualization for the users who really need it, simply reject
312 attempts at creating a 16-bit segment when running on top of a 64-bit
313 kernel.
314
315 Cc: Linus Torvalds <torvalds@linux-foundation.org>
316 Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
317 Link: http://lkml.kernel.org/n/tip-kicdm89kzw9lldryb1br9od0@git.kernel.org
318 Cc: <stable@vger.kernel.org>
319
320 Conflicts:
321
322 arch/x86/kernel/ldt.c
323
324 arch/x86/kernel/ldt.c | 11 +++++++++++
325 1 files changed, 11 insertions(+), 0 deletions(-)
326
327 commit 027b8db0f3266f307c6324f52d19c9425e01a95b
328 Author: Brad Spengler <spender@grsecurity.net>
329 Date: Mon Apr 7 18:41:45 2014 -0400
330
331 Update GRKERNSEC_IO documentation
332
333 grsecurity/Kconfig | 3 ++-
334 1 files changed, 2 insertions(+), 1 deletions(-)
335
336 commit 4ffae780ca4045f1e00c3695a1c67fa7b83e842a
337 Author: Brad Spengler <spender@grsecurity.net>
338 Date: Sun Apr 6 18:59:00 2014 -0400
339
340 add compiler.h to path.h
341
342 include/linux/path.h | 2 ++
343 1 files changed, 2 insertions(+), 0 deletions(-)
344
345 commit 697d5a873545a0ee00e2bffbf74ba5faae55c286
346 Author: Brad Spengler <spender@grsecurity.net>
347 Date: Sun Apr 6 18:37:18 2014 -0400
348
349 fix typo
350
351 security/tomoyo/tomoyo.c | 5 -----
352 1 files changed, 0 insertions(+), 5 deletions(-)
353
354 commit d1a22c83e7a3175d894b8ceb0f01b77fe499db28
355 Author: Brad Spengler <spender@grsecurity.net>
356 Date: Sun Apr 6 17:58:39 2014 -0400
357
358 fix tomoyo compilation with RANDSTRUCT
359
360 Conflicts:
361
362 security/tomoyo/tomoyo.c
363
364 security/tomoyo/tomoyo.c | 27 ++++++++++++++++-----------
365 1 files changed, 16 insertions(+), 11 deletions(-)
366
367 commit 96785c664a95a149773214bed1d7463ffad0441f
368 Author: Brad Spengler <spender@grsecurity.net>
369 Date: Sun Apr 6 17:50:38 2014 -0400
370
371 fix tomoyo compilation with RANDSTRUCT
372
373 security/tomoyo/file.c | 8 ++++----
374 1 files changed, 4 insertions(+), 4 deletions(-)
375
376 commit 25475ea5ba7ec539347edb25d8d15eac6a9e65d1
377 Author: Brad Spengler <spender@grsecurity.net>
378 Date: Sun Apr 6 17:43:47 2014 -0400
379
380 Fix tomoyo compilation with RANDSTRUCT
381
382 security/tomoyo/file.c | 4 ++--
383 1 files changed, 2 insertions(+), 2 deletions(-)
384
385 commit bd744926b9496053982db351f2b087725e931ce2
386 Author: Brad Spengler <spender@grsecurity.net>
387 Date: Sun Apr 6 17:23:09 2014 -0400
388
389 fix apparmor compilation with RANDSTRUCT
390
391 security/apparmor/file.c | 4 ++--
392 1 files changed, 2 insertions(+), 2 deletions(-)
393
394 commit 6a70a4ca3f2f5b2f9f2f1c500a3b39813f980091
395 Author: Brad Spengler <spender@grsecurity.net>
396 Date: Sun Apr 6 17:11:40 2014 -0400
397
398 fix apparmor compilation with RANDSTRUCT
399
400 security/apparmor/lsm.c | 8 ++++----
401 1 files changed, 4 insertions(+), 4 deletions(-)
402
403 commit 6d5c843ec117929962b0b5e36b6efe36d7008489
404 Author: Brad Spengler <spender@grsecurity.net>
405 Date: Sun Apr 6 16:58:35 2014 -0400
406
407 add __randomize_layout to more important structures
408
409 Conflicts:
410
411 include/linux/filter.h
412 include/net/af_unix.h
413 include/net/sock.h
414
415 include/linux/binfmts.h | 4 ++--
416 include/linux/path.h | 2 +-
417 include/linux/security.h | 2 +-
418 include/linux/tty_driver.h | 2 +-
419 include/net/af_unix.h | 2 +-
420 include/net/sock.h | 4 ++--
421 6 files changed, 8 insertions(+), 8 deletions(-)
422
423 commit 2d58b7af7d974cf11c9b6fcaafc098f68925b28d
424 Merge: f7886f6 fc6d889
425 Author: Brad Spengler <spender@grsecurity.net>
426 Date: Sun Apr 6 09:10:40 2014 -0400
427
428 Merge branch 'pax-test' into grsec-test
429
430 Conflicts:
431 tools/gcc/Makefile
432
433 commit fc6d8892f8370cc6b246aab23dfe3ce472da9058
434 Author: Brad Spengler <spender@grsecurity.net>
435 Date: Sun Apr 6 09:06:24 2014 -0400
436
437 Update to pax-linux-3.13.9-test19.patch:
438 - updated the hash database for external modules, by Emese
439 - fixed regression in gcc plugin compilation when compiling with ccache, reported by ncopa
440 - proper fix for 309944be296efbb3ca4737d12ef49d2ba97cbecc upstream
441 - fixed plugin compilation under gcc 4.5, reported by Emese Revfy
442 - Emese added support for out-of-tree modules for the size overflow plugin, fixes https://bugs.gentoo.org/show_bug.cgi?id=505594
443
444 arch/x86/boot/compressed/misc.c | 7 +-
445 drivers/md/persistent-data/dm-space-map-metadata.c | 4 +-
446 scripts/gcc-plugin.sh | 4 +-
447 tools/gcc/Makefile | 12 ++-
448 tools/gcc/gcc-common.h | 1 +
449 tools/gcc/generate_size_overflow_hash.sh | 5 +-
450 tools/gcc/size_overflow_hash_aux.data | 83 ++++++++++++++++++++
451 tools/gcc/size_overflow_plugin.c | 25 ++++--
452 8 files changed, 123 insertions(+), 18 deletions(-)
453
454 commit f7886f6633822747782b7206b371ea521eee3f0b
455 Author: Brad Spengler <spender@grsecurity.net>
456 Date: Sun Apr 6 08:34:08 2014 -0400
457
458 This reverts commit 31dee23268ac47eaaafacb186229bc14fb84fa9b.
459
460 net/socket.c | 4 ++--
461 1 files changed, 2 insertions(+), 2 deletions(-)
462
463 commit 0f1d45357477cb7658e7dc361c7ac67678d7a9b9
464 Merge: ca30500 6bf7e1d
465 Author: Brad Spengler <spender@grsecurity.net>
466 Date: Sat Apr 5 18:09:10 2014 -0400
467
468 Merge branch 'pax-test' into grsec-test
469
470 commit 6bf7e1df5475a7244d717546bd5c0569acdf8215
471 Merge: 20f0a08 bf061ff
472 Author: Brad Spengler <spender@grsecurity.net>
473 Date: Sat Apr 5 18:08:56 2014 -0400
474
475 Merge branch 'linux-3.13.y' into pax-test
476
477 commit ca305006c767819ee7924d7ea952a8f9c817d2a7
478 Author: Pablo Neira <pablo@netfilter.org>
479 Date: Tue Apr 1 19:38:44 2014 +0200
480
481 Upstream commit: 8b7b932434f5eee495b91a2804f5b64ebb2bc835
482
483 netlink: don't compare the nul-termination in nla_strcmp
484
485 nla_strcmp compares the string length plus one, so it's implicitly
486 including the nul-termination in the comparison.
487
488 int nla_strcmp(const struct nlattr *nla, const char *str)
489 {
490 int len = strlen(str) + 1;
491 ...
492 d = memcmp(nla_data(nla), str, len);
493
494 However, if NLA_STRING is used, userspace can send us a string without
495 the nul-termination. This is a problem since the string
496 comparison will not match as the last byte may be not the
497 nul-termination.
498
499 Fix this by skipping the comparison of the nul-termination if the
500 attribute data is nul-terminated. Suggested by Thomas Graf.
501
502 Cc: Florian Westphal <fw@strlen.de>
503 Cc: Thomas Graf <tgraf@suug.ch>
504 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
505 Signed-off-by: David S. Miller <davem@davemloft.net>
506
507 lib/nlattr.c | 10 ++++++++--
508 1 files changed, 8 insertions(+), 2 deletions(-)
509
510 commit 4676a42ce0a63b9713d315c715d6f863d6388bf2
511 Author: Oleg Nesterov <oleg@redhat.com>
512 Date: Wed Apr 2 17:45:05 2014 +0200
513
514 Upstream commit: d23082257d83e4bc89727d5aedee197e907999d2
515
516 pid_namespace: pidns_get() should check task_active_pid_ns() != NULL
517
518 pidns_get()->get_pid_ns() can hit ns == NULL. This task_struct can't
519 go away, but task_active_pid_ns(task) is NULL if release_task(task)
520 was already called. Alternatively we could change get_pid_ns(ns) to
521 check ns != NULL, but it seems that other callers are fine.
522
523 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
524 Cc: Eric W. Biederman ebiederm@xmission.com>
525 Cc: stable@kernel.org
526 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
527
528 kernel/pid_namespace.c | 4 +++-
529 1 files changed, 3 insertions(+), 1 deletions(-)
530
531 commit b2c5c8d231e1749fe42698c6be31a49b46b8eb7e
532 Author: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
533 Date: Wed Apr 2 12:48:42 2014 +0900
534
535 Upstream commit: 77bc6bed7121936bb2e019a8c336075f4c8eef62
536
537 isdnloop: Validate NUL-terminated strings from user.
538
539 Return -EINVAL unless all of user-given strings are correctly
540 NUL-terminated.
541
542 Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
543 Signed-off-by: David S. Miller <davem@davemloft.net>
544
545 drivers/isdn/isdnloop/isdnloop.c | 6 ++++++
546 1 files changed, 6 insertions(+), 0 deletions(-)
547
548 commit abceea2065cb053917751b02a02e87134d5af5b0
549 Author: Wei Liu <wei.liu2@citrix.com>
550 Date: Tue Apr 1 12:46:12 2014 +0100
551
552 Upstream commit: e9d8b2c2968499c1f96563e6522c56958d5a1d0d
553
554 xen-netback: disable rogue vif in kthread context
555
556 When netback discovers frontend is sending malformed packet it will
557 disables the interface which serves that frontend.
558
559 However disabling a network interface involving taking a mutex which
560 cannot be done in softirq context, so we need to defer this process to
561 kthread context.
562
563 This patch does the following:
564 1. introduce a flag to indicate the interface is disabled.
565 2. check that flag in TX path, don't do any work if it's true.
566 3. check that flag in RX path, turn off that interface if it's true.
567
568 The reason to disable it in RX path is because RX uses kthread. After
569 this change the behavior of netback is still consistent -- it won't do
570 any TX work for a rogue frontend, and the interface will be eventually
571 turned off.
572
573 Also change a "continue" to "break" after xenvif_fatal_tx_err, as it
574 doesn't make sense to continue processing packets if frontend is rogue.
575
576 This is a fix for XSA-90.
577
578 Reported-by: Török Edwin <edwin@etorok.net>
579 Signed-off-by: Wei Liu <wei.liu2@citrix.com>
580 Cc: Ian Campbell <ian.campbell@citrix.com>
581 Reviewed-by: David Vrabel <david.vrabel@citrix.com>
582 Acked-by: Ian Campbell <ian.campbell@citrix.com>
583 Signed-off-by: David S. Miller <davem@davemloft.net>
584
585 drivers/net/xen-netback/common.h | 5 +++++
586 drivers/net/xen-netback/interface.c | 11 +++++++++++
587 drivers/net/xen-netback/netback.c | 16 ++++++++++++++--
588 3 files changed, 30 insertions(+), 2 deletions(-)
589
590 commit ff438506da3cf85c07f3f3c80429f87138502d82
591 Author: Brad Spengler <spender@grsecurity.net>
592 Date: Thu Apr 3 11:34:13 2014 -0400
593
594 revert last change
595
596 net/core/filter.c | 5 -----
597 1 files changed, 0 insertions(+), 5 deletions(-)
598
599 commit aed17226225c496cea10f90db89cb5f505ce5c3a
600 Author: Brad Spengler <spender@grsecurity.net>
601 Date: Thu Apr 3 10:38:55 2014 -0400
602
603 harden non-JIT socket filters against memory corruption occuring after
604 check time
605
606 net/core/filter.c | 12 ++++++------
607 1 files changed, 6 insertions(+), 6 deletions(-)
608
609 commit 8153c4335a8c655d0dc51fb547bf257339faabe3
610 Author: Brad Spengler <spender@grsecurity.net>
611 Date: Thu Apr 3 11:01:13 2014 -0400
612
613 add additional checking, convert WARN to a BUG since we should be able to filter
614 out any invalid ops at filter install time -- finding them during runtime is
615 a sign of memory corruption
616
617 Conflicts:
618
619 net/core/filter.c
620
621 net/core/filter.c | 8 +++++++-
622 1 files changed, 7 insertions(+), 1 deletions(-)
623
624 commit cf4164083c37d1f301ab28f5cf102b875c6a3057
625 Author: Brad Spengler <spender@grsecurity.net>
626 Date: Thu Apr 3 07:39:34 2014 -0400
627
628 Update documentation on chroot to notify users that chrooting to
629 a bind mount of the root filesystem provides no security benefits
630 and will not trigger the chroot protections.
631
632 grsecurity/Kconfig | 5 +++++
633 1 files changed, 5 insertions(+), 0 deletions(-)
634
635 commit 809c33c81db39b5e0a2f8b8953f156d3ae2bc9d4
636 Merge: b224936 20f0a08
637 Author: Brad Spengler <spender@grsecurity.net>
638 Date: Tue Apr 1 18:41:17 2014 -0400
639
640 Merge branch 'pax-test' into grsec-test
641
642 commit 20f0a08510a47d6d31c29da6ff3bd093a62cfdd1
643 Merge: 6b71ad0 5366635
644 Author: Brad Spengler <spender@grsecurity.net>
645 Date: Tue Apr 1 18:41:02 2014 -0400
646
647 Merge branch 'linux-3.13.y' into pax-test
648
649 commit b224936088e49229a37e4a3b17567598161bb1c0
650 Author: Sasha Levin <sasha.levin@oracle.com>
651 Date: Fri Mar 28 17:38:42 2014 +0100
652
653 Upstream commit: 05efa8c943b1d5d90fa8c8147571837573338bb6
654
655 random32: avoid attempt to late reseed if in the middle of seeding
656
657 Commit 4af712e8df ("random32: add prandom_reseed_late() and call when
658 nonblocking pool becomes initialized") has added a late reseed stage
659 that happens as soon as the nonblocking pool is marked as initialized.
660
661 This fails in the case that the nonblocking pool gets initialized
662 during __prandom_reseed()'s call to get_random_bytes(). In that case
663 we'd double back into __prandom_reseed() in an attempt to do a late
664 reseed - deadlocking on 'lock' early on in the boot process.
665
666 Instead, just avoid even waiting to do a reseed if a reseed is already
667 occuring.
668
669 Fixes: 4af712e8df99 ("random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized")
670 Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
671 Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
672 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
673 Signed-off-by: David S. Miller <davem@davemloft.net>
674
675 lib/random32.c | 13 ++++++++++++-
676 1 files changed, 12 insertions(+), 1 deletions(-)
677
678 commit 9aa441e0e5aa2480ca073e33fcf6a9f5cdaabc81
679 Author: Michael S. Tsirkin <mst@redhat.com>
680 Date: Thu Mar 27 12:00:26 2014 +0200
681
682 Upstream commit: d8316f3991d207fe32881a9ac20241be8fa2bad0
683
684 vhost: fix total length when packets are too short
685
686 When mergeable buffers are disabled, and the
687 incoming packet is too large for the rx buffer,
688 get_rx_bufs returns success.
689
690 This was intentional in order for make recvmsg
691 truncate the packet and then handle_rx would
692 detect err != sock_len and drop it.
693
694 Unfortunately we pass the original sock_len to
695 recvmsg - which means we use parts of iov not fully
696 validated.
697
698 Fix this up by detecting this overrun and doing packet drop
699 immediately.
700
701 CVE-2014-0077
702
703 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
704 Signed-off-by: David S. Miller <davem@davemloft.net>
705
706 drivers/vhost/net.c | 14 ++++++++++++++
707 1 files changed, 14 insertions(+), 0 deletions(-)
708
709 commit 43ee74030403a780a1e9418ab825f4d675ccdb47
710 Merge: 9987cd5 6b71ad0
711 Author: Brad Spengler <spender@grsecurity.net>
712 Date: Sun Mar 30 13:28:35 2014 -0400
713
714 Merge branch 'pax-test' into grsec-test
715
716 commit 6b71ad024068595a2e4caa3393fbb4d531197e27
717 Author: Brad Spengler <spender@grsecurity.net>
718 Date: Sun Mar 30 13:27:44 2014 -0400
719
720 Update to pax-linux-3.13.7-test17.patch:
721 - fixed a regression in the previous latent entropy plugin change, reported by spender
722 - fixed a regression in gcc-plugin.sh that could make cross-compilation fail, reported by Aniem
723 - hardened the hyper-v hypercall page access rights (rwx -> r-x), reported and tested by Hunger
724
725 drivers/hv/hv.c | 2 +-
726 scripts/gcc-plugin.sh | 4 ++--
727 tools/gcc/latent_entropy_plugin.c | 6 +++++-
728 3 files changed, 8 insertions(+), 4 deletions(-)
729
730 commit 9987cd5663f69ecc4d8bdfe80e46775ec081512c
731 Author: Wei Liu <wei.liu2@citrix.com>
732 Date: Sat Mar 15 16:11:47 2014 +0000
733
734 Upstream commit: 09ed3d5ba06137913960f9c9385f71fc384193ab
735
736 xen/balloon: flush persistent kmaps in correct position
737
738 Xen balloon driver will update ballooned out pages' P2M entries to point
739 to scratch page for PV guests. In 24f69373e2 ("xen/balloon: don't alloc
740 page while non-preemptible", kmap_flush_unused was moved after updating
741 P2M table. In that case for 32 bit PV guest we might end up with
742
743 P2M X -----> S (S is mfn of balloon scratch page)
744 M2P Y -----> X (Y is mfn in persistent kmap entry)
745
746 kmap_flush_unused() iterates through all the PTEs in the kmap address
747 space, using pte_to_page() to obtain the page. If the p2m and the m2p
748 are inconsistent the incorrect page is returned. This will clear
749 page->address on the wrong page which may cause subsequent oopses if
750 that page is currently kmap'ed.
751
752 Move the flush back between get_page and __set_phys_to_machine to fix
753 this.
754
755 Signed-off-by: Wei Liu <wei.liu2@citrix.com>
756 Signed-off-by: David Vrabel <david.vrabel@citrix.com>
757 Cc: stable@vger.kernel.org # 3.12+
758
759 drivers/xen/balloon.c | 24 ++++++++++++++++++------
760 1 files changed, 18 insertions(+), 6 deletions(-)
761
762 commit f6481e295cb69c34218b694ba5fca6315cc90b71
763 Author: David Vrabel <david.vrabel@citrix.com>
764 Date: Tue Mar 25 10:38:37 2014 +0000
765
766 Upstream commit: 5926f87fdaad4be3ed10cec563bf357915e55a86
767
768 Revert "xen: properly account for _PAGE_NUMA during xen pte translations"
769
770 This reverts commit a9c8e4beeeb64c22b84c803747487857fe424b68.
771
772 PTEs in Xen PV guests must contain machine addresses if _PAGE_PRESENT
773 is set and pseudo-physical addresses is _PAGE_PRESENT is clear.
774
775 This is because during a domain save/restore (migration) the page
776 table entries are "canonicalised" and uncanonicalised". i.e., MFNs are
777 converted to PFNs during domain save so that on a restore the page
778 table entries may be rewritten with the new MFNs on the destination.
779 This canonicalisation is only done for PTEs that are present.
780
781 This change resulted in writing PTEs with MFNs if _PAGE_PROTNONE (or
782 _PAGE_NUMA) was set but _PAGE_PRESENT was clear. These PTEs would be
783 migrated as-is which would result in unexpected behaviour in the
784 destination domain. Either a) the MFN would be translated to the
785 wrong PFN/page; b) setting the _PAGE_PRESENT bit would clear the PTE
786 because the MFN is no longer owned by the domain; or c) the present
787 bit would not get set.
788
789 Symptoms include "Bad page" reports when munmapping after migrating a
790 domain.
791
792 Signed-off-by: David Vrabel <david.vrabel@citrix.com>
793 Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
794 Cc: <stable@vger.kernel.org> [3.12+]
795
796 arch/x86/include/asm/pgtable.h | 14 ++------------
797 arch/x86/xen/mmu.c | 4 ++--
798 2 files changed, 4 insertions(+), 14 deletions(-)
799
800 commit 29e56c3fdd2ff43c43f31e74bccc164c38ec96b2
801 Author: Daniel Vetter <daniel.vetter@ffwll.ch>
802 Date: Wed Mar 26 20:10:09 2014 +0100
803
804 Upstream commit: 8ee661b505613ef2747b350ca2871a31b3781bee
805
806 drm/i915: Undo gtt scratch pte unmapping again
807
808 It apparently blows up on some machines. This functionally reverts
809
810 commit 828c79087cec61eaf4c76bb32c222fbe35ac3930
811 Author: Ben Widawsky <benjamin.widawsky@intel.com>
812 Date: Wed Oct 16 09:21:30 2013 -0700
813
814 drm/i915: Disable GGTT PTEs on GEN6+ suspend
815
816 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64841
817 Reported-and-Tested-by: Brad Jackson <bjackson0971@gmail.com>
818 Cc: stable@vger.kernel.org
819 Cc: Takashi Iwai <tiwai@suse.de>
820 Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
821 Cc: Todd Previte <tprevite@gmail.com>
822 Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
823 Signed-off-by: Dave Airlie <airlied@redhat.com>
824
825 drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +-
826 1 files changed, 1 insertions(+), 1 deletions(-)
827
828 commit f5fd5843a87569cfd8de8e8843ccb13e9e35afd5
829 Author: Jan Kara <jack@suse.cz>
830 Date: Wed Mar 26 06:20:14 2014 +0100
831
832 Upstream commit: 75c5a52da3fc2a06abb6c6192bdf5d680e56d37d
833
834 vfs: Allocate anon_inode_inode in anon_inode_init()
835
836 Currently we allocated anon_inode_inode in anon_inodefs_mount. This is
837 somewhat fragile as if that function ever gets called again, it will
838 overwrite anon_inode_inode pointer. So move the initialization of
839 anon_inode_inode to anon_inode_init().
840
841 Signed-off-by: Jan Kara <jack@suse.cz>
842 [ Further simplified on suggestion from Dave Jones ]
843 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
844
845 fs/anon_inodes.c | 30 ++++++++----------------------
846 1 files changed, 8 insertions(+), 22 deletions(-)
847
848 commit da2cc3c610141a5f41bd382b5ee7729893e3db12
849 Author: Brad Spengler <spender@grsecurity.net>
850 Date: Thu Mar 27 21:54:11 2014 -0400
851
852 ignore noreturn functions for now in the latent_entropy plugin
853
854 tools/gcc/latent_entropy_plugin.c | 4 ++++
855 1 files changed, 4 insertions(+), 0 deletions(-)
856
857 commit 0d1e588588bc19f449d667b69ac76bad0584752d
858 Author: Brad Spengler <spender@grsecurity.net>
859 Date: Thu Mar 27 21:27:56 2014 -0400
860
861 update config help for GRKERNSEC_KMEM to reflect recent change to only deny writes to /dev/cpu/*/msr instead of denying access entirely, allows powertop etc to continue to work while denying/logging the malicious activity
862
863 grsecurity/Kconfig | 12 +++++-------
864 1 files changed, 5 insertions(+), 7 deletions(-)
865
866 commit 4ad2f9fd7429c81e3b2115227685af06830d05c4
867 Author: Brad Spengler <spender@grsecurity.net>
868 Date: Thu Mar 27 21:24:58 2014 -0400
869
870 Revert "Upstream commit: 2c4a33aba5f9ea3a28f2e40351f078d95f00786b"
871
872 This reverts commit b6ab67fc7a47b542601dd116f934d255c9c2c372.
873
874 kernel/trace/trace.c | 27 ++-------------------------
875 1 files changed, 2 insertions(+), 25 deletions(-)
876
877 commit 1a70975ec716c68b37758fbba95ab9b7b6165c8a
878 Author: Linus Torvalds <torvalds@linux-foundation.org>
879 Date: Tue Mar 25 17:43:34 2014 -0700
880
881 Upstream commit: fce7fc79c8f7188dfc5eafa1b937bcc3c5a4c2f5
882
883 fs: remove now stale label in anon_inode_init()
884
885 The previous commit removed the register_filesystem() call and the
886 associated error handling, but left the label for the error path that no
887 longer exists. Remove that too.
888
889 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
890
891 fs/anon_inodes.c | 1 -
892 1 files changed, 0 insertions(+), 1 deletions(-)
893
894 commit 6c1ec97bac84bc22b1a37008193643b9bcab1a46
895 Author: Jan Kara <jack@suse.cz>
896 Date: Tue Mar 25 21:37:09 2014 +0100
897
898 Upstream commit: d6f2589ad561aa5fa39f347eca6942668b7560a1
899
900 fs: Avoid userspace mounting anon_inodefs filesystem
901
902 anon_inodefs filesystem is a kernel internal filesystem userspace
903 shouldn't mess with. Remove registration of it so userspace cannot
904 even try to mount it (which would fail anyway because the filesystem is
905 MS_NOUSER).
906
907 This fixes an oops triggered by trinity when it tried mounting
908 anon_inodefs which overwrote anon_inode_inode pointer while other CPU
909 has been in anon_inode_getfile() between ihold() and d_instantiate().
910 Thus effectively creating dentry pointing to an inode without holding a
911 reference to it.
912
913 Reported-by: Sasha Levin <sasha.levin@oracle.com>
914 Signed-off-by: Jan Kara <jack@suse.cz>
915 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
916
917 fs/anon_inodes.c | 3 ---
918 1 files changed, 0 insertions(+), 3 deletions(-)
919
920 commit 1e03cd2f178d167cc13e29836c1cb040aeea8d0f
921 Author: Al Viro <viro@zeniv.linux.org.uk>
922 Date: Sun Mar 23 00:28:40 2014 -0400
923
924 Upstream commit: e825196d48d2b89a6ec3a8eff280098d2a78207e
925
926 make prepend_name() work correctly when called with negative *buflen
927
928 In all callchains leading to prepend_name(), the value left in *buflen
929 is eventually discarded unused if prepend_name() has returned a negative.
930 So we are free to do what prepend() does, and subtract from *buflen
931 *before* checking for underflow (which turns into checking the sign
932 of subtraction result, of course).
933
934 Cc: stable@vger.kernel.org
935 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
936
937 fs/dcache.c | 4 ++--
938 1 files changed, 2 insertions(+), 2 deletions(-)
939
940 commit 8c174b004c6eed3d46e9888385207f454599aa23
941 Author: Al Viro <viro@zeniv.linux.org.uk>
942 Date: Thu Mar 20 15:18:22 2014 -0400
943
944 Upstream commit: b37199e626b31e1175fb06764c5d1d687723aac2
945
946 rcuwalk: recheck mount_lock after mountpoint crossing attempts
947
948 We can get false negative from __lookup_mnt() if an unrelated vfsmount
949 gets moved. In that case legitimize_mnt() is guaranteed to fail,
950 and we will fall back to non-RCU walk... unless we end up running
951 into a hard error on a filesystem object we wouldn't have reached
952 if not for that false negative. IOW, delaying that check until
953 the end of pathname resolution is wrong - we should recheck right
954 after we attempt to cross the mountpoint. We don't need to recheck
955 unless we see d_mountpoint() being true - in that case even if
956 we have just raced with mount/umount, we can simply go on as if
957 we'd come at the moment when the sucker wasn't a mountpoint; if we
958 run into a hard error as the result, it was a legitimate outcome.
959 __lookup_mnt() returning NULL is different in that respect, since
960 it might've happened due to operation on completely unrelated
961 mountpoint.
962
963 Cc: stable@vger.kernel.org
964 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
965
966 fs/namei.c | 29 +++++++++++++----------------
967 1 files changed, 13 insertions(+), 16 deletions(-)
968
969 commit b6ab67fc7a47b542601dd116f934d255c9c2c372
970 Author: Steven Rostedt (Red Hat) <rostedt@goodmis.org>
971 Date: Tue Mar 25 23:39:41 2014 -0400
972
973 Upstream commit: 2c4a33aba5f9ea3a28f2e40351f078d95f00786b
974
975 tracing: Fix traceon trigger condition to actually turn tracing on
976
977 While working on my tutorial for 2014 Linux Collaboration Summit
978 I found that the traceon trigger did not work when conditions were
979 used. The other triggers worked fine though. Looking into it, it
980 is because of the way the triggers use the ring buffer to store
981 the fields it will use for the condition. But if tracing is off, nothing
982 is stored in the buffer, and the tracepoint exits before calling the
983 trigger to test the condition. This is fine for all the triggers that
984 only work when tracing is on, but for traceon trigger that is to
985 work when tracing is off, nothing happens.
986
987 The fix is simple, just use a temp ring buffer to record the event
988 if tracing is off and the event has a trace event conditional trigger
989 enabled. The rest of the tracepoint code will work just fine, but
990 the tracepoint wont be recorded in the other buffers.
991
992 Cc: Tom Zanussi <tom.zanussi@linux.intel.com>
993 Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
994
995 kernel/trace/trace.c | 27 +++++++++++++++++++++++++--
996 1 files changed, 25 insertions(+), 2 deletions(-)
997
998 commit 3b8aebe0c4cffda5d5bfc738e7a02fd320184b06
999 Author: Eric Dumazet <edumazet@google.com>
1000 Date: Tue Mar 25 18:42:27 2014 -0700
1001
1002 Upstream commit: de1443916791d75fdd26becb116898277bb0273f
1003
1004 net: unix: non blocking recvmsg() should not return -EINTR
1005
1006 Some applications didn't expect recvmsg() on a non blocking socket
1007 could return -EINTR. This possibility was added as a side effect
1008 of commit b3ca9b02b00704 ("net: fix multithreaded signal handling in
1009 unix recv routines").
1010
1011 To hit this bug, you need to be a bit unlucky, as the u->readlock
1012 mutex is usually held for very small periods.
1013
1014 Fixes: b3ca9b02b00704 ("net: fix multithreaded signal handling in unix recv routines")
1015 Signed-off-by: Eric Dumazet <edumazet@google.com>
1016 Cc: Rainer Weikusat <rweikusat@mobileactivedefense.com>
1017 Signed-off-by: David S. Miller <davem@davemloft.net>
1018
1019 net/unix/af_unix.c | 17 ++++++++++++-----
1020 1 files changed, 12 insertions(+), 5 deletions(-)
1021
1022 commit 1bb09af0e99a5b3f3006e4fedf9bba1c3ed3d9d4
1023 Merge: 5473ce5 0a11cb5
1024 Author: Brad Spengler <spender@grsecurity.net>
1025 Date: Thu Mar 27 20:00:42 2014 -0400
1026
1027 Merge branch 'pax-test' into grsec-test
1028
1029 commit 0a11cb57b4afce8c08851aef512f873bdb3d9943
1030 Author: Brad Spengler <spender@grsecurity.net>
1031 Date: Thu Mar 27 20:00:02 2014 -0400
1032
1033 Update to pax-linux-3.13.7-test16.patch:
1034 - updated the size overflow hast table, by spender
1035 - fixed the gcc plugin capability detector script for gcc 4.9
1036 - fixed the latent entropy plugin to use the intended successor blocks instead of what happens to be next in the block list
1037 - changed the initial task's and the idle tasks' starting stack address to be consistent with the other stacks (top 2 slots are unused)
1038 - removed the pointless retaddr instrumentation from the low level kernel relocator code
1039
1040 arch/x86/kernel/head_64.S | 2 +-
1041 arch/x86/kernel/relocate_kernel_64.S | 2 --
1042 arch/x86/kernel/smpboot.c | 2 +-
1043 scripts/gcc-plugin.sh | 17 ++++++++---------
1044 tools/gcc/latent_entropy_plugin.c | 10 ++++++----
1045 tools/gcc/size_overflow_hash.data | 6 ++++++
1046 6 files changed, 22 insertions(+), 17 deletions(-)
1047
1048 commit 5473ce509ab763c927aa2639f7db8aee384d3693
1049 Author: Eric Dumazet <edumazet@google.com>
1050 Date: Wed Mar 19 21:02:21 2014 -0700
1051
1052 Upstream commit: 632623153196bf183a69686ed9c07eee98ff1bf8
1053
1054 tcp: syncookies: do not use getnstimeofday()
1055
1056 While it is true that getnstimeofday() uses about 40 cycles if TSC
1057 is available, it can use 1600 cycles if hpet is the clocksource.
1058
1059 Switch to get_jiffies_64(), as this is more than enough, and
1060 go back to 60 seconds periods.
1061
1062 Fixes: 8c27bd75f04f ("tcp: syncookies: reduce cookie lifetime to 128 seconds")
1063 Signed-off-by: Eric Dumazet <edumazet@google.com>
1064 Cc: Florian Westphal <fw@strlen.de>
1065 Acked-by: Florian Westphal <fw@strlen.de>
1066 Signed-off-by: David S. Miller <davem@davemloft.net>
1067
1068 include/net/tcp.h | 11 ++++++-----
1069 1 files changed, 6 insertions(+), 5 deletions(-)
1070
1071 commit 580a16424470410a1655dd62f71847725a89e1f0
1072 Author: Dave Kleikamp <dave.kleikamp@oracle.com>
1073 Date: Fri Mar 14 10:42:01 2014 -0500
1074
1075 Upstream commit: 1535bd8adbdedd60a0ee62e28fd5225d66434371
1076
1077 sparc64: don't treat 64-bit syscall return codes as 32-bit
1078
1079 When checking a system call return code for an error,
1080 linux_sparc_syscall was sign-extending the lower 32-bit value and
1081 comparing it to -ERESTART_RESTARTBLOCK. lseek can return valid return
1082 codes whose lower 32-bits alone would indicate a failure (such as 4G-1).
1083 Use the whole 64-bit value to check for errors. Only the 32-bit path
1084 should sign extend the lower 32-bit value.
1085
1086 Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
1087 Acked-by: Bob Picco <bob.picco@oracle.com>
1088 Acked-by: Allen Pais <allen.pais@oracle.com>
1089 Cc: David S. Miller <davem@davemloft.net>
1090 Cc: sparclinux@vger.kernel.org
1091 Signed-off-by: David S. Miller <davem@davemloft.net>
1092
1093 arch/sparc/kernel/syscalls.S | 4 ++--
1094 1 files changed, 2 insertions(+), 2 deletions(-)
1095
1096 commit 29127b7a71024630e40d98ec08c77e3feb584e7e
1097 Author: Brad Spengler <spender@grsecurity.net>
1098 Date: Tue Mar 25 17:07:59 2014 -0400
1099
1100 update size_overflow hash table
1101
1102 tools/gcc/size_overflow_hash.data | 6 ++++++
1103 1 files changed, 6 insertions(+), 0 deletions(-)
1104
1105 commit d42eece8853149008b9645106936f9cd4ddb38bc
1106 Merge: df4b222 cb629d4
1107 Author: Brad Spengler <spender@grsecurity.net>
1108 Date: Mon Mar 24 19:07:49 2014 -0400
1109
1110 Merge branch 'pax-test' into grsec-test
1111
1112 commit cb629d4458d7491cc16580860c234f85c463111d
1113 Merge: 3afa257 896c694
1114 Author: Brad Spengler <spender@grsecurity.net>
1115 Date: Mon Mar 24 19:07:30 2014 -0400
1116
1117 Merge branch 'linux-3.13.y' into pax-test
1118
1119 Conflicts:
1120 arch/x86/kernel/head_32.S
1121 drivers/cpufreq/intel_pstate.c
1122
1123 commit df4b2229045f125eaa91dd2a696e56c589f8c962
1124 Merge: e440e3a 3afa257
1125 Author: Brad Spengler <spender@grsecurity.net>
1126 Date: Mon Mar 24 18:55:45 2014 -0400
1127
1128 Merge branch 'pax-test' into grsec-test
1129
1130 commit 3afa2576ef64a8266c5a2f142e3cb3c970f21d3c
1131 Author: Brad Spengler <spender@grsecurity.net>
1132 Date: Mon Mar 24 18:54:38 2014 -0400
1133
1134 Update to pax-linux-3.13.7-test15.patch:
1135 - fixed several compilation problems on arm all*configs, by spender
1136 - small update to gcc-common.h
1137 - Emese fixed a compile time infinite loop in the size overflow plugin (triggered by the upcoming 3.14 kernel only)
1138
1139 Makefile | 2 +-
1140 arch/arm/include/asm/uaccess.h | 1 +
1141 arch/ia64/include/asm/uaccess.h | 1 +
1142 arch/powerpc/include/asm/uaccess.h | 1 +
1143 arch/powerpc/mm/mmap.c | 6 +++---
1144 arch/s390/include/asm/uaccess.h | 1 +
1145 arch/x86/include/asm/uaccess.h | 2 +-
1146 arch/x86/include/asm/uaccess_64.h | 12 ++++++------
1147 8 files changed, 15 insertions(+), 11 deletions(-)
1148
1149 commit e440e3aa4b4662f8d811120a87f51d8ab48d9c90
1150 Author: Brad Spengler <spender@grsecurity.net>
1151 Date: Thu Mar 20 23:16:11 2014 -0400
1152
1153 convert hvc tty driver to proper refcounted atomics on port.count, fixes ppc64 allyesconfig compilation
1154
1155 drivers/tty/hvc/hvsi.c | 10 +++++-----
1156 1 files changed, 5 insertions(+), 5 deletions(-)
1157
1158 commit 013c6d73e4a4ae358ee180b40428f3dd04dd3aa8
1159 Author: Brad Spengler <spender@grsecurity.net>
1160 Date: Thu Mar 20 22:53:31 2014 -0400
1161
1162 add local_unchecked_t accessors to fix ppc64 compilation
1163
1164 arch/powerpc/include/asm/local.h | 15 +++++++++++++++
1165 1 files changed, 15 insertions(+), 0 deletions(-)
1166
1167 commit 1cffa7895513b754c95673b12a8c638797e5b7e2
1168 Author: Brad Spengler <spender@grsecurity.net>
1169 Date: Thu Mar 20 22:25:47 2014 -0400
1170
1171 add access_ok_noprefault macro to fix ppc64+kvm compilation, patch
1172 from pipacs
1173
1174 arch/arm/include/asm/uaccess.h | 1 +
1175 arch/arm64/include/asm/uaccess.h | 1 +
1176 arch/ia64/include/asm/uaccess.h | 1 +
1177 arch/mips/include/asm/uaccess.h | 1 +
1178 arch/powerpc/include/asm/uaccess.h | 1 +
1179 arch/s390/include/asm/uaccess.h | 1 +
1180 arch/x86/include/asm/uaccess.h | 2 +-
1181 arch/x86/include/asm/uaccess_64.h | 12 ++++++------
1182 arch/x86/mm/gup.c | 4 ++--
1183 virt/kvm/kvm_main.c | 2 +-
1184 10 files changed, 16 insertions(+), 10 deletions(-)
1185
1186 commit 58bdcb9b494eb7ab916ead7944e444d0a6af5002
1187 Author: Brad Spengler <spender@grsecurity.net>
1188 Date: Thu Mar 20 21:53:32 2014 -0400
1189
1190 correct function definition for kvm_arch_init() to fix compilation on ppc64
1191
1192 arch/powerpc/kvm/powerpc.c | 2 +-
1193 1 files changed, 1 insertions(+), 1 deletions(-)
1194
1195 commit e3eb6820bfec5b4a4bfbb0056c057d50b8df4997
1196 Author: Brad Spengler <spender@grsecurity.net>
1197 Date: Thu Mar 20 21:47:35 2014 -0400
1198
1199 fix ppc64 allyesconfig compilation with RANDSTRUCT
1200
1201 arch/powerpc/platforms/cell/celleb_scc_pciex.c | 4 ++--
1202 1 files changed, 2 insertions(+), 2 deletions(-)
1203
1204 commit fb017032977cb38d750fe9b9a11d22fc565e576f
1205 Author: Brad Spengler <spender@grsecurity.net>
1206 Date: Thu Mar 20 21:36:39 2014 -0400
1207
1208 use $(LATENT_ENTROPY_PLUGIN_CFLAGS)
1209
1210 arch/powerpc/kernel/Makefile | 2 +-
1211 1 files changed, 1 insertions(+), 1 deletions(-)
1212
1213 commit e795367c8c4d750c3900f6546365ca27b9a8aad5
1214 Author: Brad Spengler <spender@grsecurity.net>
1215 Date: Thu Mar 20 21:24:01 2014 -0400
1216
1217 move REMOVE_CFLAGS
1218
1219 arch/powerpc/kernel/Makefile | 4 ++--
1220 1 files changed, 2 insertions(+), 2 deletions(-)
1221
1222 commit f80a67cf62542dbab790fcad2395c00e6534c26d
1223 Author: Brad Spengler <spender@grsecurity.net>
1224 Date: Thu Mar 20 20:30:35 2014 -0400
1225
1226 fix compilation by removing the latent entropy plugin from prom_init.c -- there's
1227 a script for ppc64 that checks the object file for a whitelisted set of
1228 exported symbols, code is very fragile
1229
1230 arch/powerpc/kernel/Makefile | 2 ++
1231 1 files changed, 2 insertions(+), 0 deletions(-)
1232
1233 commit cafe563e6cc19e3510c2f341c12440fdbd77a2aa
1234 Author: Brad Spengler <spender@grsecurity.net>
1235 Date: Thu Mar 20 20:28:07 2014 -0400
1236
1237 export LATENT_ENTROPY_PLUGIN_CFLAGS so we can remove it from prom_init.c on ppc64
1238
1239 Makefile | 2 +-
1240 1 files changed, 1 insertions(+), 1 deletions(-)
1241
1242 commit 90330189b37110d8343edd37147bb5c666feede4
1243 Author: Brad Spengler <spender@grsecurity.net>
1244 Date: Thu Mar 20 20:24:53 2014 -0400
1245
1246 fix ppc64 compilation, pass mm_struct through from arch_pick_mmap_layout
1247
1248 arch/powerpc/mm/mmap.c | 8 ++++----
1249 1 files changed, 4 insertions(+), 4 deletions(-)
1250
1251 commit 765a84b5300316d57eb9b82f7d941750d9ddf9ec
1252 Author: Brad Spengler <spender@grsecurity.net>
1253 Date: Wed Mar 19 21:53:12 2014 -0400
1254
1255 add ktla_ktva/ktva_ktla to sparc to fix compilation
1256
1257 arch/sparc/include/asm/pgtable.h | 4 ++++
1258 1 files changed, 4 insertions(+), 0 deletions(-)
1259
1260 commit 896004e18909d7de9ffe295180e12c275a623990
1261 Author: Brad Spengler <spender@grsecurity.net>
1262 Date: Wed Mar 19 21:32:20 2014 -0400
1263
1264 remove __read_mostly on ip_vs_genl_ops[], it's const so the attribute is bogus and causes compilation failure on MIPS
1265
1266 net/netfilter/ipvs/ip_vs_ctl.c | 2 +-
1267 1 files changed, 1 insertions(+), 1 deletions(-)
1268
1269 commit 143dcb4ff8b259163f978c468663dcaebfe573b4
1270 Author: Brad Spengler <spender@grsecurity.net>
1271 Date: Wed Mar 19 21:18:46 2014 -0400
1272
1273 Include second patch needed for compilation, not yet included by
1274 upstream (so MIPS compilation is broken there):
1275 http://patchwork.linux-mips.org/patch/6585/
1276
1277 arch/mips/include/asm/ftrace.h | 20 ++++++++++----------
1278 1 files changed, 10 insertions(+), 10 deletions(-)
1279
1280 commit b464eb7ac1132953ab99ff25826478e32690844f
1281 Author: Markos Chandras <markos.chandras@imgtec.com>
1282 Date: Wed Jan 22 14:39:57 2014 +0000
1283
1284 Upstream commit: a8031d2ce15bdb90baeae02d7a231ccece73da8b
1285
1286 MIPS: asm: syscall: Fix copying system call arguments
1287
1288 The syscall_get_arguments function expects the arguments to be copied
1289 to the '*args' argument but instead a local variable was used to hold
1290 the system call argument. As a result of which, this variable was
1291 never passed to the filter and any filter testing the system call
1292 arguments would fail. This is fixed by passing the '*args' variable
1293 as the destination memory for the system call arguments.
1294
1295 Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
1296 Reviewed-by: Paul Burton <paul.burton@imgtec.com>
1297 Reviewed-by: James Hogan <james.hogan@imgtec.com>
1298 Cc: linux-mips@linux-mips.org
1299 Patchwork: https://patchwork.linux-mips.org/patch/6402/
1300 Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
1301
1302 arch/mips/include/asm/syscall.h | 3 +--
1303 1 files changed, 1 insertions(+), 2 deletions(-)
1304
1305 commit b8f9d6f82e2fb814be37391109623d79e297571d
1306 Author: Brad Spengler <spender@grsecurity.net>
1307 Date: Wed Mar 19 21:01:40 2014 -0400
1308
1309 add ktla_ktva/ktva_ktla macros to MIPS
1310
1311 arch/mips/include/asm/pgtable.h | 3 +++
1312 1 files changed, 3 insertions(+), 0 deletions(-)
1313
1314 commit f0f660649f3b2cf1d448940ca8b7f4ab4249d8ce
1315 Author: Brad Spengler <spender@grsecurity.net>
1316 Date: Wed Mar 19 20:46:38 2014 -0400
1317
1318 include linux/prefetch.h to fix mips compilation
1319
1320 grsecurity/gracl.c | 1 +
1321 1 files changed, 1 insertions(+), 0 deletions(-)
1322
1323 commit 514ec7617daa1a925a0ec0fa910335396213ef45
1324 Author: Brad Spengler <spender@grsecurity.net>
1325 Date: Wed Mar 19 20:45:59 2014 -0400
1326
1327 Revert "fix compiler warning in hugetlbfs code"
1328
1329 This reverts commit 2c325ed37fe35aa85b4ca6deb67e6ca091704ed0.
1330
1331 fs/hugetlbfs/inode.c | 2 +-
1332 1 files changed, 1 insertions(+), 1 deletions(-)
1333
1334 commit 6da49b57e2795853a453f596e0b874aece27aa4b
1335 Author: Viller Hsiao <villerhsiao@gmail.com>
1336 Date: Sat Feb 22 15:46:49 2014 +0800
1337
1338 Upstream commit: a4671094227d11985c06ee1178d7205c5fd39f8a
1339
1340 MIPS: ftrace: Fix icache flush range error
1341
1342 In 32-bit mode, the start address passed to flush_icache_range is
1343 shifted by 4 bytes before the second safe_store_code() call.
1344
1345 This causes system crash from time to time because the first 4 bytes
1346 might not be flushed properly. This bug exists since linux-3.8.
1347
1348 Also remove obsoleted comment while at it.
1349
1350 Signed-off-by: Viller Hsiao <villerhsiao@gmail.com>
1351 Cc: linux-mips@linux-mips.org
1352 Cc: rostedt@goodmis.org
1353 Cc: fweisbec@gmail.com
1354 Cc: mingo@redhat.com
1355 Cc: Qais.Yousef@imgtec.com
1356 Patchwork: https://patchwork.linux-mips.org/patch/6586/
1357 Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
1358
1359 arch/mips/kernel/ftrace.c | 5 ++---
1360 1 files changed, 2 insertions(+), 3 deletions(-)
1361
1362 commit 624ddea7bbda3535b7c9a779b6ff149e93863321
1363 Author: Lars Persson <lars.persson@axis.com>
1364 Date: Mon Mar 17 12:14:13 2014 +0100
1365
1366 Upstream commit: 86ca57b5a5525dbf89fc2a3285781fae807276b0
1367
1368 MIPS: Fix syscall tracing interface
1369
1370 Fix pointer computation for stack-based arguments.
1371
1372 Signed-off-by: Lars Persson <larper@axis.com>
1373 Cc: linux-mips@linux-mips.org
1374 Patchwork: https://patchwork.linux-mips.org/patch/6620/
1375 Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
1376
1377 arch/mips/include/asm/syscall.h | 4 ++--
1378 1 files changed, 2 insertions(+), 2 deletions(-)
1379
1380 commit 7bf3daf307906cd7d03cb6eb64559ee98cdf3182
1381 Author: Brad Spengler <spender@grsecurity.net>
1382 Date: Wed Mar 19 20:28:16 2014 -0400
1383
1384 fix octeon compilation, add __maybe_unused to usp local var
1385
1386 arch/mips/include/asm/syscall.h | 2 +-
1387 1 files changed, 1 insertions(+), 1 deletions(-)
1388
1389 commit 2c325ed37fe35aa85b4ca6deb67e6ca091704ed0
1390 Author: Brad Spengler <spender@grsecurity.net>
1391 Date: Wed Mar 19 19:46:52 2014 -0400
1392
1393 fix compiler warning in hugetlbfs code
1394
1395 fs/hugetlbfs/inode.c | 2 +-
1396 1 files changed, 1 insertions(+), 1 deletions(-)
1397
1398 commit 43783f55374fe9bafc064ceacf915920ca45a6c5
1399 Merge: e018f0a aae8b87
1400 Author: Brad Spengler <spender@grsecurity.net>
1401 Date: Mon Mar 17 19:51:01 2014 -0400
1402
1403 Merge branch 'pax-test' into grsec-test
1404
1405 Conflicts:
1406 drivers/gpio/gpio-rcar.c
1407
1408 commit aae8b8720beec7c79d17ddd4f7d55bac0e83d5c6
1409 Author: Brad Spengler <spender@grsecurity.net>
1410 Date: Mon Mar 17 19:48:43 2014 -0400
1411
1412 Update to pax-linux-3.13.6-test14.patch:
1413 - fixed several compilation problems on arm all*configs, by spender
1414 - small update to gcc-common.h
1415 - Emese fixed a compile time infinite loop in the size overflow plugin (triggered by the upcoming 3.14 kernel only)
1416
1417 arch/arm/include/asm/page.h | 1 +
1418 drivers/base/power/domain.c | 4 +-
1419 drivers/gpio/gpio-em.c | 2 +-
1420 drivers/gpio/gpio-rcar.c | 2 +-
1421 drivers/mfd/ab8500-debugfs.c | 2 +-
1422 drivers/net/can/Kconfig | 2 +-
1423 drivers/staging/imx-drm/imx-drm-core.c | 6 +-
1424 include/linux/pm_domain.h | 2 +-
1425 tools/gcc/gcc-common.h | 12 +++
1426 tools/gcc/size_overflow_plugin.c | 116 +++++++++++++++++++++++---------
1427 10 files changed, 106 insertions(+), 43 deletions(-)
1428
1429 commit e018f0a38370496abe4289911eb67f1816cdc65d
1430 Author: Brad Spengler <spender@grsecurity.net>
1431 Date: Mon Mar 17 19:12:04 2014 -0400
1432
1433 move the location of the include to suit pipacs' OCD
1434
1435 arch/arm/include/asm/page.h | 3 +--
1436 1 files changed, 1 insertions(+), 2 deletions(-)
1437
1438 commit bb6742b0e35d1ee42ec643ea921a340d672ec3bc
1439 Author: Brad Spengler <spender@grsecurity.net>
1440 Date: Mon Mar 17 18:01:11 2014 -0400
1441
1442 revert lustre change, we'll include compiler.h from asm/page.h instead
1443
1444 .../lustre/include/linux/lnet/linux/lib-lnet.h | 1 -
1445 1 files changed, 0 insertions(+), 1 deletions(-)
1446
1447 commit a39c965db54a571780b9844d93cfec71265b2c5e
1448 Author: Brad Spengler <spender@grsecurity.net>
1449 Date: Mon Mar 17 18:00:13 2014 -0400
1450
1451 fix ARM compilation with constify plugin
1452
1453 arch/arm/include/asm/page.h | 2 ++
1454 1 files changed, 2 insertions(+), 0 deletions(-)
1455
1456 commit 721fb83dc182e1442311b8ca3a986963f9cf2b76
1457 Author: Brad Spengler <spender@grsecurity.net>
1458 Date: Mon Mar 17 17:18:04 2014 -0400
1459
1460 move header ordering
1461
1462 .../lustre/include/linux/lnet/linux/lib-lnet.h | 2 +-
1463 1 files changed, 1 insertions(+), 1 deletions(-)
1464
1465 commit 985afa44870e690fce35adf47979a99855db3323
1466 Author: Brad Spengler <spender@grsecurity.net>
1467 Date: Mon Mar 17 17:02:24 2014 -0400
1468
1469 compile fix for lustre on ARM with constify plugin
1470
1471 .../lustre/include/linux/lnet/linux/lib-lnet.h | 1 +
1472 1 files changed, 1 insertions(+), 0 deletions(-)
1473
1474 commit e5c4fe3e8fb7e1a64f1ab29887b7f787cc989c24
1475 Author: Brad Spengler <spender@grsecurity.net>
1476 Date: Mon Mar 17 16:04:34 2014 -0400
1477
1478 fix compiler error caused by constify plugin on ARM
1479
1480 drivers/mfd/ab8500-debugfs.c | 2 +-
1481 1 files changed, 1 insertions(+), 1 deletions(-)
1482
1483 commit b6e2f644cf05a858d3988fb9bb8a8ca6c0beeff4
1484 Author: Brad Spengler <spender@grsecurity.net>
1485 Date: Mon Mar 17 15:46:53 2014 -0400
1486
1487 fix more compile errors caused by RANDSTRUCT and constify plugins on ARM
1488
1489 drivers/base/power/domain.c | 4 ++--
1490 include/linux/pm_domain.h | 2 +-
1491 2 files changed, 3 insertions(+), 3 deletions(-)
1492
1493 commit 2d33f0f25f7ee45412728f8bad6ef97b5bf40a66
1494 Author: Brad Spengler <spender@grsecurity.net>
1495 Date: Mon Mar 17 15:34:17 2014 -0400
1496
1497 fix another compile error caused by constify plugin on ARM
1498
1499 drivers/gpio/gpio-rcar.c | 2 +-
1500 1 files changed, 1 insertions(+), 1 deletions(-)
1501
1502 commit 05b33c660567d4dc74ebcd06e996bf0656146757
1503 Author: Brad Spengler <spender@grsecurity.net>
1504 Date: Mon Mar 17 15:08:49 2014 -0400
1505
1506 fix compile error caused by constify plugin on ARM
1507
1508 drivers/gpio/gpio-em.c | 2 +-
1509 1 files changed, 1 insertions(+), 1 deletions(-)
1510
1511 commit b9c8e0a83ba19e0228317675ffb4e1c1fb175b31
1512 Author: Brad Spengler <spender@grsecurity.net>
1513 Date: Sun Mar 16 21:17:20 2014 -0400
1514
1515 fix allyesconfig compilation with PAX_REFCOUNT
1516
1517 drivers/staging/imx-drm/imx-drm-core.c | 6 +++---
1518 1 files changed, 3 insertions(+), 3 deletions(-)
1519
1520 commit b855bafd2e8d4b50c13586e5a00905fb9c03ed5a
1521 Author: Brad Spengler <spender@grsecurity.net>
1522 Date: Sun Mar 16 21:04:10 2014 -0400
1523
1524 fix arm allmodconfig
1525
1526 drivers/net/can/Kconfig | 2 +-
1527 1 files changed, 1 insertions(+), 1 deletions(-)
1528
1529 commit 611bf735a4def802205cc83a131ec9c77c194662
1530 Author: Brad Spengler <spender@grsecurity.net>
1531 Date: Fri Mar 14 20:12:02 2014 -0400
1532
1533 add /usr/share/apport/apport to the allowed userland exec paths --
1534 because apparently some distros have no problem just throwing
1535 critical binaries around anywhere.
1536
1537 kernel/kmod.c | 3 ++-
1538 1 files changed, 2 insertions(+), 1 deletions(-)
1539
1540 commit 51692fc9a6be048dd0500f78f97aed4db87bc359
1541 Merge: 54fa0d5 7fcc1d0
1542 Author: Brad Spengler <spender@grsecurity.net>
1543 Date: Fri Mar 14 20:09:56 2014 -0400
1544
1545 Merge branch 'pax-test' into grsec-test
1546
1547 Conflicts:
1548 arch/mips/mm/mmap.c
1549
1550 commit 7fcc1d01537c3e4d4cb3494b4e19890864473376
1551 Author: Brad Spengler <spender@grsecurity.net>
1552 Date: Fri Mar 14 20:08:19 2014 -0400
1553
1554 Update to pax-linux-3.13.6-test13.patch:
1555 - fixed a few compilation errors on MIPS, by Hinnerk van Bruinehsen <h.v.bruinehsen@fu-berlin.de>
1556
1557 arch/arm/include/asm/proc-fns.h | 2 +-
1558 arch/arm/kernel/setup.c | 4 ++--
1559 arch/arm/mm/mmu.c | 2 +-
1560 arch/mips/cavium-octeon/dma-octeon.c | 2 +-
1561 arch/mips/include/asm/hw_irq.h | 2 +-
1562 arch/mips/kernel/i8259.c | 2 +-
1563 arch/mips/kernel/irq-gt641xx.c | 2 +-
1564 arch/mips/kernel/reset.c | 4 ++++
1565 arch/mips/mm/mmap.c | 2 +-
1566 arch/mips/pci/pci-octeon.c | 4 ++--
1567 arch/mips/pci/pcie-octeon.c | 12 ++++++------
1568 arch/mips/sni/rm200.c | 2 +-
1569 arch/mips/vr41xx/common/icu.c | 2 +-
1570 arch/mips/vr41xx/common/irq.c | 4 ++--
1571 arch/x86/kernel/cpu/common.c | 2 +-
1572 drivers/staging/octeon/ethernet-rx.c | 2 +-
1573 ipc/mq_sysctl.c | 2 +-
1574 kernel/panic.c | 2 +-
1575 18 files changed, 29 insertions(+), 25 deletions(-)
1576
1577 commit 54fa0d51929173d4eb6c060ea966ec5abe32faaf
1578 Author: Brad Spengler <spender@grsecurity.net>
1579 Date: Wed Mar 12 22:54:32 2014 -0400
1580
1581 add support for PAX_EMUTRAMP by default in the autoconfig
1582
1583 security/Kconfig | 5 +++--
1584 1 files changed, 3 insertions(+), 2 deletions(-)
1585
1586 commit 1a3518d87b5faa66b5684569bfe84024edc955ce
1587 Author: Laura Abbott <lauraa@codeaurora.org>
1588 Date: Mon Mar 10 15:49:44 2014 -0700
1589
1590 Upstream commit: 2af120bc040c5ebcda156df6be6a66610ab6957f
1591
1592 mm/compaction: break out of loop on !PageBuddy in isolate_freepages_block
1593
1594 We received several reports of bad page state when freeing CMA pages
1595 previously allocated with alloc_contig_range:
1596
1597 BUG: Bad page state in process Binder_A pfn:63202
1598 page:d21130b0 count:0 mapcount:1 mapping: (null) index:0x7dfbf
1599 page flags: 0x40080068(uptodate|lru|active|swapbacked)
1600
1601 Based on the page state, it looks like the page was still in use. The
1602 page flags do not make sense for the use case though. Further debugging
1603 showed that despite alloc_contig_range returning success, at least one
1604 page in the range still remained in the buddy allocator.
1605
1606 There is an issue with isolate_freepages_block. In strict mode (which
1607 CMA uses), if any pages in the range cannot be isolated,
1608 isolate_freepages_block should return failure 0. The current check
1609 keeps track of the total number of isolated pages and compares against
1610 the size of the range:
1611
1612 if (strict && nr_strict_required > total_isolated)
1613 total_isolated = 0;
1614
1615 After taking the zone lock, if one of the pages in the range is not in
1616 the buddy allocator, we continue through the loop and do not increment
1617 total_isolated. If in the last iteration of the loop we isolate more
1618 than one page (e.g. last page needed is a higher order page), the check
1619 for total_isolated may pass and we fail to detect that a page was
1620 skipped. The fix is to bail out if the loop immediately if we are in
1621 strict mode. There's no benfit to continuing anyway since we need all
1622 pages to be isolated. Additionally, drop the error checking based on
1623 nr_strict_required and just check the pfn ranges. This matches with
1624 what isolate_freepages_range does.
1625
1626 Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
1627 Acked-by: Minchan Kim <minchan@kernel.org>
1628 Cc: Mel Gorman <mgorman@suse.de>
1629 Acked-by: Vlastimil Babka <vbabka@suse.cz>
1630 Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
1631 Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
1632 Acked-by: Michal Nazarewicz <mina86@mina86.com>
1633 Cc: <stable@vger.kernel.org>
1634 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1635 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1636
1637 mm/compaction.c | 20 +++++++++++++-------
1638 1 files changed, 13 insertions(+), 7 deletions(-)
1639
1640 commit 6c2a0937a7bb61db66b01160334fa83c93c05c7b
1641 Author: Artem Fetishev <artem_fetishev@epam.com>
1642 Date: Mon Mar 10 15:49:45 2014 -0700
1643
1644 Upstream commit: 70335abb2689c8cd5df91bf2d95a65649addf50b
1645
1646 fs/proc/base.c: fix GPF in /proc/$PID/map_files
1647
1648 The expected logic of proc_map_files_get_link() is either to return 0
1649 and initialize 'path' or return an error and leave 'path' uninitialized.
1650
1651 By the time dname_to_vma_addr() returns 0 the corresponding vma may have
1652 already be gone. In this case the path is not initialized but the
1653 return value is still 0. This results in 'general protection fault'
1654 inside d_path().
1655
1656 Steps to reproduce:
1657
1658 CONFIG_CHECKPOINT_RESTORE=y
1659
1660 fd = open(...);
1661 while (1) {
1662 mmap(fd, ...);
1663 munmap(fd, ...);
1664 }
1665
1666 ls -la /proc/$PID/map_files
1667
1668 Addresses https://bugzilla.kernel.org/show_bug.cgi?id=68991
1669
1670 Signed-off-by: Artem Fetishev <artem_fetishev@epam.com>
1671 Signed-off-by: Aleksandr Terekhov <aleksandr_terekhov@epam.com>
1672 Reported-by: <wiebittewas@gmail.com>
1673 Acked-by: Pavel Emelyanov <xemul@parallels.com>
1674 Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
1675 Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
1676 Cc: <stable@vger.kernel.org>
1677 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1678 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1679
1680 fs/proc/base.c | 1 +
1681 1 files changed, 1 insertions(+), 0 deletions(-)
1682
1683 commit 34d22047e821cdae1d31beb2fdda8e6e9fe40cdf
1684 Author: Matthew Leach <matthew.leach@arm.com>
1685 Date: Tue Mar 11 11:58:27 2014 +0000
1686
1687 Upstream commit: dbb490b96584d4e958533fb637f08b557f505657
1688
1689 net: socket: error on a negative msg_namelen
1690
1691 When copying in a struct msghdr from the user, if the user has set the
1692 msg_namelen parameter to a negative value it gets clamped to a valid
1693 size due to a comparison between signed and unsigned values.
1694
1695 Ensure the syscall errors when the user passes in a negative value.
1696
1697 Signed-off-by: Matthew Leach <matthew.leach@arm.com>
1698 Signed-off-by: David S. Miller <davem@davemloft.net>
1699
1700 net/socket.c | 4 ++++
1701 1 files changed, 4 insertions(+), 0 deletions(-)
1702
1703 commit a28f7e3e1ec4d26bf7734c70ca3b6107e54597ca
1704 Author: Alexei Starovoitov <ast@plumgrid.com>
1705 Date: Mon Mar 10 15:56:51 2014 -0700
1706
1707 Upstream commit: fdfaf64e75397567257e1051931f9a3377360665
1708
1709 x86: bpf_jit: support negative offsets
1710
1711 Commit a998d4342337 claimed to introduce negative offset support to x86 jit,
1712 but it couldn't be working, since at the time of the execution
1713 of LD+ABS or LD+IND instructions via call into
1714 bpf_internal_load_pointer_neg_helper() the %edx (3rd argument of this func)
1715 had junk value instead of access size in bytes (1 or 2 or 4).
1716
1717 Store size into %edx instead of %ecx (what original commit intended to do)
1718
1719 Fixes: a998d4342337 ("bpf jit: Let the x86 jit handle negative offsets")
1720 Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
1721 Cc: Jan Seiffert <kaffeemonster@googlemail.com>
1722 Cc: Eric Dumazet <edumazet@google.com>
1723 Acked-by: Eric Dumazet <edumazet@google.com>
1724 Signed-off-by: David S. Miller <davem@davemloft.net>
1725
1726 arch/x86/net/bpf_jit.S | 2 +-
1727 1 files changed, 1 insertions(+), 1 deletions(-)
1728
1729 commit 977ee3909139082a57a04afbb8e9ee202475aa27
1730 Author: Brad Spengler <spender@grsecurity.net>
1731 Date: Wed Mar 12 19:21:43 2014 -0400
1732
1733 Improve GRKERNSEC_JIT_HARDEN against a theoretical attack I dreamed up --
1734 if an attacker had an arbitrary read vuln and ability to redirect control flow,
1735 he could, in ~2,000,000,000 attempts have a 50% chance of pre-selecting a
1736 32bit random key which the attacker has XORed with his desired immediates to
1737 cause the constant blinding to produce a potentially useful instruction stream
1738 (which he could verify by abusing the infoleak). Instead of using one key
1739 per instruction stream, generate a new key for each instruction using prandom_u32().
1740
1741 The downside is some performance impact during JIT compilation, though this
1742 shouldn't be so common an event for anyone to notice.
1743
1744 arch/x86/net/bpf_jit_comp.c | 8 ++++----
1745 1 files changed, 4 insertions(+), 4 deletions(-)
1746
1747 commit 1b3f7f8f68d05143c0d55e8ceba0904c21007ad4
1748 Author: Brad Spengler <spender@grsecurity.net>
1749 Date: Fri Mar 7 20:44:22 2014 -0500
1750
1751 fix typo
1752
1753 ipc/mq_sysctl.c | 2 +-
1754 1 files changed, 1 insertions(+), 1 deletions(-)
1755
1756 commit 90c31e93dc4eb2045775930cacbb64318cabafad
1757 Author: Brad Spengler <spender@grsecurity.net>
1758 Date: Fri Mar 7 20:25:53 2014 -0500
1759
1760 add no_const to ctl_table located on stack
1761
1762 ipc/mq_sysctl.c | 2 +-
1763 1 files changed, 1 insertions(+), 1 deletions(-)
1764
1765 commit 098fd10b3af4ef61b2edc60314ef18991b2f6f71
1766 Author: Sabrina Dubroca <sd@queasysnail.net>
1767 Date: Thu Mar 6 17:51:57 2014 +0100
1768
1769 Upstream commit: c88507fbad8055297c1d1e21e599f46960cbee39
1770
1771 ipv6: don't set DST_NOCOUNT for remotely added routes
1772
1773 DST_NOCOUNT should only be used if an authorized user adds routes
1774 locally. In case of routes which are added on behalf of router
1775 advertisments this flag must not get used as it allows an unlimited
1776 number of routes getting added remotely.
1777
1778 Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
1779 Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
1780 Signed-off-by: David S. Miller <davem@davemloft.net>
1781
1782 net/ipv6/route.c | 2 +-
1783 1 files changed, 1 insertions(+), 1 deletions(-)
1784
1785 commit c4bd306f576cc03b5f0f9e56253e3f0a3be5d3bd
1786 Merge: 71ed8ef a2aac72
1787 Author: Brad Spengler <spender@grsecurity.net>
1788 Date: Fri Mar 7 20:10:30 2014 -0500
1789
1790 Merge branch 'pax-test' into grsec-test
1791
1792 commit a2aac72603c2309d560a606493bb3003e2abe6c7
1793 Merge: 96545e3 404df65
1794 Author: Brad Spengler <spender@grsecurity.net>
1795 Date: Fri Mar 7 20:10:13 2014 -0500
1796
1797 Merge branch 'linux-3.13.y' into pax-test
1798
1799 Conflicts:
1800 arch/arm/mm/mmu.c
1801 mm/memory.c
1802
1803 commit 71ed8ef8e7d2ffcc57b5ffacef3a9262ed8781c7
1804 Author: Brad Spengler <spender@grsecurity.net>
1805 Date: Tue Mar 4 18:08:29 2014 -0500
1806
1807 Backport security fix: http://seclists.org/oss-sec/2014/q1/477
1808
1809 net/ipv4/inet_fragment.c | 3 ++-
1810 1 files changed, 2 insertions(+), 1 deletions(-)
1811
1812 commit d752f1f1704ddbec282d7eb2150c75e05b9bcdd3
1813 Author: Daniel Borkmann <dborkman@redhat.com>
1814 Date: Mon Mar 3 17:23:04 2014 +0100
1815
1816 Upstream commit: ec0223ec48a90cb605244b45f7c62de856403729
1817 Remote DoS fix
1818
1819 net: sctp: fix sctp_sf_do_5_1D_ce to verify if we/peer is AUTH capable
1820
1821 RFC4895 introduced AUTH chunks for SCTP; during the SCTP
1822 handshake RANDOM; CHUNKS; HMAC-ALGO are negotiated (CHUNKS
1823 being optional though):
1824
1825 ---------- INIT[RANDOM; CHUNKS; HMAC-ALGO] ---------->
1826 <------- INIT-ACK[RANDOM; CHUNKS; HMAC-ALGO] ---------
1827 -------------------- COOKIE-ECHO -------------------->
1828 <-------------------- COOKIE-ACK ---------------------
1829
1830 A special case is when an endpoint requires COOKIE-ECHO
1831 chunks to be authenticated:
1832
1833 ---------- INIT[RANDOM; CHUNKS; HMAC-ALGO] ---------->
1834 <------- INIT-ACK[RANDOM; CHUNKS; HMAC-ALGO] ---------
1835 ------------------ AUTH; COOKIE-ECHO ---------------->
1836 <-------------------- COOKIE-ACK ---------------------
1837
1838 RFC4895, section 6.3. Receiving Authenticated Chunks says:
1839
1840 The receiver MUST use the HMAC algorithm indicated in
1841 the HMAC Identifier field. If this algorithm was not
1842 specified by the receiver in the HMAC-ALGO parameter in
1843 the INIT or INIT-ACK chunk during association setup, the
1844 AUTH chunk and all the chunks after it MUST be discarded
1845 and an ERROR chunk SHOULD be sent with the error cause
1846 defined in Section 4.1. [...] If no endpoint pair shared
1847 key has been configured for that Shared Key Identifier,
1848 all authenticated chunks MUST be silently discarded. [...]
1849
1850 When an endpoint requires COOKIE-ECHO chunks to be
1851 authenticated, some special procedures have to be followed
1852 because the reception of a COOKIE-ECHO chunk might result
1853 in the creation of an SCTP association. If a packet arrives
1854 containing an AUTH chunk as a first chunk, a COOKIE-ECHO
1855 chunk as the second chunk, and possibly more chunks after
1856 them, and the receiver does not have an STCB for that
1857 packet, then authentication is based on the contents of
1858 the COOKIE-ECHO chunk. In this situation, the receiver MUST
1859 authenticate the chunks in the packet by using the RANDOM
1860 parameters, CHUNKS parameters and HMAC_ALGO parameters
1861 obtained from the COOKIE-ECHO chunk, and possibly a local
1862 shared secret as inputs to the authentication procedure
1863 specified in Section 6.3. If authentication fails, then
1864 the packet is discarded. If the authentication is successful,
1865 the COOKIE-ECHO and all the chunks after the COOKIE-ECHO
1866 MUST be processed. If the receiver has an STCB, it MUST
1867 process the AUTH chunk as described above using the STCB
1868 from the existing association to authenticate the
1869 COOKIE-ECHO chunk and all the chunks after it. [...]
1870
1871 Commit bbd0d59809f9 introduced the possibility to receive
1872 and verification of AUTH chunk, including the edge case for
1873 authenticated COOKIE-ECHO. On reception of COOKIE-ECHO,
1874 the function sctp_sf_do_5_1D_ce() handles processing,
1875 unpacks and creates a new association if it passed sanity
1876 checks and also tests for authentication chunks being
1877 present. After a new association has been processed, it
1878 invokes sctp_process_init() on the new association and
1879 walks through the parameter list it received from the INIT
1880 chunk. It checks SCTP_PARAM_RANDOM, SCTP_PARAM_HMAC_ALGO
1881 and SCTP_PARAM_CHUNKS, and copies them into asoc->peer
1882 meta data (peer_random, peer_hmacs, peer_chunks) in case
1883 sysctl -w net.sctp.auth_enable=1 is set. If in INIT's
1884 SCTP_PARAM_SUPPORTED_EXT parameter SCTP_CID_AUTH is set,
1885 peer_random != NULL and peer_hmacs != NULL the peer is to be
1886 assumed asoc->peer.auth_capable=1, in any other case
1887 asoc->peer.auth_capable=0.
1888
1889 Now, if in sctp_sf_do_5_1D_ce() chunk->auth_chunk is
1890 available, we set up a fake auth chunk and pass that on to
1891 sctp_sf_authenticate(), which at latest in
1892 sctp_auth_calculate_hmac() reliably dereferences a NULL pointer
1893 at position 0..0008 when setting up the crypto key in
1894 crypto_hash_setkey() by using asoc->asoc_shared_key that is
1895 NULL as condition key_id == asoc->active_key_id is true if
1896 the AUTH chunk was injected correctly from remote. This
1897 happens no matter what net.sctp.auth_enable sysctl says.
1898
1899 The fix is to check for net->sctp.auth_enable and for
1900 asoc->peer.auth_capable before doing any operations like
1901 sctp_sf_authenticate() as no key is activated in
1902 sctp_auth_asoc_init_active_key() for each case.
1903
1904 Now as RFC4895 section 6.3 states that if the used HMAC-ALGO
1905 passed from the INIT chunk was not used in the AUTH chunk, we
1906 SHOULD send an error; however in this case it would be better
1907 to just silently discard such a maliciously prepared handshake
1908 as we didn't even receive a parameter at all. Also, as our
1909 endpoint has no shared key configured, section 6.3 says that
1910 MUST silently discard, which we are doing from now onwards.
1911
1912 Before calling sctp_sf_pdiscard(), we need not only to free
1913 the association, but also the chunk->auth_chunk skb, as
1914 commit bbd0d59809f9 created a skb clone in that case.
1915
1916 I have tested this locally by using netfilter's nfqueue and
1917 re-injecting packets into the local stack after maliciously
1918 modifying the INIT chunk (removing RANDOM; HMAC-ALGO param)
1919 and the SCTP packet containing the COOKIE_ECHO (injecting
1920 AUTH chunk before COOKIE_ECHO). Fixed with this patch applied.
1921
1922 Fixes: bbd0d59809f9 ("[SCTP]: Implement the receive and verification of AUTH chunk")
1923 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
1924 Cc: Vlad Yasevich <yasevich@gmail.com>
1925 Cc: Neil Horman <nhorman@tuxdriver.com>
1926 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
1927 Signed-off-by: David S. Miller <davem@davemloft.net>
1928
1929 net/sctp/sm_statefuns.c | 7 +++++++
1930 1 files changed, 7 insertions(+), 0 deletions(-)
1931
1932 commit 855c02e8cb1af9b40752258060af547805881899
1933 Author: Brad Spengler <spender@grsecurity.net>
1934 Date: Tue Mar 4 18:05:10 2014 -0500
1935
1936 Backport local DoS fix: http://seclists.org/oss-sec/2014/q1/494
1937
1938 security/keys/keyring.c | 6 +++++-
1939 1 files changed, 5 insertions(+), 1 deletions(-)
1940
1941 commit 4877e98529649880ac76ade11e5529403a40ea73
1942 Author: Brad Spengler <spender@grsecurity.net>
1943 Date: Mon Mar 3 14:42:58 2014 -0500
1944
1945 mark 'processor' as __read_only instead of forcing constify on it
1946 to avoid a GCC constant propagation that will cause a NULL deref on boot
1947 on ARM MULTI_CPU configs
1948
1949 Thanks to Arnaud Fontaine and Arnaud Ebalard for the report, fix is from
1950 the PaX Team
1951
1952 arch/arm/include/asm/proc-fns.h | 2 +-
1953 arch/arm/kernel/setup.c | 4 ++--
1954 2 files changed, 3 insertions(+), 3 deletions(-)
1955
1956 commit 9c8d2926262f0345af454da45b41c6259bdc89e8
1957 Author: Andrew Honig <ahonig@google.com>
1958 Date: Thu Feb 27 19:35:14 2014 +0100
1959
1960 Upstream commit: a08d3b3b99efd509133946056531cdf8f3a0c09b
1961
1962 kvm: x86: fix emulator buffer overflow (CVE-2014-0049)
1963
1964 The problem occurs when the guest performs a pusha with the stack
1965 address pointing to an mmio address (or an invalid guest physical
1966 address) to start with, but then extending into an ordinary guest
1967 physical address. When doing repeated emulated pushes
1968 emulator_read_write sets mmio_needed to 1 on the first one. On a
1969 later push when the stack points to regular memory,
1970 mmio_nr_fragments is set to 0, but mmio_is_needed is not set to 0.
1971
1972 As a result, KVM exits to userspace, and then returns to
1973 complete_emulated_mmio. In complete_emulated_mmio
1974 vcpu->mmio_cur_fragment is incremented. The termination condition of
1975 vcpu->mmio_cur_fragment == vcpu->mmio_nr_fragments is never achieved.
1976 The code bounces back and fourth to userspace incrementing
1977 mmio_cur_fragment past it's buffer. If the guest does nothing else it
1978 eventually leads to a a crash on a memcpy from invalid memory address.
1979
1980 However if a guest code can cause the vm to be destroyed in another
1981 vcpu with excellent timing, then kvm_clear_async_pf_completion_queue
1982 can be used by the guest to control the data that's pointed to by the
1983 call to cancel_work_item, which can be used to gain execution.
1984
1985 Fixes: f78146b0f9230765c6315b2e14f56112513389ad
1986 Signed-off-by: Andrew Honig <ahonig@google.com>
1987 Cc: stable@vger.kernel.org (3.5+)
1988 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1989
1990 arch/x86/kvm/x86.c | 2 +-
1991 1 files changed, 1 insertions(+), 1 deletions(-)
1992
1993 commit 40051b60939861d365baf66d95dadd3f090542ac
1994 Author: Mike Pecovnik <mike.pecovnik@gmail.com>
1995 Date: Mon Feb 24 21:11:16 2014 +0100
1996
1997 Upstream commit: 46833a86f7ab30101096d81117dd250bfae74c6f
1998
1999 net: Fix permission check in netlink_connect()
2000
2001 netlink_sendmsg() was changed to prevent non-root processes from sending
2002 messages with dst_pid != 0.
2003 netlink_connect() however still only checks if nladdr->nl_groups is set.
2004 This patch modifies netlink_connect() to check for the same condition.
2005
2006 Signed-off-by: Mike Pecovnik <mike.pecovnik@gmail.com>
2007 Signed-off-by: David S. Miller <davem@davemloft.net>
2008
2009 net/netlink/af_netlink.c | 4 ++--
2010 1 files changed, 2 insertions(+), 2 deletions(-)
2011
2012 commit a3be34042aa8d3eccb476cb240d8cdc85024b18a
2013 Author: Brad Spengler <spender@grsecurity.net>
2014 Date: Sat Mar 1 23:17:33 2014 -0500
2015
2016 Apply role_umask RBAC restrictions to POSIX ACLs as well
2017
2018 fs/posix_acl.c | 7 +++++--
2019 fs/xattr_acl.c | 9 +++++++++
2020 2 files changed, 14 insertions(+), 2 deletions(-)
2021
2022 commit 652b798b80f39815b94fc9b7192d648ad6b6cf64
2023 Author: Brad Spengler <spender@grsecurity.net>
2024 Date: Mon Feb 24 21:57:37 2014 -0500
2025
2026 mention in config help that gcc 4.6.4 or higher is needed for RANDSTRUCT
2027
2028 grsecurity/Kconfig | 4 ++++
2029 1 files changed, 4 insertions(+), 0 deletions(-)
2030
2031 commit 5ffde76a88cb5dadc307cabc33d7ad253158b608
2032 Author: Brad Spengler <spender@grsecurity.net>
2033 Date: Mon Feb 24 18:54:34 2014 -0500
2034
2035 use current_umask() helper in lustre instead of current->fs->umask
2036
2037 drivers/staging/lustre/lustre/llite/dir.c | 2 +-
2038 1 files changed, 1 insertions(+), 1 deletions(-)
2039
2040 commit 49761e88b63e2771f09aa16cb4e98c681515cf31
2041 Merge: daf0afa 96545e3
2042 Author: Brad Spengler <spender@grsecurity.net>
2043 Date: Mon Feb 24 17:43:09 2014 -0500
2044
2045 Merge branch 'pax-test' into grsec-test
2046
2047 Conflicts:
2048 arch/x86/kernel/cpu/common.c
2049
2050 commit 96545e3f1c4df86c1d9b74a1916d1b712138345f
2051 Merge: 1ea0c4a dc0ead5
2052 Author: Brad Spengler <spender@grsecurity.net>
2053 Date: Mon Feb 24 17:37:59 2014 -0500
2054
2055 Update to pax-linux-3.13.5-test11.patch:
2056 - fixed a mismerge in atomic64_sub_return on arm, reported by Arnaud Fontaine
2057 - the latent entropy plugin can now initialize structure variables as well
2058
2059 Merge branch 'linux-3.13.y' into pax-test
2060
2061 Conflicts:
2062 arch/x86/kernel/ftrace.c
2063 include/linux/compiler-gcc4.h
2064
2065 commit daf0afa64695bd49bf6be19450fea0a533edc3ab
2066 Author: Brad Spengler <spender@grsecurity.net>
2067 Date: Mon Feb 24 17:16:47 2014 -0500
2068
2069 when IPC hardening is disabled via sysctl, we shouldn't be imposing
2070 any additional restrictions
2071 thanks to Mathias Krause (minipli) for the report
2072
2073 grsecurity/grsec_ipc.c | 2 +-
2074 1 files changed, 1 insertions(+), 1 deletions(-)
2075
2076 commit 179bf20a88510350fc86383c7d1b8e7d422cc604
2077 Author: Brad Spengler <spender@grsecurity.net>
2078 Date: Fri Feb 21 12:06:41 2014 -0500
2079
2080 add missing return in the ARM refcount code.
2081
2082 Thanks to Arnaud Fontaine for the report and patch!
2083
2084 arch/arm/include/asm/atomic.h | 2 ++
2085 1 files changed, 2 insertions(+), 0 deletions(-)
2086
2087 commit 5eecd26548fa8462296745eedf66858bf83532c9
2088 Merge: d32875c 1ea0c4a
2089 Author: Brad Spengler <spender@grsecurity.net>
2090 Date: Thu Feb 20 21:39:25 2014 -0500
2091
2092 Merge branch 'pax-test' into grsec-test
2093
2094 commit 1ea0c4ab7114838fb5f7b320c5c4bee6269c2f99
2095 Author: Brad Spengler <spender@grsecurity.net>
2096 Date: Thu Feb 20 21:39:02 2014 -0500
2097
2098 Update to pax-linux-3.13.4-test10.patch
2099
2100 tools/gcc/latent_entropy_plugin.c | 10 +++++-----
2101 1 files changed, 5 insertions(+), 5 deletions(-)
2102
2103 commit d32875ccf8800fd9b458907fbd9f08e74847012b
2104 Author: Brad Spengler <spender@grsecurity.net>
2105 Date: Thu Feb 20 18:42:11 2014 -0500
2106
2107 work around pipacs' latent_entropy plugin
2108
2109 tools/gcc/randomize_layout_plugin.c | 6 +++++-
2110 1 files changed, 5 insertions(+), 1 deletions(-)
2111
2112 commit 91ea54c68a7f728341371d3ca8c6208acc885706
2113 Author: Brad Spengler <spender@grsecurity.net>
2114 Date: Thu Feb 20 17:57:36 2014 -0500
2115
2116 .data takes the address of the ints, not their values
2117
2118 net/core/neighbour.c | 8 ++++----
2119 1 files changed, 4 insertions(+), 4 deletions(-)
2120
2121 commit bc41258c48ca6acae51d191e914556ab37ca7c92
2122 Merge: 3051292 0ce19d4
2123 Author: Brad Spengler <spender@grsecurity.net>
2124 Date: Thu Feb 20 17:45:07 2014 -0500
2125
2126 Merge branch 'pax-test' into grsec-test
2127
2128 Conflicts:
2129 include/linux/compiler-gcc4.h
2130
2131 commit 0ce19d411496f0ab77a86c1c5091b909fd720665
2132 Author: Brad Spengler <spender@grsecurity.net>
2133 Date: Thu Feb 20 17:43:26 2014 -0500
2134
2135 Update to pax-linux-3.13.4-test10.patch:
2136 - fixed asm goto for all gcc versions, backport from upstream (https://git.kernel.org/linus/a9f180345f5378ac87)
2137 - fixed a size overflow false positive in the ELF loader (needs a non-0 based PIE to trigger), reported by spender
2138 - the latent entropy plugin will now insert some entropy at compile time into the random pools
2139
2140 drivers/char/random.c | 6 +-
2141 fs/binfmt_elf.c | 2 +-
2142 include/linux/compiler-gcc4.h | 4 --
2143 tools/gcc/gcc-common.h | 10 ++++-
2144 tools/gcc/latent_entropy_plugin.c | 84 +++++++++++++++++++++++++++++++++----
2145 tools/gcc/stackleak_plugin.c | 5 +-
2146 6 files changed, 90 insertions(+), 21 deletions(-)
2147
2148 commit 3051292e84bf30c218e447a105ab898e8c509b44
2149 Merge: 71d207d 8a3ecf6
2150 Author: Brad Spengler <spender@grsecurity.net>
2151 Date: Thu Feb 20 17:19:54 2014 -0500
2152
2153 Merge branch 'pax-test' into grsec-test
2154
2155 commit 8a3ecf6d2b7e6304d259608e77a7259daeeeab9b
2156 Merge: 98242db 93ee5dc
2157 Author: Brad Spengler <spender@grsecurity.net>
2158 Date: Thu Feb 20 17:17:30 2014 -0500
2159
2160 Merge branch 'linux-3.13.y' into pax-test
2161
2162 commit 71d207d2df0cc95b1cf26d1499317d5b010c4033
2163 Author: Brad Spengler <spender@grsecurity.net>
2164 Date: Thu Feb 20 16:59:26 2014 -0500
2165
2166 Fix a 16+ year old hack in Linux that exposed itself when RANDSTRUCT was
2167 enabled, reported by jacekalex on the forums
2168
2169 include/net/neighbour.h | 1 -
2170 net/core/neighbour.c | 9 +++++----
2171 2 files changed, 5 insertions(+), 5 deletions(-)
2172
2173 commit 6d3beec0d1c79dfad2ba060c4d06ebf65ce39d15
2174 Author: Brad Spengler <spender@grsecurity.net>
2175 Date: Wed Feb 19 22:01:38 2014 -0500
2176
2177 Backport CIFS vuln fix: http://article.gmane.org/gmane.linux.kernel.cifs/9401
2178
2179 fs/cifs/file.c | 37 ++++++++++++++++++++++++++++++++++---
2180 1 files changed, 34 insertions(+), 3 deletions(-)
2181
2182 commit 20eb03803ea2fea3f8c420b69097058122de32f6
2183 Author: Trond Myklebust <trond.myklebust@primarydata.com>
2184 Date: Tue Feb 11 09:15:54 2014 -0500
2185
2186 Upstream commit: 06ea0bfe6e6043cb56a78935a19f6f8ebc636226
2187
2188 SUNRPC: Fix races in xs_nospace()
2189
2190 When a send failure occurs due to the socket being out of buffer space,
2191 we call xs_nospace() in order to have the RPC task wait until the
2192 socket has drained enough to make it worth while trying again.
2193 The current patch fixes a race in which the socket is drained before
2194 we get round to setting up the machinery in xs_nospace(), and which
2195 is reported to cause hangs.
2196
2197 Link: http://lkml.kernel.org/r/20140210170315.33dfc621@notabene.brown
2198 Fixes: a9a6b52ee1ba (SUNRPC: Don't start the retransmission timer...)
2199 Reported-by: Neil Brown <neilb@suse.com>
2200 Cc: stable@vger.kernel.org
2201 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2202
2203 net/sunrpc/xprtsock.c | 6 +++++-
2204 1 files changed, 5 insertions(+), 1 deletions(-)
2205
2206 commit 9fff690287df8c389126420e1dab2608ddb4be75
2207 Author: Trond Myklebust <trond.myklebust@primarydata.com>
2208 Date: Tue Feb 11 13:56:54 2014 -0500
2209
2210 Upstream commit: 628356791b04ea988fee070f66a748a823d001bb
2211
2212 SUNRPC: Fix potential memory scribble in xprt_free_bc_request()
2213
2214 The call to xprt_free_allocation() will call list_del() on
2215 req->rq_bc_pa_list, which is not attached to a list.
2216 This patch moves the list_del() out of xprt_free_allocation()
2217 and into those callers that need it.
2218
2219 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2220
2221 net/sunrpc/backchannel_rqst.c | 6 ++++--
2222 1 files changed, 4 insertions(+), 2 deletions(-)
2223
2224 commit 5382ae56cf22adf34d2dd9da03b3a44af0c846f1
2225 Author: Trond Myklebust <trond.myklebust@primarydata.com>
2226 Date: Sun Feb 16 12:14:13 2014 -0500
2227
2228 Upstream commit: 9eb2ddb48ce3a7bd745c14a933112994647fa3cd
2229
2230 SUNRPC: Ensure that gss_auth isn't freed before its upcall messages
2231
2232 Fix a race in which the RPC client is shutting down while the
2233 gss daemon is processing a downcall. If the RPC client manages to
2234 shut down before the gss daemon is done, then the struct gss_auth
2235 used in gss_release_msg() may have already been freed.
2236
2237 Link: http://lkml.kernel.org/r/1392494917.71728.YahooMailNeo@web140002.mail.bf1.yahoo.com
2238 Reported-by: John <da_audiophile@yahoo.com>
2239 Reported-by: Borislav Petkov <bp@alien8.de>
2240 Cc: stable@vger.kernel.org # 3.12+
2241 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2242
2243 net/sunrpc/auth_gss/auth_gss.c | 13 +++++++++++--
2244 1 files changed, 11 insertions(+), 2 deletions(-)
2245
2246 commit 76e2d40cfc26bc44ba2ff4604c1f0ff4821ec13b
2247 Author: Trond Myklebust <trond.myklebust@primarydata.com>
2248 Date: Sun Feb 16 13:28:01 2014 -0500
2249
2250 Upstream commit: e9776d0f4adee8877145672f6416b06b57f2dc27
2251
2252 SUNRPC: Fix a pipe_version reference leak
2253
2254 In gss_alloc_msg(), if the call to gss_encode_v1_msg() fails, we
2255 want to release the reference to the pipe_version that was obtained
2256 earlier in the function.
2257
2258 Fixes: 9d3a2260f0f4b (SUNRPC: Fix buffer overflow checking in...)
2259 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2260
2261 net/sunrpc/auth_gss/auth_gss.c | 4 +++-
2262 1 files changed, 3 insertions(+), 1 deletions(-)
2263
2264 commit 715c3e4109210d090282b360463aa474c978dcf5
2265 Author: Christoffer Dall <christoffer.dall@linaro.org>
2266 Date: Sun Feb 2 22:21:31 2014 +0100
2267
2268 Upstream commit: 4d9c5b89cf3605bbc39c6e274351ff25f0d83e6a
2269
2270 ARM: 7950/1: mm: Fix stage-2 device memory attributes
2271
2272 The stage-2 memory attributes are distinct from the Hyp memory
2273 attributes and the Stage-1 memory attributes. We were using the stage-1
2274 memory attributes for stage-2 mappings causing device mappings to be
2275 mapped as normal memory. Add the S2 equivalent defines for memory
2276 attributes and fix the comments explaining the defines while at it.
2277
2278 Add a prot_pte_s2 field to the mem_type struct and fill out the field
2279 for device mappings accordingly.
2280
2281 Cc: <stable@vger.kernel.org> [3.9+]
2282 Acked-by: Marc Zyngier <marc.zyngier@arm.com>
2283 Acked-by: Catalin Marinas <catalin.marinas@arm.com>
2284 Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2285 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2286
2287 Conflicts:
2288
2289 arch/arm/mm/mmu.c
2290
2291 arch/arm/include/asm/pgtable-3level.h | 15 +++++++++------
2292 arch/arm/mm/mm.h | 1 +
2293 arch/arm/mm/mmu.c | 7 ++++++-
2294 3 files changed, 16 insertions(+), 7 deletions(-)
2295
2296 commit 49f25f2842b5e567ca45d5648460ad7cfd2af7ab
2297 Author: Will Deacon <will.deacon@arm.com>
2298 Date: Fri Feb 7 19:12:20 2014 +0100
2299
2300 Upstream commit: bae0ca2bc550d1ec6a118fb8f2696f18c4da3d8e
2301
2302 ARM: 7953/1: mm: ensure TLB invalidation is complete before enabling MMU
2303
2304 During __v{6,7}_setup, we invalidate the TLBs since we are about to
2305 enable the MMU on return to head.S. Unfortunately, without a subsequent
2306 dsb instruction, the invalidation is not guaranteed to have completed by
2307 the time we write to the sctlr, potentially exposing us to junk/stale
2308 translations cached in the TLB.
2309
2310 This patch reworks the init functions so that the dsb used to ensure
2311 completion of cache/predictor maintenance is also used to ensure
2312 completion of the TLB invalidation.
2313
2314 Cc: <stable@vger.kernel.org>
2315 Reported-by: Albin Tonnerre <Albin.Tonnerre@arm.com>
2316 Signed-off-by: Will Deacon <will.deacon@arm.com>
2317 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2318
2319 arch/arm/mm/proc-v6.S | 3 ++-
2320 arch/arm/mm/proc-v7.S | 2 +-
2321 2 files changed, 3 insertions(+), 2 deletions(-)
2322
2323 commit fa4b67556529451bd4489b07472f58feec35d51d
2324 Author: Will Deacon <will.deacon@arm.com>
2325 Date: Fri Feb 7 19:12:32 2014 +0100
2326
2327 Upstream commit: 7c8746a9eb287642deaad0e7c2cdf482dce5e4be
2328
2329 ARM: 7955/1: spinlock: ensure we have a compiler barrier before sev
2330
2331 When unlocking a spinlock, we require the following, strictly ordered
2332 sequence of events:
2333
2334 <barrier> /* dmb */
2335 <unlock>
2336 <barrier> /* dsb */
2337 <sev>
2338
2339 Whilst the code does indeed reflect this in terms of the architecture,
2340 the final <barrier> + <sev> have been contracted into a single inline
2341 asm without a "memory" clobber, therefore the compiler is at liberty to
2342 reorder the unlock to the end of the above sequence. In such a case,
2343 a waiting CPU may be woken up before the lock has been unlocked, leading
2344 to extremely poor performance.
2345
2346 This patch reworks the dsb_sev() function to make use of the dsb()
2347 macro and ensure ordering against the unlock.
2348
2349 Cc: <stable@vger.kernel.org>
2350 Reported-by: Mark Rutland <mark.rutland@arm.com>
2351 Signed-off-by: Will Deacon <will.deacon@arm.com>
2352 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2353
2354 arch/arm/include/asm/spinlock.h | 15 +++------------
2355 1 files changed, 3 insertions(+), 12 deletions(-)
2356
2357 commit f3efaba9e0a1d5d96fc0783ae8ec8e733e113bfa
2358 Author: Russell King <rmk+kernel@arm.linux.org.uk>
2359 Date: Tue Feb 11 17:11:04 2014 +0000
2360
2361 Upstream commit: e83b366487b5582274374f8226e489cb214ae5a6
2362
2363 Fix uses of dma_max_pfn() when converting to a limiting address
2364
2365 We must use a 64-bit for this, otherwise overflowed bits get lost, and
2366 that can result in a lower than intended value set.
2367
2368 Fixes: 8e0cb8a1f6ac ("ARM: 7797/1: mmc: Use dma_max_pfn(dev) helper for bounce_limit calculations")
2369 Fixes: 7d35496dd982 ("ARM: 7796/1: scsi: Use dma_max_pfn(dev) helper for bounce_limit calculations")
2370 Tested-Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2371 Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
2372 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2373
2374 drivers/mmc/card/queue.c | 2 +-
2375 drivers/scsi/scsi_lib.c | 2 +-
2376 2 files changed, 2 insertions(+), 2 deletions(-)
2377
2378 commit 5a3e8a10d439ba8bcd893bf2159618908fe80384
2379 Author: Vinayak Kale <vkale@apm.com>
2380 Date: Wed Feb 12 07:30:01 2014 +0100
2381
2382 Upstream commit: 39544ac9df20f73e49fc6b9ac19ff533388c82c0
2383
2384 ARM: 7957/1: add DSB after icache flush in __flush_icache_all()
2385
2386 Add DSB after icache flush to complete the cache maintenance operation.
2387
2388 Signed-off-by: Vinayak Kale <vkale@apm.com>
2389 Acked-by: Catalin Marinas <catalin.marinas@arm.com>
2390 Cc: <stable@vger.kernel.org>
2391 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2392
2393 arch/arm/include/asm/cacheflush.h | 1 +
2394 1 files changed, 1 insertions(+), 0 deletions(-)
2395
2396 commit 26d22a6946dfbb4f4a760038816c43ba49504863
2397 Author: Linus Torvalds <torvalds@linux-foundation.org>
2398 Date: Mon Feb 17 12:24:45 2014 -0800
2399
2400 Upstream commit: e4178d809fdaee32a56833fff1f5056c99e90a1a
2401
2402 printk: fix syslog() overflowing user buffer
2403
2404 This is not a buffer overflow in the traditional sense: we don't
2405 overflow any *kernel* buffers, but we do mis-count the amount of data we
2406 copy back to user space for the SYSLOG_ACTION_READ_ALL case.
2407
2408 In particular, if the user buffer is too small to hold everything, and
2409 *if* there is a continuation line at just the right place, we can end up
2410 giving the user more data than he asked for.
2411
2412 The reason is that we first count up the number of bytes all the log
2413 records contains, then we walk the records again until we've skipped the
2414 records at the beginning that won't fit, and then we walk the rest of
2415 the records and copy them to the user space buffer.
2416
2417 And in between that "skip the initial records that won't fit" and the
2418 "copy the records that *will* fit to user space", we reset the 'prev'
2419 variable that contained the record information for the last record not
2420 copied. That meant that when we started copying to user space, we now
2421 had a different character count than what we had originally calculated
2422 in the first record walk-through.
2423
2424 The fix is to simply not clear the 'prev' flags value (in both cases
2425 where we had the same logic: syslog_print_all and kmsg_dump_get_buffer:
2426 the latter is used for pstore-like dumping)
2427
2428 Reported-and-tested-by: Debabrata Banerjee <dbanerje@akamai.com>
2429 Acked-by: Kay Sievers <kay@vrfy.org>
2430 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2431 Cc: Jeff Mahoney <jeffm@suse.com>
2432 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2433
2434 kernel/printk/printk.c | 2 --
2435 1 files changed, 0 insertions(+), 2 deletions(-)
2436
2437 commit 88d5fdac3aa7813d963ab5a3325c2f15c36c97cf
2438 Author: Rafael Aquini <aquini@redhat.com>
2439 Date: Mon Feb 10 14:25:48 2014 -0800
2440
2441 Upstream commit: a0b54adda3fe4b4cc6d28f2a9217cd35d1aa888c
2442
2443 mm: fix page leak at nfs_symlink()
2444
2445 Changes in commit a0b8cab3b9b2 ("mm: remove lru parameter from
2446 __pagevec_lru_add and remove parts of pagevec API") have introduced a
2447 call to add_to_page_cache_lru() which causes a leak in nfs_symlink() as
2448 now the page gets an extra refcount that is not dropped.
2449
2450 Jan Stancek observed and reported the leak effect while running test8
2451 from Connectathon Testsuite. After several iterations over the test
2452 case, which creates several symlinks on a NFS mountpoint, the test
2453 system was quickly getting into an out-of-memory scenario.
2454
2455 This patch fixes the page leak by dropping that extra refcount
2456 add_to_page_cache_lru() is grabbing.
2457
2458 Signed-off-by: Jan Stancek <jstancek@redhat.com>
2459 Signed-off-by: Rafael Aquini <aquini@redhat.com>
2460 Acked-by: Mel Gorman <mgorman@suse.de>
2461 Acked-by: Rik van Riel <riel@redhat.com>
2462 Cc: Jeff Layton <jlayton@redhat.com>
2463 Cc: Trond Myklebust <trond.myklebust@primarydata.com>
2464 Cc: <stable@vger.kernel.org> [3.11.x+]
2465 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2466 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2467
2468 fs/nfs/dir.c | 5 +++++
2469 1 files changed, 5 insertions(+), 0 deletions(-)
2470
2471 commit bf53635ba34d0ef231a89dd30aa9954b0fa3d87b
2472 Author: Dan Carpenter <dan.carpenter@oracle.com>
2473 Date: Mon Feb 17 20:33:01 2014 -0500
2474
2475 Upstream commit: 92e3b40537707001d17bbad800d150ab04e53bf4
2476
2477 jbd2: fix use after free in jbd2_journal_start_reserved()
2478
2479 If start_this_handle() fails then it leads to a use after free of
2480 "handle".
2481
2482 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
2483 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2484 Cc: stable@vger.kernel.org
2485
2486 fs/jbd2/transaction.c | 6 ++++--
2487 1 files changed, 4 insertions(+), 2 deletions(-)
2488
2489 commit 7eb9d6b170b2d83e9a59d8d5e9c3eaec76b3e1a2
2490 Author: Theodore Ts'o <tytso@mit.edu>
2491 Date: Sat Feb 15 22:42:25 2014 -0500
2492
2493 Upstream commit: 3d2660d0c9c2f296837078c189b68a47f6b2e3b5
2494
2495 ext4: fix online resize with a non-standard blocks per group setting
2496
2497 The set_flexbg_block_bitmap() function assumed that the number of
2498 blocks in a blockgroup was sb->blocksize * 8, which is normally true,
2499 but not always! Use EXT4_BLOCKS_PER_GROUP(sb) instead, to fix block
2500 bitmap corruption after:
2501
2502 mke2fs -t ext4 -g 3072 -i 4096 /dev/vdd 1G
2503 mount -t ext4 /dev/vdd /vdd
2504 resize2fs /dev/vdd 8G
2505
2506 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2507 Reported-by: Jon Bernard <jbernard@tuxion.com>
2508 Cc: stable@vger.kernel.org
2509
2510 fs/ext4/resize.c | 2 +-
2511 1 files changed, 1 insertions(+), 1 deletions(-)
2512
2513 commit 588500229af3505116b0fe05c4e54a06cabd64e4
2514 Author: Theodore Ts'o <tytso@mit.edu>
2515 Date: Sat Feb 15 21:33:13 2014 -0500
2516
2517 Upstream commit: b93c95353413041a8cebad915a8109619f66bcc6
2518
2519 ext4: fix online resize with very large inode tables
2520
2521 If a file system has a large number of inodes per block group, all of
2522 the metadata blocks in a flex_bg may be larger than what can fit in a
2523 single block group. Unfortunately, ext4_alloc_group_tables() in
2524 resize.c was never tested to see if it would handle this case
2525 correctly, and there were a large number of bugs which caused the
2526 following sequence to result in a BUG_ON:
2527
2528 kernel bug at fs/ext4/resize.c:409!
2529 ...
2530 call trace:
2531 [<ffffffff81256768>] ext4_flex_group_add+0x1448/0x1830
2532 [<ffffffff81257de2>] ext4_resize_fs+0x7b2/0xe80
2533 [<ffffffff8123ac50>] ext4_ioctl+0xbf0/0xf00
2534 [<ffffffff811c111d>] do_vfs_ioctl+0x2dd/0x4b0
2535 [<ffffffff811b9df2>] ? final_putname+0x22/0x50
2536 [<ffffffff811c1371>] sys_ioctl+0x81/0xa0
2537 [<ffffffff81676aa9>] system_call_fastpath+0x16/0x1b
2538 code: c8 4c 89 df e8 41 96 f8 ff 44 89 e8 49 01 c4 44 29 6d d4 0
2539 rip [<ffffffff81254fa1>] set_flexbg_block_bitmap+0x171/0x180
2540
2541 This can be reproduced with the following command sequence:
2542
2543 mke2fs -t ext4 -i 4096 /dev/vdd 1G
2544 mount -t ext4 /dev/vdd /vdd
2545 resize2fs /dev/vdd 8G
2546
2547 To fix this, we need to make sure the right thing happens when a block
2548 group's inode table straddles two block groups, which means the
2549 following bugs had to be fixed:
2550
2551 1) Not clearing the BLOCK_UNINIT flag in the second block group in
2552 ext4_alloc_group_tables --- the was proximate cause of the BUG_ON.
2553
2554 2) Incorrectly determining how many block groups contained contiguous
2555 free blocks in ext4_alloc_group_tables().
2556
2557 3) Incorrectly setting the start of the next block range to be marked
2558 in use after a discontinuity in setup_new_flex_group_blocks().
2559
2560 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2561 Cc: stable@vger.kernel.org
2562
2563 fs/ext4/resize.c | 32 ++++++++++++++++++++------------
2564 1 files changed, 20 insertions(+), 12 deletions(-)
2565
2566 commit dfb5654f8a9946e06f67d0481c907fa9ae4c6b04
2567 Author: Theodore Ts'o <tytso@mit.edu>
2568 Date: Wed Feb 12 12:16:04 2014 -0500
2569
2570 Upstream commit: 23301410972330c0ae9a8afc379ba2005e249cc6
2571
2572 ext4: don't try to modify s_flags if the the file system is read-only
2573
2574 If an ext4 file system is created by some tool other than mke2fs
2575 (perhaps by someone who has a pathalogical fear of the GPL) that
2576 doesn't set one or the other of the EXT2_FLAGS_{UN}SIGNED_HASH flags,
2577 and that file system is then mounted read-only, don't try to modify
2578 the s_flags field. Otherwise, if dm_verity is in use, the superblock
2579 will change, causing an dm_verity failure.
2580
2581 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2582 Cc: stable@vger.kernel.org
2583
2584 fs/ext4/super.c | 20 +++++++++++++-------
2585 1 files changed, 13 insertions(+), 7 deletions(-)
2586
2587 commit d2a631f973d3cff9a1c015cb64b08bb9cc52de8b
2588 Author: Eric Whitney <enwlinux@gmail.com>
2589 Date: Wed Feb 12 10:42:45 2014 -0500
2590
2591 Upstream commit: 15cc17678547676c82a5da9ccf357447333fc342
2592
2593 ext4: fix xfstest generic/299 block validity failures
2594
2595 Commit a115f749c1 (ext4: remove wait for unwritten extent conversion from
2596 ext4_truncate) exposed a bug in ext4_ext_handle_uninitialized_extents().
2597 It can be triggered by xfstest generic/299 when run on a test file
2598 system created without a journal. This test continuously fallocates and
2599 truncates files to which random dio/aio writes are simultaneously
2600 performed by a separate process. The test completes successfully, but
2601 if the test filesystem is mounted with the block_validity option, a
2602 warning message stating that a logical block has been mapped to an
2603 illegal physical block is posted in the kernel log.
2604
2605 The bug occurs when an extent is being converted to the written state
2606 by ext4_end_io_dio() and ext4_ext_handle_uninitialized_extents()
2607 discovers a mapping for an existing uninitialized extent. Although it
2608 sets EXT4_MAP_MAPPED in map->m_flags, it fails to set map->m_pblk to
2609 the discovered physical block number. Because map->m_pblk is not
2610 otherwise initialized or set by this function or its callers, its
2611 uninitialized value is returned to ext4_map_blocks(), where it is
2612 stored as a bogus mapping in the extent status tree.
2613
2614 Since map->m_pblk can accidentally contain illegal values that are
2615 larger than the physical size of the file system, calls to
2616 check_block_validity() in ext4_map_blocks() that are enabled if the
2617 block_validity mount option is used can fail, resulting in the logged
2618 warning message.
2619
2620 Signed-off-by: Eric Whitney <enwlinux@gmail.com>
2621 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2622 Cc: stable@vger.kernel.org # 3.11+
2623
2624 fs/ext4/extents.c | 1 +
2625 1 files changed, 1 insertions(+), 0 deletions(-)
2626
2627 commit 7eb52392ee886f01a5c944f35fbe95edc2169877
2628 Author: Zheng Liu <wenqing.lz@taobao.com>
2629 Date: Wed Feb 12 11:48:31 2014 -0500
2630
2631 Upstream commit: 30d29b119ef01776e0a301444ab24defe8d8bef3
2632
2633 ext4: fix error paths in swap_inode_boot_loader()
2634
2635 In swap_inode_boot_loader() we forgot to release ->i_mutex and resume
2636 unlocked dio for inode and inode_bl if there is an error starting the
2637 journal handle. This commit fixes this issue.
2638
2639 Reported-by: Ahmed Tamrawi <ahmedtamrawi@gmail.com>
2640 Cc: Andreas Dilger <adilger.kernel@dilger.ca>
2641 Cc: Dr. Tilmann Bubeck <t.bubeck@reinform.de>
2642 Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
2643 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2644 Cc: stable@vger.kernel.org # v3.10+
2645
2646 fs/ext4/ioctl.c | 3 ++-
2647 1 files changed, 2 insertions(+), 1 deletions(-)
2648
2649 commit 4dc90c1991032c483b11690717ba07952f4fef07
2650 Author: Theodore Ts'o <tytso@mit.edu>
2651 Date: Sun Feb 16 19:29:32 2014 -0500
2652
2653 Upstream commit: 19ea80603715d473600cd993b9987bc97d042e02
2654
2655 ext4: don't leave i_crtime.tv_sec uninitialized
2656
2657 If the i_crtime field is not present in the inode, don't leave the
2658 field uninitialized.
2659
2660 Fixes: ef7f38359 ("ext4: Add nanosecond timestamps")
2661 Reported-by: Vegard Nossum <vegard.nossum@oracle.com>
2662 Tested-by: Vegard Nossum <vegard.nossum@oracle.com>
2663 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2664 Cc: stable@vger.kernel.org
2665
2666 fs/ext4/ext4.h | 2 ++
2667 1 files changed, 2 insertions(+), 0 deletions(-)
2668
2669 commit 9d8aa319cfbfdb4bdf7a5d4adc4b93fe028bec12
2670 Author: Brad Spengler <spender@grsecurity.net>
2671 Date: Wed Feb 19 20:39:37 2014 -0500
2672
2673 While a Xen dom0 is technically a guest, it's perceived as a host by many
2674 and there's really no Linux "host" for Xen, so allow PARAVIRT to be
2675 enabled on "host" kernels only when Xen is selected
2676
2677 Thanks to gaima on the forums for the report
2678
2679 Conflicts:
2680
2681 arch/x86/Kconfig
2682
2683 arch/x86/Kconfig | 2 +-
2684 1 files changed, 1 insertions(+), 1 deletions(-)
2685
2686 commit 8ef15c34cb044db1ae729a53327e5b848631fbee
2687 Author: Petr Písař <petr.pisar@atlas.cz>
2688 Date: Thu Feb 6 21:01:23 2014 +0100
2689
2690 Upstream commit: 0930b0950a8996aa88b0d2ba4bb2bab27cc36bc7
2691
2692 vt: Fix secure clear screen
2693
2694 \E[3J console code (secure clear screen) needs to update_screen(vc)
2695 in order to write-through blanks into off-screen video memory.
2696
2697 This has been removed accidentally in 3.6 by:
2698
2699 commit 81732c3b2fede049a692e58a7ceabb6d18ffb18c
2700 Author: Jean-François Moine <moinejf@free.fr>
2701 Date: Thu Sep 6 19:24:13 2012 +0200
2702
2703 tty vt: Fix line garbage in virtual console on command line edition
2704
2705 Signed-off-by: Petr Písař <petr.pisar@atlas.cz>
2706 Cc: stable <stable@vger.kernel.org> # 3.6
2707 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2708
2709 drivers/tty/vt/vt.c | 2 ++
2710 1 files changed, 2 insertions(+), 0 deletions(-)
2711
2712 commit 8568da92bd738464772c24fd68a9b300d22985b5
2713 Author: H. Peter Anvin <hpa@linux.intel.com>
2714 Date: Thu Feb 13 07:46:04 2014 -0800
2715
2716 Upstream commit: 4640c7ee9b8953237d05a61ea3ea93981d1bc961
2717
2718 x86, smap: smap_violation() is bogus if CONFIG_X86_SMAP is off
2719
2720 If CONFIG_X86_SMAP is disabled, smap_violation() tests for conditions
2721 which are incorrect (as the AC flag doesn't matter), causing spurious
2722 faults.
2723
2724 The dynamic disabling of SMAP (nosmap on the command line) is fine
2725 because it disables X86_FEATURE_SMAP, therefore causing the
2726 static_cpu_has() to return false.
2727
2728 Found by Fengguang Wu's test system.
2729
2730 [ v3: move all predicates into smap_violation() ]
2731 [ v2: use IS_ENABLED() instead of #ifdef ]
2732
2733 Reported-by: Fengguang Wu <fengguang.wu@intel.com>
2734 Link: http://lkml.kernel.org/r/20140213124550.GA30497@localhost
2735 Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2736 Cc: <stable@vger.kernel.org> # v3.7+
2737
2738 arch/x86/mm/fault.c | 14 +++++++++-----
2739 1 files changed, 9 insertions(+), 5 deletions(-)
2740
2741 commit dc68abaa1208e66be3bc07eb57855d4ab413373c
2742 Author: H. Peter Anvin <hpa@linux.intel.com>
2743 Date: Thu Feb 13 07:34:30 2014 -0800
2744
2745 Upstream commit: 03bbd596ac04fef47ce93a730b8f086d797c3021
2746
2747 x86, smap: Don't enable SMAP if CONFIG_X86_SMAP is disabled
2748
2749 If SMAP support is not compiled into the kernel, don't enable SMAP in
2750 CR4 -- in fact, we should clear it, because the kernel doesn't contain
2751 the proper STAC/CLAC instructions for SMAP support.
2752
2753 Found by Fengguang Wu's test system.
2754
2755 Reported-by: Fengguang Wu <fengguang.wu@intel.com>
2756 Link: http://lkml.kernel.org/r/20140213124550.GA30497@localhost
2757 Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2758 Cc: <stable@vger.kernel.org> # v3.7+
2759
2760 arch/x86/kernel/cpu/common.c | 7 ++++++-
2761 1 files changed, 6 insertions(+), 1 deletions(-)
2762
2763 commit 6d804df770568f2d41f36cc446dc2c4b9ddbdc66
2764 Author: Steven Noonan <steven@uplinklabs.net>
2765 Date: Wed Feb 12 23:01:07 2014 -0800
2766
2767 Upstream commit: a9f180345f5378ac87d80ed0bea55ba421d83859
2768
2769 compiler/gcc4: Make quirk for asm_volatile_goto() unconditional
2770
2771 I started noticing problems with KVM guest destruction on Linux
2772 3.12+, where guest memory wasn't being cleaned up. I bisected it
2773 down to the commit introducing the new 'asm goto'-based atomics,
2774 and found this quirk was later applied to those.
2775
2776 Unfortunately, even with GCC 4.8.2 (which ostensibly fixed the
2777 known 'asm goto' bug) I am still getting some kind of
2778 miscompilation. If I enable the asm_volatile_goto quirk for my
2779 compiler, KVM guests are destroyed correctly and the memory is
2780 cleaned up.
2781
2782 So make the quirk unconditional for now, until bug is found
2783 and fixed.
2784
2785 Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
2786 Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2787 Cc: Peter Zijlstra <peterz@infradead.org>
2788 Cc: Steven Rostedt <rostedt@goodmis.org>
2789 Cc: Jakub Jelinek <jakub@redhat.com>
2790 Cc: Richard Henderson <rth@twiddle.net>
2791 Cc: Andrew Morton <akpm@linux-foundation.org>
2792 Cc: Oleg Nesterov <oleg@redhat.com>
2793 Cc: <stable@vger.kernel.org>
2794 Link: http://lkml.kernel.org/r/1392274867-15236-1-git-send-email-steven@uplinklabs.net
2795 Link: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
2796 Signed-off-by: Ingo Molnar <mingo@kernel.org>
2797
2798 include/linux/compiler-gcc4.h | 6 +-----
2799 1 files changed, 1 insertions(+), 5 deletions(-)
2800
2801 commit df681ad2079c8b443dd98a66daa49a96f6803118
2802 Author: Brad Spengler <spender@grsecurity.net>
2803 Date: Sat Feb 15 14:43:58 2014 -0500
2804
2805 add note on how to disable rate limiting on log messages
2806
2807 grsecurity/Kconfig | 6 ++++++
2808 1 files changed, 6 insertions(+), 0 deletions(-)
2809
2810 commit 247661801d1a9904eac479770aac8c31adfb3a03
2811 Merge: 294e38e 98242db
2812 Author: Brad Spengler <spender@grsecurity.net>
2813 Date: Thu Feb 13 20:17:09 2014 -0500
2814
2815 Merge branch 'pax-test' into grsec-test
2816
2817 commit 98242dba193affafa9996207af8aaee0a58e237c
2818 Author: Brad Spengler <spender@grsecurity.net>
2819 Date: Thu Feb 13 20:16:39 2014 -0500
2820
2821 Update to pax-linux-3.13.3-test9.patch:
2822 - forward port to 3.13.3
2823 - updated hash table from Emese, missing entries reported by Adam Chyła and Matthew Thode
2824
2825 kernel/sched/core.c | 2 +-
2826 kernel/trace/ftrace.c | 8 ++++----
2827 tools/gcc/size_overflow_hash.data | 6 ++++++
2828 3 files changed, 11 insertions(+), 5 deletions(-)
2829
2830 commit 294e38ee2ac097654f11df09cfe8c5584a573b6c
2831 Merge: d1fd1fc 990a904
2832 Author: Brad Spengler <spender@grsecurity.net>
2833 Date: Thu Feb 13 18:11:12 2014 -0500
2834
2835 Merge branch 'pax-test' into grsec-test
2836
2837 commit 990a9041b296c2afe56f7c5ff4bb2e2e0ed6298f
2838 Merge: d32ab3c 7955a48
2839 Author: Brad Spengler <spender@grsecurity.net>
2840 Date: Thu Feb 13 18:11:01 2014 -0500
2841
2842 Merge branch 'linux-3.13.y' into pax-test
2843
2844 Conflicts:
2845 kernel/trace/ftrace.c
2846
2847 commit d1fd1fc0d4c9d07cd6f2f2dad040db0f1c433b5d
2848 Author: Brad Spengler <spender@grsecurity.net>
2849 Date: Thu Feb 13 16:50:39 2014 -0500
2850
2851 Force off all virtualization guest options if the autoconfig choice
2852 was not for the kernel to be used for vm guests
2853 likewise force off Xen if it wasn't mentioned in the autoconfig
2854
2855 arch/x86/Kconfig | 1 +
2856 arch/x86/xen/Kconfig | 1 +
2857 2 files changed, 2 insertions(+), 0 deletions(-)
2858
2859 commit 6f7fd76856916bda9145d3fb89b3462b18630c75
2860 Merge: 32aa9fa d32ab3c
2861 Author: Brad Spengler <spender@grsecurity.net>
2862 Date: Thu Feb 13 15:25:21 2014 -0500
2863
2864 Merge branch 'pax-test' into grsec-test
2865
2866 commit d32ab3c04e157fd34738846fc1cbdbed5eab1147
2867 Author: Brad Spengler <spender@grsecurity.net>
2868 Date: Thu Feb 13 15:24:57 2014 -0500
2869
2870 Update to pax-linux-3.13.2-test9.patch:
2871 - fixed some gcc plugins to work in low-memory environments as well, reported by many, big thanks to niv <n@e-ix.net> for help
2872
2873 tools/gcc/Makefile | 2 +-
2874 tools/gcc/latent_entropy_plugin.c | 18 +++++++++--
2875 tools/gcc/size_overflow_plugin.c | 19 +++++++++--
2876 tools/gcc/stackleak_plugin.c | 58 ++++++++++++++++++++++++++++--------
2877 4 files changed, 76 insertions(+), 21 deletions(-)
2878
2879 commit 32aa9fa0174969476774c472226d304f122291a5
2880 Author: Brad Spengler <spender@grsecurity.net>
2881 Date: Thu Feb 13 12:35:16 2014 -0500
2882
2883 add missing header
2884
2885 grsecurity/grsec_mem.c | 1 +
2886 1 files changed, 1 insertions(+), 0 deletions(-)
2887
2888 commit d48d8d3b1b527d8dc7a9162bda44d32608906632
2889 Author: Brad Spengler <spender@grsecurity.net>
2890 Date: Thu Feb 13 12:04:44 2014 -0500
2891
2892 export msr_write logging function and convert all exported symbols to EXPORT_SYMBOL_GPL
2893
2894 Conflicts:
2895
2896 grsecurity/gracl.c
2897 grsecurity/grsec_disabled.c
2898 grsecurity/grsec_exec.c
2899
2900 grsecurity/gracl.c | 8 ++++----
2901 grsecurity/grsec_chroot.c | 2 +-
2902 grsecurity/grsec_disabled.c | 4 ++--
2903 grsecurity/grsec_exec.c | 8 ++++----
2904 grsecurity/grsec_init.c | 2 +-
2905 grsecurity/grsec_mem.c | 1 +
2906 grsecurity/grsec_sock.c | 12 ++++++------
2907 grsecurity/grsec_time.c | 2 +-
2908 8 files changed, 20 insertions(+), 19 deletions(-)
2909
2910 commit 3c05c8568522f6a660debeaacf536a99a0212342
2911 Author: Brad Spengler <spender@grsecurity.net>
2912 Date: Thu Feb 13 11:28:26 2014 -0500
2913
2914 add missing header
2915
2916 arch/x86/kernel/msr.c | 1 +
2917 1 files changed, 1 insertions(+), 0 deletions(-)
2918
2919 commit e68254d468db8b3a28fa549606136fdba9276a75
2920 Author: Brad Spengler <spender@grsecurity.net>
2921 Date: Thu Feb 13 11:12:36 2014 -0500
2922
2923 fix typo
2924
2925 arch/x86/kernel/msr.c | 4 ++--
2926 include/linux/grsecurity.h | 2 +-
2927 2 files changed, 3 insertions(+), 3 deletions(-)
2928
2929 commit 2845d9e8598070db65f7429ecf2ac1803077ed9e
2930 Author: Brad Spengler <spender@grsecurity.net>
2931 Date: Thu Feb 13 10:57:06 2014 -0500
2932
2933 PLUGIN_FINISH_DECL is an enum, so use explicit gcc version checking instead
2934
2935 tools/gcc/randomize_layout_plugin.c | 4 ++--
2936 1 files changed, 2 insertions(+), 2 deletions(-)
2937
2938 commit 1cd63e6169739aa7881796ac74b43b83bdbd8626
2939 Author: Brad Spengler <spender@grsecurity.net>
2940 Date: Thu Feb 13 09:23:29 2014 -0500
2941
2942 Relax MSR restrictions under GRKERNSEC_KMEM, allow MSR reads but not writes. Log all writing attempts.
2943
2944 arch/x86/Kconfig | 1 -
2945 arch/x86/kernel/msr.c | 9 +++++++++
2946 grsecurity/grsec_mem.c | 6 ++++++
2947 include/linux/grmsg.h | 1 +
2948 include/linux/grsecurity.h | 1 +
2949 5 files changed, 17 insertions(+), 1 deletions(-)
2950
2951 commit a750206a1934759fc0da5ab831852a22ce720862
2952 Author: Richard Yao <ryao@gentoo.org>
2953 Date: Sat Feb 8 19:32:01 2014 -0500
2954
2955 Upstream commit: b6f52ae2f0d32387bde2b89883e3b64d88b9bfe8
2956
2957 9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
2958
2959 The 9p-virtio transport does zero copy on things larger than 1024 bytes
2960 in size. It accomplishes this by returning the physical addresses of
2961 pages to the virtio-pci device. At present, the translation is usually a
2962 bit shift.
2963
2964 That approach produces an invalid page address when we read/write to
2965 vmalloc buffers, such as those used for Linux kernel modules. Any
2966 attempt to load a Linux kernel module from 9p-virtio produces the
2967 following stack.
2968
2969 [<ffffffff814878ce>] p9_virtio_zc_request+0x45e/0x510
2970 [<ffffffff814814ed>] p9_client_zc_rpc.constprop.16+0xfd/0x4f0
2971 [<ffffffff814839dd>] p9_client_read+0x15d/0x240
2972 [<ffffffff811c8440>] v9fs_fid_readn+0x50/0xa0
2973 [<ffffffff811c84a0>] v9fs_file_readn+0x10/0x20
2974 [<ffffffff811c84e7>] v9fs_file_read+0x37/0x70
2975 [<ffffffff8114e3fb>] vfs_read+0x9b/0x160
2976 [<ffffffff81153571>] kernel_read+0x41/0x60
2977 [<ffffffff810c83ab>] copy_module_from_fd.isra.34+0xfb/0x180
2978
2979 Subsequently, QEMU will die printing:
2980
2981 qemu-system-x86_64: virtio: trying to map MMIO memory
2982
2983 This patch enables 9p-virtio to correctly handle this case. This not
2984 only enables us to load Linux kernel modules off virtfs, but also
2985 enables ZFS file-based vdevs on virtfs to be used without killing QEMU.
2986
2987 Special thanks to both Avi Kivity and Alexander Graf for their
2988 interpretation of QEMU backtraces. Without their guidence, tracking down
2989 this bug would have taken much longer. Also, special thanks to Linus
2990 Torvalds for his insightful explanation of why this should use
2991 is_vmalloc_addr() instead of is_vmalloc_or_module_addr():
2992
2993 https://lkml.org/lkml/2014/2/8/272
2994
2995 Signed-off-by: Richard Yao <ryao@gentoo.org>
2996 Signed-off-by: David S. Miller <davem@davemloft.net>
2997
2998 net/9p/trans_virtio.c | 5 ++++-
2999 1 files changed, 4 insertions(+), 1 deletions(-)
3000
3001 commit 6f3de18441f63778b664f2815cfc0d2af0d22f4f
3002 Author: Brad Spengler <spender@grsecurity.net>
3003 Date: Thu Feb 13 08:38:14 2014 -0500
3004
3005 rename finish_decl function to fix compat with gcc 4.7.2 that exposed too much of its internals
3006 add a useful compile error if we try building with < gcc 4.6.4
3007
3008 tools/gcc/randomize_layout_plugin.c | 8 ++++++--
3009 1 files changed, 6 insertions(+), 2 deletions(-)
3010
3011 commit 596b24936ed3687455327c3d26a8a820263a1f88
3012 Author: Brad Spengler <spender@grsecurity.net>
3013 Date: Tue Feb 11 17:33:49 2014 -0500
3014
3015 [PATCH] random: fix overflow for big nbits values in credit_entropy_bits()
3016
3017 Commit 30e37ec516ae "random: account for entropy loss due to overwrites"
3018 introduced an overflow in the arithmetics of credit_entropy_bits() when
3019 CONFIG_GRKERNSEC_RANDNET is enabled as the latter quadruples the pool
3020 size and therefore invalidates the assumptions of the "nifty" formula.
3021
3022 Fix the overflow by using 64bit arithmetics.
3023
3024 Reported-by: Torsten Hilbrich <torsten.hilbrich@secunet.com>
3025 Signed-off-by: Mathias Krause <mathias.krause@secunet.com>
3026
3027 This bug is at worst a privileged DoS -- with RANDNET enabled, an admin
3028 with CAP_SYS_ADMIN feeding large amounts of entropy into the pool at once
3029 can cause less than expected entropy to be credited (but this doesn't
3030 affect how much is actually added). For specific buffer sizes, this
3031 can result in 0 entropy being credited and end in a situation in which
3032 the kernel can't recover, causing future reads from /dev/random to stall.
3033
3034 Many thanks to Torsten and Mathias for the report!
3035
3036 drivers/char/random.c | 5 +----
3037 1 files changed, 1 insertions(+), 4 deletions(-)
3038
3039 commit 04f9fc1040b96a623cca444b330a3a96c104d3af
3040 Author: Brad Spengler <spender@grsecurity.net>
3041 Date: Sun Feb 9 11:30:53 2014 -0500
3042
3043 just ignore the seed file, the hash is in a different dir
3044
3045 tools/gcc/.gitignore | 1 -
3046 1 files changed, 0 insertions(+), 1 deletions(-)
3047
3048 commit eaddc3f039b57731d04d90e334cf75c6cdde895d
3049 Author: Brad Spengler <spender@grsecurity.net>
3050 Date: Sun Feb 9 11:27:22 2014 -0500
3051
3052 Don't pass the hashed seed via build commandline, generate a header to include in vermagic.h instead
3053
3054 Documentation/dontdiff | 2 +-
3055 Makefile | 4 +---
3056 include/linux/vermagic.h | 1 +
3057 tools/gcc/.gitignore | 4 ++--
3058 tools/gcc/Makefile | 9 ++++-----
3059 tools/gcc/gen-random-seed.sh | 3 ++-
3060 6 files changed, 11 insertions(+), 12 deletions(-)
3061
3062 commit d3fcb6991a09d163867dd6e7e04ad5675f9c3202
3063 Author: Brad Spengler <spender@grsecurity.net>
3064 Date: Sat Feb 8 22:03:25 2014 -0500
3065
3066 update dontdiff and .gitignore to reflect new seed/hash filenames for RANDSTRUCT
3067
3068 Documentation/dontdiff | 4 ++--
3069 tools/gcc/.gitignore | 4 ++--
3070 2 files changed, 4 insertions(+), 4 deletions(-)
3071
3072 commit 3e96d2ad6f7e3373a978767099f3b3bb12890644
3073 Author: Brad Spengler <spender@grsecurity.net>
3074 Date: Sat Feb 8 20:02:12 2014 -0500
3075
3076 don't divide cputime by HZ as some architectures can't handle this
3077 use proper task_cputime and cputime_to_secs wrappers
3078 Thanks to Michael Tremer for the report
3079
3080 grsecurity/gracl.c | 23 ++++++++++++-----------
3081 1 files changed, 12 insertions(+), 11 deletions(-)
3082
3083 commit bff837da26077ae243118561da6e31e8d2ef83b7
3084 Author: Brad Spengler <spender@grsecurity.net>
3085 Date: Thu Feb 6 21:26:51 2014 -0500
3086
3087 gcc 4.9 update for RANDSTRUCT plugin part 1
3088
3089 tools/gcc/randomize_layout_plugin.c | 7 +------
3090 1 files changed, 1 insertions(+), 6 deletions(-)
3091
3092 commit 58eee46f846245affdc86a1fd057bc7802bfef63
3093 Merge: 954a136 2b56794
3094 Author: Brad Spengler <spender@grsecurity.net>
3095 Date: Thu Feb 6 20:36:18 2014 -0500
3096
3097 Merge branch 'pax-test' into grsec-test
3098
3099 commit 2b56794a375594b35d2984d0950059977624a5ed
3100 Author: Brad Spengler <spender@grsecurity.net>
3101 Date: Thu Feb 6 20:35:40 2014 -0500
3102
3103 Update to pax-linux-3.13.2-test8.patch:
3104 - fixed compile errors on arm due to constification, reported by Michael Tremer <michael.tremer@ipfire.org>
3105 - fixed the PLUGIN_START_UNIT callback names in the latent entropy and size overflow plugins, reported by spender
3106 - added a new header to gcc-common.h, reported by spender
3107 - some useful backports from upstream 3.14:
3108 - debug info for .S: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7db436325db821b400328563ed693b09f8c4c46c
3109 - make v4 -s handling: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=e36aaea28972c57a32a3ba5365e61633739719b9
3110
3111 Makefile | 8 +++++++-
3112 arch/arm/mach-omap2/powerdomains43xx_data.c | 5 ++++-
3113 arch/x86/include/asm/tlbflush.h | 1 -
3114 drivers/gpu/drm/armada/armada_drv.c | 10 +---------
3115 drivers/gpu/drm/tegra/hdmi.c | 2 +-
3116 drivers/misc/eeprom/sunxi_sid.c | 4 +++-
3117 drivers/mmc/host/sdhci-esdhc-imx.c | 7 +++++--
3118 include/drm/drmP.h | 1 +
3119 include/drm/ttm/ttm_page_alloc.h | 1 +
3120 tools/gcc/gcc-common.h | 1 +
3121 10 files changed, 24 insertions(+), 16 deletions(-)
3122
3123 commit 954a136c7f2ce3a76f9a8b148c49614092554b5b
3124 Author: Brad Spengler <spender@grsecurity.net>
3125 Date: Thu Feb 6 20:20:41 2014 -0500
3126
3127 Backport SELinux DoS fix from http://marc.info/?l=selinux&m=139110025203759&w=2
3128
3129 security/selinux/ss/services.c | 4 ++++
3130 1 files changed, 4 insertions(+), 0 deletions(-)
3131
3132 commit a16066ea179a4f15b368cd5003d9c3638aa7f48e
3133 Author: Brad Spengler <spender@grsecurity.net>
3134 Date: Thu Feb 6 20:16:57 2014 -0500
3135
3136 don't pass the seed via build commandline, store it in a header file instead
3137 and build it into the RANDSTRUCT plugin.
3138 set up proper dependencies for the generated files used by the RANDSTRUCT plugin,
3139 fixing some race conditions in the build process
3140 support O= argument to make and place generated files in the target directory tree
3141 update RANDSTRUCT documentation
3142
3143 Makefile | 6 ++----
3144 grsecurity/Kconfig | 2 +-
3145 scripts/gen-random-seed.sh | 8 --------
3146 tools/gcc/Makefile | 10 +++++++++-
3147 tools/gcc/gen-random-seed.sh | 7 +++++++
3148 tools/gcc/randomize_layout_plugin.c | 23 ++++++++---------------
3149 6 files changed, 27 insertions(+), 29 deletions(-)
3150
3151 commit 79cb2972d4d5e61a831e8eae996b286f433afd10
3152 Author: Brad Spengler <spender@grsecurity.net>
3153 Date: Thu Feb 6 18:15:24 2014 -0500
3154
3155 make GRKERNSEC_HIDESYM also protect the target directory specified with the O= arg to 'make'
3156
3157 grsecurity/Makefile | 1 +
3158 1 files changed, 1 insertions(+), 0 deletions(-)
3159
3160 commit 10a483b7ae687f15e3836234175920518ec50fa7
3161 Merge: 95e6c94 5a87ea7
3162 Author: Brad Spengler <spender@grsecurity.net>
3163 Date: Thu Feb 6 17:21:02 2014 -0500
3164
3165 Merge branch 'pax-test' into grsec-test
3166
3167 commit 5a87ea74aab86c3c211612d1ae7cac26694b736d
3168 Merge: 1554390 fd82174
3169 Author: Brad Spengler <spender@grsecurity.net>
3170 Date: Thu Feb 6 17:19:50 2014 -0500
3171
3172 Merge branch 'linux-3.13.y' into pax-test
3173
3174 Conflicts:
3175 net/compat.c
3176
3177 commit 95e6c94d6945ce8acfb56997feada8fde8aab8a6
3178 Author: Brad Spengler <spender@grsecurity.net>
3179 Date: Wed Feb 5 23:43:27 2014 -0500
3180
3181 avoid printing jibberish in some instances with RANDSTRUCT and modules
3182 built with other seeds, as the kernel's module loader trusts the
3183 module layout
3184
3185 kernel/module.c | 25 +++++++++++++++++++++++++
3186 1 files changed, 25 insertions(+), 0 deletions(-)
3187
3188 commit 71ff747386915adda2113b08c47b0ccb1683dea5
3189 Author: Brad Spengler <spender@grsecurity.net>
3190 Date: Wed Feb 5 23:32:26 2014 -0500
3191
3192 Introduce the non-performance mode -- the performance mode had previously been
3193 inadvertently forced on regardless of config setting
3194
3195 Resolve an issue with gcc completing declarations for recently finished
3196 types *before* the plugin's finish_type being called to randomize that structure.
3197 This resulted in too small a structure size being emitted for this_module
3198 and generally crashes whenever modules were loaded.
3199
3200 Makefile | 2 +-
3201 tools/gcc/randomize_layout_plugin.c | 23 +++++++++++++++++++++++
3202 2 files changed, 24 insertions(+), 1 deletions(-)
3203
3204 commit e17b47e4f837bb769f5159b928f5accce5131514
3205 Author: Brad Spengler <spender@grsecurity.net>
3206 Date: Mon Feb 3 17:30:32 2014 -0500
3207
3208 select DEBUG_KERNEL in addition to DEBUG_LIST
3209
3210 security/Kconfig | 1 +
3211 1 files changed, 1 insertions(+), 0 deletions(-)
3212
3213 commit 1a4fd0231e9cee0203dd7f10faf89d721883b6a4
3214 Merge: 5fb88fe 1554390
3215 Author: Brad Spengler <spender@grsecurity.net>
3216 Date: Sun Feb 2 21:25:11 2014 -0500
3217
3218 Merge branch 'pax-test' into grsec-test
3219
3220 commit 1554390d0c012ebcbe8734216913fcb94681db2b
3221 Author: Brad Spengler <spender@grsecurity.net>
3222 Date: Sun Feb 2 21:24:45 2014 -0500
3223
3224 update plugin start_unit names
3225
3226 tools/gcc/latent_entropy_plugin.c | 2 +-
3227 tools/gcc/size_overflow_plugin.c | 2 +-
3228 2 files changed, 2 insertions(+), 2 deletions(-)
3229
3230 commit 5fb88febacff2f061c9aad406d107177acc3f950
3231 Author: Brad Spengler <spender@grsecurity.net>
3232 Date: Sun Feb 2 21:23:30 2014 -0500
3233
3234 update copyright date
3235
3236 grsecurity/Makefile | 2 +-
3237 1 files changed, 1 insertions(+), 1 deletions(-)
3238
3239 commit f4d392661ab08166ed1aa81d4f1d90fec146f761
3240 Author: Brad Spengler <spender@grsecurity.net>
3241 Date: Sun Feb 2 21:23:08 2014 -0500
3242
3243 update copyright message
3244
3245 grsecurity/Makefile | 22 ++++++++++++++++------
3246 1 files changed, 16 insertions(+), 6 deletions(-)
3247
3248 commit 7bd6dcd5823155b1948fe0815a7aa173da6bea35
3249 Author: Brad Spengler <spender@grsecurity.net>
3250 Date: Sat Feb 1 19:53:04 2014 -0500
3251
3252 update RANDSTRUCT plugin to eliminate false posities on struct type mismatches
3253 resulting from an IS_ERR() sequence
3254 add checks for bad casts in local and global variable initializers
3255 use the main variant when comparing types
3256
3257 tools/gcc/randomize_layout_plugin.c | 150 +++++++++++++++++++++++++++++++++--
3258 1 files changed, 144 insertions(+), 6 deletions(-)
3259
3260 commit 5349795dd080969318409078672c2c53c0645354
3261 Author: Brad Spengler <spender@grsecurity.net>
3262 Date: Sat Feb 1 15:13:06 2014 -0500
3263
3264 remove unnecessary TODO_* flags for our passive bad cast gimple pass
3265
3266 tools/gcc/randomize_layout_plugin.c | 2 +-
3267 1 files changed, 1 insertions(+), 1 deletions(-)
3268
3269 commit a22b89b09d12e3db4b464d3b26e45c7b3a65c0ba
3270 Author: Brad Spengler <spender@grsecurity.net>
3271 Date: Sat Feb 1 10:55:36 2014 -0500
3272
3273 fix RANDSTRUCT plugin compatibility with gcc 4.9
3274
3275 tools/gcc/randomize_layout_plugin.c | 2 +-
3276 1 files changed, 1 insertions(+), 1 deletions(-)
3277
3278 commit b3d5d360931c93bdeaf6fa199e29f47e7f70b17b
3279 Author: Brad Spengler <spender@grsecurity.net>
3280 Date: Fri Jan 31 21:52:14 2014 -0500
3281
3282 sanity check to make sure we never randomize a struct in include/uapi/*
3283
3284 scripts/gen-random-seed.sh | 2 +-
3285 tools/gcc/randomize_layout_plugin.c | 7 +++++++
3286 2 files changed, 8 insertions(+), 1 deletions(-)
3287
3288 commit d2057f02e759a707a700bc9c80d1f7f55afa89f1
3289 Author: Brad Spengler <spender@grsecurity.net>
3290 Date: Fri Jan 31 18:11:51 2014 -0500
3291
3292 force on modversion support if RANDSTRUCT is enabled so that we're sure
3293 no modules can be loaded that were built with a different seed
3294
3295 grsecurity/Kconfig | 1 +
3296 1 files changed, 1 insertions(+), 0 deletions(-)
3297
3298 commit 5e1f8e0b67af1f2876f1906eab828914a1c2670b
3299 Author: Brad Spengler <spender@grsecurity.net>
3300 Date: Thu Jan 30 16:47:31 2014 -0500
3301
3302 Fix an extremely serious vulnerability (it's nearly an arbitrary write) introduced
3303 in 3.4 with the addition of X32 support. Hopefully most users haven't enabled this
3304 option, but as it's enabled now in some distros (e.g. Ubuntu, which is affected)
3305 the chance is more likely for those importing base configs from such a distro.
3306
3307 I would recommend you disable X32 support, especially if you're not using it. As
3308 this bug could have been discovered with even a completely dumb syscall fuzzer, it
3309 should be clear what level of testing went into X32 support.
3310
3311 Normally we would have fixed this immediately, announced it, and moved on, but
3312 this was not my bug and not my choice. So I got to wait for the likes of linux-distros
3313 and security@kernel.org to decide when it could be fixed, while I had to continue
3314 releasing grsecurity patches without the fix for a serious vulnerability I was aware
3315 of for two days. I'm not happy at all about this, and this is exactly why I refuse
3316 to work in any kind of situation where I would become aware of something that I
3317 couldn't fix immediately. Hopefully this is the last time this will happen.
3318
3319 Credits to the PaX Team for finding the bug and writing the fix. This is CVE-2014-0038.
3320
3321 net/compat.c | 9 ++-------
3322 1 files changed, 2 insertions(+), 7 deletions(-)
3323
3324 commit 9d599455aa9fb272a7160c3f8276771a5af7c74a
3325 Merge: 6aeb51b f93afd1
3326 Author: Brad Spengler <spender@grsecurity.net>
3327 Date: Wed Jan 29 21:49:00 2014 -0500
3328
3329 Merge branch 'pax-test' into grsec-test
3330
3331 commit f93afd1627ef450a96e96bdb2b984aefb66cb531
3332 Author: Brad Spengler <spender@grsecurity.net>
3333 Date: Wed Jan 29 21:48:24 2014 -0500
3334
3335 Update to pax-linux-3.13.1-test6.patch:
3336 - forward port to 3.13.1
3337 - fixed a weak UDEREF regression resulting in a kernel hang on boot, reported by Negres
3338
3339 arch/x86/include/asm/uaccess_64.h | 4 ++--
3340 1 files changed, 2 insertions(+), 2 deletions(-)
3341
3342 commit 18727190851782d5ee2b5fe579e4a4c379303a34
3343 Merge: b9c766b 07ecf16
3344 Author: Brad Spengler <spender@grsecurity.net>
3345 Date: Wed Jan 29 21:41:57 2014 -0500
3346
3347 Merge branch 'linux-3.13.y' into pax-test
3348
3349 commit 6aeb51bccfcad549c3b39235df08aa043cdfa9bc
3350 Author: Weston Andros Adamson <dros@netapp.com>
3351 Date: Tue Dec 17 12:16:11 2013 -0500
3352
3353 Upstream commit: 6ff33b7dd0228b7d7ed44791bbbc98b03fd15d9d
3354
3355 sunrpc: Fix infinite loop in RPC state machine
3356
3357 When a task enters call_refreshresult with status 0 from call_refresh and
3358 !rpcauth_uptodatecred(task) it enters call_refresh again with no rate-limiting
3359 or max number of retries.
3360
3361 Instead of trying forever, make use of the retry path that other errors use.
3362
3363 This only seems to be possible when the crrefresh callback is gss_refresh_null,
3364 which only happens when destroying the context.
3365
3366 To reproduce:
3367
3368 1) mount with sec=krb5 (or sec=sys with krb5 negotiated for non FSID specific
3369 operations).
3370
3371 2) reboot - the client will be stuck and will need to be hard rebooted
3372
3373 BUG: soft lockup - CPU#0 stuck for 22s! [kworker/0:2:46]
3374 Modules linked in: rpcsec_gss_krb5 nfsv4 nfs fscache ppdev crc32c_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd serio_raw i2c_piix4 i2c_core e1000 parport_pc parport shpchp nfsd auth_rpcgss oid_registry exportfs nfs_acl lockd sunrpc autofs4 mptspi scsi_transport_spi mptscsih mptbase ata_generic floppy
3375 irq event stamp: 195724
3376 hardirqs last enabled at (195723): [<ffffffff814a925c>] restore_args+0x0/0x30
3377 hardirqs last disabled at (195724): [<ffffffff814b0a6a>] apic_timer_interrupt+0x6a/0x80
3378 softirqs last enabled at (195722): [<ffffffff8103f583>] __do_softirq+0x1df/0x276
3379 softirqs last disabled at (195717): [<ffffffff8103f852>] irq_exit+0x53/0x9a
3380 CPU: 0 PID: 46 Comm: kworker/0:2 Not tainted 3.13.0-rc3-branch-dros_testing+ #4
3381 Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/31/2013
3382 Workqueue: rpciod rpc_async_schedule [sunrpc]
3383 task: ffff8800799c4260 ti: ffff880079002000 task.ti: ffff880079002000
3384 RIP: 0010:[<ffffffffa0064fd4>] [<ffffffffa0064fd4>] __rpc_execute+0x8a/0x362 [sunrpc]
3385 RSP: 0018:ffff880079003d18 EFLAGS: 00000246
3386 RAX: 0000000000000005 RBX: 0000000000000007 RCX: 0000000000000007
3387 RDX: 0000000000000007 RSI: ffff88007aecbae8 RDI: ffff8800783d8900
3388 RBP: ffff880079003d78 R08: ffff88006e30e9f8 R09: ffffffffa005a3d7
3389 R10: ffff88006e30e7b0 R11: ffff8800783d8900 R12: ffffffffa006675e
3390 R13: ffff880079003ce8 R14: ffff88006e30e7b0 R15: ffff8800783d8900
3391 FS: 0000000000000000(0000) GS:ffff88007f200000(0000) knlGS:0000000000000000
3392 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
3393 CR2: 00007f3072333000 CR3: 0000000001a0b000 CR4: 00000000001407f0
3394 Stack:
3395 ffff880079003d98 0000000000000246 0000000000000000 ffff88007a9a4830
3396 ffff880000000000 ffffffff81073f47 ffff88007f212b00 ffff8800799c4260
3397 ffff8800783d8988 ffff88007f212b00 ffffe8ffff604800 0000000000000000
3398 Call Trace:
3399 [<ffffffff81073f47>] ? trace_hardirqs_on_caller+0x145/0x1a1
3400 [<ffffffffa00652d3>] rpc_async_schedule+0x27/0x32 [sunrpc]
3401 [<ffffffff81052974>] process_one_work+0x211/0x3a5
3402 [<ffffffff810528d5>] ? process_one_work+0x172/0x3a5
3403 [<ffffffff81052eeb>] worker_thread+0x134/0x202
3404 [<ffffffff81052db7>] ? rescuer_thread+0x280/0x280
3405 [<ffffffff81052db7>] ? rescuer_thread+0x280/0x280
3406 [<ffffffff810584a0>] kthread+0xc9/0xd1
3407 [<ffffffff810583d7>] ? __kthread_parkme+0x61/0x61
3408 [<ffffffff814afd6c>] ret_from_fork+0x7c/0xb0
3409 [<ffffffff810583d7>] ? __kthread_parkme+0x61/0x61
3410 Code: e8 87 63 fd e0 c6 05 10 dd 01 00 01 48 8b 43 70 4c 8d 6b 70 45 31 e4 a8 02 0f 85 d5 02 00 00 4c 8b 7b 48 48 c7 43 48 00 00 00 00 <4c> 8b 4b 50 4d 85 ff 75 0c 4d 85 c9 4d 89 cf 0f 84 32 01 00 00
3411
3412 And the output of "rpcdebug -m rpc -s all":
3413
3414 RPC: 61 call_refresh (status 0)
3415 RPC: 61 call_refresh (status 0)
3416 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3417 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3418 RPC: 61 call_refreshresult (status 0)
3419 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3420 RPC: 61 call_refreshresult (status 0)
3421 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3422 RPC: 61 call_refresh (status 0)
3423 RPC: 61 call_refreshresult (status 0)
3424 RPC: 61 call_refresh (status 0)
3425 RPC: 61 call_refresh (status 0)
3426 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3427 RPC: 61 call_refreshresult (status 0)
3428 RPC: 61 call_refresh (status 0)
3429 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3430 RPC: 61 call_refresh (status 0)
3431 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3432 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3433 RPC: 61 call_refreshresult (status 0)
3434 RPC: 61 call_refresh (status 0)
3435 RPC: 61 call_refresh (status 0)
3436 RPC: 61 call_refresh (status 0)
3437 RPC: 61 call_refresh (status 0)
3438 RPC: 61 call_refreshresult (status 0)
3439 RPC: 61 refreshing RPCSEC_GSS cred ffff88007a413cf0
3440
3441 Signed-off-by: Weston Andros Adamson <dros@netapp.com>
3442 Cc: stable@vger.kernel.org # 2.6.37+
3443 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
3444
3445 net/sunrpc/clnt.c | 8 ++++++--
3446 1 files changed, 6 insertions(+), 2 deletions(-)
3447
3448 commit 9ad04e13872458b4883e9f8f087cad538ae8f3e3
3449 Author: Scott Mayhew <smayhew@redhat.com>
3450 Date: Fri Jan 17 15:12:05 2014 -0500
3451
3452 Upstream commit: 263b4509ec4d47e0da3e753f85a39ea12d1eff24
3453
3454 nfs: always make sure page is up-to-date before extending a write to cover the entire page
3455
3456 We should always make sure the cached page is up-to-date when we're
3457 determining whether we can extend a write to cover the full page -- even
3458 if we've received a write delegation from the server.
3459
3460 Commit c7559663 added logic to skip this check if we have a write
3461 delegation, which can lead to data corruption such as the following
3462 scenario if client B receives a write delegation from the NFS server:
3463
3464 Client A:
3465 # echo 123456789 > /mnt/file
3466
3467 Client B:
3468 # echo abcdefghi >> /mnt/file
3469 # cat /mnt/file
3470 0�D0�abcdefghi
3471
3472 Just because we hold a write delegation doesn't mean that we've read in
3473 the entire page contents.
3474
3475 Cc: <stable@vger.kernel.org> # v3.11+
3476 Signed-off-by: Scott Mayhew <smayhew@redhat.com>
3477 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
3478
3479 fs/nfs/write.c | 11 ++++++-----
3480 1 files changed, 6 insertions(+), 5 deletions(-)
3481
3482 commit d6a427afc951e705a45d18fe513b4a9644b54586
3483 Author: Trond Myklebust <trond.myklebust@primarydata.com>
3484 Date: Fri Jan 17 17:03:41 2014 -0500
3485
3486 Upstream commit: 64590daa9e0dfb3aad89e3ab9230683b76211d5b
3487
3488 NFSv4.1: Handle errors correctly in nfs41_walk_client_list
3489
3490 Both nfs41_walk_client_list and nfs40_walk_client_list expect the
3491 'status' variable to be set to the value -NFS4ERR_STALE_CLIENTID
3492 if the loop fails to find a match.
3493 The problem is that the 'pos->cl_cons_state > NFS_CS_READY' changes
3494 the value of 'status', and sets it either to the value '0' (which
3495 indicates success), or to the value EINTR.
3496
3497 Cc: stable@vger.kernel.org # 3.7.x: 7b1f1fd1842e6: NFSv4/4.1: Fix bugs in
3498 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
3499
3500 fs/nfs/nfs4client.c | 8 +++++---
3501 1 files changed, 5 insertions(+), 3 deletions(-)
3502
3503 commit f7c465156fdef12a66d0a59114582dc4d4d7f406
3504 Author: Weston Andros Adamson <dros@primarydata.com>
3505 Date: Sun Jan 19 22:45:36 2014 -0500
3506
3507 Upstream commit: abad2fa5ba67725a3f9c376c8cfe76fbe94a3041
3508
3509 nfs4: fix discover_server_trunking use after free
3510
3511 If clp is new (cl_count = 1) and it matches another client in
3512 nfs4_discover_server_trunking, the nfs_put_client will free clp before
3513 ->cl_preserve_clid is set.
3514
3515 Cc: stable@vger.kernel.org # 3.7+
3516 Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
3517 Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
3518
3519 fs/nfs/nfs4client.c | 10 ++++------
3520 1 files changed, 4 insertions(+), 6 deletions(-)
3521
3522 commit d3737c02af42ac32da97dc30dac94ae7343cec14
3523 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
3524 Date: Mon Jan 27 17:07:19 2014 -0800
3525
3526 Upstream commit: 592f6b842f64e416c7598a1b97c649b34241e22d
3527
3528 compat: fix sys_fanotify_mark
3529
3530 Commit 91c2e0bcae72 ("unify compat fanotify_mark(2), switch to
3531 COMPAT_SYSCALL_DEFINE") added a new unified compat fanotify_mark syscall
3532 to be used by all architectures.
3533
3534 Unfortunately the unified version merges the split mask parameter in a
3535 wrong way: the lower and higher word got swapped.
3536
3537 This was discovered with glibc's tst-fanotify test case.
3538
3539 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
3540 Reported-by: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3541 Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
3542 Acked-by: "David S. Miller" <davem@davemloft.net>
3543 Acked-by: Al Viro <viro@ZenIV.linux.org.uk>
3544 Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
3545 Cc: Ingo Molnar <mingo@redhat.com>
3546 Cc: Ralf Baechle <ralf@linux-mips.org>
3547 Cc: <stable@vger.kernel.org> [3.10+]
3548 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
3549 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
3550
3551 fs/notify/fanotify/fanotify_user.c | 4 ++--
3552 1 files changed, 2 insertions(+), 2 deletions(-)
3553
3554 commit ae72596a96d46255c781f07ee2de05abe57d43ff
3555 Merge: 5254ff7 b9c766b
3556 Author: Brad Spengler <spender@grsecurity.net>
3557 Date: Tue Jan 28 18:23:25 2014 -0500
3558
3559 Merge branch 'pax-test' into grsec-test
3560
3561 commit b9c766bc9706fcfe5bbe0df099178e8eaa643327
3562 Author: Brad Spengler <spender@grsecurity.net>
3563 Date: Tue Jan 28 18:22:46 2014 -0500
3564
3565 Update to pax-linux-3.13-test6.patch:
3566 - fixed the TRACE_IRQFLAGS/KERNEXEC problem for real, 3rd time's a charm, by minipli
3567 - fixed a size overflow false positive in skb_network_offset due to an intentional overflow, by Emese Revfy, reported by Nikita Matovs
3568
3569 arch/x86/kernel/entry_64.S | 22 ++++++++++++----------
3570 include/linux/skbuff.h | 2 +-
3571 2 files changed, 13 insertions(+), 11 deletions(-)
3572
3573 commit 5254ff73f13759d893213092da5fd654ca22960f
3574 Merge: 7e5aad2 c956349
3575 Author: Brad Spengler <spender@grsecurity.net>
3576 Date: Mon Jan 27 22:52:22 2014 -0500
3577
3578 Merge branch 'pax-test' into grsec-test
3579
3580 commit c956349a3335c72308d1bce7524f2e0f521ff709
3581 Author: Brad Spengler <spender@grsecurity.net>
3582 Date: Mon Jan 27 22:51:57 2014 -0500
3583
3584 Update to pax-linux-3.13-test5.patch:
3585 - new size overflow hash table from spender
3586 - backported http://git.kernel.org/linus/34228d473ef
3587 - fixed CONFIG_MEM_SOFT_DIRTY interference with _PAGE_NX on x86
3588 - fixed the size overflow plugin for gcc 4.9, by Emese Revfy
3589
3590 arch/x86/include/asm/pgtable_types.h | 2 +-
3591 mm/mmap.c | 12 +++++++++-
3592 tools/gcc/gcc-common.h | 2 +
3593 tools/gcc/size_overflow_hash.data | 33 ++++++++++++++++++++++++++--
3594 tools/gcc/size_overflow_plugin.c | 38 +++++++++++++++++-----------------
3595 5 files changed, 62 insertions(+), 25 deletions(-)
3596
3597 commit 7e5aad2c98c49f82bdd6a6949133c0393b743e4a
3598 Author: Brad Spengler <spender@grsecurity.net>
3599 Date: Mon Jan 27 21:12:59 2014 -0500
3600
3601 update size_overflow hash table
3602
3603 tools/gcc/size_overflow_hash.data | 9 +++++++--
3604 1 files changed, 7 insertions(+), 2 deletions(-)
3605
3606 commit 9583ac30e401a97397c5a4a30564521bc2d8afeb
3607 Author: Brad Spengler <spender@grsecurity.net>
3608 Date: Mon Jan 27 20:33:30 2014 -0500
3609
3610 Relicense RANDSTRUCT plugin as GPLv2, removing the GPLv3 option
3611
3612 tools/gcc/randomize_layout_plugin.c | 2 +-
3613 1 files changed, 1 insertions(+), 1 deletions(-)
3614
3615 commit f4afefdb6f09d22d5c0a74cf2a3ff4f44a67a8c8
3616 Author: Brad Spengler <spender@grsecurity.net>
3617 Date: Mon Jan 27 20:30:10 2014 -0500
3618
3619 Make all grsecurity code GPLv2 only for future releases. Not really
3620 important as grsecurity is a derivative work of the Linux kernel and
3621 thus forced to be GPLv2, the "or higher" was superfluous.
3622
3623 grsecurity/Makefile | 2 +-
3624 1 files changed, 1 insertions(+), 1 deletions(-)
3625
3626 commit 718e2b2400f29a7fa414c6c5d383f82658a3457f
3627 Author: Brad Spengler <spender@grsecurity.net>
3628 Date: Sun Jan 26 22:22:52 2014 -0500
3629
3630 update size_overflow hash table
3631
3632 tools/gcc/size_overflow_hash.data | 5 +++++
3633 1 files changed, 5 insertions(+), 0 deletions(-)
3634
3635 commit a4369fd780e658a9d26bedc53415261286caefe5
3636 Merge: c93ceb8 f3b1213
3637 Author: Brad Spengler <spender@grsecurity.net>
3638 Date: Sun Jan 26 21:24:43 2014 -0500
3639
3640 Merge branch 'pax-test' into grsec-test
3641
3642 commit f3b12134d032b0bfc2a9fc2183a50fabcaabdbf5
3643 Author: Brad Spengler <spender@grsecurity.net>
3644 Date: Sun Jan 26 21:24:17 2014 -0500
3645
3646 Update to pax-linux-3.13-test4.patch:
3647 - fixed a constify plugin regression, reported by spender
3648 - updated gcc-common.h
3649
3650 tools/gcc/constify_plugin.c | 4 +-
3651 tools/gcc/gcc-common.h | 68 +++++++++++++++++++++++++++++++++++++++---
3652 2 files changed, 65 insertions(+), 7 deletions(-)
3653
3654 commit 962a3acff3d42cf360932f438a666224b8597012
3655 Author: Brad Spengler <spender@grsecurity.net>
3656 Date: Sun Jan 26 21:24:01 2014 -0500
3657
3658 Revert "fix an assert triggering in constify plugin update, real fix coming later"
3659
3660 This reverts commit 899baaf06fdd79f9b9b410a414695ba7b80f6203.
3661
3662 tools/gcc/constify_plugin.c | 2 ++
3663 1 files changed, 2 insertions(+), 0 deletions(-)
3664
3665 commit c93ceb8d5ed604ddd5580de9a764fc411824c5c0
3666 Author: Brad Spengler <spender@grsecurity.net>
3667 Date: Sun Jan 26 21:18:31 2014 -0500
3668
3669 update size_overflow hash table
3670
3671 tools/gcc/size_overflow_hash.data | 19 ++++++++++++++++++-
3672 1 files changed, 18 insertions(+), 1 deletions(-)
3673
3674 commit b42c965a52f58915c8fd048749c1dc5bcf373339
3675 Merge: 663306e 899baaf
3676 Author: Brad Spengler <spender@grsecurity.net>
3677 Date: Sun Jan 26 20:35:52 2014 -0500
3678
3679 Merge branch 'pax-test' into grsec-test
3680
3681 commit 899baaf06fdd79f9b9b410a414695ba7b80f6203
3682 Author: Brad Spengler <spender@grsecurity.net>
3683 Date: Sun Jan 26 20:34:49 2014 -0500
3684
3685 fix an assert triggering in constify plugin update, real fix coming later
3686
3687 tools/gcc/constify_plugin.c | 2 --
3688 1 files changed, 0 insertions(+), 2 deletions(-)
3689
3690 commit 663306edb8f76d8be46c39ba6aafcdec3e000ab1
3691 Author: Brad Spengler <spender@grsecurity.net>
3692 Date: Sun Jan 26 18:24:44 2014 -0500
3693
3694 fix typo
3695
3696 tools/gcc/randomize_layout_plugin.c | 2 +-
3697 1 files changed, 1 insertions(+), 1 deletions(-)
3698
3699 commit 4539e5f2729719d07095cf267ea426524f7dc8f9
3700 Author: Brad Spengler <spender@grsecurity.net>
3701 Date: Sun Jan 26 18:22:33 2014 -0500
3702
3703 Update RANDSTRUCT plugin for gcc 4.9 and gcc-common.h
3704
3705 tools/gcc/randomize_layout_plugin.c | 77 +++++++++++++++++++----------------
3706 1 files changed, 42 insertions(+), 35 deletions(-)
3707
3708 commit 3344ccde1ca59e4e0a4105f25ffbab561e5ee582
3709 Merge: ff96162 0b83e85
3710 Author: Brad Spengler <spender@grsecurity.net>
3711 Date: Sun Jan 26 18:04:38 2014 -0500
3712
3713 Merge branch 'pax-test' into grsec-test
3714
3715 commit 0b83e85c64c9e6e4328cac45d980cdd7e088f157
3716 Author: Brad Spengler <spender@grsecurity.net>
3717 Date: Sun Jan 26 18:03:50 2014 -0500
3718
3719 Update to pax-linux-3.13-test3.patch:
3720 - gcc plugin updates
3721 - ported them to gcc trunk (future 4.9)
3722 - introduced gcc-common.h to simplify gcc version dependencies
3723 - updated size overflow hash table from spender
3724 - fixed kallocstat to detect constant size arguments early
3725 - fixed constify to preserve type qualifiers on pointer-to-self fields
3726 - added a few sparse/checker annotations and changes to satisfy gcc's address space logic
3727 - fixed the TRACE_IRQFLAGS problem reported by minipli again
3728
3729 arch/x86/ia32/ia32_signal.c | 6 +-
3730 arch/x86/include/asm/uaccess_64.h | 4 +-
3731 arch/x86/kernel/entry_64.S | 112 ++++----
3732 arch/x86/kernel/preempt.S | 3 +
3733 arch/x86/kernel/tboot.c | 2 +-
3734 arch/x86/kernel/xsave.c | 8 +-
3735 arch/x86/lib/thunk_64.S | 2 +-
3736 block/compat_ioctl.c | 2 +-
3737 drivers/gpu/drm/drm_crtc.c | 2 +-
3738 drivers/gpu/drm/qxl/qxl_ioctl.c | 6 +-
3739 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 10 +-
3740 drivers/media/v4l2-core/v4l2-ctrls.c | 4 +-
3741 drivers/media/v4l2-core/v4l2-ioctl.c | 2 +-
3742 drivers/mmc/card/block.c | 2 +-
3743 drivers/net/macvtap.c | 2 +-
3744 drivers/vhost/vringh.c | 18 +-
3745 drivers/video/fbmem.c | 2 +-
3746 fs/compat_ioctl.c | 2 +-
3747 fs/exec.c | 2 +-
3748 fs/proc/vmcore.c | 4 +-
3749 include/uapi/linux/videodev2.h | 2 +-
3750 ipc/compat.c | 2 +-
3751 kernel/compat.c | 2 +-
3752 kernel/kmod.c | 4 +-
3753 net/9p/client.c | 6 +-
3754 net/compat.c | 2 +-
3755 net/core/filter.c | 2 +-
3756 net/netfilter/nft_compat.c | 4 +-
3757 net/socket.c | 6 +-
3758 net/tipc/subscr.c | 2 +-
3759 sound/pci/hda/hda_codec.c | 2 +-
3760 tools/gcc/Makefile | 2 +-
3761 tools/gcc/checker_plugin.c | 30 +--
3762 tools/gcc/colorize_plugin.c | 62 +++--
3763 tools/gcc/constify_plugin.c | 105 ++++----
3764 tools/gcc/gcc-common.h | 207 +++++++++++++++
3765 tools/gcc/kallocstat_plugin.c | 164 +++++++------
3766 tools/gcc/kernexec_plugin.c | 333 ++++++++++++++----------
3767 tools/gcc/latent_entropy_plugin.c | 146 +++++------
3768 tools/gcc/size_overflow_hash.data | 68 +++++-
3769 tools/gcc/size_overflow_plugin.c | 348 +++++++++++--------------
3770 tools/gcc/stackleak_plugin.c | 236 +++++++++--------
3771 tools/gcc/structleak_plugin.c | 90 +++----
3772 43 files changed, 1149 insertions(+), 871 deletions(-)
3773
3774 commit ff9616214c2e875db763bd395dce11df378df896
3775 Author: Brad Spengler <spender@grsecurity.net>
3776 Date: Sun Jan 26 13:35:44 2014 -0500
3777
3778 pass hashed seed define as a string
3779
3780 Makefile | 2 +-
3781 1 files changed, 1 insertions(+), 1 deletions(-)
3782
3783 commit 39961e3ad1abacccc8a2de280868bcfe52a1edff
3784 Author: Brad Spengler <spender@grsecurity.net>
3785 Date: Sun Jan 26 12:44:21 2014 -0500
3786
3787 add a sha256-hashed version of the seed to modversion to ensure no
3788 modules compiled with another seed can be loaded
3789
3790 Documentation/dontdiff | 1 +
3791 Makefile | 4 +++-
3792 include/linux/vermagic.h | 8 +++++++-
3793 scripts/gen-random-seed.sh | 2 +-
3794 tools/gcc/.gitignore | 1 +
3795 5 files changed, 13 insertions(+), 3 deletions(-)
3796
3797 commit 1df9ff15112f3713997ac10e915b99ad99d2e33a
3798 Author: Brad Spengler <spender@grsecurity.net>
3799 Date: Sun Jan 26 11:26:44 2014 -0500
3800
3801 Force HIDESYM on if RANDSTRUCT is used, just in case there is a user
3802 who already isn't enabling it (to prevent the seed from potentially being
3803 visible to other users if compiled on the same machine).
3804 Suggested by minipli
3805
3806 grsecurity/Kconfig | 1 +
3807 1 files changed, 1 insertions(+), 0 deletions(-)
3808
3809 commit 5ee75cac712d37f79de1e6f509a18749258b2085
3810 Author: Brad Spengler <spender@grsecurity.net>
3811 Date: Sun Jan 26 01:01:31 2014 -0500
3812
3813 Update size_overflow hash table
3814
3815 tools/gcc/size_overflow_hash.data | 19 +++++++++++++++++--
3816 1 files changed, 17 insertions(+), 2 deletions(-)
3817
3818 commit d87a88e0b3298c9d39bb7b3257dabb8fc17b8e9c
3819 Author: Brad Spengler <spender@grsecurity.net>
3820 Date: Sat Jan 25 22:19:55 2014 -0500
3821
3822 update to new mount_lock
3823
3824 grsecurity/gracl.c | 24 +++++++++++-------------
3825 1 files changed, 11 insertions(+), 13 deletions(-)
3826
3827 commit 677d1d169912d98b7a139563ab7f7fb82ee6c3c5
3828 Author: Brad Spengler <spender@grsecurity.net>
3829 Date: Sat Jan 25 19:05:59 2014 -0500
3830
3831 compile fix
3832
3833 init/main.c | 4 ----
3834 1 files changed, 0 insertions(+), 4 deletions(-)
3835
3836 commit c8496c1e0bb5cbed7aff11ee208a7a89ffd80b40
3837 Author: Brad Spengler <spender@grsecurity.net>
3838 Date: Sat Jan 25 19:00:50 2014 -0500
3839
3840 resync random code with 3.13
3841
3842 include/linux/random.h | 4 ++++
3843 include/uapi/linux/random.h | 7 -------
3844 2 files changed, 4 insertions(+), 7 deletions(-)
3845
3846 commit 3d168ee50cb706276c805ae1d6a5e8417a91067a
3847 Author: Brad Spengler <spender@grsecurity.net>
3848 Date: Sat Jan 25 14:54:11 2014 -0500
3849
3850 Fix another compiler error caught by RANDSTRUCT
3851
3852 Signed-off-by: Brad Spengler <spender@grsecurity.net>
3853
3854 sound/isa/sb/emu8000_synth.c | 4 ++--
3855 1 files changed, 2 insertions(+), 2 deletions(-)
3856
3857 commit bc4a5595404b985a2b17e84d29765b7af7e968ca
3858 Author: Brad Spengler <spender@grsecurity.net>
3859 Date: Sat Jan 25 14:34:12 2014 -0500
3860
3861 Fix another compiler error caught by RANDSTRUCT
3862
3863 Signed-off-by: Brad Spengler <spender@grsecurity.net>
3864
3865 drivers/net/wan/z85230.c | 24 ++++++++++++------------
3866 1 files changed, 12 insertions(+), 12 deletions(-)
3867
3868 commit 0f0da7cb40431fe816aa356499bff026452cfc44
3869 Author: Brad Spengler <spender@grsecurity.net>
3870 Date: Sat Jan 25 14:30:46 2014 -0500
3871
3872 fix compilation with RANDSTRUCT plugin
3873
3874 Signed-off-by: Brad Spengler <spender@grsecurity.net>
3875
3876 sound/drivers/opl4/opl4_seq.c | 4 ++--
3877 1 files changed, 2 insertions(+), 2 deletions(-)
3878
3879 commit 97d6cc865b9cf64fada1fcaabfa923fecee54ef7
3880 Author: Brad Spengler <spender@grsecurity.net>
3881 Date: Sat Jan 25 14:16:18 2014 -0500
3882
3883 avoid problems by just building our fake field decl node from scratch
3884
3885 Signed-off-by: Brad Spengler <spender@grsecurity.net>
3886
3887 tools/gcc/randomize_layout_plugin.c | 10 +++++-----
3888 1 files changed, 5 insertions(+), 5 deletions(-)
3889
3890 commit 6455dfb41e9c0d3f26f00ef2f505bd0f74aa8dca
3891 Author: Brad Spengler <spender@grsecurity.net>
3892 Date: Sat Jan 25 13:45:18 2014 -0500
3893
3894 while in non-debug mode, don't emit notes for non-randomized struct types
3895
3896 clear all signs from our fake field decl of being a bitfield
3897
3898 Signed-off-by: Brad Spengler <spender@grsecurity.net>
3899
3900 tools/gcc/randomize_layout_plugin.c | 11 +++++++++++
3901 1 files changed, 11 insertions(+), 0 deletions(-)
3902
3903 commit 35909486eebb6c1ab27956ef6cc35e19e19282a2
3904 Author: Brad Spengler <spender@grsecurity.net>
3905 Date: Sat Jan 25 12:56:05 2014 -0500
3906
3907 revert change to read-only marking of fake struct field
3908
3909 Signed-off-by: Brad Spengler <spender@grsecurity.net>
3910
3911 tools/gcc/randomize_layout_plugin.c | 2 +-
3912 1 files changed, 1 insertions(+), 1 deletions(-)
3913
3914 commit bbd5d12c912390e0bdb6ddde81279b579fc94edb
3915 Author: Brad Spengler <spender@grsecurity.net>
3916 Date: Sat Jan 25 12:42:48 2014 -0500
3917
3918 Update RANDSTRUCT plugin help
3919
3920 Signed-off-by: Brad Spengler <spender@grsecurity.net>
3921
3922 tools/gcc/randomize_layout_plugin.c | 6 ++++--
3923 1 files changed, 4 insertions(+), 2 deletions(-)
3924
3925 commit 0d829e61f501ae59387a6e1d0f9060d5555ac588
3926 Author: Brad Spengler <spender@grsecurity.net>
3927 Date: Sat Jan 25 12:25:43 2014 -0500
3928
3929 Introduce GRKERNSEC_RANDSTRUCT: automatic structure layout randomization of pure ops structs randomization of marked sensitive kernel structures
3930
3931 automatically enabled by GRKERNSEC_CONFIG_AUTO
3932 performance mode is activated if the config priority is set to performance
3933
3934 Signed-off-by: Brad Spengler <spender@grsecurity.net>
3935
3936 Documentation/dontdiff | 1 +
3937 Makefile | 12 +-
3938 arch/x86/include/asm/floppy.h | 20 +-
3939 arch/x86/include/asm/paravirt_types.h | 23 +-
3940 arch/x86/include/asm/processor.h | 2 +-
3941 drivers/acpi/acpica/hwxfsleep.c | 11 +-
3942 drivers/block/cciss.h | 30 +-
3943 drivers/block/drbd/drbd_interval.c | 6 +-
3944 drivers/block/smart1,2.h | 40 +-
3945 drivers/gpu/drm/nouveau/nouveau_ttm.c | 30 +-
3946 drivers/gpu/drm/ttm/ttm_bo_manager.c | 10 +-
3947 drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 10 +-
3948 drivers/infiniband/hw/ipath/ipath_dma.c | 26 +-
3949 drivers/infiniband/hw/nes/nes_cm.c | 22 +-
3950 drivers/isdn/gigaset/bas-gigaset.c | 32 +-
3951 drivers/isdn/gigaset/ser-gigaset.c | 32 +-
3952 drivers/isdn/gigaset/usb-gigaset.c | 32 +-
3953 drivers/isdn/i4l/isdn_concap.c | 6 +-
3954 drivers/isdn/i4l/isdn_x25iface.c | 16 +-
3955 drivers/misc/sgi-xp/xp_main.c | 12 +-
3956 drivers/net/ethernet/brocade/bna/bna_enet.c | 8 +-
3957 drivers/net/wan/lmc/lmc_media.c | 97 ++--
3958 drivers/scsi/bfa/bfa_fcs.c | 19 +-
3959 drivers/scsi/bfa/bfa_fcs_lport.c | 29 +-
3960 drivers/scsi/bfa/bfa_modules.h | 12 +-
3961 drivers/scsi/hpsa.h | 20 +-
3962 drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +-
3963 drivers/staging/lustre/lustre/libcfs/module.c | 10 +-
3964 drivers/staging/media/solo6x10/solo6x10-g723.c | 2 +-
3965 drivers/video/matrox/matroxfb_DAC1064.c | 10 +-
3966 drivers/video/matrox/matroxfb_Ti3026.c | 5 +-
3967 fs/mount.h | 4 +-
3968 fs/proc/internal.h | 4 +-
3969 fs/reiserfs/item_ops.c | 24 +-
3970 grsecurity/Kconfig | 31 +-
3971 include/linux/compiler-gcc4.h | 5 +
3972 include/linux/compiler.h | 8 +
3973 include/linux/cred.h | 4 +-
3974 include/linux/dcache.h | 2 +-
3975 include/linux/fs.h | 14 +-
3976 include/linux/fs_struct.h | 2 +-
3977 include/linux/ipc_namespace.h | 2 +-
3978 include/linux/kobject.h | 2 +-
3979 include/linux/mm_types.h | 4 +-
3980 include/linux/module.h | 4 +-
3981 include/linux/mount.h | 2 +-
3982 include/linux/pid_namespace.h | 2 +-
3983 include/linux/proc_ns.h | 2 +-
3984 include/linux/rbtree_augmented.h | 4 +-
3985 include/linux/sched.h | 6 +-
3986 include/linux/sysctl.h | 2 +-
3987 include/linux/tty.h | 2 +-
3988 include/linux/tty_driver.h | 2 +-
3989 include/linux/user_namespace.h | 2 +-
3990 include/linux/utsname.h | 2 +-
3991 include/net/neighbour.h | 2 +-
3992 include/net/net_namespace.h | 2 +-
3993 lib/rbtree.c | 4 +-
3994 net/atm/lec.c | 6 +-
3995 net/atm/mpoa_caches.c | 42 +-
3996 net/decnet/dn_dev.c | 2 +-
3997 net/vmw_vsock/vmci_transport_notify.c | 30 +-
3998 net/vmw_vsock/vmci_transport_notify_qstate.c | 30 +-
3999 net/x25/sysctl_net_x25.c | 2 +-
4000 scripts/Makefile | 2 +
4001 scripts/gen-random-seed.sh | 8 +
4002 sound/core/seq/oss/seq_oss.c | 4 +-
4003 sound/core/seq/seq_midi.c | 4 +-
4004 sound/drivers/opl3/opl3_seq.c | 4 +-
4005 sound/pci/emu10k1/emu10k1_synth.c | 4 +-
4006 sound/synth/emux/emux_seq.c | 14 +-
4007 tools/gcc/.gitignore | 1 +
4008 tools/gcc/Makefile | 2 +
4009 tools/gcc/randomize_layout_plugin.c | 726 +++++++++++++++++++++++
4010 74 files changed, 1222 insertions(+), 390 deletions(-)
4011
4012 commit 301f9fc40e1bed50d31034a192bc95874d5bf3b6
4013 Author: Brad Spengler <spender@grsecurity.net>
4014 Date: Sun Jan 19 09:00:56 2014 -0500
4015
4016 compile fix
4017
4018 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4019
4020 include/linux/random.h | 4 ----
4021 include/uapi/linux/random.h | 7 +++++++
4022 2 files changed, 7 insertions(+), 4 deletions(-)
4023
4024 commit b79910431008b8ce731d45aa3aecc75fe33c928c
4025 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
4026 Date: Mon Nov 11 12:20:34 2013 +0100
4027
4028 Upstream commit: 4af712e8df998475736f3e2727701bd31e3751a9
4029
4030 random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized
4031
4032 The Tausworthe PRNG is initialized at late_initcall time. At that time the
4033 entropy pool serving get_random_bytes is not filled sufficiently. This
4034 patch adds an additional reseeding step as soon as the nonblocking pool
4035 gets marked as initialized.
4036
4037 On some machines it might be possible that late_initcall gets called after
4038 the pool has been initialized. In this situation we won't reseed again.
4039
4040 (A call to prandom_seed_late blocks later invocations of early reseed
4041 attempts.)
4042
4043 Joint work with Daniel Borkmann.
4044
4045 Cc: Eric Dumazet <eric.dumazet@gmail.com>
4046 Cc: Theodore Ts'o <tytso@mit.edu>
4047 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
4048 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
4049 Acked-by: "Theodore Ts'o" <tytso@mit.edu>
4050 Signed-off-by: David S. Miller <davem@davemloft.net>
4051
4052 Conflicts:
4053
4054 lib/random32.c
4055 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4056
4057 drivers/char/random.c | 2 +-
4058 1 files changed, 1 insertions(+), 1 deletions(-)
4059
4060 commit 31dee23268ac47eaaafacb186229bc14fb84fa9b
4061 Author: Brad Spengler <spender@grsecurity.net>
4062 Date: Sat Jan 18 20:43:43 2014 -0500
4063
4064 Since the reworking of recvmsg handlers by Hannes Frederic Sowa, it should be safe to revert our workaround for large number of infoleaks the previous interface made possible, restoring some performance to these syscalls
4065
4066 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4067
4068 net/socket.c | 4 ++--
4069 1 files changed, 2 insertions(+), 2 deletions(-)
4070
4071 commit ffccf022adef560230b6a641c612f33600ce0e6b
4072 Author: Brad Spengler <spender@grsecurity.net>
4073 Date: Wed Jan 8 20:24:27 2014 -0500
4074
4075 zeroing out btime from /proc/stat breaks ps aux, it's the seconds of uptime for the system, information which is also available elsewhere (/proc/uptime), so there's no reason to limit it
4076
4077 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4078
4079 fs/proc/stat.c | 4 +---
4080 1 files changed, 1 insertions(+), 3 deletions(-)
4081
4082 commit a96a6e3b96ffa8c96fa3939c109dc783de2110e0
4083 Author: Brad Spengler <spender@grsecurity.net>
4084 Date: Wed Jan 8 18:13:15 2014 -0500
4085
4086 fix typo
4087
4088 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4089
4090 mm/vmstat.c | 2 +-
4091 1 files changed, 1 insertions(+), 1 deletions(-)
4092
4093 commit 4c084ac8468cdd4bbb8458fae4d0b6d2d1d5afd1
4094 Author: Brad Spengler <spender@grsecurity.net>
4095 Date: Wed Jan 8 18:06:53 2014 -0500
4096
4097 provide a zeroed out /proc/vmstat to unprivileged users instead of denied access, some poorly-written desktop apps bail out completely when it can't be opened
4098
4099 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4100
4101 mm/vmstat.c | 21 +++++++++++++++------
4102 1 files changed, 15 insertions(+), 6 deletions(-)
4103
4104 commit e0d003dfd4911828f08fa93da2138c9f3be4f352
4105 Author: Brad Spengler <spender@grsecurity.net>
4106 Date: Wed Jan 8 17:46:46 2014 -0500
4107
4108 back out recently-added capability checks to various pci write methods as they break Xorg radeon drivers
4109
4110 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4111
4112 drivers/pci/pci-sysfs.c | 9 ---------
4113 drivers/pci/proc.c | 3 ---
4114 2 files changed, 0 insertions(+), 12 deletions(-)
4115
4116 commit 0a0823fe85e85b9ad92131a35fe57e9aebc30260
4117 Author: Brad Spengler <spender@grsecurity.net>
4118 Date: Thu Jan 2 17:05:39 2014 -0500
4119
4120 add missing #include
4121
4122 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4123
4124 fs/proc/stat.c | 1 +
4125 1 files changed, 1 insertions(+), 0 deletions(-)
4126
4127 commit 867c7a59c12374d99c59b9c99a1bf8214583baad
4128 Author: Brad Spengler <spender@grsecurity.net>
4129 Date: Thu Jan 2 17:02:24 2014 -0500
4130
4131 Back off recent PCI BAR restrictions as they break various existing necessary functionality (Xorg with VMware video driver, etc)
4132
4133 Add CAP_SYS_RAWIO checks instead to code operating off just uid == 0
4134 checks currently
4135
4136 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4137
4138 drivers/pci/pci-sysfs.c | 17 +++++++----------
4139 drivers/pci/proc.c | 13 ++-----------
4140 drivers/pci/syscall.c | 4 ----
4141 3 files changed, 9 insertions(+), 25 deletions(-)
4142
4143 commit e9075cc0c4bab695e2eea8e8ba8f8acfa3cef2ed
4144 Author: Brad Spengler <spender@grsecurity.net>
4145 Date: Tue Dec 31 10:30:20 2013 -0500
4146
4147 Resolve compatibility with libgtop and recent restriction of /proc/stat, reported by KacKurx. We now provide a properly-formatted but zeroed /proc/stat instead of denying unpriv access to the entry
4148
4149 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4150
4151 fs/proc/stat.c | 34 ++++++++++++++++++++++++----------
4152 1 files changed, 24 insertions(+), 10 deletions(-)
4153
4154 commit 7a559ce128070d9d79bf4490a258dba677fa741e
4155 Author: Brad Spengler <spender@grsecurity.net>
4156 Date: Mon Dec 30 11:19:53 2013 -0500
4157
4158 Restrict access to /proc/interrupts and /proc/stat as suggested by Vasiliy Kulikov: http://www.openwall.com/lists/kernel-hardening/2011/11/07/1
4159
4160 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4161
4162 fs/proc/interrupts.c | 4 ++++
4163 fs/proc/stat.c | 4 ++++
4164 2 files changed, 8 insertions(+), 0 deletions(-)
4165
4166 commit 3898c8157466ff87ef613785f207c019ba8174cb
4167 Author: Brad Spengler <spender@grsecurity.net>
4168 Date: Mon Dec 30 11:13:49 2013 -0500
4169
4170 Update to phase two of the IPC hardening. I've heard no complaints about the patch I released, but including it here will generate better information.
4171
4172 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4173
4174 grsecurity/Kconfig | 16 ++++++++++------
4175 grsecurity/grsec_ipc.c | 32 +++++++++++++++++++++++++++++---
4176 include/linux/grmsg.h | 2 +-
4177 ipc/util.c | 3 ++-
4178 4 files changed, 42 insertions(+), 11 deletions(-)
4179
4180 commit 2a5eb70e0981fd24168be9e5d1c30735a922edca
4181 Author: Brad Spengler <spender@grsecurity.net>
4182 Date: Thu Dec 26 19:20:26 2013 -0500
4183
4184 add missing #include
4185
4186 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4187
4188 grsecurity/grsec_mount.c | 1 +
4189 1 files changed, 1 insertions(+), 0 deletions(-)
4190
4191 commit 7d66c996e754d41be945e7a2997b364643a13977
4192 Author: Brad Spengler <spender@grsecurity.net>
4193 Date: Thu Dec 26 15:51:51 2013 -0500
4194
4195 Update config help to reflect requirements for proper security, similar to what we mention for GRKERNSEC_KMEM or GRKERNSEC_HIDESYM
4196
4197 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4198
4199 grsecurity/Kconfig | 7 ++++++-
4200 1 files changed, 6 insertions(+), 1 deletions(-)
4201
4202 commit bc9b4fe1db97c913b2c1163a90805c52c0f0df65
4203 Author: Brad Spengler <spender@grsecurity.net>
4204 Date: Thu Dec 26 15:35:31 2013 -0500
4205
4206 Whenever we perform checks against block devices we should also test for raw character devices provided by CONFIG_RAW_DRIVER. Unlike other OSes, Linux's raw device support has been obsoleted many years ago and is unlikely to be present in a given kernel config (modulo an allyesconfig).
4207
4208 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4209
4210 grsecurity/gracl.c | 2 +-
4211 grsecurity/grsec_mount.c | 4 +++-
4212 2 files changed, 4 insertions(+), 2 deletions(-)
4213
4214 commit 2b5ad27e4a323648a0db99a9fa3f27b042dd70f0
4215 Author: Brad Spengler <spender@grsecurity.net>
4216 Date: Wed Dec 25 16:37:02 2013 -0500
4217
4218 Add some of the more obscure, config-dependent kernel modification defenses to GRKERNSEC_KMEM, to be split out into a separate option if this causes any compatibility problems. From Matthew Garrett: https://lkml.org/lkml/2013/9/9/532
4219
4220 Also make make hibernation depend on !PAX_MEMORY_SANITIZE and not
4221 the other way around (to produce more secure settings when distro
4222 configs are used as a base)
4223
4224 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4225
4226 drivers/acpi/custom_method.c | 4 ++++
4227 drivers/pci/pci-sysfs.c | 12 ++++++++++++
4228 drivers/pci/proc.c | 12 ++++++++++++
4229 drivers/pci/syscall.c | 4 ++++
4230 drivers/platform/x86/asus-wmi.c | 12 ++++++++++++
4231 kernel/power/Kconfig | 2 ++
4232 security/Kconfig | 1 -
4233 7 files changed, 46 insertions(+), 1 deletions(-)
4234
4235 commit c70c49f956beb3d785ca20466c4e5c1d84d7356b
4236 Author: Brad Spengler <spender@grsecurity.net>
4237 Date: Wed Dec 25 15:11:51 2013 -0500
4238
4239 remove unused 'dentry' variable
4240
4241 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4242
4243 fs/xattr.c | 1 -
4244 1 files changed, 0 insertions(+), 1 deletions(-)
4245
4246 commit cb20fb467591aa2a85a8c12a1bc215a01ed75b18
4247 Author: Brad Spengler <spender@grsecurity.net>
4248 Date: Wed Dec 25 15:03:13 2013 -0500
4249
4250 Add RBAC mediation of *removexattr(), as this has security implications in the case of PaX with softmode enabled or the rare case of RBAC+SELinux use.
4251
4252 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4253
4254 fs/xattr.c | 18 +++++++++++-------
4255 grsecurity/gracl_fs.c | 6 ++++++
4256 grsecurity/grsec_disabled.c | 6 ++++++
4257 include/linux/grmsg.h | 3 ++-
4258 include/linux/grsecurity.h | 2 ++
4259 5 files changed, 27 insertions(+), 8 deletions(-)
4260
4261 commit 482ec0da63b38a9c20cc2205bc7ea87a3985d164
4262 Author: Brad Spengler <spender@grsecurity.net>
4263 Date: Fri Dec 20 20:18:56 2013 -0500
4264
4265 compile fix
4266
4267 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4268
4269 fs/stat.c | 1 +
4270 1 files changed, 1 insertions(+), 0 deletions(-)
4271
4272 commit 038cc5994b483905c9c0b9e6259a84f7333becc2
4273 Author: Brad Spengler <spender@grsecurity.net>
4274 Date: Fri Dec 13 19:39:54 2013 -0500
4275
4276 Fix a use-after-free on fakefs_obj_rw/fakefs_obj_rwx introduced by the recent atomic reload improvement. These two objects are used only for "files" private to the kernel which don't exist on any mounted filesystem and have no visible path. Only the mode field of these objects is ever used, and we would never attempt to free these objects a second time (due to their being allocated into the memory manager associated with the initial policy)
4277
4278 In practice this causes bogus auditing messages for / and could potentially
4279 cause a subject without executable shared memory support to permit executable
4280 shared memory (if PaX is disabled on the binary).
4281
4282 Instead just allocate these two special objects with kzalloc at enable time
4283 and free them at disable time.
4284
4285 Thanks to nyt@countercultured.net for the report
4286
4287 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4288
4289 grsecurity/gracl_policy.c | 9 +++++++--
4290 1 files changed, 7 insertions(+), 2 deletions(-)
4291
4292 commit b67b5e4666934693bb1fc4804ca60724f98a54d7
4293 Author: Brad Spengler <spender@grsecurity.net>
4294 Date: Wed Dec 4 18:15:02 2013 -0500
4295
4296 Don't duplicate __get_dumpable, also make sure we check against SUID_DUMP_USER, otherwise we wouldn't trigger suid bruteforcing detection when suid_dumpable was set to 2
4297
4298 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4299
4300 fs/coredump.c | 7 +++++--
4301 grsecurity/grsec_sig.c | 14 ++------------
4302 include/linux/grsecurity.h | 2 +-
4303 3 files changed, 8 insertions(+), 15 deletions(-)
4304
4305 commit ad3f9d56b43c4c448d5ba55d4e073e66a59898d7
4306 Author: Brad Spengler <spender@grsecurity.net>
4307 Date: Tue Dec 3 19:39:04 2013 -0500
4308
4309 Update documentation for GRKERNSEC_KMEM and GRKERNSEC_IO, see: http://forums.grsecurity.net/viewtopic.php?f=3&t=3879 The previous info was many years outdated.
4310
4311 Disable KEXEC when GRKERNSEC_KMEM is enabled:
4312 http://mjg59.dreamwidth.org/28746.html
4313
4314 Also workaround the GRKERNSEC_IO incompatibility with Xorg by returning
4315 -ENODEV instead of -EPERM in the cases where CAP_SYS_RAWIO is present
4316
4317 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4318
4319 arch/arm/Kconfig | 1 +
4320 arch/ia64/Kconfig | 1 +
4321 arch/mips/Kconfig | 1 +
4322 arch/powerpc/Kconfig | 1 +
4323 arch/tile/Kconfig | 1 +
4324 arch/x86/Kconfig | 1 +
4325 arch/x86/kernel/ioport.c | 12 ++++++------
4326 grsecurity/Kconfig | 27 +++++++++++----------------
4327 8 files changed, 23 insertions(+), 22 deletions(-)
4328
4329 commit 7044221d2d6e8d8e8fa26d5c30c72bd6e1d9b599
4330 Author: Brad Spengler <spender@grsecurity.net>
4331 Date: Tue Nov 26 15:16:48 2013 -0500
4332
4333 Fix null deref on application of the shutdown role, reported by zakalwe
4334
4335 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4336
4337 grsecurity/gracl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++-
4338 grsecurity/gracl_policy.c | 58 ++++-----------------------------------------
4339 2 files changed, 62 insertions(+), 54 deletions(-)
4340
4341 commit 1f894d3a1357fa9c7b2f849079546115fc797fd8
4342 Author: Brad Spengler <spender@grsecurity.net>
4343 Date: Tue Nov 26 13:04:07 2013 -0500
4344
4345 Add system library paths to allowed areas for usermode helper calls, later we will also add checks to ensure the file is owned by root
4346
4347 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4348
4349 kernel/kmod.c | 5 +++--
4350 1 files changed, 3 insertions(+), 2 deletions(-)
4351
4352 commit aa561a3ad4b30e8c03837ff96bbcd868e363cb21
4353 Author: Brad Spengler <spender@grsecurity.net>
4354 Date: Tue Nov 26 12:59:00 2013 -0500
4355
4356 Fix gr_policy_state -> gr_reload_state typo that clobbered the oldalloc pointer causing a NULL deref on RBAC reload, reported by zakalwe
4357
4358 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4359
4360 grsecurity/gracl_policy.c | 2 +-
4361 1 files changed, 1 insertions(+), 1 deletions(-)
4362
4363 commit b031d4f071e25462e94f742166b0ea6b8874dae4
4364 Author: Brad Spengler <spender@grsecurity.net>
4365 Date: Mon Nov 25 22:33:33 2013 -0500
4366
4367 compile fix
4368
4369 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4370
4371 kernel/kmod.c | 2 +-
4372 1 files changed, 1 insertions(+), 1 deletions(-)
4373
4374 commit 00a30755e85c7dbfd1042a0f4c5d911e288c8cc9
4375 Author: Brad Spengler <spender@grsecurity.net>
4376 Date: Mon Nov 25 12:01:21 2013 -0500
4377
4378 Conventions exist for a reason -- systemd knows better though and decides to put security-sensitive system administration utilities into /usr/lib/systemd in contrast to *every* other user of usermode helpers. Work around this stupidity
4379
4380 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4381
4382 kernel/kmod.c | 4 ++--
4383 1 files changed, 2 insertions(+), 2 deletions(-)
4384
4385 commit 7177ab477fcc5d670718dafba3f6a454ed2e121e
4386 Author: Brad Spengler <spender@grsecurity.net>
4387 Date: Sun Nov 24 22:49:05 2013 -0500
4388
4389 Revert "HID: multitouch: validate feature report details"
4390
4391 This reverts commit 8aeb7645473b408fc6b2bd78a72671351fc8e684.
4392
4393 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4394
4395 drivers/hid/hid-multitouch.c | 25 +++++--------------------
4396 1 files changed, 5 insertions(+), 20 deletions(-)
4397
4398 commit f0d33fb85de097278d1ae605c3d98fc99b578d56
4399 Author: Brad Spengler <spender@grsecurity.net>
4400 Date: Sun Nov 24 22:48:49 2013 -0500
4401
4402 Revert "HID: lenovo-tpkbd: validate output report details"
4403
4404 This reverts commit 91bfda18a5711db32c984c632f47fa57458d993a.
4405
4406 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4407
4408 drivers/hid/hid-lenovo-tpkbd.c | 5 -----
4409 1 files changed, 0 insertions(+), 5 deletions(-)
4410
4411 commit 0c2a1258705b5c90732c2895664965da6a16bebc
4412 Author: Brad Spengler <spender@grsecurity.net>
4413 Date: Sun Nov 24 22:48:33 2013 -0500
4414
4415 Revert "HID: steelseries: validate output report details"
4416
4417 This reverts commit 0996966348dc3c3f7515567d3245292785d484fc.
4418
4419 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4420
4421 drivers/hid/hid-steelseries.c | 5 -----
4422 1 files changed, 0 insertions(+), 5 deletions(-)
4423
4424 commit b17b436bd1781a43866931ce6b6ba2811882ade5
4425 Author: Brad Spengler <spender@grsecurity.net>
4426 Date: Sun Nov 24 22:08:33 2013 -0500
4427
4428 add missing header
4429
4430 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4431
4432 fs/proc/proc_sysctl.c | 3 +++
4433 1 files changed, 3 insertions(+), 0 deletions(-)
4434
4435 commit 45eefce5c5dc37368ed21d2b22a2d15973b7c06b
4436 Author: Brad Spengler <spender@grsecurity.net>
4437 Date: Sun Nov 24 22:04:55 2013 -0500
4438
4439 Replace nsown_capable with an ns_capable check against the user_ns associated with the net namespace
4440
4441 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4442
4443 fs/proc/proc_sysctl.c | 2 +-
4444 1 files changed, 1 insertions(+), 1 deletions(-)
4445
4446 commit 804611c10dcd6e9486cf374fcbfb2053a80f918d
4447 Author: Brad Spengler <spender@grsecurity.net>
4448 Date: Sun Nov 24 17:50:21 2013 -0500
4449
4450 remove unnecessary code/comments after new reload method
4451
4452 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4453
4454 grsecurity/gracl.c | 4 ----
4455 grsecurity/gracl_policy.c | 13 -------------
4456 2 files changed, 0 insertions(+), 17 deletions(-)
4457
4458 commit 4aeb0dc39f03db1c2c55ebc0cb7797289948a872
4459 Author: Brad Spengler <spender@grsecurity.net>
4460 Date: Sun Nov 24 16:05:01 2013 -0500
4461
4462 Version bumped to 3.0 (we'd been on 2.9.1 for way too long and numerous features have been added since then)
4463
4464 Introduce new atomic RBAC reload method, developed as part of sponsorship
4465 by EIG
4466
4467 This is accompanied by an updated 3.0 gradm which will use the new reload
4468 method when -R is passed to gradm. The old method will still be available
4469 via gradm -r (which is what a 2.9.1 gradm will continue to use).
4470
4471 The new RBAC reload method is atomic in the sense that at no point in the
4472 reload process will the system not be covered by a coherent full policy.
4473 In contrast to previous reload behavior, it also preserves inherited subjects
4474 and special roles.
4475
4476 The old RBAC reload method has also been made atomic. Both methods have
4477 been updated to perform role_allowed_ip checks only against the IP tagged
4478 to the task at the time its role was first applied or changed. This resolves
4479 long-standing usability problems with the use of role_allowed_ip and matches
4480 the policies created by learning.
4481
4482 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4483
4484 grsecurity/Makefile | 2 +-
4485 grsecurity/gracl.c | 3903 +++++++++++++------------------------------
4486 grsecurity/gracl_alloc.c | 42 +-
4487 grsecurity/gracl_compat.c | 3 +-
4488 grsecurity/gracl_policy.c | 1838 ++++++++++++++++++++
4489 grsecurity/gracl_segv.c | 12 +-
4490 grsecurity/grsec_disabled.c | 7 -
4491 grsecurity/grsec_init.c | 15 -
4492 include/linux/gracl.h | 43 +-
4493 include/linux/grinternal.h | 1 -
4494 include/linux/grsecurity.h | 1 -
4495 include/linux/sched.h | 2 +
4496 12 files changed, 3082 insertions(+), 2787 deletions(-)
4497
4498 commit cdfd01e44815f0e0cb700b5597b3b2eb44352903
4499 Author: Brad Spengler <spender@grsecurity.net>
4500 Date: Sun Nov 24 15:08:28 2013 -0500
4501
4502 compile fix for recent GRKERNSEC_CHROOT_INITRD change
4503
4504 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4505
4506 init/main.c | 8 +++-----
4507 1 files changed, 3 insertions(+), 5 deletions(-)
4508
4509 commit 3ac09de20b5b3967c77a59ed064cd05e607ecca8
4510 Author: Brad Spengler <spender@grsecurity.net>
4511 Date: Sat Nov 23 18:27:37 2013 -0500
4512
4513 Make the recent usermode_helper protection race-free as far as userland is concerned by creating a copy of the path to be executed, then check against that copied path instead of the still-mutable original path
4514
4515 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4516
4517 include/linux/kmod.h | 3 +++
4518 kernel/kmod.c | 13 +++++++++++++
4519 2 files changed, 16 insertions(+), 0 deletions(-)
4520
4521 commit 7fc979f0a8ffdc501b57e0c9c8b5251b8458d98e
4522 Author: Brad Spengler <spender@grsecurity.net>
4523 Date: Sat Nov 23 17:20:15 2013 -0500
4524
4525 Produce a UDEREF message when faulting on kernel access to a non-present page in the userland range. This is purely for consistency of logs, due to there being no domain present to fault based on. An "Unable to handle kernel fault.." oops would already (and still is) generated for these cases, triggering grsec's bruteforce prevention.
4526
4527 Reported by acez on IRC
4528
4529 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4530
4531 arch/arm/mm/fault.c | 11 ++++++++---
4532 1 files changed, 8 insertions(+), 3 deletions(-)
4533
4534 commit 9b5ffb45694e2381a73275b029d1cde3ba090555
4535 Author: Brad Spengler <spender@grsecurity.net>
4536 Date: Sat Nov 23 16:56:46 2013 -0500
4537
4538 Make GRKERNSEC_CHROOT_INITRD depend on the correct initrd option, Also make sure we mark init as run if no initrd was used. Though this should already be enforced in grsec_chroot.c, this should future-proof the feature a bit in case userland somehow changes drastically.
4539
4540 Conflicts:
4541
4542 init/main.c
4543
4544 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4545
4546 grsecurity/Kconfig | 2 +-
4547 grsecurity/grsec_chroot.c | 2 +-
4548 init/main.c | 15 +++++++++++++++
4549 3 files changed, 17 insertions(+), 2 deletions(-)
4550
4551 commit 71ea2cc2fb940a4eaa6a4f6e5084efc91197bed1
4552 Author: Brad Spengler <spender@grsecurity.net>
4553 Date: Sat Nov 23 16:33:20 2013 -0500
4554
4555 limit all usermode helper binaries to /sbin, all other attempts will be logged and rejected
4556
4557 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4558
4559 kernel/kmod.c | 8 ++++++++
4560 1 files changed, 8 insertions(+), 0 deletions(-)
4561
4562 commit 36895fdbcf3b528221475a894076611c6340bc6f
4563 Author: Brad Spengler <spender@grsecurity.net>
4564 Date: Sat Nov 23 16:02:01 2013 -0500
4565
4566 perform USERCOPY kernel text checks against the linear mapping on amd64 as well
4567
4568 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4569
4570 fs/exec.c | 8 ++++++++
4571 1 files changed, 8 insertions(+), 0 deletions(-)
4572
4573 commit 47474491a88a18956b3c23a0f8ea5a793aeaaf0b
4574 Author: Brad Spengler <spender@grsecurity.net>
4575 Date: Fri Nov 22 20:31:37 2013 -0500
4576
4577 Revert "Upstream commit: bceaa90240b6019ed73b49965eac7d167610be69"
4578
4579 This reverts commit 8bb32f2682953e1b748a59c4a4363b237c3510df.
4580
4581 It caused errors with traceroute, reported to upstream and fixed with
4582 http://patchwork.ozlabs.org/patch/293614/
4583 But there's no reason for us to maintain this backport as we're
4584 already impervious to recvmsg/msg_name infoleaks
4585
4586 Conflicts:
4587
4588 net/ipv4/ping.c
4589
4590 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4591
4592 net/ieee802154/dgram.c | 3 ++-
4593 net/ipv4/ping.c | 11 +++++++++--
4594 net/ipv4/raw.c | 4 +++-
4595 net/ipv4/udp.c | 7 ++++++-
4596 net/ipv6/raw.c | 4 +++-
4597 net/ipv6/udp.c | 5 ++++-
4598 net/l2tp/l2tp_ip.c | 4 +++-
4599 net/phonet/datagram.c | 9 +++++----
4600 8 files changed, 35 insertions(+), 12 deletions(-)
4601
4602 commit 8aeb360164c3165b8d843b90776f92748cb0826f
4603 Author: Brad Spengler <spender@grsecurity.net>
4604 Date: Thu Nov 14 20:15:51 2013 -0500
4605
4606 GRKERNSEC_HARDEN_IPC should depend on SYSVIPC
4607
4608 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4609
4610 grsecurity/Kconfig | 1 +
4611 1 files changed, 1 insertions(+), 0 deletions(-)
4612
4613 commit 65982aa12f534a722a92dd211e9b2461cac099cd
4614 Author: Brad Spengler <spender@grsecurity.net>
4615 Date: Thu Nov 14 19:07:11 2013 -0500
4616
4617 Not necessary since CPU_V6 is the only bool that would select CPU_USE_DOMAINS and that depended on !PAX_KERNEXEC && !PAX_MEMORY_UDEREF, but this helps make it more obvious that while we make use of domains, CPU_USE_DOMAINS is disabled as far as the kernel knows
4618
4619 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4620
4621 arch/arm/mm/Kconfig | 2 +-
4622 1 files changed, 1 insertions(+), 1 deletions(-)
4623
4624 commit c07ac5819bfcbb29fe75896f409517acc95f09d0
4625 Author: Brad Spengler <spender@grsecurity.net>
4626 Date: Thu Nov 14 19:01:59 2013 -0500
4627
4628 Add a new feature: GRKERNSEC_HARDEN_IPC in response to Tim Brown's research on overly-permissive shared memory found in hundreds of areas in Linux distros: http://labs.portcullis.co.uk/whitepapers/memory-squatting-attacks-on-system-v-shared-memory/
4629
4630 Will let this sit in -test for a while to weed out any app incompatibilities
4631
4632 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4633
4634 grsecurity/Kconfig | 17 +++++++++++++++++
4635 grsecurity/Makefile | 2 +-
4636 grsecurity/grsec_init.c | 4 ++++
4637 grsecurity/grsec_ipc.c | 22 ++++++++++++++++++++++
4638 grsecurity/grsec_sysctl.c | 9 +++++++++
4639 include/linux/grinternal.h | 1 +
4640 include/linux/grmsg.h | 1 +
4641 ipc/util.c | 5 +++++
4642 8 files changed, 60 insertions(+), 1 deletions(-)
4643
4644 commit 7a03cf3e714a075ce6d1b1c4e2cbe269968c32d9
4645 Author: Brad Spengler <spender@grsecurity.net>
4646 Date: Mon Nov 11 10:48:10 2013 -0500
4647
4648 Fix the overflowable range check just to be correct. Referenced in http://www.x90c.org/advisories/xadv-2013003_linux_kernel.txt but I believe this to be unexploitable due to bounds checks on 'count' from rw_verify_area() in fs/read_write.c
4649
4650 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4651
4652 drivers/video/arcfb.c | 2 +-
4653 1 files changed, 1 insertions(+), 1 deletions(-)
4654
4655 commit 1822dec9af44fef43a2092fbb98d986d40688e92
4656 Author: Brad Spengler <spender@grsecurity.net>
4657 Date: Sun Nov 10 22:01:33 2013 -0500
4658
4659 Add missing include
4660
4661 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4662
4663 fs/proc/proc_sysctl.c | 1 +
4664 1 files changed, 1 insertions(+), 0 deletions(-)
4665
4666 commit 252aafc936113beb2c4b654c51ca4f69e34e7ece
4667 Author: Brad Spengler <spender@grsecurity.net>
4668 Date: Sun Nov 10 17:50:12 2013 -0500
4669
4670 add an option to handle old ARM userlands to properly toggle the KUSER_HELPERS option: GRKERNSEC_OLD_ARM_USERLAND
4671
4672 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4673
4674 arch/arm/mm/Kconfig | 2 +-
4675 grsecurity/Kconfig | 14 ++++++++++++++
4676 2 files changed, 15 insertions(+), 1 deletions(-)
4677
4678 commit d91a8c0aac4fd7d52d861fa389d094b0dbe69d8b
4679 Author: Brad Spengler <spender@grsecurity.net>
4680 Date: Sun Nov 10 15:19:27 2013 -0500
4681
4682 On ARM (and other arches) we were defaulting mmap_min_addr to 64K if the LSM-based mmap_min_addr was disabled in config. This caused non-root execs to fail in some cases (via SIGKILL during ELF loading). Fix this by setting a proper default on these architectures like set on the LSM-based mmap_min_addr.
4683
4684 Thanks to acez from IRC for debugging.
4685
4686 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4687
4688 mm/Kconfig | 1 +
4689 1 files changed, 1 insertions(+), 0 deletions(-)
4690
4691 commit 521a19248a7f3ae875854835be586208d7e94362
4692 Author: Brad Spengler <spender@grsecurity.net>
4693 Date: Sun Nov 10 13:54:25 2013 -0500
4694
4695 Compatibility fix for LXC: Don't require CAP_SYS_ADMIN to modify our own net namespace's sysctl values, use a CAP_NET_ADMIN check within the user namespace of the process performing the modification CAP_SYS_ADMIN is still required for any other sysctl modification, including modification of sysctls of a net namespace other than our own
4696
4697 This allows for LXC containers to not need CAP_SYS_ADMIN to be able to set up their namespace's
4698 networking
4699
4700 Thanks to ncopa from IRC for testing
4701
4702 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4703
4704 fs/proc/proc_sysctl.c | 9 +++++++--
4705 1 files changed, 7 insertions(+), 2 deletions(-)
4706
4707 commit 88abc9f686cef116d741924e96c8264c6feeb280
4708 Author: Brad Spengler <spender@grsecurity.net>
4709 Date: Wed Nov 6 16:23:36 2013 -0500
4710
4711 Force on DEBUG_LIST so all users can benefit from safe linking/unlinking
4712
4713 Conflicts:
4714
4715 security/Kconfig
4716
4717 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4718
4719 security/Kconfig | 1 +
4720 1 files changed, 1 insertions(+), 0 deletions(-)
4721
4722 commit ca2e0bc771e1868a1b993013d725ab602d8e0454
4723 Author: Brad Spengler <spender@grsecurity.net>
4724 Date: Wed Nov 6 16:19:21 2013 -0500
4725
4726 change DEBUG_LIST WARNs back to BUGs so they can benefit from the kernel bruteforce deterrence
4727
4728 Conflicts:
4729
4730 lib/list_debug.c
4731
4732 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4733
4734 lib/list_debug.c | 65 ++++++++++++++++++++++++++++++++++-------------------
4735 1 files changed, 42 insertions(+), 23 deletions(-)
4736
4737 commit 9f9fda5bdad944095d49943719343439cebceb34
4738 Author: Linus Torvalds <torvalds@linux-foundation.org>
4739 Date: Tue Oct 29 10:21:34 2013 -0700
4740
4741 Fixed a little differently than Linus...
4742
4743 Obfuscated upstream security commit: 7314e613d5ff9f0934f7a0f74ed7973b903315d1
4744
4745 Fix a few incorrectly checked [io_]remap_pfn_range() calls
4746
4747 Nico Golde reports a few straggling uses of [io_]remap_pfn_range() that
4748 really should use the vm_iomap_memory() helper. This trivially converts
4749 two of them to the helper, and comments about why the third one really
4750 needs to continue to use remap_pfn_range(), and adds the missing size
4751 check.
4752
4753 Reported-by: Nico Golde <nico@ngolde.de>
4754 Cc: stable@kernel.org
4755 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org.
4756
4757 Conflicts:
4758
4759 drivers/uio/uio.c
4760 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4761
4762 drivers/uio/uio.c | 6 +++++-
4763 1 files changed, 5 insertions(+), 1 deletions(-)
4764
4765 commit 0f332bf501f3c2035c63fc3e58f07be9cc96924b
4766 Author: Brad Spengler <spender@grsecurity.net>
4767 Date: Fri Sep 27 21:06:17 2013 -0400
4768
4769 Don't log attempts to create a socket with a family that the kernel doesn't support Further, if the kernel doesn't support the socket family, instead of returning -EACCES, return -EAFNOSUPPORT -- should resolve the need to allow ipv6 sockets in RBAC policy despite a kernel that doesn't support ipv6 observed during a Debian userland update necessitating a policy change
4770
4771 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4772
4773 grsecurity/gracl_ip.c | 7 +++----
4774 net/socket.c | 26 +++++++++++++++-----------
4775 2 files changed, 18 insertions(+), 15 deletions(-)
4776
4777 commit d6aeef5cb3bbaa011f74eb38133043965302cc32
4778 Author: Brad Spengler <spender@grsecurity.net>
4779 Date: Sun Sep 22 18:14:07 2013 -0400
4780
4781 Revert "Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db"
4782
4783 This reverts commit 7a430f97a2f6538693cb8e354c67c874f24c5ebf.
4784
4785 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4786
4787 net/netlink/genetlink.c | 7 -------
4788 1 files changed, 0 insertions(+), 7 deletions(-)
4789
4790 commit 02b18c56607ff93f00659ee100517bba70972aca
4791 Author: Brad Spengler <spender@grsecurity.net>
4792 Date: Sun Sep 15 09:19:21 2013 -0400
4793
4794 remove unnecessary check from when protocol was signed
4795
4796 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4797
4798 net/phonet/af_phonet.c | 2 +-
4799 1 files changed, 1 insertions(+), 1 deletions(-)
4800
4801 commit c8991fc98b032a2338b9fda708d2dad227fbcd83
4802 Author: Brad Spengler <spender@grsecurity.net>
4803 Date: Sat Sep 14 21:12:45 2013 -0400
4804
4805 Fix invalid dependency causing warning: warning: (DEBUG_WW_MUTEX_SLOWPATH) selects DEBUG_LOCK_ALLOC which has unmet direct dependencies (DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT && !PAX_CONSTIFY_PLUGIN)
4806
4807 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4808
4809 lib/Kconfig.debug | 2 +-
4810 1 files changed, 1 insertions(+), 1 deletions(-)
4811
4812 commit c63230b915355cea2649fac21c9469a8c3f88876
4813 Author: Brad Spengler <spender@grsecurity.net>
4814 Date: Sat Sep 14 19:16:48 2013 -0400
4815
4816 Fix a bad git merge, re-applied a previously reverted patch
4817
4818 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4819
4820 arch/x86/include/asm/processor.h | 4 ++--
4821 arch/x86/kernel/cpu/common.c | 2 +-
4822 arch/x86/kernel/process_64.c | 2 +-
4823 arch/x86/kernel/smpboot.c | 2 +-
4824 arch/x86/xen/smp.c | 2 +-
4825 5 files changed, 6 insertions(+), 6 deletions(-)
4826
4827 commit 0dcfe7e8eac4751d2bbabc48fb63a0118bb353eb
4828 Author: Brad Spengler <spender@grsecurity.net>
4829 Date: Sat Sep 14 16:56:37 2013 -0400
4830
4831 finish porting namei.c
4832
4833 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4834
4835 fs/namei.c | 12 +++++++++++-
4836 1 files changed, 11 insertions(+), 1 deletions(-)
4837
4838 commit 89d5374f91319363bb79c916764c747f3229759c
4839 Author: Brad Spengler <spender@grsecurity.net>
4840 Date: Sat Sep 14 16:44:08 2013 -0400
4841
4842 cred->user -> current_user()
4843
4844 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4845
4846 fs/exec.c | 2 +-
4847 1 files changed, 1 insertions(+), 1 deletions(-)
4848
4849 commit fefeb37bc66cf8e1b8c32a1f1e9776f6b701b245
4850 Author: Brad Spengler <spender@grsecurity.net>
4851 Date: Sat Sep 14 16:36:24 2013 -0400
4852
4853 Fix GRKERNSEC_DENYUSB dependency as reported by Victor Roman of Funtoo Linux
4854
4855 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4856
4857 grsecurity/Kconfig | 3 ++-
4858 1 files changed, 2 insertions(+), 1 deletions(-)
4859
4860 commit e4a184da44ae23ab3ee9e250d4bc38050e4a3533
4861 Author: Brad Spengler <spender@grsecurity.net>
4862 Date: Thu Sep 5 19:36:23 2013 -0400
4863
4864 fix dependencies for GRKERNSEC_ROFS / GRKERNSEC_DENYUSB
4865
4866 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4867
4868 grsecurity/Kconfig | 3 ++-
4869 1 files changed, 2 insertions(+), 1 deletions(-)
4870
4871 commit c96e77a4ec0b7045e4e3e8f6d33937c078a79cb6
4872 Author: Brad Spengler <spender@grsecurity.net>
4873 Date: Thu Sep 5 19:17:02 2013 -0400
4874
4875 Allow the deny_new_usb sysctl to be toggled off by a user with CAP_SYS_ADMIN. This allows for more inventive uses of the feature that would be impossible otherwise (like toggling it while the screen is locked, etc)
4876
4877 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4878
4879 grsecurity/grsec_sysctl.c | 4 +---
4880 1 files changed, 1 insertions(+), 3 deletions(-)
4881
4882 commit 600c8f5a6a7b57e4ecbb16d10eab3bdfae399299
4883 Author: Brad Spengler <spender@grsecurity.net>
4884 Date: Thu Sep 5 18:41:49 2013 -0400
4885
4886 Add a new GRKERNSEC_DENYUSB_FORCE option that achieves what GRKERNSEC_DENYUSB does without the need for a sysctl toggle, for users who know they want the functionality but don't want to bother with modifying init scripts
4887
4888 Also eliminate reset_security_ops() as a ROP target when
4889 SECURITY_SELINUX_DISABLE is disabled as it's the only user
4890
4891 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4892
4893 grsecurity/Kconfig | 17 ++++++++++++++++-
4894 grsecurity/grsec_init.c | 3 +++
4895 grsecurity/grsec_sysctl.c | 2 +-
4896 3 files changed, 20 insertions(+), 2 deletions(-)
4897
4898 commit 979cb67c276ef34486ed64bb58ed30020bc8a53f
4899 Author: Brad Spengler <spender@grsecurity.net>
4900 Date: Fri Aug 30 17:11:11 2013 -0400
4901
4902 fix compilation with GRKERNSEC_DENYUSB as reported by slashbeast
4903
4904 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4905
4906 grsecurity/grsec_sysctl.c | 7 ++++---
4907 1 files changed, 4 insertions(+), 3 deletions(-)
4908
4909 commit d259a636db5500db5e3ddacab82857db244bf46f
4910 Author: Brad Spengler <spender@grsecurity.net>
4911 Date: Wed Aug 28 20:42:39 2013 -0400
4912
4913 add export of gr_handle_new_usb()
4914
4915 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4916
4917 grsecurity/grsec_usb.c | 2 ++
4918 1 files changed, 2 insertions(+), 0 deletions(-)
4919
4920 commit 73872d212f992833add967be12de9628941bdd5b
4921 Author: Brad Spengler <spender@grsecurity.net>
4922 Date: Wed Aug 28 19:24:47 2013 -0400
4923
4924 Add new GRKERNSEC_DENYUSB feature that I've been sitting on for a bit Kees' recent findings are motivation enough to publish it
4925
4926 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4927
4928 drivers/usb/core/hub.c | 5 +++++
4929 grsecurity/Kconfig | 20 ++++++++++++++++++++
4930 grsecurity/Makefile | 3 ++-
4931 grsecurity/grsec_init.c | 1 +
4932 grsecurity/grsec_sysctl.c | 11 +++++++++++
4933 grsecurity/grsec_usb.c | 13 +++++++++++++
4934 include/linux/grinternal.h | 1 +
4935 include/linux/grsecurity.h | 2 ++
4936 8 files changed, 55 insertions(+), 1 deletions(-)
4937
4938 commit 57a621395b231025d33da789f7593da0e9c591a4
4939 Author: Kees Cook <keescook@chromium.org>
4940 Date: Wed Aug 14 09:14:34 2013 -0700
4941
4942 HID: steelseries: validate output report details
4943
4944 A HID device could send a malicious output report that would cause the
4945 steelseries HID driver to write beyond the output report allocation
4946 during initialization, causing a heap overflow:
4947
4948 [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410
4949 ...
4950 [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten
4951
4952 CVE-2013-2891
4953
4954 Signed-off-by: Kees Cook <keescook@chromium.org>
4955 Cc: stable@kernel.org
4956 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4957
4958 drivers/hid/hid-steelseries.c | 5 +++++
4959 1 files changed, 5 insertions(+), 0 deletions(-)
4960
4961 commit 6261da1c18366e4b2e0ff28781e0a769a2d31d1b
4962 Author: Kees Cook <keescook@chromium.org>
4963 Date: Thu Aug 15 23:21:23 2013 -0700
4964
4965 HID: lenovo-tpkbd: validate output report details
4966
4967 A HID device could send a malicious output report that would cause the
4968 lenovo-tpkbd HID driver to write just beyond the output report allocation
4969 during initialization, causing a heap overflow:
4970
4971 [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009
4972 ...
4973 [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
4974
4975 CVE-2013-2894
4976
4977 Signed-off-by: Kees Cook <keescook@chromium.org>
4978 Cc: stable@kernel.org
4979 Signed-off-by: Brad Spengler <spender@grsecurity.net>
4980
4981 drivers/hid/hid-lenovo-tpkbd.c | 5 +++++
4982 1 files changed, 5 insertions(+), 0 deletions(-)
4983
4984 commit 9a7678270debd6b7c14ed1e91fb502d73bfaee08
4985 Author: Kees Cook <keescook@chromium.org>
4986 Date: Fri Aug 16 00:11:32 2013 -0700
4987
4988 HID: multitouch: validate feature report details
4989
4990 When working on report indexes, always validate that they are in bounds.
4991 Without this, a HID device could report a malicious feature report that
4992 could trick the driver into a heap overflow:
4993
4994 [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500
4995 ...
4996 [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
4997
4998 CVE-2013-2897
4999
5000 Signed-off-by: Kees Cook <keescook@chromium.org>
5001 Cc: stable@kernel.org
5002 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5003
5004 drivers/hid/hid-multitouch.c | 25 ++++++++++++++++++++-----
5005 1 files changed, 20 insertions(+), 5 deletions(-)
5006
5007 commit efb7731d700d5b4568871670ac0841a84f003029
5008 Author: Brad Spengler <spender@grsecurity.net>
5009 Date: Mon Aug 19 22:10:04 2013 -0400
5010
5011 fix bad git merge (call to __cpu_disable_lazy_restore was duplicated) as reported by pipacs
5012
5013 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5014
5015 arch/x86/kernel/smpboot.c | 3 ---
5016 1 files changed, 0 insertions(+), 3 deletions(-)
5017
5018 commit 3469d59da7f6bd0c5838764e5b06bad97193f628
5019 Author: Brad Spengler <spender@grsecurity.net>
5020 Date: Sat Aug 17 12:00:20 2013 -0400
5021
5022 make kallsyms_lookup_size_offset available to approved source files
5023
5024 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5025
5026 include/linux/kallsyms.h | 3 +++
5027 1 files changed, 3 insertions(+), 0 deletions(-)
5028
5029 commit 03b91bfc983379670fd439b2b3fbec633ea6468d
5030 Author: Brad Spengler <spender@grsecurity.net>
5031 Date: Sat Aug 17 11:18:09 2013 -0400
5032
5033 allow use of kallsyms_lookup_name to approved source files
5034
5035 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5036
5037 include/linux/kallsyms.h | 1 +
5038 1 files changed, 1 insertions(+), 0 deletions(-)
5039
5040 commit 2e9828b85e2ab096affe9e8b52cd68d7a0d8839d
5041 Author: Johannes Berg <johannes.berg@intel.com>
5042 Date: Tue Aug 13 09:04:05 2013 +0200
5043
5044 Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db
5045
5046 genetlink: fix family dump race
5047
5048 When dumping generic netlink families, only the first dump call
5049 is locked with genl_lock(), which protects the list of families,
5050 and thus subsequent calls can access the data without locking,
5051 racing against family addition/removal. This can cause a crash.
5052 Fix it - the locking needs to be conditional because the first
5053 time around it's already locked.
5054
5055 A similar bug was reported to me on an old kernel (3.4.47) but
5056 the exact scenario that happened there is no longer possible,
5057 on those kernels the first round wasn't locked either. Looking
5058 at the current code I found the race described above, which had
5059 also existed on the old kernel.
5060
5061 Cc: stable@vger.kernel.org
5062 Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
5063 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5064 Signed-off-by: David S. Miller <davem@davemloft.net>
5065 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5066
5067 net/netlink/genetlink.c | 7 +++++++
5068 1 files changed, 7 insertions(+), 0 deletions(-)
5069
5070 commit aeddd9080b145f520dfdba52e07ffe7ac5c2940a
5071 Author: Brad Spengler <spender@grsecurity.net>
5072 Date: Sat Aug 17 08:58:34 2013 -0400
5073
5074 Fix two harmless compiler warnings
5075
5076 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5077
5078 arch/arm/kernel/process.c | 4 ++--
5079 fs/exec.c | 2 +-
5080 2 files changed, 3 insertions(+), 3 deletions(-)
5081
5082 commit 8953b010e785f55d35e96de6d7913b7e6791d9f9
5083 Author: Brad Spengler <spender@grsecurity.net>
5084 Date: Fri Aug 16 22:46:01 2013 -0400
5085
5086 Fix HIDESYM compatibility with kprobes, as reported by feandil at: http://forums.grsecurity.net/viewtopic.php?t=3701&p=13376#p13376
5087
5088 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5089
5090 include/linux/kallsyms.h | 2 +-
5091 kernel/kprobes.c | 3 +++
5092 2 files changed, 4 insertions(+), 1 deletions(-)
5093
5094 commit 346b6fb51f351bc8a2e52c158794c863b88c730b
5095 Author: Brad Spengler <spender@grsecurity.net>
5096 Date: Sat Aug 10 09:41:40 2013 -0400
5097
5098 propagate the threadstack offset through to the topdown/bottomup allocators on sparc64 hugepages
5099
5100 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5101
5102 arch/sparc/mm/hugetlbpage.c | 12 ++++++++----
5103 1 files changed, 8 insertions(+), 4 deletions(-)
5104
5105 commit 5a95c583a8e74e8b980ae810c3755d7490f9f208
5106 Author: Brad Spengler <spender@grsecurity.net>
5107 Date: Mon Aug 5 17:58:42 2013 -0400
5108
5109 Disable RANDKSTACK for a VirtualBox host as mentioned on the gentoo-hardened bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=382793
5110
5111 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5112
5113 security/Kconfig | 2 +-
5114 1 files changed, 1 insertions(+), 1 deletions(-)
5115
5116 commit be64e6e8a615622f5c8b8feefdbae24dfe1eb13a
5117 Author: Brad Spengler <spender@grsecurity.net>
5118 Date: Mon Aug 5 17:26:40 2013 -0400
5119
5120 Move user namespace capability check to shared create_user_ns code so we cover unshare() as well.
5121
5122 Also kill a trivial 1-line, 22-character upstream kernel DoS, thanks to
5123 user namespaces!
5124
5125 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5126
5127 kernel/fork.c | 17 -----------------
5128 kernel/user_namespace.c | 15 +++++++++++++++
5129 2 files changed, 15 insertions(+), 17 deletions(-)
5130
5131 commit bf41ff82977f5629d76e58b4eec76e78b6e0794c
5132 Author: Brad Spengler <spender@grsecurity.net>
5133 Date: Mon Aug 5 16:05:41 2013 -0400
5134
5135 silence a warning on older gcc
5136
5137 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5138
5139 grsecurity/gracl.c | 2 +-
5140 1 files changed, 1 insertions(+), 1 deletions(-)
5141
5142 commit 80c4d845fa846426a226c1807310670fdc3f4fb9
5143 Author: Brad Spengler <spender@grsecurity.net>
5144 Date: Sat Aug 3 08:31:08 2013 -0400
5145
5146 we only care about mmaps of the beginning of an ELF, filter out all others as suggested by pipacs
5147
5148 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5149
5150 mm/mmap.c | 2 +-
5151 1 files changed, 1 insertions(+), 1 deletions(-)
5152
5153 commit 29f82c7cc74a11260863cea855cb7bb7b79506db
5154 Author: Brad Spengler <spender@grsecurity.net>
5155 Date: Fri Aug 2 23:54:51 2013 -0400
5156
5157 add include
5158
5159 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5160
5161 grsecurity/grsec_log.c | 1 +
5162 1 files changed, 1 insertions(+), 0 deletions(-)
5163
5164 commit b313d3d863fe87ecf4f79f61e9670955df66685e
5165 Author: Brad Spengler <spender@grsecurity.net>
5166 Date: Fri Aug 2 23:49:13 2013 -0400
5167
5168 fix compilation
5169
5170 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5171
5172 include/linux/grinternal.h | 3 ++-
5173 1 files changed, 2 insertions(+), 1 deletions(-)
5174
5175 commit e0b580d61744ac72ba2275fb5211de2bfc570058
5176 Author: Brad Spengler <spender@grsecurity.net>
5177 Date: Fri Aug 2 23:34:35 2013 -0400
5178
5179 Improve PaX reporting (tells when anon mapping is stack or heap) Remove textrel logging option, combine into rwx logging option Enhance RWX logging option to display when PT_GNU_STACK-enabled library is loaded under an MPROTECTed binary Enhance RWX mprotect logging to display stack/heap instead of just anon mapping
5180
5181 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5182
5183 fs/binfmt_elf.c | 37 +++++++++++++++++++++++++++++++++++++
5184 fs/exec.c | 4 ++++
5185 grsecurity/Kconfig | 21 +++++----------------
5186 grsecurity/grsec_init.c | 4 ----
5187 grsecurity/grsec_log.c | 14 ++++++++++++++
5188 grsecurity/grsec_pax.c | 19 ++++++++++++++-----
5189 grsecurity/grsec_sysctl.c | 9 ---------
5190 include/linux/binfmts.h | 1 +
5191 include/linux/grinternal.h | 2 +-
5192 include/linux/grmsg.h | 3 ++-
5193 include/linux/grsecurity.h | 3 ++-
5194 mm/mmap.c | 7 +++++++
5195 mm/mprotect.c | 2 +-
5196 13 files changed, 88 insertions(+), 38 deletions(-)
5197
5198 commit 2860f00640ffc0745e102fc8eea1b4787747a34f
5199 Author: Brad Spengler <spender@grsecurity.net>
5200 Date: Thu Aug 1 18:52:02 2013 -0400
5201
5202 add missing #define
5203
5204 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5205
5206 grsecurity/gracl.c | 1 +
5207 1 files changed, 1 insertions(+), 0 deletions(-)
5208
5209 commit 271a28185b48e1c659c497837e26350f0b98b56b
5210 Author: Brad Spengler <spender@grsecurity.net>
5211 Date: Thu Aug 1 18:43:53 2013 -0400
5212
5213 fix compilation for !COMPAT as reported on the forums
5214
5215 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5216
5217 grsecurity/gracl.c | 195 ++++++++++++++++++++++++++--------------------------
5218 1 files changed, 97 insertions(+), 98 deletions(-)
5219
5220 commit c7b8b1a6d33fb9f2f33b6661d98ccf034bc4fa88
5221 Author: Brad Spengler <spender@grsecurity.net>
5222 Date: Wed Jul 31 17:47:20 2013 -0400
5223
5224 Revert "revert recent PaX change that causes boot failures with 32bit userland"
5225
5226 This reverts commit 23278a1ee1c7738dd1e7005241394d32b82196e4.
5227
5228 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5229
5230 arch/x86/include/asm/processor.h | 4 ++--
5231 arch/x86/kernel/cpu/common.c | 2 +-
5232 arch/x86/kernel/process_64.c | 2 +-
5233 arch/x86/kernel/smpboot.c | 2 +-
5234 arch/x86/xen/smp.c | 2 +-
5235 5 files changed, 6 insertions(+), 6 deletions(-)
5236
5237 commit 506d84be8c4e9db0b655d3f6da2cec92482b610f
5238 Author: Brad Spengler <spender@grsecurity.net>
5239 Date: Wed Jul 31 16:26:58 2013 -0400
5240
5241 compile fix for !COMPAT as mentioned on forums
5242
5243 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5244
5245 grsecurity/gracl.c | 2 ++
5246 1 files changed, 2 insertions(+), 0 deletions(-)
5247
5248 commit 7b7d053d1c9209c6810ee0e82d902d633df55114
5249 Author: Brad Spengler <spender@grsecurity.net>
5250 Date: Tue Jul 30 22:33:14 2013 -0400
5251
5252 perform compat conversion of rlimit infinity
5253
5254 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5255
5256 grsecurity/gracl_compat.c | 10 ++++++++--
5257 1 files changed, 8 insertions(+), 2 deletions(-)
5258
5259 commit f9503913fa6c0b461e5a6c991eb04b8e369e0dd2
5260 Author: Brad Spengler <spender@grsecurity.net>
5261 Date: Tue Jul 30 22:21:40 2013 -0400
5262
5263 remove debugging
5264
5265 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5266
5267 grsecurity/gracl_compat.c | 44 +++++++++++---------------------------------
5268 1 files changed, 11 insertions(+), 33 deletions(-)
5269
5270 commit 4d203a112c51248189db81e89926ed2ccbbf3727
5271 Author: Brad Spengler <spender@grsecurity.net>
5272 Date: Tue Jul 30 22:20:32 2013 -0400
5273
5274 eliminate compat_dev_t
5275
5276 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5277
5278 include/linux/gracl_compat.h | 4 ++--
5279 1 files changed, 2 insertions(+), 2 deletions(-)
5280
5281 commit 98cc5ab35c0f012765475db240189e0d72e9e936
5282 Author: Brad Spengler <spender@grsecurity.net>
5283 Date: Tue Jul 30 22:13:22 2013 -0400
5284
5285 fix compat rlimit size
5286
5287 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5288
5289 grsecurity/gracl_compat.c | 68 +++++++++++++++++++++++++++++-------------
5290 include/linux/gracl_compat.h | 4 +-
5291 2 files changed, 49 insertions(+), 23 deletions(-)
5292
5293 commit aa8d1edbfb648b1b942996d59fa446fd830df989
5294 Author: Brad Spengler <spender@grsecurity.net>
5295 Date: Tue Jul 30 21:20:18 2013 -0400
5296
5297 compile fix
5298
5299 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5300
5301 grsecurity/gracl.c | 4 ++--
5302 1 files changed, 2 insertions(+), 2 deletions(-)
5303
5304 commit 28b7a6a844d93d88bb83383bb6273cdc22c595ad
5305 Author: Brad Spengler <spender@grsecurity.net>
5306 Date: Tue Jul 30 21:14:29 2013 -0400
5307
5308 copy correct pointer size in new compat code
5309
5310 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5311
5312 grsecurity/gracl.c | 8 ++++----
5313 grsecurity/gracl_compat.c | 4 ++--
5314 2 files changed, 6 insertions(+), 6 deletions(-)
5315
5316 commit 9490ca70e30846522d28b6f9ca7caf28cdb7b9e3
5317 Author: Brad Spengler <spender@grsecurity.net>
5318 Date: Tue Jul 30 19:15:50 2013 -0400
5319
5320 compile fix
5321
5322 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5323
5324 grsecurity/gracl_compat.c | 6 ++++++
5325 1 files changed, 6 insertions(+), 0 deletions(-)
5326
5327 commit 5f7d6c7e7e4ef41577b73936595ed1f28649e9e9
5328 Author: Brad Spengler <spender@grsecurity.net>
5329 Date: Tue Jul 30 19:12:46 2013 -0400
5330
5331 remove BUILD_BUG_ONs
5332
5333 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5334
5335 grsecurity/gracl_compat.c | 20 --------------------
5336 1 files changed, 0 insertions(+), 20 deletions(-)
5337
5338 commit 91c416711e2e713d870dc52ce17af0607a82cb75
5339 Author: Brad Spengler <spender@grsecurity.net>
5340 Date: Tue Jul 30 00:18:36 2013 -0400
5341
5342 compile fixes
5343
5344 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5345
5346 grsecurity/gracl_compat.c | 8 ++++----
5347 include/linux/gracl_compat.h | 2 +-
5348 2 files changed, 5 insertions(+), 5 deletions(-)
5349
5350 commit 99cad551389634d849387cf5e2054d9aa2c1c1b4
5351 Author: Brad Spengler <spender@grsecurity.net>
5352 Date: Tue Jul 30 00:16:42 2013 -0400
5353
5354 compile fixes
5355
5356 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5357
5358 grsecurity/gracl.c | 4 ++--
5359 grsecurity/gracl_compat.c | 2 +-
5360 2 files changed, 3 insertions(+), 3 deletions(-)
5361
5362 commit 9ec58c4629d5aba15d09d4a740b83bf4cdb6da90
5363 Author: Brad Spengler <spender@grsecurity.net>
5364 Date: Tue Jul 30 00:13:51 2013 -0400
5365
5366 compile fixes
5367
5368 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5369
5370 grsecurity/gracl.c | 8 ++++----
5371 1 files changed, 4 insertions(+), 4 deletions(-)
5372
5373 commit dd368be2aef36cae4f997fc798087069fb64d442
5374 Author: Brad Spengler <spender@grsecurity.net>
5375 Date: Tue Jul 30 00:11:03 2013 -0400
5376
5377 compile fixes
5378
5379 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5380
5381 grsecurity/gracl_compat.c | 3 +++
5382 1 files changed, 3 insertions(+), 0 deletions(-)
5383
5384 commit 8970e77a91e35ddac604cf96462c600651e94baa
5385 Author: Brad Spengler <spender@grsecurity.net>
5386 Date: Tue Jul 30 00:08:21 2013 -0400
5387
5388 more compile fixes
5389
5390 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5391
5392 grsecurity/gracl.c | 28 ++++++++++++++--------------
5393 1 files changed, 14 insertions(+), 14 deletions(-)
5394
5395 commit d5711d44bf668cdc5d29383e5e16ff884f1991ee
5396 Author: Brad Spengler <spender@grsecurity.net>
5397 Date: Mon Jul 29 23:59:50 2013 -0400
5398
5399 more compile fixes
5400
5401 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5402
5403 grsecurity/gracl.c | 10 +++++++++-
5404 1 files changed, 9 insertions(+), 1 deletions(-)
5405
5406 commit f9bf16c3f73ff249219c1a7d457f10b5f5448da1
5407 Author: Brad Spengler <spender@grsecurity.net>
5408 Date: Mon Jul 29 23:56:47 2013 -0400
5409
5410 additional compile fixes
5411
5412 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5413
5414 grsecurity/gracl.c | 59 +++++++++++++++++++++++++++++++++++++++++++--------
5415 1 files changed, 49 insertions(+), 10 deletions(-)
5416
5417 commit afb88b8065edeb572c4d7992c6916d19a8bbc483
5418 Author: Brad Spengler <spender@grsecurity.net>
5419 Date: Mon Jul 29 23:47:15 2013 -0400
5420
5421 fix typo
5422
5423 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5424
5425 grsecurity/gracl.c | 2 +-
5426 1 files changed, 1 insertions(+), 1 deletions(-)
5427
5428 commit 981fbde7260e575f99c7c9fc83239fca752cb543
5429 Author: Brad Spengler <spender@grsecurity.net>
5430 Date: Mon Jul 29 23:46:59 2013 -0400
5431
5432 compile fixes
5433
5434 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5435
5436 grsecurity/gracl.c | 53 ++++++++++++++++++++++++++++++++++++++-------------
5437 1 files changed, 39 insertions(+), 14 deletions(-)
5438
5439 commit c3ebfc69b7c5c12f54ee8b2c34776c503eb825f5
5440 Author: Brad Spengler <spender@grsecurity.net>
5441 Date: Mon Jul 29 23:22:44 2013 -0400
5442
5443 Initial commit of compat RBAC loading Permits 32bit gradm to load policy for a 64bit kernel
5444
5445 Also removed code duplication for copying strings into the kernel
5446
5447 Work performed as part of sponsorship
5448
5449 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5450
5451 grsecurity/Makefile | 4 +
5452 grsecurity/gracl.c | 315 +++++++++++++++++++++++-------------------
5453 grsecurity/gracl_compat.c | 270 ++++++++++++++++++++++++++++++++++++
5454 include/linux/gracl_compat.h | 156 +++++++++++++++++++++
5455 4 files changed, 603 insertions(+), 142 deletions(-)
5456
5457 commit 5f3672544ae20bb1a595a849b304d1c168254e2b
5458 Author: Brad Spengler <spender@grsecurity.net>
5459 Date: Tue Jul 16 20:40:24 2013 -0400
5460
5461 allow viewing of ecryptfs version under SYSFS_RESTRICT
5462
5463 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5464
5465 fs/sysfs/dir.c | 2 +-
5466 1 files changed, 1 insertions(+), 1 deletions(-)
5467
5468 commit f892f6cf3070e516828ef6b81c39abdec77d7e93
5469 Author: Brad Spengler <spender@grsecurity.net>
5470 Date: Sun Jul 14 11:49:17 2013 -0400
5471
5472 Update PaX fix, just return the error
5473
5474 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5475
5476 mm/madvise.c | 11 +++++------
5477 1 files changed, 5 insertions(+), 6 deletions(-)
5478
5479 commit bacca56a4c5ce1734004a310588d710ab642c14d
5480 Author: Brad Spengler <spender@grsecurity.net>
5481 Date: Sun Jul 14 11:36:00 2013 -0400
5482
5483 Fix madvise oops reported by Peter Keel
5484
5485 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5486
5487 mm/madvise.c | 11 ++++++-----
5488 1 files changed, 6 insertions(+), 5 deletions(-)
5489
5490 commit bb802e55264979a3517687cc4e3ea4043187a4d6
5491 Author: Brad Spengler <spender@grsecurity.net>
5492 Date: Tue Jul 9 22:04:59 2013 -0400
5493
5494 compile fixes
5495
5496 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5497
5498 fs/exec.c | 2 +-
5499 mm/mmap.c | 4 ++--
5500 2 files changed, 3 insertions(+), 3 deletions(-)
5501
5502 commit 80af0d78732fcd1345751765d6bdba75e4453096
5503 Author: Brad Spengler <spender@grsecurity.net>
5504 Date: Sat Sep 14 16:15:10 2013 -0400
5505
5506 Initial port of grsecurity to 3.11 using new git method
5507
5508 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5509
5510 Documentation/kernel-parameters.txt | 4 +
5511 Makefile | 8 +-
5512 arch/alpha/include/asm/cache.h | 4 +-
5513 arch/alpha/kernel/osf_sys.c | 12 +-
5514 arch/arm/include/asm/thread_info.h | 3 +-
5515 arch/arm/kernel/ptrace.c | 9 +
5516 arch/arm/kernel/traps.c | 7 +-
5517 arch/arm/mm/fault.c | 29 +-
5518 arch/arm/mm/mmap.c | 8 +-
5519 arch/avr32/include/asm/cache.h | 4 +-
5520 arch/blackfin/include/asm/cache.h | 3 +-
5521 arch/cris/include/arch-v10/arch/cache.h | 3 +-
5522 arch/cris/include/arch-v32/arch/cache.h | 3 +-
5523 arch/frv/include/asm/cache.h | 3 +-
5524 arch/frv/mm/elf-fdpic.c | 4 +-
5525 arch/hexagon/include/asm/cache.h | 6 +-
5526 arch/ia64/include/asm/cache.h | 3 +-
5527 arch/ia64/kernel/sys_ia64.c | 2 +
5528 arch/ia64/mm/hugetlbpage.c | 2 +
5529 arch/m32r/include/asm/cache.h | 4 +-
5530 arch/m68k/include/asm/cache.h | 4 +-
5531 arch/metag/mm/hugetlbpage.c | 1 +
5532 arch/microblaze/include/asm/cache.h | 3 +-
5533 arch/mips/include/asm/cache.h | 3 +-
5534 arch/mips/include/asm/thread_info.h | 9 +-
5535 arch/mips/kernel/ptrace.c | 9 +
5536 arch/mips/mm/mmap.c | 4 +-
5537 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
5538 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
5539 arch/openrisc/include/asm/cache.h | 4 +-
5540 arch/parisc/include/asm/cache.h | 5 +-
5541 arch/parisc/kernel/sys_parisc.c | 13 +-
5542 arch/powerpc/include/asm/cache.h | 3 +-
5543 arch/powerpc/kernel/process.c | 10 +-
5544 arch/powerpc/kernel/ptrace.c | 14 +
5545 arch/powerpc/kernel/traps.c | 5 +
5546 arch/s390/include/asm/cache.h | 4 +-
5547 arch/score/include/asm/cache.h | 4 +-
5548 arch/sh/include/asm/cache.h | 3 +-
5549 arch/sh/mm/mmap.c | 6 +-
5550 arch/sparc/include/asm/cache.h | 4 +-
5551 arch/sparc/include/asm/thread_info_64.h | 9 +-
5552 arch/sparc/kernel/process_32.c | 6 +-
5553 arch/sparc/kernel/process_64.c | 4 +-
5554 arch/sparc/kernel/ptrace_64.c | 14 +
5555 arch/sparc/kernel/sys_sparc_64.c | 8 +-
5556 arch/sparc/kernel/syscalls.S | 8 +-
5557 arch/sparc/kernel/traps_32.c | 8 +-
5558 arch/sparc/kernel/traps_64.c | 28 +-
5559 arch/sparc/kernel/unaligned_64.c | 2 +-
5560 arch/sparc/mm/fault_64.c | 2 +-
5561 arch/sparc/mm/hugetlbpage.c | 3 +-
5562 arch/tile/include/asm/cache.h | 3 +-
5563 arch/tile/mm/hugetlbpage.c | 2 +
5564 arch/um/include/asm/cache.h | 3 +-
5565 arch/unicore32/include/asm/cache.h | 6 +-
5566 arch/x86/Kconfig | 5 +-
5567 arch/x86/ia32/ia32_aout.c | 2 +
5568 arch/x86/include/asm/thread_info.h | 8 +-
5569 arch/x86/kernel/dumpstack.c | 8 +
5570 arch/x86/kernel/entry_32.S | 2 +-
5571 arch/x86/kernel/entry_64.S | 2 +-
5572 arch/x86/kernel/ioport.c | 13 +
5573 arch/x86/kernel/ptrace.c | 14 +
5574 arch/x86/kernel/signal.c | 9 +-
5575 arch/x86/kernel/smpboot.c | 3 +
5576 arch/x86/kernel/sys_i386_32.c | 9 +-
5577 arch/x86/kernel/sys_x86_64.c | 8 +-
5578 arch/x86/kernel/verify_cpu.S | 1 +
5579 arch/x86/kernel/vm86_32.c | 1 +
5580 arch/x86/mm/fault.c | 12 +-
5581 arch/x86/mm/hugetlbpage.c | 15 +-
5582 arch/x86/mm/init.c | 66 +-
5583 arch/x86/net/bpf_jit_comp.c | 126 +-
5584 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
5585 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
5586 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
5587 drivers/cdrom/cdrom.c | 2 +-
5588 drivers/char/Kconfig | 4 +-
5589 drivers/char/genrtc.c | 1 +
5590 drivers/char/mem.c | 17 +
5591 drivers/char/random.c | 14 +
5592 drivers/gpu/drm/drm_info.c | 4 +
5593 drivers/hid/hid-wiimote-debug.c | 2 +-
5594 drivers/media/radio/radio-cadet.c | 2 +-
5595 drivers/message/fusion/mptbase.c | 9 +
5596 drivers/net/bonding/bond_main.c | 1 +
5597 drivers/net/phy/mdio-bitbang.c | 1 +
5598 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
5599 drivers/pci/proc.c | 9 +
5600 drivers/rtc/rtc-dev.c | 3 +
5601 drivers/tty/sysrq.c | 2 +-
5602 drivers/tty/vt/keyboard.c | 22 +-
5603 drivers/video/logo/logo_linux_clut224.ppm | 2720 ++++++++------------
5604 drivers/xen/xenfs/xenstored.c | 5 +
5605 fs/attr.c | 1 +
5606 fs/autofs4/waitq.c | 9 +
5607 fs/binfmt_aout.c | 7 +
5608 fs/binfmt_elf.c | 3 +-
5609 fs/btrfs/ioctl.c | 6 +-
5610 fs/compat.c | 20 +-
5611 fs/coredump.c | 11 +-
5612 fs/debugfs/inode.c | 4 +
5613 fs/exec.c | 184 ++-
5614 fs/ext2/balloc.c | 4 +-
5615 fs/ext3/balloc.c | 4 +-
5616 fs/fcntl.c | 5 +
5617 fs/file.c | 4 +
5618 fs/filesystems.c | 4 +
5619 fs/fs_struct.c | 13 +-
5620 fs/hugetlbfs/inode.c | 5 +-
5621 fs/namei.c | 218 ++-
5622 fs/namespace.c | 16 +
5623 fs/open.c | 38 +
5624 fs/proc/Kconfig | 10 +-
5625 fs/proc/array.c | 59 +-
5626 fs/proc/base.c | 166 ++-
5627 fs/proc/cmdline.c | 4 +
5628 fs/proc/devices.c | 4 +
5629 fs/proc/fd.c | 17 +-
5630 fs/proc/inode.c | 4 +
5631 fs/proc/kcore.c | 3 +
5632 fs/proc/proc_net.c | 12 +
5633 fs/proc/proc_sysctl.c | 43 +-
5634 fs/proc/root.c | 8 +
5635 fs/proc/task_mmu.c | 75 +-
5636 fs/readdir.c | 19 +
5637 fs/select.c | 2 +
5638 fs/seq_file.c | 12 +-
5639 fs/stat.c | 19 +-
5640 fs/sysfs/dir.c | 12 +
5641 fs/utimes.c | 7 +
5642 fs/xattr.c | 19 +-
5643 grsecurity/Kconfig | 2 +-
5644 grsecurity/gracl_fs.c | 6 +-
5645 include/linux/capability.h | 5 +
5646 include/linux/cred.h | 3 +
5647 include/linux/fs.h | 10 +
5648 include/linux/fsnotify.h | 6 +
5649 include/linux/kallsyms.h | 14 +-
5650 include/linux/kmod.h | 2 +
5651 include/linux/mm.h | 1 +
5652 include/linux/perf_event.h | 13 +-
5653 include/linux/printk.h | 3 +-
5654 include/linux/sched.h | 24 +-
5655 include/linux/security.h | 1 +
5656 include/linux/seq_file.h | 3 +
5657 include/linux/shm.h | 4 +
5658 include/linux/skbuff.h | 3 +
5659 include/linux/slab.h | 9 -
5660 include/linux/sysctl.h | 2 +
5661 include/linux/thread_info.h | 2 +
5662 include/linux/uidgid.h | 5 +
5663 include/linux/vermagic.h | 9 +-
5664 include/uapi/linux/personality.h | 1 +
5665 init/Kconfig | 3 +-
5666 init/main.c | 14 +
5667 ipc/mqueue.c | 1 +
5668 ipc/shm.c | 28 +
5669 kernel/capability.c | 40 +-
5670 kernel/cgroup.c | 2 +-
5671 kernel/compat.c | 1 +
5672 kernel/configs.c | 11 +
5673 kernel/cred.c | 110 +-
5674 kernel/events/core.c | 14 +-
5675 kernel/exit.c | 10 +-
5676 kernel/fork.c | 41 +-
5677 kernel/futex.c | 1 +
5678 kernel/kallsyms.c | 9 +
5679 kernel/kcmp.c | 4 +
5680 kernel/kmod.c | 64 +-
5681 kernel/kprobes.c | 4 +-
5682 kernel/ksysfs.c | 2 +
5683 kernel/locking/lockdep_proc.c | 10 +-
5684 kernel/module.c | 81 +-
5685 kernel/panic.c | 2 +-
5686 kernel/pid.c | 19 +-
5687 kernel/posix-timers.c | 7 +
5688 kernel/printk/printk.c | 5 +
5689 kernel/ptrace.c | 20 +-
5690 kernel/resource.c | 10 +
5691 kernel/sched/core.c | 6 +-
5692 kernel/signal.c | 37 +-
5693 kernel/sys.c | 45 +-
5694 kernel/sysctl.c | 69 +-
5695 kernel/taskstats.c | 6 +
5696 kernel/time.c | 5 +
5697 kernel/time/timekeeping.c | 1 +
5698 kernel/time/timer_list.c | 12 +
5699 kernel/time/timer_stats.c | 10 +-
5700 lib/Kconfig.debug | 5 +-
5701 lib/is_single_threaded.c | 3 +
5702 mm/Kconfig | 4 +-
5703 mm/filemap.c | 1 +
5704 mm/kmemleak.c | 4 +-
5705 mm/mempolicy.c | 12 +-
5706 mm/migrate.c | 3 +-
5707 mm/mlock.c | 3 +
5708 mm/mmap.c | 63 +-
5709 mm/mprotect.c | 8 +
5710 mm/process_vm_access.c | 6 +
5711 mm/slab.c | 2 +-
5712 mm/slub.c | 14 +-
5713 mm/vmalloc.c | 4 +
5714 mm/vmstat.c | 18 +-
5715 net/core/dev_ioctl.c | 4 +
5716 net/core/sock_diag.c | 7 +
5717 net/ipv4/inet_hashtables.c | 5 +
5718 net/ipv4/ip_sockglue.c | 3 +-
5719 net/ipv4/tcp_input.c | 4 +-
5720 net/ipv4/tcp_ipv4.c | 24 +-
5721 net/ipv4/tcp_minisocks.c | 9 +-
5722 net/ipv4/tcp_timer.c | 11 +
5723 net/ipv4/udp.c | 24 +
5724 net/ipv6/tcp_ipv6.c | 23 +-
5725 net/ipv6/udp.c | 4 +
5726 net/netfilter/Kconfig | 10 +
5727 net/netfilter/Makefile | 1 +
5728 net/netfilter/nf_conntrack_core.c | 8 +
5729 net/netrom/af_netrom.c | 1 -
5730 net/phonet/af_phonet.c | 2 +-
5731 net/socket.c | 66 +-
5732 net/sysctl_net.c | 2 +-
5733 net/unix/af_unix.c | 31 +-
5734 security/Kconfig | 341 +++-
5735 security/commoncap.c | 29 +
5736 security/min_addr.c | 2 +
5737 security/tomoyo/mount.c | 4 +
5738 security/yama/Kconfig | 2 +-
5739 229 files changed, 4100 insertions(+), 2025 deletions(-)
5740
5741 commit 75586073addae35174967d77e1b985e6b534e3f8
5742 Author: Brad Spengler <spender@grsecurity.net>
5743 Date: Tue Jul 9 20:57:40 2013 -0400
5744
5745 Commit merge of new files and rejected patches
5746
5747 Signed-off-by: Brad Spengler <spender@grsecurity.net>
5748
5749 arch/arm/include/asm/thread_info.h | 6 +-
5750 arch/arm/kernel/process.c | 4 +-
5751 arch/powerpc/include/asm/thread_info.h | 7 +-
5752 arch/powerpc/mm/slice.c | 2 +-
5753 arch/sparc/kernel/process_64.c | 4 +-
5754 arch/x86/kernel/vm86_32.c | 15 +
5755 fs/coredump.c | 1 +
5756 fs/ext4/balloc.c | 4 +-
5757 fs/namei.c | 7 +
5758 fs/namespace.c | 8 +
5759 fs/pipe.c | 2 +-
5760 fs/proc/inode.c | 13 +
5761 fs/proc/internal.h | 3 +
5762 grsecurity/Kconfig | 1054 +++++++++
5763 grsecurity/Makefile | 38 +
5764 grsecurity/gracl.c | 4073 ++++++++++++++++++++++++++++++++
5765 grsecurity/gracl_alloc.c | 105 +
5766 grsecurity/gracl_cap.c | 110 +
5767 grsecurity/gracl_fs.c | 431 ++++
5768 grsecurity/gracl_ip.c | 387 +++
5769 grsecurity/gracl_learn.c | 207 ++
5770 grsecurity/gracl_res.c | 68 +
5771 grsecurity/gracl_segv.c | 305 +++
5772 grsecurity/gracl_shm.c | 40 +
5773 grsecurity/grsec_chdir.c | 19 +
5774 grsecurity/grsec_chroot.c | 370 +++
5775 grsecurity/grsec_disabled.c | 434 ++++
5776 grsecurity/grsec_exec.c | 187 ++
5777 grsecurity/grsec_fifo.c | 24 +
5778 grsecurity/grsec_fork.c | 23 +
5779 grsecurity/grsec_init.c | 283 +++
5780 grsecurity/grsec_link.c | 58 +
5781 grsecurity/grsec_log.c | 326 +++
5782 grsecurity/grsec_mem.c | 40 +
5783 grsecurity/grsec_mount.c | 62 +
5784 grsecurity/grsec_pax.c | 36 +
5785 grsecurity/grsec_ptrace.c | 30 +
5786 grsecurity/grsec_sig.c | 246 ++
5787 grsecurity/grsec_sock.c | 244 ++
5788 grsecurity/grsec_sysctl.c | 469 ++++
5789 grsecurity/grsec_time.c | 16 +
5790 grsecurity/grsec_tpe.c | 73 +
5791 grsecurity/grsum.c | 61 +
5792 include/linux/gracl.h | 319 +++
5793 include/linux/gralloc.h | 9 +
5794 include/linux/grdefs.h | 140 ++
5795 include/linux/grinternal.h | 227 ++
5796 include/linux/grmsg.h | 112 +
5797 include/linux/grsecurity.h | 241 ++
5798 include/linux/grsock.h | 19 +
5799 include/linux/netfilter/xt_gradm.h | 9 +
5800 include/linux/proc_fs.h | 13 +
5801 include/linux/sched.h | 48 +-
5802 include/trace/events/fs.h | 53 +
5803 kernel/kmod.c | 7 +-
5804 kernel/panic.c | 2 +-
5805 kernel/posix-timers.c | 1 +
5806 kernel/time/timekeeping.c | 2 +
5807 lib/Kconfig.debug | 2 +-
5808 lib/vsprintf.c | 31 +
5809 localversion-grsec | 1 +
5810 mm/mmap.c | 13 +-
5811 mm/shmem.c | 2 +-
5812 net/core/net-procfs.c | 5 +
5813 net/ipv6/udp.c | 3 +
5814 net/netfilter/xt_gradm.c | 51 +
5815 66 files changed, 11184 insertions(+), 21 deletions(-)
5816
5817 commit 0100435c11a01cfbedea13ac5aebd38fb03309b4
5818 Author: Brad Spengler <spender@grsecurity.net>
5819 Date: Sat Jan 25 17:32:18 2014 -0500
5820
5821 Initial import of pax-linux-3.13-test2.patch
5822
5823 Documentation/dontdiff | 47 +-
5824 Documentation/kernel-parameters.txt | 23 +
5825 Makefile | 102 +-
5826 arch/alpha/include/asm/atomic.h | 10 +
5827 arch/alpha/include/asm/elf.h | 7 +
5828 arch/alpha/include/asm/pgalloc.h | 6 +
5829 arch/alpha/include/asm/pgtable.h | 11 +
5830 arch/alpha/kernel/module.c | 2 +-
5831 arch/alpha/kernel/osf_sys.c | 8 +-
5832 arch/alpha/mm/fault.c | 141 +-
5833 arch/arm/Kconfig | 2 +-
5834 arch/arm/include/asm/atomic.h | 442 ++-
5835 arch/arm/include/asm/cache.h | 5 +-
5836 arch/arm/include/asm/cacheflush.h | 2 +-
5837 arch/arm/include/asm/checksum.h | 14 +-
5838 arch/arm/include/asm/cmpxchg.h | 2 +
5839 arch/arm/include/asm/domain.h | 33 +-
5840 arch/arm/include/asm/elf.h | 13 +-
5841 arch/arm/include/asm/fncpy.h | 2 +
5842 arch/arm/include/asm/futex.h | 10 +
5843 arch/arm/include/asm/kmap_types.h | 2 +-
5844 arch/arm/include/asm/mach/dma.h | 2 +-
5845 arch/arm/include/asm/mach/map.h | 7 +-
5846 arch/arm/include/asm/outercache.h | 2 +-
5847 arch/arm/include/asm/page.h | 2 +-
5848 arch/arm/include/asm/pgalloc.h | 22 +-
5849 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
5850 arch/arm/include/asm/pgtable-2level.h | 3 +
5851 arch/arm/include/asm/pgtable-3level-hwdef.h | 1 +
5852 arch/arm/include/asm/pgtable-3level.h | 2 +
5853 arch/arm/include/asm/pgtable.h | 54 +-
5854 arch/arm/include/asm/proc-fns.h | 2 +-
5855 arch/arm/include/asm/psci.h | 2 +-
5856 arch/arm/include/asm/smp.h | 2 +-
5857 arch/arm/include/asm/thread_info.h | 6 +-
5858 arch/arm/include/asm/uaccess.h | 95 +-
5859 arch/arm/include/uapi/asm/ptrace.h | 2 +-
5860 arch/arm/kernel/armksyms.c | 8 +-
5861 arch/arm/kernel/entry-armv.S | 110 +-
5862 arch/arm/kernel/entry-common.S | 40 +-
5863 arch/arm/kernel/entry-header.S | 60 +
5864 arch/arm/kernel/fiq.c | 3 +
5865 arch/arm/kernel/head.S | 6 +-
5866 arch/arm/kernel/module.c | 31 +-
5867 arch/arm/kernel/patch.c | 2 +
5868 arch/arm/kernel/process.c | 42 +-
5869 arch/arm/kernel/psci.c | 2 +-
5870 arch/arm/kernel/setup.c | 22 +-
5871 arch/arm/kernel/signal.c | 35 +-
5872 arch/arm/kernel/smp.c | 2 +-
5873 arch/arm/kernel/traps.c | 8 +-
5874 arch/arm/kernel/vmlinux.lds.S | 24 +-
5875 arch/arm/kvm/arm.c | 8 +-
5876 arch/arm/lib/clear_user.S | 6 +-
5877 arch/arm/lib/copy_from_user.S | 6 +-
5878 arch/arm/lib/copy_page.S | 1 +
5879 arch/arm/lib/copy_to_user.S | 6 +-
5880 arch/arm/lib/csumpartialcopyuser.S | 4 +-
5881 arch/arm/lib/delay.c | 2 +-
5882 arch/arm/lib/uaccess_with_memcpy.c | 4 +-
5883 arch/arm/mach-kirkwood/common.c | 19 +-
5884 arch/arm/mach-omap2/board-n8x0.c | 2 +-
5885 arch/arm/mach-omap2/gpmc.c | 22 +-
5886 arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 +-
5887 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
5888 arch/arm/mach-omap2/omap_device.c | 4 +-
5889 arch/arm/mach-omap2/omap_device.h | 4 +-
5890 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
5891 arch/arm/mach-omap2/wd_timer.c | 6 +-
5892 arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +-
5893 arch/arm/mach-ux500/setup.h | 7 -
5894 arch/arm/mm/Kconfig | 6 +-
5895 arch/arm/mm/alignment.c | 8 +
5896 arch/arm/mm/cache-l2x0.c | 2 +-
5897 arch/arm/mm/context.c | 10 +-
5898 arch/arm/mm/fault.c | 140 +
5899 arch/arm/mm/fault.h | 12 +
5900 arch/arm/mm/init.c | 41 +
5901 arch/arm/mm/ioremap.c | 4 +-
5902 arch/arm/mm/mmap.c | 30 +-
5903 arch/arm/mm/mmu.c | 185 +-
5904 arch/arm/plat-omap/sram.c | 2 +
5905 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
5906 arch/avr32/include/asm/elf.h | 8 +-
5907 arch/avr32/include/asm/kmap_types.h | 4 +-
5908 arch/avr32/mm/fault.c | 27 +
5909 arch/frv/include/asm/atomic.h | 10 +
5910 arch/frv/include/asm/kmap_types.h | 2 +-
5911 arch/frv/mm/elf-fdpic.c | 3 +-
5912 arch/ia64/include/asm/atomic.h | 10 +
5913 arch/ia64/include/asm/elf.h | 7 +
5914 arch/ia64/include/asm/pgalloc.h | 12 +
5915 arch/ia64/include/asm/pgtable.h | 13 +-
5916 arch/ia64/include/asm/spinlock.h | 2 +-
5917 arch/ia64/include/asm/uaccess.h | 26 +-
5918 arch/ia64/kernel/module.c | 48 +-
5919 arch/ia64/kernel/palinfo.c | 2 +-
5920 arch/ia64/kernel/sys_ia64.c | 7 +
5921 arch/ia64/kernel/vmlinux.lds.S | 2 +-
5922 arch/ia64/mm/fault.c | 32 +-
5923 arch/ia64/mm/init.c | 13 +
5924 arch/m32r/lib/usercopy.c | 6 +
5925 arch/mips/include/asm/atomic.h | 728 +++-
5926 arch/mips/include/asm/elf.h | 11 +-
5927 arch/mips/include/asm/exec.h | 2 +-
5928 arch/mips/include/asm/local.h | 57 +
5929 arch/mips/include/asm/page.h | 2 +-
5930 arch/mips/include/asm/pgalloc.h | 5 +
5931 arch/mips/include/asm/smtc_proc.h | 2 +-
5932 arch/mips/kernel/binfmt_elfn32.c | 7 +
5933 arch/mips/kernel/binfmt_elfo32.c | 7 +
5934 arch/mips/kernel/irq.c | 6 +-
5935 arch/mips/kernel/process.c | 12 -
5936 arch/mips/kernel/smtc-proc.c | 6 +-
5937 arch/mips/kernel/smtc.c | 2 +-
5938 arch/mips/kernel/sync-r4k.c | 24 +-
5939 arch/mips/kernel/traps.c | 13 +-
5940 arch/mips/mm/fault.c | 25 +
5941 arch/mips/mm/mmap.c | 51 +-
5942 arch/mips/sgi-ip27/ip27-nmi.c | 6 +-
5943 arch/parisc/include/asm/atomic.h | 10 +
5944 arch/parisc/include/asm/elf.h | 7 +
5945 arch/parisc/include/asm/pgalloc.h | 6 +
5946 arch/parisc/include/asm/pgtable.h | 11 +
5947 arch/parisc/include/asm/uaccess.h | 4 +-
5948 arch/parisc/kernel/module.c | 50 +-
5949 arch/parisc/kernel/sys_parisc.c | 9 +-
5950 arch/parisc/kernel/traps.c | 4 +-
5951 arch/parisc/mm/fault.c | 140 +-
5952 arch/powerpc/include/asm/atomic.h | 10 +
5953 arch/powerpc/include/asm/elf.h | 19 +-
5954 arch/powerpc/include/asm/exec.h | 2 +-
5955 arch/powerpc/include/asm/kmap_types.h | 2 +-
5956 arch/powerpc/include/asm/mman.h | 2 +-
5957 arch/powerpc/include/asm/page.h | 8 +-
5958 arch/powerpc/include/asm/page_64.h | 7 +-
5959 arch/powerpc/include/asm/pgalloc-64.h | 7 +
5960 arch/powerpc/include/asm/pgtable.h | 1 +
5961 arch/powerpc/include/asm/pte-hash32.h | 1 +
5962 arch/powerpc/include/asm/reg.h | 1 +
5963 arch/powerpc/include/asm/smp.h | 2 +-
5964 arch/powerpc/include/asm/uaccess.h | 140 +-
5965 arch/powerpc/kernel/exceptions-64e.S | 4 +-
5966 arch/powerpc/kernel/exceptions-64s.S | 2 +-
5967 arch/powerpc/kernel/module_32.c | 15 +-
5968 arch/powerpc/kernel/process.c | 55 -
5969 arch/powerpc/kernel/signal_32.c | 2 +-
5970 arch/powerpc/kernel/signal_64.c | 2 +-
5971 arch/powerpc/kernel/vdso.c | 5 +-
5972 arch/powerpc/lib/usercopy_64.c | 18 -
5973 arch/powerpc/mm/fault.c | 54 +-
5974 arch/powerpc/mm/mmap.c | 16 +
5975 arch/powerpc/mm/slice.c | 13 +-
5976 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
5977 arch/s390/include/asm/atomic.h | 10 +
5978 arch/s390/include/asm/elf.h | 13 +-
5979 arch/s390/include/asm/exec.h | 2 +-
5980 arch/s390/include/asm/uaccess.h | 15 +-
5981 arch/s390/kernel/module.c | 22 +-
5982 arch/s390/kernel/process.c | 36 -
5983 arch/s390/mm/mmap.c | 24 +
5984 arch/score/include/asm/exec.h | 2 +-
5985 arch/score/kernel/process.c | 5 -
5986 arch/sh/mm/mmap.c | 22 +-
5987 arch/sparc/include/asm/atomic_64.h | 106 +-
5988 arch/sparc/include/asm/cache.h | 2 +-
5989 arch/sparc/include/asm/elf_32.h | 7 +
5990 arch/sparc/include/asm/elf_64.h | 7 +
5991 arch/sparc/include/asm/pgalloc_32.h | 1 +
5992 arch/sparc/include/asm/pgalloc_64.h | 1 +
5993 arch/sparc/include/asm/pgtable_32.h | 15 +-
5994 arch/sparc/include/asm/pgtsrmmu.h | 5 +
5995 arch/sparc/include/asm/spinlock_64.h | 35 +-
5996 arch/sparc/include/asm/thread_info_32.h | 2 +
5997 arch/sparc/include/asm/thread_info_64.h | 2 +
5998 arch/sparc/include/asm/uaccess.h | 1 +
5999 arch/sparc/include/asm/uaccess_32.h | 27 +-
6000 arch/sparc/include/asm/uaccess_64.h | 19 +-
6001 arch/sparc/kernel/Makefile | 2 +-
6002 arch/sparc/kernel/prom_common.c | 2 +-
6003 arch/sparc/kernel/smp_64.c | 12 +-
6004 arch/sparc/kernel/sys_sparc_32.c | 2 +-
6005 arch/sparc/kernel/sys_sparc_64.c | 52 +-
6006 arch/sparc/kernel/traps_64.c | 27 +-
6007 arch/sparc/lib/Makefile | 2 +-
6008 arch/sparc/lib/atomic_64.S | 136 +-
6009 arch/sparc/lib/ksyms.c | 6 +
6010 arch/sparc/mm/Makefile | 2 +-
6011 arch/sparc/mm/fault_32.c | 292 +
6012 arch/sparc/mm/fault_64.c | 486 ++
6013 arch/sparc/mm/hugetlbpage.c | 21 +-
6014 arch/sparc/mm/init_64.c | 10 +-
6015 arch/tile/include/asm/atomic_64.h | 10 +
6016 arch/tile/include/asm/uaccess.h | 4 +-
6017 arch/um/Makefile | 4 +
6018 arch/um/include/asm/kmap_types.h | 2 +-
6019 arch/um/include/asm/page.h | 3 +
6020 arch/um/include/asm/pgtable-3level.h | 1 +
6021 arch/um/kernel/process.c | 16 -
6022 arch/x86/Kconfig | 10 +-
6023 arch/x86/Kconfig.cpu | 6 +-
6024 arch/x86/Kconfig.debug | 4 +-
6025 arch/x86/Makefile | 16 +-
6026 arch/x86/boot/Makefile | 3 +
6027 arch/x86/boot/bitops.h | 4 +-
6028 arch/x86/boot/boot.h | 4 +-
6029 arch/x86/boot/compressed/Makefile | 3 +
6030 arch/x86/boot/compressed/efi_stub_32.S | 16 +-
6031 arch/x86/boot/compressed/head_32.S | 2 +-
6032 arch/x86/boot/compressed/head_64.S | 8 +-
6033 arch/x86/boot/compressed/misc.c | 6 +-
6034 arch/x86/boot/cpucheck.c | 28 +-
6035 arch/x86/boot/header.S | 6 +-
6036 arch/x86/boot/memory.c | 2 +-
6037 arch/x86/boot/video-vesa.c | 1 +
6038 arch/x86/boot/video.c | 2 +-
6039 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
6040 arch/x86/crypto/aesni-intel_asm.S | 106 +-
6041 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
6042 arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 +
6043 arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 +
6044 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
6045 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 51 +-
6046 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 25 +-
6047 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +
6048 arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +
6049 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
6050 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 +
6051 arch/x86/crypto/serpent-avx2-asm_64.S | 9 +
6052 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
6053 arch/x86/crypto/sha1_ssse3_asm.S | 10 +-
6054 arch/x86/crypto/sha256-avx-asm.S | 2 +
6055 arch/x86/crypto/sha256-avx2-asm.S | 2 +
6056 arch/x86/crypto/sha256-ssse3-asm.S | 2 +
6057 arch/x86/crypto/sha512-avx-asm.S | 2 +
6058 arch/x86/crypto/sha512-avx2-asm.S | 2 +
6059 arch/x86/crypto/sha512-ssse3-asm.S | 2 +
6060 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 25 +-
6061 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
6062 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
6063 arch/x86/ia32/ia32_signal.c | 14 +-
6064 arch/x86/ia32/ia32entry.S | 173 +-
6065 arch/x86/ia32/sys_ia32.c | 4 +-
6066 arch/x86/include/asm/alternative-asm.h | 39 +
6067 arch/x86/include/asm/alternative.h | 4 +-
6068 arch/x86/include/asm/apic.h | 2 +-
6069 arch/x86/include/asm/apm.h | 4 +-
6070 arch/x86/include/asm/atomic.h | 269 +-
6071 arch/x86/include/asm/atomic64_32.h | 100 +
6072 arch/x86/include/asm/atomic64_64.h | 166 +-
6073 arch/x86/include/asm/bitops.h | 18 +-
6074 arch/x86/include/asm/boot.h | 7 +-
6075 arch/x86/include/asm/cache.h | 5 +-
6076 arch/x86/include/asm/cacheflush.h | 2 +-
6077 arch/x86/include/asm/calling.h | 118 +-
6078 arch/x86/include/asm/checksum_32.h | 12 +-
6079 arch/x86/include/asm/cmpxchg.h | 35 +
6080 arch/x86/include/asm/compat.h | 2 +-
6081 arch/x86/include/asm/cpufeature.h | 16 +-
6082 arch/x86/include/asm/desc.h | 78 +-
6083 arch/x86/include/asm/desc_defs.h | 6 +
6084 arch/x86/include/asm/div64.h | 2 +-
6085 arch/x86/include/asm/elf.h | 31 +-
6086 arch/x86/include/asm/emergency-restart.h | 2 +-
6087 arch/x86/include/asm/fpu-internal.h | 8 +-
6088 arch/x86/include/asm/futex.h | 20 +-
6089 arch/x86/include/asm/hw_irq.h | 4 +-
6090 arch/x86/include/asm/i8259.h | 2 +-
6091 arch/x86/include/asm/io.h | 21 +-
6092 arch/x86/include/asm/irqflags.h | 5 +
6093 arch/x86/include/asm/kprobes.h | 9 +-
6094 arch/x86/include/asm/local.h | 106 +-
6095 arch/x86/include/asm/mman.h | 15 +
6096 arch/x86/include/asm/mmu.h | 16 +-
6097 arch/x86/include/asm/mmu_context.h | 136 +-
6098 arch/x86/include/asm/module.h | 17 +-
6099 arch/x86/include/asm/nmi.h | 6 +-
6100 arch/x86/include/asm/page.h | 1 +
6101 arch/x86/include/asm/page_64.h | 4 +-
6102 arch/x86/include/asm/paravirt.h | 46 +-
6103 arch/x86/include/asm/paravirt_types.h | 15 +-
6104 arch/x86/include/asm/pgalloc.h | 23 +
6105 arch/x86/include/asm/pgtable-2level.h | 2 +
6106 arch/x86/include/asm/pgtable-3level.h | 4 +
6107 arch/x86/include/asm/pgtable.h | 124 +-
6108 arch/x86/include/asm/pgtable_32.h | 14 +-
6109 arch/x86/include/asm/pgtable_32_types.h | 15 +-
6110 arch/x86/include/asm/pgtable_64.h | 19 +-
6111 arch/x86/include/asm/pgtable_64_types.h | 5 +
6112 arch/x86/include/asm/pgtable_types.h | 36 +-
6113 arch/x86/include/asm/preempt.h | 2 +-
6114 arch/x86/include/asm/processor.h | 79 +-
6115 arch/x86/include/asm/ptrace.h | 26 +-
6116 arch/x86/include/asm/realmode.h | 4 +-
6117 arch/x86/include/asm/reboot.h | 10 +-
6118 arch/x86/include/asm/rmwcc.h | 84 +-
6119 arch/x86/include/asm/rwsem.h | 60 +-
6120 arch/x86/include/asm/segment.h | 29 +-
6121 arch/x86/include/asm/smap.h | 64 +-
6122 arch/x86/include/asm/smp.h | 14 +-
6123 arch/x86/include/asm/spinlock.h | 36 +-
6124 arch/x86/include/asm/stackprotector.h | 4 +-
6125 arch/x86/include/asm/stacktrace.h | 32 +-
6126 arch/x86/include/asm/switch_to.h | 4 +-
6127 arch/x86/include/asm/thread_info.h | 83 +-
6128 arch/x86/include/asm/tlbflush.h | 74 +-
6129 arch/x86/include/asm/uaccess.h | 162 +-
6130 arch/x86/include/asm/uaccess_32.h | 24 +-
6131 arch/x86/include/asm/uaccess_64.h | 177 +-
6132 arch/x86/include/asm/word-at-a-time.h | 2 +-
6133 arch/x86/include/asm/x86_init.h | 10 +-
6134 arch/x86/include/asm/xen/page.h | 2 +-
6135 arch/x86/include/asm/xsave.h | 14 +-
6136 arch/x86/include/uapi/asm/e820.h | 2 +-
6137 arch/x86/include/uapi/asm/ptrace-abi.h | 1 -
6138 arch/x86/kernel/Makefile | 2 +-
6139 arch/x86/kernel/acpi/boot.c | 4 +-
6140 arch/x86/kernel/acpi/sleep.c | 4 +
6141 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
6142 arch/x86/kernel/alternative.c | 69 +-
6143 arch/x86/kernel/apic/apic.c | 4 +-
6144 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
6145 arch/x86/kernel/apic/apic_noop.c | 2 +-
6146 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
6147 arch/x86/kernel/apic/es7000_32.c | 5 +-
6148 arch/x86/kernel/apic/io_apic.c | 8 +-
6149 arch/x86/kernel/apic/numaq_32.c | 3 +-
6150 arch/x86/kernel/apic/probe_32.c | 2 +-
6151 arch/x86/kernel/apic/summit_32.c | 2 +-
6152 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
6153 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
6154 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
6155 arch/x86/kernel/apm_32.c | 19 +-
6156 arch/x86/kernel/asm-offsets.c | 20 +
6157 arch/x86/kernel/asm-offsets_64.c | 1 +
6158 arch/x86/kernel/cpu/Makefile | 4 -
6159 arch/x86/kernel/cpu/amd.c | 2 +-
6160 arch/x86/kernel/cpu/common.c | 132 +-
6161 arch/x86/kernel/cpu/intel_cacheinfo.c | 48 +-
6162 arch/x86/kernel/cpu/mcheck/mce.c | 31 +-
6163 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
6164 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
6165 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
6166 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
6167 arch/x86/kernel/cpu/perf_event.c | 8 +-
6168 arch/x86/kernel/cpu/perf_event_amd_iommu.c | 2 +-
6169 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
6170 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
6171 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
6172 arch/x86/kernel/cpuid.c | 2 +-
6173 arch/x86/kernel/crash.c | 4 +-
6174 arch/x86/kernel/crash_dump_64.c | 2 +-
6175 arch/x86/kernel/doublefault.c | 8 +-
6176 arch/x86/kernel/dumpstack.c | 30 +-
6177 arch/x86/kernel/dumpstack_32.c | 34 +-
6178 arch/x86/kernel/dumpstack_64.c | 61 +-
6179 arch/x86/kernel/e820.c | 4 +-
6180 arch/x86/kernel/early_printk.c | 1 +
6181 arch/x86/kernel/entry_32.S | 356 ++-
6182 arch/x86/kernel/entry_64.S | 736 +++-
6183 arch/x86/kernel/ftrace.c | 14 +-
6184 arch/x86/kernel/head64.c | 13 +-
6185 arch/x86/kernel/head_32.S | 228 +-
6186 arch/x86/kernel/head_64.S | 136 +-
6187 arch/x86/kernel/i386_ksyms_32.c | 12 +
6188 arch/x86/kernel/i387.c | 2 +-
6189 arch/x86/kernel/i8259.c | 10 +-
6190 arch/x86/kernel/io_delay.c | 2 +-
6191 arch/x86/kernel/ioport.c | 2 +-
6192 arch/x86/kernel/irq.c | 8 +-
6193 arch/x86/kernel/irq_32.c | 67 +-
6194 arch/x86/kernel/irq_64.c | 2 +-
6195 arch/x86/kernel/jump_label.c | 8 +-
6196 arch/x86/kernel/kgdb.c | 25 +-
6197 arch/x86/kernel/kprobes/core.c | 30 +-
6198 arch/x86/kernel/kprobes/opt.c | 16 +-
6199 arch/x86/kernel/ldt.c | 31 +-
6200 arch/x86/kernel/machine_kexec_32.c | 6 +-
6201 arch/x86/kernel/microcode_core.c | 2 +-
6202 arch/x86/kernel/microcode_intel.c | 4 +-
6203 arch/x86/kernel/module.c | 76 +-
6204 arch/x86/kernel/msr.c | 2 +-
6205 arch/x86/kernel/nmi.c | 19 +-
6206 arch/x86/kernel/nmi_selftest.c | 4 +-
6207 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
6208 arch/x86/kernel/paravirt.c | 43 +-
6209 arch/x86/kernel/pci-calgary_64.c | 2 +-
6210 arch/x86/kernel/pci-iommu_table.c | 2 +-
6211 arch/x86/kernel/pci-swiotlb.c | 2 +-
6212 arch/x86/kernel/process.c | 55 +-
6213 arch/x86/kernel/process_32.c | 29 +-
6214 arch/x86/kernel/process_64.c | 20 +-
6215 arch/x86/kernel/ptrace.c | 25 +-
6216 arch/x86/kernel/pvclock.c | 8 +-
6217 arch/x86/kernel/reboot.c | 42 +-
6218 arch/x86/kernel/reboot_fixups_32.c | 2 +-
6219 arch/x86/kernel/relocate_kernel_64.S | 5 +-
6220 arch/x86/kernel/setup.c | 63 +-
6221 arch/x86/kernel/setup_percpu.c | 29 +-
6222 arch/x86/kernel/signal.c | 15 +-
6223 arch/x86/kernel/smp.c | 2 +-
6224 arch/x86/kernel/smpboot.c | 28 +-
6225 arch/x86/kernel/step.c | 10 +-
6226 arch/x86/kernel/sys_i386_32.c | 184 +
6227 arch/x86/kernel/sys_x86_64.c | 22 +-
6228 arch/x86/kernel/tboot.c | 12 +-
6229 arch/x86/kernel/time.c | 10 +-
6230 arch/x86/kernel/tls.c | 7 +-
6231 arch/x86/kernel/tracepoint.c | 4 +-
6232 arch/x86/kernel/traps.c | 62 +-
6233 arch/x86/kernel/uprobes.c | 4 +-
6234 arch/x86/kernel/vm86_32.c | 6 +-
6235 arch/x86/kernel/vmlinux.lds.S | 147 +-
6236 arch/x86/kernel/vsyscall_64.c | 12 +-
6237 arch/x86/kernel/x8664_ksyms_64.c | 6 +-
6238 arch/x86/kernel/x86_init.c | 6 +-
6239 arch/x86/kernel/xsave.c | 2 +
6240 arch/x86/kvm/cpuid.c | 21 +-
6241 arch/x86/kvm/lapic.c | 2 +-
6242 arch/x86/kvm/paging_tmpl.h | 2 +-
6243 arch/x86/kvm/svm.c | 8 +
6244 arch/x86/kvm/vmx.c | 63 +-
6245 arch/x86/kvm/x86.c | 8 +-
6246 arch/x86/lguest/boot.c | 3 +-
6247 arch/x86/lib/atomic64_386_32.S | 164 +
6248 arch/x86/lib/atomic64_cx8_32.S | 103 +-
6249 arch/x86/lib/checksum_32.S | 100 +-
6250 arch/x86/lib/clear_page_64.S | 5 +-
6251 arch/x86/lib/cmpxchg16b_emu.S | 2 +
6252 arch/x86/lib/copy_page_64.S | 20 +-
6253 arch/x86/lib/copy_user_64.S | 81 +-
6254 arch/x86/lib/copy_user_nocache_64.S | 14 +
6255 arch/x86/lib/csum-copy_64.S | 18 +-
6256 arch/x86/lib/csum-wrappers_64.c | 8 +-
6257 arch/x86/lib/getuser.S | 74 +-
6258 arch/x86/lib/insn.c | 6 +-
6259 arch/x86/lib/iomap_copy_64.S | 2 +
6260 arch/x86/lib/memcpy_64.S | 10 +-
6261 arch/x86/lib/memmove_64.S | 4 +-
6262 arch/x86/lib/memset_64.S | 7 +-
6263 arch/x86/lib/mmx_32.c | 243 +-
6264 arch/x86/lib/msr-reg.S | 2 +
6265 arch/x86/lib/putuser.S | 90 +-
6266 arch/x86/lib/rwlock.S | 42 +
6267 arch/x86/lib/rwsem.S | 6 +-
6268 arch/x86/lib/thunk_64.S | 12 +-
6269 arch/x86/lib/usercopy_32.c | 357 +-
6270 arch/x86/lib/usercopy_64.c | 18 +-
6271 arch/x86/mm/Makefile | 4 +
6272 arch/x86/mm/extable.c | 25 +-
6273 arch/x86/mm/fault.c | 564 ++-
6274 arch/x86/mm/gup.c | 6 +-
6275 arch/x86/mm/highmem_32.c | 4 +
6276 arch/x86/mm/hugetlbpage.c | 30 +-
6277 arch/x86/mm/init.c | 101 +-
6278 arch/x86/mm/init_32.c | 111 +-
6279 arch/x86/mm/init_64.c | 45 +-
6280 arch/x86/mm/iomap_32.c | 4 +
6281 arch/x86/mm/ioremap.c | 15 +-
6282 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
6283 arch/x86/mm/mmap.c | 36 +-
6284 arch/x86/mm/mmio-mod.c | 10 +-
6285 arch/x86/mm/numa.c | 2 +-
6286 arch/x86/mm/pageattr-test.c | 2 +-
6287 arch/x86/mm/pageattr.c | 33 +-
6288 arch/x86/mm/pat.c | 12 +-
6289 arch/x86/mm/pat_rbtree.c | 2 +-
6290 arch/x86/mm/pf_in.c | 10 +-
6291 arch/x86/mm/pgtable.c | 151 +-
6292 arch/x86/mm/pgtable_32.c | 3 +
6293 arch/x86/mm/physaddr.c | 4 +-
6294 arch/x86/mm/setup_nx.c | 7 +
6295 arch/x86/mm/tlb.c | 4 +
6296 arch/x86/mm/uderef_64.c | 37 +
6297 arch/x86/net/bpf_jit.S | 14 +
6298 arch/x86/net/bpf_jit_comp.c | 38 +-
6299 arch/x86/oprofile/backtrace.c | 8 +-
6300 arch/x86/oprofile/nmi_int.c | 8 +-
6301 arch/x86/oprofile/op_model_amd.c | 8 +-
6302 arch/x86/oprofile/op_model_ppro.c | 7 +-
6303 arch/x86/oprofile/op_x86_model.h | 2 +-
6304 arch/x86/pci/intel_mid_pci.c | 2 +-
6305 arch/x86/pci/irq.c | 8 +-
6306 arch/x86/pci/pcbios.c | 144 +-
6307 arch/x86/platform/efi/efi_32.c | 24 +
6308 arch/x86/platform/efi/efi_64.c | 10 +
6309 arch/x86/platform/efi/efi_stub_32.S | 64 +-
6310 arch/x86/platform/efi/efi_stub_64.S | 8 +
6311 arch/x86/platform/intel-mid/intel-mid.c | 3 +-
6312 arch/x86/platform/olpc/olpc_dt.c | 2 +-
6313 arch/x86/power/cpu.c | 11 +-
6314 arch/x86/realmode/init.c | 10 +-
6315 arch/x86/realmode/rm/Makefile | 3 +
6316 arch/x86/realmode/rm/header.S | 4 +-
6317 arch/x86/realmode/rm/trampoline_32.S | 12 +-
6318 arch/x86/realmode/rm/trampoline_64.S | 3 +-
6319 arch/x86/tools/Makefile | 2 +-
6320 arch/x86/tools/relocs.c | 94 +-
6321 arch/x86/um/tls_32.c | 2 +-
6322 arch/x86/vdso/Makefile | 2 +-
6323 arch/x86/vdso/vdso32-setup.c | 23 +-
6324 arch/x86/vdso/vma.c | 29 +-
6325 arch/x86/xen/enlighten.c | 45 +-
6326 arch/x86/xen/mmu.c | 11 +-
6327 arch/x86/xen/smp.c | 21 +-
6328 arch/x86/xen/xen-asm_32.S | 12 +-
6329 arch/x86/xen/xen-head.S | 11 +
6330 arch/x86/xen/xen-ops.h | 2 -
6331 block/blk-cgroup.c | 4 +-
6332 block/blk-iopoll.c | 2 +-
6333 block/blk-map.c | 2 +-
6334 block/blk-softirq.c | 2 +-
6335 block/bsg.c | 12 +-
6336 block/compat_ioctl.c | 2 +-
6337 block/genhd.c | 9 +-
6338 block/partitions/efi.c | 8 +-
6339 block/scsi_ioctl.c | 29 +-
6340 crypto/cryptd.c | 4 +-
6341 crypto/pcrypt.c | 2 +-
6342 drivers/acpi/apei/apei-internal.h | 2 +-
6343 drivers/acpi/apei/ghes.c | 4 +-
6344 drivers/acpi/bgrt.c | 6 +-
6345 drivers/acpi/blacklist.c | 4 +-
6346 drivers/acpi/processor_idle.c | 2 +-
6347 drivers/acpi/sysfs.c | 4 +-
6348 drivers/ata/libahci.c | 2 +-
6349 drivers/ata/libata-core.c | 12 +-
6350 drivers/ata/libata-scsi.c | 2 +-
6351 drivers/ata/libata.h | 2 +-
6352 drivers/ata/pata_arasan_cf.c | 4 +-
6353 drivers/atm/adummy.c | 2 +-
6354 drivers/atm/ambassador.c | 8 +-
6355 drivers/atm/atmtcp.c | 14 +-
6356 drivers/atm/eni.c | 10 +-
6357 drivers/atm/firestream.c | 8 +-
6358 drivers/atm/fore200e.c | 14 +-
6359 drivers/atm/he.c | 18 +-
6360 drivers/atm/horizon.c | 4 +-
6361 drivers/atm/idt77252.c | 36 +-
6362 drivers/atm/iphase.c | 34 +-
6363 drivers/atm/lanai.c | 12 +-
6364 drivers/atm/nicstar.c | 46 +-
6365 drivers/atm/solos-pci.c | 4 +-
6366 drivers/atm/suni.c | 4 +-
6367 drivers/atm/uPD98402.c | 16 +-
6368 drivers/atm/zatm.c | 6 +-
6369 drivers/base/bus.c | 4 +-
6370 drivers/base/devtmpfs.c | 8 +-
6371 drivers/base/node.c | 2 +-
6372 drivers/base/power/domain.c | 4 +-
6373 drivers/base/power/sysfs.c | 2 +-
6374 drivers/base/power/wakeup.c | 8 +-
6375 drivers/base/syscore.c | 4 +-
6376 drivers/block/cciss.c | 28 +-
6377 drivers/block/cciss.h | 2 +-
6378 drivers/block/cpqarray.c | 28 +-
6379 drivers/block/cpqarray.h | 2 +-
6380 drivers/block/drbd/drbd_int.h | 6 +-
6381 drivers/block/drbd/drbd_main.c | 8 +-
6382 drivers/block/drbd/drbd_nl.c | 4 +-
6383 drivers/block/drbd/drbd_receiver.c | 22 +-
6384 drivers/block/loop.c | 2 +-
6385 drivers/block/null_blk.c | 27 +-
6386 drivers/block/pktcdvd.c | 4 +-
6387 drivers/bluetooth/btwilink.c | 2 +-
6388 drivers/bus/arm-cci.c | 2 +-
6389 drivers/cdrom/cdrom.c | 11 +-
6390 drivers/cdrom/gdrom.c | 1 -
6391 drivers/char/agp/compat_ioctl.c | 2 +-
6392 drivers/char/agp/frontend.c | 4 +-
6393 drivers/char/hpet.c | 2 +-
6394 drivers/char/hw_random/intel-rng.c | 2 +-
6395 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
6396 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
6397 drivers/char/mem.c | 43 +-
6398 drivers/char/nvram.c | 2 +-
6399 drivers/char/pcmcia/synclink_cs.c | 18 +-
6400 drivers/char/random.c | 12 +-
6401 drivers/char/sonypi.c | 9 +-
6402 drivers/char/tpm/tpm_acpi.c | 3 +-
6403 drivers/char/tpm/tpm_eventlog.c | 7 +-
6404 drivers/char/virtio_console.c | 4 +-
6405 drivers/clk/clk-composite.c | 2 +-
6406 drivers/clk/socfpga/clk.c | 9 +-
6407 drivers/cpufreq/acpi-cpufreq.c | 13 +-
6408 drivers/cpufreq/cpufreq.c | 11 +-
6409 drivers/cpufreq/cpufreq_governor.c | 6 +-
6410 drivers/cpufreq/cpufreq_governor.h | 4 +-
6411 drivers/cpufreq/cpufreq_ondemand.c | 10 +-
6412 drivers/cpufreq/cpufreq_stats.c | 2 +-
6413 drivers/cpufreq/intel_pstate.c | 25 +-
6414 drivers/cpufreq/p4-clockmod.c | 12 +-
6415 drivers/cpufreq/sparc-us3-cpufreq.c | 70 +-
6416 drivers/cpufreq/speedstep-centrino.c | 7 +-
6417 drivers/cpuidle/driver.c | 2 +-
6418 drivers/cpuidle/governor.c | 2 +-
6419 drivers/cpuidle/sysfs.c | 2 +-
6420 drivers/crypto/hifn_795x.c | 4 +-
6421 drivers/devfreq/devfreq.c | 4 +-
6422 drivers/dma/sh/shdmac.c | 2 +-
6423 drivers/edac/edac_device.c | 4 +-
6424 drivers/edac/edac_mc_sysfs.c | 12 +-
6425 drivers/edac/edac_pci.c | 4 +-
6426 drivers/edac/edac_pci_sysfs.c | 22 +-
6427 drivers/edac/mce_amd.h | 2 +-
6428 drivers/firewire/core-card.c | 6 +-
6429 drivers/firewire/core-device.c | 2 +-
6430 drivers/firewire/core-transaction.c | 1 +
6431 drivers/firewire/core.h | 1 +
6432 drivers/firmware/dmi-id.c | 2 +-
6433 drivers/firmware/dmi_scan.c | 2 +-
6434 drivers/firmware/efi/cper.c | 8 +-
6435 drivers/firmware/efi/efi.c | 12 +-
6436 drivers/firmware/efi/efivars.c | 2 +-
6437 drivers/firmware/google/memconsole.c | 4 +-
6438 drivers/gpio/gpio-ich.c | 2 +-
6439 drivers/gpio/gpio-vr41xx.c | 2 +-
6440 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
6441 drivers/gpu/drm/drm_drv.c | 4 +-
6442 drivers/gpu/drm/drm_fops.c | 12 +-
6443 drivers/gpu/drm/drm_global.c | 14 +-
6444 drivers/gpu/drm/drm_info.c | 14 +-
6445 drivers/gpu/drm/drm_ioc32.c | 13 +-
6446 drivers/gpu/drm/drm_stub.c | 2 +-
6447 drivers/gpu/drm/drm_sysfs.c | 2 +-
6448 drivers/gpu/drm/i810/i810_drv.h | 4 +-
6449 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
6450 drivers/gpu/drm/i915/i915_dma.c | 2 +-
6451 drivers/gpu/drm/i915/i915_drv.h | 2 +-
6452 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +-
6453 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
6454 drivers/gpu/drm/i915/i915_irq.c | 26 +-
6455 drivers/gpu/drm/i915/intel_display.c | 26 +-
6456 drivers/gpu/drm/mga/mga_drv.h | 4 +-
6457 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
6458 drivers/gpu/drm/mga/mga_irq.c | 8 +-
6459 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
6460 drivers/gpu/drm/nouveau/nouveau_drm.h | 1 -
6461 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
6462 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
6463 drivers/gpu/drm/qxl/qxl_cmd.c | 12 +-
6464 drivers/gpu/drm/qxl/qxl_debugfs.c | 8 +-
6465 drivers/gpu/drm/qxl/qxl_drv.h | 8 +-
6466 drivers/gpu/drm/qxl/qxl_irq.c | 16 +-
6467 drivers/gpu/drm/qxl/qxl_ttm.c | 38 +-
6468 drivers/gpu/drm/r128/r128_cce.c | 2 +-
6469 drivers/gpu/drm/r128/r128_drv.h | 4 +-
6470 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
6471 drivers/gpu/drm/r128/r128_irq.c | 4 +-
6472 drivers/gpu/drm/r128/r128_state.c | 4 +-
6473 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
6474 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
6475 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
6476 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
6477 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
6478 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
6479 drivers/gpu/drm/radeon/radeon_ttm.c | 61 +-
6480 drivers/gpu/drm/tegra/dc.c | 2 +-
6481 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
6482 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
6483 drivers/gpu/drm/udl/udl_fb.c | 1 -
6484 drivers/gpu/drm/via/via_drv.h | 4 +-
6485 drivers/gpu/drm/via/via_irq.c | 18 +-
6486 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
6487 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
6488 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 +-
6489 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
6490 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
6491 drivers/gpu/vga/vga_switcheroo.c | 4 +-
6492 drivers/hid/hid-core.c | 4 +-
6493 drivers/hid/uhid.c | 6 +-
6494 drivers/hv/channel.c | 4 +-
6495 drivers/hv/hv.c | 2 +-
6496 drivers/hv/hv_balloon.c | 18 +-
6497 drivers/hv/hyperv_vmbus.h | 2 +-
6498 drivers/hv/vmbus_drv.c | 4 +-
6499 drivers/hwmon/acpi_power_meter.c | 4 +-
6500 drivers/hwmon/applesmc.c | 2 +-
6501 drivers/hwmon/asus_atk0110.c | 10 +-
6502 drivers/hwmon/coretemp.c | 2 +-
6503 drivers/hwmon/ibmaem.c | 2 +-
6504 drivers/hwmon/iio_hwmon.c | 2 +-
6505 drivers/hwmon/nct6775.c | 6 +-
6506 drivers/hwmon/pmbus/pmbus_core.c | 10 +-
6507 drivers/hwmon/sht15.c | 12 +-
6508 drivers/hwmon/via-cputemp.c | 2 +-
6509 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
6510 drivers/i2c/busses/i2c-diolan-u2c.c | 2 +-
6511 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
6512 drivers/i2c/i2c-dev.c | 2 +-
6513 drivers/ide/ide-cd.c | 2 +-
6514 drivers/iio/industrialio-core.c | 2 +-
6515 drivers/infiniband/core/cm.c | 32 +-
6516 drivers/infiniband/core/fmr_pool.c | 20 +-
6517 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
6518 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
6519 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
6520 drivers/infiniband/hw/mlx4/mad.c | 2 +-
6521 drivers/infiniband/hw/mlx4/mcg.c | 2 +-
6522 drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
6523 drivers/infiniband/hw/mthca/mthca_cmd.c | 8 +-
6524 drivers/infiniband/hw/mthca/mthca_main.c | 2 +-
6525 drivers/infiniband/hw/mthca/mthca_mr.c | 6 +-
6526 drivers/infiniband/hw/mthca/mthca_provider.c | 2 +-
6527 drivers/infiniband/hw/nes/nes.c | 4 +-
6528 drivers/infiniband/hw/nes/nes.h | 40 +-
6529 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
6530 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
6531 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
6532 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
6533 drivers/infiniband/hw/qib/qib.h | 1 +
6534 drivers/input/gameport/gameport.c | 4 +-
6535 drivers/input/input.c | 4 +-
6536 drivers/input/joystick/sidewinder.c | 1 +
6537 drivers/input/joystick/xpad.c | 4 +-
6538 drivers/input/misc/ims-pcu.c | 4 +-
6539 drivers/input/mouse/psmouse.h | 2 +-
6540 drivers/input/mousedev.c | 2 +-
6541 drivers/input/serio/serio.c | 4 +-
6542 drivers/input/serio/serio_raw.c | 4 +-
6543 drivers/iommu/iommu.c | 2 +-
6544 drivers/iommu/irq_remapping.c | 12 +-
6545 drivers/irqchip/irq-gic.c | 4 +-
6546 drivers/isdn/capi/capi.c | 10 +-
6547 drivers/isdn/gigaset/interface.c | 8 +-
6548 drivers/isdn/gigaset/usb-gigaset.c | 2 +-
6549 drivers/isdn/hardware/avm/b1.c | 4 +-
6550 drivers/isdn/i4l/isdn_common.c | 2 +
6551 drivers/isdn/i4l/isdn_tty.c | 22 +-
6552 drivers/isdn/icn/icn.c | 2 +-
6553 drivers/isdn/mISDN/dsp_cmx.c | 2 +-
6554 drivers/leds/leds-clevo-mail.c | 2 +-
6555 drivers/leds/leds-ss4200.c | 2 +-
6556 drivers/lguest/core.c | 10 +-
6557 drivers/lguest/page_tables.c | 2 +-
6558 drivers/lguest/x86/core.c | 12 +-
6559 drivers/lguest/x86/switcher_32.S | 27 +-
6560 drivers/md/bcache/closure.h | 2 +-
6561 drivers/md/bitmap.c | 2 +-
6562 drivers/md/dm-ioctl.c | 2 +-
6563 drivers/md/dm-raid1.c | 16 +-
6564 drivers/md/dm-stats.c | 6 +-
6565 drivers/md/dm-stripe.c | 10 +-
6566 drivers/md/dm-table.c | 4 +-
6567 drivers/md/dm-thin-metadata.c | 4 +-
6568 drivers/md/dm.c | 16 +-
6569 drivers/md/md.c | 26 +-
6570 drivers/md/md.h | 6 +-
6571 drivers/md/persistent-data/dm-space-map.h | 1 +
6572 drivers/md/raid1.c | 4 +-
6573 drivers/md/raid10.c | 16 +-
6574 drivers/md/raid5.c | 10 +-
6575 drivers/media/dvb-core/dvbdev.c | 2 +-
6576 drivers/media/dvb-frontends/dib3000.h | 2 +-
6577 drivers/media/pci/cx88/cx88-video.c | 6 +-
6578 drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
6579 drivers/media/platform/omap/omap_vout.c | 11 +-
6580 drivers/media/platform/s5p-tv/mixer.h | 2 +-
6581 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
6582 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
6583 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
6584 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
6585 drivers/media/platform/vivi.c | 4 +-
6586 drivers/media/radio/radio-cadet.c | 2 +
6587 drivers/media/radio/radio-maxiradio.c | 2 +-
6588 drivers/media/radio/radio-shark.c | 2 +-
6589 drivers/media/radio/radio-shark2.c | 2 +-
6590 drivers/media/radio/radio-si476x.c | 2 +-
6591 drivers/media/rc/rc-main.c | 4 +-
6592 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
6593 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
6594 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +-
6595 drivers/media/v4l2-core/v4l2-device.c | 4 +-
6596 drivers/media/v4l2-core/v4l2-ioctl.c | 11 +-
6597 drivers/message/fusion/mptsas.c | 34 +-
6598 drivers/message/fusion/mptscsih.c | 19 +-
6599 drivers/message/i2o/i2o_proc.c | 67 +-
6600 drivers/message/i2o/iop.c | 8 +-
6601 drivers/mfd/janz-cmodio.c | 1 +
6602 drivers/mfd/max8925-i2c.c | 2 +-
6603 drivers/mfd/tps65910.c | 2 +-
6604 drivers/mfd/twl4030-irq.c | 9 +-
6605 drivers/misc/c2port/core.c | 4 +-
6606 drivers/misc/kgdbts.c | 4 +-
6607 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
6608 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
6609 drivers/misc/sgi-gru/gruhandles.c | 4 +-
6610 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
6611 drivers/misc/sgi-gru/grutables.h | 154 +-
6612 drivers/misc/sgi-xp/xp.h | 2 +-
6613 drivers/misc/sgi-xp/xpc.h | 3 +-
6614 drivers/misc/sgi-xp/xpc_main.c | 4 +-
6615 drivers/mmc/core/mmc_ops.c | 2 +-
6616 drivers/mmc/host/dw_mmc.h | 2 +-
6617 drivers/mmc/host/mmci.c | 4 +-
6618 drivers/mmc/host/sdhci-s3c.c | 8 +-
6619 drivers/mtd/chips/cfi_cmdset_0020.c | 2 +-
6620 drivers/mtd/nand/denali.c | 1 +
6621 drivers/mtd/nftlmount.c | 1 +
6622 drivers/mtd/sm_ftl.c | 2 +-
6623 drivers/net/bonding/bond_netlink.c | 2 +-
6624 drivers/net/ethernet/8390/ax88796.c | 4 +-
6625 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
6626 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
6627 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
6628 drivers/net/ethernet/broadcom/tg3.h | 1 +
6629 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
6630 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
6631 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
6632 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
6633 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
6634 drivers/net/ethernet/faraday/ftmac100.c | 2 +
6635 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
6636 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
6637 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +-
6638 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +-
6639 .../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 2 +-
6640 drivers/net/ethernet/realtek/r8169.c | 8 +-
6641 drivers/net/ethernet/sfc/ptp.c | 2 +-
6642 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
6643 drivers/net/hyperv/hyperv_net.h | 2 +-
6644 drivers/net/hyperv/rndis_filter.c | 4 +-
6645 drivers/net/ieee802154/fakehard.c | 2 +-
6646 drivers/net/macvlan.c | 18 +-
6647 drivers/net/macvtap.c | 2 +-
6648 drivers/net/ppp/ppp_generic.c | 4 +-
6649 drivers/net/slip/slhc.c | 2 +-
6650 drivers/net/team/team.c | 2 +-
6651 drivers/net/tun.c | 5 +-
6652 drivers/net/usb/hso.c | 23 +-
6653 drivers/net/usb/sierra_net.c | 4 +-
6654 drivers/net/vxlan.c | 2 +-
6655 drivers/net/wimax/i2400m/rx.c | 2 +-
6656 drivers/net/wireless/airo.c | 2 +-
6657 drivers/net/wireless/at76c50x-usb.c | 2 +-
6658 drivers/net/wireless/ath/ath10k/htc.c | 7 +-
6659 drivers/net/wireless/ath/ath10k/htc.h | 4 +-
6660 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
6661 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
6662 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
6663 drivers/net/wireless/b43/phy_lp.c | 2 +-
6664 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
6665 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 34 +-
6666 drivers/net/wireless/iwlwifi/dvm/main.c | 3 +-
6667 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
6668 drivers/net/wireless/mac80211_hwsim.c | 32 +-
6669 drivers/net/wireless/rndis_wlan.c | 2 +-
6670 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
6671 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
6672 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
6673 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
6674 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
6675 drivers/nfc/nfcwilink.c | 2 +-
6676 drivers/oprofile/buffer_sync.c | 8 +-
6677 drivers/oprofile/event_buffer.c | 2 +-
6678 drivers/oprofile/oprof.c | 2 +-
6679 drivers/oprofile/oprofile_files.c | 2 +-
6680 drivers/oprofile/oprofile_stats.c | 10 +-
6681 drivers/oprofile/oprofile_stats.h | 10 +-
6682 drivers/oprofile/oprofilefs.c | 6 +-
6683 drivers/oprofile/timer_int.c | 2 +-
6684 drivers/parport/procfs.c | 4 +-
6685 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
6686 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
6687 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
6688 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
6689 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
6690 drivers/pci/hotplug/pciehp_core.c | 2 +-
6691 drivers/pci/pci-sysfs.c | 6 +-
6692 drivers/pci/pci.h | 2 +-
6693 drivers/pci/pcie/aspm.c | 6 +-
6694 drivers/pci/probe.c | 2 +-
6695 drivers/platform/chrome/chromeos_laptop.c | 2 +-
6696 drivers/platform/x86/msi-laptop.c | 14 +-
6697 drivers/platform/x86/msi-wmi.c | 2 +-
6698 drivers/platform/x86/sony-laptop.c | 2 +-
6699 drivers/platform/x86/thinkpad_acpi.c | 70 +-
6700 drivers/pnp/pnpbios/bioscalls.c | 14 +-
6701 drivers/pnp/resource.c | 4 +-
6702 drivers/power/pda_power.c | 7 +-
6703 drivers/power/power_supply.h | 4 +-
6704 drivers/power/power_supply_core.c | 7 +-
6705 drivers/power/power_supply_sysfs.c | 6 +-
6706 drivers/powercap/powercap_sys.c | 136 +-
6707 drivers/regulator/core.c | 4 +-
6708 drivers/regulator/max8660.c | 6 +-
6709 drivers/regulator/max8973-regulator.c | 8 +-
6710 drivers/regulator/mc13892-regulator.c | 6 +-
6711 drivers/rtc/rtc-cmos.c | 4 +-
6712 drivers/rtc/rtc-ds1307.c | 2 +-
6713 drivers/rtc/rtc-m48t59.c | 4 +-
6714 drivers/scsi/aic7xxx/aic79xx_pci.c | 18 +-
6715 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
6716 drivers/scsi/bfa/bfa_ioc.h | 4 +-
6717 drivers/scsi/fcoe/fcoe_sysfs.c | 12 +-
6718 drivers/scsi/hosts.c | 4 +-
6719 drivers/scsi/hpsa.c | 30 +-
6720 drivers/scsi/hpsa.h | 2 +-
6721 drivers/scsi/libfc/fc_exch.c | 50 +-
6722 drivers/scsi/libsas/sas_ata.c | 2 +-
6723 drivers/scsi/lpfc/lpfc.h | 8 +-
6724 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
6725 drivers/scsi/lpfc/lpfc_init.c | 6 +-
6726 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
6727 drivers/scsi/mpt2sas/mpt2sas_scsih.c | 8 +-
6728 drivers/scsi/pmcraid.c | 20 +-
6729 drivers/scsi/pmcraid.h | 8 +-
6730 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
6731 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
6732 drivers/scsi/qla2xxx/qla_os.c | 6 +-
6733 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
6734 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
6735 drivers/scsi/scsi.c | 2 +-
6736 drivers/scsi/scsi_lib.c | 6 +-
6737 drivers/scsi/scsi_sysfs.c | 2 +-
6738 drivers/scsi/scsi_tgt_lib.c | 2 +-
6739 drivers/scsi/scsi_transport_fc.c | 8 +-
6740 drivers/scsi/scsi_transport_iscsi.c | 6 +-
6741 drivers/scsi/scsi_transport_srp.c | 6 +-
6742 drivers/scsi/sd.c | 2 +-
6743 drivers/scsi/sg.c | 2 +-
6744 drivers/spi/spi.c | 2 +-
6745 drivers/staging/android/timed_output.c | 6 +-
6746 drivers/staging/gdm724x/gdm_tty.c | 2 +-
6747 drivers/staging/lustre/lnet/selftest/brw_test.c | 12 +-
6748 drivers/staging/lustre/lnet/selftest/framework.c | 4 -
6749 drivers/staging/lustre/lnet/selftest/ping_test.c | 14 +-
6750 drivers/staging/lustre/lustre/include/lustre_dlm.h | 2 +-
6751 drivers/staging/lustre/lustre/include/obd.h | 2 +-
6752 .../lustre/lustre/libcfs/linux/linux-proc.c | 6 +-
6753 drivers/staging/media/solo6x10/solo6x10-core.c | 2 +-
6754 drivers/staging/media/solo6x10/solo6x10-p2m.c | 2 +-
6755 drivers/staging/media/solo6x10/solo6x10.h | 2 +-
6756 drivers/staging/octeon/ethernet-rx.c | 12 +-
6757 drivers/staging/octeon/ethernet.c | 8 +-
6758 drivers/staging/rtl8188eu/include/hal_intf.h | 2 +-
6759 drivers/staging/rtl8188eu/include/rtw_io.h | 2 +-
6760 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
6761 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
6762 drivers/staging/usbip/vhci.h | 2 +-
6763 drivers/staging/usbip/vhci_hcd.c | 6 +-
6764 drivers/staging/usbip/vhci_rx.c | 2 +-
6765 drivers/staging/vt6655/hostap.c | 7 +-
6766 drivers/staging/vt6656/hostap.c | 7 +-
6767 drivers/target/sbp/sbp_target.c | 4 +-
6768 drivers/target/target_core_device.c | 2 +-
6769 drivers/target/target_core_transport.c | 2 +-
6770 drivers/tty/cyclades.c | 6 +-
6771 drivers/tty/hvc/hvc_console.c | 14 +-
6772 drivers/tty/hvc/hvcs.c | 21 +-
6773 drivers/tty/hvc/hvsi.c | 12 +-
6774 drivers/tty/hvc/hvsi_lib.c | 4 +-
6775 drivers/tty/ipwireless/tty.c | 27 +-
6776 drivers/tty/moxa.c | 2 +-
6777 drivers/tty/n_gsm.c | 4 +-
6778 drivers/tty/n_tty.c | 5 +-
6779 drivers/tty/pty.c | 4 +-
6780 drivers/tty/rocket.c | 6 +-
6781 drivers/tty/serial/ioc4_serial.c | 6 +-
6782 drivers/tty/serial/kgdboc.c | 32 +-
6783 drivers/tty/serial/msm_serial.c | 4 +-
6784 drivers/tty/serial/samsung.c | 9 +-
6785 drivers/tty/serial/serial_core.c | 8 +-
6786 drivers/tty/synclink.c | 34 +-
6787 drivers/tty/synclink_gt.c | 28 +-
6788 drivers/tty/synclinkmp.c | 34 +-
6789 drivers/tty/tty_io.c | 2 +-
6790 drivers/tty/tty_ldisc.c | 8 +-
6791 drivers/tty/tty_port.c | 22 +-
6792 drivers/uio/uio.c | 15 +-
6793 drivers/usb/atm/cxacru.c | 2 +-
6794 drivers/usb/atm/usbatm.c | 24 +-
6795 drivers/usb/core/devices.c | 6 +-
6796 drivers/usb/core/devio.c | 10 +-
6797 drivers/usb/core/hcd.c | 4 +-
6798 drivers/usb/core/message.c | 6 +-
6799 drivers/usb/core/sysfs.c | 2 +-
6800 drivers/usb/core/usb.c | 2 +-
6801 drivers/usb/dwc3/gadget.c | 2 -
6802 drivers/usb/early/ehci-dbgp.c | 16 +-
6803 drivers/usb/gadget/u_serial.c | 22 +-
6804 drivers/usb/host/ehci-hub.c | 4 +-
6805 drivers/usb/misc/appledisplay.c | 4 +-
6806 drivers/usb/serial/console.c | 8 +-
6807 drivers/usb/storage/usb.h | 2 +-
6808 drivers/usb/wusbcore/wa-hc.h | 4 +-
6809 drivers/usb/wusbcore/wa-xfer.c | 2 +-
6810 drivers/vfio/vfio.c | 2 +-
6811 drivers/vhost/vringh.c | 2 +-
6812 drivers/video/aty/aty128fb.c | 2 +-
6813 drivers/video/aty/atyfb_base.c | 8 +-
6814 drivers/video/aty/mach64_cursor.c | 5 +-
6815 drivers/video/backlight/kb3886_bl.c | 2 +-
6816 drivers/video/fb_defio.c | 6 +-
6817 drivers/video/fbmem.c | 6 +-
6818 drivers/video/hyperv_fb.c | 4 +-
6819 drivers/video/i810/i810_accel.c | 1 +
6820 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
6821 drivers/video/nvidia/nvidia.c | 27 +-
6822 drivers/video/omap2/dss/display.c | 8 +-
6823 drivers/video/s1d13xxxfb.c | 6 +-
6824 drivers/video/smscufx.c | 4 +-
6825 drivers/video/udlfb.c | 36 +-
6826 drivers/video/uvesafb.c | 53 +-
6827 drivers/video/vesafb.c | 58 +-
6828 drivers/video/via/via_clock.h | 2 +-
6829 fs/9p/vfs_addr.c | 2 +-
6830 fs/9p/vfs_inode.c | 2 +-
6831 fs/Kconfig.binfmt | 2 +-
6832 fs/afs/inode.c | 4 +-
6833 fs/aio.c | 2 +-
6834 fs/autofs4/waitq.c | 2 +-
6835 fs/befs/endian.h | 6 +-
6836 fs/binfmt_aout.c | 23 +-
6837 fs/binfmt_elf.c | 678 +++-
6838 fs/binfmt_flat.c | 6 +
6839 fs/bio.c | 6 +-
6840 fs/block_dev.c | 2 +-
6841 fs/btrfs/ctree.c | 9 +-
6842 fs/btrfs/delayed-inode.c | 6 +-
6843 fs/btrfs/delayed-inode.h | 4 +-
6844 fs/btrfs/super.c | 2 +-
6845 fs/buffer.c | 2 +-
6846 fs/cachefiles/bind.c | 6 +-
6847 fs/cachefiles/daemon.c | 8 +-
6848 fs/cachefiles/internal.h | 12 +-
6849 fs/cachefiles/namei.c | 2 +-
6850 fs/cachefiles/proc.c | 12 +-
6851 fs/cachefiles/rdwr.c | 2 +-
6852 fs/ceph/dir.c | 2 +-
6853 fs/ceph/super.c | 4 +-
6854 fs/cifs/cifs_debug.c | 12 +-
6855 fs/cifs/cifsfs.c | 8 +-
6856 fs/cifs/cifsglob.h | 54 +-
6857 fs/cifs/file.c | 10 +-
6858 fs/cifs/misc.c | 4 +-
6859 fs/cifs/smb1ops.c | 80 +-
6860 fs/cifs/smb2ops.c | 84 +-
6861 fs/cifs/smb2pdu.c | 3 +-
6862 fs/coda/cache.c | 10 +-
6863 fs/compat.c | 4 +-
6864 fs/compat_binfmt_elf.c | 2 +
6865 fs/compat_ioctl.c | 12 +-
6866 fs/configfs/dir.c | 10 +-
6867 fs/coredump.c | 16 +-
6868 fs/dcache.c | 5 +-
6869 fs/ecryptfs/inode.c | 2 +-
6870 fs/ecryptfs/miscdev.c | 2 +-
6871 fs/exec.c | 362 ++-
6872 fs/ext2/xattr.c | 5 +-
6873 fs/ext3/xattr.c | 5 +-
6874 fs/ext4/ext4.h | 20 +-
6875 fs/ext4/mballoc.c | 44 +-
6876 fs/ext4/mmp.c | 2 +-
6877 fs/ext4/super.c | 4 +-
6878 fs/ext4/xattr.c | 5 +-
6879 fs/fhandle.c | 3 +-
6880 fs/file.c | 4 +-
6881 fs/fs_struct.c | 8 +-
6882 fs/fscache/cookie.c | 40 +-
6883 fs/fscache/internal.h | 200 +-
6884 fs/fscache/object.c | 26 +-
6885 fs/fscache/operation.c | 30 +-
6886 fs/fscache/page.c | 110 +-
6887 fs/fscache/stats.c | 344 +-
6888 fs/fuse/cuse.c | 10 +-
6889 fs/fuse/dev.c | 4 +-
6890 fs/fuse/dir.c | 2 +-
6891 fs/hostfs/hostfs_kern.c | 2 +-
6892 fs/hugetlbfs/inode.c | 13 +-
6893 fs/inode.c | 4 +-
6894 fs/jffs2/erase.c | 3 +-
6895 fs/jffs2/wbuf.c | 3 +-
6896 fs/jfs/super.c | 2 +-
6897 fs/libfs.c | 12 +-
6898 fs/lockd/clntproc.c | 4 +-
6899 fs/locks.c | 8 +-
6900 fs/namei.c | 15 +-
6901 fs/namespace.c | 16 +-
6902 fs/nfs/callback_xdr.c | 2 +-
6903 fs/nfs/inode.c | 6 +-
6904 fs/nfsd/nfs4proc.c | 2 +-
6905 fs/nfsd/nfs4xdr.c | 2 +-
6906 fs/nfsd/nfscache.c | 9 +-
6907 fs/nfsd/vfs.c | 6 +-
6908 fs/nls/nls_base.c | 18 +-
6909 fs/nls/nls_euc-jp.c | 6 +-
6910 fs/nls/nls_koi8-ru.c | 6 +-
6911 fs/notify/fanotify/fanotify_user.c | 4 +-
6912 fs/notify/notification.c | 4 +-
6913 fs/ntfs/dir.c | 2 +-
6914 fs/ntfs/file.c | 2 +-
6915 fs/ntfs/super.c | 6 +-
6916 fs/ocfs2/localalloc.c | 2 +-
6917 fs/ocfs2/ocfs2.h | 10 +-
6918 fs/ocfs2/suballoc.c | 12 +-
6919 fs/ocfs2/super.c | 20 +-
6920 fs/pipe.c | 59 +-
6921 fs/proc/array.c | 20 +
6922 fs/proc/base.c | 4 +-
6923 fs/proc/kcore.c | 32 +-
6924 fs/proc/meminfo.c | 2 +-
6925 fs/proc/nommu.c | 2 +-
6926 fs/proc/proc_sysctl.c | 18 +-
6927 fs/proc/task_mmu.c | 39 +-
6928 fs/proc/task_nommu.c | 4 +-
6929 fs/proc/vmcore.c | 12 +-
6930 fs/qnx6/qnx6.h | 4 +-
6931 fs/quota/netlink.c | 4 +-
6932 fs/read_write.c | 2 +-
6933 fs/reiserfs/do_balan.c | 2 +-
6934 fs/reiserfs/procfs.c | 2 +-
6935 fs/reiserfs/reiserfs.h | 4 +-
6936 fs/seq_file.c | 4 +-
6937 fs/splice.c | 41 +-
6938 fs/sysfs/dir.c | 2 +-
6939 fs/sysfs/file.c | 16 +-
6940 fs/sysfs/symlink.c | 2 +-
6941 fs/sysv/sysv.h | 2 +-
6942 fs/ubifs/io.c | 2 +-
6943 fs/udf/misc.c | 2 +-
6944 fs/ufs/swab.h | 4 +-
6945 fs/xattr.c | 21 +
6946 fs/xattr_acl.c | 4 +-
6947 fs/xfs/xfs_bmap.c | 2 +-
6948 fs/xfs/xfs_dir2_readdir.c | 7 +-
6949 fs/xfs/xfs_ioctl.c | 2 +-
6950 fs/xfs/xfs_iops.c | 2 +-
6951 include/asm-generic/4level-fixup.h | 2 +
6952 include/asm-generic/atomic-long.h | 212 +-
6953 include/asm-generic/atomic.h | 2 +-
6954 include/asm-generic/atomic64.h | 12 +
6955 include/asm-generic/bitops/__fls.h | 2 +-
6956 include/asm-generic/bitops/fls.h | 2 +-
6957 include/asm-generic/bitops/fls64.h | 4 +-
6958 include/asm-generic/cache.h | 4 +-
6959 include/asm-generic/emergency-restart.h | 2 +-
6960 include/asm-generic/kmap_types.h | 4 +-
6961 include/asm-generic/local.h | 13 +
6962 include/asm-generic/pgtable-nopmd.h | 18 +-
6963 include/asm-generic/pgtable-nopud.h | 15 +-
6964 include/asm-generic/pgtable.h | 16 +
6965 include/asm-generic/uaccess.h | 16 +
6966 include/asm-generic/vmlinux.lds.h | 10 +-
6967 include/crypto/algapi.h | 2 +-
6968 include/drm/drmP.h | 15 +-
6969 include/drm/drm_crtc_helper.h | 2 +-
6970 include/drm/i915_pciids.h | 2 +-
6971 include/drm/ttm/ttm_memory.h | 2 +-
6972 include/keys/asymmetric-subtype.h | 2 +-
6973 include/linux/atmdev.h | 4 +-
6974 include/linux/audit.h | 2 +-
6975 include/linux/binfmts.h | 3 +-
6976 include/linux/bitops.h | 6 +-
6977 include/linux/blkdev.h | 2 +-
6978 include/linux/blktrace_api.h | 2 +-
6979 include/linux/cache.h | 8 +
6980 include/linux/cdrom.h | 1 -
6981 include/linux/cleancache.h | 2 +-
6982 include/linux/clk-provider.h | 1 +
6983 include/linux/compat.h | 4 +-
6984 include/linux/compiler-gcc4.h | 20 +
6985 include/linux/compiler.h | 65 +-
6986 include/linux/completion.h | 12 +-
6987 include/linux/configfs.h | 2 +-
6988 include/linux/cpufreq.h | 3 +-
6989 include/linux/cpuidle.h | 5 +-
6990 include/linux/cpumask.h | 12 +-
6991 include/linux/crypto.h | 6 +-
6992 include/linux/ctype.h | 2 +-
6993 include/linux/decompress/mm.h | 2 +-
6994 include/linux/devfreq.h | 2 +-
6995 include/linux/device.h | 7 +-
6996 include/linux/dma-mapping.h | 2 +-
6997 include/linux/dmaengine.h | 4 +-
6998 include/linux/efi.h | 1 +
6999 include/linux/elf.h | 2 +
7000 include/linux/err.h | 4 +-
7001 include/linux/extcon.h | 2 +-
7002 include/linux/fb.h | 2 +-
7003 include/linux/fdtable.h | 2 +-
7004 include/linux/frontswap.h | 2 +-
7005 include/linux/fs.h | 3 +-
7006 include/linux/fs_struct.h | 2 +-
7007 include/linux/fscache-cache.h | 4 +-
7008 include/linux/fscache.h | 2 +-
7009 include/linux/fsnotify.h | 2 +-
7010 include/linux/genhd.h | 4 +-
7011 include/linux/genl_magic_func.h | 2 +-
7012 include/linux/gfp.h | 12 +-
7013 include/linux/highmem.h | 12 +
7014 include/linux/hwmon-sysfs.h | 6 +-
7015 include/linux/i2c.h | 1 +
7016 include/linux/i2o.h | 2 +-
7017 include/linux/if_pppox.h | 2 +-
7018 include/linux/init.h | 12 +-
7019 include/linux/init_task.h | 7 +
7020 include/linux/interrupt.h | 8 +-
7021 include/linux/iommu.h | 2 +-
7022 include/linux/ioport.h | 2 +-
7023 include/linux/irq.h | 3 +-
7024 include/linux/irqchip/arm-gic.h | 4 +-
7025 include/linux/jiffies.h | 12 +-
7026 include/linux/key-type.h | 2 +-
7027 include/linux/kgdb.h | 6 +-
7028 include/linux/kobject.h | 3 +-
7029 include/linux/kobject_ns.h | 2 +-
7030 include/linux/kref.h | 2 +-
7031 include/linux/kvm_host.h | 4 +-
7032 include/linux/libata.h | 2 +-
7033 include/linux/linkage.h | 1 +
7034 include/linux/list.h | 15 +
7035 include/linux/math64.h | 10 +-
7036 include/linux/mempolicy.h | 7 +
7037 include/linux/mm.h | 118 +-
7038 include/linux/mm_types.h | 20 +
7039 include/linux/mmiotrace.h | 4 +-
7040 include/linux/mmzone.h | 2 +-
7041 include/linux/mod_devicetable.h | 6 +-
7042 include/linux/module.h | 60 +-
7043 include/linux/moduleloader.h | 16 +
7044 include/linux/moduleparam.h | 4 +-
7045 include/linux/namei.h | 6 +-
7046 include/linux/net.h | 2 +-
7047 include/linux/netdevice.h | 3 +-
7048 include/linux/netfilter.h | 2 +-
7049 include/linux/netfilter/nfnetlink.h | 2 +-
7050 include/linux/nls.h | 2 +-
7051 include/linux/notifier.h | 3 +-
7052 include/linux/oprofile.h | 4 +-
7053 include/linux/padata.h | 2 +-
7054 include/linux/pci_hotplug.h | 3 +-
7055 include/linux/perf_event.h | 10 +-
7056 include/linux/pipe_fs_i.h | 8 +-
7057 include/linux/pm.h | 1 +
7058 include/linux/pm_domain.h | 2 +-
7059 include/linux/pm_runtime.h | 2 +-
7060 include/linux/pnp.h | 2 +-
7061 include/linux/poison.h | 4 +-
7062 include/linux/power/smartreflex.h | 2 +-
7063 include/linux/ppp-comp.h | 2 +-
7064 include/linux/preempt.h | 19 +
7065 include/linux/proc_ns.h | 2 +-
7066 include/linux/quota.h | 2 +-
7067 include/linux/random.h | 23 +-
7068 include/linux/rculist.h | 20 +-
7069 include/linux/reboot.h | 14 +-
7070 include/linux/regset.h | 3 +-
7071 include/linux/relay.h | 2 +-
7072 include/linux/rio.h | 2 +-
7073 include/linux/rmap.h | 4 +-
7074 include/linux/sched.h | 68 +-
7075 include/linux/sched/sysctl.h | 1 +
7076 include/linux/security.h | 2 -
7077 include/linux/semaphore.h | 2 +-
7078 include/linux/seq_file.h | 1 +
7079 include/linux/skbuff.h | 12 +-
7080 include/linux/slab.h | 48 +-
7081 include/linux/slab_def.h | 14 +-
7082 include/linux/slub_def.h | 2 +-
7083 include/linux/smp.h | 2 +
7084 include/linux/sock_diag.h | 2 +-
7085 include/linux/sonet.h | 2 +-
7086 include/linux/sunrpc/addr.h | 8 +-
7087 include/linux/sunrpc/clnt.h | 2 +-
7088 include/linux/sunrpc/svc.h | 2 +-
7089 include/linux/sunrpc/svc_rdma.h | 18 +-
7090 include/linux/sunrpc/svcauth.h | 2 +-
7091 include/linux/swiotlb.h | 3 +-
7092 include/linux/syscalls.h | 18 +-
7093 include/linux/syscore_ops.h | 2 +-
7094 include/linux/sysctl.h | 6 +-
7095 include/linux/sysfs.h | 9 +-
7096 include/linux/sysrq.h | 3 +-
7097 include/linux/thread_info.h | 7 +
7098 include/linux/tty.h | 4 +-
7099 include/linux/tty_driver.h | 2 +-
7100 include/linux/tty_ldisc.h | 2 +-
7101 include/linux/types.h | 16 +
7102 include/linux/uaccess.h | 6 +-
7103 include/linux/unaligned/access_ok.h | 24 +-
7104 include/linux/usb.h | 4 +-
7105 include/linux/usb/renesas_usbhs.h | 2 +-
7106 include/linux/vermagic.h | 21 +-
7107 include/linux/vga_switcheroo.h | 8 +-
7108 include/linux/vmalloc.h | 7 +-
7109 include/linux/vmstat.h | 24 +-
7110 include/linux/xattr.h | 5 +-
7111 include/linux/zlib.h | 3 +-
7112 include/media/v4l2-dev.h | 2 +-
7113 include/media/v4l2-device.h | 2 +-
7114 include/net/9p/transport.h | 2 +-
7115 include/net/bluetooth/l2cap.h | 2 +-
7116 include/net/caif/cfctrl.h | 6 +-
7117 include/net/flow.h | 2 +-
7118 include/net/genetlink.h | 2 +-
7119 include/net/gro_cells.h | 2 +-
7120 include/net/inet_connection_sock.h | 2 +-
7121 include/net/inetpeer.h | 17 +-
7122 include/net/ip.h | 2 +-
7123 include/net/ip_fib.h | 2 +-
7124 include/net/ip_vs.h | 8 +-
7125 include/net/irda/ircomm_tty.h | 1 +
7126 include/net/iucv/af_iucv.h | 2 +-
7127 include/net/llc_c_ac.h | 2 +-
7128 include/net/llc_c_ev.h | 4 +-
7129 include/net/llc_c_st.h | 2 +-
7130 include/net/llc_s_ac.h | 2 +-
7131 include/net/llc_s_st.h | 2 +-
7132 include/net/mac80211.h | 2 +-
7133 include/net/neighbour.h | 2 +-
7134 include/net/net_namespace.h | 20 +-
7135 include/net/netdma.h | 2 +-
7136 include/net/netlink.h | 2 +-
7137 include/net/netns/conntrack.h | 6 +-
7138 include/net/netns/ipv4.h | 4 +-
7139 include/net/netns/ipv6.h | 4 +-
7140 include/net/ping.h | 2 +-
7141 include/net/protocol.h | 4 +-
7142 include/net/rtnetlink.h | 2 +-
7143 include/net/sctp/checksum.h | 4 +-
7144 include/net/sctp/sm.h | 4 +-
7145 include/net/sctp/structs.h | 2 +-
7146 include/net/sock.h | 8 +-
7147 include/net/tcp.h | 8 +-
7148 include/net/xfrm.h | 13 +-
7149 include/rdma/iw_cm.h | 2 +-
7150 include/scsi/libfc.h | 3 +-
7151 include/scsi/scsi_device.h | 6 +-
7152 include/scsi/scsi_transport_fc.h | 3 +-
7153 include/sound/compress_driver.h | 2 +-
7154 include/sound/soc.h | 4 +-
7155 include/target/target_core_base.h | 2 +-
7156 include/trace/events/irq.h | 4 +-
7157 include/uapi/linux/a.out.h | 8 +
7158 include/uapi/linux/byteorder/little_endian.h | 28 +-
7159 include/uapi/linux/elf.h | 28 +
7160 include/uapi/linux/screen_info.h | 3 +-
7161 include/uapi/linux/swab.h | 6 +-
7162 include/uapi/linux/sysctl.h | 2 -
7163 include/uapi/linux/xattr.h | 4 +
7164 include/video/udlfb.h | 8 +-
7165 include/video/uvesafb.h | 1 +
7166 init/Kconfig | 2 +-
7167 init/Makefile | 3 +
7168 init/do_mounts.c | 14 +-
7169 init/do_mounts.h | 8 +-
7170 init/do_mounts_initrd.c | 30 +-
7171 init/do_mounts_md.c | 6 +-
7172 init/init_task.c | 4 +
7173 init/initramfs.c | 42 +-
7174 init/main.c | 78 +-
7175 ipc/ipc_sysctl.c | 10 +-
7176 ipc/mq_sysctl.c | 2 +-
7177 ipc/msg.c | 11 +-
7178 ipc/sem.c | 11 +-
7179 ipc/shm.c | 17 +-
7180 kernel/acct.c | 2 +-
7181 kernel/audit.c | 10 +-
7182 kernel/auditsc.c | 4 +-
7183 kernel/capability.c | 3 +
7184 kernel/compat.c | 38 +-
7185 kernel/debug/debug_core.c | 16 +-
7186 kernel/debug/kdb/kdb_main.c | 4 +-
7187 kernel/events/core.c | 28 +-
7188 kernel/events/internal.h | 10 +-
7189 kernel/events/uprobes.c | 2 +-
7190 kernel/exit.c | 4 +-
7191 kernel/fork.c | 166 +-
7192 kernel/futex.c | 11 +-
7193 kernel/futex_compat.c | 2 +-
7194 kernel/gcov/base.c | 7 +-
7195 kernel/hrtimer.c | 2 +-
7196 kernel/irq_work.c | 7 +-
7197 kernel/jump_label.c | 5 +
7198 kernel/kallsyms.c | 39 +-
7199 kernel/kexec.c | 3 +-
7200 kernel/kmod.c | 4 +-
7201 kernel/kprobes.c | 4 +-
7202 kernel/ksysfs.c | 2 +-
7203 kernel/locking/lockdep.c | 7 +-
7204 kernel/locking/mutex-debug.c | 12 +-
7205 kernel/locking/mutex-debug.h | 4 +-
7206 kernel/locking/mutex.c | 10 +-
7207 kernel/locking/rtmutex-tester.c | 24 +-
7208 kernel/module.c | 337 +-
7209 kernel/notifier.c | 17 +-
7210 kernel/padata.c | 4 +-
7211 kernel/panic.c | 3 +-
7212 kernel/pid.c | 2 +-
7213 kernel/pid_namespace.c | 2 +-
7214 kernel/posix-cpu-timers.c | 4 +-
7215 kernel/posix-timers.c | 24 +-
7216 kernel/power/process.c | 12 +-
7217 kernel/profile.c | 14 +-
7218 kernel/ptrace.c | 8 +-
7219 kernel/rcu/srcu.c | 4 +-
7220 kernel/rcu/tiny.c | 4 +-
7221 kernel/rcu/torture.c | 56 +-
7222 kernel/rcu/tree.c | 76 +-
7223 kernel/rcu/tree.h | 26 +-
7224 kernel/rcu/tree_plugin.h | 40 +-
7225 kernel/rcu/tree_trace.c | 22 +-
7226 kernel/rcu/update.c | 4 +-
7227 kernel/sched/auto_group.c | 4 +-
7228 kernel/sched/completion.c | 6 +-
7229 kernel/sched/core.c | 43 +-
7230 kernel/sched/fair.c | 4 +-
7231 kernel/sched/sched.h | 2 +-
7232 kernel/signal.c | 12 +-
7233 kernel/smpboot.c | 4 +-
7234 kernel/softirq.c | 14 +-
7235 kernel/sys.c | 10 +-
7236 kernel/sysctl.c | 34 +-
7237 kernel/time/alarmtimer.c | 2 +-
7238 kernel/time/timer_stats.c | 10 +-
7239 kernel/timer.c | 4 +-
7240 kernel/trace/blktrace.c | 6 +-
7241 kernel/trace/ftrace.c | 18 +-
7242 kernel/trace/ring_buffer.c | 76 +-
7243 kernel/trace/trace.c | 2 +-
7244 kernel/trace/trace.h | 2 +-
7245 kernel/trace/trace_clock.c | 4 +-
7246 kernel/trace/trace_events.c | 1 -
7247 kernel/trace/trace_mmiotrace.c | 8 +-
7248 kernel/trace/trace_output.c | 12 +-
7249 kernel/trace/trace_stack.c | 2 +-
7250 kernel/user_namespace.c | 2 +-
7251 kernel/utsname_sysctl.c | 2 +-
7252 kernel/watchdog.c | 2 +-
7253 kernel/workqueue.c | 2 +-
7254 lib/Kconfig.debug | 8 +-
7255 lib/Makefile | 2 +-
7256 lib/bitmap.c | 8 +-
7257 lib/bug.c | 2 +
7258 lib/debugobjects.c | 2 +-
7259 lib/devres.c | 4 +-
7260 lib/div64.c | 4 +-
7261 lib/dma-debug.c | 4 +-
7262 lib/inflate.c | 2 +-
7263 lib/ioremap.c | 4 +-
7264 lib/kobject.c | 4 +-
7265 lib/list_debug.c | 126 +-
7266 lib/percpu-refcount.c | 2 +-
7267 lib/radix-tree.c | 2 +-
7268 lib/strncpy_from_user.c | 2 +-
7269 lib/strnlen_user.c | 2 +-
7270 lib/swiotlb.c | 2 +-
7271 lib/usercopy.c | 6 +
7272 lib/vsprintf.c | 12 +-
7273 mm/Kconfig | 6 +-
7274 mm/backing-dev.c | 4 +-
7275 mm/filemap.c | 10 +-
7276 mm/fremap.c | 5 +
7277 mm/highmem.c | 7 +-
7278 mm/hugetlb.c | 70 +-
7279 mm/internal.h | 3 +-
7280 mm/maccess.c | 4 +-
7281 mm/madvise.c | 41 +
7282 mm/memory-failure.c | 28 +-
7283 mm/memory.c | 424 ++-
7284 mm/mempolicy.c | 25 +
7285 mm/mlock.c | 15 +-
7286 mm/mmap.c | 583 ++-
7287 mm/mprotect.c | 139 +-
7288 mm/mremap.c | 44 +-
7289 mm/nommu.c | 21 +-
7290 mm/page-writeback.c | 2 +-
7291 mm/page_alloc.c | 42 +-
7292 mm/page_io.c | 2 +-
7293 mm/percpu.c | 2 +-
7294 mm/process_vm_access.c | 14 +-
7295 mm/rmap.c | 44 +-
7296 mm/shmem.c | 19 +-
7297 mm/slab.c | 106 +-
7298 mm/slab.h | 15 +-
7299 mm/slab_common.c | 60 +-
7300 mm/slob.c | 206 +-
7301 mm/slub.c | 88 +-
7302 mm/sparse-vmemmap.c | 4 +-
7303 mm/sparse.c | 2 +-
7304 mm/swap.c | 2 +
7305 mm/swapfile.c | 12 +-
7306 mm/util.c | 6 +
7307 mm/vmalloc.c | 75 +-
7308 mm/vmstat.c | 12 +-
7309 net/8021q/vlan.c | 5 +-
7310 net/9p/mod.c | 4 +-
7311 net/9p/trans_fd.c | 2 +-
7312 net/atm/atm_misc.c | 8 +-
7313 net/atm/lec.h | 2 +-
7314 net/atm/proc.c | 6 +-
7315 net/atm/resources.c | 4 +-
7316 net/ax25/sysctl_net_ax25.c | 2 +-
7317 net/batman-adv/bat_iv_ogm.c | 8 +-
7318 net/batman-adv/fragmentation.c | 2 +-
7319 net/batman-adv/soft-interface.c | 6 +-
7320 net/batman-adv/types.h | 6 +-
7321 net/bluetooth/hci_sock.c | 2 +-
7322 net/bluetooth/l2cap_core.c | 6 +-
7323 net/bluetooth/l2cap_sock.c | 12 +-
7324 net/bluetooth/rfcomm/sock.c | 4 +-
7325 net/bluetooth/rfcomm/tty.c | 4 +-
7326 net/bridge/netfilter/ebtables.c | 6 +-
7327 net/caif/cfctrl.c | 11 +-
7328 net/can/af_can.c | 2 +-
7329 net/can/gw.c | 6 +-
7330 net/ceph/messenger.c | 4 +-
7331 net/compat.c | 34 +-
7332 net/core/datagram.c | 2 +-
7333 net/core/dev.c | 16 +-
7334 net/core/flow.c | 8 +-
7335 net/core/iovec.c | 4 +-
7336 net/core/neighbour.c | 2 +-
7337 net/core/net-sysfs.c | 2 +-
7338 net/core/net_namespace.c | 8 +-
7339 net/core/netpoll.c | 4 +-
7340 net/core/rtnetlink.c | 13 +-
7341 net/core/scm.c | 8 +-
7342 net/core/skbuff.c | 8 +-
7343 net/core/sock.c | 28 +-
7344 net/core/sock_diag.c | 9 +-
7345 net/core/sysctl_net_core.c | 20 +-
7346 net/decnet/af_decnet.c | 1 +
7347 net/decnet/sysctl_net_decnet.c | 4 +-
7348 net/ipv4/af_inet.c | 8 +-
7349 net/ipv4/devinet.c | 18 +-
7350 net/ipv4/fib_frontend.c | 6 +-
7351 net/ipv4/fib_semantics.c | 2 +-
7352 net/ipv4/inet_connection_sock.c | 2 +-
7353 net/ipv4/inetpeer.c | 4 +-
7354 net/ipv4/ip_fragment.c | 15 +-
7355 net/ipv4/ip_gre.c | 6 +-
7356 net/ipv4/ip_sockglue.c | 2 +-
7357 net/ipv4/ip_vti.c | 4 +-
7358 net/ipv4/ipconfig.c | 6 +-
7359 net/ipv4/ipip.c | 4 +-
7360 net/ipv4/netfilter/arp_tables.c | 12 +-
7361 net/ipv4/netfilter/ip_tables.c | 12 +-
7362 net/ipv4/ping.c | 14 +-
7363 net/ipv4/raw.c | 14 +-
7364 net/ipv4/route.c | 20 +-
7365 net/ipv4/sysctl_net_ipv4.c | 37 +-
7366 net/ipv4/tcp_input.c | 4 +-
7367 net/ipv4/tcp_probe.c | 2 +-
7368 net/ipv4/udp.c | 10 +-
7369 net/ipv4/xfrm4_policy.c | 18 +-
7370 net/ipv6/addrconf.c | 12 +-
7371 net/ipv6/af_inet6.c | 2 +-
7372 net/ipv6/datagram.c | 2 +-
7373 net/ipv6/icmp.c | 2 +-
7374 net/ipv6/ip6_gre.c | 8 +-
7375 net/ipv6/ip6_tunnel.c | 4 +-
7376 net/ipv6/ip6_vti.c | 4 +-
7377 net/ipv6/ipv6_sockglue.c | 2 +-
7378 net/ipv6/netfilter/ip6_tables.c | 12 +-
7379 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
7380 net/ipv6/output_core.c | 15 +-
7381 net/ipv6/ping.c | 28 +-
7382 net/ipv6/raw.c | 17 +-
7383 net/ipv6/reassembly.c | 13 +-
7384 net/ipv6/route.c | 2 +-
7385 net/ipv6/sit.c | 4 +-
7386 net/ipv6/sysctl_net_ipv6.c | 2 +-
7387 net/ipv6/udp.c | 6 +-
7388 net/ipv6/xfrm6_policy.c | 17 +-
7389 net/irda/ircomm/ircomm_tty.c | 18 +-
7390 net/iucv/af_iucv.c | 4 +-
7391 net/iucv/iucv.c | 2 +-
7392 net/key/af_key.c | 4 +-
7393 net/mac80211/cfg.c | 8 +-
7394 net/mac80211/ieee80211_i.h | 3 +-
7395 net/mac80211/iface.c | 16 +-
7396 net/mac80211/main.c | 2 +-
7397 net/mac80211/pm.c | 6 +-
7398 net/mac80211/rate.c | 2 +-
7399 net/mac80211/rc80211_pid_debugfs.c | 2 +-
7400 net/mac80211/util.c | 4 +-
7401 net/netfilter/ipset/ip_set_core.c | 2 +-
7402 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
7403 net/netfilter/ipvs/ip_vs_core.c | 4 +-
7404 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
7405 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
7406 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
7407 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
7408 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
7409 net/netfilter/nf_conntrack_acct.c | 2 +-
7410 net/netfilter/nf_conntrack_ecache.c | 2 +-
7411 net/netfilter/nf_conntrack_helper.c | 2 +-
7412 net/netfilter/nf_conntrack_proto.c | 2 +-
7413 net/netfilter/nf_conntrack_proto_dccp.c | 10 +-
7414 net/netfilter/nf_conntrack_standalone.c | 2 +-
7415 net/netfilter/nf_conntrack_timestamp.c | 2 +-
7416 net/netfilter/nf_log.c | 10 +-
7417 net/netfilter/nf_sockopt.c | 4 +-
7418 net/netfilter/nfnetlink_log.c | 4 +-
7419 net/netfilter/xt_statistic.c | 8 +-
7420 net/netlink/af_netlink.c | 4 +-
7421 net/packet/af_packet.c | 8 +-
7422 net/phonet/pep.c | 6 +-
7423 net/phonet/socket.c | 2 +-
7424 net/phonet/sysctl.c | 2 +-
7425 net/rds/cong.c | 6 +-
7426 net/rds/ib.h | 2 +-
7427 net/rds/ib_cm.c | 2 +-
7428 net/rds/ib_recv.c | 4 +-
7429 net/rds/iw.h | 2 +-
7430 net/rds/iw_cm.c | 2 +-
7431 net/rds/iw_recv.c | 4 +-
7432 net/rds/rds.h | 2 +-
7433 net/rds/tcp.c | 2 +-
7434 net/rds/tcp_send.c | 2 +-
7435 net/rxrpc/af_rxrpc.c | 2 +-
7436 net/rxrpc/ar-ack.c | 14 +-
7437 net/rxrpc/ar-call.c | 2 +-
7438 net/rxrpc/ar-connection.c | 2 +-
7439 net/rxrpc/ar-connevent.c | 2 +-
7440 net/rxrpc/ar-input.c | 4 +-
7441 net/rxrpc/ar-internal.h | 8 +-
7442 net/rxrpc/ar-local.c | 2 +-
7443 net/rxrpc/ar-output.c | 4 +-
7444 net/rxrpc/ar-peer.c | 2 +-
7445 net/rxrpc/ar-proc.c | 4 +-
7446 net/rxrpc/ar-transport.c | 2 +-
7447 net/rxrpc/rxkad.c | 4 +-
7448 net/sctp/ipv6.c | 6 +-
7449 net/sctp/protocol.c | 10 +-
7450 net/sctp/sm_sideeffect.c | 2 +-
7451 net/sctp/socket.c | 21 +-
7452 net/sctp/sysctl.c | 8 +-
7453 net/socket.c | 18 +-
7454 net/sunrpc/auth_gss/svcauth_gss.c | 4 +-
7455 net/sunrpc/clnt.c | 4 +-
7456 net/sunrpc/sched.c | 4 +-
7457 net/sunrpc/svc.c | 4 +-
7458 net/sunrpc/svcauth_unix.c | 4 +-
7459 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
7460 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
7461 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
7462 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
7463 net/tipc/subscr.c | 2 +-
7464 net/unix/sysctl_net_unix.c | 2 +-
7465 net/wireless/wext-core.c | 19 +-
7466 net/xfrm/xfrm_policy.c | 22 +-
7467 net/xfrm/xfrm_state.c | 33 +-
7468 net/xfrm/xfrm_sysctl.c | 2 +-
7469 scripts/Makefile.build | 2 +-
7470 scripts/Makefile.clean | 3 +-
7471 scripts/Makefile.host | 28 +-
7472 scripts/basic/fixdep.c | 12 +-
7473 scripts/gcc-plugin.sh | 17 +
7474 scripts/headers_install.sh | 1 +
7475 scripts/link-vmlinux.sh | 2 +-
7476 scripts/mod/file2alias.c | 14 +-
7477 scripts/mod/modpost.c | 25 +-
7478 scripts/mod/modpost.h | 6 +-
7479 scripts/mod/sumversion.c | 2 +-
7480 scripts/module-common.lds | 4 +
7481 scripts/package/builddeb | 1 +
7482 scripts/pnmtologo.c | 6 +-
7483 scripts/sortextable.h | 6 +-
7484 security/Kconfig | 689 +++-
7485 security/apparmor/lsm.c | 2 +-
7486 security/integrity/ima/ima.h | 4 +-
7487 security/integrity/ima/ima_api.c | 2 +-
7488 security/integrity/ima/ima_fs.c | 4 +-
7489 security/integrity/ima/ima_queue.c | 2 +-
7490 security/keys/compat.c | 2 +-
7491 security/keys/internal.h | 2 +-
7492 security/keys/key.c | 18 +-
7493 security/keys/keyctl.c | 8 +-
7494 security/security.c | 9 +-
7495 security/selinux/avc.c | 6 +-
7496 security/selinux/hooks.c | 11 +-
7497 security/selinux/include/xfrm.h | 2 +-
7498 security/smack/smack_lsm.c | 2 +-
7499 security/tomoyo/tomoyo.c | 2 +-
7500 security/yama/yama_lsm.c | 22 +-
7501 sound/aoa/codecs/onyx.c | 7 +-
7502 sound/aoa/codecs/onyx.h | 1 +
7503 sound/core/oss/pcm_oss.c | 18 +-
7504 sound/core/pcm_compat.c | 2 +-
7505 sound/core/pcm_native.c | 4 +-
7506 sound/core/seq/seq_device.c | 8 +-
7507 sound/core/sound.c | 2 +-
7508 sound/drivers/mts64.c | 14 +-
7509 sound/drivers/opl4/opl4_lib.c | 2 +-
7510 sound/drivers/portman2x4.c | 3 +-
7511 sound/firewire/amdtp.c | 4 +-
7512 sound/firewire/amdtp.h | 2 +-
7513 sound/firewire/isight.c | 10 +-
7514 sound/firewire/scs1x.c | 8 +-
7515 sound/oss/sb_audio.c | 2 +-
7516 sound/oss/swarm_cs4297a.c | 6 +-
7517 sound/pci/hda/hda_codec.c | 8 +-
7518 sound/pci/ymfpci/ymfpci.h | 2 +-
7519 sound/pci/ymfpci/ymfpci_main.c | 12 +-
7520 sound/soc/fsl/fsl_ssi.c | 2 +-
7521 sound/soc/soc-core.c | 6 +-
7522 tools/gcc/.gitignore | 1 +
7523 tools/gcc/Makefile | 45 +
7524 tools/gcc/checker_plugin.c | 172 +
7525 tools/gcc/colorize_plugin.c | 151 +
7526 tools/gcc/constify_plugin.c | 557 ++
7527 tools/gcc/generate_size_overflow_hash.sh | 94 +
7528 tools/gcc/kallocstat_plugin.c | 170 +
7529 tools/gcc/kernexec_plugin.c | 474 ++
7530 tools/gcc/latent_entropy_plugin.c | 335 ++
7531 tools/gcc/size_overflow_hash.data | 5618 ++++++++++++++++++++
7532 tools/gcc/size_overflow_plugin.c | 4072 ++++++++++++++
7533 tools/gcc/stackleak_plugin.c | 327 ++
7534 tools/gcc/structleak_plugin.c | 277 +
7535 tools/lib/lk/Makefile | 2 +-
7536 tools/perf/util/include/asm/alternative-asm.h | 3 +
7537 tools/perf/util/include/linux/compiler.h | 8 +
7538 virt/kvm/kvm_main.c | 44 +-
7539 1716 files changed, 34523 insertions(+), 8024 deletions(-)
7540 commit 512ab625d6d34c2f8602a044454bb1366b80b98e
7541 Author: Brad Spengler <spender@grsecurity.net>
7542 Date: Sat Jan 25 14:54:11 2014 -0500
7543
7544 Fix another compiler error caught by RANDSTRUCT
7545
7546 sound/isa/sb/emu8000_synth.c | 4 ++--
7547 1 files changed, 2 insertions(+), 2 deletions(-)
7548
7549 commit 43bd0a97d977b78f2a54045bbf98ee967209c144
7550 Author: Brad Spengler <spender@grsecurity.net>
7551 Date: Sat Jan 25 14:34:12 2014 -0500
7552
7553 Fix another compiler error caught by RANDSTRUCT
7554
7555 drivers/net/wan/z85230.c | 24 ++++++++++++------------
7556 1 files changed, 12 insertions(+), 12 deletions(-)
7557
7558 commit e833f51aa919e2c94bb7ac6979a68cf3f4fcc131
7559 Author: Brad Spengler <spender@grsecurity.net>
7560 Date: Sat Jan 25 14:30:46 2014 -0500
7561
7562 fix compilation with RANDSTRUCT plugin
7563
7564 sound/drivers/opl4/opl4_seq.c | 4 ++--
7565 1 files changed, 2 insertions(+), 2 deletions(-)
7566
7567 commit 743f2ccb4dc72e6366e0cf0b371d37951c67ce0d
7568 Author: Brad Spengler <spender@grsecurity.net>
7569 Date: Sat Jan 25 14:16:18 2014 -0500
7570
7571 avoid problems by just building our fake field decl node from scratch
7572
7573 tools/gcc/randomize_layout_plugin.c | 10 +++++-----
7574 1 files changed, 5 insertions(+), 5 deletions(-)
7575
7576 commit 9345145bb31148c2fb4918fe989d45bbf1219373
7577 Author: Brad Spengler <spender@grsecurity.net>
7578 Date: Sat Jan 25 13:45:18 2014 -0500
7579
7580 while in non-debug mode, don't emit notes for non-randomized struct types
7581
7582 clear all signs from our fake field decl of being a bitfield
7583
7584 tools/gcc/randomize_layout_plugin.c | 11 +++++++++++
7585 1 files changed, 11 insertions(+), 0 deletions(-)
7586
7587 commit 946d2d5cafa4f123f6ee36596f67cf8571e461b4
7588 Author: Brad Spengler <spender@grsecurity.net>
7589 Date: Sat Jan 25 12:56:05 2014 -0500
7590
7591 revert change to read-only marking of fake struct field
7592
7593 tools/gcc/randomize_layout_plugin.c | 2 +-
7594 1 files changed, 1 insertions(+), 1 deletions(-)
7595
7596 commit c947104c6a4c0e05ed6440287ad8872e2cbdb2f3
7597 Author: Brad Spengler <spender@grsecurity.net>
7598 Date: Sat Jan 25 12:42:48 2014 -0500
7599
7600 Update RANDSTRUCT plugin help
7601
7602 tools/gcc/randomize_layout_plugin.c | 6 ++++--
7603 1 files changed, 4 insertions(+), 2 deletions(-)
7604
7605 commit 3757914c9c5d2278f93a3a8dc7d19847c6ee8e3a
7606 Author: Brad Spengler <spender@grsecurity.net>
7607 Date: Sat Jan 25 12:25:43 2014 -0500
7608
7609 Introduce GRKERNSEC_RANDSTRUCT:
7610 automatic structure layout randomization of pure ops structs
7611 randomization of marked sensitive kernel structures
7612
7613 automatically enabled by GRKERNSEC_CONFIG_AUTO
7614 performance mode is activated if the config priority is set to performance
7615
7616 Documentation/dontdiff | 1 +
7617 Makefile | 12 +-
7618 arch/x86/include/asm/floppy.h | 20 +-
7619 arch/x86/include/asm/paravirt_types.h | 23 +-
7620 arch/x86/include/asm/processor.h | 2 +-
7621 drivers/acpi/acpica/hwxfsleep.c | 11 +-
7622 drivers/block/cciss.h | 30 +-
7623 drivers/block/drbd/drbd_interval.c | 6 +-
7624 drivers/block/smart1,2.h | 40 +-
7625 drivers/gpu/drm/nouveau/nouveau_ttm.c | 30 +-
7626 drivers/gpu/drm/ttm/ttm_bo_manager.c | 10 +-
7627 drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 10 +-
7628 drivers/infiniband/hw/ipath/ipath_dma.c | 26 +-
7629 drivers/infiniband/hw/nes/nes_cm.c | 22 +-
7630 drivers/isdn/gigaset/bas-gigaset.c | 32 +-
7631 drivers/isdn/gigaset/ser-gigaset.c | 32 +-
7632 drivers/isdn/gigaset/usb-gigaset.c | 32 +-
7633 drivers/isdn/i4l/isdn_concap.c | 6 +-
7634 drivers/isdn/i4l/isdn_x25iface.c | 16 +-
7635 drivers/misc/sgi-xp/xp_main.c | 12 +-
7636 drivers/net/ethernet/brocade/bna/bna_enet.c | 8 +-
7637 drivers/net/wan/lmc/lmc_media.c | 97 ++--
7638 drivers/scsi/bfa/bfa_fcs.c | 19 +-
7639 drivers/scsi/bfa/bfa_fcs_lport.c | 29 +-
7640 drivers/scsi/bfa/bfa_modules.h | 12 +-
7641 drivers/scsi/hpsa.h | 20 +-
7642 drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +-
7643 drivers/staging/lustre/lustre/libcfs/module.c | 10 +-
7644 drivers/staging/media/solo6x10/solo6x10-g723.c | 2 +-
7645 drivers/video/matrox/matroxfb_DAC1064.c | 10 +-
7646 drivers/video/matrox/matroxfb_Ti3026.c | 5 +-
7647 fs/mount.h | 4 +-
7648 fs/proc/internal.h | 4 +-
7649 fs/reiserfs/item_ops.c | 24 +-
7650 grsecurity/Kconfig | 31 +-
7651 include/linux/compiler-gcc4.h | 5 +
7652 include/linux/compiler.h | 8 +
7653 include/linux/cred.h | 4 +-
7654 include/linux/dcache.h | 2 +-
7655 include/linux/fs.h | 14 +-
7656 include/linux/fs_struct.h | 2 +-
7657 include/linux/ipc_namespace.h | 2 +-
7658 include/linux/kobject.h | 2 +-
7659 include/linux/mm_types.h | 4 +-
7660 include/linux/module.h | 4 +-
7661 include/linux/mount.h | 2 +-
7662 include/linux/pid_namespace.h | 2 +-
7663 include/linux/proc_ns.h | 2 +-
7664 include/linux/rbtree_augmented.h | 4 +-
7665 include/linux/sched.h | 6 +-
7666 include/linux/sysctl.h | 2 +-
7667 include/linux/tty.h | 2 +-
7668 include/linux/tty_driver.h | 2 +-
7669 include/linux/user_namespace.h | 2 +-
7670 include/linux/utsname.h | 2 +-
7671 include/net/neighbour.h | 2 +-
7672 include/net/net_namespace.h | 2 +-
7673 lib/rbtree.c | 4 +-
7674 net/atm/lec.c | 6 +-
7675 net/atm/mpoa_caches.c | 42 +-
7676 net/decnet/dn_dev.c | 2 +-
7677 net/vmw_vsock/vmci_transport_notify.c | 30 +-
7678 net/vmw_vsock/vmci_transport_notify_qstate.c | 30 +-
7679 net/x25/sysctl_net_x25.c | 2 +-
7680 scripts/Makefile | 2 +
7681 scripts/gen-random-seed.sh | 8 +
7682 sound/core/seq/oss/seq_oss.c | 4 +-
7683 sound/core/seq/seq_midi.c | 4 +-
7684 sound/drivers/opl3/opl3_seq.c | 4 +-
7685 sound/pci/emu10k1/emu10k1_synth.c | 4 +-
7686 sound/synth/emux/emux_seq.c | 14 +-
7687 tools/gcc/.gitignore | 1 +
7688 tools/gcc/Makefile | 2 +
7689 tools/gcc/randomize_layout_plugin.c | 726 +++++++++++++++++++++++
7690 74 files changed, 1222 insertions(+), 390 deletions(-)
7691
7692 commit 44ebc77fd9886fdebf8e3942a935cbe2f3272c3d
7693 Author: Brad Spengler <spender@grsecurity.net>
7694 Date: Sun Jan 19 09:27:31 2014 -0500
7695
7696 add PRNG self-tests
7697
7698 lib/random32.c | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
7699 1 files changed, 197 insertions(+), 10 deletions(-)
7700
7701 commit 7780c290ada57bac294c5a7e5b0286dd604920c5
7702 Author: Brad Spengler <spender@grsecurity.net>
7703 Date: Sun Jan 19 09:00:56 2014 -0500
7704
7705 compile fix
7706
7707 include/linux/random.h | 4 ----
7708 include/uapi/linux/random.h | 2 +-
7709 2 files changed, 1 insertions(+), 5 deletions(-)
7710
7711 commit 4c4359a96c7b208513eb3563c90558cd5d2ca1a0
7712 Author: Daniel Borkmann <dborkman@redhat.com>
7713 Date: Mon Nov 11 12:20:36 2013 +0100
7714
7715 Upstream commit: a98814cef87946d2708812ad9f8b1e03b8366b6f
7716
7717 random32: upgrade taus88 generator to taus113 from errata paper
7718
7719 Since we use prandom*() functions quite often in networking code
7720 i.e. in UDP port selection, netfilter code, etc, upgrade the PRNG
7721 from Pierre L'Ecuyer's original paper "Maximally Equidistributed
7722 Combined Tausworthe Generators", Mathematics of Computation, 65,
7723 213 (1996), 203--213 to the version published in his errata paper [1].
7724
7725 The Tausworthe generator is a maximally-equidistributed generator,
7726 that is fast and has good statistical properties [1].
7727
7728 The version presented there upgrades the 3 state LFSR to a 4 state
7729 LFSR with increased periodicity from about 2^88 to 2^113. The
7730 algorithm is presented in [1] by the very same author who also
7731 designed the original algorithm in [2].
7732
7733 Also, by increasing the state, we make it a bit harder for attackers
7734 to "guess" the PRNGs internal state. See also discussion in [3].
7735
7736 Now, as we use this sort of weak initialization discussed in [3]
7737 only between core_initcall() until late_initcall() time [*] for
7738 prandom32*() users, namely in prandom_init(), it is less relevant
7739 from late_initcall() onwards as we overwrite seeds through
7740 prandom_reseed() anyways with a seed source of higher entropy, that
7741 is, get_random_bytes(). In other words, a exhaustive keysearch of
7742 96 bit would be needed. Now, with the help of this patch, this
7743 state-search increases further to 128 bit. Initialization needs
7744 to make sure that s1 > 1, s2 > 7, s3 > 15, s4 > 127.
7745
7746 taus88 and taus113 algorithm is also part of GSL. I added a test
7747 case in the next patch to verify internal behaviour of this patch
7748 with GSL and ran tests with the dieharder 3.31.1 RNG test suite:
7749
7750 $ dieharder -g 052 -a -m 10 -s 1 -S 4137730333 #taus88
7751 $ dieharder -g 054 -a -m 10 -s 1 -S 4137730333 #taus113
7752
7753 With this seed configuration, in order to compare both, we get
7754 the following differences:
7755
7756 algorithm taus88 taus113
7757 rands/second [**] 1.61e+08 1.37e+08
7758 sts_serial(4, 1st run) WEAK PASSED
7759 sts_serial(9, 2nd run) WEAK PASSED
7760 rgb_lagged_sum(31) WEAK PASSED
7761
7762 We took out diehard_sums test as according to the authors it is
7763 considered broken and unusable [4]. Despite that and the slight
7764 decrease in performance (which is acceptable), taus113 here passes
7765 all 113 tests (only rgb_minimum_distance_5 in WEAK, the rest PASSED).
7766 In general, taus/taus113 is considered "very good" by the authors
7767 of dieharder [5].
7768
7769 The papers [1][2] states a single warm-up step is sufficient by
7770 running quicktaus once on each state to ensure proper initialization
7771 of ~s_{0}:
7772
7773 Our selection of (s) according to Table 1 of [1] row 1 holds the
7774 condition L - k <= r - s, that is,
7775
7776 (32 32 32 32) - (31 29 28 25) <= (25 27 15 22) - (18 2 7 13)
7777
7778 with r = k - q and q = (6 2 13 3) as also stated by the paper.
7779 So according to [2] we are safe with one round of quicktaus for
7780 initialization. However we decided to include the warm-up phase
7781 of the PRNG as done in GSL in every case as a safety net. We also
7782 use the warm up phase to make the output of the RNG easier to
7783 verify by the GSL output.
7784
7785 In prandom_init(), we also mix random_get_entropy() into it, just
7786 like drivers/char/random.c does it, jiffies ^ random_get_entropy().
7787 random-get_entropy() is get_cycles(). xor is entropy preserving so
7788 it is fine if it is not implemented by some architectures.
7789
7790 Note, this PRNG is *not* used for cryptography in the kernel, but
7791 rather as a fast PRNG for various randomizations i.e. in the
7792 networking code, or elsewhere for debugging purposes, for example.
7793
7794 [*]: In order to generate some "sort of pseduo-randomness", since
7795 get_random_bytes() is not yet available for us, we use jiffies and
7796 initialize states s1 - s3 with a simple linear congruential generator
7797 (LCG), that is x <- x * 69069; and derive s2, s3, from the 32bit
7798 initialization from s1. So the above quote from [3] accounts only
7799 for the time from core to late initcall, not afterwards.
7800 [**] Single threaded run on MacBook Air w/ Intel Core i5-3317U
7801
7802 [1] http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme2.ps
7803 [2] http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme.ps
7804 [3] http://thread.gmane.org/gmane.comp.encryption.general/12103/
7805 [4] http://code.google.com/p/dieharder/source/browse/trunk/libdieharder/diehard_sums.c?spec=svn490&r=490#20
7806 [5] http://www.phy.duke.edu/~rgb/General/dieharder.php
7807
7808 Joint work with Hannes Frederic Sowa.
7809
7810 Cc: Florian Weimer <fweimer@redhat.com>
7811 Cc: Theodore Ts'o <tytso@mit.edu>
7812 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
7813 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
7814 Signed-off-by: David S. Miller <davem@davemloft.net>
7815
7816 Conflicts:
7817
7818 include/linux/random.h
7819
7820 include/linux/random.h | 13 +++++--
7821 lib/random32.c | 80 +++++++++++++++++++++++++++--------------------
7822 2 files changed, 55 insertions(+), 38 deletions(-)
7823
7824 commit 53dd59a26859c9b98cadcad65791c951b162e91e
7825 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
7826 Date: Mon Nov 11 12:20:33 2013 +0100
7827
7828 Upstream commit: 6d31920246a9fc80be4f16acd27c0bbe8d7b8494
7829
7830 random32: add periodic reseeding
7831
7832 The current Tausworthe PRNG is never reseeded with truly random data after
7833 the first attempt in late_initcall. As this PRNG is used for some critical
7834 random data as e.g. UDP port randomization we should try better and reseed
7835 the PRNG once in a while with truly random data from get_random_bytes().
7836
7837 When we reseed with prandom_seed we now make also sure to throw the first
7838 output away. This suffices the reseeding procedure.
7839
7840 The delay calculation is based on a proposal from Eric Dumazet.
7841
7842 Joint work with Daniel Borkmann.
7843
7844 Cc: Eric Dumazet <eric.dumazet@gmail.com>
7845 Cc: Theodore Ts'o <tytso@mit.edu>
7846 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
7847 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
7848 Signed-off-by: David S. Miller <davem@davemloft.net>
7849
7850 Conflicts:
7851
7852 lib/random32.c
7853
7854 lib/random32.c | 22 ++++++++++++++++++++++
7855 1 files changed, 22 insertions(+), 0 deletions(-)
7856
7857 commit 9deef5d021000495e04a730ba1880fb4b8951d45
7858 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
7859 Date: Mon Nov 11 12:20:34 2013 +0100
7860
7861 Upstream commit: 4af712e8df998475736f3e2727701bd31e3751a9
7862
7863 random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized
7864
7865 The Tausworthe PRNG is initialized at late_initcall time. At that time the
7866 entropy pool serving get_random_bytes is not filled sufficiently. This
7867 patch adds an additional reseeding step as soon as the nonblocking pool
7868 gets marked as initialized.
7869
7870 On some machines it might be possible that late_initcall gets called after
7871 the pool has been initialized. In this situation we won't reseed again.
7872
7873 (A call to prandom_seed_late blocks later invocations of early reseed
7874 attempts.)
7875
7876 Joint work with Daniel Borkmann.
7877
7878 Cc: Eric Dumazet <eric.dumazet@gmail.com>
7879 Cc: Theodore Ts'o <tytso@mit.edu>
7880 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
7881 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
7882 Acked-by: "Theodore Ts'o" <tytso@mit.edu>
7883 Signed-off-by: David S. Miller <davem@davemloft.net>
7884
7885 Conflicts:
7886
7887 lib/random32.c
7888
7889 drivers/char/random.c | 5 ++++-
7890 include/linux/random.h | 1 +
7891 lib/random32.c | 24 +++++++++++++++++++++++-
7892 3 files changed, 28 insertions(+), 2 deletions(-)
7893
7894 commit 7445d45f81df0b84bbb7fc6cc598e6b70522c286
7895 Author: Brad Spengler <spender@grsecurity.net>
7896 Date: Sat Jan 18 20:43:43 2014 -0500
7897
7898 Since the reworking of recvmsg handlers by Hannes Frederic Sowa,
7899 it should be safe to revert our workaround for large number of
7900 infoleaks the previous interface made possible, restoring some
7901 performance to these syscalls
7902
7903 net/socket.c | 4 ++--
7904 1 files changed, 2 insertions(+), 2 deletions(-)
7905
7906 commit 2c18c01da2a59df2cdaa0d99e0ed2f781c3cbf4e
7907 Author: Eric Dumazet <edumazet@google.com>
7908 Date: Wed Jan 15 06:50:07 2014 -0800
7909
7910 Upstream commit: aee636c4809fa54848ff07a899b326eb1f9987a2
7911
7912 bpf: do not use reciprocal divide
7913
7914 At first Jakub Zawadzki noticed that some divisions by reciprocal_divide
7915 were not correct. (off by one in some cases)
7916 http://www.wireshark.org/~darkjames/reciprocal-buggy.c
7917
7918 He could also show this with BPF:
7919 http://www.wireshark.org/~darkjames/set-and-dump-filter-k-bug.c
7920
7921 The reciprocal divide in linux kernel is not generic enough,
7922 lets remove its use in BPF, as it is not worth the pain with
7923 current cpus.
7924
7925 Signed-off-by: Eric Dumazet <edumazet@google.com>
7926 Reported-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
7927 Cc: Mircea Gherzan <mgherzan@gmail.com>
7928 Cc: Daniel Borkmann <dxchgb@gmail.com>
7929 Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
7930 Cc: Matt Evans <matt@ozlabs.org>
7931 Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
7932 Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
7933 Cc: David S. Miller <davem@davemloft.net>
7934 Signed-off-by: David S. Miller <davem@davemloft.net>
7935
7936 Conflicts:
7937
7938 arch/x86/net/bpf_jit_comp.c
7939
7940 arch/arm/net/bpf_jit_32.c | 6 +++---
7941 arch/powerpc/net/bpf_jit_comp.c | 7 ++++---
7942 arch/s390/net/bpf_jit_comp.c | 17 ++++++++++++-----
7943 arch/sparc/net/bpf_jit_comp.c | 17 ++++++++++++++---
7944 arch/x86/net/bpf_jit_comp.c | 16 ++++++++++------
7945 net/core/filter.c | 30 ++----------------------------
7946 6 files changed, 45 insertions(+), 48 deletions(-)
7947
7948 commit 6986871c84f81084d5c8723538ccefc5c401b31c
7949 Author: Jie Liu <jeff.liu@oracle.com>
7950 Date: Wed Jan 1 19:28:03 2014 +0800
7951
7952 Upstream commit: bba719b5004234e55737e7074b81b337210c511d
7953
7954 xfs: fix off-by-one error in xfs_attr3_rmt_verify
7955
7956 With CRC check is enabled, if trying to set an attributes value just
7957 equal to the maximum size of XATTR_SIZE_MAX would cause the v3 remote
7958 attr write verification procedure failure, which would yield the back
7959 trace like below:
7960
7961 <snip>
7962 XFS (sda7): Internal error xfs_attr3_rmt_write_verify at line 191 of file fs/xfs/xfs_attr_remote.c
7963 <snip>
7964 Call Trace:
7965 [<ffffffff816f0042>] dump_stack+0x45/0x56
7966 [<ffffffffa0d99c8b>] xfs_error_report+0x3b/0x40 [xfs]
7967 [<ffffffffa0d96edd>] ? _xfs_buf_ioapply+0x6d/0x390 [xfs]
7968 [<ffffffffa0d99ce5>] xfs_corruption_error+0x55/0x80 [xfs]
7969 [<ffffffffa0dbef6b>] xfs_attr3_rmt_write_verify+0x14b/0x1a0 [xfs]
7970 [<ffffffffa0d96edd>] ? _xfs_buf_ioapply+0x6d/0x390 [xfs]
7971 [<ffffffffa0d97315>] ? xfs_bdstrat_cb+0x55/0xb0 [xfs]
7972 [<ffffffffa0d96edd>] _xfs_buf_ioapply+0x6d/0x390 [xfs]
7973 [<ffffffff81184cda>] ? vm_map_ram+0x31a/0x460
7974 [<ffffffff81097230>] ? wake_up_state+0x20/0x20
7975 [<ffffffffa0d97315>] ? xfs_bdstrat_cb+0x55/0xb0 [xfs]
7976 [<ffffffffa0d9726b>] xfs_buf_iorequest+0x6b/0xc0 [xfs]
7977 [<ffffffffa0d97315>] xfs_bdstrat_cb+0x55/0xb0 [xfs]
7978 [<ffffffffa0d97906>] xfs_bwrite+0x46/0x80 [xfs]
7979 [<ffffffffa0dbfa94>] xfs_attr_rmtval_set+0x334/0x490 [xfs]
7980 [<ffffffffa0db84aa>] xfs_attr_leaf_addname+0x24a/0x410 [xfs]
7981 [<ffffffffa0db8893>] xfs_attr_set_int+0x223/0x470 [xfs]
7982 [<ffffffffa0db8b76>] xfs_attr_set+0x96/0xb0 [xfs]
7983 [<ffffffffa0db13b2>] xfs_xattr_set+0x42/0x70 [xfs]
7984 [<ffffffff811df9b2>] generic_setxattr+0x62/0x80
7985 [<ffffffff811e0213>] __vfs_setxattr_noperm+0x63/0x1b0
7986 [<ffffffff81307afe>] ? evm_inode_setxattr+0xe/0x10
7987 [<ffffffff811e0415>] vfs_setxattr+0xb5/0xc0
7988 [<ffffffff811e054e>] setxattr+0x12e/0x1c0
7989 [<ffffffff811c6e82>] ? final_putname+0x22/0x50
7990 [<ffffffff811c708b>] ? putname+0x2b/0x40
7991 [<ffffffff811cc4bf>] ? user_path_at_empty+0x5f/0x90
7992 [<ffffffff811bdfd9>] ? __sb_start_write+0x49/0xe0
7993 [<ffffffff81168589>] ? vm_mmap_pgoff+0x99/0xc0
7994 [<ffffffff811e07df>] SyS_setxattr+0x8f/0xe0
7995 [<ffffffff81700c2d>] system_call_fastpath+0x1a/0x1f
7996
7997 Tests:
7998 setfattr -n user.longxattr -v `perl -e 'print "A"x65536'` testfile
7999
8000 This patch fix it to check the remote EA size is greater than the
8001 XATTR_SIZE_MAX rather than more than or equal to it, because it's
8002 valid if the specified EA value size is equal to the limitation as
8003 per VFS setxattr interface.
8004
8005 Signed-off-by: Jie Liu <jeff.liu@oracle.com>
8006 Reviewed-by: Mark Tinguely <tinguely@sgi.com>
8007 Signed-off-by: Ben Myers <bpm@sgi.com>
8008
8009 (cherry picked from commit 85dd0707f0cad26d60f2dc574d17a5ab948d10f7)
8010
8011 fs/xfs/xfs_attr_remote.c | 2 +-
8012 1 files changed, 1 insertions(+), 1 deletions(-)
8013
8014 commit e8aa7f8223cf2bc0893c6bec7ada0b13edc07703
8015 Author: Steven Rostedt <rostedt@goodmis.org>
8016 Date: Thu Jan 9 21:46:34 2014 -0500
8017
8018 Upstream commit: 3dc91d4338d698ce77832985f9cb183d8eeaf6be
8019
8020 SELinux: Fix possible NULL pointer dereference in selinux_inode_permission()
8021
8022 While running stress tests on adding and deleting ftrace instances I hit
8023 this bug:
8024
8025 BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
8026 IP: selinux_inode_permission+0x85/0x160
8027 PGD 63681067 PUD 7ddbe067 PMD 0
8028 Oops: 0000 [#1] PREEMPT
8029 CPU: 0 PID: 5634 Comm: ftrace-test-mki Not tainted 3.13.0-rc4-test-00033-gd2a6dde-dirty #20
8030 Hardware name: /DG965MQ, BIOS MQ96510J.86A.0372.2006.0605.1717 06/05/2006
8031 task: ffff880078375800 ti: ffff88007ddb0000 task.ti: ffff88007ddb0000
8032 RIP: 0010:[<ffffffff812d8bc5>] [<ffffffff812d8bc5>] selinux_inode_permission+0x85/0x160
8033 RSP: 0018:ffff88007ddb1c48 EFLAGS: 00010246
8034 RAX: 0000000000000000 RBX: 0000000000800000 RCX: ffff88006dd43840
8035 RDX: 0000000000000001 RSI: 0000000000000081 RDI: ffff88006ee46000
8036 RBP: ffff88007ddb1c88 R08: 0000000000000000 R09: ffff88007ddb1c54
8037 R10: 6e6576652f6f6f66 R11: 0000000000000003 R12: 0000000000000000
8038 R13: 0000000000000081 R14: ffff88006ee46000 R15: 0000000000000000
8039 FS: 00007f217b5b6700(0000) GS:ffffffff81e21000(0000) knlGS:0000000000000000
8040 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033^M
8041 CR2: 0000000000000020 CR3: 000000006a0fe000 CR4: 00000000000007f0
8042 Call Trace:
8043 security_inode_permission+0x1c/0x30
8044 __inode_permission+0x41/0xa0
8045 inode_permission+0x18/0x50
8046 link_path_walk+0x66/0x920
8047 path_openat+0xa6/0x6c0
8048 do_filp_open+0x43/0xa0
8049 do_sys_open+0x146/0x240
8050 SyS_open+0x1e/0x20
8051 system_call_fastpath+0x16/0x1b
8052 Code: 84 a1 00 00 00 81 e3 00 20 00 00 89 d8 83 c8 02 40 f6 c6 04 0f 45 d8 40 f6 c6 08 74 71 80 cf 02 49 8b 46 38 4c 8d 4d cc 45 31 c0 <0f> b7 50 20 8b 70 1c 48 8b 41 70 89 d9 8b 78 04 e8 36 cf ff ff
8053 RIP selinux_inode_permission+0x85/0x160
8054 CR2: 0000000000000020
8055
8056 Investigating, I found that the inode->i_security was NULL, and the
8057 dereference of it caused the oops.
8058
8059 in selinux_inode_permission():
8060
8061 isec = inode->i_security;
8062
8063 rc = avc_has_perm_noaudit(sid, isec->sid, isec->sclass, perms, 0, &avd);
8064
8065 Note, the crash came from stressing the deletion and reading of debugfs
8066 files. I was not able to recreate this via normal files. But I'm not
8067 sure they are safe. It may just be that the race window is much harder
8068 to hit.
8069
8070 What seems to have happened (and what I have traced), is the file is
8071 being opened at the same time the file or directory is being deleted.
8072 As the dentry and inode locks are not held during the path walk, nor is
8073 the inodes ref counts being incremented, there is nothing saving these
8074 structures from being discarded except for an rcu_read_lock().
8075
8076 The rcu_read_lock() protects against freeing of the inode, but it does
8077 not protect freeing of the inode_security_struct. Now if the freeing of
8078 the i_security happens with a call_rcu(), and the i_security field of
8079 the inode is not changed (it gets freed as the inode gets freed) then
8080 there will be no issue here. (Linus Torvalds suggested not setting the
8081 field to NULL such that we do not need to check if it is NULL in the
8082 permission check).
8083
8084 Note, this is a hack, but it fixes the problem at hand. A real fix is
8085 to restructure the destroy_inode() to call all the destructor handlers
8086 from the RCU callback. But that is a major job to do, and requires a
8087 lot of work. For now, we just band-aid this bug with this fix (it
8088 works), and work on a more maintainable solution in the future.
8089
8090 Link: http://lkml.kernel.org/r/20140109101932.0508dec7@gandalf.local.home
8091 Link: http://lkml.kernel.org/r/20140109182756.17abaaa8@gandalf.local.home
8092
8093 Cc: stable@vger.kernel.org
8094 Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
8095 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8096
8097 security/selinux/hooks.c | 20 ++++++++++++++++++--
8098 security/selinux/include/objsec.h | 5 ++++-
8099 2 files changed, 22 insertions(+), 3 deletions(-)
8100
8101 commit e19ed2ef10ac8fb5539ff49890f149230ba504a2
8102 Author: Hugh Dickins <hughd@google.com>
8103 Date: Sun Jan 12 01:25:21 2014 -0800
8104
8105 Upstream commit: eecc1e426d681351a6026a7d3e7d225f38955b6c
8106
8107 thp: fix copy_page_rep GPF by testing is_huge_zero_pmd once only
8108
8109 We see General Protection Fault on RSI in copy_page_rep: that RSI is
8110 what you get from a NULL struct page pointer.
8111
8112 RIP: 0010:[<ffffffff81154955>] [<ffffffff81154955>] copy_page_rep+0x5/0x10
8113 RSP: 0000:ffff880136e15c00 EFLAGS: 00010286
8114 RAX: ffff880000000000 RBX: ffff880136e14000 RCX: 0000000000000200
8115 RDX: 6db6db6db6db6db7 RSI: db73880000000000 RDI: ffff880dd0c00000
8116 RBP: ffff880136e15c18 R08: 0000000000000200 R09: 000000000005987c
8117 R10: 000000000005987c R11: 0000000000000200 R12: 0000000000000001
8118 R13: ffffea00305aa000 R14: 0000000000000000 R15: 0000000000000000
8119 FS: 00007f195752f700(0000) GS:ffff880c7fc20000(0000) knlGS:0000000000000000
8120 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
8121 CR2: 0000000093010000 CR3: 00000001458e1000 CR4: 00000000000027e0
8122 Call Trace:
8123 copy_user_huge_page+0x93/0xab
8124 do_huge_pmd_wp_page+0x710/0x815
8125 handle_mm_fault+0x15d8/0x1d70
8126 __do_page_fault+0x14d/0x840
8127 do_page_fault+0x2f/0x90
8128 page_fault+0x22/0x30
8129
8130 do_huge_pmd_wp_page() tests is_huge_zero_pmd(orig_pmd) four times: but
8131 since shrink_huge_zero_page() can free the huge_zero_page, and we have
8132 no hold of our own on it here (except where the fourth test holds
8133 page_table_lock and has checked pmd_same), it's possible for it to
8134 answer yes the first time, but no to the second or third test. Change
8135 all those last three to tests for NULL page.
8136
8137 (Note: this is not the same issue as trinity's DEBUG_PAGEALLOC BUG
8138 in copy_page_rep with RSI: ffff88009c422000, reported by Sasha Levin
8139 in https://lkml.org/lkml/2013/3/29/103. I believe that one is due
8140 to the source page being split, and a tail page freed, while copy
8141 is in progress; and not a problem without DEBUG_PAGEALLOC, since
8142 the pmd_same check will prevent a miscopy from being made visible.)
8143
8144 Fixes: 97ae17497e99 ("thp: implement refcounting for huge zero page")
8145 Signed-off-by: Hugh Dickins <hughd@google.com>
8146 Cc: stable@vger.kernel.org # v3.10 v3.11 v3.12
8147 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8148
8149 mm/huge_memory.c | 6 +++---
8150 1 files changed, 3 insertions(+), 3 deletions(-)
8151
8152 commit 49bf1cc12db4954afc0a3e9a4506325a53259c13
8153 Author: Christian Engelmayer <cengelma@gmx.at>
8154 Date: Sat Jan 11 22:19:30 2014 +0100
8155
8156 Upstream commit: 267d29a69c6af39445f36102a832b25ed483f299
8157
8158 ieee802154: Fix memory leak in ieee802154_add_iface()
8159
8160 Fix a memory leak in the ieee802154_add_iface() error handling path.
8161 Detected by Coverity: CID 710490.
8162
8163 Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
8164 Signed-off-by: David S. Miller <davem@davemloft.net>
8165
8166 net/ieee802154/nl-phy.c | 6 ++++--
8167 1 files changed, 4 insertions(+), 2 deletions(-)
8168
8169 commit 4e2493507f0d3a43a3c9562a4e75ae806f993d84
8170 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
8171 Date: Mon Jan 13 02:45:22 2014 +0100
8172
8173 Upstream commit: 95f4a45de1a0f172b35451fc52283290adb21f6e
8174
8175 net: avoid reference counter overflows on fib_rules in multicast forwarding
8176
8177 Bob Falken reported that after 4G packets, multicast forwarding stopped
8178 working. This was because of a rule reference counter overflow which
8179 freed the rule as soon as the overflow happend.
8180
8181 This patch solves this by adding the FIB_LOOKUP_NOREF flag to
8182 fib_rules_lookup calls. This is safe even from non-rcu locked sections
8183 as in this case the flag only implies not taking a reference to the rule,
8184 which we don't need at all.
8185
8186 Rules only hold references to the namespace, which are guaranteed to be
8187 available during the call of the non-rcu protected function reg_vif_xmit
8188 because of the interface reference which itself holds a reference to
8189 the net namespace.
8190
8191 Fixes: f0ad0860d01e47 ("ipv4: ipmr: support multiple tables")
8192 Fixes: d1db275dd3f6e4 ("ipv6: ip6mr: support multiple tables")
8193 Reported-by: Bob Falken <NetFestivalHaveFun@gmx.com>
8194 Cc: Patrick McHardy <kaber@trash.net>
8195 Cc: Thomas Graf <tgraf@suug.ch>
8196 Cc: Julian Anastasov <ja@ssi.bg>
8197 Cc: Eric Dumazet <eric.dumazet@gmail.com>
8198 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
8199 Acked-by: Eric Dumazet <edumazet@google.com>
8200 Signed-off-by: David S. Miller <davem@davemloft.net>
8201
8202 net/ipv4/ipmr.c | 7 +++++--
8203 net/ipv6/ip6mr.c | 7 +++++--
8204 2 files changed, 10 insertions(+), 4 deletions(-)
8205
8206 commit 427e1a47ccd092da8d3834ec889bbf899bf02994
8207 Author: NeilBrown <neilb@suse.de>
8208 Date: Mon Jan 6 10:35:34 2014 +1100
8209
8210 Upstream commit: e8b849158508565e0cd6bc80061124afc5879160
8211
8212 md/raid10: fix bug when raid10 recovery fails to recover a block.
8213
8214 commit e875ecea266a543e643b19e44cf472f1412708f9
8215 md/raid10 record bad blocks as needed during recovery.
8216
8217 added code to the "cannot recover this block" path to record a bad
8218 block rather than fail the whole recovery.
8219 Unfortunately this new case was placed *after* r10bio was freed rather
8220 than *before*, yet it still uses r10bio.
8221 This is will crash with a null dereference.
8222
8223 So move the freeing of r10bio down where it is safe.
8224
8225 Cc: stable@vger.kernel.org (v3.1+)
8226 Fixes: e875ecea266a543e643b19e44cf472f1412708f9
8227 Reported-by: Damian Nowak <spam@nowaker.net>
8228 URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
8229 Signed-off-by: NeilBrown <neilb@suse.de>
8230
8231 drivers/md/raid10.c | 8 ++++----
8232 1 files changed, 4 insertions(+), 4 deletions(-)
8233
8234 commit 528bc79bf4b9414269c3468527a1fb93992888ec
8235 Author: NeilBrown <neilb@suse.de>
8236 Date: Mon Jan 6 13:19:42 2014 +1100
8237
8238 Upstream commit: 1cc03eb93245e63b0b7a7832165efdc52e25b4e6
8239
8240 md/raid5: Fix possible confusion when multiple write errors occur.
8241
8242 commit 5d8c71f9e5fbdd95650be00294d238e27a363b5c
8243 md: raid5 crash during degradation
8244
8245 Fixed a crash in an overly simplistic way which could leave
8246 R5_WriteError or R5_MadeGood set in the stripe cache for devices
8247 for which it is no longer relevant.
8248 When those devices are removed and spares added the flags are still
8249 set and can cause incorrect behaviour.
8250
8251 commit 14a75d3e07c784c004b4b44b34af996b8e4ac453
8252 md/raid5: preferentially read from replacement device if possible.
8253
8254 Fixed the same bug if a more effective way, so we can now revert
8255 the original commit.
8256
8257 Reported-and-tested-by: Alexander Lyakas <alex.bolshoy@gmail.com>
8258 Cc: stable@vger.kernel.org (3.2+ - 3.2 will need a different fix though)
8259 Fixes: 5d8c71f9e5fbdd95650be00294d238e27a363b5c
8260 Signed-off-by: NeilBrown <neilb@suse.de>
8261
8262 drivers/md/raid5.c | 4 ++--
8263 1 files changed, 2 insertions(+), 2 deletions(-)
8264
8265 commit 65e365f661bcc034ce8da73be4521dde4088cbc6
8266 Author: NeilBrown <neilb@suse.de>
8267 Date: Tue Jan 14 10:38:09 2014 +1100
8268
8269 Upstream commit: b50c259e25d9260b9108dc0c2964c26e5ecbe1c1
8270
8271 md/raid10: fix two bugs in handling of known-bad-blocks.
8272
8273 If we discover a bad block when reading we split the request and
8274 potentially read some of it from a different device.
8275
8276 The code path of this has two bugs in RAID10.
8277 1/ we get a spin_lock with _irq, but unlock without _irq!!
8278 2/ The calculation of 'sectors_handled' is wrong, as can be clearly
8279 seen by comparison with raid1.c
8280
8281 This leads to at least 2 warnings and a probable crash is a RAID10
8282 ever had known bad blocks.
8283
8284 Cc: stable@vger.kernel.org (v3.1+)
8285 Fixes: 856e08e23762dfb92ffc68fd0a8d228f9e152160
8286 Reported-by: Damian Nowak <spam@nowaker.net>
8287 URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
8288 Signed-off-by: NeilBrown <neilb@suse.de>
8289
8290 drivers/md/raid10.c | 4 ++--
8291 1 files changed, 2 insertions(+), 2 deletions(-)
8292
8293 commit 648634ea6eaa98407d5cee468eea365addf784d7
8294 Author: Andreas Rohner <andreas.rohner@gmx.net>
8295 Date: Tue Jan 14 17:56:36 2014 -0800
8296
8297 Upstream commit: 70f2fe3a26248724d8a5019681a869abdaf3e89a
8298
8299 nilfs2: fix segctor bug that causes file system corruption
8300
8301 There is a bug in the function nilfs_segctor_collect, which results in
8302 active data being written to a segment, that is marked as clean. It is
8303 possible, that this segment is selected for a later segment
8304 construction, whereby the old data is overwritten.
8305
8306 The problem shows itself with the following kernel log message:
8307
8308 nilfs_sufile_do_cancel_free: segment 6533 must be clean
8309
8310 Usually a few hours later the file system gets corrupted:
8311
8312 NILFS: bad btree node (blocknr=8748107): level = 0, flags = 0x0, nchildren = 0
8313 NILFS error (device sdc1): nilfs_bmap_last_key: broken bmap (inode number=114660)
8314
8315 The issue can be reproduced with a file system that is nearly full and
8316 with the cleaner running, while some IO intensive task is running.
8317 Although it is quite hard to reproduce.
8318
8319 This is what happens:
8320
8321 1. The cleaner starts the segment construction
8322 2. nilfs_segctor_collect is called
8323 3. sc_stage is on NILFS_ST_SUFILE and segments are freed
8324 4. sc_stage is on NILFS_ST_DAT current segment is full
8325 5. nilfs_segctor_extend_segments is called, which
8326 allocates a new segment
8327 6. The new segment is one of the segments freed in step 3
8328 7. nilfs_sufile_cancel_freev is called and produces an error message
8329 8. Loop around and the collection starts again
8330 9. sc_stage is on NILFS_ST_SUFILE and segments are freed
8331 including the newly allocated segment, which will contain active
8332 data and can be allocated at a later time
8333 10. A few hours later another segment construction allocates the
8334 segment and causes file system corruption
8335
8336 This can be prevented by simply reordering the statements. If
8337 nilfs_sufile_cancel_freev is called before nilfs_segctor_extend_segments
8338 the freed segments are marked as dirty and cannot be allocated any more.
8339
8340 Signed-off-by: Andreas Rohner <andreas.rohner@gmx.net>
8341 Reviewed-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
8342 Tested-by: Andreas Rohner <andreas.rohner@gmx.net>
8343 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
8344 Cc: <stable@vger.kernel.org>
8345 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
8346 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8347
8348 fs/nilfs2/segment.c | 10 ++++++----
8349 1 files changed, 6 insertions(+), 4 deletions(-)
8350
8351 commit 380b201967bbe5769291311e5195a603006d391c
8352 Author: Mikulas Patocka <mpatocka@redhat.com>
8353 Date: Tue Jan 14 17:56:40 2014 -0800
8354
8355 Upstream commit: 03e5ac2fc3bf6f4140db0371e8bb4243b24e3e02
8356
8357 mm: fix crash when using XFS on loopback
8358
8359 Commit 8456a648cf44 ("slab: use struct page for slab management") causes
8360 a crash in the LVM2 testsuite on PA-RISC (the crashing test is
8361 fsadm.sh). The testsuite doesn't crash on 3.12, crashes on 3.13-rc1 and
8362 later.
8363
8364 Bad Address (null pointer deref?): Code=15 regs=000000413edd89a0 (Addr=000006202224647d)
8365 CPU: 3 PID: 24008 Comm: loop0 Not tainted 3.13.0-rc6 #5
8366 task: 00000001bf3c0048 ti: 000000413edd8000 task.ti: 000000413edd8000
8367
8368 YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
8369 PSW: 00001000000001101111100100001110 Not tainted
8370 r00-03 000000ff0806f90e 00000000405c8de0 000000004013e6c0 000000413edd83f0
8371 r04-07 00000000405a95e0 0000000000000200 00000001414735f0 00000001bf349e40
8372 r08-11 0000000010fe3d10 0000000000000001 00000040829c7778 000000413efd9000
8373 r12-15 0000000000000000 000000004060d800 0000000010fe3000 0000000010fe3000
8374 r16-19 000000413edd82a0 00000041078ddbc0 0000000000000010 0000000000000001
8375 r20-23 0008f3d0d83a8000 0000000000000000 00000040829c7778 0000000000000080
8376 r24-27 00000001bf349e40 00000001bf349e40 202d66202224640d 00000000405a95e0
8377 r28-31 202d662022246465 000000413edd88f0 000000413edd89a0 0000000000000001
8378 sr00-03 000000000532c000 0000000000000000 0000000000000000 000000000532c000
8379 sr04-07 0000000000000000 0000000000000000 0000000000000000 0000000000000000
8380
8381 IASQ: 0000000000000000 0000000000000000 IAOQ: 00000000401fe42c 00000000401fe430
8382 IIR: 539c0030 ISR: 00000000202d6000 IOR: 000006202224647d
8383 CPU: 3 CR30: 000000413edd8000 CR31: 0000000000000000
8384 ORIG_R28: 00000000405a95e0
8385 IAOQ[0]: vma_interval_tree_iter_first+0x14/0x48
8386 IAOQ[1]: vma_interval_tree_iter_first+0x18/0x48
8387 RP(r2): flush_dcache_page+0x128/0x388
8388 Backtrace:
8389 flush_dcache_page+0x128/0x388
8390 lo_splice_actor+0x90/0x148 [loop]
8391 splice_from_pipe_feed+0xc0/0x1d0
8392 __splice_from_pipe+0xac/0xc0
8393 lo_direct_splice_actor+0x1c/0x70 [loop]
8394 splice_direct_to_actor+0xec/0x228
8395 lo_receive+0xe4/0x298 [loop]
8396 loop_thread+0x478/0x640 [loop]
8397 kthread+0x134/0x168
8398 end_fault_vector+0x20/0x28
8399 xfs_setsize_buftarg+0x0/0x90 [xfs]
8400
8401 Kernel panic - not syncing: Bad Address (null pointer deref?)
8402
8403 Commit 8456a648cf44 changes the page structure so that the slab
8404 subsystem reuses the page->mapping field.
8405
8406 The crash happens in the following way:
8407 * XFS allocates some memory from slab and issues a bio to read data
8408 into it.
8409 * the bio is sent to the loopback device.
8410 * lo_receive creates an actor and calls splice_direct_to_actor.
8411 * lo_splice_actor copies data to the target page.
8412 * lo_splice_actor calls flush_dcache_page because the page may be
8413 mapped by userspace. In that case we need to flush the kernel cache.
8414 * flush_dcache_page asks for the list of userspace mappings, however
8415 that page->mapping field is reused by the slab subsystem for a
8416 different purpose. This causes the crash.
8417
8418 Note that other architectures without coherent caches (sparc, arm, mips)
8419 also call page_mapping from flush_dcache_page, so they may crash in the
8420 same way.
8421
8422 This patch fixes this bug by testing if the page is a slab page in
8423 page_mapping and returning NULL if it is.
8424
8425 The patch also fixes VM_BUG_ON(PageSlab(page)) that could happen in
8426 earlier kernels in the same scenario on architectures without cache
8427 coherence when CONFIG_DEBUG_VM is enabled - so it should be backported
8428 to stable kernels.
8429
8430 In the old kernels, the function page_mapping is placed in
8431 include/linux/mm.h, so you should modify the patch accordingly when
8432 backporting it.
8433
8434 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
8435 Cc: John David Anglin <dave.anglin@bell.net>]
8436 Cc: Andi Kleen <ak@linux.intel.com>
8437 Cc: Christoph Lameter <cl@linux.com>
8438 Acked-by: Pekka Enberg <penberg@kernel.org>
8439 Reviewed-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
8440 Cc: Helge Deller <deller@gmx.de>
8441 Cc: <stable@vger.kernel.org>
8442 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
8443 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8444
8445 mm/util.c | 5 ++++-
8446 1 files changed, 4 insertions(+), 1 deletions(-)
8447
8448 commit e71bfbceaa0246366fe3753a893c660f22568bb9
8449 Merge: 83b84f4 e8219cf
8450 Author: Brad Spengler <spender@grsecurity.net>
8451 Date: Sat Jan 18 17:30:14 2014 -0500
8452
8453 Merge branch 'pax-test' into grsec-test
8454
8455 commit 83b84f4f7b950eeddc319df9dabeca8df99c19e7
8456 Author: Brad Spengler <spender@grsecurity.net>
8457 Date: Sat Jan 18 17:30:05 2014 -0500
8458
8459 Revert "Revert recent PaX marking change that broke a significant number"
8460
8461 This reverts commit 59672b779a7ef3857bb9335c668f671ea04c8a19.
8462
8463 fs/binfmt_elf.c | 53 ++++++++++++++++++++++++++++++-----------------------
8464 1 files changed, 30 insertions(+), 23 deletions(-)
8465
8466 commit e8219cf65fbb6e3763c4298831239929d1c1f9fa
8467 Author: Brad Spengler <spender@grsecurity.net>
8468 Date: Sat Jan 18 17:29:19 2014 -0500
8469
8470 Update to pax-linux-3.12.8-test15.patch:
8471 - reworked the interaction between the various PaX control flag mechanisms for better consistency
8472 - fixed type attribute handling in the constify plugin, reported by spender
8473
8474 fs/binfmt_elf.c | 144 +++++++++++++++++++++++-------------------
8475 include/linux/sched.h | 1 +
8476 include/uapi/linux/sysctl.h | 6 --
8477 tools/gcc/constify_plugin.c | 20 +++---
8478 4 files changed, 89 insertions(+), 82 deletions(-)
8479
8480 commit 88474da15f3f3f5d93848102d03bb4983b9a0b78
8481 Merge: 59672b7 dbe1b0b28
8482 Author: Brad Spengler <spender@grsecurity.net>
8483 Date: Thu Jan 16 07:00:51 2014 -0500
8484
8485 Merge branch 'pax-test' into grsec-test
8486
8487 commit dbe1b0b28973953b8919fbfc479054d527066737
8488 Merge: 229fa99 97f15f1
8489 Author: Brad Spengler <spender@grsecurity.net>
8490 Date: Thu Jan 16 07:00:16 2014 -0500
8491
8492 Update to pax-linux-3.12.8-test14.patch:
8493 - added a generated file to dontdiff, reported by Emese
8494 - removed duplicated code due to a mismerge
8495
8496 Merge branch 'linux-3.12.y' into pax-test
8497
8498 Conflicts:
8499 arch/x86/include/asm/fpu-internal.h
8500
8501 commit 59672b779a7ef3857bb9335c668f671ea04c8a19
8502 Author: Brad Spengler <spender@grsecurity.net>
8503 Date: Thu Dec 26 19:23:25 2013 -0500
8504
8505 Revert recent PaX marking change that broke a significant number
8506 of existing systems. The marking system will be revamped in a later
8507 patch to fix softmode support while making XT markings more usable.
8508
8509 fs/binfmt_elf.c | 53 +++++++++++++++++++++++------------------------------
8510 1 files changed, 23 insertions(+), 30 deletions(-)
8511
8512 commit 528d5554e49536241bdf98c59ac3daedf2855a11
8513 Merge: f17b6ff 229fa99
8514 Author: Brad Spengler <spender@grsecurity.net>
8515 Date: Sun Jan 12 07:56:10 2014 -0500
8516
8517 Merge branch 'pax-test' into grsec-test
8518
8519 commit 229fa990d096324284db79ed69b336d19df28afb
8520 Author: Brad Spengler <spender@grsecurity.net>
8521 Date: Sun Jan 12 07:55:36 2014 -0500
8522
8523 update to newer size_overflow hash table
8524
8525 tools/gcc/size_overflow_hash.data | 150 +++++++++++++++++++++----------------
8526 1 files changed, 84 insertions(+), 66 deletions(-)
8527
8528 commit f17b6ff4817c57c0aaae76c2c1cf2ee759773292
8529 Merge: 93e7728 6e027b9
8530 Author: Brad Spengler <spender@grsecurity.net>
8531 Date: Sat Jan 11 17:38:57 2014 -0500
8532
8533 Merge branch 'pax-test' into grsec-test
8534
8535 commit 6e027b9f1196ed76313c256f8f962afd334d999f
8536 Author: Brad Spengler <spender@grsecurity.net>
8537 Date: Sat Jan 11 17:38:28 2014 -0500
8538
8539 Update to pax-linux-3.12.7-test12.patch:
8540 - new size overflow plugin and hash table from Emese, should really fix the canon_copy_from_read_buf problem
8541 - fixed incorrent module parameter type in vivi, caught by the size overflow plugin
8542
8543 drivers/media/platform/vivi.c | 4 +-
8544 tools/gcc/size_overflow_hash.data | 120 ++++++++++++++++++------------------
8545 tools/gcc/size_overflow_plugin.c | 64 +++++++++++++-------
8546 3 files changed, 105 insertions(+), 83 deletions(-)
8547
8548 commit 93e7728fe0c37e00421e82cc43f8d467d5161751
8549 Merge: 41ac3ff eadfb9b
8550 Author: Brad Spengler <spender@grsecurity.net>
8551 Date: Thu Jan 9 17:47:29 2014 -0500
8552
8553 Merge branch 'pax-test' into grsec-test
8554
8555 commit eadfb9b1066d32ee537369fd67683297eb791ed0
8556 Merge: bccc569 4301b7a
8557 Author: Brad Spengler <spender@grsecurity.net>
8558 Date: Thu Jan 9 17:46:48 2014 -0500
8559
8560 Update to pax-linux-3.12.7-test11.patch:
8561 - fixed powerpc compilation, by Purushothama Siddaiah <psiddaiah@mvista.com>
8562 - updated size overflow hash table from Emese, reported by Brian Haslett
8563
8564 Merge branch 'linux-3.12.y' into pax-test
8565
8566 Conflicts:
8567 include/linux/reboot.h
8568 mm/fremap.c
8569 mm/memory-failure.c
8570 scripts/link-vmlinux.sh
8571
8572 commit 41ac3ff0c57f5b8bc2e32fd6ee58d618a6c8feec
8573 Author: Brad Spengler <spender@grsecurity.net>
8574 Date: Wed Jan 8 20:24:27 2014 -0500
8575
8576 zeroing out btime from /proc/stat breaks ps aux, it's the seconds of
8577 uptime for the system, information which is also available elsewhere
8578 (/proc/uptime), so there's no reason to limit it
8579
8580 fs/proc/stat.c | 4 +---
8581 1 files changed, 1 insertions(+), 3 deletions(-)
8582
8583 commit a1c966be13a8cfa254a6814c8a79caed3b421f0a
8584 Author: Brad Spengler <spender@grsecurity.net>
8585 Date: Wed Jan 8 18:13:15 2014 -0500
8586
8587 fix typo
8588
8589 mm/vmstat.c | 2 +-
8590 1 files changed, 1 insertions(+), 1 deletions(-)
8591
8592 commit f1b3c3eec89cd91474518f7fbd6ffe11c0cf22c7
8593 Author: Brad Spengler <spender@grsecurity.net>
8594 Date: Wed Jan 8 18:06:53 2014 -0500
8595
8596 provide a zeroed out /proc/vmstat to unprivileged users instead of
8597 denied access, some poorly-written desktop apps bail out completely
8598 when it can't be opened
8599
8600 mm/vmstat.c | 21 +++++++++++++++------
8601 1 files changed, 15 insertions(+), 6 deletions(-)
8602
8603 commit 4e7ac33a7cf3cb6387d69a4d9ba248a2a2c95c52
8604 Merge: ecdc265 bccc569
8605 Author: Brad Spengler <spender@grsecurity.net>
8606 Date: Wed Jan 8 17:55:50 2014 -0500
8607
8608 Merge branch 'pax-test' into grsec-test
8609
8610 commit bccc5691fbe71245abd1e39c4387c1c0146bb3fd
8611 Author: Brad Spengler <spender@grsecurity.net>
8612 Date: Wed Jan 8 17:55:08 2014 -0500
8613
8614 Update to pax-linux-3.12.6-test10.patch:
8615 - removed config reference to EXT4_FS_XATTR, reported by x14sg1 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3904)
8616 - Emese worked around a few intentional overflows that triggered the size overflow plugin
8617 - in cpuset_common_file_read, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=496490) and boris64 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3907)
8618 - in canon_copy_from_read_buf, reported by dwokfur (http://forums.grsecurity.net/viewtopic.php?f=3&t=3905)
8619
8620 drivers/tty/n_tty.c | 2 +-
8621 drivers/usb/core/devio.c | 2 +-
8622 security/Kconfig | 1 -
8623 tools/gcc/size_overflow_plugin.c | 173 ++++++++++++++++++++++++++++++++------
8624 4 files changed, 150 insertions(+), 28 deletions(-)
8625
8626 commit ecdc2658f89f545acbfddbcef93c04a5bd3c9ce2
8627 Author: Brad Spengler <spender@grsecurity.net>
8628 Date: Wed Jan 8 17:46:46 2014 -0500
8629
8630 back out recently-added capability checks to various pci write methods
8631 as they break Xorg radeon drivers
8632
8633 drivers/pci/pci-sysfs.c | 9 ---------
8634 drivers/pci/proc.c | 3 ---
8635 2 files changed, 0 insertions(+), 12 deletions(-)
8636
8637 commit 3b9532bcc2f2fda37c6316047764e65d05cfc0d7
8638 Author: Brad Spengler <spender@grsecurity.net>
8639 Date: Thu Jan 2 17:05:39 2014 -0500
8640
8641 add missing #include
8642
8643 fs/proc/stat.c | 1 +
8644 1 files changed, 1 insertions(+), 0 deletions(-)
8645
8646 commit 44c29b5b08a4475bcd7ca653abe5ed172fa1f8a0
8647 Author: Brad Spengler <spender@grsecurity.net>
8648 Date: Thu Jan 2 17:02:24 2014 -0500
8649
8650 Back off recent PCI BAR restrictions as they break various existing
8651 necessary functionality (Xorg with VMware video driver, etc)
8652
8653 Add CAP_SYS_RAWIO checks instead to code operating off just uid == 0
8654 checks currently
8655
8656 drivers/pci/pci-sysfs.c | 17 +++++++----------
8657 drivers/pci/proc.c | 13 ++-----------
8658 drivers/pci/syscall.c | 4 ----
8659 3 files changed, 9 insertions(+), 25 deletions(-)
8660
8661 commit 5d6ce67e5ed3913c105cf2fc7c9db1d6e2a9f84a
8662 Author: Brad Spengler <spender@grsecurity.net>
8663 Date: Tue Dec 31 10:30:20 2013 -0500
8664
8665 Resolve compatibility with libgtop and recent restriction of
8666 /proc/stat, reported by KacKurx. We now provide a properly-formatted
8667 but zeroed /proc/stat instead of denying unpriv access to the entry
8668
8669 fs/proc/stat.c | 34 ++++++++++++++++++++++++----------
8670 1 files changed, 24 insertions(+), 10 deletions(-)
8671
8672 commit fb5263307b4892bbaefc83427412b54c12a4e422
8673 Author: Brad Spengler <spender@grsecurity.net>
8674 Date: Mon Dec 30 11:19:53 2013 -0500
8675
8676 Restrict access to /proc/interrupts and /proc/stat as suggested by Vasiliy
8677 Kulikov:
8678 http://www.openwall.com/lists/kernel-hardening/2011/11/07/1
8679
8680 fs/proc/interrupts.c | 4 ++++
8681 fs/proc/stat.c | 4 ++++
8682 2 files changed, 8 insertions(+), 0 deletions(-)
8683
8684 commit e5f67af1a42dbde9aae812c25e2498b908919689
8685 Author: Brad Spengler <spender@grsecurity.net>
8686 Date: Mon Dec 30 11:13:49 2013 -0500
8687
8688 Update to phase two of the IPC hardening. I've heard no complaints about
8689 the patch I released, but including it here will generate better information.
8690
8691 grsecurity/Kconfig | 16 ++++++++++------
8692 grsecurity/grsec_ipc.c | 32 +++++++++++++++++++++++++++++---
8693 include/linux/grmsg.h | 2 +-
8694 ipc/util.c | 3 ++-
8695 4 files changed, 42 insertions(+), 11 deletions(-)
8696
8697 commit a5a7395ebf9054496b21fd84978daba0a9bfde5d
8698 Merge: b07a1fc bfce0d4
8699 Author: Brad Spengler <spender@grsecurity.net>
8700 Date: Thu Dec 26 19:24:39 2013 -0500
8701
8702 Merge branch 'pax-test' into grsec-test
8703
8704 commit bfce0d4c8f94977de165b9a559c531759d031b4b
8705 Author: Brad Spengler <spender@grsecurity.net>
8706 Date: Thu Dec 26 19:23:25 2013 -0500
8707
8708 Revert recent PaX marking change that broke a significant number
8709 of existing systems. The marking system will be revamped in a later
8710 patch to fix softmode support while making XT markings more usable.
8711
8712 fs/binfmt_elf.c | 53 +++++++++++++++++++++++------------------------------
8713 1 files changed, 23 insertions(+), 30 deletions(-)
8714
8715 commit b07a1fc3ab37cf27f8e7b56193a08adfadd569b6
8716 Author: Brad Spengler <spender@grsecurity.net>
8717 Date: Thu Dec 26 19:20:26 2013 -0500
8718
8719 add missing #include
8720
8721 grsecurity/grsec_mount.c | 1 +
8722 1 files changed, 1 insertions(+), 0 deletions(-)
8723
8724 commit 5fbe9de8e020fdf6b911a2368e41ba88df554343
8725 Author: Brad Spengler <spender@grsecurity.net>
8726 Date: Thu Dec 26 15:51:51 2013 -0500
8727
8728 Update config help to reflect requirements for proper security, similar
8729 to what we mention for GRKERNSEC_KMEM or GRKERNSEC_HIDESYM
8730
8731 grsecurity/Kconfig | 7 ++++++-
8732 1 files changed, 6 insertions(+), 1 deletions(-)
8733
8734 commit d26ce94a15a14d44494fd3e307baebc2511a09b8
8735 Author: Brad Spengler <spender@grsecurity.net>
8736 Date: Thu Dec 26 15:35:31 2013 -0500
8737
8738 Whenever we perform checks against block devices we should also test for
8739 raw character devices provided by CONFIG_RAW_DRIVER. Unlike other OSes,
8740 Linux's raw device support has been obsoleted many years ago and is unlikely
8741 to be present in a given kernel config (modulo an allyesconfig).
8742
8743 grsecurity/gracl.c | 2 +-
8744 grsecurity/grsec_mount.c | 4 +++-
8745 2 files changed, 4 insertions(+), 2 deletions(-)
8746
8747 commit 4bbb922e6241dad03e37919f66e9f422743f5b5e
8748 Author: Brad Spengler <spender@grsecurity.net>
8749 Date: Wed Dec 25 16:37:02 2013 -0500
8750
8751 Add some of the more obscure, config-dependent kernel modification
8752 defenses to GRKERNSEC_KMEM, to be split out into a separate option
8753 if this causes any compatibility problems. From Matthew Garrett:
8754 https://lkml.org/lkml/2013/9/9/532
8755
8756 Also make make hibernation depend on !PAX_MEMORY_SANITIZE and not
8757 the other way around (to produce more secure settings when distro
8758 configs are used as a base)
8759
8760 drivers/acpi/custom_method.c | 4 ++++
8761 drivers/pci/pci-sysfs.c | 12 ++++++++++++
8762 drivers/pci/proc.c | 12 ++++++++++++
8763 drivers/pci/syscall.c | 4 ++++
8764 drivers/platform/x86/asus-wmi.c | 12 ++++++++++++
8765 kernel/power/Kconfig | 2 ++
8766 security/Kconfig | 1 -
8767 7 files changed, 46 insertions(+), 1 deletions(-)
8768
8769 commit 3ae9170407e5782e6a7b2bd796b60149864e6c3e
8770 Author: Chad Hanson <chanson@trustedcs.com>
8771 Date: Mon Dec 23 17:45:01 2013 -0500
8772
8773 Upstream commit: 46d01d63221c3508421dd72ff9c879f61053cffc
8774
8775 selinux: fix broken peer recv check
8776
8777 Fix a broken networking check. Return an error if peer recv fails. If
8778 secmark is active and the packet recv succeeds the peer recv error is
8779 ignored.
8780
8781 Signed-off-by: Chad Hanson <chanson@trustedcs.com>
8782 Cc: stable@vger.kernel.org
8783 Signed-off-by: Paul Moore <pmoore@redhat.com>
8784
8785 security/selinux/hooks.c | 4 +++-
8786 1 files changed, 3 insertions(+), 1 deletions(-)
8787
8788 commit c870e769c2d34bff7a0eba239c092bb115bb9d71
8789 Author: Oleg Nesterov <oleg@redhat.com>
8790 Date: Mon Dec 23 17:45:01 2013 -0500
8791
8792 Upstream commit: c0c1439541f5305b57a83d599af32b74182933fe
8793
8794 selinux: selinux_setprocattr()->ptrace_parent() needs rcu_read_lock()
8795
8796 selinux_setprocattr() does ptrace_parent(p) under task_lock(p),
8797 but task_struct->alloc_lock doesn't pin ->parent or ->ptrace,
8798 this looks confusing and triggers the "suspicious RCU usage"
8799 warning because ptrace_parent() does rcu_dereference_check().
8800
8801 And in theory this is wrong, spin_lock()->preempt_disable()
8802 doesn't necessarily imply rcu_read_lock() we need to access
8803 the ->parent.
8804
8805 Reported-by: Evan McNabb <emcnabb@redhat.com>
8806 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
8807 Cc: stable@vger.kernel.org
8808 Signed-off-by: Paul Moore <pmoore@redhat.com>
8809
8810 security/selinux/hooks.c | 4 ++--
8811 1 files changed, 2 insertions(+), 2 deletions(-)
8812
8813 commit 717544da98db68da8cf1b902e33eefc098170128
8814 Author: Benjamin LaHaise <bcrl@kvack.org>
8815 Date: Sat Dec 21 15:49:28 2013 -0500
8816
8817 Upstream commit: 1881686f842065d2f92ec9c6424830ffc17d23b0
8818
8819 aio: fix kioctx leak introduced by "aio: Fix a trinity splat"
8820
8821 e34ecee2ae791df674dfb466ce40692ca6218e43 reworked the percpu reference
8822 counting to correct a bug trinity found. Unfortunately, the change lead
8823 to kioctxes being leaked because there was no final reference count to
8824 put. Add that reference count back in to fix things.
8825
8826 Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
8827 Cc: stable@vger.kernel.org
8828
8829 fs/aio.c | 3 ++-
8830 1 files changed, 2 insertions(+), 1 deletions(-)
8831
8832 commit 21649f0e322166802adf5872f2affc38a0d6eb18
8833 Author: Jianguo Wu <wujianguo@huawei.com>
8834 Date: Wed Dec 18 17:08:59 2013 -0800
8835
8836 Upstream commit: 98398c32f6687ee1e1f3ae084effb4b75adb0747
8837
8838 mm/hugetlb: check for pte NULL pointer in __page_check_address()
8839
8840 In __page_check_address(), if address's pud is not present,
8841 huge_pte_offset() will return NULL, we should check the return value.
8842
8843 Signed-off-by: Jianguo Wu <wujianguo@huawei.com>
8844 Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
8845 Cc: Mel Gorman <mgorman@suse.de>
8846 Cc: qiuxishi <qiuxishi@huawei.com>
8847 Cc: Hanjun Guo <guohanjun@huawei.com>
8848 Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
8849 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
8850 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8851
8852 Conflicts:
8853
8854 mm/rmap.c
8855
8856 mm/rmap.c | 4 ++++
8857 1 files changed, 4 insertions(+), 0 deletions(-)
8858
8859 commit 184b047d4bc06f058aadb07393270e5d972af3aa
8860 Author: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
8861 Date: Fri Dec 20 15:10:03 2013 +0200
8862
8863 Upstream commit: ee53664bda169f519ce3c6a22d378f0b946c8178
8864
8865 mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support
8866
8867 Sasha Levin found a NULL pointer dereference that is due to a missing
8868 page table lock, which in turn is due to the pmd entry in question being
8869 a transparent huge-table entry.
8870
8871 The code - introduced in commit 1998cc048901 ("mm: make
8872 madvise(MADV_WILLNEED) support swap file prefetch") - correctly checks
8873 for this situation using pmd_none_or_trans_huge_or_clear_bad(), but it
8874 turns out that that function doesn't work correctly.
8875
8876 pmd_none_or_trans_huge_or_clear_bad() expected that pmd_bad() would
8877 trigger if the transparent hugepage bit was set, but it doesn't do that
8878 if pmd_numa() is also set. Note that the NUMA bit only gets set on real
8879 NUMA machines, so people trying to reproduce this on most normal
8880 development systems would never actually trigger this.
8881
8882 Fix it by removing the very subtle (and subtly incorrect) expectation,
8883 and instead just checking pmd_trans_huge() explicitly.
8884
8885 Reported-by: Sasha Levin <sasha.levin@oracle.com>
8886 Acked-by: Andrea Arcangeli <aarcange@redhat.com>
8887 [ Additionally remove the now stale test for pmd_trans_huge() inside the
8888 pmd_bad() case - Linus ]
8889 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8890
8891 include/asm-generic/pgtable.h | 5 ++---
8892 1 files changed, 2 insertions(+), 3 deletions(-)
8893
8894 commit 1d769ef5d57f3bb616929c7e3c600852e20d575e
8895 Author: Daniel Borkmann <dborkman@redhat.com>
8896 Date: Tue Dec 17 00:38:39 2013 +0100
8897
8898 Upstream commit: b1aac815c0891fe4a55a6b0b715910142227700f
8899
8900 net: inet_diag: zero out uninitialized idiag_{src,dst} fields
8901
8902 Jakub reported while working with nlmon netlink sniffer that parts of
8903 the inet_diag_sockid are not initialized when r->idiag_family != AF_INET6.
8904 That is, fields of r->id.idiag_src[1 ... 3], r->id.idiag_dst[1 ... 3].
8905
8906 In fact, it seems that we can leak 6 * sizeof(u32) byte of kernel [slab]
8907 memory through this. At least, in udp_dump_one(), we allocate a skb in ...
8908
8909 rep = nlmsg_new(sizeof(struct inet_diag_msg) + ..., GFP_KERNEL);
8910
8911 ... and then pass that to inet_sk_diag_fill() that puts the whole struct
8912 inet_diag_msg into the skb, where we only fill out r->id.idiag_src[0],
8913 r->id.idiag_dst[0] and leave the rest untouched:
8914
8915 r->id.idiag_src[0] = inet->inet_rcv_saddr;
8916 r->id.idiag_dst[0] = inet->inet_daddr;
8917
8918 struct inet_diag_msg embeds struct inet_diag_sockid that is correctly /
8919 fully filled out in IPv6 case, but for IPv4 not.
8920
8921 So just zero them out by using plain memset (for this little amount of
8922 bytes it's probably not worth the extra check for idiag_family == AF_INET).
8923
8924 Similarly, fix also other places where we fill that out.
8925
8926 Reported-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
8927 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
8928 Signed-off-by: David S. Miller <davem@davemloft.net>
8929
8930 Conflicts:
8931
8932 net/ipv4/inet_diag.c
8933
8934 net/ipv4/inet_diag.c | 16 ++++++++++++++++
8935 1 files changed, 16 insertions(+), 0 deletions(-)
8936
8937 commit 11093b2d02f7bba2c9085b2d2d020b9ee34f8737
8938 Author: Wenliang Fan <fanwlexca@gmail.com>
8939 Date: Tue Dec 17 11:25:28 2013 +0800
8940
8941 Upstream commit: e9db5c21d3646a6454fcd04938dd215ac3ab620a
8942
8943 drivers/net/hamradio: Integer overflow in hdlcdrv_ioctl()
8944
8945 The local variable 'bi' comes from userspace. If userspace passed a
8946 large number to 'bi.data.calibrate', there would be an integer overflow
8947 in the following line:
8948 s->hdlctx.calibrate = bi.data.calibrate * s->par.bitrate / 16;
8949
8950 Signed-off-by: Wenliang Fan <fanwlexca@gmail.com>
8951 Signed-off-by: David S. Miller <davem@davemloft.net>
8952
8953 drivers/net/hamradio/hdlcdrv.c | 2 ++
8954 1 files changed, 2 insertions(+), 0 deletions(-)
8955
8956 commit e162be84a9971452943c1d85a59c866a5486222b
8957 Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
8958 Date: Mon Dec 23 18:49:30 2013 +0100
8959
8960 Upstream commit: f60900f2609e893c7f8d0bccc7ada4947dac4cd5
8961
8962 auxvec.h: account for AT_HWCAP2 in AT_VECTOR_SIZE_BASE
8963
8964 Commit 2171364d1a92 ("powerpc: Add HWCAP2 aux entry") introduced a new
8965 AT_ auxv entry type AT_HWCAP2 but failed to update AT_VECTOR_SIZE_BASE
8966 accordingly.
8967
8968 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
8969 Fixes: 2171364d1a92 (powerpc: Add HWCAP2 aux entry)
8970 Cc: stable@vger.kernel.org
8971 Acked-by: Michael Neuling <michael@neuling.org>
8972 Cc: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
8973 Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
8974 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8975
8976 include/linux/auxvec.h | 2 +-
8977 1 files changed, 1 insertions(+), 1 deletions(-)
8978
8979 commit a60029d4fb8d62b6dd3617a8ab4031fd79b89fe3
8980 Author: Brad Spengler <spender@grsecurity.net>
8981 Date: Wed Dec 25 15:11:51 2013 -0500
8982
8983 remove unused 'dentry' variable
8984
8985 fs/xattr.c | 1 -
8986 1 files changed, 0 insertions(+), 1 deletions(-)
8987
8988 commit d6e290d23c8c47c19536ed84f403eb81f224ed67
8989 Author: Brad Spengler <spender@grsecurity.net>
8990 Date: Wed Dec 25 15:03:13 2013 -0500
8991
8992 Add RBAC mediation of *removexattr(), as this has security implications
8993 in the case of PaX with softmode enabled or the rare case of RBAC+SELinux
8994 use.
8995
8996 fs/xattr.c | 18 +++++++++++-------
8997 grsecurity/gracl_fs.c | 6 ++++++
8998 grsecurity/grsec_disabled.c | 6 ++++++
8999 include/linux/grmsg.h | 3 ++-
9000 include/linux/grsecurity.h | 2 ++
9001 5 files changed, 27 insertions(+), 8 deletions(-)
9002
9003 commit 848b9c1e52382f446a2db679d6ee68c0a8cbc52e
9004 Merge: e45d1dd 846d19a
9005 Author: Brad Spengler <spender@grsecurity.net>
9006 Date: Sun Dec 22 10:36:48 2013 -0500
9007
9008 Merge branch 'pax-test' into grsec-test
9009
9010 commit 846d19aa4207282ce5ac54237517e54324eda092
9011 Author: Brad Spengler <spender@grsecurity.net>
9012 Date: Sun Dec 22 10:35:16 2013 -0500
9013
9014 Update to pax-linux-3.12.6-test9.patch:
9015 - updated size overflow hash table from spender
9016 - fixed silly code in kvm_clear_guest_page detected by USERCOPY, reported by remnix (http://forums.grsecurity.net/viewtopic.php?f=3&t=3899)
9017
9018 virt/kvm/kvm_main.c | 13 +++++++++++--
9019 1 files changed, 11 insertions(+), 2 deletions(-)
9020
9021 commit e45d1ddcd3c8005889acc55fbf9e57171339fbb4
9022 Merge: b5c87f6 6754393
9023 Author: Brad Spengler <spender@grsecurity.net>
9024 Date: Sat Dec 21 07:53:42 2013 -0500
9025
9026 Merge branch 'pax-test' into grsec-test
9027
9028 commit 6754393ea42b9fb1d6d8e4635e8364674cee2bbd
9029 Author: Brad Spengler <spender@grsecurity.net>
9030 Date: Sat Dec 21 07:53:22 2013 -0500
9031
9032 Update size_overflow hash table
9033
9034 tools/gcc/size_overflow_hash.data | 119 +++++++++++++++++++------------------
9035 1 files changed, 60 insertions(+), 59 deletions(-)
9036
9037 commit b5c87f632d1cf19639a94c36276f96955221c77a
9038 Author: Brad Spengler <spender@grsecurity.net>
9039 Date: Fri Dec 20 20:18:56 2013 -0500
9040
9041 compile fix
9042
9043 fs/stat.c | 1 +
9044 1 files changed, 1 insertions(+), 0 deletions(-)
9045
9046 commit 47618a93b003d648b5704040d1e502f76de07093
9047 Merge: ba0eeed 37eeb47
9048 Author: Brad Spengler <spender@grsecurity.net>
9049 Date: Fri Dec 20 20:18:18 2013 -0500
9050
9051 Merge branch 'pax-test' into grsec-test
9052
9053 commit 37eeb473486a08e3beae62841b19169aef36564d
9054 Author: Brad Spengler <spender@grsecurity.net>
9055 Date: Fri Dec 20 20:17:46 2013 -0500
9056
9057 Update to pax-linux-3.12.6-test8.patch:
9058 - fixed an inconsistency in handling softmode and user.pax.flags, reported by jacekalex (http://forums.grsecurity.net/viewtopic.php?f=3&t=3877)
9059 - updated size overflow hash table from spender
9060
9061 fs/binfmt_elf.c | 53 ++++++++++++++++++++++++++++++-----------------------
9062 1 files changed, 30 insertions(+), 23 deletions(-)
9063
9064 commit ba0eeed0532b602905d87e9bf25aad3664c3f36b
9065 Merge: 453a7f1 9dda34c
9066 Author: Brad Spengler <spender@grsecurity.net>
9067 Date: Fri Dec 20 19:17:33 2013 -0500
9068
9069 Merge branch 'pax-test' into grsec-test
9070
9071 commit 9dda34cba200c6eadcbbbccbb4729627fd82e6be
9072 Merge: 63ebe2d2 d0266db
9073 Author: Brad Spengler <spender@grsecurity.net>
9074 Date: Fri Dec 20 19:17:18 2013 -0500
9075
9076 Merge branch 'linux-3.12.y' into pax-test
9077
9078 Conflicts:
9079 arch/x86/boot/Makefile
9080
9081 commit 453a7f1e18d89056fa27a9fdc777cea1a6fd7fe5
9082 Merge: bb777f5 63ebe2d2
9083 Author: Brad Spengler <spender@grsecurity.net>
9084 Date: Thu Dec 19 22:48:02 2013 -0500
9085
9086 Merge branch 'pax-test' into grsec-test
9087
9088 commit 63ebe2d2adf8f5ebc1639c1b8d8577fbe5813fcd
9089 Author: Brad Spengler <spender@grsecurity.net>
9090 Date: Thu Dec 19 22:47:35 2013 -0500
9091
9092 add 42 functions to the size_overflow hash table
9093
9094 tools/gcc/size_overflow_hash.data | 59 +++++++++++++++++++++++++++++-------
9095 1 files changed, 47 insertions(+), 12 deletions(-)
9096
9097 commit bb777f517e6c2a53909351245d7d2009d8ad4c5b
9098 Merge: cc59b1f a03d29c
9099 Author: Brad Spengler <spender@grsecurity.net>
9100 Date: Thu Dec 19 17:12:01 2013 -0500
9101
9102 Merge branch 'pax-test' into grsec-test
9103
9104 commit a03d29c1eead36d4f9eac27b3a5d4b4266360a81
9105 Author: Brad Spengler <spender@grsecurity.net>
9106 Date: Thu Dec 19 17:11:19 2013 -0500
9107
9108 Update to pax-linux-3.12.5-test7.patch:
9109 - fixed some more size overflow reports
9110 - gratuitous int/uint conversion in expand_files and expand_fdtable, reported by wizeman (http://forums.grsecurity.net/viewtopic.php?f=3&t=3898)
9111 - better fix for the gcc induced intentional overflow in usbdev_read
9112
9113 arch/x86/include/asm/atomic.h | 6 +++---
9114 arch/x86/include/asm/atomic64_32.h | 2 +-
9115 arch/x86/include/asm/atomic64_64.h | 2 +-
9116 drivers/usb/core/devio.c | 2 +-
9117 fs/file.c | 4 ++--
9118 include/asm-generic/atomic-long.h | 2 +-
9119 tools/gcc/size_overflow_hash.data | 3 ---
9120 7 files changed, 9 insertions(+), 12 deletions(-)
9121
9122 commit cc59b1fbe8989a6f99d229b34653e40a84d871f4
9123 Merge: 44842d2 6ffdbdf
9124 Author: Brad Spengler <spender@grsecurity.net>
9125 Date: Sun Dec 15 10:40:14 2013 -0500
9126
9127 Merge branch 'pax-test' into grsec-test
9128
9129 commit 6ffdbdf295f56e22ce8626b555a03e4d2b8c6a61
9130 Author: Brad Spengler <spender@grsecurity.net>
9131 Date: Sun Dec 15 10:38:59 2013 -0500
9132
9133 Update to pax-linux-3.12.5-test6.patch:
9134 - Emese fixed a bug in the size overflow plugin resulting in false positives on downcasts from 64 bit variables on i386, reported by Huub Reuver
9135
9136 tools/gcc/size_overflow_plugin.c | 11 ++++++++---
9137 1 files changed, 8 insertions(+), 3 deletions(-)
9138
9139 commit 44842d2f32b7fd6f325a90b15bd0a094f08feab9
9140 Merge: c2c9b35 f85d978
9141 Author: Brad Spengler <spender@grsecurity.net>
9142 Date: Sat Dec 14 10:58:46 2013 -0500
9143
9144 Merge branch 'pax-test' into grsec-test
9145
9146 commit f85d978a63b7388c6ab97b54808992fe2ee4ac8c
9147 Author: Brad Spengler <spender@grsecurity.net>
9148 Date: Sat Dec 14 10:58:14 2013 -0500
9149
9150 Update to pax-linux-3.12.5-test5.patch:
9151 - properly fix the use-after-free in sys_remap_file_pages, by Rik van Riel (http://www.spinics.net/lists/linux-mm/msg66710.html)
9152
9153 mm/fremap.c | 10 +++++-----
9154 1 files changed, 5 insertions(+), 5 deletions(-)
9155
9156 commit c2c9b35fca510f7e29f80efa2999695448083b52
9157 Author: Linus Torvalds <torvalds@linux-foundation.org>
9158 Date: Thu Dec 12 09:38:42 2013 -0800
9159
9160 Upstream commit: f12d5bfceb7e1f9051563381ec047f7f13956c3c
9161
9162 futex: fix handling of read-only-mapped hugepages
9163
9164 The hugepage code had the exact same bug that regular pages had in
9165 commit 7485d0d3758e ("futexes: Remove rw parameter from
9166 get_futex_key()").
9167
9168 The regular page case was fixed by commit 9ea71503a8ed ("futex: Fix
9169 regression with read only mappings"), but the transparent hugepage case
9170 (added in a5b338f2b0b1: "thp: update futex compound knowledge") case
9171 remained broken.
9172
9173 Found by Dave Jones and his trinity tool.
9174
9175 Reported-and-tested-by: Dave Jones <davej@fedoraproject.org>
9176 Cc: stable@kernel.org # v2.6.38+
9177 Acked-by: Thomas Gleixner <tglx@linutronix.de>
9178 Cc: Mel Gorman <mgorman@suse.de>
9179 Cc: Darren Hart <dvhart@linux.intel.com>
9180 Cc: Andrea Arcangeli <aarcange@redhat.com>
9181 Cc: Oleg Nesterov <oleg@redhat.com>
9182 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9183
9184 kernel/futex.c | 2 +-
9185 1 files changed, 1 insertions(+), 1 deletions(-)
9186
9187 commit 7fe4be2ce4c49484298f71455cdcac08149985cb
9188 Author: Andy Honig <ahonig@google.com>
9189 Date: Mon Nov 18 16:09:22 2013 -0800
9190
9191 Upstream commit: 338c7dbadd2671189cec7faf64c84d01071b3f96
9192
9193 KVM: Improve create VCPU parameter (CVE-2013-4587)
9194
9195 In multiple functions the vcpu_id is used as an offset into a bitfield. Ag
9196 malicious user could specify a vcpu_id greater than 255 in order to set or
9197 clear bits in kernel memory. This could be used to elevate priveges in the
9198 kernel. This patch verifies that the vcpu_id provided is less than 255.
9199 The api documentation already specifies that the vcpu_id must be less than
9200 max_vcpus, but this is currently not checked.
9201
9202 Reported-by: Andrew Honig <ahonig@google.com>
9203 Cc: stable@vger.kernel.org
9204 Signed-off-by: Andrew Honig <ahonig@google.com>
9205 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9206
9207 virt/kvm/kvm_main.c | 3 +++
9208 1 files changed, 3 insertions(+), 0 deletions(-)
9209
9210 commit e3a3b7a0010abaf6f28afb8521fcb29cee6b3c4c
9211 Author: Andy Honig <ahonig@google.com>
9212 Date: Tue Nov 19 14:12:18 2013 -0800
9213
9214 Upstream commit: b963a22e6d1a266a67e9eecc88134713fd54775c
9215
9216 KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367)
9217
9218 Under guest controllable circumstances apic_get_tmcct will execute a
9219 divide by zero and cause a crash. If the guest cpuid support
9220 tsc deadline timers and performs the following sequence of requests
9221 the host will crash.
9222 - Set the mode to periodic
9223 - Set the TMICT to 0
9224 - Set the mode bits to 11 (neither periodic, nor one shot, nor tsc deadline)
9225 - Set the TMICT to non-zero.
9226 Then the lapic_timer.period will be 0, but the TMICT will not be. If the
9227 guest then reads from the TMCCT then the host will perform a divide by 0.
9228
9229 This patch ensures that if the lapic_timer.period is 0, then the division
9230 does not occur.
9231
9232 Reported-by: Andrew Honig <ahonig@google.com>
9233 Cc: stable@vger.kernel.org
9234 Signed-off-by: Andrew Honig <ahonig@google.com>
9235 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9236
9237 arch/x86/kvm/lapic.c | 3 ++-
9238 1 files changed, 2 insertions(+), 1 deletions(-)
9239
9240 commit 2b8e6adf070a8938133e318e9a6e2f633095f038
9241 Author: Andy Honig <ahonig@google.com>
9242 Date: Wed Nov 20 10:23:22 2013 -0800
9243
9244 Upstream commit: fda4e2e85589191b123d31cdc21fd33ee70f50fd
9245
9246 KVM: x86: Convert vapic synchronization to _cached functions (CVE-2013-6368)
9247
9248 In kvm_lapic_sync_from_vapic and kvm_lapic_sync_to_vapic there is the
9249 potential to corrupt kernel memory if userspace provides an address that
9250 is at the end of a page. This patches concerts those functions to use
9251 kvm_write_guest_cached and kvm_read_guest_cached. It also checks the
9252 vapic_address specified by userspace during ioctl processing and returns
9253 an error to userspace if the address is not a valid GPA.
9254
9255 This is generally not guest triggerable, because the required write is
9256 done by firmware that runs before the guest. Also, it only affects AMD
9257 processors and oldish Intel that do not have the FlexPriority feature
9258 (unless you disable FlexPriority, of course; then newer processors are
9259 also affected).
9260
9261 Fixes: b93463aa59d6 ('KVM: Accelerated apic support')
9262
9263 Reported-by: Andrew Honig <ahonig@google.com>
9264 Cc: stable@vger.kernel.org
9265 Signed-off-by: Andrew Honig <ahonig@google.com>
9266 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9267
9268 arch/x86/kvm/lapic.c | 27 +++++++++++++++------------
9269 arch/x86/kvm/lapic.h | 4 ++--
9270 arch/x86/kvm/x86.c | 40 +---------------------------------------
9271 3 files changed, 18 insertions(+), 53 deletions(-)
9272
9273 commit 6261a034c2cc7f34b4c7663ace10d74f9c1fe479
9274 Author: Gleb Natapov <gleb@redhat.com>
9275 Date: Thu Dec 12 21:20:08 2013 +0100
9276
9277 Upstream commit: 17d68b763f09a9ce824ae23eb62c9efc57b69271
9278
9279 KVM: x86: fix guest-initiated crash with x2apic (CVE-2013-6376)
9280
9281 A guest can cause a BUG_ON() leading to a host kernel crash.
9282 When the guest writes to the ICR to request an IPI, while in x2apic
9283 mode the following things happen, the destination is read from
9284 ICR2, which is a register that the guest can control.
9285
9286 kvm_irq_delivery_to_apic_fast uses the high 16 bits of ICR2 as the
9287 cluster id. A BUG_ON is triggered, which is a protection against
9288 accessing map->logical_map with an out-of-bounds access and manages
9289 to avoid that anything really unsafe occurs.
9290
9291 The logic in the code is correct from real HW point of view. The problem
9292 is that KVM supports only one cluster with ID 0 in clustered mode, but
9293 the code that has the bug does not take this into account.
9294
9295 Reported-by: Lars Bull <larsbull@google.com>
9296 Cc: stable@vger.kernel.org
9297 Signed-off-by: Gleb Natapov <gleb@redhat.com>
9298 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9299
9300 arch/x86/kvm/lapic.c | 5 ++++-
9301 1 files changed, 4 insertions(+), 1 deletions(-)
9302
9303 commit beb27f127ef300b52f8c20402d053b05bab7f4e3
9304 Merge: 82c673f b8daf53
9305 Author: Brad Spengler <spender@grsecurity.net>
9306 Date: Fri Dec 13 20:11:22 2013 -0500
9307
9308 Merge branch 'pax-test' into grsec-test
9309
9310 Conflicts:
9311 arch/parisc/kernel/sys_parisc.c
9312
9313 commit b8daf537ab923daf14f38d283ca5361424154fa8
9314 Merge: 7689612 156c758
9315 Author: Brad Spengler <spender@grsecurity.net>
9316 Date: Fri Dec 13 20:07:08 2013 -0500
9317
9318 Update to pax-linux-3.12.5-test4.patch:
9319 - fixed 32 bit apps executing certain 64 bit ones, reported by Ronny Meeus
9320 - fixed underallocation in __d_alloc that would cause an out-of-bounds read later, reported by Dmitry Vyukov and Kees Cook, not understood by Al Viro
9321 (http://lkml.org/lkml/2013/10/3/493 and http://lkml.org/lkml/2013/10/11/293)
9322 - fixed use-after-free in sys_remap_file_pages, reported by Dmitry Vyukov (http://lkml.org/lkml/2013/9/17/30)
9323 - updated size oveflow plugin from Emese, fixes some false positives reported by Tim Harman and Huub Reuver
9324 - fixed a btrfs bug caught by the size overflow plugin, reported by Jens Binnewies (http://forums.grsecurity.net/viewtopic.php?f=1&t=3887)
9325 turns out that it was fixed upstream already but never marked for stable backport:
9326 - https://bugzilla.kernel.org/show_bug.cgi?id=66661
9327 - https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/btrfs/tree-log.c?id=ed9e8af88e2551aaa6bf51d8063a2493e2d71597
9328 - fixed bad interactions between the KERNEXEC plugin and some gcc features, reported by Amadeusz Sławiński (https://bugs.gentoo.org/show_bug.cgi?id=487938)
9329 - the mask register has been changed from r10 (used by DRAP) to r12
9330 - all kernel entry points now allocate a full pt_regs area (it required some non-trivial surgery, some fallout is possible)
9331
9332 Merge branch 'linux-3.12.y' into pax-test
9333
9334 Conflicts:
9335 arch/parisc/kernel/sys_parisc.c
9336 fs/pipe.c
9337
9338 commit 82c673fdfd9925cda2e94b67f775be70b8ef4cca
9339 Author: Brad Spengler <spender@grsecurity.net>
9340 Date: Fri Dec 13 19:39:54 2013 -0500
9341
9342 Fix a use-after-free on fakefs_obj_rw/fakefs_obj_rwx introduced by the recent
9343 atomic reload improvement. These two objects are used only for "files" private
9344 to the kernel which don't exist on any mounted filesystem and have no visible
9345 path. Only the mode field of these objects is ever used, and we would never
9346 attempt to free these objects a second time (due to their being allocated
9347 into the memory manager associated with the initial policy)
9348
9349 In practice this causes bogus auditing messages for / and could potentially
9350 cause a subject without executable shared memory support to permit executable
9351 shared memory (if PaX is disabled on the binary).
9352
9353 Instead just allocate these two special objects with kzalloc at enable time
9354 and free them at disable time.
9355
9356 Thanks to nyt@countercultured.net for the report
9357
9358 grsecurity/gracl_policy.c | 9 +++++++--
9359 1 files changed, 7 insertions(+), 2 deletions(-)
9360
9361 commit b0be33b9efb31e2cb745d1b33eee4f89b315d5bf
9362 Merge: 4c60da7 7689612
9363 Author: Brad Spengler <spender@grsecurity.net>
9364 Date: Sun Dec 8 17:07:04 2013 -0500
9365
9366 Merge branch 'pax-test' into grsec-test
9367
9368 Conflicts:
9369 net/ipv4/ping.c
9370
9371 commit 7689612bef2f353f37a2fe94ff0ef8c72634b522
9372 Merge: 2f004b8 289b6c7
9373 Author: Brad Spengler <spender@grsecurity.net>
9374 Date: Sun Dec 8 17:05:58 2013 -0500
9375
9376 Merge branch 'linux-3.12.y' into pax-test
9377
9378 Conflicts:
9379 net/compat.c
9380 net/ipv4/ping.c
9381 net/ipv6/sit.c
9382 net/socket.c
9383
9384 commit 4c60da771d2fba442fe7831d590277e6fe80e908
9385 Author: Brad Spengler <spender@grsecurity.net>
9386 Date: Sun Dec 8 16:12:01 2013 -0500
9387
9388 Backport of:
9389
9390 If we allocate less than sizeof(struct attrlist) then we end up
9391 corrupting memory or doing a ZERO_PTR_SIZE dereference.
9392
9393 This can only be triggered with CAP_SYS_ADMIN.
9394
9395 Reported-by: Nico Golde <nico@xxxxxxxxx>
9396 Reported-by: Fabian Yamaguchi <fabs@xxxxxxxxx>
9397 Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
9398
9399 fs/xfs/xfs_ioctl.c | 3 ++-
9400 fs/xfs/xfs_ioctl32.c | 3 ++-
9401 2 files changed, 4 insertions(+), 2 deletions(-)
9402
9403 commit bd50af2c306bfe6287631e0e1745cc5d2fbad0c2
9404 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
9405 Date: Thu Dec 5 23:29:19 2013 +0100
9406
9407 Upstream commit: 239c78db9c41a8f524cce60507440d72229d73bc
9408
9409 net: clear local_df when passing skb between namespaces
9410
9411 We must clear local_df when passing the skb between namespaces as the
9412 packet is not local to the new namespace any more and thus may not get
9413 fragmented by local rules. Fred Templin noticed that other namespaces
9414 do fragment IPv6 packets while forwarding. Instead they should have send
9415 back a PTB.
9416
9417 The same problem should be present when forwarding DF-IPv4 packets
9418 between namespaces.
9419
9420 Reported-by: Templin, Fred L <Fred.L.Templin@boeing.com>
9421 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
9422 Signed-off-by: David S. Miller <davem@davemloft.net>
9423
9424 net/core/skbuff.c | 1 +
9425 1 files changed, 1 insertions(+), 0 deletions(-)
9426
9427 commit 7803212c99050491bd0a2618e039f62c825f82e5
9428 Author: Linus Torvalds <torvalds@linux-foundation.org>
9429 Date: Mon Dec 2 11:50:37 2013 -0800
9430
9431 Upstream commit: b65502879556d041b45104c6a35abbbba28c8f2d
9432
9433 uio: we cannot mmap unaligned page contents
9434
9435 In commit 7314e613d5ff ("Fix a few incorrectly checked
9436 [io_]remap_pfn_range() calls") the uio driver started more properly
9437 checking the passed-in user mapping arguments against the size of the
9438 actual uio driver data.
9439
9440 That in turn exposed that some driver authors apparently didn't realize
9441 that mmap can only work on a page granularity, and had tried to use it
9442 with smaller mappings, with the new size check catching that out.
9443
9444 So since it's not just the user mmap() arguments that can be confused,
9445 make the uio mmap code also verify that the uio driver has the memory
9446 allocated at page boundaries in order for mmap to work. If the device
9447 memory isn't properly aligned, we return
9448
9449 [ENODEV]
9450 The fildes argument refers to a file whose type is not supported by mmap().
9451
9452 as per the open group documentation on mmap.
9453
9454 Reported-by: Holger Brunck <holger.brunck@keymile.com>
9455 Acked-by: Greg KH <gregkh@linuxfoundation.org>
9456 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9457
9458 drivers/uio/uio.c | 2 ++
9459 1 files changed, 2 insertions(+), 0 deletions(-)
9460
9461 commit e5fb91d26cb825c36042d62373c0a32a176cfe2d
9462 Merge: 6b9d9e2 2f004b8
9463 Author: Brad Spengler <spender@grsecurity.net>
9464 Date: Sun Dec 8 10:18:49 2013 -0500
9465
9466 Merge branch 'pax-test' into grsec-test
9467
9468 Conflicts:
9469 mm/mmap.c
9470
9471 commit 2f004b87204d113e467ba360ac8b0a9cbfcf01cb
9472 Merge: c04a09b 81605d3
9473 Author: Brad Spengler <spender@grsecurity.net>
9474 Date: Sun Dec 8 10:16:53 2013 -0500
9475
9476 Update to pax-linux-3.12.3-test2.patch:
9477 - forward port to 3.12.3
9478 - fixed incorrect ACCESS_ONCE accessors in rcutree, reported by mcp
9479 - fixed the usual arm/CONSTIFY fallout, reported by Michael Tremer <michael.tremer@ipfire.org>
9480 - changed the constify plugin to give better error messages
9481 - worked around a gcc induced intentional integer overflow in usbdev_read, reported by quasar366 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3889)
9482 - better fix for http://forums.grsecurity.net/viewtopic.php?f=3&t=3885
9483 - fixed crash under qemu when INVPCID was enabled (say, on -cpu Haswell) but PCID itself wasn't, reported by spender
9484 - updated size overflow plugin from Emese, coverage will increase further
9485
9486 Merge branch 'linux-3.12.y' into pax-test
9487
9488 Conflicts:
9489 kernel/trace/ftrace.c
9490 mm/mmap.c
9491
9492 commit 6b9d9e2fe7cd30598a4c22c159ff3b06339e23c8
9493 Author: David Herrmann <dh.herrmann@gmail.com>
9494 Date: Tue Nov 26 13:58:18 2013 +0100
9495
9496 Upstream commit: 80897aa787ecd58eabb29deab7cbec9249c9b7e6
9497
9498 HID: uhid: fix leak for 64/32 UHID_CREATE
9499
9500 UHID allows short writes so user-space can omit unused fields. We
9501 automatically set them to 0 in the kernel. However, the 64/32 bit
9502 compat-handler didn't do that in the UHID_CREATE fallback. This will
9503 reveal random kernel heap data (of random size, even) to user-space.
9504
9505 Fixes: befde0226a59 ('HID: uhid: make creating devices work on 64/32 systems')
9506
9507 Reported-by: Ben Hutchings <ben@decadent.org.uk>
9508 Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
9509 Cc: stable@vger.kernel.org
9510 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
9511
9512 drivers/hid/uhid.c | 2 +-
9513 1 files changed, 1 insertions(+), 1 deletions(-)
9514
9515 commit a06981f0117d614ba4d30f6b5dd6eff7d418ffae
9516 Author: Brad Spengler <spender@grsecurity.net>
9517 Date: Wed Dec 4 18:15:02 2013 -0500
9518
9519 Don't duplicate __get_dumpable, also make sure we check against
9520 SUID_DUMP_USER, otherwise we wouldn't trigger suid bruteforcing
9521 detection when suid_dumpable was set to 2
9522
9523 fs/coredump.c | 7 +++++--
9524 grsecurity/grsec_sig.c | 14 ++------------
9525 include/linux/grsecurity.h | 2 +-
9526 3 files changed, 8 insertions(+), 15 deletions(-)
9527
9528 commit fc706a922b49e3157cac848fb0c8d1dcf4f360bb
9529 Merge: 0f023d5 c04a09b
9530 Author: Brad Spengler <spender@grsecurity.net>
9531 Date: Tue Dec 3 21:41:57 2013 -0500
9532
9533 Merge branch 'pax-test' into grsec-test
9534
9535 commit c04a09b7dbfafdbee85e09c224e90ebc665ce4f5
9536 Author: Brad Spengler <spender@grsecurity.net>
9537 Date: Tue Dec 3 21:41:20 2013 -0500
9538
9539 fix up ACCESS_ONCE -> ACCESS_ONCE_RW, as reported by mcp
9540
9541 kernel/rcutree_plugin.h | 8 ++++----
9542 1 files changed, 4 insertions(+), 4 deletions(-)
9543
9544 commit 0f023d59d361b9880155dd8ddb0c1e19a48437c6
9545 Author: Brad Spengler <spender@grsecurity.net>
9546 Date: Tue Dec 3 19:39:04 2013 -0500
9547
9548 Update documentation for GRKERNSEC_KMEM and GRKERNSEC_IO,
9549 see: http://forums.grsecurity.net/viewtopic.php?f=3&t=3879
9550 The previous info was many years outdated.
9551
9552 Disable KEXEC when GRKERNSEC_KMEM is enabled:
9553 http://mjg59.dreamwidth.org/28746.html
9554
9555 Also workaround the GRKERNSEC_IO incompatibility with Xorg by returning
9556 -ENODEV instead of -EPERM in the cases where CAP_SYS_RAWIO is present
9557
9558 arch/arm/Kconfig | 1 +
9559 arch/ia64/Kconfig | 1 +
9560 arch/mips/Kconfig | 1 +
9561 arch/powerpc/Kconfig | 1 +
9562 arch/tile/Kconfig | 1 +
9563 arch/x86/Kconfig | 1 +
9564 arch/x86/kernel/ioport.c | 12 ++++++------
9565 grsecurity/Kconfig | 27 +++++++++++----------------
9566 8 files changed, 23 insertions(+), 22 deletions(-)
9567
9568 commit 9f610c9c398e7e61183feb7fec6b91b9f2223b61
9569 Merge: fed624e 1395b8f
9570 Author: Brad Spengler <spender@grsecurity.net>
9571 Date: Mon Dec 2 17:33:01 2013 -0500
9572
9573 Merge branch 'pax-test' into grsec-test
9574
9575 commit 1395b8f8832d179a0c73e890754534c9d5442201
9576 Author: Brad Spengler <spender@grsecurity.net>
9577 Date: Mon Dec 2 17:31:35 2013 -0500
9578
9579 Forward-ported the following fix from 3.2:
9580 - worked around a false positive int truncation in xlog_grant_push_ail, reported by jorgus (http://forums.grsecurity.net/viewtopic.php?f=3&t=3885)
9581
9582 This caused filesystem corruption in the reported XFS case, problem
9583 introduced with Nov 24th patch (IPA-based size overflow plugin)
9584
9585 arch/x86/include/asm/atomic64_32.h | 2 +-
9586 arch/x86/include/asm/atomic64_64.h | 2 +-
9587 2 files changed, 2 insertions(+), 2 deletions(-)
9588
9589 commit fed624ebfd1d08ee6db247733cdb44df0e1be8b0
9590 Author: Brad Spengler <spender@grsecurity.net>
9591 Date: Mon Dec 2 17:20:00 2013 -0500
9592
9593 Fix qemu -cpu Haswell booting with pax_nouderef on the kernel cmdline
9594
9595 init/main.c | 1 +
9596 1 files changed, 1 insertions(+), 0 deletions(-)
9597
9598 commit a72ed588cbbda00d356529507b6bdca56c19d4c3
9599 Merge: 3f201fe db6d69f
9600 Author: Brad Spengler <spender@grsecurity.net>
9601 Date: Sat Nov 30 10:46:15 2013 -0500
9602
9603 Merge branch 'pax-test' into grsec-test
9604
9605 Conflicts:
9606 fs/dcache.c
9607 ipc/shm.c
9608 net/sunrpc/clnt.c
9609
9610 commit db6d69f61412f929242423f92d52f4c2c74bab5d
9611 Merge: 1f411d7 050dcf4
9612 Author: Brad Spengler <spender@grsecurity.net>
9613 Date: Sat Nov 30 10:40:33 2013 -0500
9614
9615 Merge branch 'linux-3.12.y' into pax-test
9616
9617 commit 3f201fe9a368a4b0339a2f3cf1259b785ae8374c
9618 Author: Brad Spengler <spender@grsecurity.net>
9619 Date: Tue Nov 26 15:16:48 2013 -0500
9620
9621 Fix null deref on application of the shutdown role, reported by zakalwe
9622
9623 grsecurity/gracl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++-
9624 grsecurity/gracl_policy.c | 58 ++++-----------------------------------------
9625 2 files changed, 62 insertions(+), 54 deletions(-)
9626
9627 commit f5648d16a7cc79abe6de7ae62e284fa511bb750a
9628 Author: Brad Spengler <spender@grsecurity.net>
9629 Date: Tue Nov 26 13:04:07 2013 -0500
9630
9631 Add system library paths to allowed areas for usermode helper calls,
9632 later we will also add checks to ensure the file is owned by root
9633
9634 kernel/kmod.c | 5 +++--
9635 1 files changed, 3 insertions(+), 2 deletions(-)
9636
9637 commit c610c1f0f580069a1dc9d58c0eb0bddd33cbc25c
9638 Author: Brad Spengler <spender@grsecurity.net>
9639 Date: Tue Nov 26 12:59:00 2013 -0500
9640
9641 Fix gr_policy_state -> gr_reload_state typo that clobbered the oldalloc pointer
9642 causing a NULL deref on RBAC reload, reported by zakalwe
9643
9644 grsecurity/gracl_policy.c | 2 +-
9645 1 files changed, 1 insertions(+), 1 deletions(-)
9646
9647 commit 4026c926f19d7642c1f89895b556fe2addaef239
9648 Author: Al Viro <viro@zeniv.linux.org.uk>
9649 Date: Wed Nov 13 07:45:40 2013 -0500
9650
9651 Upstream commit: ede4cebce16f5643c61aedd6d88d9070a1d23a68
9652
9653 prepend_path() needs to reinitialize dentry/vfsmount/mnt on restarts
9654
9655 ... and equivalent is needed in 3.12; it's broken there as well
9656
9657 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
9658
9659 Conflicts:
9660
9661 fs/dcache.c
9662
9663 fs/dcache.c | 10 +++++++---
9664 1 files changed, 7 insertions(+), 3 deletions(-)
9665
9666 commit c68d27fa66951166bff79a5c1bcc26985ac3f8bc
9667 Merge: 94b560b 1f411d7
9668 Author: Brad Spengler <spender@grsecurity.net>
9669 Date: Mon Nov 25 23:09:47 2013 -0500
9670
9671 Merge branch 'pax-test' into grsec-test
9672
9673 commit 1f411d73c56904d2be9cde1f78aaec7f4554dab1
9674 Merge: 5f17cd8 6beb1be
9675 Author: Brad Spengler <spender@grsecurity.net>
9676 Date: Mon Nov 25 23:09:34 2013 -0500
9677
9678 Merge branch 'linux-3.12.y' into pax-test
9679
9680 commit 94b560b0163a20b9eab9ec77b83f0bff853fe601
9681 Author: Brad Spengler <spender@grsecurity.net>
9682 Date: Mon Nov 25 22:33:33 2013 -0500
9683
9684 compile fix
9685
9686 kernel/kmod.c | 2 +-
9687 1 files changed, 1 insertions(+), 1 deletions(-)
9688
9689 commit 58c014d37769d384c2e3c06ce5f60fe54f855b24
9690 Merge: 48ac6ac 5f17cd8
9691 Author: Brad Spengler <spender@grsecurity.net>
9692 Date: Mon Nov 25 22:27:00 2013 -0500
9693
9694 Merge branch 'pax-test' into grsec-test
9695
9696 Conflicts:
9697 arch/arm/mm/fault.c
9698
9699 commit 5f17cd87d5c7faf606255f061dd394f6761e38df
9700 Author: Brad Spengler <spender@grsecurity.net>
9701 Date: Mon Nov 25 22:25:42 2013 -0500
9702
9703 Update to pax-linux-3.12.1-test2.patch:
9704 - made arm/UDEREF violation reports more consistent, reported by acez and spender
9705 - added a bit more amd64 kernel page table hardening
9706 - fixed some constify related compiler errors
9707 - fixed stack trace reports under i386/KERNEXEC, reported by ncopa and minipli
9708 - updated the size overflow hash table
9709
9710 arch/arm/mm/fault.c | 16 ++-
9711 arch/x86/include/asm/paravirt_types.h | 2 +-
9712 arch/x86/kernel/head_64.S | 18 ++-
9713 drivers/gpu/drm/radeon/radeon_ttm.c | 2 +-
9714 drivers/gpu/vga/vga_switcheroo.c | 4 +-
9715 drivers/hwmon/nct6775.c | 6 +-
9716 drivers/staging/lustre/lnet/selftest/brw_test.c | 12 +-
9717 drivers/staging/lustre/lnet/selftest/framework.c | 4 -
9718 drivers/staging/lustre/lnet/selftest/ping_test.c | 14 +-
9719 drivers/staging/lustre/lustre/include/lustre_dlm.h | 2 +-
9720 drivers/staging/lustre/lustre/include/obd.h | 2 +-
9721 .../lustre/lustre/libcfs/linux/linux-proc.c | 6 +-
9722 drivers/staging/rtl8188eu/include/hal_intf.h | 2 +-
9723 drivers/staging/rtl8188eu/include/rtw_io.h | 2 +-
9724 include/linux/hwmon-sysfs.h | 1 +
9725 include/linux/pm.h | 1 +
9726 include/linux/vga_switcheroo.h | 8 +-
9727 net/core/sysctl_net_core.c | 2 +-
9728 scripts/link-vmlinux.sh | 4 +-
9729 sound/soc/soc-core.c | 6 +-
9730 tools/gcc/size_overflow_hash.data | 142 ++++++++++++--------
9731 21 files changed, 145 insertions(+), 111 deletions(-)
9732
9733 commit 48ac6ac8a1fd55f2b276bf5326ce52782b7c554f
9734 Author: Brad Spengler <spender@grsecurity.net>
9735 Date: Mon Nov 25 12:01:21 2013 -0500
9736
9737 Conventions exist for a reason -- systemd knows better though
9738 and decides to put security-sensitive system administration utilities
9739 into /usr/lib/systemd in contrast to *every* other user of usermode
9740 helpers. Work around this stupidity
9741
9742 kernel/kmod.c | 4 ++--
9743 1 files changed, 2 insertions(+), 2 deletions(-)
9744
9745 commit 9ed081196dcaa72bae91d5a31329e35bd480d92b
9746 Author: Brad Spengler <spender@grsecurity.net>
9747 Date: Sun Nov 24 22:49:05 2013 -0500
9748
9749 Revert "HID: multitouch: validate feature report details"
9750
9751 This reverts commit 8aeb7645473b408fc6b2bd78a72671351fc8e684.
9752
9753 drivers/hid/hid-multitouch.c | 25 +++++--------------------
9754 1 files changed, 5 insertions(+), 20 deletions(-)
9755
9756 commit 801d69b26655ea7240df45ad14f96054e4d9803a
9757 Author: Brad Spengler <spender@grsecurity.net>
9758 Date: Sun Nov 24 22:48:49 2013 -0500
9759
9760 Revert "HID: lenovo-tpkbd: validate output report details"
9761
9762 This reverts commit 91bfda18a5711db32c984c632f47fa57458d993a.
9763
9764 drivers/hid/hid-lenovo-tpkbd.c | 5 -----
9765 1 files changed, 0 insertions(+), 5 deletions(-)
9766
9767 commit 1f70f596dd47ca9467a06b19ffc341c147ea4a23
9768 Author: Brad Spengler <spender@grsecurity.net>
9769 Date: Sun Nov 24 22:48:33 2013 -0500
9770
9771 Revert "HID: steelseries: validate output report details"
9772
9773 This reverts commit 0996966348dc3c3f7515567d3245292785d484fc.
9774
9775 drivers/hid/hid-steelseries.c | 5 -----
9776 1 files changed, 0 insertions(+), 5 deletions(-)
9777
9778 commit 8101ee4167c83f850cc2366088e3f60d01dcb9f7
9779 Author: Brad Spengler <spender@grsecurity.net>
9780 Date: Sun Nov 24 22:22:03 2013 -0500
9781
9782 remove __no_const from pv_lock_ops as it's not constified by the plugin
9783
9784 arch/x86/include/asm/paravirt_types.h | 2 +-
9785 1 files changed, 1 insertions(+), 1 deletions(-)
9786
9787 commit a94e46e08a9d8236544f881faa9cccecfe9c702b
9788 Author: Brad Spengler <spender@grsecurity.net>
9789 Date: Sun Nov 24 22:08:33 2013 -0500
9790
9791 add missing header
9792
9793 fs/proc/proc_sysctl.c | 3 +++
9794 1 files changed, 3 insertions(+), 0 deletions(-)
9795
9796 commit f0018c34f5ef840fffac10eb60fed9048317832f
9797 Author: Brad Spengler <spender@grsecurity.net>
9798 Date: Sun Nov 24 22:04:55 2013 -0500
9799
9800 Replace nsown_capable with an ns_capable check against the user_ns associated with the net namespace
9801
9802 fs/proc/proc_sysctl.c | 2 +-
9803 1 files changed, 1 insertions(+), 1 deletions(-)
9804
9805 commit 99a6a515bf625395fa31892f46311c3877a3fa93
9806 Author: Brad Spengler <spender@grsecurity.net>
9807 Date: Sun Nov 24 17:50:21 2013 -0500
9808
9809 remove unnecessary code/comments after new reload method
9810
9811 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9812
9813 grsecurity/gracl.c | 4 ----
9814 grsecurity/gracl_policy.c | 13 -------------
9815 2 files changed, 0 insertions(+), 17 deletions(-)
9816
9817 commit 10b6650a259b9a5911a33fc9aaf6677920830eee
9818 Author: Brad Spengler <spender@grsecurity.net>
9819 Date: Sun Nov 24 16:05:01 2013 -0500
9820
9821 Version bumped to 3.0 (we'd been on 2.9.1 for way too long and numerous features have been added since then)
9822
9823 Introduce new atomic RBAC reload method, developed as part of sponsorship
9824 by EIG
9825
9826 This is accompanied by an updated 3.0 gradm which will use the new reload
9827 method when -R is passed to gradm. The old method will still be available
9828 via gradm -r (which is what a 2.9.1 gradm will continue to use).
9829
9830 The new RBAC reload method is atomic in the sense that at no point in the
9831 reload process will the system not be covered by a coherent full policy.
9832 In contrast to previous reload behavior, it also preserves inherited subjects
9833 and special roles.
9834
9835 The old RBAC reload method has also been made atomic. Both methods have
9836 been updated to perform role_allowed_ip checks only against the IP tagged
9837 to the task at the time its role was first applied or changed. This resolves
9838 long-standing usability problems with the use of role_allowed_ip and matches
9839 the policies created by learning.
9840
9841 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9842
9843 grsecurity/Makefile | 2 +-
9844 grsecurity/gracl.c | 3903 +++++++++++++------------------------------
9845 grsecurity/gracl_alloc.c | 42 +-
9846 grsecurity/gracl_compat.c | 3 +-
9847 grsecurity/gracl_policy.c | 1838 ++++++++++++++++++++
9848 grsecurity/gracl_segv.c | 12 +-
9849 grsecurity/grsec_disabled.c | 7 -
9850 grsecurity/grsec_init.c | 15 -
9851 include/linux/gracl.h | 43 +-
9852 include/linux/grinternal.h | 1 -
9853 include/linux/grsecurity.h | 1 -
9854 include/linux/sched.h | 2 +
9855 12 files changed, 3082 insertions(+), 2787 deletions(-)
9856
9857 commit b035ba537ccc7dc58b9643ab58a2f5a7b4e6738e
9858 Author: Brad Spengler <spender@grsecurity.net>
9859 Date: Sun Nov 24 15:08:28 2013 -0500
9860
9861 compile fix for recent GRKERNSEC_CHROOT_INITRD change
9862
9863 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9864
9865 init/main.c | 12 +++---------
9866 1 files changed, 3 insertions(+), 9 deletions(-)
9867
9868 commit a898fff136a97e265c63375a2a03ebd91c9c1286
9869 Author: Brad Spengler <spender@grsecurity.net>
9870 Date: Sat Nov 23 18:27:37 2013 -0500
9871
9872 Make the recent usermode_helper protection race-free as far as userland is concerned by creating a copy of the path to be executed, then check against that copied path instead of the still-mutable original path
9873
9874 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9875
9876 include/linux/kmod.h | 3 +++
9877 kernel/kmod.c | 13 +++++++++++++
9878 2 files changed, 16 insertions(+), 0 deletions(-)
9879
9880 commit 1ae8347eb782c4e961210052e2de554bfdb52980
9881 Author: Brad Spengler <spender@grsecurity.net>
9882 Date: Sat Nov 23 17:20:15 2013 -0500
9883
9884 Produce a UDEREF message when faulting on kernel access to a non-present page in the userland range. This is purely for consistency of logs, due to there being no domain present to fault based on. An "Unable to handle kernel fault.." oops would already (and still is) generated for these cases, triggering grsec's bruteforce prevention.
9885
9886 Reported by acez on IRC
9887
9888 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9889
9890 arch/arm/mm/fault.c | 11 +++++++++++
9891 1 files changed, 11 insertions(+), 0 deletions(-)
9892
9893 commit 71643b46e6b67e76e52153559d0dc4004c402141
9894 Author: Brad Spengler <spender@grsecurity.net>
9895 Date: Sat Nov 23 16:56:46 2013 -0500
9896
9897 Make GRKERNSEC_CHROOT_INITRD depend on the correct initrd option, Also make sure we mark init as run if no initrd was used. Though this should already be enforced in grsec_chroot.c, this should future-proof the feature a bit in case userland somehow changes drastically.
9898
9899 Conflicts:
9900
9901 init/main.c
9902
9903 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9904
9905 grsecurity/Kconfig | 2 +-
9906 grsecurity/grsec_chroot.c | 2 +-
9907 init/main.c | 15 +++++++++++++++
9908 3 files changed, 17 insertions(+), 2 deletions(-)
9909
9910 commit e357e72d769e5c35167e2bf934c722fc825ee2cd
9911 Author: Brad Spengler <spender@grsecurity.net>
9912 Date: Sat Nov 23 16:33:20 2013 -0500
9913
9914 limit all usermode helper binaries to /sbin, all other attempts will be logged and rejected
9915
9916 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9917
9918 kernel/kmod.c | 8 ++++++++
9919 1 files changed, 8 insertions(+), 0 deletions(-)
9920
9921 commit 4ed2dc55aa2344b9ade6cddbe5ee8b51b6239c54
9922 Author: Brad Spengler <spender@grsecurity.net>
9923 Date: Sat Nov 23 16:02:01 2013 -0500
9924
9925 perform USERCOPY kernel text checks against the linear mapping on amd64 as well
9926
9927 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9928
9929 fs/exec.c | 8 ++++++++
9930 1 files changed, 8 insertions(+), 0 deletions(-)
9931
9932 commit 211bbd408a1d7bc2e9ef72df07aa7ce0cbd6c49d
9933 Author: Brad Spengler <spender@grsecurity.net>
9934 Date: Fri Nov 22 20:31:37 2013 -0500
9935
9936 Revert "Upstream commit: bceaa90240b6019ed73b49965eac7d167610be69"
9937
9938 This reverts commit 8bb32f2682953e1b748a59c4a4363b237c3510df.
9939
9940 It caused errors with traceroute, reported to upstream and fixed with
9941 http://patchwork.ozlabs.org/patch/293614/
9942 But there's no reason for us to maintain this backport as we're
9943 already impervious to recvmsg/msg_name infoleaks
9944
9945 Conflicts:
9946
9947 net/ipv4/ping.c
9948
9949 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9950
9951 net/ieee802154/dgram.c | 3 ++-
9952 net/ipv4/ping.c | 11 +++++++++--
9953 net/ipv4/raw.c | 4 +++-
9954 net/ipv4/udp.c | 7 ++++++-
9955 net/ipv6/raw.c | 4 +++-
9956 net/ipv6/udp.c | 5 ++++-
9957 net/l2tp/l2tp_ip.c | 4 +++-
9958 net/phonet/datagram.c | 9 +++++----
9959 8 files changed, 35 insertions(+), 12 deletions(-)
9960
9961 commit 4bd8414bb148cf8681c8f1d2deda5739cafb6917
9962 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
9963 Date: Mon Nov 18 07:07:45 2013 +0100
9964
9965 Upstream commit: cf970c002d270c36202bd5b9c2804d3097a52da0
9966
9967 ping: prevent NULL pointer dereference on write to msg_name
9968
9969 A plain read() on a socket does set msg->msg_name to NULL. So check for
9970 NULL pointer first.
9971
9972 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
9973 Signed-off-by: David S. Miller <davem@davemloft.net>
9974 Signed-off-by: Brad Spengler <spender@grsecurity.net>
9975
9976 net/ipv4/ping.c | 34 +++++++++++++++++++---------------
9977 1 files changed, 19 insertions(+), 15 deletions(-)
9978
9979 commit ccc6e0dd63fc36c5c7fd1bbe4f8fed6533d188a1
9980 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
9981 Date: Mon Nov 18 04:20:45 2013 +0100
9982
9983 Upstream commit: bceaa90240b6019ed73b49965eac7d167610be69
9984
9985 inet: prevent leakage of uninitialized memory to user in recv syscalls
9986
9987 Only update *addr_len when we actually fill in sockaddr, otherwise we
9988 can return uninitialized memory from the stack to the caller in the
9989 recvfrom, recvmmsg and recvmsg syscalls. Drop the the (addr_len == NULL)
9990 checks because we only get called with a valid addr_len pointer either
9991 from sock_common_recvmsg or inet_recvmsg.
9992
9993 If a blocking read waits on a socket which is concurrently shut down we
9994 now return zero and set msg_msgnamelen to 0.
9995
9996 Reported-by: mpb <mpb.mail@gmail.com>
9997 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
9998 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
9999 Signed-off-by: David S. Miller <davem@davemloft.net>
10000 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10001
10002 net/ieee802154/dgram.c | 3 +--
10003 net/ipv4/ping.c | 19 +++++++------------
10004 net/ipv4/raw.c | 4 +---
10005 net/ipv4/udp.c | 7 +------
10006 net/ipv6/raw.c | 4 +---
10007 net/ipv6/udp.c | 5 +----
10008 net/l2tp/l2tp_ip.c | 4 +---
10009 net/phonet/datagram.c | 9 ++++-----
10010 8 files changed, 17 insertions(+), 38 deletions(-)
10011
10012 commit 0db1e136415d5696b2342b953361ef7c3017247d
10013 Author: Jeff Layton <jlayton@redhat.com>
10014 Date: Wed Nov 13 09:08:21 2013 -0500
10015
10016 Upstream commit: 6d769f1e1420179d1f83cf1a9cdc585b46c28545
10017
10018 nfs: don't retry detect_trunking with RPC_AUTH_UNIX more than once
10019
10020 Currently, when we try to mount and get back NFS4ERR_CLID_IN_USE or
10021 NFS4ERR_WRONGSEC, we create a new rpc_clnt and then try the call again.
10022 There is no guarantee that doing so will work however, so we can end up
10023 retrying the call in an infinite loop.
10024
10025 Worse yet, we create the new client using rpc_clone_client_set_auth,
10026 which creates the new client as a child of the old one. Thus, we can end
10027 up with a *very* long lineage of rpc_clnts. When we go to put all of the
10028 references to them, we can end up with a long call chain that can smash
10029 the stack as each rpc_free_client() call can recurse back into itself.
10030
10031 This patch fixes this by simply ensuring that the SETCLIENTID call will
10032 only be retried in this situation if the last attempt did not use
10033 RPC_AUTH_UNIX.
10034
10035 Note too that with this change, we don't need the (i > 2) check in the
10036 -EACCES case since we now have a more reliable test as to whether we
10037 should reattempt.
10038
10039 Cc: stable@vger.kernel.org # v3.10+
10040 Cc: Chuck Lever <chuck.lever@oracle.com>
10041 Tested-by/Acked-by: Weston Andros Adamson <dros@netapp.com>
10042 Signed-off-by: Jeff Layton <jlayton@redhat.com>
10043 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
10044 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10045
10046 fs/nfs/nfs4state.c | 7 ++++++-
10047 1 files changed, 6 insertions(+), 1 deletions(-)
10048
10049 commit 74d59ef1b28635f588c47b270777cd69b0e8291f
10050 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
10051 Date: Tue Nov 12 17:24:36 2013 -0500
10052
10053 Upstream commit: d07ba8422f1e58be94cc98a1f475946dc1b89f1b
10054
10055 SUNRPC: Avoid deep recursion in rpc_release_client
10056
10057 In cases where an rpc client has a parent hierarchy, then
10058 rpc_free_client may end up calling rpc_release_client() on the
10059 parent, thus recursing back into rpc_free_client. If the hierarchy
10060 is deep enough, then we can get into situations where the stack
10061 simply overflows.
10062
10063 The fix is to have rpc_release_client() loop so that it can take
10064 care of the parent rpc client hierarchy without needing to
10065 recurse.
10066
10067 Reported-by: Jeff Layton <jlayton@redhat.com>
10068 Reported-by: Weston Andros Adamson <dros@netapp.com>
10069 Reported-by: Bruce Fields <bfields@fieldses.org>
10070 Link: http://lkml.kernel.org/r/2C73011F-0939-434C-9E4D-13A1EB1403D7@netapp.com
10071 Cc: stable@vger.kernel.org
10072 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
10073 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10074
10075 net/sunrpc/clnt.c | 29 +++++++++++++++++------------
10076 1 files changed, 17 insertions(+), 12 deletions(-)
10077
10078 commit 8ae59cf66f3a302d45578171337df2d8fe35458c
10079 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
10080 Date: Fri Nov 8 16:03:50 2013 -0500
10081
10082 Upstream commit: a6b31d18b02ff9d7915c5898c9b5ca41a798cd73
10083
10084 SUNRPC: Fix a data corruption issue when retransmitting RPC calls
10085
10086 The following scenario can cause silent data corruption when doing
10087 NFS writes. It has mainly been observed when doing database writes
10088 using O_DIRECT.
10089
10090 1) The RPC client uses sendpage() to do zero-copy of the page data.
10091 2) Due to networking issues, the reply from the server is delayed,
10092 and so the RPC client times out.
10093
10094 3) The client issues a second sendpage of the page data as part of
10095 an RPC call retransmission.
10096
10097 4) The reply to the first transmission arrives from the server
10098 _before_ the client hardware has emptied the TCP socket send
10099 buffer.
10100 5) After processing the reply, the RPC state machine rules that
10101 the call to be done, and triggers the completion callbacks.
10102 6) The application notices the RPC call is done, and reuses the
10103 pages to store something else (e.g. a new write).
10104
10105 7) The client NIC drains the TCP socket send buffer. Since the
10106 page data has now changed, it reads a corrupted version of the
10107 initial RPC call, and puts it on the wire.
10108
10109 This patch fixes the problem in the following manner:
10110
10111 The ordering guarantees of TCP ensure that when the server sends a
10112 reply, then we know that the _first_ transmission has completed. Using
10113 zero-copy in that situation is therefore safe.
10114 If a time out occurs, we then send the retransmission using sendmsg()
10115 (i.e. no zero-copy), We then know that the socket contains a full copy of
10116 the data, and so it will retransmit a faithful reproduction even if the
10117 RPC call completes, and the application reuses the O_DIRECT buffer in
10118 the meantime.
10119
10120 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
10121 Cc: stable@vger.kernel.org
10122 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10123
10124 net/sunrpc/xprtsock.c | 28 +++++++++++++++++++++-------
10125 1 files changed, 21 insertions(+), 7 deletions(-)
10126
10127 commit 1a40aeaa23860a26df02c9c8729937b6da2bcdd6
10128 Author: Dan Carpenter <dan.carpenter@oracle.com>
10129 Date: Thu Nov 14 11:21:10 2013 +0300
10130
10131 Upstream commit: f9a23c84486ed350cce7bb1b2828abd1f6658796
10132
10133 isdnloop: use strlcpy() instead of strcpy()
10134
10135 These strings come from a copy_from_user() and there is no way to be
10136 sure they are NUL terminated.
10137
10138 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
10139 Signed-off-by: David S. Miller <davem@davemloft.net>
10140 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10141
10142 drivers/isdn/isdnloop/isdnloop.c | 8 +++++---
10143 1 files changed, 5 insertions(+), 3 deletions(-)
10144
10145 commit a7a1549064b332e878efa22fdebed32035cc8f07
10146 Author: Eric Dumazet <edumazet@google.com>
10147 Date: Thu Nov 14 13:37:54 2013 -0800
10148
10149 Upstream commit: c9e9042994d37cbc1ee538c500e9da1bb9d1bcdf
10150
10151 ipv4: fix possible seqlock deadlock
10152
10153 ip4_datagram_connect() being called from process context,
10154 it should use IP_INC_STATS() instead of IP_INC_STATS_BH()
10155 otherwise we can deadlock on 32bit arches, or get corruptions of
10156 SNMP counters.
10157
10158 Fixes: 584bdf8cbdf6 ("[IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP")
10159 Signed-off-by: Eric Dumazet <edumazet@google.com>
10160 Reported-by: Dave Jones <davej@redhat.com>
10161 Signed-off-by: David S. Miller <davem@davemloft.net>
10162 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10163
10164 net/ipv4/datagram.c | 2 +-
10165 1 files changed, 1 insertions(+), 1 deletions(-)
10166
10167 commit 96b7719c933229c8619f8ad207c141dcc70d546e
10168 Author: Brad Spengler <spender@grsecurity.net>
10169 Date: Thu Nov 14 20:15:51 2013 -0500
10170
10171 GRKERNSEC_HARDEN_IPC should depend on SYSVIPC
10172
10173 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10174
10175 grsecurity/Kconfig | 1 +
10176 1 files changed, 1 insertions(+), 0 deletions(-)
10177
10178 commit 0001071fa9ff6ef9370a370bea51bef2f1e3c2ab
10179 Author: Brad Spengler <spender@grsecurity.net>
10180 Date: Thu Nov 14 19:07:11 2013 -0500
10181
10182 Not necessary since CPU_V6 is the only bool that would select CPU_USE_DOMAINS and that depended on !PAX_KERNEXEC && !PAX_MEMORY_UDEREF, but this helps make it more obvious that while we make use of domains, CPU_USE_DOMAINS is disabled as far as the kernel knows
10183
10184 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10185
10186 arch/arm/mm/Kconfig | 2 +-
10187 1 files changed, 1 insertions(+), 1 deletions(-)
10188
10189 commit 05ae94add600530e3ae98f9a153cb6423b91e46a
10190 Author: Brad Spengler <spender@grsecurity.net>
10191 Date: Thu Nov 14 19:01:59 2013 -0500
10192
10193 Add a new feature: GRKERNSEC_HARDEN_IPC in response to Tim Brown's research on overly-permissive shared memory found in hundreds of areas in Linux distros: http://labs.portcullis.co.uk/whitepapers/memory-squatting-attacks-on-system-v-shared-memory/
10194
10195 Will let this sit in -test for a while to weed out any app incompatibilities
10196
10197 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10198
10199 grsecurity/Kconfig | 17 +++++++++++++++++
10200 grsecurity/Makefile | 2 +-
10201 grsecurity/grsec_init.c | 4 ++++
10202 grsecurity/grsec_ipc.c | 22 ++++++++++++++++++++++
10203 grsecurity/grsec_sysctl.c | 9 +++++++++
10204 include/linux/grinternal.h | 1 +
10205 include/linux/grmsg.h | 1 +
10206 ipc/util.c | 5 +++++
10207 8 files changed, 60 insertions(+), 1 deletions(-)
10208
10209 commit f5be6d902d5b36c0fb40aabb61f686e510a2d887
10210 Author: Brad Spengler <spender@grsecurity.net>
10211 Date: Mon Nov 11 10:48:10 2013 -0500
10212
10213 Fix the overflowable range check just to be correct. Referenced in http://www.x90c.org/advisories/xadv-2013003_linux_kernel.txt but I believe this to be unexploitable due to bounds checks on 'count' from rw_verify_area() in fs/read_write.c
10214
10215 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10216
10217 drivers/video/arcfb.c | 2 +-
10218 1 files changed, 1 insertions(+), 1 deletions(-)
10219
10220 commit e60c412c422f72a52c819465db8b81991d861390
10221 Author: Brad Spengler <spender@grsecurity.net>
10222 Date: Sun Nov 10 22:01:33 2013 -0500
10223
10224 Add missing include
10225
10226 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10227
10228 fs/proc/proc_sysctl.c | 1 +
10229 1 files changed, 1 insertions(+), 0 deletions(-)
10230
10231 commit 17d5ff67a76aab404c8cbe13576d492a7a8b342a
10232 Author: Brad Spengler <spender@grsecurity.net>
10233 Date: Sun Nov 10 17:50:12 2013 -0500
10234
10235 add an option to handle old ARM userlands to properly toggle the KUSER_HELPERS option: GRKERNSEC_OLD_ARM_USERLAND
10236
10237 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10238
10239 arch/arm/mm/Kconfig | 2 +-
10240 grsecurity/Kconfig | 14 ++++++++++++++
10241 2 files changed, 15 insertions(+), 1 deletions(-)
10242
10243 commit b4aa2136272e6b1cdbb285a74ee17471dd679dfa
10244 Author: Brad Spengler <spender@grsecurity.net>
10245 Date: Sun Nov 10 15:19:27 2013 -0500
10246
10247 On ARM (and other arches) we were defaulting mmap_min_addr to 64K if the LSM-based mmap_min_addr was disabled in config. This caused non-root execs to fail in some cases (via SIGKILL during ELF loading). Fix this by setting a proper default on these architectures like set on the LSM-based mmap_min_addr.
10248
10249 Thanks to acez from IRC for debugging.
10250
10251 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10252
10253 mm/Kconfig | 1 +
10254 1 files changed, 1 insertions(+), 0 deletions(-)
10255
10256 commit 197a69f1783917091d60db2a3ffd7ff14d41489d
10257 Author: Brad Spengler <spender@grsecurity.net>
10258 Date: Sun Nov 10 13:54:25 2013 -0500
10259
10260 Compatibility fix for LXC: Don't require CAP_SYS_ADMIN to modify our own net namespace's sysctl values, use a CAP_NET_ADMIN check within the user namespace of the process performing the modification CAP_SYS_ADMIN is still required for any other sysctl modification, including modification of sysctls of a net namespace other than our own
10261
10262 This allows for LXC containers to not need CAP_SYS_ADMIN to be able to set up their namespace's
10263 networking
10264
10265 Thanks to ncopa from IRC for testing
10266
10267 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10268
10269 fs/proc/proc_sysctl.c | 9 +++++++--
10270 1 files changed, 7 insertions(+), 2 deletions(-)
10271
10272 commit 010702a965acb2aea4d81510f99d788ab6564123
10273 Author: Brad Spengler <spender@grsecurity.net>
10274 Date: Wed Nov 6 16:23:36 2013 -0500
10275
10276 Force on DEBUG_LIST so all users can benefit from safe linking/unlinking
10277
10278 Conflicts:
10279
10280 security/Kconfig
10281
10282 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10283
10284 security/Kconfig | 1 +
10285 1 files changed, 1 insertions(+), 0 deletions(-)
10286
10287 commit 09ce0d45a4fc86ca1389260bf28a62f98ccff362
10288 Author: Brad Spengler <spender@grsecurity.net>
10289 Date: Wed Nov 6 16:19:21 2013 -0500
10290
10291 change DEBUG_LIST WARNs back to BUGs so they can benefit from the kernel bruteforce deterrence
10292
10293 Conflicts:
10294
10295 lib/list_debug.c
10296
10297 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10298
10299 lib/list_debug.c | 65 ++++++++++++++++++++++++++++++++++-------------------
10300 1 files changed, 42 insertions(+), 23 deletions(-)
10301
10302 commit 60a1f79d72bdfc2c6aed1be9537559959a0b8b55
10303 Author: Jason Wang <jasowang@redhat.com>
10304 Date: Fri Nov 1 15:01:10 2013 +0800
10305
10306 Upstream commit: 6f092343855a71e03b8d209815d8c45bf3a27fcd
10307
10308 net: flow_dissector: fail on evil iph->ihl
10309
10310 We don't validate iph->ihl which may lead a dead loop if we meet a IPIP
10311 skb whose iph->ihl is zero. Fix this by failing immediately when iph->ihl
10312 is evil (less than 5).
10313
10314 This issue were introduced by commit ec5efe7946280d1e84603389a1030ccec0a767ae
10315 (rps: support IPIP encapsulation).
10316
10317 Cc: Eric Dumazet <edumazet@google.com>
10318 Cc: Petr Matousek <pmatouse@redhat.com>
10319 Cc: Michael S. Tsirkin <mst@redhat.com>
10320 Cc: Daniel Borkmann <dborkman@redhat.com>
10321 Signed-off-by: Jason Wang <jasowang@redhat.com>
10322 Acked-by: Eric Dumazet <edumazet@google.com>
10323 Signed-off-by: David S. Miller <davem@davemloft.net>
10324 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10325
10326 net/core/flow_dissector.c | 2 +-
10327 1 files changed, 1 insertions(+), 1 deletions(-)
10328
10329 commit 9743a1eca0b0172da4ec07bc07fa30fcccb9fba7
10330 Author: Linus Torvalds <torvalds@linux-foundation.org>
10331 Date: Tue Oct 29 10:21:34 2013 -0700
10332
10333 Fixed a little differently than Linus...
10334
10335 Obfuscated upstream security commit: 7314e613d5ff9f0934f7a0f74ed7973b903315d1
10336
10337 Fix a few incorrectly checked [io_]remap_pfn_range() calls
10338
10339 Nico Golde reports a few straggling uses of [io_]remap_pfn_range() that
10340 really should use the vm_iomap_memory() helper. This trivially converts
10341 two of them to the helper, and comments about why the third one really
10342 needs to continue to use remap_pfn_range(), and adds the missing size
10343 check.
10344
10345 Reported-by: Nico Golde <nico@ngolde.de>
10346 Cc: stable@kernel.org
10347 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org.
10348
10349 Conflicts:
10350
10351 drivers/uio/uio.c
10352 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10353
10354 drivers/uio/uio.c | 6 +++++-
10355 1 files changed, 5 insertions(+), 1 deletions(-)
10356
10357 commit 187b4936fbaaafd087556919bae3b719e67536b8
10358 Author: Brad Spengler <spender@grsecurity.net>
10359 Date: Wed Oct 16 18:36:25 2013 -0400
10360
10361 From: Mathias Krause <minipli@googlemail.com> To: linux-audit@redhat.com Cc: Mathias Krause <minipli@googlemail.com>, Al Viro <viro@zeniv.linux.org.uk>, Eric Paris <eparis@redhat.com> Subject: [PATCH 1/2] audit: fix info leak in AUDIT_GET requests
10362
10363 We leak 4 bytes of kernel stack in response to an AUDIT_GET request as
10364 we miss to initialize the mask member of status_set. Fix that.
10365
10366 Cc: Al Viro <viro@zeniv.linux.org.uk>
10367 Cc: Eric Paris <eparis@redhat.com>
10368 Cc: stable@vger.kernel.org # v2.6.6+
10369 Signed-off-by: Mathias Krause <minipli@googlemail.com>
10370 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10371
10372 kernel/audit.c | 1 +
10373 1 files changed, 1 insertions(+), 0 deletions(-)
10374
10375 commit 0e48ab30113de43958987e9f0d20fb816892c090
10376 Author: Brad Spengler <spender@grsecurity.net>
10377 Date: Wed Oct 16 19:02:32 2013 -0400
10378
10379 add 2nd chunk of audit nlmsg_len() fix from minipli
10380
10381 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10382
10383 kernel/audit.c | 2 +-
10384 1 files changed, 1 insertions(+), 1 deletions(-)
10385
10386 commit b5e6b4bcb3a38c94605e9fa68d6c5936438fb0d8
10387 Author: Brad Spengler <spender@grsecurity.net>
10388 Date: Wed Oct 16 18:37:59 2013 -0400
10389
10390 From: Mathias Krause <minipli@googlemail.com> To: linux-audit@redhat.com Cc: Mathias Krause <minipli@googlemail.com>, Al Viro <viro@zeniv.linux.org.uk>, Eric Paris <eparis@redhat.com> Subject: [PATCH 2/2] audit: use nlmsg_len() to get message payload length
10391
10392 Using the nlmsg_len member of the netlink header to test if the message
10393 is valid is wrong as it includes the size of the netlink header itself.
10394 Thereby allowing to send short netlink messages that pass those checks.
10395
10396 Use nlmsg_len() instead to test for the right message length. The result
10397 of nlmsg_len() is guaranteed to be non-negative as the netlink message
10398 already passed the checks of nlmsg_ok().
10399
10400 Also switch to min_t() to please checkpatch.pl.
10401
10402 Cc: Al Viro <viro@zeniv.linux.org.uk>
10403 Cc: Eric Paris <eparis@redhat.com>
10404 Cc: stable@vger.kernel.org # v2.6.6+ for the 1st hunk, v2.6.23+ for the 2nd
10405
10406 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10407
10408 kernel/audit.c | 2 +-
10409 1 files changed, 1 insertions(+), 1 deletions(-)
10410
10411 commit dfb491ad409ee7efadcb00041cd31e9e411efebb
10412 Author: Brad Spengler <spender@grsecurity.net>
10413 Date: Wed Oct 16 18:41:01 2013 -0400
10414
10415 From: Mathias Krause <minipli@googlemail.com> To: netfilter-devel@vger.kernel.org Cc: Mathias Krause <minipli@googlemail.com>, Pablo Neira Ayuso <pablo@netfilter.org>, Patrick McHardy <kaber@trash.net>, Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>, Bart De Schuymer <bart.de.schuymer@pandora.be> Subject: [PATCH 1/2] netfilter: ebt_ulog: fix info leaks
10416
10417 The ulog messages leak heap bytes by the means of padding bytes and
10418 incompletely filled string arrays. Fix those by memset(0)'ing the
10419 whole struct before filling it.
10420
10421 Cc: Bart De Schuymer <bart.de.schuymer@pandora.be>
10422 Signed-off-by: Mathias Krause <minipli@googlemail.com>
10423
10424 Conflicts:
10425
10426 net/bridge/netfilter/ebt_ulog.c
10427 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10428
10429 net/bridge/netfilter/ebt_ulog.c | 9 +++------
10430 1 files changed, 3 insertions(+), 6 deletions(-)
10431
10432 commit 637ef6f911201af0136b794b5b602eb14efb6b7c
10433 Author: Brad Spengler <spender@grsecurity.net>
10434 Date: Wed Oct 16 18:43:01 2013 -0400
10435
10436 From: Mathias Krause <minipli@googlemail.com> To: netfilter-devel@vger.kernel.org Cc: Mathias Krause <minipli@googlemail.com>, Pablo Neira Ayuso <pablo@netfilter.org>, Patrick McHardy <kaber@trash.net>, Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> Subject: [PATCH 2/2] netfilter: ipt_ULOG: fix info leaks
10437
10438 The ulog messages leak heap bytes by the means of padding bytes and
10439 incompletely filled string arrays. Fix those by memset(0)'ing the
10440 whole struct before filling it.
10441
10442 Cc: Pablo Neira Ayuso <pablo@netfilter.org>
10443 Cc: Patrick McHardy <kaber@trash.net>
10444 Cc: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
10445 Signed-off-by: Mathias Krause <minipli@googlemail.com>
10446
10447 Conflicts:
10448
10449 net/ipv4/netfilter/ipt_ULOG.c
10450 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10451
10452 net/ipv4/netfilter/ipt_ULOG.c | 7 +------
10453 1 files changed, 1 insertions(+), 6 deletions(-)
10454
10455 commit 103af82880576436f1fceafec93da69f0d55d019
10456 Author: Brad Spengler <spender@grsecurity.net>
10457 Date: Fri Sep 27 21:06:17 2013 -0400
10458
10459 Don't log attempts to create a socket with a family that the kernel doesn't support Further, if the kernel doesn't support the socket family, instead of returning -EACCES, return -EAFNOSUPPORT -- should resolve the need to allow ipv6 sockets in RBAC policy despite a kernel that doesn't support ipv6 observed during a Debian userland update necessitating a policy change
10460
10461 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10462
10463 grsecurity/gracl_ip.c | 7 +++----
10464 net/socket.c | 26 +++++++++++++++-----------
10465 2 files changed, 18 insertions(+), 15 deletions(-)
10466
10467 commit 7749496c3667613ea505823948c0f4f4d9c1d90c
10468 Author: Brad Spengler <spender@grsecurity.net>
10469 Date: Sun Sep 22 18:14:07 2013 -0400
10470
10471 Revert "Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db"
10472
10473 This reverts commit 7a430f97a2f6538693cb8e354c67c874f24c5ebf.
10474
10475 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10476
10477 net/netlink/genetlink.c | 7 -------
10478 1 files changed, 0 insertions(+), 7 deletions(-)
10479
10480 commit 4463e68a60d4fb557d37f993f42e3039041550fc
10481 Author: Brad Spengler <spender@grsecurity.net>
10482 Date: Sun Sep 15 09:19:21 2013 -0400
10483
10484 remove unnecessary check from when protocol was signed
10485
10486 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10487
10488 net/phonet/af_phonet.c | 2 +-
10489 1 files changed, 1 insertions(+), 1 deletions(-)
10490
10491 commit efafe8039b3287f73e0abcb4f7be18e83a5c9a2e
10492 Author: Brad Spengler <spender@grsecurity.net>
10493 Date: Sun Sep 15 08:53:27 2013 -0400
10494
10495 resync with PaX
10496
10497 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10498
10499 security/selinux/hooks.c | 2 ++
10500 1 files changed, 2 insertions(+), 0 deletions(-)
10501
10502 commit 79b41d988ecb86d7dd46f3319b50f4c4d46e65a7
10503 Author: Brad Spengler <spender@grsecurity.net>
10504 Date: Sat Sep 14 21:12:45 2013 -0400
10505
10506 Fix invalid dependency causing warning: warning: (DEBUG_WW_MUTEX_SLOWPATH) selects DEBUG_LOCK_ALLOC which has unmet direct dependencies (DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT && !PAX_CONSTIFY_PLUGIN)
10507
10508 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10509
10510 lib/Kconfig.debug | 2 +-
10511 1 files changed, 1 insertions(+), 1 deletions(-)
10512
10513 commit 0f3840d1103e4bf77d4e2098afc4750bb6440ecc
10514 Author: Brad Spengler <spender@grsecurity.net>
10515 Date: Sat Sep 14 19:16:48 2013 -0400
10516
10517 Fix a bad git merge, re-applied a previously reverted patch
10518
10519 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10520
10521 arch/x86/include/asm/processor.h | 4 ++--
10522 arch/x86/kernel/cpu/common.c | 2 +-
10523 arch/x86/kernel/process_64.c | 2 +-
10524 arch/x86/kernel/smpboot.c | 2 +-
10525 arch/x86/xen/smp.c | 2 +-
10526 5 files changed, 6 insertions(+), 6 deletions(-)
10527
10528 commit c5f66cfeabad4b64a521d1442f7ea9149c011320
10529 Author: Brad Spengler <spender@grsecurity.net>
10530 Date: Sat Sep 14 16:56:37 2013 -0400
10531
10532 finish porting namei.c
10533
10534 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10535
10536 fs/namei.c | 50 +++++++++++---------------------------------------
10537 1 files changed, 11 insertions(+), 39 deletions(-)
10538
10539 commit c264c5b4c33c462b41d224091602fe5c9acb163b
10540 Author: Brad Spengler <spender@grsecurity.net>
10541 Date: Sat Sep 14 16:44:08 2013 -0400
10542
10543 cred->user -> current_user()
10544
10545 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10546
10547 fs/exec.c | 2 +-
10548 1 files changed, 1 insertions(+), 1 deletions(-)
10549
10550 commit af7bdc7d41a1a8b631802772088968ceacd0d6b4
10551 Author: Brad Spengler <spender@grsecurity.net>
10552 Date: Sat Sep 14 16:36:24 2013 -0400
10553
10554 Fix GRKERNSEC_DENYUSB dependency as reported by Victor Roman of Funtoo Linux
10555
10556 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10557
10558 grsecurity/Kconfig | 3 ++-
10559 1 files changed, 2 insertions(+), 1 deletions(-)
10560
10561 commit 00eb4028fcc737e2451332e3177705913c9b1bb1
10562 Author: Brad Spengler <spender@grsecurity.net>
10563 Date: Thu Sep 5 19:36:23 2013 -0400
10564
10565 fix dependencies for GRKERNSEC_ROFS / GRKERNSEC_DENYUSB
10566
10567 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10568
10569 grsecurity/Kconfig | 3 ++-
10570 1 files changed, 2 insertions(+), 1 deletions(-)
10571
10572 commit 7adc4a28e2a0ef38f89bbd648a2e1ba70cad852e
10573 Author: Brad Spengler <spender@grsecurity.net>
10574 Date: Thu Sep 5 19:17:02 2013 -0400
10575
10576 Allow the deny_new_usb sysctl to be toggled off by a user with CAP_SYS_ADMIN. This allows for more inventive uses of the feature that would be impossible otherwise (like toggling it while the screen is locked, etc)
10577
10578 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10579
10580 grsecurity/grsec_sysctl.c | 4 +---
10581 1 files changed, 1 insertions(+), 3 deletions(-)
10582
10583 commit 472e0e1d1516b3002ce1e256dfcd58701358d5f8
10584 Author: Brad Spengler <spender@grsecurity.net>
10585 Date: Thu Sep 5 18:41:49 2013 -0400
10586
10587 Add a new GRKERNSEC_DENYUSB_FORCE option that achieves what GRKERNSEC_DENYUSB does without the need for a sysctl toggle, for users who know they want the functionality but don't want to bother with modifying init scripts
10588
10589 Also eliminate reset_security_ops() as a ROP target when
10590 SECURITY_SELINUX_DISABLE is disabled as it's the only user
10591
10592 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10593
10594 grsecurity/Kconfig | 17 ++++++++++++++++-
10595 grsecurity/grsec_init.c | 3 +++
10596 grsecurity/grsec_sysctl.c | 2 +-
10597 3 files changed, 20 insertions(+), 2 deletions(-)
10598
10599 commit 92745146ec948d5761ac00f98c4a1612c8e6037e
10600 Author: Brad Spengler <spender@grsecurity.net>
10601 Date: Fri Aug 30 17:11:11 2013 -0400
10602
10603 fix compilation with GRKERNSEC_DENYUSB as reported by slashbeast
10604
10605 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10606
10607 grsecurity/grsec_sysctl.c | 7 ++++---
10608 1 files changed, 4 insertions(+), 3 deletions(-)
10609
10610 commit eac5b7076235de7b21757cab257415ab779cc7c8
10611 Author: Brad Spengler <spender@grsecurity.net>
10612 Date: Wed Aug 28 20:42:39 2013 -0400
10613
10614 add export of gr_handle_new_usb()
10615
10616 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10617
10618 grsecurity/grsec_usb.c | 2 ++
10619 1 files changed, 2 insertions(+), 0 deletions(-)
10620
10621 commit 8e4ea40613a9763d1dc128fdf29c0279001b5e04
10622 Author: Brad Spengler <spender@grsecurity.net>
10623 Date: Wed Aug 28 19:24:47 2013 -0400
10624
10625 Add new GRKERNSEC_DENYUSB feature that I've been sitting on for a bit Kees' recent findings are motivation enough to publish it
10626
10627 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10628
10629 drivers/usb/core/hub.c | 5 +++++
10630 grsecurity/Kconfig | 20 ++++++++++++++++++++
10631 grsecurity/Makefile | 3 ++-
10632 grsecurity/grsec_init.c | 1 +
10633 grsecurity/grsec_sysctl.c | 11 +++++++++++
10634 grsecurity/grsec_usb.c | 13 +++++++++++++
10635 include/linux/grinternal.h | 1 +
10636 include/linux/grsecurity.h | 2 ++
10637 8 files changed, 55 insertions(+), 1 deletions(-)
10638
10639 commit 0996966348dc3c3f7515567d3245292785d484fc
10640 Author: Kees Cook <keescook@chromium.org>
10641 Date: Wed Aug 14 09:14:34 2013 -0700
10642
10643 HID: steelseries: validate output report details
10644
10645 A HID device could send a malicious output report that would cause the
10646 steelseries HID driver to write beyond the output report allocation
10647 during initialization, causing a heap overflow:
10648
10649 [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410
10650 ...
10651 [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten
10652
10653 CVE-2013-2891
10654
10655 Signed-off-by: Kees Cook <keescook@chromium.org>
10656 Cc: stable@kernel.org
10657 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10658
10659 drivers/hid/hid-steelseries.c | 5 +++++
10660 1 files changed, 5 insertions(+), 0 deletions(-)
10661
10662 commit 91bfda18a5711db32c984c632f47fa57458d993a
10663 Author: Kees Cook <keescook@chromium.org>
10664 Date: Thu Aug 15 23:21:23 2013 -0700
10665
10666 HID: lenovo-tpkbd: validate output report details
10667
10668 A HID device could send a malicious output report that would cause the
10669 lenovo-tpkbd HID driver to write just beyond the output report allocation
10670 during initialization, causing a heap overflow:
10671
10672 [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009
10673 ...
10674 [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
10675
10676 CVE-2013-2894
10677
10678 Signed-off-by: Kees Cook <keescook@chromium.org>
10679 Cc: stable@kernel.org
10680 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10681
10682 drivers/hid/hid-lenovo-tpkbd.c | 5 +++++
10683 1 files changed, 5 insertions(+), 0 deletions(-)
10684
10685 commit 8aeb7645473b408fc6b2bd78a72671351fc8e684
10686 Author: Kees Cook <keescook@chromium.org>
10687 Date: Fri Aug 16 00:11:32 2013 -0700
10688
10689 HID: multitouch: validate feature report details
10690
10691 When working on report indexes, always validate that they are in bounds.
10692 Without this, a HID device could report a malicious feature report that
10693 could trick the driver into a heap overflow:
10694
10695 [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500
10696 ...
10697 [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
10698
10699 CVE-2013-2897
10700
10701 Signed-off-by: Kees Cook <keescook@chromium.org>
10702 Cc: stable@kernel.org
10703 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10704
10705 drivers/hid/hid-multitouch.c | 25 ++++++++++++++++++++-----
10706 1 files changed, 20 insertions(+), 5 deletions(-)
10707
10708 commit 1a624940a4733c04c0f997820c1dcd1eebfcd5bc
10709 Author: Brad Spengler <spender@grsecurity.net>
10710 Date: Mon Aug 19 22:10:04 2013 -0400
10711
10712 fix bad git merge (call to __cpu_disable_lazy_restore was duplicated) as reported by pipacs
10713
10714 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10715
10716 arch/x86/kernel/smpboot.c | 3 ---
10717 1 files changed, 0 insertions(+), 3 deletions(-)
10718
10719 commit acca67efb4aeee03672b5d2947da311dcfc2a1d6
10720 Author: Brad Spengler <spender@grsecurity.net>
10721 Date: Sat Aug 17 12:00:20 2013 -0400
10722
10723 make kallsyms_lookup_size_offset available to approved source files
10724
10725 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10726
10727 include/linux/kallsyms.h | 3 +++
10728 1 files changed, 3 insertions(+), 0 deletions(-)
10729
10730 commit cb33df1c5ce5f74fcb7d4a2f5b2d07d54d4e1fd8
10731 Author: Brad Spengler <spender@grsecurity.net>
10732 Date: Sat Aug 17 11:18:09 2013 -0400
10733
10734 allow use of kallsyms_lookup_name to approved source files
10735
10736 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10737
10738 include/linux/kallsyms.h | 1 +
10739 1 files changed, 1 insertions(+), 0 deletions(-)
10740
10741 commit 72e55282becb58c925f9034fe717cad96f7fc51d
10742 Author: Johannes Berg <johannes.berg@intel.com>
10743 Date: Tue Aug 13 09:04:05 2013 +0200
10744
10745 Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db
10746
10747 genetlink: fix family dump race
10748
10749 When dumping generic netlink families, only the first dump call
10750 is locked with genl_lock(), which protects the list of families,
10751 and thus subsequent calls can access the data without locking,
10752 racing against family addition/removal. This can cause a crash.
10753 Fix it - the locking needs to be conditional because the first
10754 time around it's already locked.
10755
10756 A similar bug was reported to me on an old kernel (3.4.47) but
10757 the exact scenario that happened there is no longer possible,
10758 on those kernels the first round wasn't locked either. Looking
10759 at the current code I found the race described above, which had
10760 also existed on the old kernel.
10761
10762 Cc: stable@vger.kernel.org
10763 Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
10764 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
10765 Signed-off-by: David S. Miller <davem@davemloft.net>
10766 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10767
10768 net/netlink/genetlink.c | 7 +++++++
10769 1 files changed, 7 insertions(+), 0 deletions(-)
10770
10771 commit 2f8d8b1de901cce7ac5a5dc4f3b8731ba58653d9
10772 Author: Brad Spengler <spender@grsecurity.net>
10773 Date: Sat Aug 17 08:58:34 2013 -0400
10774
10775 Fix two harmless compiler warnings
10776
10777 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10778
10779 arch/arm/kernel/process.c | 4 ++--
10780 fs/exec.c | 2 +-
10781 2 files changed, 3 insertions(+), 3 deletions(-)
10782
10783 commit c414e04ef91fca7dfd260ae307272b1b9a29d1bd
10784 Author: Brad Spengler <spender@grsecurity.net>
10785 Date: Fri Aug 16 22:46:01 2013 -0400
10786
10787 Fix HIDESYM compatibility with kprobes, as reported by feandil at: http://forums.grsecurity.net/viewtopic.php?t=3701&p=13376#p13376
10788
10789 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10790
10791 include/linux/kallsyms.h | 2 +-
10792 kernel/kprobes.c | 3 +++
10793 2 files changed, 4 insertions(+), 1 deletions(-)
10794
10795 commit b11ccf0d90b1244a91e0422ecd1a1b4918384ff7
10796 Author: Brad Spengler <spender@grsecurity.net>
10797 Date: Sat Aug 10 09:41:40 2013 -0400
10798
10799 propagate the threadstack offset through to the topdown/bottomup allocators on sparc64 hugepages
10800
10801 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10802
10803 arch/sparc/mm/hugetlbpage.c | 12 ++++++++----
10804 1 files changed, 8 insertions(+), 4 deletions(-)
10805
10806 commit 81c244a4d186918eb5bde824945878803fb5aeeb
10807 Author: Brad Spengler <spender@grsecurity.net>
10808 Date: Mon Aug 5 17:58:42 2013 -0400
10809
10810 Disable RANDKSTACK for a VirtualBox host as mentioned on the gentoo-hardened bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=382793
10811
10812 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10813
10814 security/Kconfig | 2 +-
10815 1 files changed, 1 insertions(+), 1 deletions(-)
10816
10817 commit 0f32f992d91442e87628fa805f488c2431930df7
10818 Author: Brad Spengler <spender@grsecurity.net>
10819 Date: Mon Aug 5 17:26:40 2013 -0400
10820
10821 Move user namespace capability check to shared create_user_ns code so we cover unshare() as well.
10822
10823 Also kill a trivial 1-line, 22-character upstream kernel DoS, thanks to
10824 user namespaces!
10825
10826 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10827
10828 kernel/fork.c | 17 -----------------
10829 kernel/user_namespace.c | 15 +++++++++++++++
10830 2 files changed, 15 insertions(+), 17 deletions(-)
10831
10832 commit b570e8d61ff1670d0737acd9919316ac32fce732
10833 Author: Brad Spengler <spender@grsecurity.net>
10834 Date: Mon Aug 5 16:05:41 2013 -0400
10835
10836 silence a warning on older gcc
10837
10838 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10839
10840 grsecurity/gracl.c | 2 +-
10841 1 files changed, 1 insertions(+), 1 deletions(-)
10842
10843 commit f580da3b1ddbecc3f65a7957986742bea34c5851
10844 Author: Brad Spengler <spender@grsecurity.net>
10845 Date: Sat Aug 3 08:31:08 2013 -0400
10846
10847 we only care about mmaps of the beginning of an ELF, filter out all others as suggested by pipacs
10848
10849 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10850
10851 mm/mmap.c | 2 +-
10852 1 files changed, 1 insertions(+), 1 deletions(-)
10853
10854 commit a2b23c36d322e9ebea5621652b77ad2569a3826d
10855 Author: Brad Spengler <spender@grsecurity.net>
10856 Date: Fri Aug 2 23:54:51 2013 -0400
10857
10858 add include
10859
10860 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10861
10862 grsecurity/grsec_log.c | 1 +
10863 1 files changed, 1 insertions(+), 0 deletions(-)
10864
10865 commit ecb7724fd1bcd4fa57059d6297d4f74d4ec93fe6
10866 Author: Brad Spengler <spender@grsecurity.net>
10867 Date: Fri Aug 2 23:49:13 2013 -0400
10868
10869 fix compilation
10870
10871 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10872
10873 include/linux/grinternal.h | 3 ++-
10874 1 files changed, 2 insertions(+), 1 deletions(-)
10875
10876 commit a2d7b00383303a5d537e64519dbd31d51645d28e
10877 Author: Brad Spengler <spender@grsecurity.net>
10878 Date: Fri Aug 2 23:34:35 2013 -0400
10879
10880 Improve PaX reporting (tells when anon mapping is stack or heap) Remove textrel logging option, combine into rwx logging option Enhance RWX logging option to display when PT_GNU_STACK-enabled library is loaded under an MPROTECTed binary Enhance RWX mprotect logging to display stack/heap instead of just anon mapping
10881
10882 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10883
10884 fs/binfmt_elf.c | 37 +++++++++++++++++++++++++++++++++++++
10885 fs/exec.c | 4 ++++
10886 grsecurity/Kconfig | 21 +++++----------------
10887 grsecurity/grsec_init.c | 4 ----
10888 grsecurity/grsec_log.c | 14 ++++++++++++++
10889 grsecurity/grsec_pax.c | 19 ++++++++++++++-----
10890 grsecurity/grsec_sysctl.c | 9 ---------
10891 include/linux/binfmts.h | 1 +
10892 include/linux/grinternal.h | 2 +-
10893 include/linux/grmsg.h | 3 ++-
10894 include/linux/grsecurity.h | 3 ++-
10895 mm/mmap.c | 7 +++++++
10896 mm/mprotect.c | 2 +-
10897 13 files changed, 88 insertions(+), 38 deletions(-)
10898
10899 commit 9513c974076339e5b4ba8974b50fd3e9fe18a0d8
10900 Author: Brad Spengler <spender@grsecurity.net>
10901 Date: Thu Aug 1 18:52:02 2013 -0400
10902
10903 add missing #define
10904
10905 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10906
10907 grsecurity/gracl.c | 1 +
10908 1 files changed, 1 insertions(+), 0 deletions(-)
10909
10910 commit 97af65d0dbfaf8680a7f9a17c45a10892fe907d0
10911 Author: Brad Spengler <spender@grsecurity.net>
10912 Date: Thu Aug 1 18:43:53 2013 -0400
10913
10914 fix compilation for !COMPAT as reported on the forums
10915
10916 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10917
10918 grsecurity/gracl.c | 195 ++++++++++++++++++++++++++--------------------------
10919 1 files changed, 97 insertions(+), 98 deletions(-)
10920
10921 commit b2362a07aecb8b86d3dd5e0696ea6dc546ea3144
10922 Author: Brad Spengler <spender@grsecurity.net>
10923 Date: Wed Jul 31 17:47:20 2013 -0400
10924
10925 Revert "revert recent PaX change that causes boot failures with 32bit userland"
10926
10927 This reverts commit 23278a1ee1c7738dd1e7005241394d32b82196e4.
10928
10929 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10930
10931 arch/x86/include/asm/processor.h | 4 ++--
10932 arch/x86/kernel/cpu/common.c | 2 +-
10933 arch/x86/kernel/process_64.c | 2 +-
10934 arch/x86/kernel/smpboot.c | 2 +-
10935 arch/x86/xen/smp.c | 2 +-
10936 5 files changed, 6 insertions(+), 6 deletions(-)
10937
10938 commit 9c0a788e099e0a78bb83961bf02d82ac2c32e21c
10939 Author: Brad Spengler <spender@grsecurity.net>
10940 Date: Wed Jul 31 16:26:58 2013 -0400
10941
10942 compile fix for !COMPAT as mentioned on forums
10943
10944 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10945
10946 grsecurity/gracl.c | 2 ++
10947 1 files changed, 2 insertions(+), 0 deletions(-)
10948
10949 commit 1975575638ae15faba25f749a9040345a73e12e1
10950 Author: Brad Spengler <spender@grsecurity.net>
10951 Date: Tue Jul 30 22:33:14 2013 -0400
10952
10953 perform compat conversion of rlimit infinity
10954
10955 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10956
10957 grsecurity/gracl_compat.c | 10 ++++++++--
10958 1 files changed, 8 insertions(+), 2 deletions(-)
10959
10960 commit 1282e76e8da58821760a5519cd7bd2510ad7deaf
10961 Author: Brad Spengler <spender@grsecurity.net>
10962 Date: Tue Jul 30 22:21:40 2013 -0400
10963
10964 remove debugging
10965
10966 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10967
10968 grsecurity/gracl_compat.c | 44 +++++++++++---------------------------------
10969 1 files changed, 11 insertions(+), 33 deletions(-)
10970
10971 commit 6aa728a7c77d5fe62dd0b731e76b518f85db7808
10972 Author: Brad Spengler <spender@grsecurity.net>
10973 Date: Tue Jul 30 22:20:32 2013 -0400
10974
10975 eliminate compat_dev_t
10976
10977 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10978
10979 include/linux/gracl_compat.h | 4 ++--
10980 1 files changed, 2 insertions(+), 2 deletions(-)
10981
10982 commit 176f65b9498eb83576294934d94bb80f3830e99a
10983 Author: Brad Spengler <spender@grsecurity.net>
10984 Date: Tue Jul 30 22:13:22 2013 -0400
10985
10986 fix compat rlimit size
10987
10988 Signed-off-by: Brad Spengler <spender@grsecurity.net>
10989
10990 grsecurity/gracl_compat.c | 68 +++++++++++++++++++++++++++++-------------
10991 include/linux/gracl_compat.h | 4 +-
10992 2 files changed, 49 insertions(+), 23 deletions(-)
10993
10994 commit f039eddf22e143d336421325eb689a76227956b3
10995 Author: Brad Spengler <spender@grsecurity.net>
10996 Date: Tue Jul 30 21:20:18 2013 -0400
10997
10998 compile fix
10999
11000 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11001
11002 grsecurity/gracl.c | 4 ++--
11003 1 files changed, 2 insertions(+), 2 deletions(-)
11004
11005 commit 4594be163c41c9a400f0b377e6c35d8fb5599387
11006 Author: Brad Spengler <spender@grsecurity.net>
11007 Date: Tue Jul 30 21:14:29 2013 -0400
11008
11009 copy correct pointer size in new compat code
11010
11011 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11012
11013 grsecurity/gracl.c | 8 ++++----
11014 grsecurity/gracl_compat.c | 4 ++--
11015 2 files changed, 6 insertions(+), 6 deletions(-)
11016
11017 commit 54a18c9ea152b14381ed3fb4b0a86ef78bd611af
11018 Author: Brad Spengler <spender@grsecurity.net>
11019 Date: Tue Jul 30 19:15:50 2013 -0400
11020
11021 compile fix
11022
11023 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11024
11025 grsecurity/gracl_compat.c | 6 ++++++
11026 1 files changed, 6 insertions(+), 0 deletions(-)
11027
11028 commit 166e0c9ff369a931bec65abda32811bb0b548506
11029 Author: Brad Spengler <spender@grsecurity.net>
11030 Date: Tue Jul 30 19:12:46 2013 -0400
11031
11032 remove BUILD_BUG_ONs
11033
11034 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11035
11036 grsecurity/gracl_compat.c | 20 --------------------
11037 1 files changed, 0 insertions(+), 20 deletions(-)
11038
11039 commit ee1e4712f5b32f43da0130efedbeb158d7f63562
11040 Author: Brad Spengler <spender@grsecurity.net>
11041 Date: Tue Jul 30 00:18:36 2013 -0400
11042
11043 compile fixes
11044
11045 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11046
11047 grsecurity/gracl_compat.c | 8 ++++----
11048 include/linux/gracl_compat.h | 2 +-
11049 2 files changed, 5 insertions(+), 5 deletions(-)
11050
11051 commit a629a151f557380fed415b226fe5e0e234a285eb
11052 Author: Brad Spengler <spender@grsecurity.net>
11053 Date: Tue Jul 30 00:16:42 2013 -0400
11054
11055 compile fixes
11056
11057 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11058
11059 grsecurity/gracl.c | 4 ++--
11060 grsecurity/gracl_compat.c | 2 +-
11061 2 files changed, 3 insertions(+), 3 deletions(-)
11062
11063 commit 218c33ffd6a34fe09037784138dda02b817c1c20
11064 Author: Brad Spengler <spender@grsecurity.net>
11065 Date: Tue Jul 30 00:13:51 2013 -0400
11066
11067 compile fixes
11068
11069 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11070
11071 grsecurity/gracl.c | 8 ++++----
11072 1 files changed, 4 insertions(+), 4 deletions(-)
11073
11074 commit e7291feaff2e3dd3d4d01016419cc1dd16ab9658
11075 Author: Brad Spengler <spender@grsecurity.net>
11076 Date: Tue Jul 30 00:11:03 2013 -0400
11077
11078 compile fixes
11079
11080 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11081
11082 grsecurity/gracl_compat.c | 3 +++
11083 1 files changed, 3 insertions(+), 0 deletions(-)
11084
11085 commit 527c8e008b6729ad595c652119128c0a858c0f7e
11086 Author: Brad Spengler <spender@grsecurity.net>
11087 Date: Tue Jul 30 00:08:21 2013 -0400
11088
11089 more compile fixes
11090
11091 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11092
11093 grsecurity/gracl.c | 28 ++++++++++++++--------------
11094 1 files changed, 14 insertions(+), 14 deletions(-)
11095
11096 commit 0a6c24237be46318780bd5aa0a0c37837336e40a
11097 Author: Brad Spengler <spender@grsecurity.net>
11098 Date: Mon Jul 29 23:59:50 2013 -0400
11099
11100 more compile fixes
11101
11102 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11103
11104 grsecurity/gracl.c | 10 +++++++++-
11105 1 files changed, 9 insertions(+), 1 deletions(-)
11106
11107 commit 0c11bf85db37db5667cfb61caf0c72e8437e4197
11108 Author: Brad Spengler <spender@grsecurity.net>
11109 Date: Mon Jul 29 23:56:47 2013 -0400
11110
11111 additional compile fixes
11112
11113 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11114
11115 grsecurity/gracl.c | 59 +++++++++++++++++++++++++++++++++++++++++++--------
11116 1 files changed, 49 insertions(+), 10 deletions(-)
11117
11118 commit c32fb26e578c2b1b98654e72ceeafc58906acf06
11119 Author: Brad Spengler <spender@grsecurity.net>
11120 Date: Mon Jul 29 23:47:15 2013 -0400
11121
11122 fix typo
11123
11124 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11125
11126 grsecurity/gracl.c | 2 +-
11127 1 files changed, 1 insertions(+), 1 deletions(-)
11128
11129 commit 80bb153435dac25476b0da4a61238b229ba2b631
11130 Author: Brad Spengler <spender@grsecurity.net>
11131 Date: Mon Jul 29 23:46:59 2013 -0400
11132
11133 compile fixes
11134
11135 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11136
11137 grsecurity/gracl.c | 53 ++++++++++++++++++++++++++++++++++++++-------------
11138 1 files changed, 39 insertions(+), 14 deletions(-)
11139
11140 commit d7f8a40e0fc1dc1466a271ac33074b6f90226a1a
11141 Author: Brad Spengler <spender@grsecurity.net>
11142 Date: Mon Jul 29 23:22:44 2013 -0400
11143
11144 Initial commit of compat RBAC loading Permits 32bit gradm to load policy for a 64bit kernel
11145
11146 Also removed code duplication for copying strings into the kernel
11147
11148 Work performed as part of sponsorship
11149
11150 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11151
11152 grsecurity/Makefile | 4 +
11153 grsecurity/gracl.c | 315 +++++++++++++++++++++++-------------------
11154 grsecurity/gracl_compat.c | 270 ++++++++++++++++++++++++++++++++++++
11155 include/linux/gracl_compat.h | 156 +++++++++++++++++++++
11156 4 files changed, 603 insertions(+), 142 deletions(-)
11157
11158 commit 00e035016762dfa49b15cf310ab57fc7011fb4dd
11159 Author: Brad Spengler <spender@grsecurity.net>
11160 Date: Tue Jul 16 20:40:24 2013 -0400
11161
11162 allow viewing of ecryptfs version under SYSFS_RESTRICT
11163
11164 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11165
11166 fs/sysfs/dir.c | 2 +-
11167 1 files changed, 1 insertions(+), 1 deletions(-)
11168
11169 commit a144fc9f2f2f6a1d5999b6bd226d964b8b551e31
11170 Author: Brad Spengler <spender@grsecurity.net>
11171 Date: Sun Jul 14 11:49:17 2013 -0400
11172
11173 Update PaX fix, just return the error
11174
11175 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11176
11177 mm/madvise.c | 11 +++++------
11178 1 files changed, 5 insertions(+), 6 deletions(-)
11179
11180 commit 26dd795769f903add193b605f051bed55bf95507
11181 Author: Brad Spengler <spender@grsecurity.net>
11182 Date: Sun Jul 14 11:36:00 2013 -0400
11183
11184 Fix madvise oops reported by Peter Keel
11185
11186 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11187
11188 mm/madvise.c | 11 ++++++-----
11189 1 files changed, 6 insertions(+), 5 deletions(-)
11190
11191 commit c441e54c74284d2dac3aaaf282391f6572239e24
11192 Author: Brad Spengler <spender@grsecurity.net>
11193 Date: Tue Jul 9 22:04:59 2013 -0400
11194
11195 compile fixes
11196
11197 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11198
11199 fs/exec.c | 2 +-
11200 mm/mmap.c | 4 ++--
11201 2 files changed, 3 insertions(+), 3 deletions(-)
11202
11203 commit ecea885713f4d818032182d839c86dc74ac95b04
11204 Author: Brad Spengler <spender@grsecurity.net>
11205 Date: Sat Sep 14 16:15:10 2013 -0400
11206
11207 Initial port of grsecurity to 3.11 using new git method
11208
11209 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11210
11211 Documentation/kernel-parameters.txt | 4 +
11212 Makefile | 8 +-
11213 arch/alpha/include/asm/cache.h | 4 +-
11214 arch/alpha/kernel/osf_sys.c | 12 +-
11215 arch/arm/include/asm/thread_info.h | 3 +-
11216 arch/arm/kernel/ptrace.c | 9 +
11217 arch/arm/kernel/traps.c | 7 +-
11218 arch/arm/mm/fault.c | 29 +-
11219 arch/arm/mm/mmap.c | 8 +-
11220 arch/avr32/include/asm/cache.h | 4 +-
11221 arch/blackfin/include/asm/cache.h | 3 +-
11222 arch/cris/include/arch-v10/arch/cache.h | 3 +-
11223 arch/cris/include/arch-v32/arch/cache.h | 3 +-
11224 arch/frv/include/asm/cache.h | 3 +-
11225 arch/frv/mm/elf-fdpic.c | 4 +-
11226 arch/hexagon/include/asm/cache.h | 6 +-
11227 arch/ia64/include/asm/cache.h | 3 +-
11228 arch/ia64/kernel/sys_ia64.c | 2 +
11229 arch/ia64/mm/hugetlbpage.c | 2 +
11230 arch/m32r/include/asm/cache.h | 4 +-
11231 arch/m68k/include/asm/cache.h | 4 +-
11232 arch/metag/mm/hugetlbpage.c | 1 +
11233 arch/microblaze/include/asm/cache.h | 3 +-
11234 arch/mips/include/asm/cache.h | 3 +-
11235 arch/mips/include/asm/thread_info.h | 12 +-
11236 arch/mips/kernel/ptrace.c | 9 +
11237 arch/mips/mm/mmap.c | 4 +-
11238 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
11239 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
11240 arch/openrisc/include/asm/cache.h | 4 +-
11241 arch/parisc/include/asm/cache.h | 5 +-
11242 arch/parisc/kernel/sys_parisc.c | 17 +-
11243 arch/powerpc/include/asm/cache.h | 3 +-
11244 arch/powerpc/kernel/process.c | 10 +-
11245 arch/powerpc/kernel/ptrace.c | 14 +
11246 arch/powerpc/kernel/traps.c | 5 +
11247 arch/s390/include/asm/cache.h | 4 +-
11248 arch/score/include/asm/cache.h | 4 +-
11249 arch/sh/include/asm/cache.h | 3 +-
11250 arch/sh/mm/mmap.c | 6 +-
11251 arch/sparc/include/asm/cache.h | 4 +-
11252 arch/sparc/include/asm/thread_info_64.h | 9 +-
11253 arch/sparc/kernel/process_32.c | 6 +-
11254 arch/sparc/kernel/process_64.c | 4 +-
11255 arch/sparc/kernel/ptrace_64.c | 14 +
11256 arch/sparc/kernel/sys_sparc_64.c | 8 +-
11257 arch/sparc/kernel/syscalls.S | 8 +-
11258 arch/sparc/kernel/traps_32.c | 8 +-
11259 arch/sparc/kernel/traps_64.c | 28 +-
11260 arch/sparc/kernel/unaligned_64.c | 2 +-
11261 arch/sparc/mm/fault_64.c | 2 +-
11262 arch/sparc/mm/hugetlbpage.c | 3 +-
11263 arch/tile/include/asm/cache.h | 3 +-
11264 arch/tile/mm/hugetlbpage.c | 2 +
11265 arch/um/defconfig | 1 -
11266 arch/um/include/asm/cache.h | 3 +-
11267 arch/unicore32/include/asm/cache.h | 6 +-
11268 arch/x86/Kconfig | 5 +-
11269 arch/x86/ia32/ia32_aout.c | 2 +
11270 arch/x86/include/asm/thread_info.h | 8 +-
11271 arch/x86/kernel/dumpstack.c | 8 +
11272 arch/x86/kernel/entry_32.S | 2 +-
11273 arch/x86/kernel/entry_64.S | 2 +-
11274 arch/x86/kernel/ioport.c | 13 +
11275 arch/x86/kernel/ptrace.c | 14 +
11276 arch/x86/kernel/signal.c | 9 +-
11277 arch/x86/kernel/smpboot.c | 3 +
11278 arch/x86/kernel/sys_i386_32.c | 9 +-
11279 arch/x86/kernel/sys_x86_64.c | 8 +-
11280 arch/x86/kernel/verify_cpu.S | 1 +
11281 arch/x86/kernel/vm86_32.c | 1 +
11282 arch/x86/mm/fault.c | 12 +-
11283 arch/x86/mm/hugetlbpage.c | 15 +-
11284 arch/x86/mm/init.c | 66 +-
11285 arch/x86/net/bpf_jit_comp.c | 128 +-
11286 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
11287 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
11288 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
11289 drivers/cdrom/cdrom.c | 2 +-
11290 drivers/char/Kconfig | 4 +-
11291 drivers/char/genrtc.c | 1 +
11292 drivers/char/mem.c | 17 +
11293 drivers/char/random.c | 12 +
11294 drivers/gpu/drm/drm_info.c | 4 +
11295 drivers/hid/hid-wiimote-debug.c | 2 +-
11296 drivers/media/radio/radio-cadet.c | 2 +-
11297 drivers/message/fusion/mptbase.c | 9 +
11298 drivers/net/bonding/bond_main.c | 2 +-
11299 drivers/net/phy/mdio-bitbang.c | 1 +
11300 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
11301 drivers/pci/proc.c | 9 +
11302 drivers/rtc/rtc-dev.c | 3 +
11303 drivers/tty/sysrq.c | 2 +-
11304 drivers/tty/vt/keyboard.c | 22 +-
11305 drivers/video/logo/logo_linux_clut224.ppm | 2720 ++++++++------------
11306 drivers/xen/xenfs/xenstored.c | 5 +
11307 fs/attr.c | 1 +
11308 fs/autofs4/waitq.c | 9 +
11309 fs/binfmt_aout.c | 7 +
11310 fs/binfmt_elf.c | 8 +-
11311 fs/btrfs/ioctl.c | 6 +-
11312 fs/compat.c | 20 +-
11313 fs/coredump.c | 9 +-
11314 fs/debugfs/inode.c | 4 +
11315 fs/exec.c | 184 ++-
11316 fs/ext2/balloc.c | 4 +-
11317 fs/ext3/balloc.c | 4 +-
11318 fs/fcntl.c | 5 +
11319 fs/file.c | 4 +
11320 fs/filesystems.c | 4 +
11321 fs/fs_struct.c | 13 +-
11322 fs/hugetlbfs/inode.c | 5 +-
11323 fs/namei.c | 256 ++-
11324 fs/namespace.c | 16 +
11325 fs/open.c | 38 +
11326 fs/proc/Kconfig | 10 +-
11327 fs/proc/array.c | 59 +-
11328 fs/proc/base.c | 166 ++-
11329 fs/proc/cmdline.c | 4 +
11330 fs/proc/devices.c | 4 +
11331 fs/proc/fd.c | 17 +-
11332 fs/proc/inode.c | 4 +
11333 fs/proc/kcore.c | 3 +
11334 fs/proc/proc_net.c | 12 +
11335 fs/proc/proc_sysctl.c | 43 +-
11336 fs/proc/root.c | 8 +
11337 fs/proc/task_mmu.c | 75 +-
11338 fs/readdir.c | 19 +
11339 fs/select.c | 2 +
11340 fs/seq_file.c | 12 +-
11341 fs/stat.c | 19 +-
11342 fs/sysfs/dir.c | 12 +
11343 fs/utimes.c | 7 +
11344 fs/xattr.c | 19 +-
11345 include/linux/capability.h | 5 +
11346 include/linux/cred.h | 3 +
11347 include/linux/fs.h | 10 +
11348 include/linux/fsnotify.h | 6 +
11349 include/linux/kallsyms.h | 14 +-
11350 include/linux/kmod.h | 2 +
11351 include/linux/mm.h | 1 +
11352 include/linux/perf_event.h | 13 +-
11353 include/linux/printk.h | 3 +-
11354 include/linux/sched.h | 24 +-
11355 include/linux/security.h | 1 +
11356 include/linux/seq_file.h | 3 +
11357 include/linux/shm.h | 4 +
11358 include/linux/skbuff.h | 3 +
11359 include/linux/slab.h | 9 -
11360 include/linux/sysctl.h | 2 +
11361 include/linux/thread_info.h | 2 +
11362 include/linux/uidgid.h | 5 +
11363 include/linux/vermagic.h | 9 +-
11364 include/uapi/linux/personality.h | 1 +
11365 init/Kconfig | 3 +-
11366 init/main.c | 14 +
11367 ipc/mqueue.c | 1 +
11368 ipc/shm.c | 29 +
11369 kernel/capability.c | 40 +-
11370 kernel/cgroup.c | 2 +-
11371 kernel/compat.c | 1 +
11372 kernel/configs.c | 11 +
11373 kernel/cred.c | 110 +-
11374 kernel/events/core.c | 14 +-
11375 kernel/exit.c | 10 +-
11376 kernel/fork.c | 41 +-
11377 kernel/futex.c | 1 +
11378 kernel/kallsyms.c | 9 +
11379 kernel/kcmp.c | 4 +
11380 kernel/kmod.c | 64 +-
11381 kernel/kprobes.c | 4 +-
11382 kernel/ksysfs.c | 2 +
11383 kernel/lockdep_proc.c | 10 +-
11384 kernel/module.c | 81 +-
11385 kernel/panic.c | 2 +-
11386 kernel/pid.c | 19 +-
11387 kernel/posix-timers.c | 7 +
11388 kernel/printk/printk.c | 5 +
11389 kernel/ptrace.c | 20 +-
11390 kernel/resource.c | 10 +
11391 kernel/sched/core.c | 6 +-
11392 kernel/signal.c | 37 +-
11393 kernel/sys.c | 45 +-
11394 kernel/sysctl.c | 69 +-
11395 kernel/taskstats.c | 6 +
11396 kernel/time.c | 5 +
11397 kernel/time/timekeeping.c | 1 +
11398 kernel/time/timer_list.c | 12 +
11399 kernel/time/timer_stats.c | 10 +-
11400 lib/Kconfig.debug | 5 +-
11401 lib/is_single_threaded.c | 3 +
11402 mm/Kconfig | 4 +-
11403 mm/filemap.c | 1 +
11404 mm/kmemleak.c | 4 +-
11405 mm/mempolicy.c | 12 +-
11406 mm/migrate.c | 3 +-
11407 mm/mlock.c | 3 +
11408 mm/mmap.c | 63 +-
11409 mm/mprotect.c | 8 +
11410 mm/process_vm_access.c | 6 +
11411 mm/slab.c | 2 +-
11412 mm/slub.c | 14 +-
11413 mm/vmalloc.c | 4 +
11414 mm/vmstat.c | 18 +-
11415 net/core/dev_ioctl.c | 4 +
11416 net/core/sock_diag.c | 7 +
11417 net/ipv4/inet_hashtables.c | 5 +
11418 net/ipv4/ip_sockglue.c | 3 +-
11419 net/ipv4/tcp_input.c | 4 +-
11420 net/ipv4/tcp_ipv4.c | 24 +-
11421 net/ipv4/tcp_minisocks.c | 9 +-
11422 net/ipv4/tcp_timer.c | 11 +
11423 net/ipv4/udp.c | 24 +
11424 net/ipv6/tcp_ipv6.c | 23 +-
11425 net/ipv6/udp.c | 4 +
11426 net/netfilter/Kconfig | 10 +
11427 net/netfilter/Makefile | 1 +
11428 net/netfilter/nf_conntrack_core.c | 8 +
11429 net/netrom/af_netrom.c | 1 -
11430 net/phonet/af_phonet.c | 2 +-
11431 net/socket.c | 66 +-
11432 net/sysctl_net.c | 2 +-
11433 net/unix/af_unix.c | 31 +-
11434 security/Kconfig | 341 +++-
11435 security/commoncap.c | 29 +
11436 security/min_addr.c | 2 +
11437 security/tomoyo/mount.c | 4 +
11438 security/yama/Kconfig | 2 +-
11439 228 files changed, 4141 insertions(+), 2027 deletions(-)
11440
11441 commit 62c18efae524d4cd41939c1d63989d3582b1131a
11442 Author: Brad Spengler <spender@grsecurity.net>
11443 Date: Tue Jul 9 20:57:40 2013 -0400
11444
11445 Commit merge of new files and rejected patches
11446
11447 Signed-off-by: Brad Spengler <spender@grsecurity.net>
11448
11449 arch/arm/include/asm/thread_info.h | 6 +-
11450 arch/arm/kernel/process.c | 4 +-
11451 arch/powerpc/include/asm/thread_info.h | 7 +-
11452 arch/powerpc/mm/slice.c | 2 +-
11453 arch/sparc/kernel/process_64.c | 4 +-
11454 arch/x86/kernel/vm86_32.c | 15 +
11455 fs/coredump.c | 1 +
11456 fs/ext4/balloc.c | 4 +-
11457 fs/namei.c | 7 +
11458 fs/namespace.c | 8 +
11459 fs/pipe.c | 2 +-
11460 fs/proc/inode.c | 13 +
11461 fs/proc/internal.h | 3 +
11462 grsecurity/Kconfig | 1054 +++++++++
11463 grsecurity/Makefile | 38 +
11464 grsecurity/gracl.c | 4073 ++++++++++++++++++++++++++++++++
11465 grsecurity/gracl_alloc.c | 105 +
11466 grsecurity/gracl_cap.c | 110 +
11467 grsecurity/gracl_fs.c | 431 ++++
11468 grsecurity/gracl_ip.c | 387 +++
11469 grsecurity/gracl_learn.c | 207 ++
11470 grsecurity/gracl_res.c | 68 +
11471 grsecurity/gracl_segv.c | 305 +++
11472 grsecurity/gracl_shm.c | 40 +
11473 grsecurity/grsec_chdir.c | 19 +
11474 grsecurity/grsec_chroot.c | 370 +++
11475 grsecurity/grsec_disabled.c | 434 ++++
11476 grsecurity/grsec_exec.c | 187 ++
11477 grsecurity/grsec_fifo.c | 24 +
11478 grsecurity/grsec_fork.c | 23 +
11479 grsecurity/grsec_init.c | 283 +++
11480 grsecurity/grsec_link.c | 58 +
11481 grsecurity/grsec_log.c | 326 +++
11482 grsecurity/grsec_mem.c | 40 +
11483 grsecurity/grsec_mount.c | 62 +
11484 grsecurity/grsec_pax.c | 36 +
11485 grsecurity/grsec_ptrace.c | 30 +
11486 grsecurity/grsec_sig.c | 246 ++
11487 grsecurity/grsec_sock.c | 244 ++
11488 grsecurity/grsec_sysctl.c | 469 ++++
11489 grsecurity/grsec_time.c | 16 +
11490 grsecurity/grsec_tpe.c | 73 +
11491 grsecurity/grsum.c | 61 +
11492 include/linux/gracl.h | 319 +++
11493 include/linux/gralloc.h | 9 +
11494 include/linux/grdefs.h | 140 ++
11495 include/linux/grinternal.h | 227 ++
11496 include/linux/grmsg.h | 112 +
11497 include/linux/grsecurity.h | 241 ++
11498 include/linux/grsock.h | 19 +
11499 include/linux/netfilter/xt_gradm.h | 9 +
11500 include/linux/proc_fs.h | 13 +
11501 include/linux/sched.h | 48 +-
11502 include/trace/events/fs.h | 53 +
11503 kernel/kmod.c | 7 +-
11504 kernel/panic.c | 2 +-
11505 kernel/posix-timers.c | 1 +
11506 kernel/time/timekeeping.c | 2 +
11507 lib/Kconfig.debug | 2 +-
11508 lib/vsprintf.c | 31 +
11509 localversion-grsec | 1 +
11510 mm/mmap.c | 13 +-
11511 mm/shmem.c | 2 +-
11512 net/core/net-procfs.c | 5 +
11513 net/ipv6/udp.c | 3 +
11514 net/netfilter/xt_gradm.c | 51 +
11515 66 files changed, 11184 insertions(+), 21 deletions(-)
11516
11517 commit 718ed34658f4e4716ff3c9e6d098552d357d19f1
11518 Author: Brad Spengler <spender@grsecurity.net>
11519 Date: Sun Nov 24 20:58:05 2013 -0500
11520
11521 Initial import of pax-linux-3.12.1-test1.patch
11522
11523 Documentation/dontdiff | 46 +-
11524 Documentation/kernel-parameters.txt | 23 +
11525 Makefile | 100 +-
11526 arch/alpha/include/asm/atomic.h | 10 +
11527 arch/alpha/include/asm/elf.h | 7 +
11528 arch/alpha/include/asm/pgalloc.h | 6 +
11529 arch/alpha/include/asm/pgtable.h | 11 +
11530 arch/alpha/kernel/module.c | 2 +-
11531 arch/alpha/kernel/osf_sys.c | 8 +-
11532 arch/alpha/mm/fault.c | 141 +-
11533 arch/arm/Kconfig | 2 +-
11534 arch/arm/include/asm/atomic.h | 444 ++-
11535 arch/arm/include/asm/cache.h | 5 +-
11536 arch/arm/include/asm/cacheflush.h | 2 +-
11537 arch/arm/include/asm/checksum.h | 14 +-
11538 arch/arm/include/asm/cmpxchg.h | 2 +
11539 arch/arm/include/asm/domain.h | 33 +-
11540 arch/arm/include/asm/elf.h | 13 +-
11541 arch/arm/include/asm/fncpy.h | 2 +
11542 arch/arm/include/asm/futex.h | 10 +
11543 arch/arm/include/asm/kmap_types.h | 2 +-
11544 arch/arm/include/asm/mach/dma.h | 2 +-
11545 arch/arm/include/asm/mach/map.h | 7 +-
11546 arch/arm/include/asm/outercache.h | 2 +-
11547 arch/arm/include/asm/page.h | 2 +-
11548 arch/arm/include/asm/pgalloc.h | 22 +-
11549 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
11550 arch/arm/include/asm/pgtable-2level.h | 3 +
11551 arch/arm/include/asm/pgtable-3level-hwdef.h | 1 +
11552 arch/arm/include/asm/pgtable-3level.h | 2 +
11553 arch/arm/include/asm/pgtable.h | 54 +-
11554 arch/arm/include/asm/proc-fns.h | 2 +-
11555 arch/arm/include/asm/psci.h | 2 +-
11556 arch/arm/include/asm/smp.h | 2 +-
11557 arch/arm/include/asm/thread_info.h | 6 +-
11558 arch/arm/include/asm/uaccess.h | 95 +-
11559 arch/arm/include/uapi/asm/ptrace.h | 2 +-
11560 arch/arm/kernel/armksyms.c | 8 +-
11561 arch/arm/kernel/entry-armv.S | 110 +-
11562 arch/arm/kernel/entry-common.S | 40 +-
11563 arch/arm/kernel/entry-header.S | 60 +
11564 arch/arm/kernel/fiq.c | 3 +
11565 arch/arm/kernel/head.S | 6 +-
11566 arch/arm/kernel/module.c | 31 +-
11567 arch/arm/kernel/patch.c | 2 +
11568 arch/arm/kernel/process.c | 42 +-
11569 arch/arm/kernel/psci.c | 2 +-
11570 arch/arm/kernel/setup.c | 22 +-
11571 arch/arm/kernel/signal.c | 35 +-
11572 arch/arm/kernel/smp.c | 2 +-
11573 arch/arm/kernel/traps.c | 8 +-
11574 arch/arm/kernel/vmlinux.lds.S | 24 +-
11575 arch/arm/kvm/arm.c | 8 +-
11576 arch/arm/lib/clear_user.S | 6 +-
11577 arch/arm/lib/copy_from_user.S | 6 +-
11578 arch/arm/lib/copy_page.S | 1 +
11579 arch/arm/lib/copy_to_user.S | 6 +-
11580 arch/arm/lib/csumpartialcopyuser.S | 4 +-
11581 arch/arm/lib/delay.c | 2 +-
11582 arch/arm/lib/uaccess_with_memcpy.c | 4 +-
11583 arch/arm/mach-kirkwood/common.c | 19 +-
11584 arch/arm/mach-omap2/board-n8x0.c | 2 +-
11585 arch/arm/mach-omap2/gpmc.c | 22 +-
11586 arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 +-
11587 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
11588 arch/arm/mach-omap2/omap_device.c | 4 +-
11589 arch/arm/mach-omap2/omap_device.h | 4 +-
11590 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
11591 arch/arm/mach-omap2/wd_timer.c | 6 +-
11592 arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +-
11593 arch/arm/mach-ux500/setup.h | 7 -
11594 arch/arm/mm/Kconfig | 6 +-
11595 arch/arm/mm/alignment.c | 8 +
11596 arch/arm/mm/context.c | 10 +-
11597 arch/arm/mm/fault.c | 134 +
11598 arch/arm/mm/fault.h | 12 +
11599 arch/arm/mm/init.c | 41 +
11600 arch/arm/mm/ioremap.c | 4 +-
11601 arch/arm/mm/mmap.c | 30 +-
11602 arch/arm/mm/mmu.c | 185 +-
11603 arch/arm/plat-omap/sram.c | 2 +
11604 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
11605 arch/avr32/include/asm/elf.h | 8 +-
11606 arch/avr32/include/asm/kmap_types.h | 4 +-
11607 arch/avr32/mm/fault.c | 27 +
11608 arch/frv/include/asm/atomic.h | 10 +
11609 arch/frv/include/asm/kmap_types.h | 2 +-
11610 arch/frv/mm/elf-fdpic.c | 3 +-
11611 arch/ia64/include/asm/atomic.h | 10 +
11612 arch/ia64/include/asm/elf.h | 7 +
11613 arch/ia64/include/asm/pgalloc.h | 12 +
11614 arch/ia64/include/asm/pgtable.h | 13 +-
11615 arch/ia64/include/asm/spinlock.h | 2 +-
11616 arch/ia64/include/asm/uaccess.h | 26 +-
11617 arch/ia64/kernel/module.c | 48 +-
11618 arch/ia64/kernel/palinfo.c | 2 +-
11619 arch/ia64/kernel/sys_ia64.c | 7 +
11620 arch/ia64/kernel/vmlinux.lds.S | 2 +-
11621 arch/ia64/mm/fault.c | 32 +-
11622 arch/ia64/mm/init.c | 13 +
11623 arch/m32r/lib/usercopy.c | 6 +
11624 arch/mips/include/asm/atomic.h | 728 ++-
11625 arch/mips/include/asm/elf.h | 11 +-
11626 arch/mips/include/asm/exec.h | 2 +-
11627 arch/mips/include/asm/local.h | 57 +
11628 arch/mips/include/asm/page.h | 2 +-
11629 arch/mips/include/asm/pgalloc.h | 5 +
11630 arch/mips/include/asm/smtc_proc.h | 2 +-
11631 arch/mips/kernel/binfmt_elfn32.c | 7 +
11632 arch/mips/kernel/binfmt_elfo32.c | 7 +
11633 arch/mips/kernel/irq.c | 6 +-
11634 arch/mips/kernel/process.c | 12 -
11635 arch/mips/kernel/smtc-proc.c | 6 +-
11636 arch/mips/kernel/smtc.c | 2 +-
11637 arch/mips/kernel/sync-r4k.c | 24 +-
11638 arch/mips/kernel/traps.c | 13 +-
11639 arch/mips/mm/fault.c | 25 +
11640 arch/mips/mm/mmap.c | 51 +-
11641 arch/mips/sgi-ip27/ip27-nmi.c | 6 +-
11642 arch/parisc/include/asm/atomic.h | 10 +
11643 arch/parisc/include/asm/elf.h | 7 +
11644 arch/parisc/include/asm/pgalloc.h | 6 +
11645 arch/parisc/include/asm/pgtable.h | 11 +
11646 arch/parisc/include/asm/uaccess.h | 4 +-
11647 arch/parisc/kernel/module.c | 50 +-
11648 arch/parisc/kernel/sys_parisc.c | 9 +-
11649 arch/parisc/kernel/traps.c | 4 +-
11650 arch/parisc/mm/fault.c | 140 +-
11651 arch/powerpc/include/asm/atomic.h | 10 +
11652 arch/powerpc/include/asm/elf.h | 19 +-
11653 arch/powerpc/include/asm/exec.h | 2 +-
11654 arch/powerpc/include/asm/kmap_types.h | 2 +-
11655 arch/powerpc/include/asm/mman.h | 2 +-
11656 arch/powerpc/include/asm/page.h | 8 +-
11657 arch/powerpc/include/asm/page_64.h | 7 +-
11658 arch/powerpc/include/asm/pgalloc-64.h | 7 +
11659 arch/powerpc/include/asm/pgtable.h | 1 +
11660 arch/powerpc/include/asm/pte-hash32.h | 1 +
11661 arch/powerpc/include/asm/reg.h | 1 +
11662 arch/powerpc/include/asm/smp.h | 2 +-
11663 arch/powerpc/include/asm/uaccess.h | 140 +-
11664 arch/powerpc/kernel/exceptions-64e.S | 4 +-
11665 arch/powerpc/kernel/exceptions-64s.S | 2 +-
11666 arch/powerpc/kernel/module_32.c | 13 +-
11667 arch/powerpc/kernel/process.c | 55 -
11668 arch/powerpc/kernel/signal_32.c | 2 +-
11669 arch/powerpc/kernel/signal_64.c | 2 +-
11670 arch/powerpc/kernel/vdso.c | 5 +-
11671 arch/powerpc/lib/usercopy_64.c | 18 -
11672 arch/powerpc/mm/fault.c | 54 +-
11673 arch/powerpc/mm/mmap.c | 16 +
11674 arch/powerpc/mm/slice.c | 13 +-
11675 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
11676 arch/s390/include/asm/atomic.h | 10 +
11677 arch/s390/include/asm/elf.h | 13 +-
11678 arch/s390/include/asm/exec.h | 2 +-
11679 arch/s390/include/asm/uaccess.h | 15 +-
11680 arch/s390/kernel/module.c | 22 +-
11681 arch/s390/kernel/process.c | 36 -
11682 arch/s390/mm/mmap.c | 24 +
11683 arch/score/include/asm/exec.h | 2 +-
11684 arch/score/kernel/process.c | 5 -
11685 arch/sh/mm/mmap.c | 22 +-
11686 arch/sparc/include/asm/atomic_64.h | 106 +-
11687 arch/sparc/include/asm/cache.h | 2 +-
11688 arch/sparc/include/asm/elf_32.h | 7 +
11689 arch/sparc/include/asm/elf_64.h | 7 +
11690 arch/sparc/include/asm/pgalloc_32.h | 1 +
11691 arch/sparc/include/asm/pgalloc_64.h | 1 +
11692 arch/sparc/include/asm/pgtable_32.h | 15 +-
11693 arch/sparc/include/asm/pgtsrmmu.h | 5 +
11694 arch/sparc/include/asm/spinlock_64.h | 35 +-
11695 arch/sparc/include/asm/thread_info_32.h | 2 +
11696 arch/sparc/include/asm/thread_info_64.h | 2 +
11697 arch/sparc/include/asm/uaccess.h | 1 +
11698 arch/sparc/include/asm/uaccess_32.h | 27 +-
11699 arch/sparc/include/asm/uaccess_64.h | 19 +-
11700 arch/sparc/kernel/Makefile | 2 +-
11701 arch/sparc/kernel/prom_common.c | 2 +-
11702 arch/sparc/kernel/smp_64.c | 12 +-
11703 arch/sparc/kernel/sys_sparc_32.c | 2 +-
11704 arch/sparc/kernel/sys_sparc_64.c | 52 +-
11705 arch/sparc/kernel/traps_64.c | 27 +-
11706 arch/sparc/lib/Makefile | 2 +-
11707 arch/sparc/lib/atomic_64.S | 136 +-
11708 arch/sparc/lib/ksyms.c | 6 +
11709 arch/sparc/mm/Makefile | 2 +-
11710 arch/sparc/mm/fault_32.c | 292 +
11711 arch/sparc/mm/fault_64.c | 486 ++
11712 arch/sparc/mm/hugetlbpage.c | 21 +-
11713 arch/sparc/mm/init_64.c | 10 +-
11714 arch/tile/include/asm/atomic_64.h | 10 +
11715 arch/tile/include/asm/uaccess.h | 4 +-
11716 arch/um/Makefile | 4 +
11717 arch/um/include/asm/kmap_types.h | 2 +-
11718 arch/um/include/asm/page.h | 3 +
11719 arch/um/include/asm/pgtable-3level.h | 1 +
11720 arch/um/kernel/process.c | 16 -
11721 arch/x86/Kconfig | 10 +-
11722 arch/x86/Kconfig.cpu | 6 +-
11723 arch/x86/Kconfig.debug | 4 +-
11724 arch/x86/Makefile | 16 +-
11725 arch/x86/boot/Makefile | 3 +
11726 arch/x86/boot/bitops.h | 4 +-
11727 arch/x86/boot/boot.h | 4 +-
11728 arch/x86/boot/compressed/Makefile | 3 +
11729 arch/x86/boot/compressed/eboot.c | 2 -
11730 arch/x86/boot/compressed/efi_stub_32.S | 16 +-
11731 arch/x86/boot/compressed/head_32.S | 2 +-
11732 arch/x86/boot/compressed/head_64.S | 8 +-
11733 arch/x86/boot/compressed/misc.c | 6 +-
11734 arch/x86/boot/cpucheck.c | 28 +-
11735 arch/x86/boot/header.S | 6 +-
11736 arch/x86/boot/memory.c | 2 +-
11737 arch/x86/boot/video-vesa.c | 1 +
11738 arch/x86/boot/video.c | 2 +-
11739 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
11740 arch/x86/crypto/aesni-intel_asm.S | 22 +
11741 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
11742 arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 +
11743 arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 +
11744 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
11745 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
11746 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 9 +
11747 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +
11748 arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +
11749 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
11750 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 +
11751 arch/x86/crypto/serpent-avx2-asm_64.S | 9 +
11752 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
11753 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
11754 arch/x86/crypto/sha256-avx-asm.S | 2 +
11755 arch/x86/crypto/sha256-avx2-asm.S | 2 +
11756 arch/x86/crypto/sha256-ssse3-asm.S | 2 +
11757 arch/x86/crypto/sha512-avx-asm.S | 2 +
11758 arch/x86/crypto/sha512-avx2-asm.S | 2 +
11759 arch/x86/crypto/sha512-ssse3-asm.S | 2 +
11760 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 9 +
11761 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
11762 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
11763 arch/x86/ia32/ia32_signal.c | 14 +-
11764 arch/x86/ia32/ia32entry.S | 157 +-
11765 arch/x86/ia32/sys_ia32.c | 4 +-
11766 arch/x86/include/asm/alternative-asm.h | 39 +
11767 arch/x86/include/asm/alternative.h | 4 +-
11768 arch/x86/include/asm/apic.h | 2 +-
11769 arch/x86/include/asm/apm.h | 4 +-
11770 arch/x86/include/asm/atomic.h | 307 +-
11771 arch/x86/include/asm/atomic64_32.h | 100 +
11772 arch/x86/include/asm/atomic64_64.h | 202 +-
11773 arch/x86/include/asm/bitops.h | 8 +-
11774 arch/x86/include/asm/boot.h | 7 +-
11775 arch/x86/include/asm/cache.h | 5 +-
11776 arch/x86/include/asm/cacheflush.h | 2 +-
11777 arch/x86/include/asm/checksum_32.h | 12 +-
11778 arch/x86/include/asm/cmpxchg.h | 35 +
11779 arch/x86/include/asm/compat.h | 2 +-
11780 arch/x86/include/asm/cpufeature.h | 16 +-
11781 arch/x86/include/asm/desc.h | 74 +-
11782 arch/x86/include/asm/desc_defs.h | 6 +
11783 arch/x86/include/asm/div64.h | 2 +-
11784 arch/x86/include/asm/elf.h | 31 +-
11785 arch/x86/include/asm/emergency-restart.h | 2 +-
11786 arch/x86/include/asm/fpu-internal.h | 8 +-
11787 arch/x86/include/asm/futex.h | 20 +-
11788 arch/x86/include/asm/hw_irq.h | 4 +-
11789 arch/x86/include/asm/i8259.h | 2 +-
11790 arch/x86/include/asm/io.h | 21 +-
11791 arch/x86/include/asm/irqflags.h | 5 +
11792 arch/x86/include/asm/kprobes.h | 9 +-
11793 arch/x86/include/asm/local.h | 142 +-
11794 arch/x86/include/asm/mman.h | 15 +
11795 arch/x86/include/asm/mmu.h | 16 +-
11796 arch/x86/include/asm/mmu_context.h | 136 +-
11797 arch/x86/include/asm/module.h | 17 +-
11798 arch/x86/include/asm/nmi.h | 6 +-
11799 arch/x86/include/asm/page.h | 1 +
11800 arch/x86/include/asm/page_64.h | 4 +-
11801 arch/x86/include/asm/paravirt.h | 46 +-
11802 arch/x86/include/asm/paravirt_types.h | 17 +-
11803 arch/x86/include/asm/pgalloc.h | 23 +
11804 arch/x86/include/asm/pgtable-2level.h | 2 +
11805 arch/x86/include/asm/pgtable-3level.h | 4 +
11806 arch/x86/include/asm/pgtable.h | 124 +-
11807 arch/x86/include/asm/pgtable_32.h | 14 +-
11808 arch/x86/include/asm/pgtable_32_types.h | 15 +-
11809 arch/x86/include/asm/pgtable_64.h | 19 +-
11810 arch/x86/include/asm/pgtable_64_types.h | 5 +
11811 arch/x86/include/asm/pgtable_types.h | 36 +-
11812 arch/x86/include/asm/processor.h | 79 +-
11813 arch/x86/include/asm/ptrace.h | 26 +-
11814 arch/x86/include/asm/realmode.h | 4 +-
11815 arch/x86/include/asm/reboot.h | 10 +-
11816 arch/x86/include/asm/rwsem.h | 60 +-
11817 arch/x86/include/asm/segment.h | 29 +-
11818 arch/x86/include/asm/smap.h | 64 +-
11819 arch/x86/include/asm/smp.h | 14 +-
11820 arch/x86/include/asm/spinlock.h | 36 +-
11821 arch/x86/include/asm/stackprotector.h | 4 +-
11822 arch/x86/include/asm/stacktrace.h | 32 +-
11823 arch/x86/include/asm/switch_to.h | 4 +-
11824 arch/x86/include/asm/thread_info.h | 83 +-
11825 arch/x86/include/asm/tlbflush.h | 74 +-
11826 arch/x86/include/asm/uaccess.h | 108 +-
11827 arch/x86/include/asm/uaccess_32.h | 96 +-
11828 arch/x86/include/asm/uaccess_64.h | 232 +-
11829 arch/x86/include/asm/word-at-a-time.h | 2 +-
11830 arch/x86/include/asm/x86_init.h | 10 +-
11831 arch/x86/include/asm/xen/page.h | 2 +-
11832 arch/x86/include/asm/xsave.h | 14 +-
11833 arch/x86/include/uapi/asm/e820.h | 2 +-
11834 arch/x86/kernel/Makefile | 2 +-
11835 arch/x86/kernel/acpi/boot.c | 4 +-
11836 arch/x86/kernel/acpi/sleep.c | 4 +
11837 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
11838 arch/x86/kernel/alternative.c | 69 +-
11839 arch/x86/kernel/apic/apic.c | 4 +-
11840 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
11841 arch/x86/kernel/apic/apic_noop.c | 2 +-
11842 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
11843 arch/x86/kernel/apic/es7000_32.c | 5 +-
11844 arch/x86/kernel/apic/io_apic.c | 8 +-
11845 arch/x86/kernel/apic/numaq_32.c | 3 +-
11846 arch/x86/kernel/apic/probe_32.c | 2 +-
11847 arch/x86/kernel/apic/summit_32.c | 2 +-
11848 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
11849 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
11850 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
11851 arch/x86/kernel/apm_32.c | 19 +-
11852 arch/x86/kernel/asm-offsets.c | 20 +
11853 arch/x86/kernel/asm-offsets_64.c | 1 +
11854 arch/x86/kernel/cpu/Makefile | 4 -
11855 arch/x86/kernel/cpu/amd.c | 2 +-
11856 arch/x86/kernel/cpu/common.c | 130 +-
11857 arch/x86/kernel/cpu/intel_cacheinfo.c | 48 +-
11858 arch/x86/kernel/cpu/mcheck/mce.c | 31 +-
11859 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
11860 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
11861 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
11862 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
11863 arch/x86/kernel/cpu/perf_event.c | 8 +-
11864 arch/x86/kernel/cpu/perf_event_amd_iommu.c | 2 +-
11865 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
11866 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
11867 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
11868 arch/x86/kernel/cpuid.c | 2 +-
11869 arch/x86/kernel/crash.c | 4 +-
11870 arch/x86/kernel/crash_dump_64.c | 2 +-
11871 arch/x86/kernel/doublefault.c | 8 +-
11872 arch/x86/kernel/dumpstack.c | 30 +-
11873 arch/x86/kernel/dumpstack_32.c | 34 +-
11874 arch/x86/kernel/dumpstack_64.c | 61 +-
11875 arch/x86/kernel/e820.c | 4 +-
11876 arch/x86/kernel/early_printk.c | 1 +
11877 arch/x86/kernel/entry_32.S | 356 +-
11878 arch/x86/kernel/entry_64.S | 666 ++-
11879 arch/x86/kernel/ftrace.c | 14 +-
11880 arch/x86/kernel/head64.c | 13 +-
11881 arch/x86/kernel/head_32.S | 228 +-
11882 arch/x86/kernel/head_64.S | 138 +-
11883 arch/x86/kernel/i386_ksyms_32.c | 12 +
11884 arch/x86/kernel/i387.c | 2 +-
11885 arch/x86/kernel/i8259.c | 10 +-
11886 arch/x86/kernel/io_delay.c | 2 +-
11887 arch/x86/kernel/ioport.c | 2 +-
11888 arch/x86/kernel/irq.c | 8 +-
11889 arch/x86/kernel/irq_32.c | 67 +-
11890 arch/x86/kernel/irq_64.c | 2 +-
11891 arch/x86/kernel/jump_label.c | 6 +-
11892 arch/x86/kernel/kgdb.c | 25 +-
11893 arch/x86/kernel/kprobes/core.c | 30 +-
11894 arch/x86/kernel/kprobes/opt.c | 16 +-
11895 arch/x86/kernel/ldt.c | 31 +-
11896 arch/x86/kernel/machine_kexec_32.c | 6 +-
11897 arch/x86/kernel/microcode_core.c | 2 +-
11898 arch/x86/kernel/microcode_intel.c | 4 +-
11899 arch/x86/kernel/module.c | 76 +-
11900 arch/x86/kernel/msr.c | 2 +-
11901 arch/x86/kernel/nmi.c | 19 +-
11902 arch/x86/kernel/nmi_selftest.c | 4 +-
11903 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
11904 arch/x86/kernel/paravirt.c | 43 +-
11905 arch/x86/kernel/pci-calgary_64.c | 2 +-
11906 arch/x86/kernel/pci-iommu_table.c | 2 +-
11907 arch/x86/kernel/pci-swiotlb.c | 2 +-
11908 arch/x86/kernel/process.c | 55 +-
11909 arch/x86/kernel/process_32.c | 29 +-
11910 arch/x86/kernel/process_64.c | 20 +-
11911 arch/x86/kernel/ptrace.c | 25 +-
11912 arch/x86/kernel/pvclock.c | 8 +-
11913 arch/x86/kernel/reboot.c | 42 +-
11914 arch/x86/kernel/reboot_fixups_32.c | 2 +-
11915 arch/x86/kernel/relocate_kernel_64.S | 5 +-
11916 arch/x86/kernel/setup.c | 63 +-
11917 arch/x86/kernel/setup_percpu.c | 29 +-
11918 arch/x86/kernel/signal.c | 15 +-
11919 arch/x86/kernel/smp.c | 2 +-
11920 arch/x86/kernel/smpboot.c | 28 +-
11921 arch/x86/kernel/step.c | 10 +-
11922 arch/x86/kernel/sys_i386_32.c | 184 +
11923 arch/x86/kernel/sys_x86_64.c | 22 +-
11924 arch/x86/kernel/tboot.c | 12 +-
11925 arch/x86/kernel/time.c | 10 +-
11926 arch/x86/kernel/tls.c | 7 +-
11927 arch/x86/kernel/tracepoint.c | 4 +-
11928 arch/x86/kernel/traps.c | 62 +-
11929 arch/x86/kernel/uprobes.c | 4 +-
11930 arch/x86/kernel/vm86_32.c | 6 +-
11931 arch/x86/kernel/vmlinux.lds.S | 147 +-
11932 arch/x86/kernel/vsyscall_64.c | 12 +-
11933 arch/x86/kernel/x8664_ksyms_64.c | 6 +-
11934 arch/x86/kernel/x86_init.c | 6 +-
11935 arch/x86/kernel/xsave.c | 2 +
11936 arch/x86/kvm/cpuid.c | 21 +-
11937 arch/x86/kvm/lapic.c | 2 +-
11938 arch/x86/kvm/paging_tmpl.h | 2 +-
11939 arch/x86/kvm/svm.c | 8 +
11940 arch/x86/kvm/vmx.c | 63 +-
11941 arch/x86/kvm/x86.c | 8 +-
11942 arch/x86/lguest/boot.c | 3 +-
11943 arch/x86/lib/atomic64_386_32.S | 164 +
11944 arch/x86/lib/atomic64_cx8_32.S | 103 +-
11945 arch/x86/lib/checksum_32.S | 100 +-
11946 arch/x86/lib/clear_page_64.S | 5 +-
11947 arch/x86/lib/cmpxchg16b_emu.S | 2 +
11948 arch/x86/lib/copy_page_64.S | 24 +-
11949 arch/x86/lib/copy_user_64.S | 89 +-
11950 arch/x86/lib/copy_user_nocache_64.S | 22 +-
11951 arch/x86/lib/csum-copy_64.S | 2 +
11952 arch/x86/lib/csum-wrappers_64.c | 8 +-
11953 arch/x86/lib/getuser.S | 74 +-
11954 arch/x86/lib/insn.c | 6 +-
11955 arch/x86/lib/iomap_copy_64.S | 2 +
11956 arch/x86/lib/memcpy_64.S | 22 +-
11957 arch/x86/lib/memmove_64.S | 36 +-
11958 arch/x86/lib/memset_64.S | 11 +-
11959 arch/x86/lib/mmx_32.c | 243 +-
11960 arch/x86/lib/msr-reg.S | 18 +-
11961 arch/x86/lib/putuser.S | 90 +-
11962 arch/x86/lib/rwlock.S | 42 +
11963 arch/x86/lib/rwsem.S | 6 +-
11964 arch/x86/lib/thunk_64.S | 2 +
11965 arch/x86/lib/usercopy_32.c | 359 +-
11966 arch/x86/lib/usercopy_64.c | 18 +-
11967 arch/x86/mm/Makefile | 4 +
11968 arch/x86/mm/extable.c | 25 +-
11969 arch/x86/mm/fault.c | 564 ++-
11970 arch/x86/mm/gup.c | 2 +-
11971 arch/x86/mm/highmem_32.c | 4 +
11972 arch/x86/mm/hugetlbpage.c | 30 +-
11973 arch/x86/mm/init.c | 101 +-
11974 arch/x86/mm/init_32.c | 111 +-
11975 arch/x86/mm/init_64.c | 45 +-
11976 arch/x86/mm/iomap_32.c | 4 +
11977 arch/x86/mm/ioremap.c | 15 +-
11978 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
11979 arch/x86/mm/mmap.c | 36 +-
11980 arch/x86/mm/mmio-mod.c | 10 +-
11981 arch/x86/mm/numa.c | 2 +-
11982 arch/x86/mm/pageattr-test.c | 2 +-
11983 arch/x86/mm/pageattr.c | 33 +-
11984 arch/x86/mm/pat.c | 12 +-
11985 arch/x86/mm/pat_rbtree.c | 2 +-
11986 arch/x86/mm/pf_in.c | 10 +-
11987 arch/x86/mm/pgtable.c | 139 +-
11988 arch/x86/mm/pgtable_32.c | 3 +
11989 arch/x86/mm/physaddr.c | 4 +-
11990 arch/x86/mm/setup_nx.c | 7 +
11991 arch/x86/mm/tlb.c | 4 +
11992 arch/x86/mm/uderef_64.c | 37 +
11993 arch/x86/net/bpf_jit.S | 14 +
11994 arch/x86/net/bpf_jit_comp.c | 38 +-
11995 arch/x86/oprofile/backtrace.c | 8 +-
11996 arch/x86/oprofile/nmi_int.c | 8 +-
11997 arch/x86/oprofile/op_model_amd.c | 8 +-
11998 arch/x86/oprofile/op_model_ppro.c | 7 +-
11999 arch/x86/oprofile/op_x86_model.h | 2 +-
12000 arch/x86/pci/irq.c | 8 +-
12001 arch/x86/pci/mrst.c | 4 +-
12002 arch/x86/pci/pcbios.c | 144 +-
12003 arch/x86/platform/efi/efi_32.c | 24 +
12004 arch/x86/platform/efi/efi_64.c | 10 +
12005 arch/x86/platform/efi/efi_stub_32.S | 64 +-
12006 arch/x86/platform/efi/efi_stub_64.S | 8 +
12007 arch/x86/platform/mrst/mrst.c | 6 +-
12008 arch/x86/platform/olpc/olpc_dt.c | 2 +-
12009 arch/x86/power/cpu.c | 11 +-
12010 arch/x86/realmode/init.c | 10 +-
12011 arch/x86/realmode/rm/Makefile | 3 +
12012 arch/x86/realmode/rm/header.S | 4 +-
12013 arch/x86/realmode/rm/trampoline_32.S | 12 +-
12014 arch/x86/realmode/rm/trampoline_64.S | 3 +-
12015 arch/x86/tools/Makefile | 2 +-
12016 arch/x86/tools/relocs.c | 94 +-
12017 arch/x86/um/tls_32.c | 2 +-
12018 arch/x86/vdso/Makefile | 2 +-
12019 arch/x86/vdso/vdso32-setup.c | 23 +-
12020 arch/x86/vdso/vma.c | 29 +-
12021 arch/x86/xen/enlighten.c | 45 +-
12022 arch/x86/xen/mmu.c | 11 +-
12023 arch/x86/xen/smp.c | 21 +-
12024 arch/x86/xen/xen-asm_32.S | 12 +-
12025 arch/x86/xen/xen-head.S | 11 +
12026 arch/x86/xen/xen-ops.h | 2 -
12027 block/blk-cgroup.c | 4 +-
12028 block/blk-iopoll.c | 2 +-
12029 block/blk-map.c | 2 +-
12030 block/blk-softirq.c | 2 +-
12031 block/bsg.c | 12 +-
12032 block/compat_ioctl.c | 2 +-
12033 block/genhd.c | 9 +-
12034 block/partitions/efi.c | 8 +-
12035 block/scsi_ioctl.c | 29 +-
12036 crypto/cryptd.c | 4 +-
12037 crypto/pcrypt.c | 2 +-
12038 drivers/acpi/apei/apei-internal.h | 2 +-
12039 drivers/acpi/apei/cper.c | 8 +-
12040 drivers/acpi/apei/ghes.c | 4 +-
12041 drivers/acpi/bgrt.c | 6 +-
12042 drivers/acpi/blacklist.c | 4 +-
12043 drivers/acpi/processor_idle.c | 2 +-
12044 drivers/acpi/sysfs.c | 4 +-
12045 drivers/ata/libahci.c | 2 +-
12046 drivers/ata/libata-core.c | 12 +-
12047 drivers/ata/libata-scsi.c | 2 +-
12048 drivers/ata/libata.h | 2 +-
12049 drivers/ata/pata_arasan_cf.c | 4 +-
12050 drivers/atm/adummy.c | 2 +-
12051 drivers/atm/ambassador.c | 8 +-
12052 drivers/atm/atmtcp.c | 14 +-
12053 drivers/atm/eni.c | 10 +-
12054 drivers/atm/firestream.c | 8 +-
12055 drivers/atm/fore200e.c | 14 +-
12056 drivers/atm/he.c | 18 +-
12057 drivers/atm/horizon.c | 4 +-
12058 drivers/atm/idt77252.c | 36 +-
12059 drivers/atm/iphase.c | 34 +-
12060 drivers/atm/lanai.c | 12 +-
12061 drivers/atm/nicstar.c | 46 +-
12062 drivers/atm/solos-pci.c | 4 +-
12063 drivers/atm/suni.c | 4 +-
12064 drivers/atm/uPD98402.c | 16 +-
12065 drivers/atm/zatm.c | 6 +-
12066 drivers/base/bus.c | 4 +-
12067 drivers/base/devtmpfs.c | 8 +-
12068 drivers/base/node.c | 2 +-
12069 drivers/base/power/domain.c | 4 +-
12070 drivers/base/power/sysfs.c | 2 +-
12071 drivers/base/power/wakeup.c | 8 +-
12072 drivers/base/syscore.c | 4 +-
12073 drivers/block/cciss.c | 28 +-
12074 drivers/block/cciss.h | 2 +-
12075 drivers/block/cpqarray.c | 28 +-
12076 drivers/block/cpqarray.h | 2 +-
12077 drivers/block/drbd/drbd_int.h | 6 +-
12078 drivers/block/drbd/drbd_main.c | 8 +-
12079 drivers/block/drbd/drbd_nl.c | 4 +-
12080 drivers/block/drbd/drbd_receiver.c | 22 +-
12081 drivers/block/loop.c | 2 +-
12082 drivers/block/pktcdvd.c | 4 +-
12083 drivers/bluetooth/btwilink.c | 2 +-
12084 drivers/bus/arm-cci.c | 2 +-
12085 drivers/cdrom/cdrom.c | 11 +-
12086 drivers/cdrom/gdrom.c | 1 -
12087 drivers/char/agp/compat_ioctl.c | 2 +-
12088 drivers/char/agp/frontend.c | 4 +-
12089 drivers/char/hpet.c | 2 +-
12090 drivers/char/hw_random/intel-rng.c | 2 +-
12091 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
12092 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
12093 drivers/char/mem.c | 43 +-
12094 drivers/char/nvram.c | 2 +-
12095 drivers/char/pcmcia/synclink_cs.c | 18 +-
12096 drivers/char/random.c | 10 +-
12097 drivers/char/sonypi.c | 9 +-
12098 drivers/char/tpm/tpm_acpi.c | 3 +-
12099 drivers/char/tpm/tpm_eventlog.c | 7 +-
12100 drivers/char/virtio_console.c | 4 +-
12101 drivers/clk/clk-composite.c | 2 +-
12102 drivers/clk/socfpga/clk.c | 9 +-
12103 drivers/cpufreq/acpi-cpufreq.c | 13 +-
12104 drivers/cpufreq/cpufreq.c | 9 +-
12105 drivers/cpufreq/cpufreq_governor.c | 6 +-
12106 drivers/cpufreq/cpufreq_governor.h | 4 +-
12107 drivers/cpufreq/cpufreq_ondemand.c | 10 +-
12108 drivers/cpufreq/cpufreq_stats.c | 2 +-
12109 drivers/cpufreq/p4-clockmod.c | 12 +-
12110 drivers/cpufreq/sparc-us3-cpufreq.c | 67 +-
12111 drivers/cpufreq/speedstep-centrino.c | 7 +-
12112 drivers/cpuidle/cpuidle.c | 2 +-
12113 drivers/cpuidle/governor.c | 4 +-
12114 drivers/cpuidle/sysfs.c | 2 +-
12115 drivers/crypto/hifn_795x.c | 4 +-
12116 drivers/devfreq/devfreq.c | 4 +-
12117 drivers/dma/sh/shdmac.c | 2 +-
12118 drivers/edac/edac_device.c | 4 +-
12119 drivers/edac/edac_mc_sysfs.c | 12 +-
12120 drivers/edac/edac_pci.c | 4 +-
12121 drivers/edac/edac_pci_sysfs.c | 22 +-
12122 drivers/edac/mce_amd.h | 2 +-
12123 drivers/firewire/core-card.c | 6 +-
12124 drivers/firewire/core-device.c | 2 +-
12125 drivers/firewire/core-transaction.c | 1 +
12126 drivers/firewire/core.h | 1 +
12127 drivers/firmware/dmi-id.c | 2 +-
12128 drivers/firmware/dmi_scan.c | 2 +-
12129 drivers/firmware/efi/efi.c | 12 +-
12130 drivers/firmware/efi/efivars.c | 2 +-
12131 drivers/firmware/google/memconsole.c | 4 +-
12132 drivers/gpio/gpio-ich.c | 2 +-
12133 drivers/gpio/gpio-vr41xx.c | 2 +-
12134 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
12135 drivers/gpu/drm/drm_drv.c | 8 +-
12136 drivers/gpu/drm/drm_fops.c | 16 +-
12137 drivers/gpu/drm/drm_global.c | 14 +-
12138 drivers/gpu/drm/drm_info.c | 14 +-
12139 drivers/gpu/drm/drm_ioc32.c | 13 +-
12140 drivers/gpu/drm/drm_lock.c | 4 +-
12141 drivers/gpu/drm/drm_stub.c | 2 +-
12142 drivers/gpu/drm/drm_sysfs.c | 2 +-
12143 drivers/gpu/drm/i810/i810_dma.c | 8 +-
12144 drivers/gpu/drm/i810/i810_drv.h | 4 +-
12145 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
12146 drivers/gpu/drm/i915/i915_dma.c | 2 +-
12147 drivers/gpu/drm/i915/i915_drv.h | 2 +-
12148 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +-
12149 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
12150 drivers/gpu/drm/i915/i915_irq.c | 20 +-
12151 drivers/gpu/drm/i915/intel_display.c | 26 +-
12152 drivers/gpu/drm/mga/mga_drv.h | 4 +-
12153 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
12154 drivers/gpu/drm/mga/mga_irq.c | 8 +-
12155 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
12156 drivers/gpu/drm/nouveau/nouveau_drm.h | 1 -
12157 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
12158 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
12159 drivers/gpu/drm/qxl/qxl_cmd.c | 12 +-
12160 drivers/gpu/drm/qxl/qxl_debugfs.c | 8 +-
12161 drivers/gpu/drm/qxl/qxl_drv.h | 8 +-
12162 drivers/gpu/drm/qxl/qxl_irq.c | 16 +-
12163 drivers/gpu/drm/qxl/qxl_ttm.c | 38 +-
12164 drivers/gpu/drm/r128/r128_cce.c | 2 +-
12165 drivers/gpu/drm/r128/r128_drv.h | 4 +-
12166 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
12167 drivers/gpu/drm/r128/r128_irq.c | 4 +-
12168 drivers/gpu/drm/r128/r128_state.c | 4 +-
12169 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
12170 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
12171 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
12172 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
12173 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
12174 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
12175 drivers/gpu/drm/radeon/radeon_ttm.c | 57 +-
12176 drivers/gpu/drm/radeon/rs690.c | 4 +-
12177 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
12178 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
12179 drivers/gpu/drm/udl/udl_fb.c | 1 -
12180 drivers/gpu/drm/via/via_drv.h | 4 +-
12181 drivers/gpu/drm/via/via_irq.c | 18 +-
12182 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
12183 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
12184 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 +-
12185 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
12186 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
12187 drivers/gpu/host1x/drm/dc.c | 2 +-
12188 drivers/hid/hid-core.c | 4 +-
12189 drivers/hid/uhid.c | 6 +-
12190 drivers/hv/channel.c | 4 +-
12191 drivers/hv/hv.c | 2 +-
12192 drivers/hv/hv_balloon.c | 18 +-
12193 drivers/hv/hyperv_vmbus.h | 2 +-
12194 drivers/hv/vmbus_drv.c | 4 +-
12195 drivers/hwmon/acpi_power_meter.c | 4 +-
12196 drivers/hwmon/applesmc.c | 2 +-
12197 drivers/hwmon/asus_atk0110.c | 10 +-
12198 drivers/hwmon/coretemp.c | 2 +-
12199 drivers/hwmon/ibmaem.c | 2 +-
12200 drivers/hwmon/iio_hwmon.c | 2 +-
12201 drivers/hwmon/pmbus/pmbus_core.c | 10 +-
12202 drivers/hwmon/sht15.c | 12 +-
12203 drivers/hwmon/via-cputemp.c | 2 +-
12204 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
12205 drivers/i2c/busses/i2c-diolan-u2c.c | 2 +-
12206 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
12207 drivers/i2c/i2c-dev.c | 2 +-
12208 drivers/ide/ide-cd.c | 2 +-
12209 drivers/iio/industrialio-core.c | 2 +-
12210 drivers/infiniband/core/cm.c | 32 +-
12211 drivers/infiniband/core/fmr_pool.c | 20 +-
12212 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
12213 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
12214 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
12215 drivers/infiniband/hw/mlx4/mad.c | 2 +-
12216 drivers/infiniband/hw/mlx4/mcg.c | 2 +-
12217 drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
12218 drivers/infiniband/hw/mthca/mthca_cmd.c | 8 +-
12219 drivers/infiniband/hw/mthca/mthca_main.c | 2 +-
12220 drivers/infiniband/hw/mthca/mthca_mr.c | 6 +-
12221 drivers/infiniband/hw/mthca/mthca_provider.c | 2 +-
12222 drivers/infiniband/hw/nes/nes.c | 4 +-
12223 drivers/infiniband/hw/nes/nes.h | 40 +-
12224 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
12225 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
12226 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
12227 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
12228 drivers/infiniband/hw/qib/qib.h | 1 +
12229 drivers/input/gameport/gameport.c | 4 +-
12230 drivers/input/input.c | 4 +-
12231 drivers/input/joystick/sidewinder.c | 1 +
12232 drivers/input/joystick/xpad.c | 4 +-
12233 drivers/input/misc/ims-pcu.c | 4 +-
12234 drivers/input/mouse/psmouse.h | 2 +-
12235 drivers/input/mousedev.c | 2 +-
12236 drivers/input/serio/serio.c | 4 +-
12237 drivers/input/serio/serio_raw.c | 4 +-
12238 drivers/iommu/iommu.c | 2 +-
12239 drivers/iommu/irq_remapping.c | 12 +-
12240 drivers/irqchip/irq-gic.c | 4 +-
12241 drivers/isdn/capi/capi.c | 10 +-
12242 drivers/isdn/gigaset/interface.c | 8 +-
12243 drivers/isdn/gigaset/usb-gigaset.c | 2 +-
12244 drivers/isdn/hardware/avm/b1.c | 4 +-
12245 drivers/isdn/i4l/isdn_common.c | 2 +
12246 drivers/isdn/i4l/isdn_tty.c | 22 +-
12247 drivers/isdn/icn/icn.c | 2 +-
12248 drivers/isdn/mISDN/dsp_cmx.c | 2 +-
12249 drivers/leds/leds-clevo-mail.c | 2 +-
12250 drivers/leds/leds-ss4200.c | 2 +-
12251 drivers/lguest/core.c | 10 +-
12252 drivers/lguest/page_tables.c | 2 +-
12253 drivers/lguest/x86/core.c | 12 +-
12254 drivers/lguest/x86/switcher_32.S | 27 +-
12255 drivers/md/bcache/closure.h | 2 +-
12256 drivers/md/bcache/super.c | 2 +-
12257 drivers/md/bitmap.c | 2 +-
12258 drivers/md/dm-ioctl.c | 2 +-
12259 drivers/md/dm-raid1.c | 16 +-
12260 drivers/md/dm-stats.c | 6 +-
12261 drivers/md/dm-stripe.c | 10 +-
12262 drivers/md/dm-table.c | 4 +-
12263 drivers/md/dm-thin-metadata.c | 4 +-
12264 drivers/md/dm.c | 16 +-
12265 drivers/md/md.c | 26 +-
12266 drivers/md/md.h | 6 +-
12267 drivers/md/persistent-data/dm-space-map.h | 1 +
12268 drivers/md/raid1.c | 4 +-
12269 drivers/md/raid10.c | 16 +-
12270 drivers/md/raid5.c | 10 +-
12271 drivers/media/dvb-core/dvbdev.c | 2 +-
12272 drivers/media/dvb-frontends/dib3000.h | 2 +-
12273 drivers/media/pci/cx88/cx88-video.c | 6 +-
12274 drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
12275 drivers/media/platform/omap/omap_vout.c | 11 +-
12276 drivers/media/platform/s5p-tv/mixer.h | 2 +-
12277 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
12278 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
12279 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
12280 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
12281 drivers/media/radio/radio-cadet.c | 2 +
12282 drivers/media/radio/radio-maxiradio.c | 2 +-
12283 drivers/media/radio/radio-shark.c | 2 +-
12284 drivers/media/radio/radio-shark2.c | 2 +-
12285 drivers/media/radio/radio-si476x.c | 2 +-
12286 drivers/media/rc/rc-main.c | 4 +-
12287 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
12288 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
12289 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +-
12290 drivers/media/v4l2-core/v4l2-device.c | 4 +-
12291 drivers/media/v4l2-core/v4l2-ioctl.c | 11 +-
12292 drivers/message/fusion/mptsas.c | 34 +-
12293 drivers/message/fusion/mptscsih.c | 19 +-
12294 drivers/message/i2o/i2o_proc.c | 67 +-
12295 drivers/message/i2o/iop.c | 8 +-
12296 drivers/mfd/janz-cmodio.c | 1 +
12297 drivers/mfd/max8925-i2c.c | 2 +-
12298 drivers/mfd/tps65910.c | 2 +-
12299 drivers/mfd/twl4030-irq.c | 9 +-
12300 drivers/misc/c2port/core.c | 4 +-
12301 drivers/misc/kgdbts.c | 4 +-
12302 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
12303 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
12304 drivers/misc/sgi-gru/gruhandles.c | 4 +-
12305 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
12306 drivers/misc/sgi-gru/grutables.h | 154 +-
12307 drivers/misc/sgi-xp/xp.h | 2 +-
12308 drivers/misc/sgi-xp/xpc.h | 3 +-
12309 drivers/misc/sgi-xp/xpc_main.c | 4 +-
12310 drivers/mmc/core/mmc_ops.c | 2 +-
12311 drivers/mmc/host/dw_mmc.h | 2 +-
12312 drivers/mmc/host/mmci.c | 4 +-
12313 drivers/mmc/host/sdhci-s3c.c | 8 +-
12314 drivers/mtd/chips/cfi_cmdset_0020.c | 2 +-
12315 drivers/mtd/nand/denali.c | 1 +
12316 drivers/mtd/nftlmount.c | 1 +
12317 drivers/mtd/sm_ftl.c | 2 +-
12318 drivers/net/bonding/bond_main.c | 2 +-
12319 drivers/net/ethernet/8390/ax88796.c | 4 +-
12320 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
12321 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
12322 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
12323 drivers/net/ethernet/broadcom/tg3.h | 1 +
12324 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
12325 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
12326 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
12327 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
12328 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
12329 drivers/net/ethernet/faraday/ftmac100.c | 2 +
12330 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
12331 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
12332 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +-
12333 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +-
12334 .../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 2 +-
12335 drivers/net/ethernet/realtek/r8169.c | 8 +-
12336 drivers/net/ethernet/sfc/ptp.c | 2 +-
12337 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
12338 drivers/net/hyperv/hyperv_net.h | 2 +-
12339 drivers/net/hyperv/rndis_filter.c | 4 +-
12340 drivers/net/ieee802154/fakehard.c | 2 +-
12341 drivers/net/macvlan.c | 18 +-
12342 drivers/net/macvtap.c | 2 +-
12343 drivers/net/ppp/ppp_generic.c | 4 +-
12344 drivers/net/slip/slhc.c | 2 +-
12345 drivers/net/team/team.c | 2 +-
12346 drivers/net/tun.c | 5 +-
12347 drivers/net/usb/hso.c | 23 +-
12348 drivers/net/usb/sierra_net.c | 4 +-
12349 drivers/net/vxlan.c | 2 +-
12350 drivers/net/wimax/i2400m/rx.c | 2 +-
12351 drivers/net/wireless/airo.c | 2 +-
12352 drivers/net/wireless/at76c50x-usb.c | 2 +-
12353 drivers/net/wireless/ath/ath10k/htc.c | 7 +-
12354 drivers/net/wireless/ath/ath10k/htc.h | 4 +-
12355 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
12356 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
12357 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
12358 drivers/net/wireless/b43/phy_lp.c | 2 +-
12359 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
12360 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 34 +-
12361 drivers/net/wireless/iwlwifi/dvm/main.c | 3 +-
12362 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
12363 drivers/net/wireless/mac80211_hwsim.c | 32 +-
12364 drivers/net/wireless/rndis_wlan.c | 2 +-
12365 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
12366 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
12367 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
12368 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
12369 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
12370 drivers/nfc/nfcwilink.c | 2 +-
12371 drivers/oprofile/buffer_sync.c | 8 +-
12372 drivers/oprofile/event_buffer.c | 2 +-
12373 drivers/oprofile/oprof.c | 2 +-
12374 drivers/oprofile/oprofile_files.c | 2 +-
12375 drivers/oprofile/oprofile_stats.c | 10 +-
12376 drivers/oprofile/oprofile_stats.h | 10 +-
12377 drivers/oprofile/oprofilefs.c | 6 +-
12378 drivers/oprofile/timer_int.c | 2 +-
12379 drivers/parport/procfs.c | 4 +-
12380 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
12381 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
12382 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
12383 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
12384 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
12385 drivers/pci/hotplug/pciehp_core.c | 2 +-
12386 drivers/pci/pci-sysfs.c | 6 +-
12387 drivers/pci/pci.h | 2 +-
12388 drivers/pci/pcie/aspm.c | 6 +-
12389 drivers/pci/probe.c | 2 +-
12390 drivers/platform/x86/chromeos_laptop.c | 2 +-
12391 drivers/platform/x86/msi-laptop.c | 14 +-
12392 drivers/platform/x86/msi-wmi.c | 2 +-
12393 drivers/platform/x86/sony-laptop.c | 2 +-
12394 drivers/platform/x86/thinkpad_acpi.c | 70 +-
12395 drivers/pnp/pnpbios/bioscalls.c | 14 +-
12396 drivers/pnp/resource.c | 4 +-
12397 drivers/power/pda_power.c | 7 +-
12398 drivers/power/power_supply.h | 4 +-
12399 drivers/power/power_supply_core.c | 7 +-
12400 drivers/power/power_supply_sysfs.c | 6 +-
12401 drivers/regulator/core.c | 4 +-
12402 drivers/regulator/max8660.c | 6 +-
12403 drivers/regulator/max8973-regulator.c | 8 +-
12404 drivers/regulator/mc13892-regulator.c | 6 +-
12405 drivers/rtc/rtc-cmos.c | 4 +-
12406 drivers/rtc/rtc-ds1307.c | 2 +-
12407 drivers/rtc/rtc-m48t59.c | 4 +-
12408 drivers/scsi/aic7xxx/aic79xx_pci.c | 18 +-
12409 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
12410 drivers/scsi/bfa/bfa_ioc.h | 4 +-
12411 drivers/scsi/fcoe/fcoe_sysfs.c | 12 +-
12412 drivers/scsi/hosts.c | 4 +-
12413 drivers/scsi/hpsa.c | 30 +-
12414 drivers/scsi/hpsa.h | 2 +-
12415 drivers/scsi/libfc/fc_exch.c | 50 +-
12416 drivers/scsi/libsas/sas_ata.c | 2 +-
12417 drivers/scsi/lpfc/lpfc.h | 8 +-
12418 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
12419 drivers/scsi/lpfc/lpfc_init.c | 6 +-
12420 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
12421 drivers/scsi/mpt2sas/mpt2sas_scsih.c | 8 +-
12422 drivers/scsi/pmcraid.c | 20 +-
12423 drivers/scsi/pmcraid.h | 8 +-
12424 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
12425 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
12426 drivers/scsi/qla2xxx/qla_os.c | 6 +-
12427 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
12428 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
12429 drivers/scsi/scsi.c | 2 +-
12430 drivers/scsi/scsi_lib.c | 6 +-
12431 drivers/scsi/scsi_sysfs.c | 2 +-
12432 drivers/scsi/scsi_tgt_lib.c | 2 +-
12433 drivers/scsi/scsi_transport_fc.c | 8 +-
12434 drivers/scsi/scsi_transport_iscsi.c | 6 +-
12435 drivers/scsi/scsi_transport_srp.c | 6 +-
12436 drivers/scsi/sd.c | 2 +-
12437 drivers/scsi/sg.c | 2 +-
12438 drivers/spi/spi.c | 2 +-
12439 drivers/staging/android/timed_output.c | 6 +-
12440 drivers/staging/gdm724x/gdm_tty.c | 2 +-
12441 drivers/staging/media/solo6x10/solo6x10-core.c | 2 +-
12442 drivers/staging/media/solo6x10/solo6x10-p2m.c | 2 +-
12443 drivers/staging/media/solo6x10/solo6x10.h | 2 +-
12444 drivers/staging/octeon/ethernet-rx.c | 12 +-
12445 drivers/staging/octeon/ethernet.c | 8 +-
12446 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
12447 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
12448 drivers/staging/usbip/vhci.h | 2 +-
12449 drivers/staging/usbip/vhci_hcd.c | 6 +-
12450 drivers/staging/usbip/vhci_rx.c | 2 +-
12451 drivers/staging/vt6655/hostap.c | 7 +-
12452 drivers/staging/vt6656/hostap.c | 7 +-
12453 drivers/target/sbp/sbp_target.c | 4 +-
12454 drivers/target/target_core_device.c | 2 +-
12455 drivers/target/target_core_transport.c | 2 +-
12456 drivers/tty/cyclades.c | 6 +-
12457 drivers/tty/hvc/hvc_console.c | 14 +-
12458 drivers/tty/hvc/hvcs.c | 21 +-
12459 drivers/tty/hvc/hvsi.c | 12 +-
12460 drivers/tty/hvc/hvsi_lib.c | 6 +-
12461 drivers/tty/ipwireless/tty.c | 27 +-
12462 drivers/tty/moxa.c | 2 +-
12463 drivers/tty/n_gsm.c | 4 +-
12464 drivers/tty/n_tty.c | 3 +-
12465 drivers/tty/pty.c | 4 +-
12466 drivers/tty/rocket.c | 6 +-
12467 drivers/tty/serial/ioc4_serial.c | 6 +-
12468 drivers/tty/serial/kgdboc.c | 32 +-
12469 drivers/tty/serial/msm_serial.c | 4 +-
12470 drivers/tty/serial/samsung.c | 9 +-
12471 drivers/tty/serial/serial_core.c | 8 +-
12472 drivers/tty/synclink.c | 34 +-
12473 drivers/tty/synclink_gt.c | 28 +-
12474 drivers/tty/synclinkmp.c | 34 +-
12475 drivers/tty/tty_io.c | 2 +-
12476 drivers/tty/tty_ldisc.c | 8 +-
12477 drivers/tty/tty_port.c | 22 +-
12478 drivers/uio/uio.c | 15 +-
12479 drivers/usb/atm/cxacru.c | 2 +-
12480 drivers/usb/atm/usbatm.c | 24 +-
12481 drivers/usb/core/devices.c | 6 +-
12482 drivers/usb/core/hcd.c | 4 +-
12483 drivers/usb/core/message.c | 6 +-
12484 drivers/usb/core/sysfs.c | 2 +-
12485 drivers/usb/core/usb.c | 2 +-
12486 drivers/usb/dwc3/gadget.c | 2 -
12487 drivers/usb/early/ehci-dbgp.c | 16 +-
12488 drivers/usb/gadget/u_serial.c | 22 +-
12489 drivers/usb/host/ehci-hub.c | 4 +-
12490 drivers/usb/misc/appledisplay.c | 4 +-
12491 drivers/usb/serial/console.c | 8 +-
12492 drivers/usb/storage/usb.h | 2 +-
12493 drivers/usb/wusbcore/wa-hc.h | 4 +-
12494 drivers/usb/wusbcore/wa-xfer.c | 2 +-
12495 drivers/vfio/vfio.c | 2 +-
12496 drivers/vhost/vringh.c | 2 +-
12497 drivers/video/aty/aty128fb.c | 2 +-
12498 drivers/video/aty/atyfb_base.c | 8 +-
12499 drivers/video/aty/mach64_cursor.c | 5 +-
12500 drivers/video/backlight/kb3886_bl.c | 2 +-
12501 drivers/video/fb_defio.c | 6 +-
12502 drivers/video/fbmem.c | 6 +-
12503 drivers/video/hyperv_fb.c | 4 +-
12504 drivers/video/i810/i810_accel.c | 1 +
12505 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
12506 drivers/video/nvidia/nvidia.c | 27 +-
12507 drivers/video/s1d13xxxfb.c | 6 +-
12508 drivers/video/smscufx.c | 4 +-
12509 drivers/video/udlfb.c | 36 +-
12510 drivers/video/uvesafb.c | 53 +-
12511 drivers/video/vesafb.c | 58 +-
12512 drivers/video/via/via_clock.h | 2 +-
12513 fs/9p/vfs_addr.c | 2 +-
12514 fs/9p/vfs_inode.c | 2 +-
12515 fs/Kconfig.binfmt | 2 +-
12516 fs/afs/inode.c | 4 +-
12517 fs/aio.c | 2 +-
12518 fs/autofs4/waitq.c | 2 +-
12519 fs/befs/endian.h | 6 +-
12520 fs/befs/linuxvfs.c | 2 +-
12521 fs/binfmt_aout.c | 23 +-
12522 fs/binfmt_elf.c | 656 ++-
12523 fs/binfmt_flat.c | 6 +
12524 fs/bio.c | 6 +-
12525 fs/block_dev.c | 2 +-
12526 fs/btrfs/ctree.c | 9 +-
12527 fs/btrfs/delayed-inode.c | 6 +-
12528 fs/btrfs/delayed-inode.h | 4 +-
12529 fs/btrfs/super.c | 2 +-
12530 fs/buffer.c | 2 +-
12531 fs/cachefiles/bind.c | 6 +-
12532 fs/cachefiles/daemon.c | 8 +-
12533 fs/cachefiles/internal.h | 12 +-
12534 fs/cachefiles/namei.c | 2 +-
12535 fs/cachefiles/proc.c | 12 +-
12536 fs/cachefiles/rdwr.c | 2 +-
12537 fs/ceph/dir.c | 2 +-
12538 fs/ceph/super.c | 4 +-
12539 fs/cifs/cifs_debug.c | 12 +-
12540 fs/cifs/cifsfs.c | 8 +-
12541 fs/cifs/cifsglob.h | 54 +-
12542 fs/cifs/link.c | 2 +-
12543 fs/cifs/misc.c | 4 +-
12544 fs/cifs/smb1ops.c | 80 +-
12545 fs/cifs/smb2ops.c | 84 +-
12546 fs/cifs/smb2pdu.c | 3 +-
12547 fs/coda/cache.c | 10 +-
12548 fs/compat.c | 4 +-
12549 fs/compat_binfmt_elf.c | 2 +
12550 fs/compat_ioctl.c | 12 +-
12551 fs/configfs/dir.c | 10 +-
12552 fs/coredump.c | 18 +-
12553 fs/dcache.c | 3 +-
12554 fs/ecryptfs/inode.c | 4 +-
12555 fs/ecryptfs/miscdev.c | 2 +-
12556 fs/exec.c | 362 +-
12557 fs/ext2/xattr.c | 5 +-
12558 fs/ext3/xattr.c | 5 +-
12559 fs/ext4/ext4.h | 20 +-
12560 fs/ext4/mballoc.c | 44 +-
12561 fs/ext4/mmp.c | 2 +-
12562 fs/ext4/super.c | 4 +-
12563 fs/ext4/xattr.c | 5 +-
12564 fs/fhandle.c | 3 +-
12565 fs/fs_struct.c | 8 +-
12566 fs/fscache/cookie.c | 40 +-
12567 fs/fscache/internal.h | 200 +-
12568 fs/fscache/object.c | 26 +-
12569 fs/fscache/operation.c | 30 +-
12570 fs/fscache/page.c | 110 +-
12571 fs/fscache/stats.c | 344 +-
12572 fs/fuse/cuse.c | 10 +-
12573 fs/fuse/dev.c | 4 +-
12574 fs/fuse/dir.c | 2 +-
12575 fs/gfs2/inode.c | 2 +-
12576 fs/hostfs/hostfs_kern.c | 2 +-
12577 fs/hugetlbfs/inode.c | 13 +-
12578 fs/inode.c | 4 +-
12579 fs/jffs2/erase.c | 3 +-
12580 fs/jffs2/wbuf.c | 3 +-
12581 fs/jfs/super.c | 2 +-
12582 fs/libfs.c | 10 +-
12583 fs/lockd/clntproc.c | 4 +-
12584 fs/locks.c | 8 +-
12585 fs/namei.c | 15 +-
12586 fs/namespace.c | 16 +-
12587 fs/nfs/callback_xdr.c | 2 +-
12588 fs/nfs/inode.c | 6 +-
12589 fs/nfsd/nfs4proc.c | 2 +-
12590 fs/nfsd/nfs4xdr.c | 6 +-
12591 fs/nfsd/nfscache.c | 9 +-
12592 fs/nfsd/vfs.c | 6 +-
12593 fs/nls/nls_base.c | 18 +-
12594 fs/nls/nls_euc-jp.c | 6 +-
12595 fs/nls/nls_koi8-ru.c | 6 +-
12596 fs/notify/fanotify/fanotify_user.c | 4 +-
12597 fs/notify/notification.c | 4 +-
12598 fs/ntfs/dir.c | 2 +-
12599 fs/ntfs/file.c | 2 +-
12600 fs/ntfs/super.c | 6 +-
12601 fs/ocfs2/localalloc.c | 2 +-
12602 fs/ocfs2/ocfs2.h | 10 +-
12603 fs/ocfs2/suballoc.c | 12 +-
12604 fs/ocfs2/super.c | 20 +-
12605 fs/pipe.c | 61 +-
12606 fs/proc/array.c | 20 +
12607 fs/proc/base.c | 4 +-
12608 fs/proc/kcore.c | 32 +-
12609 fs/proc/meminfo.c | 2 +-
12610 fs/proc/nommu.c | 2 +-
12611 fs/proc/proc_sysctl.c | 18 +-
12612 fs/proc/self.c | 2 +-
12613 fs/proc/task_mmu.c | 39 +-
12614 fs/proc/task_nommu.c | 4 +-
12615 fs/proc/vmcore.c | 12 +-
12616 fs/qnx6/qnx6.h | 4 +-
12617 fs/quota/netlink.c | 4 +-
12618 fs/read_write.c | 2 +-
12619 fs/reiserfs/do_balan.c | 2 +-
12620 fs/reiserfs/procfs.c | 2 +-
12621 fs/reiserfs/reiserfs.h | 4 +-
12622 fs/seq_file.c | 4 +-
12623 fs/splice.c | 41 +-
12624 fs/sysfs/bin.c | 6 +-
12625 fs/sysfs/dir.c | 2 +-
12626 fs/sysfs/file.c | 10 +-
12627 fs/sysfs/symlink.c | 2 +-
12628 fs/sysv/sysv.h | 2 +-
12629 fs/ubifs/io.c | 2 +-
12630 fs/udf/misc.c | 2 +-
12631 fs/ufs/swab.h | 4 +-
12632 fs/xattr.c | 21 +
12633 fs/xattr_acl.c | 4 +-
12634 fs/xfs/xfs_bmap.c | 2 +-
12635 fs/xfs/xfs_dir2_readdir.c | 7 +-
12636 fs/xfs/xfs_ioctl.c | 2 +-
12637 fs/xfs/xfs_iops.c | 2 +-
12638 include/asm-generic/4level-fixup.h | 2 +
12639 include/asm-generic/atomic-long.h | 210 +
12640 include/asm-generic/atomic.h | 2 +-
12641 include/asm-generic/atomic64.h | 12 +
12642 include/asm-generic/cache.h | 4 +-
12643 include/asm-generic/emergency-restart.h | 2 +-
12644 include/asm-generic/kmap_types.h | 4 +-
12645 include/asm-generic/local.h | 13 +
12646 include/asm-generic/pgtable-nopmd.h | 18 +-
12647 include/asm-generic/pgtable-nopud.h | 15 +-
12648 include/asm-generic/pgtable.h | 16 +
12649 include/asm-generic/uaccess.h | 16 +
12650 include/asm-generic/vmlinux.lds.h | 10 +-
12651 include/crypto/algapi.h | 2 +-
12652 include/drm/drmP.h | 17 +-
12653 include/drm/drm_crtc_helper.h | 2 +-
12654 include/drm/i915_pciids.h | 2 +-
12655 include/drm/ttm/ttm_memory.h | 2 +-
12656 include/keys/asymmetric-subtype.h | 2 +-
12657 include/linux/atmdev.h | 4 +-
12658 include/linux/audit.h | 2 +-
12659 include/linux/binfmts.h | 3 +-
12660 include/linux/bitops.h | 4 +-
12661 include/linux/blkdev.h | 2 +-
12662 include/linux/blktrace_api.h | 2 +-
12663 include/linux/cache.h | 8 +
12664 include/linux/cdrom.h | 1 -
12665 include/linux/cleancache.h | 2 +-
12666 include/linux/clk-provider.h | 1 +
12667 include/linux/compat.h | 4 +-
12668 include/linux/compiler-gcc4.h | 20 +
12669 include/linux/compiler.h | 65 +-
12670 include/linux/completion.h | 12 +-
12671 include/linux/configfs.h | 2 +-
12672 include/linux/cpufreq.h | 3 +-
12673 include/linux/cpuidle.h | 5 +-
12674 include/linux/cpumask.h | 12 +-
12675 include/linux/crypto.h | 6 +-
12676 include/linux/ctype.h | 2 +-
12677 include/linux/decompress/mm.h | 2 +-
12678 include/linux/devfreq.h | 2 +-
12679 include/linux/device.h | 7 +-
12680 include/linux/dma-mapping.h | 2 +-
12681 include/linux/dmaengine.h | 4 +-
12682 include/linux/efi.h | 1 +
12683 include/linux/elf.h | 2 +
12684 include/linux/err.h | 4 +-
12685 include/linux/extcon.h | 2 +-
12686 include/linux/fb.h | 2 +-
12687 include/linux/fdtable.h | 2 +-
12688 include/linux/frontswap.h | 2 +-
12689 include/linux/fs.h | 3 +-
12690 include/linux/fs_struct.h | 2 +-
12691 include/linux/fscache-cache.h | 4 +-
12692 include/linux/fscache.h | 2 +-
12693 include/linux/fsnotify.h | 2 +-
12694 include/linux/genhd.h | 4 +-
12695 include/linux/genl_magic_func.h | 2 +-
12696 include/linux/gfp.h | 12 +-
12697 include/linux/highmem.h | 12 +
12698 include/linux/hwmon-sysfs.h | 5 +-
12699 include/linux/i2c.h | 1 +
12700 include/linux/i2o.h | 2 +-
12701 include/linux/if_pppox.h | 2 +-
12702 include/linux/init.h | 12 +-
12703 include/linux/init_task.h | 7 +
12704 include/linux/interrupt.h | 8 +-
12705 include/linux/iommu.h | 2 +-
12706 include/linux/ioport.h | 2 +-
12707 include/linux/irq.h | 3 +-
12708 include/linux/irqchip/arm-gic.h | 4 +-
12709 include/linux/jiffies.h | 12 +-
12710 include/linux/key-type.h | 2 +-
12711 include/linux/kgdb.h | 6 +-
12712 include/linux/kobject.h | 3 +-
12713 include/linux/kobject_ns.h | 2 +-
12714 include/linux/kref.h | 2 +-
12715 include/linux/kvm_host.h | 4 +-
12716 include/linux/libata.h | 2 +-
12717 include/linux/linkage.h | 1 +
12718 include/linux/list.h | 15 +
12719 include/linux/math64.h | 10 +-
12720 include/linux/mempolicy.h | 7 +
12721 include/linux/mm.h | 118 +-
12722 include/linux/mm_types.h | 20 +
12723 include/linux/mmiotrace.h | 4 +-
12724 include/linux/mmzone.h | 2 +-
12725 include/linux/mod_devicetable.h | 6 +-
12726 include/linux/module.h | 60 +-
12727 include/linux/moduleloader.h | 16 +
12728 include/linux/moduleparam.h | 4 +-
12729 include/linux/namei.h | 6 +-
12730 include/linux/net.h | 2 +-
12731 include/linux/netdevice.h | 3 +-
12732 include/linux/netfilter.h | 2 +-
12733 include/linux/netfilter/ipset/ip_set.h | 2 +-
12734 include/linux/netfilter/nfnetlink.h | 2 +-
12735 include/linux/nls.h | 2 +-
12736 include/linux/notifier.h | 3 +-
12737 include/linux/oprofile.h | 4 +-
12738 include/linux/pci_hotplug.h | 3 +-
12739 include/linux/perf_event.h | 10 +-
12740 include/linux/pipe_fs_i.h | 8 +-
12741 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
12742 include/linux/platform_data/usb-ohci-exynos.h | 2 +-
12743 include/linux/pm_domain.h | 2 +-
12744 include/linux/pm_runtime.h | 2 +-
12745 include/linux/pnp.h | 2 +-
12746 include/linux/poison.h | 4 +-
12747 include/linux/power/smartreflex.h | 2 +-
12748 include/linux/ppp-comp.h | 2 +-
12749 include/linux/preempt.h | 19 +
12750 include/linux/proc_ns.h | 2 +-
12751 include/linux/quota.h | 2 +-
12752 include/linux/random.h | 19 +-
12753 include/linux/rculist.h | 16 +
12754 include/linux/reboot.h | 14 +-
12755 include/linux/regset.h | 3 +-
12756 include/linux/relay.h | 2 +-
12757 include/linux/rio.h | 2 +-
12758 include/linux/rmap.h | 4 +-
12759 include/linux/sched.h | 67 +-
12760 include/linux/sched/sysctl.h | 1 +
12761 include/linux/security.h | 2 -
12762 include/linux/semaphore.h | 2 +-
12763 include/linux/seq_file.h | 1 +
12764 include/linux/skbuff.h | 12 +-
12765 include/linux/slab.h | 48 +-
12766 include/linux/slab_def.h | 14 +-
12767 include/linux/slub_def.h | 2 +-
12768 include/linux/smp.h | 2 +
12769 include/linux/sock_diag.h | 2 +-
12770 include/linux/sonet.h | 2 +-
12771 include/linux/sunrpc/addr.h | 8 +-
12772 include/linux/sunrpc/clnt.h | 2 +-
12773 include/linux/sunrpc/svc.h | 2 +-
12774 include/linux/sunrpc/svc_rdma.h | 18 +-
12775 include/linux/sunrpc/svcauth.h | 2 +-
12776 include/linux/swiotlb.h | 3 +-
12777 include/linux/syscalls.h | 18 +-
12778 include/linux/syscore_ops.h | 2 +-
12779 include/linux/sysctl.h | 6 +-
12780 include/linux/sysfs.h | 9 +-
12781 include/linux/sysrq.h | 3 +-
12782 include/linux/thread_info.h | 7 +
12783 include/linux/tty.h | 4 +-
12784 include/linux/tty_driver.h | 2 +-
12785 include/linux/tty_ldisc.h | 2 +-
12786 include/linux/types.h | 16 +
12787 include/linux/uaccess.h | 6 +-
12788 include/linux/unaligned/access_ok.h | 24 +-
12789 include/linux/usb.h | 4 +-
12790 include/linux/usb/renesas_usbhs.h | 2 +-
12791 include/linux/vermagic.h | 21 +-
12792 include/linux/vmalloc.h | 9 +-
12793 include/linux/vmstat.h | 20 +-
12794 include/linux/xattr.h | 5 +-
12795 include/linux/zlib.h | 3 +-
12796 include/media/v4l2-dev.h | 2 +-
12797 include/media/v4l2-device.h | 2 +-
12798 include/net/9p/transport.h | 2 +-
12799 include/net/bluetooth/l2cap.h | 2 +-
12800 include/net/caif/cfctrl.h | 6 +-
12801 include/net/flow.h | 2 +-
12802 include/net/genetlink.h | 2 +-
12803 include/net/gro_cells.h | 2 +-
12804 include/net/inet_connection_sock.h | 2 +-
12805 include/net/inetpeer.h | 17 +-
12806 include/net/ip.h | 2 +-
12807 include/net/ip_fib.h | 2 +-
12808 include/net/ip_vs.h | 8 +-
12809 include/net/irda/ircomm_tty.h | 1 +
12810 include/net/iucv/af_iucv.h | 2 +-
12811 include/net/llc_c_ac.h | 2 +-
12812 include/net/llc_c_ev.h | 4 +-
12813 include/net/llc_c_st.h | 2 +-
12814 include/net/llc_s_ac.h | 2 +-
12815 include/net/llc_s_st.h | 2 +-
12816 include/net/mac80211.h | 2 +-
12817 include/net/neighbour.h | 2 +-
12818 include/net/net_namespace.h | 20 +-
12819 include/net/netdma.h | 2 +-
12820 include/net/netlink.h | 2 +-
12821 include/net/netns/conntrack.h | 6 +-
12822 include/net/netns/ipv4.h | 4 +-
12823 include/net/netns/ipv6.h | 4 +-
12824 include/net/ping.h | 2 +-
12825 include/net/protocol.h | 4 +-
12826 include/net/rtnetlink.h | 2 +-
12827 include/net/sctp/sm.h | 4 +-
12828 include/net/sctp/structs.h | 2 +-
12829 include/net/sock.h | 6 +-
12830 include/net/tcp.h | 8 +-
12831 include/net/xfrm.h | 13 +-
12832 include/rdma/iw_cm.h | 2 +-
12833 include/scsi/libfc.h | 3 +-
12834 include/scsi/scsi_device.h | 6 +-
12835 include/scsi/scsi_transport_fc.h | 3 +-
12836 include/sound/compress_driver.h | 2 +-
12837 include/sound/soc.h | 4 +-
12838 include/target/target_core_base.h | 2 +-
12839 include/trace/events/irq.h | 4 +-
12840 include/uapi/linux/a.out.h | 8 +
12841 include/uapi/linux/byteorder/little_endian.h | 28 +-
12842 include/uapi/linux/elf.h | 28 +
12843 include/uapi/linux/screen_info.h | 3 +-
12844 include/uapi/linux/swab.h | 6 +-
12845 include/uapi/linux/sysctl.h | 6 +-
12846 include/uapi/linux/xattr.h | 4 +
12847 include/video/udlfb.h | 8 +-
12848 include/video/uvesafb.h | 1 +
12849 init/Kconfig | 2 +-
12850 init/Makefile | 3 +
12851 init/do_mounts.c | 14 +-
12852 init/do_mounts.h | 8 +-
12853 init/do_mounts_initrd.c | 30 +-
12854 init/do_mounts_md.c | 6 +-
12855 init/init_task.c | 4 +
12856 init/initramfs.c | 42 +-
12857 init/main.c | 77 +-
12858 ipc/ipc_sysctl.c | 10 +-
12859 ipc/mq_sysctl.c | 2 +-
12860 ipc/msg.c | 11 +-
12861 ipc/sem.c | 11 +-
12862 ipc/shm.c | 17 +-
12863 kernel/acct.c | 2 +-
12864 kernel/audit.c | 10 +-
12865 kernel/auditsc.c | 4 +-
12866 kernel/capability.c | 3 +
12867 kernel/compat.c | 38 +-
12868 kernel/debug/debug_core.c | 16 +-
12869 kernel/debug/kdb/kdb_main.c | 4 +-
12870 kernel/events/core.c | 30 +-
12871 kernel/events/internal.h | 12 +-
12872 kernel/events/uprobes.c | 2 +-
12873 kernel/exit.c | 4 +-
12874 kernel/fork.c | 166 +-
12875 kernel/futex.c | 11 +-
12876 kernel/futex_compat.c | 2 +-
12877 kernel/gcov/base.c | 7 +-
12878 kernel/hrtimer.c | 2 +-
12879 kernel/irq_work.c | 7 +-
12880 kernel/jump_label.c | 5 +
12881 kernel/kallsyms.c | 39 +-
12882 kernel/kexec.c | 3 +-
12883 kernel/kmod.c | 4 +-
12884 kernel/kprobes.c | 8 +-
12885 kernel/ksysfs.c | 2 +-
12886 kernel/lockdep.c | 7 +-
12887 kernel/module.c | 337 +-
12888 kernel/mutex-debug.c | 12 +-
12889 kernel/mutex-debug.h | 4 +-
12890 kernel/mutex.c | 10 +-
12891 kernel/notifier.c | 17 +-
12892 kernel/panic.c | 3 +-
12893 kernel/pid.c | 2 +-
12894 kernel/pid_namespace.c | 2 +-
12895 kernel/posix-cpu-timers.c | 4 +-
12896 kernel/posix-timers.c | 24 +-
12897 kernel/power/process.c | 12 +-
12898 kernel/profile.c | 14 +-
12899 kernel/ptrace.c | 8 +-
12900 kernel/rcupdate.c | 4 +-
12901 kernel/rcutiny.c | 4 +-
12902 kernel/rcutorture.c | 56 +-
12903 kernel/rcutree.c | 76 +-
12904 kernel/rcutree.h | 26 +-
12905 kernel/rcutree_plugin.h | 30 +-
12906 kernel/rcutree_trace.c | 22 +-
12907 kernel/rtmutex-tester.c | 24 +-
12908 kernel/sched/auto_group.c | 4 +-
12909 kernel/sched/core.c | 49 +-
12910 kernel/sched/fair.c | 4 +-
12911 kernel/sched/sched.h | 2 +-
12912 kernel/signal.c | 12 +-
12913 kernel/smpboot.c | 4 +-
12914 kernel/softirq.c | 14 +-
12915 kernel/srcu.c | 4 +-
12916 kernel/sys.c | 10 +-
12917 kernel/sysctl.c | 39 +-
12918 kernel/time/alarmtimer.c | 2 +-
12919 kernel/time/timer_stats.c | 10 +-
12920 kernel/timer.c | 4 +-
12921 kernel/trace/blktrace.c | 6 +-
12922 kernel/trace/ftrace.c | 18 +-
12923 kernel/trace/ring_buffer.c | 76 +-
12924 kernel/trace/trace.c | 2 +-
12925 kernel/trace/trace.h | 2 +-
12926 kernel/trace/trace_clock.c | 4 +-
12927 kernel/trace/trace_events.c | 1 -
12928 kernel/trace/trace_mmiotrace.c | 8 +-
12929 kernel/trace/trace_output.c | 12 +-
12930 kernel/trace/trace_stack.c | 2 +-
12931 kernel/user_namespace.c | 2 +-
12932 kernel/utsname_sysctl.c | 2 +-
12933 kernel/watchdog.c | 2 +-
12934 kernel/workqueue.c | 2 +-
12935 lib/Kconfig.debug | 8 +-
12936 lib/Makefile | 2 +-
12937 lib/bitmap.c | 8 +-
12938 lib/bug.c | 2 +
12939 lib/debugobjects.c | 2 +-
12940 lib/devres.c | 4 +-
12941 lib/div64.c | 4 +-
12942 lib/dma-debug.c | 4 +-
12943 lib/inflate.c | 2 +-
12944 lib/ioremap.c | 4 +-
12945 lib/kobject.c | 4 +-
12946 lib/list_debug.c | 126 +-
12947 lib/percpu-refcount.c | 2 +-
12948 lib/radix-tree.c | 2 +-
12949 lib/strncpy_from_user.c | 2 +-
12950 lib/strnlen_user.c | 2 +-
12951 lib/swiotlb.c | 2 +-
12952 lib/usercopy.c | 6 +
12953 lib/vsprintf.c | 12 +-
12954 mm/Kconfig | 6 +-
12955 mm/backing-dev.c | 4 +-
12956 mm/filemap.c | 10 +-
12957 mm/fremap.c | 5 +
12958 mm/highmem.c | 7 +-
12959 mm/hugetlb.c | 70 +-
12960 mm/internal.h | 3 +-
12961 mm/maccess.c | 4 +-
12962 mm/madvise.c | 41 +
12963 mm/memory-failure.c | 26 +-
12964 mm/memory.c | 424 +-
12965 mm/mempolicy.c | 25 +
12966 mm/mlock.c | 15 +-
12967 mm/mmap.c | 591 ++-
12968 mm/mprotect.c | 139 +-
12969 mm/mremap.c | 44 +-
12970 mm/nommu.c | 21 +-
12971 mm/page-writeback.c | 2 +-
12972 mm/page_alloc.c | 42 +-
12973 mm/page_io.c | 2 +-
12974 mm/percpu.c | 2 +-
12975 mm/process_vm_access.c | 14 +-
12976 mm/rmap.c | 44 +-
12977 mm/shmem.c | 19 +-
12978 mm/slab.c | 108 +-
12979 mm/slab.h | 15 +-
12980 mm/slab_common.c | 60 +-
12981 mm/slob.c | 206 +-
12982 mm/slub.c | 88 +-
12983 mm/sparse-vmemmap.c | 4 +-
12984 mm/sparse.c | 2 +-
12985 mm/swap.c | 2 +
12986 mm/swapfile.c | 12 +-
12987 mm/util.c | 6 +
12988 mm/vmalloc.c | 75 +-
12989 mm/vmstat.c | 12 +-
12990 net/8021q/vlan.c | 5 +-
12991 net/9p/mod.c | 4 +-
12992 net/9p/trans_fd.c | 2 +-
12993 net/atm/atm_misc.c | 8 +-
12994 net/atm/lec.h | 2 +-
12995 net/atm/proc.c | 6 +-
12996 net/atm/resources.c | 4 +-
12997 net/ax25/sysctl_net_ax25.c | 2 +-
12998 net/batman-adv/bat_iv_ogm.c | 8 +-
12999 net/batman-adv/hard-interface.c | 2 +-
13000 net/batman-adv/soft-interface.c | 4 +-
13001 net/batman-adv/types.h | 6 +-
13002 net/batman-adv/unicast.c | 2 +-
13003 net/bluetooth/hci_sock.c | 2 +-
13004 net/bluetooth/l2cap_core.c | 6 +-
13005 net/bluetooth/l2cap_sock.c | 12 +-
13006 net/bluetooth/rfcomm/sock.c | 4 +-
13007 net/bluetooth/rfcomm/tty.c | 4 +-
13008 net/bridge/netfilter/ebtables.c | 6 +-
13009 net/caif/cfctrl.c | 11 +-
13010 net/can/af_can.c | 2 +-
13011 net/can/gw.c | 6 +-
13012 net/ceph/messenger.c | 4 +-
13013 net/compat.c | 34 +-
13014 net/core/datagram.c | 2 +-
13015 net/core/dev.c | 16 +-
13016 net/core/flow.c | 8 +-
13017 net/core/iovec.c | 4 +-
13018 net/core/neighbour.c | 2 +-
13019 net/core/net-sysfs.c | 2 +-
13020 net/core/net_namespace.c | 8 +-
13021 net/core/netpoll.c | 4 +-
13022 net/core/rtnetlink.c | 13 +-
13023 net/core/scm.c | 8 +-
13024 net/core/skbuff.c | 6 +-
13025 net/core/sock.c | 28 +-
13026 net/core/sock_diag.c | 9 +-
13027 net/core/sysctl_net_core.c | 18 +-
13028 net/decnet/af_decnet.c | 1 +
13029 net/decnet/sysctl_net_decnet.c | 4 +-
13030 net/ieee802154/6lowpan.c | 2 +-
13031 net/ipv4/af_inet.c | 8 +-
13032 net/ipv4/devinet.c | 18 +-
13033 net/ipv4/fib_frontend.c | 6 +-
13034 net/ipv4/fib_semantics.c | 2 +-
13035 net/ipv4/inet_connection_sock.c | 2 +-
13036 net/ipv4/inetpeer.c | 4 +-
13037 net/ipv4/ip_fragment.c | 15 +-
13038 net/ipv4/ip_gre.c | 6 +-
13039 net/ipv4/ip_sockglue.c | 2 +-
13040 net/ipv4/ip_vti.c | 4 +-
13041 net/ipv4/ipconfig.c | 6 +-
13042 net/ipv4/ipip.c | 4 +-
13043 net/ipv4/netfilter/arp_tables.c | 12 +-
13044 net/ipv4/netfilter/ip_tables.c | 12 +-
13045 net/ipv4/ping.c | 14 +-
13046 net/ipv4/raw.c | 14 +-
13047 net/ipv4/route.c | 20 +-
13048 net/ipv4/sysctl_net_ipv4.c | 45 +-
13049 net/ipv4/tcp_input.c | 2 +-
13050 net/ipv4/tcp_probe.c | 2 +-
13051 net/ipv4/udp.c | 10 +-
13052 net/ipv4/xfrm4_policy.c | 18 +-
13053 net/ipv6/addrconf.c | 12 +-
13054 net/ipv6/af_inet6.c | 2 +-
13055 net/ipv6/datagram.c | 2 +-
13056 net/ipv6/icmp.c | 2 +-
13057 net/ipv6/ip6_gre.c | 8 +-
13058 net/ipv6/ip6_tunnel.c | 4 +-
13059 net/ipv6/ipv6_sockglue.c | 2 +-
13060 net/ipv6/netfilter/ip6_tables.c | 12 +-
13061 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
13062 net/ipv6/output_core.c | 15 +-
13063 net/ipv6/ping.c | 28 +-
13064 net/ipv6/raw.c | 17 +-
13065 net/ipv6/reassembly.c | 13 +-
13066 net/ipv6/route.c | 2 +-
13067 net/ipv6/sit.c | 4 +-
13068 net/ipv6/sysctl_net_ipv6.c | 2 +-
13069 net/ipv6/udp.c | 6 +-
13070 net/ipv6/xfrm6_policy.c | 17 +-
13071 net/irda/ircomm/ircomm_tty.c | 18 +-
13072 net/iucv/af_iucv.c | 4 +-
13073 net/iucv/iucv.c | 2 +-
13074 net/key/af_key.c | 4 +-
13075 net/mac80211/cfg.c | 8 +-
13076 net/mac80211/ieee80211_i.h | 3 +-
13077 net/mac80211/iface.c | 16 +-
13078 net/mac80211/main.c | 2 +-
13079 net/mac80211/pm.c | 6 +-
13080 net/mac80211/rate.c | 2 +-
13081 net/mac80211/rc80211_pid_debugfs.c | 2 +-
13082 net/mac80211/util.c | 4 +-
13083 net/netfilter/ipset/ip_set_core.c | 2 +-
13084 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
13085 net/netfilter/ipvs/ip_vs_core.c | 4 +-
13086 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
13087 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
13088 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
13089 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
13090 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
13091 net/netfilter/nf_conntrack_acct.c | 2 +-
13092 net/netfilter/nf_conntrack_ecache.c | 2 +-
13093 net/netfilter/nf_conntrack_helper.c | 2 +-
13094 net/netfilter/nf_conntrack_proto.c | 2 +-
13095 net/netfilter/nf_conntrack_proto_dccp.c | 10 +-
13096 net/netfilter/nf_conntrack_standalone.c | 2 +-
13097 net/netfilter/nf_conntrack_timestamp.c | 2 +-
13098 net/netfilter/nf_log.c | 10 +-
13099 net/netfilter/nf_sockopt.c | 4 +-
13100 net/netfilter/nfnetlink_log.c | 4 +-
13101 net/netfilter/xt_statistic.c | 8 +-
13102 net/netlink/af_netlink.c | 4 +-
13103 net/netlink/genetlink.c | 16 +-
13104 net/packet/af_packet.c | 8 +-
13105 net/phonet/pep.c | 6 +-
13106 net/phonet/socket.c | 2 +-
13107 net/phonet/sysctl.c | 2 +-
13108 net/rds/cong.c | 6 +-
13109 net/rds/ib.h | 2 +-
13110 net/rds/ib_cm.c | 2 +-
13111 net/rds/ib_recv.c | 4 +-
13112 net/rds/iw.h | 2 +-
13113 net/rds/iw_cm.c | 2 +-
13114 net/rds/iw_recv.c | 4 +-
13115 net/rds/rds.h | 2 +-
13116 net/rds/tcp.c | 2 +-
13117 net/rds/tcp_send.c | 2 +-
13118 net/rxrpc/af_rxrpc.c | 2 +-
13119 net/rxrpc/ar-ack.c | 14 +-
13120 net/rxrpc/ar-call.c | 2 +-
13121 net/rxrpc/ar-connection.c | 2 +-
13122 net/rxrpc/ar-connevent.c | 2 +-
13123 net/rxrpc/ar-input.c | 4 +-
13124 net/rxrpc/ar-internal.h | 8 +-
13125 net/rxrpc/ar-local.c | 2 +-
13126 net/rxrpc/ar-output.c | 4 +-
13127 net/rxrpc/ar-peer.c | 2 +-
13128 net/rxrpc/ar-proc.c | 4 +-
13129 net/rxrpc/ar-transport.c | 2 +-
13130 net/rxrpc/rxkad.c | 4 +-
13131 net/sctp/ipv6.c | 6 +-
13132 net/sctp/protocol.c | 10 +-
13133 net/sctp/sm_sideeffect.c | 2 +-
13134 net/sctp/socket.c | 21 +-
13135 net/sctp/sysctl.c | 4 +-
13136 net/socket.c | 18 +-
13137 net/sunrpc/auth_gss/svcauth_gss.c | 4 +-
13138 net/sunrpc/clnt.c | 4 +-
13139 net/sunrpc/sched.c | 4 +-
13140 net/sunrpc/svc.c | 4 +-
13141 net/sunrpc/svcauth_unix.c | 4 +-
13142 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
13143 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
13144 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
13145 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
13146 net/tipc/link.c | 4 +-
13147 net/tipc/msg.c | 2 +-
13148 net/tipc/subscr.c | 2 +-
13149 net/unix/sysctl_net_unix.c | 2 +-
13150 net/wireless/wext-core.c | 19 +-
13151 net/xfrm/xfrm_policy.c | 22 +-
13152 net/xfrm/xfrm_state.c | 33 +-
13153 net/xfrm/xfrm_sysctl.c | 2 +-
13154 scripts/Makefile.build | 2 +-
13155 scripts/Makefile.clean | 3 +-
13156 scripts/Makefile.host | 28 +-
13157 scripts/basic/fixdep.c | 12 +-
13158 scripts/gcc-plugin.sh | 17 +
13159 scripts/headers_install.sh | 1 +
13160 scripts/link-vmlinux.sh | 2 +-
13161 scripts/mod/file2alias.c | 14 +-
13162 scripts/mod/modpost.c | 25 +-
13163 scripts/mod/modpost.h | 6 +-
13164 scripts/mod/sumversion.c | 2 +-
13165 scripts/module-common.lds | 4 +
13166 scripts/package/builddeb | 1 +
13167 scripts/pnmtologo.c | 6 +-
13168 scripts/sortextable.h | 6 +-
13169 security/Kconfig | 690 ++-
13170 security/apparmor/lsm.c | 2 +-
13171 security/integrity/ima/ima.h | 4 +-
13172 security/integrity/ima/ima_api.c | 2 +-
13173 security/integrity/ima/ima_fs.c | 4 +-
13174 security/integrity/ima/ima_queue.c | 2 +-
13175 security/keys/compat.c | 2 +-
13176 security/keys/internal.h | 2 +-
13177 security/keys/key.c | 18 +-
13178 security/keys/keyctl.c | 8 +-
13179 security/keys/keyring.c | 6 +-
13180 security/security.c | 9 +-
13181 security/selinux/avc.c | 6 +-
13182 security/selinux/hooks.c | 11 +-
13183 security/selinux/include/xfrm.h | 2 +-
13184 security/smack/smack_lsm.c | 2 +-
13185 security/tomoyo/tomoyo.c | 2 +-
13186 security/yama/yama_lsm.c | 22 +-
13187 sound/aoa/codecs/onyx.c | 7 +-
13188 sound/aoa/codecs/onyx.h | 1 +
13189 sound/core/oss/pcm_oss.c | 18 +-
13190 sound/core/pcm_compat.c | 2 +-
13191 sound/core/pcm_native.c | 4 +-
13192 sound/core/seq/seq_device.c | 8 +-
13193 sound/core/sound.c | 2 +-
13194 sound/drivers/mts64.c | 14 +-
13195 sound/drivers/opl4/opl4_lib.c | 2 +-
13196 sound/drivers/portman2x4.c | 3 +-
13197 sound/firewire/amdtp.c | 4 +-
13198 sound/firewire/amdtp.h | 2 +-
13199 sound/firewire/isight.c | 10 +-
13200 sound/firewire/scs1x.c | 8 +-
13201 sound/oss/sb_audio.c | 2 +-
13202 sound/oss/swarm_cs4297a.c | 6 +-
13203 sound/pci/hda/hda_codec.c | 8 +-
13204 sound/pci/ymfpci/ymfpci.h | 2 +-
13205 sound/pci/ymfpci/ymfpci_main.c | 12 +-
13206 sound/soc/fsl/fsl_ssi.c | 2 +-
13207 tools/gcc/.gitignore | 1 +
13208 tools/gcc/Makefile | 45 +
13209 tools/gcc/checker_plugin.c | 172 +
13210 tools/gcc/colorize_plugin.c | 151 +
13211 tools/gcc/constify_plugin.c | 560 ++
13212 tools/gcc/generate_size_overflow_hash.sh | 94 +
13213 tools/gcc/kallocstat_plugin.c | 170 +
13214 tools/gcc/kernexec_plugin.c | 471 ++
13215 tools/gcc/latent_entropy_plugin.c | 335 +
13216 tools/gcc/size_overflow_hash.data | 7613 ++++++++++++++++++++
13217 tools/gcc/size_overflow_plugin.c | 3840 ++++++++++
13218 tools/gcc/stackleak_plugin.c | 327 +
13219 tools/gcc/structleak_plugin.c | 277 +
13220 tools/lib/lk/Makefile | 2 +-
13221 tools/perf/util/include/asm/alternative-asm.h | 3 +
13222 tools/perf/util/include/linux/compiler.h | 8 +
13223 virt/kvm/kvm_main.c | 32 +-
13224 1701 files changed, 36050 insertions(+), 7719 deletions(-)
13225 commit 9a7168e3d96ba81ab00bde22d38f7a035cc25466
13226 Author: Brad Spengler <spender@grsecurity.net>
13227 Date: Sun Nov 24 17:50:21 2013 -0500
13228
13229 remove unnecessary code/comments after new reload method
13230
13231 grsecurity/gracl.c | 4 ----
13232 grsecurity/gracl_policy.c | 13 -------------
13233 2 files changed, 0 insertions(+), 17 deletions(-)
13234
13235 commit 4e61142788b54cbbc4e0d3418987ee892b34ee7d
13236 Author: Brad Spengler <spender@grsecurity.net>
13237 Date: Sun Nov 24 16:05:01 2013 -0500
13238
13239 Version bumped to 3.0 (we'd been on 2.9.1 for way too long and numerous
13240 features have been added since then)
13241
13242 Introduce new atomic RBAC reload method, developed as part of sponsorship
13243 by EIG
13244
13245 This is accompanied by an updated 3.0 gradm which will use the new reload
13246 method when -R is passed to gradm. The old method will still be available
13247 via gradm -r (which is what a 2.9.1 gradm will continue to use).
13248
13249 The new RBAC reload method is atomic in the sense that at no point in the
13250 reload process will the system not be covered by a coherent full policy.
13251 In contrast to previous reload behavior, it also preserves inherited subjects
13252 and special roles.
13253
13254 The old RBAC reload method has also been made atomic. Both methods have
13255 been updated to perform role_allowed_ip checks only against the IP tagged
13256 to the task at the time its role was first applied or changed. This resolves
13257 long-standing usability problems with the use of role_allowed_ip and matches
13258 the policies created by learning.
13259
13260 grsecurity/Makefile | 2 +-
13261 grsecurity/gracl.c | 3903 +++++++++++++------------------------------
13262 grsecurity/gracl_alloc.c | 42 +-
13263 grsecurity/gracl_compat.c | 3 +-
13264 grsecurity/gracl_policy.c | 1838 ++++++++++++++++++++
13265 grsecurity/gracl_segv.c | 12 +-
13266 grsecurity/grsec_disabled.c | 7 -
13267 grsecurity/grsec_init.c | 15 -
13268 include/linux/gracl.h | 43 +-
13269 include/linux/grinternal.h | 1 -
13270 include/linux/grsecurity.h | 1 -
13271 include/linux/sched.h | 2 +
13272 12 files changed, 3082 insertions(+), 2787 deletions(-)
13273
13274 commit d8981a4fd03025434a466fd87a0eaea93755bc70
13275 Author: Brad Spengler <spender@grsecurity.net>
13276 Date: Sun Nov 24 15:08:28 2013 -0500
13277
13278 compile fix for recent GRKERNSEC_CHROOT_INITRD change
13279
13280 init/main.c | 12 +++---------
13281 1 files changed, 3 insertions(+), 9 deletions(-)
13282
13283 commit c3f95fe9875bea3eeb61cad1586b3f9b6226a42f
13284 Author: Brad Spengler <spender@grsecurity.net>
13285 Date: Sat Nov 23 18:27:37 2013 -0500
13286
13287 Make the recent usermode_helper protection race-free as far as userland
13288 is concerned by creating a copy of the path to be executed, then check against
13289 that copied path instead of the still-mutable original path
13290
13291 include/linux/kmod.h | 3 +++
13292 kernel/kmod.c | 13 +++++++++++++
13293 2 files changed, 16 insertions(+), 0 deletions(-)
13294
13295 commit ecdd0610bef058fd33fee50b489d949c1a0db07a
13296 Author: Brad Spengler <spender@grsecurity.net>
13297 Date: Sat Nov 23 17:20:15 2013 -0500
13298
13299 Produce a UDEREF message when faulting on kernel access to a non-present
13300 page in the userland range. This is purely for consistency of logs,
13301 due to there being no domain present to fault based on. An
13302 "Unable to handle kernel fault.." oops would already (and still is)
13303 generated for these cases, triggering grsec's bruteforce prevention.
13304
13305 Reported by acez on IRC
13306
13307 arch/arm/mm/fault.c | 11 +++++++++++
13308 1 files changed, 11 insertions(+), 0 deletions(-)
13309
13310 commit 3f4adfade80bba0d865b5c603bd58da555ca4553
13311 Author: Brad Spengler <spender@grsecurity.net>
13312 Date: Sat Nov 23 16:56:46 2013 -0500
13313
13314 Make GRKERNSEC_CHROOT_INITRD depend on the correct initrd option,
13315 Also make sure we mark init as run if no initrd was used. Though this
13316 should already be enforced in grsec_chroot.c, this should future-proof
13317 the feature a bit in case userland somehow changes drastically.
13318
13319 Conflicts:
13320
13321 init/main.c
13322
13323 grsecurity/Kconfig | 2 +-
13324 grsecurity/grsec_chroot.c | 2 +-
13325 init/main.c | 15 +++++++++++++++
13326 3 files changed, 17 insertions(+), 2 deletions(-)
13327
13328 commit d4a9bb63091852b5b49ebd216796b374e5c0dc71
13329 Author: Brad Spengler <spender@grsecurity.net>
13330 Date: Sat Nov 23 16:33:20 2013 -0500
13331
13332 limit all usermode helper binaries to /sbin, all other attempts will be logged and rejected
13333
13334 kernel/kmod.c | 8 ++++++++
13335 1 files changed, 8 insertions(+), 0 deletions(-)
13336
13337 commit e727db195f8bed17c65d050e1772643d730fe565
13338 Author: Brad Spengler <spender@grsecurity.net>
13339 Date: Sat Nov 23 16:02:01 2013 -0500
13340
13341 perform USERCOPY kernel text checks against the linear mapping on amd64 as well
13342
13343 fs/exec.c | 8 ++++++++
13344 1 files changed, 8 insertions(+), 0 deletions(-)
13345
13346 commit 7e0e0cf6d81af9c7901e16345737157fd563ccfb
13347 Merge: 2fcc3a5 2d1263b
13348 Author: Brad Spengler <spender@grsecurity.net>
13349 Date: Fri Nov 22 21:11:44 2013 -0500
13350
13351 Merge branch 'pax-test' into grsec-test
13352
13353 commit 2d1263be436ef0c7c964a2028dec3fc7e90205a1
13354 Merge: d52f291 e0cd057
13355 Author: Brad Spengler <spender@grsecurity.net>
13356 Date: Fri Nov 22 21:11:33 2013 -0500
13357
13358 Merge branch 'linux-3.11.y' into pax-test
13359
13360 Conflicts:
13361 drivers/net/ethernet/chelsio/cxgb3/sge.c
13362
13363 commit 2fcc3a573d2b676c6cdb1aa0c9f61ce723189972
13364 Author: Brad Spengler <spender@grsecurity.net>
13365 Date: Fri Nov 22 20:31:37 2013 -0500
13366
13367 Revert "Upstream commit: bceaa90240b6019ed73b49965eac7d167610be69"
13368
13369 This reverts commit 8bb32f2682953e1b748a59c4a4363b237c3510df.
13370
13371 It caused errors with traceroute, reported to upstream and fixed with
13372 http://patchwork.ozlabs.org/patch/293614/
13373 But there's no reason for us to maintain this backport as we're
13374 already impervious to recvmsg/msg_name infoleaks
13375
13376 Conflicts:
13377
13378 net/ipv4/ping.c
13379
13380 net/ieee802154/dgram.c | 3 ++-
13381 net/ipv4/ping.c | 11 +++++++++--
13382 net/ipv4/raw.c | 4 +++-
13383 net/ipv4/udp.c | 7 ++++++-
13384 net/ipv6/raw.c | 4 +++-
13385 net/ipv6/udp.c | 5 ++++-
13386 net/l2tp/l2tp_ip.c | 4 +++-
13387 net/phonet/datagram.c | 9 +++++----
13388 8 files changed, 35 insertions(+), 12 deletions(-)
13389
13390 commit 5a0b39755f07014ed0d34a432b89cfbb38b82e0b
13391 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
13392 Date: Mon Nov 18 07:07:45 2013 +0100
13393
13394 Upstream commit: cf970c002d270c36202bd5b9c2804d3097a52da0
13395
13396 ping: prevent NULL pointer dereference on write to msg_name
13397
13398 A plain read() on a socket does set msg->msg_name to NULL. So check for
13399 NULL pointer first.
13400
13401 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
13402 Signed-off-by: David S. Miller <davem@davemloft.net>
13403
13404 net/ipv4/ping.c | 34 +++++++++++++++++++---------------
13405 1 files changed, 19 insertions(+), 15 deletions(-)
13406
13407 commit 8bb32f2682953e1b748a59c4a4363b237c3510df
13408 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
13409 Date: Mon Nov 18 04:20:45 2013 +0100
13410
13411 Upstream commit: bceaa90240b6019ed73b49965eac7d167610be69
13412
13413 inet: prevent leakage of uninitialized memory to user in recv syscalls
13414
13415 Only update *addr_len when we actually fill in sockaddr, otherwise we
13416 can return uninitialized memory from the stack to the caller in the
13417 recvfrom, recvmmsg and recvmsg syscalls. Drop the the (addr_len == NULL)
13418 checks because we only get called with a valid addr_len pointer either
13419 from sock_common_recvmsg or inet_recvmsg.
13420
13421 If a blocking read waits on a socket which is concurrently shut down we
13422 now return zero and set msg_msgnamelen to 0.
13423
13424 Reported-by: mpb <mpb.mail@gmail.com>
13425 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
13426 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
13427 Signed-off-by: David S. Miller <davem@davemloft.net>
13428
13429 net/ieee802154/dgram.c | 3 +--
13430 net/ipv4/ping.c | 19 +++++++------------
13431 net/ipv4/raw.c | 4 +---
13432 net/ipv4/udp.c | 7 +------
13433 net/ipv6/raw.c | 4 +---
13434 net/ipv6/udp.c | 5 +----
13435 net/l2tp/l2tp_ip.c | 4 +---
13436 net/phonet/datagram.c | 9 ++++-----
13437 8 files changed, 17 insertions(+), 38 deletions(-)
13438
13439 commit 642d754081c130a151e7df27e5c07edf2f368106
13440 Author: Jeff Layton <jlayton@redhat.com>
13441 Date: Wed Nov 13 09:08:21 2013 -0500
13442
13443 Upstream commit: 6d769f1e1420179d1f83cf1a9cdc585b46c28545
13444
13445 nfs: don't retry detect_trunking with RPC_AUTH_UNIX more than once
13446
13447 Currently, when we try to mount and get back NFS4ERR_CLID_IN_USE or
13448 NFS4ERR_WRONGSEC, we create a new rpc_clnt and then try the call again.
13449 There is no guarantee that doing so will work however, so we can end up
13450 retrying the call in an infinite loop.
13451
13452 Worse yet, we create the new client using rpc_clone_client_set_auth,
13453 which creates the new client as a child of the old one. Thus, we can end
13454 up with a *very* long lineage of rpc_clnts. When we go to put all of the
13455 references to them, we can end up with a long call chain that can smash
13456 the stack as each rpc_free_client() call can recurse back into itself.
13457
13458 This patch fixes this by simply ensuring that the SETCLIENTID call will
13459 only be retried in this situation if the last attempt did not use
13460 RPC_AUTH_UNIX.
13461
13462 Note too that with this change, we don't need the (i > 2) check in the
13463 -EACCES case since we now have a more reliable test as to whether we
13464 should reattempt.
13465
13466 Cc: stable@vger.kernel.org # v3.10+
13467 Cc: Chuck Lever <chuck.lever@oracle.com>
13468 Tested-by/Acked-by: Weston Andros Adamson <dros@netapp.com>
13469 Signed-off-by: Jeff Layton <jlayton@redhat.com>
13470 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
13471
13472 fs/nfs/nfs4state.c | 7 ++++++-
13473 1 files changed, 6 insertions(+), 1 deletions(-)
13474
13475 commit a96ee20d2e099c56fd89b91ee309551e7b50b8f2
13476 Author: Chuck Lever <chuck.lever@oracle.com>
13477 Date: Wed Jul 24 12:28:28 2013 -0400
13478
13479 Upstream commit: d688f7b8f62857c252b886fa16e8b38b83cfaf7e
13480
13481 NFS: Use root's credential for lease management when keytab is missing
13482
13483 Commit 05f4c350 "NFS: Discover NFSv4 server trunking when mounting"
13484 Fri Sep 14 17:24:32 2012 introduced Uniform Client String support,
13485 which forces our NFS client to establish a client ID immediately
13486 during a mount operation rather than waiting until a user wants to
13487 open a file.
13488
13489 Normally machine credentials (eg. from a keytab) are used to perform
13490 a mount operation that is protected by Kerberos. Before 05fc350,
13491 SETCLIENTID used a machine credential, or fell back to a regular
13492 user's credential if no keytab is available.
13493
13494 On clients that don't have a keytab, performing SETCLIENTID early
13495 means there's no user credential to fall back on, since no regular
13496 user has kinit'd yet. 05f4c350 seems to have broken the ability
13497 to mount with sec=krb5 on clients that don't have a keytab in
13498 kernels 3.7 - 3.10.
13499
13500 To address this regression, commit 4edaa308 (NFS: Use "krb5i" to
13501 establish NFSv4 state whenever possible), Sat Mar 16 15:56:20 2013,
13502 was merged in 3.10. This commit forces the NFS client to fall back
13503 to AUTH_SYS for lease management operations if no keytab is
13504 available.
13505
13506 Neil Brown noticed that, since root is required to kinit to do a
13507 sec=krb5 mount when a client doesn't have a keytab, we can try to
13508 use root's Kerberos credential before AUTH_SYS.
13509
13510 Now, when determining a principal and flavor to use for lease
13511 management, the NFS client tries in this order:
13512
13513 1. Flavor: AUTH_GSS, krb5i
13514 Principal: service principal (via keytab)
13515
13516 2. Flavor: AUTH_GSS, krb5i
13517 Principal: user principal established for UID 0 (via kinit)
13518
13519 3. Flavor: AUTH_SYS
13520 Principal: UID 0 / GID 0
13521
13522 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
13523 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
13524
13525 fs/nfs/nfs4state.c | 19 ++++++++++++++++++-
13526 1 files changed, 18 insertions(+), 1 deletions(-)
13527
13528 commit 6ebab64904f37af82e950b0c6d321437e810b248
13529 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
13530 Date: Tue Nov 12 17:24:36 2013 -0500
13531
13532 Upstream commit: d07ba8422f1e58be94cc98a1f475946dc1b89f1b
13533
13534 SUNRPC: Avoid deep recursion in rpc_release_client
13535
13536 In cases where an rpc client has a parent hierarchy, then
13537 rpc_free_client may end up calling rpc_release_client() on the
13538 parent, thus recursing back into rpc_free_client. If the hierarchy
13539 is deep enough, then we can get into situations where the stack
13540 simply overflows.
13541
13542 The fix is to have rpc_release_client() loop so that it can take
13543 care of the parent rpc client hierarchy without needing to
13544 recurse.
13545
13546 Reported-by: Jeff Layton <jlayton@redhat.com>
13547 Reported-by: Weston Andros Adamson <dros@netapp.com>
13548 Reported-by: Bruce Fields <bfields@fieldses.org>
13549 Link: http://lkml.kernel.org/r/2C73011F-0939-434C-9E4D-13A1EB1403D7@netapp.com
13550 Cc: stable@vger.kernel.org
13551 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
13552
13553 net/sunrpc/clnt.c | 29 +++++++++++++++++------------
13554 1 files changed, 17 insertions(+), 12 deletions(-)
13555
13556 commit fcb4306973aed105cc6d042077bf31e21b812008
13557 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
13558 Date: Fri Nov 8 16:03:50 2013 -0500
13559
13560 Upstream commit: a6b31d18b02ff9d7915c5898c9b5ca41a798cd73
13561
13562 SUNRPC: Fix a data corruption issue when retransmitting RPC calls
13563
13564 The following scenario can cause silent data corruption when doing
13565 NFS writes. It has mainly been observed when doing database writes
13566 using O_DIRECT.
13567
13568 1) The RPC client uses sendpage() to do zero-copy of the page data.
13569 2) Due to networking issues, the reply from the server is delayed,
13570 and so the RPC client times out.
13571
13572 3) The client issues a second sendpage of the page data as part of
13573 an RPC call retransmission.
13574
13575 4) The reply to the first transmission arrives from the server
13576 _before_ the client hardware has emptied the TCP socket send
13577 buffer.
13578 5) After processing the reply, the RPC state machine rules that
13579 the call to be done, and triggers the completion callbacks.
13580 6) The application notices the RPC call is done, and reuses the
13581 pages to store something else (e.g. a new write).
13582
13583 7) The client NIC drains the TCP socket send buffer. Since the
13584 page data has now changed, it reads a corrupted version of the
13585 initial RPC call, and puts it on the wire.
13586
13587 This patch fixes the problem in the following manner:
13588
13589 The ordering guarantees of TCP ensure that when the server sends a
13590 reply, then we know that the _first_ transmission has completed. Using
13591 zero-copy in that situation is therefore safe.
13592 If a time out occurs, we then send the retransmission using sendmsg()
13593 (i.e. no zero-copy), We then know that the socket contains a full copy of
13594 the data, and so it will retransmit a faithful reproduction even if the
13595 RPC call completes, and the application reuses the O_DIRECT buffer in
13596 the meantime.
13597
13598 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
13599 Cc: stable@vger.kernel.org
13600
13601 net/sunrpc/xprtsock.c | 28 +++++++++++++++++++++-------
13602 1 files changed, 21 insertions(+), 7 deletions(-)
13603
13604 commit 2c59d4080ae744532dbe595f6923dcba72279977
13605 Merge: b2b99c6 d52f291
13606 Author: Brad Spengler <spender@grsecurity.net>
13607 Date: Mon Nov 18 19:07:55 2013 -0500
13608
13609 Merge branch 'pax-test' into grsec-test
13610
13611 commit d52f291621da9227cda5fd647e82dfe9bfc11265
13612 Author: Brad Spengler <spender@grsecurity.net>
13613 Date: Mon Nov 18 19:07:14 2013 -0500
13614
13615 Update to pax-linux-3.11.8-test14.patch:
13616 - fixed a gcc-4.6 crash caused by a recent change in the latent entropy plugin, reported by Marko Randjelovic and mckinney (http://forums.grsecurity.net/viewtopic.php?f=3&t=3878)
13617
13618 mm/page_alloc.c | 2 +-
13619 tools/gcc/latent_entropy_plugin.c | 34 ++++++++++++++++++++++++----------
13620 2 files changed, 25 insertions(+), 11 deletions(-)
13621
13622 commit b2b99c6972e345565d561b722de210f071e5e259
13623 Author: Brad Spengler <spender@grsecurity.net>
13624 Date: Thu Nov 14 20:47:37 2013 -0500
13625
13626 Upstream commit: 0e033e04c2678dbbe74a46b23fffb7bb918c288e
13627
13628 ipv6: fix headroom calculation in udp6_ufo_fragment
13629 Commit 1e2bd517c108816220f262d7954b697af03b5f9c ("udp6: Fix udp
13630 fragmentation for tunnel traffic.") changed the calculation if
13631 there is enough space to include a fragment header in the skb from a
13632 skb->mac_header dervived one to skb_headroom. Because we already peeled
13633 off the skb to transport_header this is wrong. Change this back to check
13634 if we have enough room before the mac_header.
13635
13636 This fixes a panic Saran Neti reported. He used the tbf scheduler which
13637 skb_gso_segments the skb. The offsets get negative and we panic in memcpy
13638 because the skb was erroneously not expanded at the head.
13639
13640 Reported-by: Saran Neti <Saran.Neti@telus.com>
13641 Cc: Pravin B Shelar <pshelar@nicira.com>
13642 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
13643 Signed-off-by: David S. Miller <davem@davemloft.net>
13644
13645 net/ipv6/udp_offload.c | 2 +-
13646 1 files changed, 1 insertions(+), 1 deletions(-)
13647
13648 commit 012ee7647e16f464f8d1ad004e28eac2ba778158
13649 Author: Dan Carpenter <dan.carpenter@oracle.com>
13650 Date: Thu Nov 14 11:21:10 2013 +0300
13651
13652 Upstream commit: f9a23c84486ed350cce7bb1b2828abd1f6658796
13653
13654 isdnloop: use strlcpy() instead of strcpy()
13655
13656 These strings come from a copy_from_user() and there is no way to be
13657 sure they are NUL terminated.
13658
13659 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
13660 Signed-off-by: David S. Miller <davem@davemloft.net>
13661
13662 drivers/isdn/isdnloop/isdnloop.c | 8 +++++---
13663 1 files changed, 5 insertions(+), 3 deletions(-)
13664
13665 commit 2a897c9870257c3cd6dd17ec6ff453331dc71a4f
13666 Author: Eric Dumazet <edumazet@google.com>
13667 Date: Thu Nov 14 13:37:54 2013 -0800
13668
13669 Upstream commit: c9e9042994d37cbc1ee538c500e9da1bb9d1bcdf
13670
13671 ipv4: fix possible seqlock deadlock
13672
13673 ip4_datagram_connect() being called from process context,
13674 it should use IP_INC_STATS() instead of IP_INC_STATS_BH()
13675 otherwise we can deadlock on 32bit arches, or get corruptions of
13676 SNMP counters.
13677
13678 Fixes: 584bdf8cbdf6 ("[IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP")
13679 Signed-off-by: Eric Dumazet <edumazet@google.com>
13680 Reported-by: Dave Jones <davej@redhat.com>
13681 Signed-off-by: David S. Miller <davem@davemloft.net>
13682
13683 net/ipv4/datagram.c | 2 +-
13684 1 files changed, 1 insertions(+), 1 deletions(-)
13685
13686 commit 1a642170613ae336331f2df38aa8f2c1227d3c96
13687 Merge: 60c6423 84d78c7
13688 Author: Brad Spengler <spender@grsecurity.net>
13689 Date: Thu Nov 14 20:28:51 2013 -0500
13690
13691 Merge branch 'pax-test' into grsec-test
13692
13693 commit 84d78c7b2f5d1517e8c9d5ef2ca178c90e80a730
13694 Author: Brad Spengler <spender@grsecurity.net>
13695 Date: Thu Nov 14 20:28:07 2013 -0500
13696
13697 Update to pax-linux-3.11.8-test13.patch:
13698 - forward port to 3.11.8
13699 - removed some no longer used code from bpf jit
13700 - fixed some atomic_unchecked_t usage in oprofile and uio
13701 - fixed a few incorrect uses of static local variables based on an analysis plugin written by Emese Revfy
13702
13703 arch/x86/include/asm/mmu_context.h | 8 ++++++++
13704 arch/x86/kernel/setup.c | 2 +-
13705 drivers/bluetooth/btwilink.c | 2 +-
13706 drivers/md/dm-table.c | 2 +-
13707 drivers/message/i2o/i2o_proc.c | 16 ++++++++--------
13708 drivers/mfd/max8925-i2c.c | 2 +-
13709 drivers/mfd/tps65910.c | 2 +-
13710 drivers/mtd/chips/cfi_cmdset_0020.c | 2 +-
13711 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
13712 .../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 2 +-
13713 drivers/net/wireless/airo.c | 2 +-
13714 drivers/net/wireless/b43/phy_lp.c | 2 +-
13715 drivers/nfc/nfcwilink.c | 2 +-
13716 drivers/oprofile/oprofilefs.c | 4 ++--
13717 drivers/platform/x86/msi-wmi.c | 2 +-
13718 drivers/scsi/aic7xxx/aic79xx_pci.c | 18 +++++-------------
13719 drivers/scsi/mpt2sas/mpt2sas_scsih.c | 8 ++++----
13720 drivers/usb/serial/console.c | 2 +-
13721 include/linux/filter.h | 4 ----
13722 kernel/audit.c | 2 +-
13723 20 files changed, 41 insertions(+), 45 deletions(-)
13724
13725 commit 60c642339ceb814688d1fdfa9bf3f9bc4cd0a38c
13726 Author: Brad Spengler <spender@grsecurity.net>
13727 Date: Thu Nov 14 20:15:51 2013 -0500
13728
13729 GRKERNSEC_HARDEN_IPC should depend on SYSVIPC
13730
13731 grsecurity/Kconfig | 1 +
13732 1 files changed, 1 insertions(+), 0 deletions(-)
13733
13734 commit a5bc567fc9cea02e7e0146d4d25bbc25d9903f43
13735 Author: Brad Spengler <spender@grsecurity.net>
13736 Date: Thu Nov 14 19:07:11 2013 -0500
13737
13738 Not necessary since CPU_V6 is the only bool that would select CPU_USE_DOMAINS
13739 and that depended on !PAX_KERNEXEC && !PAX_MEMORY_UDEREF, but this helps
13740 make it more obvious that while we make use of domains, CPU_USE_DOMAINS is
13741 disabled as far as the kernel knows
13742
13743 arch/arm/mm/Kconfig | 2 +-
13744 1 files changed, 1 insertions(+), 1 deletions(-)
13745
13746 commit a2568c19e361c8599fb9bb0a58ba758f5cb40dba
13747 Author: Brad Spengler <spender@grsecurity.net>
13748 Date: Thu Nov 14 19:01:59 2013 -0500
13749
13750 Add a new feature: GRKERNSEC_HARDEN_IPC in response to Tim Brown's research
13751 on overly-permissive shared memory found in hundreds of areas in Linux
13752 distros:
13753 http://labs.portcullis.co.uk/whitepapers/memory-squatting-attacks-on-system-v-shared-memory/
13754
13755 Will let this sit in -test for a while to weed out any app incompatibilities
13756
13757 grsecurity/Kconfig | 17 +++++++++++++++++
13758 grsecurity/Makefile | 2 +-
13759 grsecurity/grsec_init.c | 4 ++++
13760 grsecurity/grsec_ipc.c | 22 ++++++++++++++++++++++
13761 grsecurity/grsec_sysctl.c | 9 +++++++++
13762 include/linux/grinternal.h | 1 +
13763 include/linux/grmsg.h | 1 +
13764 ipc/util.c | 5 +++++
13765 8 files changed, 60 insertions(+), 1 deletions(-)
13766
13767 commit 27c3b43bd5ad9c9b877016f26192dbc30da54018
13768 Merge: 08e883f d0a09ad
13769 Author: Brad Spengler <spender@grsecurity.net>
13770 Date: Wed Nov 13 22:27:13 2013 -0500
13771
13772 Merge branch 'pax-test' into grsec-test
13773
13774 commit d0a09ad6430008135b98da6e1941e98a6110b59e
13775 Merge: 4e826ac 02709ef
13776 Author: Brad Spengler <spender@grsecurity.net>
13777 Date: Wed Nov 13 22:27:03 2013 -0500
13778
13779 Merge branch 'linux-3.11.y' into pax-test
13780
13781 commit 08e883f3159b541ec8b2740a4b3f35fb25629fd1
13782 Author: Brad Spengler <spender@grsecurity.net>
13783 Date: Mon Nov 11 10:48:10 2013 -0500
13784
13785 Fix the overflowable range check just to be correct.
13786 Referenced in http://www.x90c.org/advisories/xadv-2013003_linux_kernel.txt
13787 but I believe this to be unexploitable due to bounds checks on 'count'
13788 from rw_verify_area() in fs/read_write.c
13789
13790 drivers/video/arcfb.c | 2 +-
13791 1 files changed, 1 insertions(+), 1 deletions(-)
13792
13793 commit 094c08532f9877a287ffac7a87b05841a56b4e5d
13794 Author: Brad Spengler <spender@grsecurity.net>
13795 Date: Sun Nov 10 22:01:33 2013 -0500
13796
13797 Add missing include
13798
13799 fs/proc/proc_sysctl.c | 1 +
13800 1 files changed, 1 insertions(+), 0 deletions(-)
13801
13802 commit e383790f8252620f52895e202cc057c4318da3f4
13803 Author: Brad Spengler <spender@grsecurity.net>
13804 Date: Sun Nov 10 17:50:12 2013 -0500
13805
13806 add an option to handle old ARM userlands to properly toggle the KUSER_HELPERS
13807 option: GRKERNSEC_OLD_ARM_USERLAND
13808
13809 arch/arm/mm/Kconfig | 2 +-
13810 grsecurity/Kconfig | 14 ++++++++++++++
13811 2 files changed, 15 insertions(+), 1 deletions(-)
13812
13813 commit 9b2775742dbcfcc004f02e5cc6bed6dcd9d73d26
13814 Author: Brad Spengler <spender@grsecurity.net>
13815 Date: Sun Nov 10 15:19:27 2013 -0500
13816
13817 On ARM (and other arches) we were defaulting mmap_min_addr to 64K if the LSM-based mmap_min_addr
13818 was disabled in config. This caused non-root execs to fail in some cases (via SIGKILL during ELF
13819 loading). Fix this by setting a proper default on these architectures like set on the LSM-based
13820 mmap_min_addr.
13821
13822 Thanks to acez from IRC for debugging.
13823
13824 mm/Kconfig | 1 +
13825 1 files changed, 1 insertions(+), 0 deletions(-)
13826
13827 commit 17f832897194f46c4759aa02e048ad5623a04eed
13828 Author: Brad Spengler <spender@grsecurity.net>
13829 Date: Sun Nov 10 13:54:25 2013 -0500
13830
13831 Compatibility fix for LXC:
13832 Don't require CAP_SYS_ADMIN to modify our own net namespace's sysctl values,
13833 use a CAP_NET_ADMIN check within the user namespace of the process performing the modification
13834 CAP_SYS_ADMIN is still required for any other sysctl modification, including modification
13835 of sysctls of a net namespace other than our own
13836
13837 This allows for LXC containers to not need CAP_SYS_ADMIN to be able to set up their namespace's
13838 networking
13839
13840 Thanks to ncopa from IRC for testing
13841
13842 fs/proc/proc_sysctl.c | 9 +++++++--
13843 1 files changed, 7 insertions(+), 2 deletions(-)
13844
13845 commit b374a895f9ecfccbf3c8536a5a1a51b359a66a20
13846 Merge: fb281bd 4e826ac
13847 Author: Brad Spengler <spender@grsecurity.net>
13848 Date: Wed Nov 6 17:27:16 2013 -0500
13849
13850 Merge branch 'pax-test' into grsec-test
13851
13852 Conflicts:
13853 net/l2tp/l2tp_core.c
13854
13855 commit 4e826ac763867707352d93b7d23ed86e4c6829cf
13856 Merge: e309bfb 39773be
13857 Author: Brad Spengler <spender@grsecurity.net>
13858 Date: Wed Nov 6 17:26:23 2013 -0500
13859
13860 Merge branch 'linux-3.11.y' into pax-test
13861
13862 Conflicts:
13863 net/compat.c
13864
13865 commit fb281bdee5ccb76facfe1172318a867b624011f4
13866 Author: Brad Spengler <spender@grsecurity.net>
13867 Date: Wed Nov 6 16:23:36 2013 -0500
13868
13869 Force on DEBUG_LIST so all users can benefit from safe linking/unlinking
13870
13871 Conflicts:
13872
13873 security/Kconfig
13874
13875 security/Kconfig | 1 +
13876 1 files changed, 1 insertions(+), 0 deletions(-)
13877
13878 commit e249a2a0ee333a6ec0234de20d17670fe0d2b64a
13879 Author: Brad Spengler <spender@grsecurity.net>
13880 Date: Wed Nov 6 16:19:21 2013 -0500
13881
13882 change DEBUG_LIST WARNs back to BUGs so they can benefit from the kernel
13883 bruteforce deterrence
13884
13885 Conflicts:
13886
13887 lib/list_debug.c
13888
13889 lib/list_debug.c | 65 ++++++++++++++++++++++++++++++++++-------------------
13890 1 files changed, 42 insertions(+), 23 deletions(-)
13891
13892 commit 61f8b4eb5c8b11ff11d28372a44d6e0f3b9b68ba
13893 Author: Dan Carpenter <dan.carpenter@oracle.com>
13894 Date: Tue Oct 29 23:01:43 2013 +0300
13895
13896 Upstream commit: a8b33654b1e3b0c74d4a1fed041c9aae50b3c427
13897
13898 Staging: sb105x: info leak in mp_get_count()
13899
13900 The icount.reserved[] array isn't initialized so it leaks stack
13901 information to userspace.
13902
13903 Reported-by: Nico Golde <nico@ngolde.de>
13904 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
13905 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
13906 Cc: stable@kernel.org
13907 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13908
13909 drivers/staging/sb105x/sb_pci_mp.c | 2 +-
13910 1 files changed, 1 insertions(+), 1 deletions(-)
13911
13912 commit 731cf7d12aa699cc30c18e5fe25b8c72b97df3de
13913 Author: Dan Carpenter <dan.carpenter@oracle.com>
13914 Date: Tue Oct 29 22:06:04 2013 +0300
13915
13916 Upstream commit: 201f99f170df14ba52ea4c52847779042b7a623b
13917
13918 uml: check length in exitcode_proc_write()
13919
13920 We don't cap the size of buffer from the user so we could write past the
13921 end of the array here. Only root can write to this file.
13922
13923 Reported-by: Nico Golde <nico@ngolde.de>
13924 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
13925 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
13926 Cc: stable@kernel.org
13927 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13928
13929 arch/um/kernel/exitcode.c | 4 +++-
13930 1 files changed, 3 insertions(+), 1 deletions(-)
13931
13932 commit 1285d10ec38f216f3c5de7ce085ce43447c78916
13933 Author: Jason Wang <jasowang@redhat.com>
13934 Date: Fri Nov 1 15:01:10 2013 +0800
13935
13936 Upstream commit: 6f092343855a71e03b8d209815d8c45bf3a27fcd
13937
13938 net: flow_dissector: fail on evil iph->ihl
13939
13940 We don't validate iph->ihl which may lead a dead loop if we meet a IPIP
13941 skb whose iph->ihl is zero. Fix this by failing immediately when iph->ihl
13942 is evil (less than 5).
13943
13944 This issue were introduced by commit ec5efe7946280d1e84603389a1030ccec0a767ae
13945 (rps: support IPIP encapsulation).
13946
13947 Cc: Eric Dumazet <edumazet@google.com>
13948 Cc: Petr Matousek <pmatouse@redhat.com>
13949 Cc: Michael S. Tsirkin <mst@redhat.com>
13950 Cc: Daniel Borkmann <dborkman@redhat.com>
13951 Signed-off-by: Jason Wang <jasowang@redhat.com>
13952 Acked-by: Eric Dumazet <edumazet@google.com>
13953 Signed-off-by: David S. Miller <davem@davemloft.net>
13954
13955 net/core/flow_dissector.c | 2 +-
13956 1 files changed, 1 insertions(+), 1 deletions(-)
13957
13958 commit 3afa8cd39a80620059d7de6c382c853afe1ab4cc
13959 Author: Ming Lei <ming.lei@canonical.com>
13960 Date: Thu Oct 31 16:34:17 2013 -0700
13961
13962 Upstream commit: 3d77b50c5874b7e923be946ba793644f82336b75
13963
13964 lib/scatterlist.c: don't flush_kernel_dcache_page on slab page
13965
13966 Commit b1adaf65ba03 ("[SCSI] block: add sg buffer copy helper
13967 functions") introduces two sg buffer copy helpers, and calls
13968 flush_kernel_dcache_page() on pages in SG list after these pages are
13969 written to.
13970
13971 Unfortunately, the commit may introduce a potential bug:
13972
13973 - Before sending some SCSI commands, kmalloc() buffer may be passed to
13974 block layper, so flush_kernel_dcache_page() can see a slab page
13975 finally
13976
13977 - According to cachetlb.txt, flush_kernel_dcache_page() is only called
13978 on "a user page", which surely can't be a slab page.
13979
13980 - ARCH's implementation of flush_kernel_dcache_page() may use page
13981 mapping information to do optimization so page_mapping() will see the
13982 slab page, then VM_BUG_ON() is triggered.
13983
13984 Aaro Koskinen reported the bug on ARM/kirkwood when DEBUG_VM is enabled,
13985 and this patch fixes the bug by adding test of '!PageSlab(miter->page)'
13986 before calling flush_kernel_dcache_page().
13987
13988 Signed-off-by: Ming Lei <ming.lei@canonical.com>
13989 Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
13990 Tested-by: Simon Baatz <gmbnomis@gmail.com>
13991 Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
13992 Cc: Will Deacon <will.deacon@arm.com>
13993 Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
13994 Acked-by: Catalin Marinas <catalin.marinas@arm.com>
13995 Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
13996 Cc: Tejun Heo <tj@kernel.org>
13997 Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
13998 Cc: Jens Axboe <axboe@kernel.dk>
13999 Cc: <stable@vger.kernel.org> [3.2+]
14000 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
14001 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14002
14003 lib/scatterlist.c | 3 ++-
14004 1 files changed, 2 insertions(+), 1 deletions(-)
14005
14006 commit 54a2d1367d37e6ff23e91e81e8a293f6db3572c4
14007 Author: Dan Carpenter <dan.carpenter@oracle.com>
14008 Date: Tue Oct 29 23:01:11 2013 +0300
14009
14010 Upstream commit: 8d1e72250c847fa96498ec029891de4dc638a5ba
14011
14012 Staging: bcm: info leak in ioctl
14013
14014 The DevInfo.u32Reserved[] array isn't initialized so it leaks kernel
14015 information to user space.
14016
14017 Reported-by: Nico Golde <nico@ngolde.de>
14018 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
14019 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
14020 Cc: stable@kernel.org
14021 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14022
14023 drivers/staging/bcm/Bcmchar.c | 1 +
14024 1 files changed, 1 insertions(+), 0 deletions(-)
14025
14026 commit a2ab9d69265a08280241a2f2152e535316d02f53
14027 Author: Dan Carpenter <dan.carpenter@oracle.com>
14028 Date: Tue Oct 29 22:11:06 2013 +0300
14029
14030 Upstream commit: f856567b930dfcdbc3323261bf77240ccdde01f5
14031
14032 aacraid: missing capable() check in compat ioctl
14033
14034 In commit d496f94d22d1 ('[SCSI] aacraid: fix security weakness') we
14035 added a check on CAP_SYS_RAWIO to the ioctl. The compat ioctls need the
14036 check as well.
14037
14038 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
14039 Cc: stable@kernel.org
14040 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14041
14042 drivers/scsi/aacraid/linit.c | 2 ++
14043 1 files changed, 2 insertions(+), 0 deletions(-)
14044
14045 commit 45be53b2583e3c3d9eb0bad55f22e03ad7943b3e
14046 Author: Dan Carpenter <dan.carpenter@oracle.com>
14047 Date: Tue Oct 29 23:00:15 2013 +0300
14048
14049 Upstream commit: b5e2f339865fb443107e5b10603e53bbc92dc054
14050
14051 staging: wlags49_h2: buffer overflow setting station name
14052
14053 We need to check the length parameter before doing the memcpy(). I've
14054 actually changed it to strlcpy() as well so that it's NUL terminated.
14055
14056 You need CAP_NET_ADMIN to trigger these so it's not the end of the
14057 world.
14058
14059 Reported-by: Nico Golde <nico@ngolde.de>
14060 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
14061 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
14062 Cc: stable@kernel.org
14063 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14064
14065 drivers/staging/wlags49_h2/wl_priv.c | 9 ++++++---
14066 1 files changed, 6 insertions(+), 3 deletions(-)
14067
14068 commit afd645c1684265260b64ec8189cbc2703b91f6ab
14069 Author: Dan Carpenter <dan.carpenter@oracle.com>
14070 Date: Tue Oct 29 22:07:47 2013 +0300
14071
14072 Upstream commit: c2c65cd2e14ada6de44cb527e7f1990bede24e15
14073
14074 staging: ozwpan: prevent overflow in oz_cdev_write()
14075
14076 We need to check "count" so we don't overflow the ei->data buffer.
14077
14078 Reported-by: Nico Golde <nico@ngolde.de>
14079 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
14080 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
14081 Cc: stable@kernel.org
14082 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14083
14084 drivers/staging/ozwpan/ozcdev.c | 3 +++
14085 1 files changed, 3 insertions(+), 0 deletions(-)
14086
14087 commit 4a907baeb462b7e0f50923be5a9d842aec93c97a
14088 Author: Linus Torvalds <torvalds@linux-foundation.org>
14089 Date: Tue Oct 29 10:21:34 2013 -0700
14090
14091 Fixed a little differently than Linus...
14092
14093 Obfuscated upstream security commit: 7314e613d5ff9f0934f7a0f74ed7973b903315d1
14094
14095 Fix a few incorrectly checked [io_]remap_pfn_range() calls
14096
14097 Nico Golde reports a few straggling uses of [io_]remap_pfn_range() that
14098 really should use the vm_iomap_memory() helper. This trivially converts
14099 two of them to the helper, and comments about why the third one really
14100 needs to continue to use remap_pfn_range(), and adds the missing size
14101 check.
14102
14103 Reported-by: Nico Golde <nico@ngolde.de>
14104 Cc: stable@kernel.org
14105 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org.
14106
14107 Conflicts:
14108
14109 drivers/uio/uio.c
14110
14111 drivers/uio/uio.c | 19 +++++++++++++++++--
14112 drivers/video/au1100fb.c | 26 +-------------------------
14113 drivers/video/au1200fb.c | 23 +----------------------
14114 3 files changed, 19 insertions(+), 49 deletions(-)
14115
14116 commit e68e94ddd03cf81d875b30a5e7b0e1bb4682e61f
14117 Merge: 0970b16 e309bfb
14118 Author: Brad Spengler <spender@grsecurity.net>
14119 Date: Sun Oct 27 15:17:05 2013 -0400
14120
14121 Merge branch 'pax-test' into grsec-test
14122
14123 commit e309bfbf7b506b2294b30233f7a3299173a75cf7
14124 Author: Hugh Dickins <hughd@google.com>
14125 Date: Wed Oct 16 13:47:09 2013 -0700
14126
14127 Upstream commit: 57a8f0cdb87da776bf0e4ce7554a9133854fa779
14128
14129 mm: revert mremap pud_free anti-fix
14130
14131 Revert commit 1ecfd533f4c5 ("mm/mremap.c: call pud_free() after fail
14132 calling pmd_alloc()").
14133
14134 The original code was correct: pud_alloc(), pmd_alloc(), pte_alloc_map()
14135 ensure that the pud, pmd, pt is already allocated, and seldom do they
14136 need to allocate; on failure, upper levels are freed if appropriate by
14137 the subsequent do_munmap(). Whereas commit 1ecfd533f4c5 did an
14138 unconditional pud_free() of a most-likely still-in-use pud: saved only
14139 by the near-impossiblity of pmd_alloc() failing.
14140
14141 Signed-off-by: Hugh Dickins <hughd@google.com>
14142 Cc: Chen Gang <gang.chen@asianux.com>
14143 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
14144 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14145
14146 mm/mremap.c | 5 +----
14147 1 files changed, 1 insertions(+), 4 deletions(-)
14148
14149 commit 0970b16a9df08b8cca6929b6443f67df432ac3e5
14150 Author: Eric Dumazet <edumazet@google.com>
14151 Date: Tue Oct 1 21:04:11 2013 -0700
14152
14153 Upstream commit: 80ad1d61e72d626e30ebe8529a0455e660ca4693
14154
14155 net: do not call sock_put() on TIMEWAIT sockets
14156
14157 commit 3ab5aee7fe84 ("net: Convert TCP & DCCP hash tables to use RCU /
14158 hlist_nulls") incorrectly used sock_put() on TIMEWAIT sockets.
14159
14160 We should instead use inet_twsk_put()
14161
14162 Signed-off-by: Eric Dumazet <edumazet@google.com>
14163 Signed-off-by: David S. Miller <davem@davemloft.net>
14164
14165 net/ipv4/inet_hashtables.c | 2 +-
14166 net/ipv6/inet6_hashtables.c | 2 +-
14167 2 files changed, 2 insertions(+), 2 deletions(-)
14168
14169 commit ed0c9c47bc3468ad88b45b8ec55d0ad335214d28
14170 Author: Andi Kleen <ak@linux.intel.com>
14171 Date: Mon Sep 30 13:29:08 2013 -0700
14172
14173 Upstream commit: 58e4e1f6cacddb7823c44bcfb272174553f6c645
14174
14175 igb: Avoid uninitialized advertised variable in eee_set_cur
14176
14177 eee_get_cur assumes that the output data is already zeroed. It can
14178 read-modify-write the advertised field:
14179
14180 if (ipcnfg & E1000_IPCNFG_EEE_100M_AN)
14181 2594 edata->advertised |= ADVERTISED_100baseT_Full;
14182
14183 This is ok for the normal ethtool eee_get call, which always
14184 zeroes the input data before.
14185
14186 But eee_set_cur also calls eee_get_cur and it did not zero the input
14187 field. Later on it then compares agsinst the field, which can contain partial
14188 stack garbage.
14189
14190 Zero the input field in eee_set_cur() too.
14191
14192 Cc: jeffrey.t.kirsher@intel.com
14193 Cc: netdev@vger.kernel.org
14194 Signed-off-by: Andi Kleen <ak@linux.intel.com>
14195 Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
14196 Signed-off-by: David S. Miller <davem@davemloft.net>
14197
14198 drivers/net/ethernet/intel/igb/igb_ethtool.c | 2 ++
14199 1 files changed, 2 insertions(+), 0 deletions(-)
14200
14201 commit 651730a8caabce37f78d8e6c84283b96e434d19f
14202 Author: Dan Carpenter <dan.carpenter@oracle.com>
14203 Date: Thu Oct 3 00:27:20 2013 +0300
14204
14205 Upstream commit: 1661bf364ae9c506bc8795fef70d1532931be1e8
14206
14207 net: heap overflow in __audit_sockaddr()
14208
14209 We need to cap ->msg_namelen or it leads to a buffer overflow when we
14210 to the memcpy() in __audit_sockaddr(). It requires CAP_AUDIT_CONTROL to
14211 exploit this bug.
14212
14213 The call tree is:
14214 ___sys_recvmsg()
14215 move_addr_to_user()
14216 audit_sockaddr()
14217 __audit_sockaddr()
14218
14219 Reported-by: Jüri Aedla <juri.aedla@gmail.com>
14220 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
14221 Signed-off-by: David S. Miller <davem@davemloft.net>
14222
14223 Conflicts:
14224
14225 net/compat.c
14226
14227 net/compat.c | 2 ++
14228 net/socket.c | 24 ++++++++++++++++++++----
14229 2 files changed, 22 insertions(+), 4 deletions(-)
14230
14231 commit b52e008aa27ecec1ca4a2d92ffe2fe874c47fcfc
14232 Author: Salva Peiró <speiro@ai2.upv.es>
14233 Date: Wed Oct 16 12:46:50 2013 +0200
14234
14235 Upstream commit: 2b13d06c9584b4eb773f1e80bbaedab9a1c344e1
14236
14237 wanxl: fix info leak in ioctl
14238
14239 The wanxl_ioctl() code fails to initialize the two padding bytes of
14240 struct sync_serial_settings after the ->loopback member. Add an explicit
14241 memset(0) before filling the structure to avoid the info leak.
14242
14243 Signed-off-by: Salva Peiró <speiro@ai2.upv.es>
14244 Signed-off-by: David S. Miller <davem@davemloft.net>
14245
14246 drivers/net/wan/wanxl.c | 1 +
14247 1 files changed, 1 insertions(+), 0 deletions(-)
14248
14249 commit d7e5b4f97fbdd06c03433939efe0e444d877ab4f
14250 Author: Geyslan G. Bem <geyslan@gmail.com>
14251 Date: Fri Oct 11 16:49:16 2013 -0300
14252
14253 Upstream commit: 3edc8376c06133e3386265a824869cad03a4efd4
14254
14255 ecryptfs: Fix memory leakage in keystore.c
14256
14257 In 'decrypt_pki_encrypted_session_key' function:
14258
14259 Initializes 'payload' pointer and releases it on exit.
14260
14261 Signed-off-by: Geyslan G. Bem <geyslan@gmail.com>
14262 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
14263 Cc: stable@vger.kernel.org # v2.6.28+
14264
14265 fs/ecryptfs/keystore.c | 3 ++-
14266 1 files changed, 2 insertions(+), 1 deletions(-)
14267
14268 commit 0ccb7b191245318a36bbd1f59a1846dda72cb738
14269 Author: Colin Ian King <colin.king@canonical.com>
14270 Date: Thu Oct 24 14:08:07 2013 +0000
14271
14272 Upstream commit: 43b7c6c6a4e3916edd186ceb61be0c67d1e0969e
14273
14274 eCryptfs: fix 32 bit corruption issue
14275
14276 Shifting page->index on 32 bit systems was overflowing, causing
14277 data corruption of > 4GB files. Fix this by casting it first.
14278
14279 https://launchpad.net/bugs/1243636
14280
14281 Signed-off-by: Colin Ian King <colin.king@canonical.com>
14282 Reported-by: Lars Duesing <lars.duesing@camelotsweb.de>
14283 Cc: stable@vger.kernel.org # v3.11+
14284 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
14285
14286 fs/ecryptfs/crypto.c | 2 +-
14287 1 files changed, 1 insertions(+), 1 deletions(-)
14288
14289 commit eeb8d56181a3fa3cdfbc106156d4f60cf3a386d4
14290 Author: Brad Spengler <spender@grsecurity.net>
14291 Date: Sun Oct 27 13:29:49 2013 -0400
14292
14293 This is a replacement patch only for stable which does fix the problems
14294 handled by the following two commits in -net:
14295
14296 "ip_output: do skb ufo init for peeked non ufo skb as well" (e93b7d748be887cd7639b113ba7d7ef792a7efb9)
14297 "ip6_output: do skb ufo init for peeked non ufo skb as well" (c547dbf55d5f8cf615ccc0e7265e98db27d3fb8b)
14298
14299 Three frames are written on a corked udp socket for which the output
14300 netdevice has UFO enabled. If the first and third frame are smaller than
14301 the mtu and the second one is bigger, we enqueue the second frame with
14302 skb_append_datato_frags without initializing the gso fields. This leads
14303 to the third frame appended regulary and thus constructing an invalid skb.
14304
14305 This fixes the problem by always using skb_append_datato_frags as soon
14306 as the first frag got enqueued to the skb without marking the packet
14307 as SKB_GSO_UDP.
14308
14309 The problem with only two frames for ipv6 was fixed by "ipv6: udp
14310 packets following an UFO enqueued packet need also be handled by UFO"
14311 (2811ebac2521ceac84f2bdae402455baa6a7fb47).
14312
14313 Cc: Jiri Pirko <jiri@resnulli.us>
14314 Cc: Eric Dumazet <eric.dumazet@gmail.com>
14315 Cc: David Miller <davem@davemloft.net>
14316 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
14317
14318 include/linux/skbuff.h | 5 +++++
14319 net/ipv4/ip_output.c | 2 +-
14320 net/ipv6/ip6_output.c | 2 +-
14321 3 files changed, 7 insertions(+), 2 deletions(-)
14322
14323 commit aead8ff29424c6a5d25eb4614be91a01f9f6af00
14324 Merge: 5cf8361 ddadc82
14325 Author: Brad Spengler <spender@grsecurity.net>
14326 Date: Sat Oct 26 08:42:26 2013 -0400
14327
14328 Merge branch 'pax-test' into grsec-test
14329
14330 Conflicts:
14331 security/Kconfig
14332
14333 commit ddadc822a1de40d3992a5c58ca2f970b5fee57ec
14334 Author: Brad Spengler <spender@grsecurity.net>
14335 Date: Sat Oct 26 08:41:24 2013 -0400
14336
14337 - fixed miscompilation caused by a kernexec plugin related change in copy_user_generic, by Timo Teräs <timo.teras@iki.f> and Natanael Copa <ncopa@alpinelinux.org> (https://github.com/ncopa/linux-stable-grsec/commit/b8bf456d13988fb38cfe248676327f44a2d2ed2e)
14338 - updated config help for latent entropy to reflect recent changes
14339
14340 arch/x86/include/asm/uaccess_64.h | 4 ++--
14341 security/Kconfig | 6 +++---
14342 2 files changed, 5 insertions(+), 5 deletions(-)
14343
14344 commit 5cf8361c2a7762aa1cdd3d75655361058ad451ad
14345 Author: Johannes Weiner <hannes@cmpxchg.org>
14346 Date: Wed Oct 16 13:47:00 2013 -0700
14347
14348 Upstream commit: 84235de394d9775bfaa7fa9762a59d91fef0c1fc
14349
14350 fs: buffer: move allocation failure loop into the allocator
14351
14352 Buffer allocation has a very crude indefinite loop around waking the
14353 flusher threads and performing global NOFS direct reclaim because it can
14354 not handle allocation failures.
14355
14356 The most immediate problem with this is that the allocation may fail due
14357 to a memory cgroup limit, where flushers + direct reclaim might not make
14358 any progress towards resolving the situation at all. Because unlike the
14359 global case, a memory cgroup may not have any cache at all, only
14360 anonymous pages but no swap. This situation will lead to a reclaim
14361 livelock with insane IO from waking the flushers and thrashing unrelated
14362 filesystem cache in a tight loop.
14363
14364 Use __GFP_NOFAIL allocations for buffers for now. This makes sure that
14365 any looping happens in the page allocator, which knows how to
14366 orchestrate kswapd, direct reclaim, and the flushers sensibly. It also
14367 allows memory cgroups to detect allocations that can't handle failure
14368 and will allow them to ultimately bypass the limit if reclaim can not
14369 make progress.
14370
14371 Reported-by: azurIt <azurit@pobox.sk>
14372 Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
14373 Cc: Michal Hocko <mhocko@suse.cz>
14374 Cc: <stable@kernel.org>
14375 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
14376 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14377
14378 fs/buffer.c | 14 ++++++++++++--
14379 mm/memcontrol.c | 2 ++
14380 2 files changed, 14 insertions(+), 2 deletions(-)
14381
14382 commit 799326c8683d8d70b2035b1e5ab913c159112b6b
14383 Author: Miklos Szeredi <mszeredi@suse.cz>
14384 Date: Thu Oct 10 16:48:19 2013 +0200
14385
14386 Upstream commit: 43ae9e3fc70ca0057ae0a24ef5eedff05e3fae06
14387
14388 ext[34]: fix double put in tmpfile
14389
14390 d_tmpfile() already swallowed the inode ref.
14391
14392 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
14393 Cc: stable@vger.kernel.org
14394 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
14395
14396 fs/ext3/namei.c | 5 ++---
14397 fs/ext4/namei.c | 5 ++---
14398 2 files changed, 4 insertions(+), 6 deletions(-)
14399
14400 commit 799651db9a3b5b08eac1de0ee05f406df7a9a2e3
14401 Author: Jan Klos <honza.klos@gmail.com>
14402 Date: Sun Oct 6 21:08:20 2013 +0200
14403
14404 Upstream commit: 2f6c9479633780ba4a3484bba7eba5a721a5cf20
14405
14406 cifs: Fix inability to write files >2GB to SMB2/3 shares
14407
14408 When connecting to SMB2/3 shares, maximum file size is set to non-LFS maximum in superblock. This is due to cap_large_files bit being different for SMB1 and SMB2/3 (where it is just an internal flag that is not negotiated and the SMB1 one corresponds to multichannel capability, so maybe LFS works correctly if server sends 0x08 flag) while capabilities are checked always for the SMB1 bit in cifs_read_super().
14409
14410 The patch fixes this by checking for the correct bit according to the protocol version.
14411
14412 CC: Stable <stable@kernel.org>
14413 Signed-off-by: Jan Klos <honza.klos@gmail.com>
14414 Reviewed-by: Jeff Layton <jlayton@redhat.com>
14415 Signed-off-by: Steve French <smfrench@gmail.com>
14416
14417 fs/cifs/cifsfs.c | 6 ++++--
14418 1 files changed, 4 insertions(+), 2 deletions(-)
14419
14420 commit 549fe4c5bb5e67cb1351bb09455b1d77abe5ab22
14421 Author: Tim Gardner <tim.gardner@canonical.com>
14422 Date: Sun Oct 13 13:29:03 2013 -0600
14423
14424 Upstream commit: 0c26606cbe4937f2228a27bb0c2cad19855be87a
14425
14426 cifs: ntstatus_to_dos_map[] is not terminated
14427
14428 Functions that walk the ntstatus_to_dos_map[] array could
14429 run off the end. For example, ntstatus_to_dos() loops
14430 while ntstatus_to_dos_map[].ntstatus is not 0. Granted,
14431 this is mostly theoretical, but could be used as a DOS attack
14432 if the error code in the SMB header is bogus.
14433
14434 [Might consider adding to stable, as this patch is low risk - Steve]
14435
14436 Reviewed-by: Jeff Layton <jlayton@redhat.com>
14437 Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
14438 Signed-off-by: Steve French <smfrench@gmail.com>
14439
14440 fs/cifs/netmisc.c | 4 +++-
14441 1 files changed, 3 insertions(+), 1 deletions(-)
14442
14443 commit ed8c09a96fa260e1864c632e1dd91b1320876305
14444 Author: Eric Dumazet <edumazet@google.com>
14445 Date: Tue Oct 15 11:54:30 2013 -0700
14446
14447 Upstream commit: c52e2421f7368fd36cbe330d2cf41b10452e39a9
14448
14449 tcp: must unclone packets before mangling them
14450
14451 TCP stack should make sure it owns skbs before mangling them.
14452
14453 We had various crashes using bnx2x, and it turned out gso_size
14454 was cleared right before bnx2x driver was populating TC descriptor
14455 of the _previous_ packet send. TCP stack can sometime retransmit
14456 packets that are still in Qdisc.
14457
14458 Of course we could make bnx2x driver more robust (using
14459 ACCESS_ONCE(shinfo->gso_size) for example), but the bug is TCP stack.
14460
14461 We have identified two points where skb_unclone() was needed.
14462
14463 This patch adds a WARN_ON_ONCE() to warn us if we missed another
14464 fix of this kind.
14465
14466 Kudos to Neal for finding the root cause of this bug. Its visible
14467 using small MSS.
14468
14469 Signed-off-by: Eric Dumazet <edumazet@google.com>
14470 Signed-off-by: Neal Cardwell <ncardwell@google.com>
14471 Cc: Yuchung Cheng <ycheng@google.com>
14472 Signed-off-by: David S. Miller <davem@davemloft.net>
14473
14474 net/ipv4/tcp_output.c | 9 ++++++---
14475 1 files changed, 6 insertions(+), 3 deletions(-)
14476
14477 commit e5dcf1772ca2a85952da10a21d0650507dc061d3
14478 Author: Dan Carpenter <dan.carpenter@oracle.com>
14479 Date: Mon Oct 14 15:28:38 2013 +0300
14480
14481 Upstream commit: 9e5f1721907fcfbd4b575bcafa0314188f7330a5
14482
14483 yam: integer underflow in yam_ioctl()
14484
14485 We cap bitrate at YAM_MAXBITRATE in yam_ioctl(), but it could also be
14486 negative. I don't know the impact of using a negative bitrate but let's
14487 prevent it.
14488
14489 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
14490 Signed-off-by: David S. Miller <davem@davemloft.net>
14491
14492 include/linux/yam.h | 2 +-
14493 1 files changed, 1 insertions(+), 1 deletions(-)
14494
14495 commit 1f5d72d633f317248bba25158c326a61394aebf2
14496 Merge: 7ca4328 4df1b96
14497 Author: Brad Spengler <spender@grsecurity.net>
14498 Date: Fri Oct 18 19:36:17 2013 -0400
14499
14500 Merge branch 'pax-test' into grsec-test
14501
14502 Conflicts:
14503 ipc/shm.c
14504
14505 commit 4df1b965687831808af2548487e0f35a2ccc5c29
14506 Merge: e41125e 5070441
14507 Author: Brad Spengler <spender@grsecurity.net>
14508 Date: Fri Oct 18 19:35:31 2013 -0400
14509
14510 Merge branch 'linux-3.11.y' into pax-test
14511
14512 Conflicts:
14513 arch/x86/kernel/setup.c
14514
14515 commit 7ca43282302f7777ca3ae48d2552dbd0a6cef525
14516 Author: Brad Spengler <spender@grsecurity.net>
14517 Date: Wed Oct 16 18:35:00 2013 -0400
14518
14519 From: Mathias Krause <minipli@googlemail.com>
14520 To: Evgeniy Polyakov <zbr@ioremap.net>
14521 Cc: Mathias Krause <minipli@googlemail.com>, netdev@vger.kernel.org
14522 Subject: [PATCH 2/4] connector: use nlmsg_len() to check message length
14523
14524 The current code tests the length of the whole netlink message to be
14525 at least as long to fit a cn_msg. This is wrong as nlmsg_len includes
14526 the length of the netlink message header. Use nlmsg_len() instead to
14527 fix this "off-by-NLMSG_HDRLEN" size check.
14528
14529 Cc: stable@vger.kernel.org # v2.6.14+
14530 Signed-off-by: Mathias Krause <minipli@googlemail.com>
14531
14532 drivers/connector/connector.c | 7 ++++---
14533 1 files changed, 4 insertions(+), 3 deletions(-)
14534
14535 commit 6c495f94e2f002ed19fb8e265e2746fd6ee08489
14536 Author: Brad Spengler <spender@grsecurity.net>
14537 Date: Wed Oct 16 18:36:25 2013 -0400
14538
14539 From: Mathias Krause <minipli@googlemail.com>
14540 To: linux-audit@redhat.com
14541 Cc: Mathias Krause <minipli@googlemail.com>, Al Viro <viro@zeniv.linux.org.uk>, Eric Paris <eparis@redhat.com>
14542 Subject: [PATCH 1/2] audit: fix info leak in AUDIT_GET requests
14543
14544 We leak 4 bytes of kernel stack in response to an AUDIT_GET request as
14545 we miss to initialize the mask member of status_set. Fix that.
14546
14547 Cc: Al Viro <viro@zeniv.linux.org.uk>
14548 Cc: Eric Paris <eparis@redhat.com>
14549 Cc: stable@vger.kernel.org # v2.6.6+
14550 Signed-off-by: Mathias Krause <minipli@googlemail.com>
14551
14552 kernel/audit.c | 1 +
14553 1 files changed, 1 insertions(+), 0 deletions(-)
14554
14555 commit 9557a8727fd46e68f092dec0830a982e85b231f7
14556 Author: Brad Spengler <spender@grsecurity.net>
14557 Date: Wed Oct 16 19:02:32 2013 -0400
14558
14559 add 2nd chunk of audit nlmsg_len() fix from minipli
14560
14561 kernel/audit.c | 2 +-
14562 1 files changed, 1 insertions(+), 1 deletions(-)
14563
14564 commit ceb5f8bae05f3321af941eddb9d2bbe264e0d2cd
14565 Author: Brad Spengler <spender@grsecurity.net>
14566 Date: Wed Oct 16 18:37:59 2013 -0400
14567
14568 From: Mathias Krause <minipli@googlemail.com>
14569 To: linux-audit@redhat.com
14570 Cc: Mathias Krause <minipli@googlemail.com>, Al Viro <viro@zeniv.linux.org.uk>, Eric Paris <eparis@redhat.com>
14571 Subject: [PATCH 2/2] audit: use nlmsg_len() to get message payload length
14572
14573 Using the nlmsg_len member of the netlink header to test if the message
14574 is valid is wrong as it includes the size of the netlink header itself.
14575 Thereby allowing to send short netlink messages that pass those checks.
14576
14577 Use nlmsg_len() instead to test for the right message length. The result
14578 of nlmsg_len() is guaranteed to be non-negative as the netlink message
14579 already passed the checks of nlmsg_ok().
14580
14581 Also switch to min_t() to please checkpatch.pl.
14582
14583 Cc: Al Viro <viro@zeniv.linux.org.uk>
14584 Cc: Eric Paris <eparis@redhat.com>
14585 Cc: stable@vger.kernel.org # v2.6.6+ for the 1st hunk, v2.6.23+ for the 2nd
14586
14587 kernel/audit.c | 2 +-
14588 1 files changed, 1 insertions(+), 1 deletions(-)
14589
14590 commit 7547b29750381c776dfd47f4b1277a492d5b0f72
14591 Author: Brad Spengler <spender@grsecurity.net>
14592 Date: Wed Oct 16 18:41:01 2013 -0400
14593
14594 From: Mathias Krause <minipli@googlemail.com>
14595 To: netfilter-devel@vger.kernel.org
14596 Cc: Mathias Krause <minipli@googlemail.com>, Pablo Neira Ayuso <pablo@netfilter.org>, Patrick McHardy <kaber@trash.net>, Jozsef Kadlecsik
14597 <kadlec@blackhole.kfki.hu>, Bart De Schuymer <bart.de.schuymer@pandora.be>
14598 Subject: [PATCH 1/2] netfilter: ebt_ulog: fix info leaks
14599
14600 The ulog messages leak heap bytes by the means of padding bytes and
14601 incompletely filled string arrays. Fix those by memset(0)'ing the
14602 whole struct before filling it.
14603
14604 Cc: Bart De Schuymer <bart.de.schuymer@pandora.be>
14605 Signed-off-by: Mathias Krause <minipli@googlemail.com>
14606
14607 Conflicts:
14608
14609 net/bridge/netfilter/ebt_ulog.c
14610
14611 net/bridge/netfilter/ebt_ulog.c | 9 +++------
14612 1 files changed, 3 insertions(+), 6 deletions(-)
14613
14614 commit c1da6a5ba1b529d70214142de4eaa7f1b9d62528
14615 Author: Brad Spengler <spender@grsecurity.net>
14616 Date: Wed Oct 16 18:43:01 2013 -0400
14617
14618 From: Mathias Krause <minipli@googlemail.com>
14619 To: netfilter-devel@vger.kernel.org
14620 Cc: Mathias Krause <minipli@googlemail.com>, Pablo Neira Ayuso <pablo@netfilter.org>, Patrick McHardy <kaber@trash.net>, Jozsef Kadlecsik
14621 <kadlec@blackhole.kfki.hu>
14622 Subject: [PATCH 2/2] netfilter: ipt_ULOG: fix info leaks
14623
14624 The ulog messages leak heap bytes by the means of padding bytes and
14625 incompletely filled string arrays. Fix those by memset(0)'ing the
14626 whole struct before filling it.
14627
14628 Cc: Pablo Neira Ayuso <pablo@netfilter.org>
14629 Cc: Patrick McHardy <kaber@trash.net>
14630 Cc: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
14631 Signed-off-by: Mathias Krause <minipli@googlemail.com>
14632
14633 Conflicts:
14634
14635 net/ipv4/netfilter/ipt_ULOG.c
14636
14637 net/ipv4/netfilter/ipt_ULOG.c | 7 +------
14638 1 files changed, 1 insertions(+), 6 deletions(-)
14639
14640 commit 2965f6e6122325a18e69296ad3817c66ca59b7e3
14641 Author: Brad Spengler <spender@grsecurity.net>
14642 Date: Wed Oct 16 18:49:45 2013 -0400
14643
14644 From: Mathias Krause <minipli@googlemail.com>
14645 To: "David S. Miller" <davem@davemloft.net>
14646 Cc: Mathias Krause <minipli@googlemail.com>, netdev@vger.kernel.org
14647 Subject: [PATCH net] unix_diag: fix info leak
14648
14649 When filling the netlink message we miss to wipe the pad field,
14650 therefore leak one byte of heap memory to userland. Fix this by
14651 setting pad to 0.
14652
14653 Signed-off-by: Mathias Krause <minipli@googlemail.com>
14654
14655 net/unix/diag.c | 1 +
14656 1 files changed, 1 insertions(+), 0 deletions(-)
14657
14658 commit c6bc48165dc213ad8b24fbd872d5c01deb4508bc
14659 Author: Mathias Krause <minipli@googlemail.com>
14660 Date: Mon Sep 30 22:03:06 2013 +0200
14661
14662 Upstream commit: e727ca82e0e9616ab4844301e6bae60ca7327682
14663
14664 proc connector: fix info leaks
14665
14666 Initialize event_data for all possible message types to prevent leaking
14667 kernel stack contents to userland (up to 20 bytes). Also set the flags
14668 member of the connector message to 0 to prevent leaking two more stack
14669 bytes this way.
14670
14671 Cc: stable@vger.kernel.org # v2.6.15+
14672 Signed-off-by: Mathias Krause <minipli@googlemail.com>
14673 Signed-off-by: David S. Miller <davem@davemloft.net>
14674
14675 drivers/connector/cn_proc.c | 18 ++++++++++++++++++
14676 1 files changed, 18 insertions(+), 0 deletions(-)
14677
14678 commit 6398c8e93f1f8fcf80ae2f024a8cca9ea84ccd04
14679 Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
14680 Date: Wed Oct 9 15:58:29 2013 +0100
14681
14682 Upstream commit: 3c1532df5c1b54b5f6246cdef94eeb73a39fe43a
14683
14684 ARM: 7851/1: check for number of arguments in syscall_get/set_arguments()
14685
14686 In ftrace_syscall_enter(),
14687 syscall_get_arguments(..., 0, n, ...)
14688 if (i == 0) { <handle ORIG_r0> ...; n--;}
14689 memcpy(..., n * sizeof(args[0]));
14690 If 'number of arguments(n)' is zero and 'argument index(i)' is also zero in
14691 syscall_get_arguments(), none of arguments should be copied by memcpy().
14692 Otherwise 'n--' can be a big positive number and unexpected amount of data
14693 will be copied. Tracing system calls which take no argument, say sync(void),
14694 may hit this case and eventually make the system corrupted.
14695 This patch fixes the issue both in syscall_get_arguments() and
14696 syscall_set_arguments().
14697
14698 Cc: <stable@vger.kernel.org>
14699 Acked-by: Will Deacon <will.deacon@arm.com>
14700 Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
14701 Signed-off-by: Will Deacon <will.deacon@arm.com>
14702 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
14703
14704 arch/arm/include/asm/syscall.h | 6 ++++++
14705 1 files changed, 6 insertions(+), 0 deletions(-)
14706
14707 commit c062c6b6774efea3e8b21dc5262f8bf9b34609c2
14708 Author: Dave Jones <davej@redhat.com>
14709 Date: Thu Oct 10 20:05:35 2013 -0400
14710
14711 Upstream commit: 6e4ea8e33b2057b85d75175dd89b93f5e26de3bc
14712
14713 ext4: fix memory leak in xattr
14714
14715 If we take the 2nd retry path in ext4_expand_extra_isize_ea, we
14716 potentionally return from the function without having freed these
14717 allocations. If we don't do the return, we over-write the previous
14718 allocation pointers, so we leak either way.
14719
14720 Spotted with Coverity.
14721
14722 [ Fixed by tytso to set is and bs to NULL after freeing these
14723 pointers, in case in the retry loop we later end up triggering an
14724 error causing a jump to cleanup, at which point we could have a double
14725 free bug. -- Ted ]
14726
14727 Signed-off-by: Dave Jones <davej@fedoraproject.org>
14728 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
14729 Reviewed-by: Eric Sandeen <sandeen@redhat.com>
14730 Cc: stable@vger.kernel.org
14731
14732 fs/ext4/xattr.c | 2 ++
14733 1 files changed, 2 insertions(+), 0 deletions(-)
14734
14735 commit 224e55268fbd4f81fca479e315c9483df591411d
14736 Author: Salva Peiró <speiro@ai2.upv.es>
14737 Date: Fri Oct 11 12:50:03 2013 +0300
14738
14739 Upstream commit: 96b340406724d87e4621284ebac5e059d67b2194
14740
14741 farsync: fix info leak in ioctl
14742
14743 The fst_get_iface() code fails to initialize the two padding bytes of
14744 struct sync_serial_settings after the ->loopback member. Add an explicit
14745 memset(0) before filling the structure to avoid the info leak.
14746
14747 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
14748 Signed-off-by: David S. Miller <davem@davemloft.net>
14749
14750 drivers/net/wan/farsync.c | 1 +
14751 1 files changed, 1 insertions(+), 0 deletions(-)
14752
14753 commit 2df2f7f9ca7c383331795980a56a2f47a0d0dfd9
14754 Author: James Hogan <james.hogan@imgtec.com>
14755 Date: Mon Oct 7 12:14:26 2013 +0100
14756
14757 Upstream commit: 8b3c569a3999a8fd5a819f892525ab5520777c92
14758
14759 MIPS: stack protector: Fix per-task canary switch
14760
14761 Commit 1400eb6 (MIPS: r4k,octeon,r2300: stack protector: change canary
14762 per task) was merged in v3.11 and introduced assembly in the MIPS resume
14763 functions to update the value of the current canary in
14764 __stack_chk_guard. However it used PTR_L resulting in a load of the
14765 canary value, instead of PTR_LA to construct its address. The value is
14766 intended to be random but is then treated as an address in the
14767 subsequent LONG_S (store).
14768
14769 This was observed to cause a fault and panic:
14770
14771 CPU 0 Unable to handle kernel paging request at virtual address 139fea20, epc == 8000cc0c, ra == 8034f2a4
14772 Oops[#1]:
14773 ...
14774 $24 : 139fea20 1e1f7cb6
14775 ...
14776 Call Trace:
14777 [<8000cc0c>] resume+0xac/0x118
14778 [<8034f2a4>] __schedule+0x5f8/0x78c
14779 [<8034f4e0>] schedule_preempt_disabled+0x20/0x2c
14780 [<80348eec>] rest_init+0x74/0x84
14781 [<804dc990>] start_kernel+0x43c/0x454
14782 Code: 3c18804b 8f184030 8cb901f8 <af190000> 00c0e021 8cb002f0 8cb102f4 8cb202f8 8cb302fc
14783
14784 This can also be forced by modifying
14785 arch/mips/include/asm/stackprotector.h so that the default
14786 __stack_chk_guard value is more likely to be a bad (or unaligned)
14787 pointer.
14788
14789 Fix it to use PTR_LA instead, to load the address of the canary value,
14790 which the LONG_S can then use to write into it.
14791
14792 Reported-by: bobjones (via #mipslinux on IRC)
14793 Signed-off-by: James Hogan <james.hogan@imgtec.com>
14794 Cc: Ralf Baechle <ralf@linux-mips.org>
14795 Cc: Gregory Fong <gregory.0xf0@gmail.com>
14796 Cc: linux-mips@linux-mips.org
14797 Cc: stable@vger.kernel.org
14798 Patchwork: https://patchwork.linux-mips.org/patch/6026/
14799 Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14800
14801 arch/mips/kernel/octeon_switch.S | 2 +-
14802 arch/mips/kernel/r2300_switch.S | 2 +-
14803 arch/mips/kernel/r4k_switch.S | 2 +-
14804 3 files changed, 3 insertions(+), 3 deletions(-)
14805
14806 commit 4541f6c6871c1cffa3637ccbc817a37d6f093d1c
14807 Author: Fan Du <fan.du@windriver.com>
14808 Date: Tue Sep 17 15:14:13 2013 +0800
14809
14810 Upstream commit: 33fce60d6a6e137035f8e23a89d7fd55f3a24cda
14811
14812 xfrm: Guard IPsec anti replay window against replay bitmap
14813
14814 For legacy IPsec anti replay mechanism:
14815
14816 bitmap in struct xfrm_replay_state could only provide a 32 bits
14817 window size limit in current design, thus user level parameter
14818 sadb_sa_replay should honor this limit, otherwise misleading
14819 outputs("replay=244") by setkey -D will be:
14820
14821 192.168.25.2 192.168.22.2
14822 esp mode=transport spi=147561170(0x08cb9ad2) reqid=0(0x00000000)
14823 E: aes-cbc 9a8d7468 7655cf0b 719d27be b0ddaac2
14824 A: hmac-sha1 2d2115c2 ebf7c126 1c54f186 3b139b58 264a7331
14825 seq=0x00000000 replay=244 flags=0x00000000 state=mature
14826 created: Sep 17 14:00:00 2013 current: Sep 17 14:00:22 2013
14827 diff: 22(s) hard: 30(s) soft: 26(s)
14828 last: Sep 17 14:00:00 2013 hard: 0(s) soft: 0(s)
14829 current: 1408(bytes) hard: 0(bytes) soft: 0(bytes)
14830 allocated: 22 hard: 0 soft: 0
14831 sadb_seq=1 pid=4854 refcnt=0
14832 192.168.22.2 192.168.25.2
14833 esp mode=transport spi=255302123(0x0f3799eb) reqid=0(0x00000000)
14834 E: aes-cbc 6485d990 f61a6bd5 e5660252 608ad282
14835 A: hmac-sha1 0cca811a eb4fa893 c47ae56c 98f6e413 87379a88
14836 seq=0x00000000 replay=244 flags=0x00000000 state=mature
14837 created: Sep 17 14:00:00 2013 current: Sep 17 14:00:22 2013
14838 diff: 22(s) hard: 30(s) soft: 26(s)
14839 last: Sep 17 14:00:00 2013 hard: 0(s) soft: 0(s)
14840 current: 1408(bytes) hard: 0(bytes) soft: 0(bytes)
14841 allocated: 22 hard: 0 soft: 0
14842 sadb_seq=0 pid=4854 refcnt=0
14843
14844 And also, optimizing xfrm_replay_check window checking by setting the
14845 desirable x->props.replay_window with only doing the comparison once
14846 for all when xfrm_state is first born.
14847
14848 Signed-off-by: Fan Du <fan.du@windriver.com>
14849 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
14850
14851 net/key/af_key.c | 3 ++-
14852 net/xfrm/xfrm_replay.c | 3 +--
14853 net/xfrm/xfrm_user.c | 3 ++-
14854 3 files changed, 5 insertions(+), 4 deletions(-)
14855
14856 commit 3853002f1fb21ca8e23784e9eaeb971eaebc7541
14857 Author: Thomas Egerer <thomas.egerer@secunet.com>
14858 Date: Thu Sep 19 13:19:19 2013 +0200
14859
14860 Upstream commit: cd808fc9a6c7cd3a4311d9d2cffc4adbeaef5f6c
14861
14862 xfrm: Fix aevent generation for each received packet
14863
14864 If asynchronous events are enabled for a particular netlink socket,
14865 the notify function is called by the advance function. The notify
14866 function creates and dispatches a km_event if a replay timeout occurred,
14867 or at least replay_maxdiff packets have been received since the last
14868 asynchronous event has been sent. The function is supposed to return if
14869 neither of the two events were detected for a state, or replay_maxdiff
14870 is equal to zero.
14871 Replay_maxdiff is initialized in xfrm_state_construct to the value of
14872 the xfrm.sysctl_aevent_rseqth (2 by default), and updated if for a state
14873 if the netlink attribute XFRMA_REPLAY_THRESH is set.
14874 If, however, replay_maxdiff is set to zero, then all of the three notify
14875 implementations perform a break from the switch statement instead of
14876 checking whether a timeout occurred, and -- if not -- return. As a
14877 result an asynchronous event is generated for every replay update of a
14878 state that has a zero replay_maxdiff value.
14879 This patch modifies the notify functions such that they immediately
14880 return if replay_maxdiff has the value zero, unless a timeout occurred.
14881
14882 Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
14883 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
14884
14885 net/xfrm/xfrm_replay.c | 51 +++++++++++++++++++++++++----------------------
14886 1 files changed, 27 insertions(+), 24 deletions(-)
14887
14888 commit dafbbf04fb91cc92c049dcf7cabcc92fd5d29cb8
14889 Author: Steffen Klassert <steffen.klassert@secunet.com>
14890 Date: Tue Oct 8 10:49:45 2013 +0200
14891
14892 Upstream commit: e7d8f6cb2f8735693396872f4608bbe305e8baee
14893
14894 xfrm: Add refcount handling to queued policies
14895
14896 We need to ensure that policies can't go away as long as the hold timer
14897 is armed, so take a refcont when we arm the timer and drop one if we
14898 delete it.
14899
14900 Bug was introduced with git commit a0073fe18 ("xfrm: Add a state
14901 resolution packet queue")
14902
14903 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
14904
14905 net/xfrm/xfrm_policy.c | 24 +++++++++++++++++-------
14906 1 files changed, 17 insertions(+), 7 deletions(-)
14907
14908 commit b4948dc963442682534b3a039664b564c764e4f8
14909 Author: Steffen Klassert <steffen.klassert@secunet.com>
14910 Date: Tue Oct 8 10:49:51 2013 +0200
14911
14912 Upstream commit: 2bb53e2557964c2c5368a0392cf3b3b63a288cd0
14913
14914 xfrm: check for a vaild skb in xfrm_policy_queue_process
14915
14916 We might dreference a NULL pointer if the hold_queue is empty,
14917 so add a check to avoid this.
14918
14919 Bug was introduced with git commit a0073fe18 ("xfrm: Add a state
14920 resolution packet queue")
14921
14922 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
14923
14924 net/xfrm/xfrm_policy.c | 4 ++++
14925 1 files changed, 4 insertions(+), 0 deletions(-)
14926
14927 commit fad7f264b264b0b17a307aa16162cb43c7688a30
14928 Author: Marc Kleine-Budde <mkl@pengutronix.de>
14929 Date: Mon Oct 7 23:19:58 2013 +0200
14930
14931 Upstream commit: c33a39c575068c2ea9bffb22fd6de2df19c74b89
14932
14933 net: vlan: fix nlmsg size calculation in vlan_get_size()
14934
14935 This patch fixes the calculation of the nlmsg size, by adding the missing
14936 nla_total_size().
14937
14938 Cc: Patrick McHardy <kaber@trash.net>
14939 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
14940 Signed-off-by: David S. Miller <davem@davemloft.net>
14941
14942 net/8021q/vlan_netlink.c | 2 +-
14943 1 files changed, 1 insertions(+), 1 deletions(-)
14944
14945 commit 675e5611464fe6b4d41e7d8ba56ed845286b28dd
14946 Author: François Cachereul <f.cachereul@alphalink.fr>
14947 Date: Wed Oct 2 10:16:02 2013 +0200
14948
14949 Upstream commit: e18503f41f9b12132c95d7c31ca6ee5155e44e5c
14950
14951 l2tp: fix kernel panic when using IPv4-mapped IPv6 addresses
14952
14953 IPv4 mapped addresses cause kernel panic.
14954 The patch juste check whether the IPv6 address is an IPv4 mapped
14955 address. If so, use IPv4 API instead of IPv6.
14956
14957 [ 940.026915] general protection fault: 0000 [#1]
14958 [ 940.026915] Modules linked in: l2tp_ppp l2tp_netlink l2tp_core pppox ppp_generic slhc loop psmouse
14959 [ 940.026915] CPU: 0 PID: 3184 Comm: memcheck-amd64- Not tainted 3.11.0+ #1
14960 [ 940.026915] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
14961 [ 940.026915] task: ffff880007130e20 ti: ffff88000737e000 task.ti: ffff88000737e000
14962 [ 940.026915] RIP: 0010:[<ffffffff81333780>] [<ffffffff81333780>] ip6_xmit+0x276/0x326
14963 [ 940.026915] RSP: 0018:ffff88000737fd28 EFLAGS: 00010286
14964 [ 940.026915] RAX: c748521a75ceff48 RBX: ffff880000c30800 RCX: 0000000000000000
14965 [ 940.026915] RDX: ffff88000075cc4e RSI: 0000000000000028 RDI: ffff8800060e5a40
14966 [ 940.026915] RBP: ffff8800060e5a40 R08: 0000000000000000 R09: ffff88000075cc90
14967 [ 940.026915] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88000737fda0
14968 [ 940.026915] R13: 0000000000000000 R14: 0000000000002000 R15: ffff880005d3b580
14969 [ 940.026915] FS: 00007f163dc5e800(0000) GS:ffffffff81623000(0000) knlGS:0000000000000000
14970 [ 940.026915] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
14971 [ 940.026915] CR2: 00000004032dc940 CR3: 0000000005c25000 CR4: 00000000000006f0
14972 [ 940.026915] Stack:
14973 [ 940.026915] ffff88000075cc4e ffffffff81694e90 ffff880000c30b38 0000000000000020
14974 [ 940.026915] 11000000523c4bac ffff88000737fdb4 0000000000000000 ffff880000c30800
14975 [ 940.026915] ffff880005d3b580 ffff880000c30b38 ffff8800060e5a40 0000000000000020
14976 [ 940.026915] Call Trace:
14977 [ 940.026915] [<ffffffff81356cc3>] ? inet6_csk_xmit+0xa4/0xc4
14978 [ 940.026915] [<ffffffffa0038535>] ? l2tp_xmit_skb+0x503/0x55a [l2tp_core]
14979 [ 940.026915] [<ffffffff812b8d3b>] ? pskb_expand_head+0x161/0x214
14980 [ 940.026915] [<ffffffffa003e91d>] ? pppol2tp_xmit+0xf2/0x143 [l2tp_ppp]
14981 [ 940.026915] [<ffffffffa00292e0>] ? ppp_channel_push+0x36/0x8b [ppp_generic]
14982 [ 940.026915] [<ffffffffa00293fe>] ? ppp_write+0xaf/0xc5 [ppp_generic]
14983 [ 940.026915] [<ffffffff8110ead4>] ? vfs_write+0xa2/0x106
14984 [ 940.026915] [<ffffffff8110edd6>] ? SyS_write+0x56/0x8a
14985 [ 940.026915] [<ffffffff81378ac0>] ? system_call_fastpath+0x16/0x1b
14986 [ 940.026915] Code: 00 49 8b 8f d8 00 00 00 66 83 7c 11 02 00 74 60 49
14987 8b 47 58 48 83 e0 fe 48 8b 80 18 01 00 00 48 85 c0 74 13 48 8b 80 78 02
14988 00 00 <48> ff 40 28 41 8b 57 68 48 01 50 30 48 8b 54 24 08 49 c7 c1 51
14989 [ 940.026915] RIP [<ffffffff81333780>] ip6_xmit+0x276/0x326
14990 [ 940.026915] RSP <ffff88000737fd28>
14991 [ 940.057945] ---[ end trace be8aba9a61c8b7f3 ]---
14992 [ 940.058583] Kernel panic - not syncing: Fatal exception in interrupt
14993
14994 Signed-off-by: François CACHEREUL <f.cachereul@alphalink.fr>
14995 Signed-off-by: David S. Miller <davem@davemloft.net>
14996
14997 net/l2tp/l2tp_core.c | 27 +++++++++++++++++++++++----
14998 net/l2tp/l2tp_core.h | 3 +++
14999 2 files changed, 26 insertions(+), 4 deletions(-)
15000
15001 commit 2db6fe58460d400bc8b995fa2328be03e27e55e1
15002 Merge: 28f9622 e41125e
15003 Author: Brad Spengler <spender@grsecurity.net>
15004 Date: Tue Oct 15 10:00:52 2013 -0400
15005
15006 Merge branch 'pax-test' into grsec-test
15007
15008 Conflicts:
15009 arch/sparc/kernel/ds.c
15010 net/sysctl_net.c
15011
15012 commit e41125e4742f332cd8cd8cf0c00cb189dba0e037
15013 Merge: 740e5ec a145cb9
15014 Author: Brad Spengler <spender@grsecurity.net>
15015 Date: Tue Oct 15 09:58:29 2013 -0400
15016
15017 Merge branch 'linux-3.11.y' into pax-test
15018
15019 commit 28f9622091224541efadf3ae006f0e5651c7fa45
15020 Author: Brad Spengler <spender@grsecurity.net>
15021 Date: Tue Oct 1 22:48:34 2013 -0400
15022
15023 Fix this strlcpy crap properly
15024
15025 arch/sparc/kernel/ds.c | 7 +++----
15026 1 files changed, 3 insertions(+), 4 deletions(-)
15027
15028 commit 837193210e4125fe4e9e554b28d7bc33985f3554
15029 Author: David S. Miller <davem@davemloft.net>
15030 Date: Fri Sep 27 13:46:04 2013 -0700
15031
15032 Upstream commit: 2bd161a605f1f84a5fc8a4fe8410113a94f79355
15033
15034 sparc64: Fix buggy strlcpy() conversion in ldom_reboot().
15035
15036 Commit 117a0c5fc9c2d06045bd217385b2b39ea426b5a6 ("sparc: kernel: using
15037 strlcpy() instead of strcpy()") added a bug to ldom_reboot in
15038 arch/sparc/kernel/ds.c
15039
15040 - strcpy(full_boot_str + strlen("boot "), boot_command);
15041 + strlcpy(full_boot_str + strlen("boot "), boot_command,
15042 + sizeof(full_boot_str + strlen("boot ")));
15043
15044 That last sizeof() expression evaluates to sizeof(size_t) which is
15045 not what was intended.
15046
15047 Also even the corrected:
15048
15049 sizeof(full_boot_str) + strlen("boot ")
15050
15051 is not right as the destination buffer length is just plain
15052 "sizeof(full_boot_str)" and that's what the final argument
15053 should be.
15054
15055 Signed-off-by: David S. Miller <davem@davemloft.net>
15056
15057 arch/sparc/kernel/ds.c | 2 +-
15058 1 files changed, 1 insertions(+), 1 deletions(-)
15059
15060 commit fc25f7a8bc9f268e659f0265bcdb4dcac648c249
15061 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
15062 Date: Sun Sep 29 05:40:50 2013 +0200
15063
15064 Upstream commit: 3da812d860755925da890e8c713f2d2e2d7b1bae
15065
15066 ipv6: gre: correct calculation of max_headroom
15067
15068 gre_hlen already accounts for sizeof(struct ipv6_hdr) + gre header,
15069 so initialize max_headroom to zero. Otherwise the
15070
15071 if (encap_limit >= 0) {
15072 max_headroom += 8;
15073 mtu -= 8;
15074 }
15075
15076 increments an uninitialized variable before max_headroom was reset.
15077
15078 Found with coverity: 728539
15079
15080 Cc: Dmitry Kozlov <xeb@mail.ru>
15081 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
15082 Acked-by: Eric Dumazet <edumazet@google.com>
15083 Signed-off-by: David S. Miller <davem@davemloft.net>
15084
15085 Conflicts:
15086
15087 net/ipv6/ip6_gre.c
15088
15089 net/ipv6/ip6_gre.c | 4 ++--
15090 1 files changed, 2 insertions(+), 2 deletions(-)
15091
15092 commit 0d68ac550952d0eaf60851497ceee68dbba24516
15093 Merge: 64257ad 740e5ec
15094 Author: Brad Spengler <spender@grsecurity.net>
15095 Date: Tue Oct 1 18:11:52 2013 -0400
15096
15097 Merge branch 'pax-test' into grsec-test
15098
15099 Conflicts:
15100 drivers/hid/hid-core.c
15101 drivers/hid/hid-lg2ff.c
15102 drivers/hid/hid-lg3ff.c
15103 drivers/hid/hid-lg4ff.c
15104 drivers/hid/hid-lgff.c
15105 drivers/hid/hid-logitech-dj.c
15106 drivers/hid/hid-steelseries.c
15107 drivers/hid/hid-zpff.c
15108 include/linux/hid.h
15109
15110 commit 740e5ec087969afd43ae0b552b4e05914437ed32
15111 Merge: c38c6b0 db20388
15112 Author: Brad Spengler <spender@grsecurity.net>
15113 Date: Tue Oct 1 17:40:46 2013 -0400
15114
15115 Merge branch 'linux-3.11.y' into pax-test
15116
15117 commit 64257ad95c51285d415f93ebdd486fae6bb9415d
15118 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
15119 Date: Sat Sep 21 06:27:00 2013 +0200
15120
15121 Upstream commit: 2811ebac2521ceac84f2bdae402455baa6a7fb47
15122
15123 ipv6: udp packets following an UFO enqueued packet need also be handled by UFO
15124
15125 In the following scenario the socket is corked:
15126 If the first UDP packet is larger then the mtu we try to append it to the
15127 write queue via ip6_ufo_append_data. A following packet, which is smaller
15128 than the mtu would be appended to the already queued up gso-skb via
15129 plain ip6_append_data. This causes random memory corruptions.
15130
15131 In ip6_ufo_append_data we also have to be careful to not queue up the
15132 same skb multiple times. So setup the gso frame only when no first skb
15133 is available.
15134
15135 This also fixes a shortcoming where we add the current packet's length to
15136 cork->length but return early because of a packet > mtu with dontfrag set
15137 (instead of sutracting it again).
15138
15139 Found with trinity.
15140
15141 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
15142 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
15143 Reported-by: Dmitry Vyukov <dvyukov@google.com>
15144 Signed-off-by: David S. Miller <davem@davemloft.net>
15145
15146 net/ipv6/ip6_output.c | 53 ++++++++++++++++++++----------------------------
15147 1 files changed, 22 insertions(+), 31 deletions(-)
15148
15149 commit ee4ab63f6dfd57e8c5d67e1e154b86d1139937f6
15150 Author: Dan Carpenter <dan.carpenter@oracle.com>
15151 Date: Tue Sep 24 15:27:45 2013 -0700
15152
15153 Just a whitespace fix to sync with upstream as we already applied this fix
15154 via Vasiliy Kulikov in 2010. It fell through the cracks upstream
15155
15156 cciss: fix info leak in cciss_ioctl32_passthru()
15157
15158 The arg64 struct has a hole after ->buf_size which isn't cleared. Or if
15159 any of the calls to copy_from_user() fail then that would cause an
15160 information leak as well.
15161
15162 This was assigned CVE-2013-2147.
15163
15164 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
15165 Acked-by: Mike Miller <mike.miller@hp.com>
15166 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
15167 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15168
15169 Conflicts:
15170
15171 drivers/block/cciss.c
15172
15173 drivers/block/cciss.c | 1 -
15174 1 files changed, 0 insertions(+), 1 deletions(-)
15175
15176 commit 2a5d630a83f5ddd2ab0ce9cb32a93ad3e1f6dc3e
15177 Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
15178 Date: Tue Sep 24 18:29:11 2013 -0700
15179
15180 Upstream commit: 22356f447ceb8d97a4885792e7d9e4607f712e1b
15181
15182 mm: Place preemption point in do_mlockall() loop
15183
15184 There is a loop in do_mlockall() that lacks a preemption point, which
15185 means that the following can happen on non-preemptible builds of the
15186 kernel. Dave Jones reports:
15187
15188 "My fuzz tester keeps hitting this. Every instance shows the non-irq
15189 stack came in from mlockall. I'm only seeing this on one box, but
15190 that has more ram (8gb) than my other machines, which might explain
15191 it.
15192
15193 INFO: rcu_preempt self-detected stall on CPU { 3} (t=6500 jiffies g=470344 c=470343 q=0)
15194 sending NMI to all CPUs:
15195 NMI backtrace for cpu 3
15196 CPU: 3 PID: 29664 Comm: trinity-child2 Not tainted 3.11.0-rc1+ #32
15197 Call Trace:
15198 lru_add_drain_all+0x15/0x20
15199 SyS_mlockall+0xa5/0x1a0
15200 tracesys+0xdd/0xe2"
15201
15202 This commit addresses this problem by inserting the required preemption
15203 point.
15204
15205 Reported-by: Dave Jones <davej@redhat.com>
15206 Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
15207 Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
15208 Cc: Michel Lespinasse <walken@google.com>
15209 Cc: Andrew Morton <akpm@linux-foundation.org>
15210 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15211
15212 mm/mlock.c | 1 +
15213 1 files changed, 1 insertions(+), 0 deletions(-)
15214
15215 commit 042ecff756f1246abb9c84dd20ad9f6e9c429ed9
15216 Author: Brad Spengler <spender@grsecurity.net>
15217 Date: Fri Sep 27 21:06:17 2013 -0400
15218
15219 Don't log attempts to create a socket with a family that the kernel doesn't
15220 support
15221 Further, if the kernel doesn't support the socket family, instead of returning
15222 -EACCES, return -EAFNOSUPPORT -- should resolve the need to allow ipv6
15223 sockets in RBAC policy despite a kernel that doesn't support ipv6
15224 observed during a Debian userland update necessitating a policy change
15225
15226 grsecurity/gracl_ip.c | 7 +++----
15227 net/socket.c | 26 +++++++++++++++-----------
15228 2 files changed, 18 insertions(+), 15 deletions(-)
15229
15230 commit 55f1e409275973513a3314fe5bfa76a4781c0db7
15231 Merge: 2eac654 c38c6b0
15232 Author: Brad Spengler <spender@grsecurity.net>
15233 Date: Fri Sep 27 20:35:04 2013 -0400
15234
15235 Merge branch 'pax-test' into grsec-test
15236
15237 Conflicts:
15238 drivers/hid/hid-picolcd_core.c
15239
15240 commit c38c6b0bbbe53bd528aeeb4a059764abc028c276
15241 Merge: 115bf6a a3308b5
15242 Author: Brad Spengler <spender@grsecurity.net>
15243 Date: Fri Sep 27 20:34:15 2013 -0400
15244
15245 Merge branch 'linux-3.11.y' into pax-test
15246
15247 Conflicts:
15248 arch/x86/ia32/ia32_signal.c
15249 arch/x86/include/asm/checksum_32.h
15250 arch/x86/include/asm/mmu_context.h
15251 arch/x86/kernel/signal.c
15252 arch/x86/lib/csum-wrappers_64.c
15253 include/linux/compat.h
15254
15255 commit 2eac65435fdffca548a56e5187840908438fc95c
15256 Merge: ba0ebde 115bf6a
15257 Author: Brad Spengler <spender@grsecurity.net>
15258 Date: Thu Sep 26 20:00:00 2013 -0400
15259
15260 Merge branch 'pax-test' into grsec-test
15261
15262 commit 115bf6af0083ea28c751d551a39cfdba1798e9dc
15263 Author: Brad Spengler <spender@grsecurity.net>
15264 Date: Thu Sep 26 19:59:14 2013 -0400
15265
15266 Update to pax-linux-3.11.1-test10.patch:
15267 - added missing exports for module_alloc_exec/module_free_exec on arm, by Arnaud Fontaine
15268 - fixed potential .exit.text section reference problem with REFCOUNT on arm, reported by Corey Minyard
15269 - fixed REFCOUNT false positive in the new percpu refcount code, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=486040)
15270 - fixed an integer overflow in the ELF loader that happens to be harmless due to another overflow, found by Emese Revfy's new size overflow plugin (not yet released)
15271 - beefed up latent entropy extraction
15272 - latent_entropy itself will be initialized to a compile-time random value (instead of 0)
15273 - entropy will be collected from various irq and softirq handlers
15274
15275 arch/arm/kernel/module.c | 2 ++
15276 arch/arm/kernel/vmlinux.lds.S | 2 +-
15277 block/blk-iopoll.c | 2 +-
15278 block/blk-softirq.c | 2 +-
15279 fs/binfmt_elf.c | 8 +++++---
15280 include/linux/genhd.h | 2 +-
15281 include/linux/random.h | 4 ++--
15282 kernel/hrtimer.c | 2 +-
15283 kernel/rcutiny.c | 2 +-
15284 kernel/rcutree.c | 2 +-
15285 kernel/sched/fair.c | 2 +-
15286 kernel/softirq.c | 4 ++--
15287 kernel/timer.c | 2 +-
15288 lib/percpu-refcount.c | 2 +-
15289 net/core/dev.c | 4 ++--
15290 tools/gcc/latent_entropy_plugin.c | 2 +-
15291 16 files changed, 24 insertions(+), 20 deletions(-)
15292
15293 commit ba0ebdedeb2e128654dac48641bdc9d8b34530d6
15294 Author: Brad Spengler <spender@grsecurity.net>
15295 Date: Sun Sep 22 18:14:07 2013 -0400
15296
15297 Revert "Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db"
15298
15299 This reverts commit 7a430f97a2f6538693cb8e354c67c874f24c5ebf.
15300
15301 net/netlink/genetlink.c | 7 -------
15302 1 files changed, 0 insertions(+), 7 deletions(-)
15303
15304 commit ca27c99c4f2df039e21ec15c52824d84e2cd2f35
15305 Merge: f1e4228 90db383
15306 Author: Brad Spengler <spender@grsecurity.net>
15307 Date: Wed Sep 18 17:34:37 2013 -0400
15308
15309 Merge branch 'pax-test' into grsec-test
15310
15311 commit 90db383fd7d650172d52229b0116ad7604c9bec1
15312 Author: Brad Spengler <spender@grsecurity.net>
15313 Date: Wed Sep 18 17:32:42 2013 -0400
15314
15315 Update to pax-linux-3.11.1-test9.patch:
15316 - fixed some arm compile regressions, reported by Arnaud Ebalard and Michael Tremer
15317 - better implementation of __read_only for modules
15318 - fixed a regression and an apparently needed kuser emulation on arm, reported by Arnaud Ebalard
15319
15320 arch/arm/kernel/entry-common.S | 12 ++++++------
15321 arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 ++--
15322 arch/arm/mm/fault.c | 26 +++++++++++++++++++++++++-
15323 arch/x86/include/asm/cache.h | 4 ----
15324 drivers/bus/arm-cci.c | 2 +-
15325 drivers/clk/socfpga/clk.c | 2 +-
15326 drivers/mmc/host/mmci.c | 4 +++-
15327 drivers/net/ethernet/chelsio/cxgb3/sge.c | 2 +-
15328 include/linux/cache.h | 4 ++++
15329 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
15330 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
15331 scripts/module-common.lds | 4 ++++
15332 12 files changed, 49 insertions(+), 19 deletions(-)
15333
15334 commit 43fd6b476981f2b72f1fcb7dd4de6b04643e0810
15335 Author: Brad Spengler <spender@grsecurity.net>
15336 Date: Wed Sep 18 17:32:25 2013 -0400
15337
15338 Revert "mark sctp_af_inet forward declaration as __read_only to fix compile error"
15339
15340 This reverts commit 5e30989102e2d0df166ab6ff915b90f675f8786f.
15341
15342 net/sctp/protocol.c | 2 +-
15343 1 files changed, 1 insertions(+), 1 deletions(-)
15344
15345 commit f1e42285e17479067b6cbcffc43916720e6dedd3
15346 Merge: 456ca17 5e30989
15347 Author: Brad Spengler <spender@grsecurity.net>
15348 Date: Mon Sep 16 21:42:34 2013 -0400
15349
15350 Merge branch 'pax-test' into grsec-test
15351
15352 commit 5e30989102e2d0df166ab6ff915b90f675f8786f
15353 Author: Brad Spengler <spender@grsecurity.net>
15354 Date: Mon Sep 16 21:41:44 2013 -0400
15355
15356 mark sctp_af_inet forward declaration as __read_only to fix compile error
15357
15358 net/sctp/protocol.c | 2 +-
15359 1 files changed, 1 insertions(+), 1 deletions(-)
15360
15361 commit 456ca176141f10355c1569b29225c9ce4b7db18e
15362 Merge: b406eac 5df8f36
15363 Author: Brad Spengler <spender@grsecurity.net>
15364 Date: Mon Sep 16 20:02:05 2013 -0400
15365
15366 Merge branch 'pax-test' into grsec-test
15367
15368 commit 5df8f36fbb39fbd47e04945001d11e52c16fc0b6
15369 Author: Brad Spengler <spender@grsecurity.net>
15370 Date: Mon Sep 16 20:01:38 2013 -0400
15371
15372 Update to pax-linux-3.11.1-test7.patch:
15373 - fixed arm compile error, reported by Arnaud Ebalard
15374 - fixed NULL deref due to some xfrm constification, reported by marcin1j (http://forums.grsecurity.net/viewtopic.php?f=3&t=3743)
15375 - fixed od_ops constification, fixes cpufreq ondemand on AMD
15376 - latent entropy will now be gathered from module init code as well (i.e., at module load/init time)
15377 - __read_only will now be enforced in modules as well
15378 - removed unneccessary __read_only from ntfs
15379
15380 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
15381 arch/x86/include/asm/cache.h | 4 ++++
15382 drivers/cpufreq/cpufreq_governor.h | 2 +-
15383 drivers/cpufreq/cpufreq_ondemand.c | 2 +-
15384 fs/ntfs/file.c | 4 ++--
15385 include/linux/init.h | 5 -----
15386 include/net/xfrm.h | 5 ++++-
15387 init/main.c | 9 +++------
15388 mm/page_alloc.c | 1 +
15389 net/ipv4/xfrm4_policy.c | 4 ++--
15390 net/ipv6/xfrm6_policy.c | 4 ++--
15391 net/xfrm/xfrm_policy.c | 11 ++---------
15392 12 files changed, 23 insertions(+), 30 deletions(-)
15393
15394 commit b406eac579bb3a5faa1c9d73b8af5530f942009a
15395 Author: Brad Spengler <spender@grsecurity.net>
15396 Date: Mon Sep 16 12:53:22 2013 -0400
15397
15398 Backport commit from https://git.kernel.org/cgit/linux/kernel/git/klassert/ipsec.git/commit/?h=testing&id=4479ff76c43607b680f9349128d8493228b49dce
15399
15400 author Steffen Klassert <steffen.klassert@secunet.com> 2013-09-09 07:39:01 (GMT)
15401 committer Steffen Klassert <steffen.klassert@secunet.com> 2013-09-16 07:39:37 (GMT)
15402
15403 xfrm: Fix replay size checking on async events
15404 We pass the wrong netlink attribute to xfrm_replay_verify_len().
15405 It should be XFRMA_REPLAY_ESN_VAL and not XFRMA_REPLAY_VAL as
15406 we currently doing. This causes memory corruptions if the
15407 replay esn attribute has incorrect length. Fix this by passing
15408 the right attribute to xfrm_replay_verify_len().
15409
15410 Reported-by: Michael Rossberg <michael.rossberg@tu-ilmenau.de>
15411 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
15412
15413 net/xfrm/xfrm_user.c | 2 +-
15414 1 files changed, 1 insertions(+), 1 deletions(-)
15415
15416 commit 9eeb1f53a99068a1f2a77e4d250e334165b789c9
15417 Merge: 84843a3 0a0ced6
15418 Author: Brad Spengler <spender@grsecurity.net>
15419 Date: Sun Sep 15 11:24:30 2013 -0400
15420
15421 Merge branch 'pax-test' into grsec-test
15422
15423 Conflicts:
15424 drivers/net/wireless/ath/ath10k/core.c
15425 drivers/net/wireless/ath/ath10k/htc.c
15426
15427 commit 0a0ced69ec737fc1abe5bc1c5a66579a22e9bb1d
15428 Author: Brad Spengler <spender@grsecurity.net>
15429 Date: Sun Sep 15 11:21:43 2013 -0400
15430
15431 Update to pax-linux-3.11.1-test6.patch:
15432 - forward port to 3.11.1
15433 - fixed some CONSTIFY fallout, reported by spender
15434 - fixed INVPCID on i386, reported by spender
15435 - simplified/consolidated the recent security_ops change
15436
15437 arch/x86/include/asm/mmu_context.h | 4 ++--
15438 arch/x86/include/asm/tlbflush.h | 6 +++---
15439 arch/x86/kernel/cpu/perf_event_amd_iommu.c | 2 +-
15440 drivers/net/wireless/ath/ath10k/core.c | 6 +++---
15441 drivers/net/wireless/ath/ath10k/htc.c | 7 ++++---
15442 include/linux/security.h | 2 --
15443 security/security.c | 3 ---
15444 security/selinux/hooks.c | 5 +++--
15445 8 files changed, 16 insertions(+), 19 deletions(-)
15446
15447 commit 84843a394cde0578be728cb5fd34da9859dcf110
15448 Author: Brad Spengler <spender@grsecurity.net>
15449 Date: Sun Sep 15 09:19:21 2013 -0400
15450
15451 remove unnecessary check from when protocol was signed
15452
15453 net/phonet/af_phonet.c | 2 +-
15454 1 files changed, 1 insertions(+), 1 deletions(-)
15455
15456 commit cc7c916cac4c2eb0ec243690627e2b6a13234fef
15457 Author: Brad Spengler <spender@grsecurity.net>
15458 Date: Sun Sep 15 08:53:27 2013 -0400
15459
15460 resync with PaX
15461
15462 security/selinux/hooks.c | 4 ++--
15463 1 files changed, 2 insertions(+), 2 deletions(-)
15464
15465 commit fdeadf7ba061242685e07a2504c6be99161f292c
15466 Author: Brad Spengler <spender@grsecurity.net>
15467 Date: Sat Sep 14 23:04:53 2013 -0400
15468
15469 Fix constification of ath10k_hif_cb struct located on stack
15470
15471 drivers/net/wireless/ath/ath10k/hif.h | 1 +
15472 drivers/net/wireless/ath/ath10k/htc.c | 2 +-
15473 2 files changed, 2 insertions(+), 1 deletions(-)
15474
15475 commit 73c6875760e610cb636f86566a1be7a744d89b82
15476 Author: Brad Spengler <spender@grsecurity.net>
15477 Date: Sat Sep 14 22:41:06 2013 -0400
15478
15479 use a no_const typedef for ath10k_htc_ops, which is located on the stack
15480
15481 drivers/net/wireless/ath/ath10k/core.c | 6 +++---
15482 drivers/net/wireless/ath/ath10k/htc.h | 1 +
15483 2 files changed, 4 insertions(+), 3 deletions(-)
15484
15485 commit bffb0279b95b717c739365a5a25ca0391e7479b1
15486 Author: Brad Spengler <spender@grsecurity.net>
15487 Date: Sat Sep 14 22:13:46 2013 -0400
15488
15489 fix compilation error under constify
15490
15491 drivers/net/wireless/ath/ath10k/core.c | 6 +++---
15492 1 files changed, 3 insertions(+), 3 deletions(-)
15493
15494 commit 1044c726fd98de89a711c6655f811600d4051e46
15495 Merge: ffc8003 e39d12a
15496 Author: Brad Spengler <spender@grsecurity.net>
15497 Date: Sat Sep 14 21:57:25 2013 -0400
15498
15499 Merge branch 'pax-test' into grsec-test
15500
15501 commit e39d12a3b877293ba677bf7642c8887144ae1576
15502 Author: Brad Spengler <spender@grsecurity.net>
15503 Date: Sat Sep 14 21:56:56 2013 -0400
15504
15505 Update to pax-linux-3.11-test5.patch:
15506 - backported 1ecfd533f4c528b0b4cc5bc115c4c47f0b5e4828 (pud leak in alloc_new_pmd)
15507 - build_string doesn't need to account for the null terminator, fix some usage in the kernexec plugin
15508
15509 mm/mremap.c | 5 ++++-
15510 tools/gcc/kernexec_plugin.c | 4 ++--
15511 2 files changed, 6 insertions(+), 3 deletions(-)
15512
15513 commit ffc8003e9c6d9a26c92ca83a8cdc48f1bf0d7a4b
15514 Author: Brad Spengler <spender@grsecurity.net>
15515 Date: Sat Sep 14 21:48:03 2013 -0400
15516
15517 fix compile error introduced by pipacs
15518
15519 security/selinux/hooks.c | 2 ++
15520 1 files changed, 2 insertions(+), 0 deletions(-)
15521
15522 commit 874e80f445b1325df45f04cc317f67587e241218
15523 Author: Brad Spengler <spender@grsecurity.net>
15524 Date: Sat Sep 14 21:12:45 2013 -0400
15525
15526 Fix invalid dependency causing warning:
15527 warning: (DEBUG_WW_MUTEX_SLOWPATH) selects DEBUG_LOCK_ALLOC which has unmet direct dependencies (DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT && !PAX_CONSTIFY_PLUGIN)
15528
15529 lib/Kconfig.debug | 2 +-
15530 1 files changed, 1 insertions(+), 1 deletions(-)
15531
15532 commit 76675229b0398d812bd885c2ea9ebdc66cd5d74a
15533 Author: Brad Spengler <spender@grsecurity.net>
15534 Date: Sat Sep 14 19:53:56 2013 -0400
15535
15536 change unsigned long descriptor array to u64, for 32bit kernels on Haswell CPUs
15537
15538 arch/x86/include/asm/tlbflush.h | 6 +++---
15539 1 files changed, 3 insertions(+), 3 deletions(-)
15540
15541 commit b6dd7c7dd3e78d549c4c0e18f7803aa918d3a838
15542 Author: Daniel Borkmann <dborkman@redhat.com>
15543 Date: Sat Sep 7 16:44:59 2013 +0200
15544
15545 Upstream commit: a0fb05d1aef0f5df936f80b726d1b3bfd4275f95
15546
15547 net: sctp: fix bug in sctp_poll for SOCK_SELECT_ERR_QUEUE
15548
15549 If we do not add braces around ...
15550
15551 mask |= POLLERR |
15552 sock_flag(sk, SOCK_SELECT_ERR_QUEUE) ? POLLPRI : 0;
15553
15554 ... then this condition always evaluates to true as POLLERR is
15555 defined as 8 and binary or'd with whatever result comes out of
15556 sock_flag(). Hence instead of (X | Y) ? A : B, transform it into
15557 X | (Y ? A : B). Unfortunatelty, commit 8facd5fb73 ("net: fix
15558 smatch warnings inside datagram_poll") forgot about SCTP. :-(
15559
15560 Introduced by 7d4c04fc170 ("net: add option to enable error queue
15561 packets waking select").
15562
15563 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
15564 Cc: Jacob Keller <jacob.e.keller@intel.com>
15565 Acked-by: Neil Horman <nhorman@tuxdriver.com>
15566 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
15567 Acked-by: Jacob Keller <jacob.e.keller@intel.com>
15568 Signed-off-by: David S. Miller <davem@davemloft.net>
15569
15570 net/sctp/socket.c | 2 +-
15571 1 files changed, 1 insertions(+), 1 deletions(-)
15572
15573 commit 4ad458cf887df99b3de3ce11fb83cd27bd13d986
15574 Author: Jason Wang <jasowang@redhat.com>
15575 Date: Wed Sep 11 18:09:48 2013 +0800
15576
15577 Upstream commit: 662ca437e714caaab855b12415d6ffd815985bc0
15578
15579 tuntap: correctly handle error in tun_set_iff()
15580
15581 Commit c8d68e6be1c3b242f1c598595830890b65cea64a
15582 (tuntap: multiqueue support) only call free_netdev() on error in
15583 tun_set_iff(). This causes several issues:
15584
15585 - memory of tun security were leaked
15586 - use after free since the flow gc timer was not deleted and the tfile
15587 were not detached
15588
15589 This patch solves the above issues.
15590
15591 Reported-by: Wannes Rombouts <wannes.rombouts@epitech.eu>
15592 Cc: Michael S. Tsirkin <mst@redhat.com>
15593 Signed-off-by: Jason Wang <jasowang@redhat.com>
15594 Acked-by: Michael S. Tsirkin <mst@redhat.com>
15595 Signed-off-by: David S. Miller <davem@davemloft.net>
15596
15597 drivers/net/tun.c | 11 ++++++++---
15598 1 files changed, 8 insertions(+), 3 deletions(-)
15599
15600 commit b504140d8590bd67ed481ea84824a9846dde2d74
15601 Author: Herbert Xu <herbert@gondor.apana.org.au>
15602 Date: Sun Sep 8 14:33:50 2013 +1000
15603
15604 Upstream commit: 77dbd7a95e4a4f15264c333a9e9ab97ee27dc2aa
15605
15606 crypto: api - Fix race condition in larval lookup
15607
15608 crypto_larval_lookup should only return a larval if it created one.
15609 Any larval created by another entity must be processed through
15610 crypto_larval_wait before being returned.
15611
15612 Otherwise this will lead to a larval being killed twice, which
15613 will most likely lead to a crash.
15614
15615 Cc: stable@vger.kernel.org
15616 Reported-by: Kees Cook <keescook@chromium.org>
15617 Tested-by: Kees Cook <keescook@chromium.org>
15618 Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
15619
15620 crypto/api.c | 7 ++++++-
15621 1 files changed, 6 insertions(+), 1 deletions(-)
15622
15623 commit f4212fa9ec1c34c59fabc43904e16112b776b6b2
15624 Author: Daniel Borkmann <dborkman@redhat.com>
15625 Date: Wed Sep 11 16:58:36 2013 +0200
15626
15627 Upstream commit: 95ee62083cb6453e056562d91f597552021e6ae7
15628
15629 net: sctp: fix ipv6 ipsec encryption bug in sctp_v6_xmit
15630
15631 Alan Chester reported an issue with IPv6 on SCTP that IPsec traffic is not
15632 being encrypted, whereas on IPv4 it is. Setting up an AH + ESP transport
15633 does not seem to have the desired effect:
15634
15635 SCTP + IPv4:
15636
15637 22:14:20.809645 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto AH (51), length 116)
15638 192.168.0.2 > 192.168.0.5: AH(spi=0x00000042,sumlen=16,seq=0x1): ESP(spi=0x00000044,seq=0x1), length 72
15639 22:14:20.813270 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto AH (51), length 340)
15640 192.168.0.5 > 192.168.0.2: AH(spi=0x00000043,sumlen=16,seq=0x1):
15641
15642 SCTP + IPv6:
15643
15644 22:31:19.215029 IP6 (class 0x02, hlim 64, next-header SCTP (132) payload length: 364)
15645 fe80::222:15ff:fe87:7fc.3333 > fe80::92e6:baff:fe0d:5a54.36767: sctp
15646 1) [INIT ACK] [init tag: 747759530] [rwnd: 62464] [OS: 10] [MIS: 10]
15647
15648 Moreover, Alan says:
15649
15650 This problem was seen with both Racoon and Racoon2. Other people have seen
15651 this with OpenSwan. When IPsec is configured to encrypt all upper layer
15652 protocols the SCTP connection does not initialize. After using Wireshark to
15653 follow packets, this is because the SCTP packet leaves Box A unencrypted and
15654 Box B believes all upper layer protocols are to be encrypted so it drops
15655 this packet, causing the SCTP connection to fail to initialize. When IPsec
15656 is configured to encrypt just SCTP, the SCTP packets are observed unencrypted.
15657
15658 In fact, using `socat sctp6-listen:3333 -` on one end and transferring "plaintext"
15659 string on the other end, results in cleartext on the wire where SCTP eventually
15660 does not report any errors, thus in the latter case that Alan reports, the
15661 non-paranoid user might think he's communicating over an encrypted transport on
15662 SCTP although he's not (tcpdump ... -X):
15663
15664 ...
15665 0x0030: 5d70 8e1a 0003 001a 177d eb6c 0000 0000 ]p.......}.l....
15666 0x0040: 0000 0000 706c 6169 6e74 6578 740a 0000 ....plaintext...
15667
15668 Only in /proc/net/xfrm_stat we can see XfrmInTmplMismatch increasing on the
15669 receiver side. Initial follow-up analysis from Alan's bug report was done by
15670 Alexey Dobriyan. Also thanks to Vlad Yasevich for feedback on this.
15671
15672 SCTP has its own implementation of sctp_v6_xmit() not calling inet6_csk_xmit().
15673 This has the implication that it probably never really got updated along with
15674 changes in inet6_csk_xmit() and therefore does not seem to invoke xfrm handlers.
15675
15676 SCTP's IPv4 xmit however, properly calls ip_queue_xmit() to do the work. Since
15677 a call to inet6_csk_xmit() would solve this problem, but result in unecessary
15678 route lookups, let us just use the cached flowi6 instead that we got through
15679 sctp_v6_get_dst(). Since all SCTP packets are being sent through sctp_packet_transmit(),
15680 we do the route lookup / flow caching in sctp_transport_route(), hold it in
15681 tp->dst and skb_dst_set() right after that. If we would alter fl6->daddr in
15682 sctp_v6_xmit() to np->opt->srcrt, we possibly could run into the same effect
15683 of not having xfrm layer pick it up, hence, use fl6_update_dst() in sctp_v6_get_dst()
15684 instead to get the correct source routed dst entry, which we assign to the skb.
15685
15686 Also source address routing example from 625034113 ("sctp: fix sctp to work with
15687 ipv6 source address routing") still works with this patch! Nevertheless, in RFC5095
15688 it is actually 'recommended' to not use that anyway due to traffic amplification [1].
15689 So it seems we're not supposed to do that anyway in sctp_v6_xmit(). Moreover, if
15690 we overwrite the flow destination here, the lower IPv6 layer will be unable to
15691 put the correct destination address into IP header, as routing header is added in
15692 ipv6_push_nfrag_opts() but then probably with wrong final destination. Things aside,
15693 result of this patch is that we do not have any XfrmInTmplMismatch increase plus on
15694 the wire with this patch it now looks like:
15695
15696 SCTP + IPv6:
15697
15698 08:17:47.074080 IP6 2620:52:0:102f:7a2b:cbff:fe27:1b0a > 2620:52:0:102f:213:72ff:fe32:7eba:
15699 AH(spi=0x00005fb4,seq=0x1): ESP(spi=0x00005fb5,seq=0x1), length 72
15700 08:17:47.074264 IP6 2620:52:0:102f:213:72ff:fe32:7eba > 2620:52:0:102f:7a2b:cbff:fe27:1b0a:
15701 AH(spi=0x00003d54,seq=0x1): ESP(spi=0x00003d55,seq=0x1), length 296
15702
15703 This fixes Kernel Bugzilla 24412. This security issue seems to be present since
15704 2.6.18 kernels. Lets just hope some big passive adversary in the wild didn't have
15705 its fun with that. lksctp-tools IPv6 regression test suite passes as well with
15706 this patch.
15707
15708 [1] http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf
15709
15710 Reported-by: Alan Chester <alan.chester@tekelec.com>
15711 Reported-by: Alexey Dobriyan <adobriyan@gmail.com>
15712 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
15713 Cc: Steffen Klassert <steffen.klassert@secunet.com>
15714 Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
15715 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
15716 Signed-off-by: David S. Miller <davem@davemloft.net>
15717
15718 net/sctp/ipv6.c | 42 +++++++++++++-----------------------------
15719 1 files changed, 13 insertions(+), 29 deletions(-)
15720
15721 commit 726915e42b1a23b88cd420029003d82208a30006
15722 Author: Kees Cook <keescook@chromium.org>
15723 Date: Fri Sep 13 14:52:04 2013 -0700
15724
15725 Upstream commit: 35a4a5733b0a8290de39558b82896ab795b108a7
15726
15727 isdn: clean up debug format string usage
15728
15729 Avoid unneeded local string buffers for constructing debug output. Also
15730 cleans up debug calls that contain a single parameter so that they cannot
15731 be accidentally parsed as format strings.
15732
15733 Signed-off-by: Kees Cook <keescook@chromium.org>
15734 Cc: Karsten Keil <isdn@linux-pingi.de>
15735 Cc: David Miller <davem@davemloft.net>
15736 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
15737 Signed-off-by: David S. Miller <davem@davemloft.net>
15738
15739 drivers/isdn/hisax/amd7930_fn.c | 4 +-
15740 drivers/isdn/hisax/avm_pci.c | 4 +-
15741 drivers/isdn/hisax/config.c | 2 +-
15742 drivers/isdn/hisax/diva.c | 4 +-
15743 drivers/isdn/hisax/elsa.c | 2 +-
15744 drivers/isdn/hisax/elsa_ser.c | 2 +-
15745 drivers/isdn/hisax/hfc_pci.c | 2 +-
15746 drivers/isdn/hisax/hfc_sx.c | 2 +-
15747 drivers/isdn/hisax/hscx_irq.c | 4 +-
15748 drivers/isdn/hisax/icc.c | 4 +-
15749 drivers/isdn/hisax/ipacx.c | 8 +++---
15750 drivers/isdn/hisax/isac.c | 4 +-
15751 drivers/isdn/hisax/isar.c | 6 ++--
15752 drivers/isdn/hisax/jade.c | 18 ++++----------
15753 drivers/isdn/hisax/jade_irq.c | 4 +-
15754 drivers/isdn/hisax/l3_1tr6.c | 50 ++++++++++++++-------------------------
15755 drivers/isdn/hisax/netjet.c | 2 +-
15756 drivers/isdn/hisax/q931.c | 6 ++--
15757 drivers/isdn/hisax/w6692.c | 8 +++---
15758 19 files changed, 57 insertions(+), 79 deletions(-)
15759
15760 commit 4c90e693066a984f2c3a05bd2b75fe2273906eb3
15761 Author: Brad Spengler <spender@grsecurity.net>
15762 Date: Sat Sep 14 19:16:48 2013 -0400
15763
15764 Fix a bad git merge, re-applied a previously reverted patch
15765
15766 arch/x86/include/asm/processor.h | 4 ++--
15767 arch/x86/kernel/cpu/common.c | 2 +-
15768 arch/x86/kernel/process_64.c | 2 +-
15769 arch/x86/kernel/smpboot.c | 2 +-
15770 arch/x86/xen/smp.c | 2 +-
15771 5 files changed, 6 insertions(+), 6 deletions(-)
15772
15773 commit 5dea4b212b0405d6bcbea57516d77b21035d1178
15774 Author: Brad Spengler <spender@grsecurity.net>
15775 Date: Sat Sep 14 16:56:37 2013 -0400
15776
15777 finish porting namei.c
15778
15779 fs/namei.c | 50 +++++++++++---------------------------------------
15780 1 files changed, 11 insertions(+), 39 deletions(-)
15781
15782 commit a7d5c5e2d0fd4831df19247e41c73c362809b00f
15783 Author: Brad Spengler <spender@grsecurity.net>
15784 Date: Sat Sep 14 16:44:08 2013 -0400
15785
15786 cred->user -> current_user()
15787
15788 fs/exec.c | 2 +-
15789 1 files changed, 1 insertions(+), 1 deletions(-)
15790
15791 commit be3db5fa6532557384fb66d2d9297d77666912cf
15792 Author: Brad Spengler <spender@grsecurity.net>
15793 Date: Sat Sep 14 16:36:24 2013 -0400
15794
15795 Fix GRKERNSEC_DENYUSB dependency as reported by Victor Roman of Funtoo Linux
15796
15797 grsecurity/Kconfig | 3 ++-
15798 1 files changed, 2 insertions(+), 1 deletions(-)
15799
15800 commit ce9afc12137b65991bfc7cce70e28d86bbb76956
15801 Author: Daniel Borkmann <dborkman@redhat.com>
15802 Date: Tue Sep 3 19:29:12 2013 +0200
15803
15804 Upstream commit: 3a1c756590633c0e86df606e5c618c190926a0df
15805
15806 net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv
15807
15808 In tcp_v6_do_rcv() code, when processing pkt options, we soley work
15809 on our skb clone opt_skb that we've created earlier before entering
15810 tcp_rcv_established() on our way. However, only in condition ...
15811
15812 if (np->rxopt.bits.rxtclass)
15813 np->rcv_tclass = ipv6_get_dsfield(ipv6_hdr(skb));
15814
15815 ... we work on skb itself. As we extract every other information out
15816 of opt_skb in ipv6_pktoptions path, this seems wrong, since skb can
15817 already be released by tcp_rcv_established() earlier on. When we try
15818 to access it in ipv6_hdr(), we will dereference freed skb.
15819
15820 [ Bug added by commit 4c507d2897bd9b ("net: implement IP_RECVTOS for
15821 IP_PKTOPTIONS") ]
15822
15823 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
15824 Cc: Eric Dumazet <eric.dumazet@gmail.com>
15825 Acked-by: Eric Dumazet <edumazet@google.com>
15826 Acked-by: Jiri Benc <jbenc@redhat.com>
15827 Signed-off-by: David S. Miller <davem@davemloft.net>
15828 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15829
15830 net/ipv6/tcp_ipv6.c | 2 +-
15831 1 files changed, 1 insertions(+), 1 deletions(-)
15832
15833 commit 84aa149aa0f178516f5784d028522d60d35696c9
15834 Author: Brad Spengler <spender@grsecurity.net>
15835 Date: Thu Sep 5 19:36:23 2013 -0400
15836
15837 fix dependencies for GRKERNSEC_ROFS / GRKERNSEC_DENYUSB
15838
15839 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15840
15841 grsecurity/Kconfig | 3 ++-
15842 1 files changed, 2 insertions(+), 1 deletions(-)
15843
15844 commit 1145b56059535549be226da9891b56ab2d902b2f
15845 Author: Brad Spengler <spender@grsecurity.net>
15846 Date: Thu Sep 5 19:17:02 2013 -0400
15847
15848 Allow the deny_new_usb sysctl to be toggled off by a user with CAP_SYS_ADMIN. This allows for more inventive uses of the feature that would be impossible otherwise (like toggling it while the screen is locked, etc)
15849
15850 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15851
15852 grsecurity/grsec_sysctl.c | 4 +---
15853 1 files changed, 1 insertions(+), 3 deletions(-)
15854
15855 commit cc604c1c66e7034ad7ddc7fb3cec749e0e5828a3
15856 Author: Brad Spengler <spender@grsecurity.net>
15857 Date: Thu Sep 5 18:41:49 2013 -0400
15858
15859 Add a new GRKERNSEC_DENYUSB_FORCE option that achieves what GRKERNSEC_DENYUSB does without the need for a sysctl toggle, for users who know they want the functionality but don't want to bother with modifying init scripts
15860
15861 Also eliminate reset_security_ops() as a ROP target when
15862 SECURITY_SELINUX_DISABLE is disabled as it's the only user
15863
15864 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15865
15866 grsecurity/Kconfig | 17 ++++++++++++++++-
15867 grsecurity/grsec_init.c | 3 +++
15868 grsecurity/grsec_sysctl.c | 2 +-
15869 3 files changed, 20 insertions(+), 2 deletions(-)
15870
15871 commit 06f8e6fe41a0de311b0c94bf853cb2c15aee67d4
15872 Author: Brad Spengler <spender@grsecurity.net>
15873 Date: Fri Aug 30 17:11:11 2013 -0400
15874
15875 fix compilation with GRKERNSEC_DENYUSB as reported by slashbeast
15876
15877 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15878
15879 grsecurity/grsec_sysctl.c | 7 ++++---
15880 1 files changed, 4 insertions(+), 3 deletions(-)
15881
15882 commit 74dc00678ec84a254617b500a2880974dac95220
15883 Author: Brad Spengler <spender@grsecurity.net>
15884 Date: Wed Aug 28 20:42:39 2013 -0400
15885
15886 add export of gr_handle_new_usb()
15887
15888 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15889
15890 grsecurity/grsec_usb.c | 2 ++
15891 1 files changed, 2 insertions(+), 0 deletions(-)
15892
15893 commit f9b60ffe6e67563faa8d207fa6d00bd04252cf4f
15894 Author: Brad Spengler <spender@grsecurity.net>
15895 Date: Wed Aug 28 19:24:47 2013 -0400
15896
15897 Add new GRKERNSEC_DENYUSB feature that I've been sitting on for a bit Kees' recent findings are motivation enough to publish it
15898
15899 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15900
15901 drivers/usb/core/hub.c | 5 +++++
15902 grsecurity/Kconfig | 20 ++++++++++++++++++++
15903 grsecurity/Makefile | 3 ++-
15904 grsecurity/grsec_init.c | 1 +
15905 grsecurity/grsec_sysctl.c | 11 +++++++++++
15906 grsecurity/grsec_usb.c | 13 +++++++++++++
15907 include/linux/grinternal.h | 1 +
15908 include/linux/grsecurity.h | 2 ++
15909 8 files changed, 55 insertions(+), 1 deletions(-)
15910
15911 commit 889852764d245f44e416da4eb203fda0bd327584
15912 Author: Kees Cook <keescook@chromium.org>
15913 Date: Wed Aug 14 09:35:07 2013 -0700
15914
15915 HID: zeroplus: validate output report details
15916
15917 The zeroplus HID driver was not checking the size of allocated values
15918 in fields it used. A HID device could send a malicious output report
15919 that would cause the driver to write beyond the output report allocation
15920 during initialization, causing a heap overflow:
15921
15922 [ 1442.728680] usb 1-1: New USB device found, idVendor=0c12, idProduct=0005
15923 ...
15924 [ 1466.243173] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
15925
15926 CVE-2013-2889
15927
15928 Signed-off-by: Kees Cook <keescook@chromium.org>
15929 Cc: stable@kernel.org
15930 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15931
15932 drivers/hid/hid-zpff.c | 14 ++------------
15933 1 files changed, 2 insertions(+), 12 deletions(-)
15934
15935 commit f30e932a87f25b53779d1f92b49923f8a2dc9834
15936 Author: Kees Cook <keescook@chromium.org>
15937 Date: Wed Aug 14 14:36:15 2013 -0700
15938
15939 HID: provide a helper for validating hid reports
15940
15941 Many drivers need to validate the characteristics of their HID report
15942 during initialization to avoid misusing the reports. This adds a common
15943 helper to perform validation of the report, its field count, and the
15944 value count within the fields.
15945
15946 Signed-off-by: Kees Cook <keescook@chromium.org>
15947 Cc: stable@kernel.org
15948 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15949
15950 drivers/hid/hid-core.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
15951 include/linux/hid.h | 4 +++
15952 2 files changed, 54 insertions(+), 0 deletions(-)
15953
15954 commit f9eac59133855befee23d0c899e0d0e6ebcd3d44
15955 Author: Kees Cook <keescook@chromium.org>
15956 Date: Wed Aug 14 09:14:34 2013 -0700
15957
15958 HID: steelseries: validate output report details
15959
15960 A HID device could send a malicious output report that would cause the
15961 steelseries HID driver to write beyond the output report allocation
15962 during initialization, causing a heap overflow:
15963
15964 [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410
15965 ...
15966 [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten
15967
15968 CVE-2013-2891
15969
15970 Signed-off-by: Kees Cook <keescook@chromium.org>
15971 Cc: stable@kernel.org
15972 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15973
15974 drivers/hid/hid-steelseries.c | 5 +++++
15975 1 files changed, 5 insertions(+), 0 deletions(-)
15976
15977 commit 9f5ae466957014bc300929374ebb7afdd9d116d6
15978 Author: Kees Cook <keescook@chromium.org>
15979 Date: Wed Aug 14 08:49:21 2013 -0700
15980
15981 HID: pantherlord: validate output report details
15982
15983 A HID device could send a malicious output report that would cause the
15984 pantherlord HID driver to write beyond the output report allocation
15985 during initialization, causing a heap overflow:
15986
15987 [ 310.939483] usb 1-1: New USB device found, idVendor=0e8f, idProduct=0003
15988 ...
15989 [ 315.980774] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
15990
15991 CVE-2013-2892
15992
15993 Signed-off-by: Kees Cook <keescook@chromium.org>
15994 Cc: stable@kernel.org
15995 Signed-off-by: Brad Spengler <spender@grsecurity.net>
15996
15997 drivers/hid/hid-pl.c | 10 ++++++++--
15998 1 files changed, 8 insertions(+), 2 deletions(-)
15999
16000 commit b643b8f8af23488d92f16a817bf16c162d612ce1
16001 Author: Kees Cook <keescook@chromium.org>
16002 Date: Tue Aug 13 16:49:01 2013 -0700
16003
16004 HID: LG: validate HID output report details
16005
16006 A HID device could send a malicious output report that would cause the
16007 lg, lg3, and lg4 HID drivers to write beyond the output report allocation
16008 during an event, causing a heap overflow:
16009
16010 [ 325.245240] usb 1-1: New USB device found, idVendor=046d, idProduct=c287
16011 ...
16012 [ 414.518960] BUG kmalloc-4096 (Not tainted): Redzone overwritten
16013
16014 Additionally, while lg2 did correctly validate the report details, it was
16015 cleaned up and shortened.
16016
16017 CVE-2013-2893
16018
16019 Signed-off-by: Kees Cook <keescook@chromium.org>
16020 Cc: stable@kernel.org
16021 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16022
16023 drivers/hid/hid-lg2ff.c | 19 +++----------------
16024 drivers/hid/hid-lg3ff.c | 29 ++++++-----------------------
16025 drivers/hid/hid-lg4ff.c | 20 +-------------------
16026 drivers/hid/hid-lgff.c | 17 ++---------------
16027 4 files changed, 12 insertions(+), 73 deletions(-)
16028
16029 commit 975723a41239b1befae172e88082ff4422753508
16030 Author: Kees Cook <keescook@chromium.org>
16031 Date: Thu Aug 15 23:21:23 2013 -0700
16032
16033 HID: lenovo-tpkbd: validate output report details
16034
16035 A HID device could send a malicious output report that would cause the
16036 lenovo-tpkbd HID driver to write just beyond the output report allocation
16037 during initialization, causing a heap overflow:
16038
16039 [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009
16040 ...
16041 [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
16042
16043 CVE-2013-2894
16044
16045 Signed-off-by: Kees Cook <keescook@chromium.org>
16046 Cc: stable@kernel.org
16047 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16048
16049 drivers/hid/hid-lenovo-tpkbd.c | 5 +++++
16050 1 files changed, 5 insertions(+), 0 deletions(-)
16051
16052 commit 54b39084efe20a3f10fcb58ee8327d7b6250b7cd
16053 Author: Kees Cook <keescook@chromium.org>
16054 Date: Thu Aug 15 23:45:03 2013 -0700
16055
16056 HID: logitech-dj: validate output report details
16057
16058 A HID device could send a malicious output report that would cause the
16059 logitech-dj HID driver to leak kernel memory contents to the device, or
16060 trigger a NULL dereference during initialization:
16061
16062 [ 304.424553] usb 1-1: New USB device found, idVendor=046d, idProduct=c52b
16063 ...
16064 [ 304.780467] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
16065 [ 304.781409] IP: [<ffffffff815d50aa>] logi_dj_recv_send_report.isra.11+0x1a/0x90
16066
16067 CVE-2013-2895
16068
16069 Signed-off-by: Kees Cook <keescook@chromium.org>
16070 Cc: stable@kernel.org
16071 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16072
16073 drivers/hid/hid-logitech-dj.c | 12 ++++++++++--
16074 1 files changed, 10 insertions(+), 2 deletions(-)
16075
16076 commit 05c3db7daee82d79c628c15b304f8621159e14f3
16077 Author: Kees Cook <keescook@chromium.org>
16078 Date: Fri Aug 16 00:18:15 2013 -0700
16079
16080 HID: ntrig: validate feature report details
16081
16082 A HID device could send a malicious feature report that would cause the
16083 ntrig HID driver to trigger a NULL dereference during initialization:
16084
16085 [57383.031190] usb 3-1: New USB device found, idVendor=1b96, idProduct=0001
16086 ...
16087 [57383.315193] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
16088 [57383.315308] IP: [<ffffffffa08102de>] ntrig_probe+0x25e/0x420 [hid_ntrig]
16089
16090 CVE-2013-2896
16091
16092 Signed-off-by: Kees Cook <keescook@chromium.org>
16093 Cc: stable@kernel.org
16094 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16095
16096 drivers/hid/hid-ntrig.c | 3 ++-
16097 1 files changed, 2 insertions(+), 1 deletions(-)
16098
16099 commit a79f25f59fdd0abaf4ecfab93017aa49de089498
16100 Author: Kees Cook <keescook@chromium.org>
16101 Date: Fri Aug 16 00:11:32 2013 -0700
16102
16103 HID: multitouch: validate feature report details
16104
16105 When working on report indexes, always validate that they are in bounds.
16106 Without this, a HID device could report a malicious feature report that
16107 could trick the driver into a heap overflow:
16108
16109 [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500
16110 ...
16111 [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
16112
16113 CVE-2013-2897
16114
16115 Signed-off-by: Kees Cook <keescook@chromium.org>
16116 Cc: stable@kernel.org
16117 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16118
16119 drivers/hid/hid-multitouch.c | 25 ++++++++++++++++++++-----
16120 1 files changed, 20 insertions(+), 5 deletions(-)
16121
16122 commit 6fe8eb06e432f165872d3486fdce0d09de1515b3
16123 Author: Kees Cook <keescook@chromium.org>
16124 Date: Fri Aug 16 08:12:45 2013 -0700
16125
16126 HID: sensor-hub: validate feature report details
16127
16128 A HID device could send a malicious feature report that would cause the
16129 sensor-hub HID driver to read past the end of heap allocation, leaking
16130 kernel memory contents to the caller.
16131
16132 CVE-2013-2898
16133
16134 Signed-off-by: Kees Cook <keescook@chromium.org>
16135 Cc: stable@kernel.org
16136 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16137
16138 drivers/hid/hid-sensor-hub.c | 3 ++-
16139 1 files changed, 2 insertions(+), 1 deletions(-)
16140
16141 commit cd5ea45deb4aae3a6ca7b99e261d771792c2e8bf
16142 Author: Kees Cook <keescook@chromium.org>
16143 Date: Fri Aug 16 08:05:10 2013 -0700
16144
16145 HID: picolcd_core: validate output report details
16146
16147 A HID device could send a malicious output report that would cause the
16148 picolcd HID driver to trigger a NULL dereference during attr file writing.
16149
16150 CVE-2013-2899
16151
16152 Signed-off-by: Kees Cook <keescook@chromium.org>
16153 Cc: stable@kernel.org
16154 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16155
16156 drivers/hid/hid-picolcd_core.c | 2 +-
16157 1 files changed, 1 insertions(+), 1 deletions(-)
16158
16159 commit c147e32922dd91edf1969b8a6eb333aafb4abb79
16160 Author: Kees Cook <keescook@chromium.org>
16161 Date: Fri Aug 16 08:09:54 2013 -0700
16162
16163 HID: check for NULL field when setting values
16164
16165 Defensively check that the field to be worked on is not NULL.
16166
16167 Signed-off-by: Kees Cook <keescook@chromium.org>
16168 Cc: stable@kernel.org
16169 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16170
16171 drivers/hid/hid-core.c | 7 ++++++-
16172 1 files changed, 6 insertions(+), 1 deletions(-)
16173
16174 commit 51b66e0a8cfd2eedb4f3275c7ffc2f7a831b4683
16175 Author: Kees Cook <keescook@chromium.org>
16176 Date: Wed Aug 28 18:09:18 2013 -0400
16177
16178 http://marc.info/?l=linux-input&m=137772180514608&q=raw
16179
16180 The "Report ID" field of a HID report is used to build indexes of
16181 reports. The kernel's index of these is limited to 256 entries, so any
16182 malicious device that sets a Report ID greater than 255 will trigger
16183 memory corruption on the host:
16184
16185 [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878
16186 [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b
16187
16188 CVE-2013-2888
16189
16190 Signed-off-by: Kees Cook <keescook@chromium.org>
16191 Cc: stable@kernel.org
16192 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16193
16194 drivers/hid/hid-core.c | 10 +++++++---
16195 include/linux/hid.h | 4 +++-
16196 2 files changed, 10 insertions(+), 4 deletions(-)
16197
16198 commit 4ab7b9ed96612f5621898cead7163b6eecf30c7c
16199 Author: Brad Spengler <spender@grsecurity.net>
16200 Date: Mon Aug 19 22:10:04 2013 -0400
16201
16202 fix bad git merge (call to __cpu_disable_lazy_restore was duplicated) as reported by pipacs
16203
16204 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16205
16206 arch/x86/kernel/smpboot.c | 3 ---
16207 1 files changed, 0 insertions(+), 3 deletions(-)
16208
16209 commit 8a6f59dd3e43d20d8e999d50001b85ba605a4dac
16210 Author: Brad Spengler <spender@grsecurity.net>
16211 Date: Sat Aug 17 12:00:20 2013 -0400
16212
16213 make kallsyms_lookup_size_offset available to approved source files
16214
16215 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16216
16217 include/linux/kallsyms.h | 3 +++
16218 1 files changed, 3 insertions(+), 0 deletions(-)
16219
16220 commit abde07f6c047c0331f511318cb49a36d49218dfc
16221 Author: Brad Spengler <spender@grsecurity.net>
16222 Date: Sat Aug 17 11:18:09 2013 -0400
16223
16224 allow use of kallsyms_lookup_name to approved source files
16225
16226 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16227
16228 include/linux/kallsyms.h | 1 +
16229 1 files changed, 1 insertions(+), 0 deletions(-)
16230
16231 commit 7a430f97a2f6538693cb8e354c67c874f24c5ebf
16232 Author: Johannes Berg <johannes.berg@intel.com>
16233 Date: Tue Aug 13 09:04:05 2013 +0200
16234
16235 Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db
16236
16237 genetlink: fix family dump race
16238
16239 When dumping generic netlink families, only the first dump call
16240 is locked with genl_lock(), which protects the list of families,
16241 and thus subsequent calls can access the data without locking,
16242 racing against family addition/removal. This can cause a crash.
16243 Fix it - the locking needs to be conditional because the first
16244 time around it's already locked.
16245
16246 A similar bug was reported to me on an old kernel (3.4.47) but
16247 the exact scenario that happened there is no longer possible,
16248 on those kernels the first round wasn't locked either. Looking
16249 at the current code I found the race described above, which had
16250 also existed on the old kernel.
16251
16252 Cc: stable@vger.kernel.org
16253 Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
16254 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
16255 Signed-off-by: David S. Miller <davem@davemloft.net>
16256 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16257
16258 net/netlink/genetlink.c | 7 +++++++
16259 1 files changed, 7 insertions(+), 0 deletions(-)
16260
16261 commit ab0fc298348a3fce6c8aaf4bef11f388b1bf4782
16262 Author: Brad Spengler <spender@grsecurity.net>
16263 Date: Sat Aug 17 08:58:34 2013 -0400
16264
16265 Fix two harmless compiler warnings
16266
16267 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16268
16269 arch/arm/kernel/process.c | 4 ++--
16270 fs/exec.c | 2 +-
16271 2 files changed, 3 insertions(+), 3 deletions(-)
16272
16273 commit d502375416b17270008ebdf11f1c3be7837f7c50
16274 Author: Brad Spengler <spender@grsecurity.net>
16275 Date: Fri Aug 16 22:46:01 2013 -0400
16276
16277 Fix HIDESYM compatibility with kprobes, as reported by feandil at: http://forums.grsecurity.net/viewtopic.php?t=3701&p=13376#p13376
16278
16279 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16280
16281 include/linux/kallsyms.h | 2 +-
16282 kernel/kprobes.c | 3 +++
16283 2 files changed, 4 insertions(+), 1 deletions(-)
16284
16285 commit f6c363aba68cccff2815a488a7e9ed68990100d2
16286 Author: Brad Spengler <spender@grsecurity.net>
16287 Date: Sat Aug 10 09:41:40 2013 -0400
16288
16289 propagate the threadstack offset through to the topdown/bottomup allocators on sparc64 hugepages
16290
16291 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16292
16293 arch/sparc/mm/hugetlbpage.c | 12 ++++++++----
16294 1 files changed, 8 insertions(+), 4 deletions(-)
16295
16296 commit 279d4c6643931d6488b2d5f1e7d29db8a3c3a347
16297 Author: Brad Spengler <spender@grsecurity.net>
16298 Date: Mon Aug 5 17:58:42 2013 -0400
16299
16300 Disable RANDKSTACK for a VirtualBox host as mentioned on the gentoo-hardened bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=382793
16301
16302 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16303
16304 security/Kconfig | 2 +-
16305 1 files changed, 1 insertions(+), 1 deletions(-)
16306
16307 commit 55ee7adc9d4cd900fd86a4cfad7e0841b4373ee1
16308 Author: Brad Spengler <spender@grsecurity.net>
16309 Date: Mon Aug 5 17:26:40 2013 -0400
16310
16311 Move user namespace capability check to shared create_user_ns code so we cover unshare() as well.
16312
16313 Also kill a trivial 1-line, 22-character upstream kernel DoS, thanks to
16314 user namespaces!
16315
16316 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16317
16318 kernel/fork.c | 17 -----------------
16319 kernel/user_namespace.c | 15 +++++++++++++++
16320 2 files changed, 15 insertions(+), 17 deletions(-)
16321
16322 commit 5c0737b045d057152a39154746d8c8e5d59185ed
16323 Author: Brad Spengler <spender@grsecurity.net>
16324 Date: Mon Aug 5 16:05:41 2013 -0400
16325
16326 silence a warning on older gcc
16327
16328 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16329
16330 grsecurity/gracl.c | 2 +-
16331 1 files changed, 1 insertions(+), 1 deletions(-)
16332
16333 commit b9cb48614b154a4c9a4caec48f5c6a391c7b4eb8
16334 Author: Brad Spengler <spender@grsecurity.net>
16335 Date: Sat Aug 3 08:31:08 2013 -0400
16336
16337 we only care about mmaps of the beginning of an ELF, filter out all others as suggested by pipacs
16338
16339 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16340
16341 mm/mmap.c | 2 +-
16342 1 files changed, 1 insertions(+), 1 deletions(-)
16343
16344 commit abc10b7630ee1a61c18e7b03b3cbbc9849a346c6
16345 Author: Brad Spengler <spender@grsecurity.net>
16346 Date: Fri Aug 2 23:54:51 2013 -0400
16347
16348 add include
16349
16350 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16351
16352 grsecurity/grsec_log.c | 1 +
16353 1 files changed, 1 insertions(+), 0 deletions(-)
16354
16355 commit 448fdce6e5e32cc5dc8f6a649d58104c11cbe2f5
16356 Author: Brad Spengler <spender@grsecurity.net>
16357 Date: Fri Aug 2 23:49:13 2013 -0400
16358
16359 fix compilation
16360
16361 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16362
16363 include/linux/grinternal.h | 3 ++-
16364 1 files changed, 2 insertions(+), 1 deletions(-)
16365
16366 commit d4d49138661d5cb646f0dd012178447380b79956
16367 Author: Brad Spengler <spender@grsecurity.net>
16368 Date: Fri Aug 2 23:34:35 2013 -0400
16369
16370 Improve PaX reporting (tells when anon mapping is stack or heap) Remove textrel logging option, combine into rwx logging option Enhance RWX logging option to display when PT_GNU_STACK-enabled library is loaded under an MPROTECTed binary Enhance RWX mprotect logging to display stack/heap instead of just anon mapping
16371
16372 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16373
16374 fs/binfmt_elf.c | 37 +++++++++++++++++++++++++++++++++++++
16375 fs/exec.c | 4 ++++
16376 grsecurity/Kconfig | 21 +++++----------------
16377 grsecurity/grsec_init.c | 4 ----
16378 grsecurity/grsec_log.c | 14 ++++++++++++++
16379 grsecurity/grsec_pax.c | 19 ++++++++++++++-----
16380 grsecurity/grsec_sysctl.c | 9 ---------
16381 include/linux/binfmts.h | 1 +
16382 include/linux/grinternal.h | 2 +-
16383 include/linux/grmsg.h | 3 ++-
16384 include/linux/grsecurity.h | 3 ++-
16385 mm/mmap.c | 7 +++++++
16386 mm/mprotect.c | 2 +-
16387 13 files changed, 88 insertions(+), 38 deletions(-)
16388
16389 commit cfa6b85e91c7e8e7f00eeaf1908d22cbec4b0a15
16390 Author: Brad Spengler <spender@grsecurity.net>
16391 Date: Thu Aug 1 18:52:02 2013 -0400
16392
16393 add missing #define
16394
16395 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16396
16397 grsecurity/gracl.c | 1 +
16398 1 files changed, 1 insertions(+), 0 deletions(-)
16399
16400 commit 4a307f7d3ff3ab232c0b6341415088e7618c494e
16401 Author: Brad Spengler <spender@grsecurity.net>
16402 Date: Thu Aug 1 18:43:53 2013 -0400
16403
16404 fix compilation for !COMPAT as reported on the forums
16405
16406 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16407
16408 grsecurity/gracl.c | 195 ++++++++++++++++++++++++++--------------------------
16409 1 files changed, 97 insertions(+), 98 deletions(-)
16410
16411 commit 78011eb5c2454b8afc96b98bd86ac172e589b13c
16412 Author: Brad Spengler <spender@grsecurity.net>
16413 Date: Wed Jul 31 17:47:20 2013 -0400
16414
16415 Revert "revert recent PaX change that causes boot failures with 32bit userland"
16416
16417 This reverts commit 23278a1ee1c7738dd1e7005241394d32b82196e4.
16418
16419 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16420
16421 arch/x86/include/asm/processor.h | 4 ++--
16422 arch/x86/kernel/cpu/common.c | 2 +-
16423 arch/x86/kernel/process_64.c | 2 +-
16424 arch/x86/kernel/smpboot.c | 2 +-
16425 arch/x86/xen/smp.c | 2 +-
16426 5 files changed, 6 insertions(+), 6 deletions(-)
16427
16428 commit 17cdb36c3bee85c0985f7cc18aa8405fc7838cad
16429 Author: Brad Spengler <spender@grsecurity.net>
16430 Date: Wed Jul 31 16:26:58 2013 -0400
16431
16432 compile fix for !COMPAT as mentioned on forums
16433
16434 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16435
16436 grsecurity/gracl.c | 2 ++
16437 1 files changed, 2 insertions(+), 0 deletions(-)
16438
16439 commit e670dc535e4501fd12d8bf00f1e1306c44266fe7
16440 Author: Brad Spengler <spender@grsecurity.net>
16441 Date: Tue Jul 30 22:33:14 2013 -0400
16442
16443 perform compat conversion of rlimit infinity
16444
16445 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16446
16447 grsecurity/gracl_compat.c | 10 ++++++++--
16448 1 files changed, 8 insertions(+), 2 deletions(-)
16449
16450 commit 2834fe28e69176da6ac4989c6e3dc713faafefe5
16451 Author: Brad Spengler <spender@grsecurity.net>
16452 Date: Tue Jul 30 22:21:40 2013 -0400
16453
16454 remove debugging
16455
16456 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16457
16458 grsecurity/gracl_compat.c | 44 +++++++++++---------------------------------
16459 1 files changed, 11 insertions(+), 33 deletions(-)
16460
16461 commit 2669672647f6955f0e5154596492c73cd4fda330
16462 Author: Brad Spengler <spender@grsecurity.net>
16463 Date: Tue Jul 30 22:20:32 2013 -0400
16464
16465 eliminate compat_dev_t
16466
16467 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16468
16469 include/linux/gracl_compat.h | 4 ++--
16470 1 files changed, 2 insertions(+), 2 deletions(-)
16471
16472 commit 75de5da79f5e03936a79ffe2c827462000001985
16473 Author: Brad Spengler <spender@grsecurity.net>
16474 Date: Tue Jul 30 22:13:22 2013 -0400
16475
16476 fix compat rlimit size
16477
16478 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16479
16480 grsecurity/gracl_compat.c | 68 +++++++++++++++++++++++++++++-------------
16481 include/linux/gracl_compat.h | 4 +-
16482 2 files changed, 49 insertions(+), 23 deletions(-)
16483
16484 commit 9055a8feb8493a30d1ad0fcef25eb496630d223f
16485 Author: Brad Spengler <spender@grsecurity.net>
16486 Date: Tue Jul 30 21:20:18 2013 -0400
16487
16488 compile fix
16489
16490 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16491
16492 grsecurity/gracl.c | 4 ++--
16493 1 files changed, 2 insertions(+), 2 deletions(-)
16494
16495 commit 080577d5a71de3d2700c4c17e1d13c67bc9b6720
16496 Author: Brad Spengler <spender@grsecurity.net>
16497 Date: Tue Jul 30 21:14:29 2013 -0400
16498
16499 copy correct pointer size in new compat code
16500
16501 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16502
16503 grsecurity/gracl.c | 8 ++++----
16504 grsecurity/gracl_compat.c | 4 ++--
16505 2 files changed, 6 insertions(+), 6 deletions(-)
16506
16507 commit 129b6204587740fd082e731a54d00e8a9fc35f8b
16508 Author: Brad Spengler <spender@grsecurity.net>
16509 Date: Tue Jul 30 19:15:50 2013 -0400
16510
16511 compile fix
16512
16513 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16514
16515 grsecurity/gracl_compat.c | 6 ++++++
16516 1 files changed, 6 insertions(+), 0 deletions(-)
16517
16518 commit 1a8481118c2da1cf9610ec5ba9ad950358e8cd3f
16519 Author: Brad Spengler <spender@grsecurity.net>
16520 Date: Tue Jul 30 19:12:46 2013 -0400
16521
16522 remove BUILD_BUG_ONs
16523
16524 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16525
16526 grsecurity/gracl_compat.c | 20 --------------------
16527 1 files changed, 0 insertions(+), 20 deletions(-)
16528
16529 commit 67fc73af0876d311c0d01d3b16fa429f44af12b9
16530 Author: Brad Spengler <spender@grsecurity.net>
16531 Date: Tue Jul 30 00:18:36 2013 -0400
16532
16533 compile fixes
16534
16535 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16536
16537 grsecurity/gracl_compat.c | 8 ++++----
16538 include/linux/gracl_compat.h | 2 +-
16539 2 files changed, 5 insertions(+), 5 deletions(-)
16540
16541 commit 32f9c3609f8d6c5c893c848e0bd76e0d8d3fa096
16542 Author: Brad Spengler <spender@grsecurity.net>
16543 Date: Tue Jul 30 00:16:42 2013 -0400
16544
16545 compile fixes
16546
16547 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16548
16549 grsecurity/gracl.c | 4 ++--
16550 grsecurity/gracl_compat.c | 2 +-
16551 2 files changed, 3 insertions(+), 3 deletions(-)
16552
16553 commit 798adb5cab6c3a8056e1b415e6f34a270f369721
16554 Author: Brad Spengler <spender@grsecurity.net>
16555 Date: Tue Jul 30 00:13:51 2013 -0400
16556
16557 compile fixes
16558
16559 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16560
16561 grsecurity/gracl.c | 8 ++++----
16562 1 files changed, 4 insertions(+), 4 deletions(-)
16563
16564 commit 4d4945ce90d83784634b898f83cb5a7699537733
16565 Author: Brad Spengler <spender@grsecurity.net>
16566 Date: Tue Jul 30 00:11:03 2013 -0400
16567
16568 compile fixes
16569
16570 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16571
16572 grsecurity/gracl_compat.c | 3 +++
16573 1 files changed, 3 insertions(+), 0 deletions(-)
16574
16575 commit 2e0b7505d92a89b872d9ebccae57720e3c00e4a2
16576 Author: Brad Spengler <spender@grsecurity.net>
16577 Date: Tue Jul 30 00:08:21 2013 -0400
16578
16579 more compile fixes
16580
16581 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16582
16583 grsecurity/gracl.c | 28 ++++++++++++++--------------
16584 1 files changed, 14 insertions(+), 14 deletions(-)
16585
16586 commit 6db464f72eff84f77335b69dc2748a3759e151d1
16587 Author: Brad Spengler <spender@grsecurity.net>
16588 Date: Mon Jul 29 23:59:50 2013 -0400
16589
16590 more compile fixes
16591
16592 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16593
16594 grsecurity/gracl.c | 10 +++++++++-
16595 1 files changed, 9 insertions(+), 1 deletions(-)
16596
16597 commit c5c54a2490dd8ec3fcad322d5c64b8cdfc6ce8d7
16598 Author: Brad Spengler <spender@grsecurity.net>
16599 Date: Mon Jul 29 23:56:47 2013 -0400
16600
16601 additional compile fixes
16602
16603 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16604
16605 grsecurity/gracl.c | 59 +++++++++++++++++++++++++++++++++++++++++++--------
16606 1 files changed, 49 insertions(+), 10 deletions(-)
16607
16608 commit e78a78dcfc089142273243b54509840d3b50c538
16609 Author: Brad Spengler <spender@grsecurity.net>
16610 Date: Mon Jul 29 23:47:15 2013 -0400
16611
16612 fix typo
16613
16614 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16615
16616 grsecurity/gracl.c | 2 +-
16617 1 files changed, 1 insertions(+), 1 deletions(-)
16618
16619 commit b27005e62bebc09e6604a6f5dc099742bb6b4434
16620 Author: Brad Spengler <spender@grsecurity.net>
16621 Date: Mon Jul 29 23:46:59 2013 -0400
16622
16623 compile fixes
16624
16625 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16626
16627 grsecurity/gracl.c | 53 ++++++++++++++++++++++++++++++++++++++-------------
16628 1 files changed, 39 insertions(+), 14 deletions(-)
16629
16630 commit 101b84a778c254dfd7399f5bcd6264ff437f1176
16631 Author: Brad Spengler <spender@grsecurity.net>
16632 Date: Mon Jul 29 23:22:44 2013 -0400
16633
16634 Initial commit of compat RBAC loading Permits 32bit gradm to load policy for a 64bit kernel
16635
16636 Also removed code duplication for copying strings into the kernel
16637
16638 Work performed as part of sponsorship
16639
16640 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16641
16642 grsecurity/Makefile | 4 +
16643 grsecurity/gracl.c | 315 +++++++++++++++++++++++-------------------
16644 grsecurity/gracl_compat.c | 270 ++++++++++++++++++++++++++++++++++++
16645 include/linux/gracl_compat.h | 156 +++++++++++++++++++++
16646 4 files changed, 603 insertions(+), 142 deletions(-)
16647
16648 commit 9b2b2be730d058a2bac5ded5b51d087aa65eed9e
16649 Author: Brad Spengler <spender@grsecurity.net>
16650 Date: Tue Jul 16 20:40:24 2013 -0400
16651
16652 allow viewing of ecryptfs version under SYSFS_RESTRICT
16653
16654 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16655
16656 fs/sysfs/dir.c | 2 +-
16657 1 files changed, 1 insertions(+), 1 deletions(-)
16658
16659 commit 3e182e4da46de4c6b9a9f45d41030bef19260954
16660 Author: Brad Spengler <spender@grsecurity.net>
16661 Date: Sun Jul 14 11:49:17 2013 -0400
16662
16663 Update PaX fix, just return the error
16664
16665 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16666
16667 mm/madvise.c | 11 +++++------
16668 1 files changed, 5 insertions(+), 6 deletions(-)
16669
16670 commit 0e4d6c92225be5ed70eb4d826d020c1e49fb4870
16671 Author: Brad Spengler <spender@grsecurity.net>
16672 Date: Sun Jul 14 11:36:00 2013 -0400
16673
16674 Fix madvise oops reported by Peter Keel
16675
16676 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16677
16678 mm/madvise.c | 11 ++++++-----
16679 1 files changed, 6 insertions(+), 5 deletions(-)
16680
16681 commit 32537d92b8da84f38bf45eb85b6953f452064936
16682 Author: Brad Spengler <spender@grsecurity.net>
16683 Date: Tue Jul 9 22:04:59 2013 -0400
16684
16685 compile fixes
16686
16687 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16688
16689 fs/exec.c | 2 +-
16690 mm/mmap.c | 4 ++--
16691 2 files changed, 3 insertions(+), 3 deletions(-)
16692
16693 commit a03302441afb0f56cccc9648a5d5e3c4c4d0db70
16694 Author: Brad Spengler <spender@grsecurity.net>
16695 Date: Sat Sep 14 16:15:10 2013 -0400
16696
16697 Initial port of grsecurity to 3.11 using new git method
16698
16699 Documentation/kernel-parameters.txt | 4 +
16700 Makefile | 8 +-
16701 arch/alpha/include/asm/cache.h | 4 +-
16702 arch/alpha/kernel/osf_sys.c | 12 +-
16703 arch/arm/include/asm/thread_info.h | 3 +-
16704 arch/arm/kernel/ptrace.c | 9 +
16705 arch/arm/kernel/traps.c | 7 +-
16706 arch/arm/mm/fault.c | 29 +-
16707 arch/arm/mm/mmap.c | 8 +-
16708 arch/avr32/include/asm/cache.h | 4 +-
16709 arch/blackfin/include/asm/cache.h | 3 +-
16710 arch/cris/include/arch-v10/arch/cache.h | 3 +-
16711 arch/cris/include/arch-v32/arch/cache.h | 3 +-
16712 arch/frv/include/asm/cache.h | 3 +-
16713 arch/frv/mm/elf-fdpic.c | 4 +-
16714 arch/hexagon/include/asm/cache.h | 6 +-
16715 arch/ia64/include/asm/cache.h | 3 +-
16716 arch/ia64/kernel/sys_ia64.c | 2 +
16717 arch/ia64/mm/hugetlbpage.c | 2 +
16718 arch/m32r/include/asm/cache.h | 4 +-
16719 arch/m68k/include/asm/cache.h | 4 +-
16720 arch/metag/mm/hugetlbpage.c | 1 +
16721 arch/microblaze/include/asm/cache.h | 3 +-
16722 arch/mips/include/asm/cache.h | 3 +-
16723 arch/mips/include/asm/thread_info.h | 12 +-
16724 arch/mips/kernel/ptrace.c | 9 +
16725 arch/mips/mm/mmap.c | 4 +-
16726 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
16727 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
16728 arch/openrisc/include/asm/cache.h | 4 +-
16729 arch/parisc/include/asm/cache.h | 5 +-
16730 arch/parisc/kernel/sys_parisc.c | 17 +-
16731 arch/powerpc/include/asm/cache.h | 3 +-
16732 arch/powerpc/kernel/process.c | 10 +-
16733 arch/powerpc/kernel/ptrace.c | 14 +
16734 arch/powerpc/kernel/traps.c | 5 +
16735 arch/s390/include/asm/cache.h | 4 +-
16736 arch/score/include/asm/cache.h | 4 +-
16737 arch/sh/include/asm/cache.h | 3 +-
16738 arch/sh/mm/mmap.c | 6 +-
16739 arch/sparc/include/asm/cache.h | 4 +-
16740 arch/sparc/include/asm/thread_info_64.h | 9 +-
16741 arch/sparc/kernel/process_32.c | 6 +-
16742 arch/sparc/kernel/process_64.c | 4 +-
16743 arch/sparc/kernel/ptrace_64.c | 14 +
16744 arch/sparc/kernel/sys_sparc_64.c | 8 +-
16745 arch/sparc/kernel/syscalls.S | 8 +-
16746 arch/sparc/kernel/traps_32.c | 8 +-
16747 arch/sparc/kernel/traps_64.c | 28 +-
16748 arch/sparc/kernel/unaligned_64.c | 2 +-
16749 arch/sparc/mm/fault_64.c | 2 +-
16750 arch/sparc/mm/hugetlbpage.c | 3 +-
16751 arch/tile/include/asm/cache.h | 3 +-
16752 arch/tile/mm/hugetlbpage.c | 2 +
16753 arch/um/defconfig | 1 -
16754 arch/um/include/asm/cache.h | 3 +-
16755 arch/unicore32/include/asm/cache.h | 6 +-
16756 arch/x86/Kconfig | 5 +-
16757 arch/x86/ia32/ia32_aout.c | 2 +
16758 arch/x86/include/asm/thread_info.h | 8 +-
16759 arch/x86/kernel/dumpstack.c | 8 +
16760 arch/x86/kernel/entry_32.S | 2 +-
16761 arch/x86/kernel/entry_64.S | 2 +-
16762 arch/x86/kernel/ioport.c | 13 +
16763 arch/x86/kernel/ptrace.c | 14 +
16764 arch/x86/kernel/signal.c | 9 +-
16765 arch/x86/kernel/smpboot.c | 3 +
16766 arch/x86/kernel/sys_i386_32.c | 9 +-
16767 arch/x86/kernel/sys_x86_64.c | 8 +-
16768 arch/x86/kernel/verify_cpu.S | 1 +
16769 arch/x86/kernel/vm86_32.c | 1 +
16770 arch/x86/mm/fault.c | 12 +-
16771 arch/x86/mm/hugetlbpage.c | 15 +-
16772 arch/x86/mm/init.c | 66 +-
16773 arch/x86/net/bpf_jit_comp.c | 128 ++-
16774 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
16775 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
16776 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
16777 drivers/block/cciss.c | 2 +
16778 drivers/block/cpqarray.c | 1 +
16779 drivers/cdrom/cdrom.c | 2 +-
16780 drivers/char/Kconfig | 4 +-
16781 drivers/char/genrtc.c | 1 +
16782 drivers/char/mem.c | 17 +
16783 drivers/char/random.c | 12 +
16784 drivers/gpu/drm/drm_info.c | 4 +
16785 drivers/hid/hid-wiimote-debug.c | 2 +-
16786 drivers/media/radio/radio-cadet.c | 2 +-
16787 drivers/message/fusion/mptbase.c | 9 +
16788 drivers/net/bonding/bond_main.c | 2 +-
16789 drivers/net/phy/mdio-bitbang.c | 1 +
16790 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
16791 drivers/pci/proc.c | 9 +
16792 drivers/rtc/rtc-dev.c | 3 +
16793 drivers/tty/sysrq.c | 2 +-
16794 drivers/tty/vt/keyboard.c | 22 +-
16795 drivers/video/logo/logo_linux_clut224.ppm | 2000 +++++++++++---------
16796 drivers/xen/xenfs/xenstored.c | 5 +
16797 fs/attr.c | 1 +
16798 fs/autofs4/waitq.c | 9 +
16799 fs/binfmt_aout.c | 7 +
16800 fs/binfmt_elf.c | 8 +-
16801 fs/btrfs/ioctl.c | 6 +-
16802 fs/compat.c | 20 +-
16803 fs/coredump.c | 9 +-
16804 fs/debugfs/inode.c | 4 +
16805 fs/exec.c | 184 ++-
16806 fs/ext2/balloc.c | 4 +-
16807 fs/ext3/balloc.c | 4 +-
16808 fs/fcntl.c | 5 +
16809 fs/file.c | 4 +
16810 fs/filesystems.c | 4 +
16811 fs/fs_struct.c | 13 +-
16812 fs/hugetlbfs/inode.c | 5 +-
16813 fs/namei.c | 256 +++-
16814 fs/namespace.c | 16 +
16815 fs/open.c | 38 +
16816 fs/proc/Kconfig | 10 +-
16817 fs/proc/array.c | 59 +-
16818 fs/proc/base.c | 166 ++-
16819 fs/proc/cmdline.c | 4 +
16820 fs/proc/devices.c | 4 +
16821 fs/proc/fd.c | 17 +-
16822 fs/proc/inode.c | 4 +
16823 fs/proc/kcore.c | 3 +
16824 fs/proc/proc_net.c | 12 +
16825 fs/proc/proc_sysctl.c | 43 +-
16826 fs/proc/root.c | 8 +
16827 fs/proc/task_mmu.c | 75 +-
16828 fs/readdir.c | 19 +
16829 fs/select.c | 2 +
16830 fs/seq_file.c | 12 +-
16831 fs/stat.c | 19 +-
16832 fs/sysfs/dir.c | 12 +
16833 fs/utimes.c | 7 +
16834 fs/xattr.c | 19 +-
16835 include/linux/capability.h | 5 +
16836 include/linux/cred.h | 3 +
16837 include/linux/fs.h | 10 +
16838 include/linux/fsnotify.h | 6 +
16839 include/linux/kallsyms.h | 14 +-
16840 include/linux/kmod.h | 2 +
16841 include/linux/mm.h | 1 +
16842 include/linux/perf_event.h | 13 +-
16843 include/linux/printk.h | 3 +-
16844 include/linux/sched.h | 24 +-
16845 include/linux/security.h | 1 +
16846 include/linux/seq_file.h | 3 +
16847 include/linux/shm.h | 4 +
16848 include/linux/skbuff.h | 3 +
16849 include/linux/slab.h | 9 -
16850 include/linux/sysctl.h | 2 +
16851 include/linux/thread_info.h | 2 +
16852 include/linux/uidgid.h | 5 +
16853 include/linux/vermagic.h | 9 +-
16854 include/uapi/linux/personality.h | 1 +
16855 init/Kconfig | 3 +-
16856 init/main.c | 14 +
16857 ipc/mqueue.c | 1 +
16858 ipc/shm.c | 28 +
16859 kernel/capability.c | 39 +-
16860 kernel/cgroup.c | 2 +-
16861 kernel/compat.c | 1 +
16862 kernel/configs.c | 11 +
16863 kernel/cred.c | 110 ++-
16864 kernel/events/core.c | 14 +-
16865 kernel/exit.c | 10 +-
16866 kernel/fork.c | 41 +-
16867 kernel/futex.c | 1 +
16868 kernel/kallsyms.c | 9 +
16869 kernel/kcmp.c | 4 +
16870 kernel/kmod.c | 64 +-
16871 kernel/kprobes.c | 4 +-
16872 kernel/ksysfs.c | 2 +
16873 kernel/lockdep_proc.c | 10 +-
16874 kernel/module.c | 81 +-
16875 kernel/panic.c | 2 +-
16876 kernel/pid.c | 19 +-
16877 kernel/posix-timers.c | 7 +
16878 kernel/printk/printk.c | 5 +
16879 kernel/ptrace.c | 20 +-
16880 kernel/resource.c | 10 +
16881 kernel/sched/core.c | 6 +-
16882 kernel/signal.c | 37 +-
16883 kernel/sys.c | 45 +-
16884 kernel/sysctl.c | 69 +-
16885 kernel/taskstats.c | 6 +
16886 kernel/time.c | 5 +
16887 kernel/time/timekeeping.c | 1 +
16888 kernel/time/timer_list.c | 12 +
16889 kernel/time/timer_stats.c | 10 +-
16890 lib/Kconfig.debug | 5 +-
16891 lib/is_single_threaded.c | 3 +
16892 mm/Kconfig | 4 +-
16893 mm/filemap.c | 1 +
16894 mm/kmemleak.c | 4 +-
16895 mm/mempolicy.c | 12 +-
16896 mm/migrate.c | 3 +-
16897 mm/mlock.c | 3 +
16898 mm/mmap.c | 63 +-
16899 mm/mprotect.c | 8 +
16900 mm/process_vm_access.c | 6 +
16901 mm/slab.c | 2 +-
16902 mm/slub.c | 14 +-
16903 mm/vmalloc.c | 4 +
16904 mm/vmstat.c | 18 +-
16905 net/core/dev_ioctl.c | 4 +
16906 net/core/sock_diag.c | 7 +
16907 net/ipv4/inet_hashtables.c | 5 +
16908 net/ipv4/ip_sockglue.c | 3 +-
16909 net/ipv4/tcp_input.c | 4 +-
16910 net/ipv4/tcp_ipv4.c | 24 +-
16911 net/ipv4/tcp_minisocks.c | 9 +-
16912 net/ipv4/tcp_timer.c | 11 +
16913 net/ipv4/udp.c | 24 +
16914 net/ipv6/tcp_ipv6.c | 23 +-
16915 net/ipv6/udp.c | 4 +
16916 net/netfilter/Kconfig | 10 +
16917 net/netfilter/Makefile | 1 +
16918 net/netfilter/nf_conntrack_core.c | 8 +
16919 net/netrom/af_netrom.c | 1 -
16920 net/phonet/af_phonet.c | 2 +-
16921 net/sctp/proc.c | 3 +-
16922 net/socket.c | 66 +-
16923 net/sysctl_net.c | 2 +-
16924 net/unix/af_unix.c | 31 +-
16925 security/Kconfig | 341 +++-
16926 security/apparmor/Kconfig | 9 +
16927 security/apparmor/apparmorfs.c | 231 +++
16928 security/commoncap.c | 29 +
16929 security/min_addr.c | 2 +
16930 security/security.c | 2 -
16931 security/selinux/hooks.c | 2 -
16932 security/tomoyo/mount.c | 4 +
16933 security/yama/Kconfig | 2 +-
16934 235 files changed, 4384 insertions(+), 1312 deletions(-)
16935
16936 commit a76b033c58b4886552911442f1b89e0cee041dae
16937 Author: Brad Spengler <spender@grsecurity.net>
16938 Date: Tue Jul 9 20:57:40 2013 -0400
16939
16940 Commit merge of new files and rejected patches
16941
16942 Signed-off-by: Brad Spengler <spender@grsecurity.net>
16943
16944 arch/arm/include/asm/thread_info.h | 6 +-
16945 arch/arm/kernel/process.c | 4 +-
16946 arch/powerpc/include/asm/thread_info.h | 7 +-
16947 arch/powerpc/mm/slice.c | 2 +-
16948 arch/sparc/kernel/process_64.c | 4 +-
16949 arch/x86/kernel/vm86_32.c | 15 +
16950 fs/coredump.c | 1 +
16951 fs/ext4/balloc.c | 4 +-
16952 fs/namei.c | 7 +
16953 fs/namespace.c | 8 +
16954 fs/pipe.c | 2 +-
16955 fs/proc/inode.c | 13 +
16956 fs/proc/internal.h | 3 +
16957 grsecurity/Kconfig | 1054 +++++++++
16958 grsecurity/Makefile | 38 +
16959 grsecurity/gracl.c | 4073 ++++++++++++++++++++++++++++++++
16960 grsecurity/gracl_alloc.c | 105 +
16961 grsecurity/gracl_cap.c | 110 +
16962 grsecurity/gracl_fs.c | 431 ++++
16963 grsecurity/gracl_ip.c | 387 +++
16964 grsecurity/gracl_learn.c | 207 ++
16965 grsecurity/gracl_res.c | 68 +
16966 grsecurity/gracl_segv.c | 305 +++
16967 grsecurity/gracl_shm.c | 40 +
16968 grsecurity/grsec_chdir.c | 19 +
16969 grsecurity/grsec_chroot.c | 370 +++
16970 grsecurity/grsec_disabled.c | 434 ++++
16971 grsecurity/grsec_exec.c | 187 ++
16972 grsecurity/grsec_fifo.c | 24 +
16973 grsecurity/grsec_fork.c | 23 +
16974 grsecurity/grsec_init.c | 283 +++
16975 grsecurity/grsec_link.c | 58 +
16976 grsecurity/grsec_log.c | 326 +++
16977 grsecurity/grsec_mem.c | 40 +
16978 grsecurity/grsec_mount.c | 62 +
16979 grsecurity/grsec_pax.c | 36 +
16980 grsecurity/grsec_ptrace.c | 30 +
16981 grsecurity/grsec_sig.c | 246 ++
16982 grsecurity/grsec_sock.c | 244 ++
16983 grsecurity/grsec_sysctl.c | 469 ++++
16984 grsecurity/grsec_time.c | 16 +
16985 grsecurity/grsec_tpe.c | 73 +
16986 grsecurity/grsum.c | 61 +
16987 include/linux/gracl.h | 319 +++
16988 include/linux/gralloc.h | 9 +
16989 include/linux/grdefs.h | 140 ++
16990 include/linux/grinternal.h | 227 ++
16991 include/linux/grmsg.h | 112 +
16992 include/linux/grsecurity.h | 241 ++
16993 include/linux/grsock.h | 19 +
16994 include/linux/netfilter/xt_gradm.h | 9 +
16995 include/linux/proc_fs.h | 13 +
16996 include/linux/sched.h | 48 +-
16997 include/trace/events/fs.h | 53 +
16998 kernel/kmod.c | 7 +-
16999 kernel/panic.c | 2 +-
17000 kernel/posix-timers.c | 1 +
17001 kernel/time/timekeeping.c | 2 +
17002 lib/Kconfig.debug | 2 +-
17003 lib/vsprintf.c | 31 +
17004 localversion-grsec | 1 +
17005 mm/mmap.c | 13 +-
17006 mm/shmem.c | 2 +-
17007 net/core/net-procfs.c | 5 +
17008 net/ipv6/udp.c | 3 +
17009 net/netfilter/xt_gradm.c | 51 +
17010 66 files changed, 11184 insertions(+), 21 deletions(-)
17011
17012 commit d1cf217118e0750f54aca9136d8c6a41f0ae439c
17013 Author: Brad Spengler <spender@grsecurity.net>
17014 Date: Sat Sep 14 14:36:40 2013 -0400
17015
17016 Initial import of pax-linux-3.11-test4.patch
17017
17018 Documentation/dontdiff | 46 +-
17019 Documentation/kernel-parameters.txt | 23 +
17020 Makefile | 100 +-
17021 arch/alpha/include/asm/atomic.h | 10 +
17022 arch/alpha/include/asm/elf.h | 7 +
17023 arch/alpha/include/asm/pgalloc.h | 6 +
17024 arch/alpha/include/asm/pgtable.h | 11 +
17025 arch/alpha/kernel/module.c | 2 +-
17026 arch/alpha/kernel/osf_sys.c | 8 +-
17027 arch/alpha/mm/fault.c | 141 +-
17028 arch/arm/Kconfig | 2 +-
17029 arch/arm/include/asm/atomic.h | 444 ++-
17030 arch/arm/include/asm/cache.h | 5 +-
17031 arch/arm/include/asm/cacheflush.h | 2 +-
17032 arch/arm/include/asm/checksum.h | 14 +-
17033 arch/arm/include/asm/cmpxchg.h | 2 +
17034 arch/arm/include/asm/domain.h | 33 +-
17035 arch/arm/include/asm/elf.h | 13 +-
17036 arch/arm/include/asm/fncpy.h | 2 +
17037 arch/arm/include/asm/futex.h | 10 +
17038 arch/arm/include/asm/kmap_types.h | 2 +-
17039 arch/arm/include/asm/mach/dma.h | 2 +-
17040 arch/arm/include/asm/mach/map.h | 7 +-
17041 arch/arm/include/asm/outercache.h | 2 +-
17042 arch/arm/include/asm/page.h | 2 +-
17043 arch/arm/include/asm/pgalloc.h | 22 +-
17044 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
17045 arch/arm/include/asm/pgtable-2level.h | 3 +
17046 arch/arm/include/asm/pgtable-3level-hwdef.h | 1 +
17047 arch/arm/include/asm/pgtable-3level.h | 2 +
17048 arch/arm/include/asm/pgtable.h | 54 +-
17049 arch/arm/include/asm/proc-fns.h | 2 +-
17050 arch/arm/include/asm/psci.h | 2 +-
17051 arch/arm/include/asm/smp.h | 2 +-
17052 arch/arm/include/asm/thread_info.h | 6 +-
17053 arch/arm/include/asm/uaccess.h | 95 +-
17054 arch/arm/include/uapi/asm/ptrace.h | 2 +-
17055 arch/arm/kernel/armksyms.c | 8 +-
17056 arch/arm/kernel/entry-armv.S | 110 +-
17057 arch/arm/kernel/entry-common.S | 40 +-
17058 arch/arm/kernel/entry-header.S | 60 +
17059 arch/arm/kernel/fiq.c | 3 +
17060 arch/arm/kernel/head.S | 6 +-
17061 arch/arm/kernel/module.c | 29 +-
17062 arch/arm/kernel/patch.c | 2 +
17063 arch/arm/kernel/process.c | 42 +-
17064 arch/arm/kernel/psci.c | 2 +-
17065 arch/arm/kernel/setup.c | 22 +-
17066 arch/arm/kernel/signal.c | 35 +-
17067 arch/arm/kernel/smp.c | 2 +-
17068 arch/arm/kernel/traps.c | 8 +-
17069 arch/arm/kernel/vmlinux.lds.S | 22 +-
17070 arch/arm/kvm/arm.c | 8 +-
17071 arch/arm/lib/clear_user.S | 6 +-
17072 arch/arm/lib/copy_from_user.S | 6 +-
17073 arch/arm/lib/copy_page.S | 1 +
17074 arch/arm/lib/copy_to_user.S | 6 +-
17075 arch/arm/lib/csumpartialcopyuser.S | 4 +-
17076 arch/arm/lib/delay.c | 2 +-
17077 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
17078 arch/arm/mach-kirkwood/common.c | 19 +-
17079 arch/arm/mach-omap2/board-n8x0.c | 2 +-
17080 arch/arm/mach-omap2/gpmc.c | 22 +-
17081 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
17082 arch/arm/mach-omap2/omap_device.c | 4 +-
17083 arch/arm/mach-omap2/omap_device.h | 4 +-
17084 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
17085 arch/arm/mach-omap2/wd_timer.c | 6 +-
17086 arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +-
17087 arch/arm/mach-ux500/setup.h | 7 -
17088 arch/arm/mm/Kconfig | 6 +-
17089 arch/arm/mm/alignment.c | 8 +
17090 arch/arm/mm/context.c | 10 +-
17091 arch/arm/mm/fault.c | 104 +
17092 arch/arm/mm/fault.h | 12 +
17093 arch/arm/mm/init.c | 41 +
17094 arch/arm/mm/ioremap.c | 4 +-
17095 arch/arm/mm/mmap.c | 30 +-
17096 arch/arm/mm/mmu.c | 185 +-
17097 arch/arm/plat-omap/sram.c | 2 +
17098 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
17099 arch/avr32/include/asm/elf.h | 8 +-
17100 arch/avr32/include/asm/kmap_types.h | 4 +-
17101 arch/avr32/mm/fault.c | 27 +
17102 arch/frv/include/asm/atomic.h | 10 +
17103 arch/frv/include/asm/kmap_types.h | 2 +-
17104 arch/frv/mm/elf-fdpic.c | 3 +-
17105 arch/ia64/include/asm/atomic.h | 10 +
17106 arch/ia64/include/asm/elf.h | 7 +
17107 arch/ia64/include/asm/pgalloc.h | 12 +
17108 arch/ia64/include/asm/pgtable.h | 13 +-
17109 arch/ia64/include/asm/spinlock.h | 2 +-
17110 arch/ia64/include/asm/uaccess.h | 26 +-
17111 arch/ia64/kernel/module.c | 48 +-
17112 arch/ia64/kernel/palinfo.c | 2 +-
17113 arch/ia64/kernel/sys_ia64.c | 7 +
17114 arch/ia64/kernel/vmlinux.lds.S | 2 +-
17115 arch/ia64/mm/fault.c | 32 +-
17116 arch/ia64/mm/init.c | 13 +
17117 arch/m32r/lib/usercopy.c | 6 +
17118 arch/mips/include/asm/atomic.h | 728 +++-
17119 arch/mips/include/asm/elf.h | 11 +-
17120 arch/mips/include/asm/exec.h | 2 +-
17121 arch/mips/include/asm/local.h | 57 +
17122 arch/mips/include/asm/page.h | 2 +-
17123 arch/mips/include/asm/pgalloc.h | 5 +
17124 arch/mips/include/asm/smtc_proc.h | 2 +-
17125 arch/mips/kernel/binfmt_elfn32.c | 7 +
17126 arch/mips/kernel/binfmt_elfo32.c | 7 +
17127 arch/mips/kernel/irq.c | 6 +-
17128 arch/mips/kernel/process.c | 12 -
17129 arch/mips/kernel/smtc-proc.c | 6 +-
17130 arch/mips/kernel/smtc.c | 2 +-
17131 arch/mips/kernel/sync-r4k.c | 24 +-
17132 arch/mips/kernel/traps.c | 13 +-
17133 arch/mips/mm/fault.c | 25 +
17134 arch/mips/mm/mmap.c | 51 +-
17135 arch/mips/sgi-ip27/ip27-nmi.c | 6 +-
17136 arch/parisc/include/asm/atomic.h | 10 +
17137 arch/parisc/include/asm/elf.h | 7 +
17138 arch/parisc/include/asm/pgalloc.h | 6 +
17139 arch/parisc/include/asm/pgtable.h | 11 +
17140 arch/parisc/include/asm/uaccess.h | 4 +-
17141 arch/parisc/kernel/module.c | 50 +-
17142 arch/parisc/kernel/sys_parisc.c | 9 +-
17143 arch/parisc/kernel/traps.c | 4 +-
17144 arch/parisc/mm/fault.c | 140 +-
17145 arch/powerpc/include/asm/atomic.h | 10 +
17146 arch/powerpc/include/asm/elf.h | 19 +-
17147 arch/powerpc/include/asm/exec.h | 2 +-
17148 arch/powerpc/include/asm/kmap_types.h | 2 +-
17149 arch/powerpc/include/asm/mman.h | 2 +-
17150 arch/powerpc/include/asm/page.h | 8 +-
17151 arch/powerpc/include/asm/page_64.h | 7 +-
17152 arch/powerpc/include/asm/pgalloc-64.h | 7 +
17153 arch/powerpc/include/asm/pgtable.h | 1 +
17154 arch/powerpc/include/asm/pte-hash32.h | 1 +
17155 arch/powerpc/include/asm/reg.h | 1 +
17156 arch/powerpc/include/asm/smp.h | 2 +-
17157 arch/powerpc/include/asm/uaccess.h | 140 +-
17158 arch/powerpc/kernel/exceptions-64e.S | 4 +-
17159 arch/powerpc/kernel/exceptions-64s.S | 2 +-
17160 arch/powerpc/kernel/module_32.c | 13 +-
17161 arch/powerpc/kernel/process.c | 55 -
17162 arch/powerpc/kernel/signal_32.c | 2 +-
17163 arch/powerpc/kernel/signal_64.c | 2 +-
17164 arch/powerpc/kernel/vdso.c | 5 +-
17165 arch/powerpc/lib/usercopy_64.c | 18 -
17166 arch/powerpc/mm/fault.c | 54 +-
17167 arch/powerpc/mm/mmap.c | 16 +
17168 arch/powerpc/mm/slice.c | 13 +-
17169 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
17170 arch/s390/include/asm/atomic.h | 10 +
17171 arch/s390/include/asm/elf.h | 13 +-
17172 arch/s390/include/asm/exec.h | 2 +-
17173 arch/s390/include/asm/uaccess.h | 15 +-
17174 arch/s390/kernel/module.c | 22 +-
17175 arch/s390/kernel/process.c | 36 -
17176 arch/s390/mm/mmap.c | 24 +
17177 arch/score/include/asm/exec.h | 2 +-
17178 arch/score/kernel/process.c | 5 -
17179 arch/sh/mm/mmap.c | 22 +-
17180 arch/sparc/include/asm/atomic_64.h | 106 +-
17181 arch/sparc/include/asm/cache.h | 2 +-
17182 arch/sparc/include/asm/elf_32.h | 7 +
17183 arch/sparc/include/asm/elf_64.h | 7 +
17184 arch/sparc/include/asm/pgalloc_32.h | 1 +
17185 arch/sparc/include/asm/pgalloc_64.h | 1 +
17186 arch/sparc/include/asm/pgtable_32.h | 15 +-
17187 arch/sparc/include/asm/pgtsrmmu.h | 5 +
17188 arch/sparc/include/asm/spinlock_64.h | 35 +-
17189 arch/sparc/include/asm/thread_info_32.h | 2 +
17190 arch/sparc/include/asm/thread_info_64.h | 2 +
17191 arch/sparc/include/asm/uaccess.h | 1 +
17192 arch/sparc/include/asm/uaccess_32.h | 27 +-
17193 arch/sparc/include/asm/uaccess_64.h | 19 +-
17194 arch/sparc/kernel/Makefile | 2 +-
17195 arch/sparc/kernel/prom_common.c | 2 +-
17196 arch/sparc/kernel/smp_64.c | 12 +-
17197 arch/sparc/kernel/sys_sparc_32.c | 2 +-
17198 arch/sparc/kernel/sys_sparc_64.c | 52 +-
17199 arch/sparc/kernel/traps_64.c | 27 +-
17200 arch/sparc/lib/Makefile | 2 +-
17201 arch/sparc/lib/atomic_64.S | 136 +-
17202 arch/sparc/lib/ksyms.c | 6 +
17203 arch/sparc/mm/Makefile | 2 +-
17204 arch/sparc/mm/fault_32.c | 292 +
17205 arch/sparc/mm/fault_64.c | 486 ++
17206 arch/sparc/mm/hugetlbpage.c | 21 +-
17207 arch/sparc/mm/init_64.c | 10 +-
17208 arch/tile/include/asm/atomic_64.h | 10 +
17209 arch/tile/include/asm/uaccess.h | 4 +-
17210 arch/um/Makefile | 4 +
17211 arch/um/include/asm/kmap_types.h | 2 +-
17212 arch/um/include/asm/page.h | 3 +
17213 arch/um/include/asm/pgtable-3level.h | 1 +
17214 arch/um/kernel/process.c | 16 -
17215 arch/x86/Kconfig | 10 +-
17216 arch/x86/Kconfig.cpu | 6 +-
17217 arch/x86/Kconfig.debug | 4 +-
17218 arch/x86/Makefile | 10 +
17219 arch/x86/boot/Makefile | 3 +
17220 arch/x86/boot/bitops.h | 4 +-
17221 arch/x86/boot/boot.h | 4 +-
17222 arch/x86/boot/compressed/Makefile | 3 +
17223 arch/x86/boot/compressed/eboot.c | 2 -
17224 arch/x86/boot/compressed/efi_stub_32.S | 16 +-
17225 arch/x86/boot/compressed/head_32.S | 7 +-
17226 arch/x86/boot/compressed/head_64.S | 8 +-
17227 arch/x86/boot/compressed/misc.c | 4 +-
17228 arch/x86/boot/cpucheck.c | 28 +-
17229 arch/x86/boot/header.S | 6 +-
17230 arch/x86/boot/memory.c | 2 +-
17231 arch/x86/boot/video-vesa.c | 1 +
17232 arch/x86/boot/video.c | 2 +-
17233 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
17234 arch/x86/crypto/aesni-intel_asm.S | 22 +
17235 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
17236 arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 +
17237 arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 +
17238 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
17239 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
17240 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 9 +
17241 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +
17242 arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +
17243 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
17244 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 +
17245 arch/x86/crypto/serpent-avx2-asm_64.S | 9 +
17246 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
17247 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
17248 arch/x86/crypto/sha256-avx-asm.S | 2 +
17249 arch/x86/crypto/sha256-avx2-asm.S | 2 +
17250 arch/x86/crypto/sha256-ssse3-asm.S | 2 +
17251 arch/x86/crypto/sha512-avx-asm.S | 2 +
17252 arch/x86/crypto/sha512-avx2-asm.S | 2 +
17253 arch/x86/crypto/sha512-ssse3-asm.S | 2 +
17254 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 9 +
17255 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
17256 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
17257 arch/x86/ia32/ia32_signal.c | 16 +-
17258 arch/x86/ia32/ia32entry.S | 157 +-
17259 arch/x86/ia32/sys_ia32.c | 4 +-
17260 arch/x86/include/asm/alternative-asm.h | 39 +
17261 arch/x86/include/asm/alternative.h | 4 +-
17262 arch/x86/include/asm/apic.h | 2 +-
17263 arch/x86/include/asm/apm.h | 4 +-
17264 arch/x86/include/asm/atomic.h | 307 +-
17265 arch/x86/include/asm/atomic64_32.h | 100 +
17266 arch/x86/include/asm/atomic64_64.h | 202 +-
17267 arch/x86/include/asm/bitops.h | 4 +-
17268 arch/x86/include/asm/boot.h | 7 +-
17269 arch/x86/include/asm/cache.h | 5 +-
17270 arch/x86/include/asm/cacheflush.h | 2 +-
17271 arch/x86/include/asm/checksum_32.h | 12 +-
17272 arch/x86/include/asm/cmpxchg.h | 35 +
17273 arch/x86/include/asm/compat.h | 2 +-
17274 arch/x86/include/asm/cpufeature.h | 16 +-
17275 arch/x86/include/asm/desc.h | 74 +-
17276 arch/x86/include/asm/desc_defs.h | 6 +
17277 arch/x86/include/asm/div64.h | 2 +-
17278 arch/x86/include/asm/elf.h | 31 +-
17279 arch/x86/include/asm/emergency-restart.h | 2 +-
17280 arch/x86/include/asm/fpu-internal.h | 8 +-
17281 arch/x86/include/asm/futex.h | 20 +-
17282 arch/x86/include/asm/hw_irq.h | 4 +-
17283 arch/x86/include/asm/i8259.h | 2 +-
17284 arch/x86/include/asm/io.h | 21 +-
17285 arch/x86/include/asm/irqflags.h | 5 +
17286 arch/x86/include/asm/kprobes.h | 9 +-
17287 arch/x86/include/asm/local.h | 142 +-
17288 arch/x86/include/asm/mman.h | 15 +
17289 arch/x86/include/asm/mmu.h | 16 +-
17290 arch/x86/include/asm/mmu_context.h | 128 +-
17291 arch/x86/include/asm/module.h | 17 +-
17292 arch/x86/include/asm/nmi.h | 6 +-
17293 arch/x86/include/asm/page.h | 1 +
17294 arch/x86/include/asm/page_64.h | 4 +-
17295 arch/x86/include/asm/paravirt.h | 46 +-
17296 arch/x86/include/asm/paravirt_types.h | 17 +-
17297 arch/x86/include/asm/pgalloc.h | 23 +
17298 arch/x86/include/asm/pgtable-2level.h | 2 +
17299 arch/x86/include/asm/pgtable-3level.h | 4 +
17300 arch/x86/include/asm/pgtable.h | 124 +-
17301 arch/x86/include/asm/pgtable_32.h | 14 +-
17302 arch/x86/include/asm/pgtable_32_types.h | 15 +-
17303 arch/x86/include/asm/pgtable_64.h | 19 +-
17304 arch/x86/include/asm/pgtable_64_types.h | 5 +
17305 arch/x86/include/asm/pgtable_types.h | 36 +-
17306 arch/x86/include/asm/processor.h | 82 +-
17307 arch/x86/include/asm/ptrace.h | 26 +-
17308 arch/x86/include/asm/realmode.h | 4 +-
17309 arch/x86/include/asm/reboot.h | 10 +-
17310 arch/x86/include/asm/rwsem.h | 60 +-
17311 arch/x86/include/asm/segment.h | 29 +-
17312 arch/x86/include/asm/smap.h | 64 +-
17313 arch/x86/include/asm/smp.h | 14 +-
17314 arch/x86/include/asm/spinlock.h | 36 +-
17315 arch/x86/include/asm/stackprotector.h | 4 +-
17316 arch/x86/include/asm/stacktrace.h | 32 +-
17317 arch/x86/include/asm/switch_to.h | 4 +-
17318 arch/x86/include/asm/thread_info.h | 83 +-
17319 arch/x86/include/asm/tlbflush.h | 74 +-
17320 arch/x86/include/asm/uaccess.h | 112 +-
17321 arch/x86/include/asm/uaccess_32.h | 106 +-
17322 arch/x86/include/asm/uaccess_64.h | 232 +-
17323 arch/x86/include/asm/word-at-a-time.h | 2 +-
17324 arch/x86/include/asm/x86_init.h | 10 +-
17325 arch/x86/include/asm/xsave.h | 14 +-
17326 arch/x86/include/uapi/asm/e820.h | 2 +-
17327 arch/x86/kernel/Makefile | 2 +-
17328 arch/x86/kernel/acpi/boot.c | 4 +-
17329 arch/x86/kernel/acpi/sleep.c | 4 +
17330 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
17331 arch/x86/kernel/alternative.c | 65 +-
17332 arch/x86/kernel/apic/apic.c | 4 +-
17333 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
17334 arch/x86/kernel/apic/apic_noop.c | 2 +-
17335 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
17336 arch/x86/kernel/apic/es7000_32.c | 5 +-
17337 arch/x86/kernel/apic/io_apic.c | 8 +-
17338 arch/x86/kernel/apic/numaq_32.c | 3 +-
17339 arch/x86/kernel/apic/probe_32.c | 2 +-
17340 arch/x86/kernel/apic/summit_32.c | 2 +-
17341 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
17342 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
17343 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
17344 arch/x86/kernel/apm_32.c | 19 +-
17345 arch/x86/kernel/asm-offsets.c | 20 +
17346 arch/x86/kernel/asm-offsets_64.c | 1 +
17347 arch/x86/kernel/cpu/Makefile | 4 -
17348 arch/x86/kernel/cpu/amd.c | 2 +-
17349 arch/x86/kernel/cpu/common.c | 130 +-
17350 arch/x86/kernel/cpu/intel_cacheinfo.c | 48 +-
17351 arch/x86/kernel/cpu/mcheck/mce.c | 31 +-
17352 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
17353 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
17354 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
17355 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
17356 arch/x86/kernel/cpu/perf_event.c | 8 +-
17357 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
17358 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
17359 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
17360 arch/x86/kernel/cpuid.c | 2 +-
17361 arch/x86/kernel/crash.c | 4 +-
17362 arch/x86/kernel/crash_dump_64.c | 2 +-
17363 arch/x86/kernel/doublefault.c | 8 +-
17364 arch/x86/kernel/dumpstack.c | 30 +-
17365 arch/x86/kernel/dumpstack_32.c | 34 +-
17366 arch/x86/kernel/dumpstack_64.c | 61 +-
17367 arch/x86/kernel/e820.c | 4 +-
17368 arch/x86/kernel/early_printk.c | 1 +
17369 arch/x86/kernel/entry_32.S | 356 +-
17370 arch/x86/kernel/entry_64.S | 669 ++-
17371 arch/x86/kernel/ftrace.c | 14 +-
17372 arch/x86/kernel/head64.c | 13 +-
17373 arch/x86/kernel/head_32.S | 228 +-
17374 arch/x86/kernel/head_64.S | 138 +-
17375 arch/x86/kernel/i386_ksyms_32.c | 12 +
17376 arch/x86/kernel/i387.c | 2 +-
17377 arch/x86/kernel/i8259.c | 10 +-
17378 arch/x86/kernel/io_delay.c | 2 +-
17379 arch/x86/kernel/ioport.c | 2 +-
17380 arch/x86/kernel/irq.c | 8 +-
17381 arch/x86/kernel/irq_32.c | 67 +-
17382 arch/x86/kernel/irq_64.c | 2 +-
17383 arch/x86/kernel/kdebugfs.c | 2 +-
17384 arch/x86/kernel/kgdb.c | 25 +-
17385 arch/x86/kernel/kprobes/core.c | 30 +-
17386 arch/x86/kernel/kprobes/opt.c | 16 +-
17387 arch/x86/kernel/ldt.c | 31 +-
17388 arch/x86/kernel/machine_kexec_32.c | 6 +-
17389 arch/x86/kernel/microcode_core.c | 2 +-
17390 arch/x86/kernel/microcode_intel.c | 4 +-
17391 arch/x86/kernel/module.c | 76 +-
17392 arch/x86/kernel/msr.c | 2 +-
17393 arch/x86/kernel/nmi.c | 19 +-
17394 arch/x86/kernel/nmi_selftest.c | 4 +-
17395 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
17396 arch/x86/kernel/paravirt.c | 43 +-
17397 arch/x86/kernel/pci-calgary_64.c | 2 +-
17398 arch/x86/kernel/pci-iommu_table.c | 2 +-
17399 arch/x86/kernel/pci-swiotlb.c | 2 +-
17400 arch/x86/kernel/process.c | 55 +-
17401 arch/x86/kernel/process_32.c | 29 +-
17402 arch/x86/kernel/process_64.c | 20 +-
17403 arch/x86/kernel/ptrace.c | 25 +-
17404 arch/x86/kernel/pvclock.c | 8 +-
17405 arch/x86/kernel/reboot.c | 42 +-
17406 arch/x86/kernel/reboot_fixups_32.c | 2 +-
17407 arch/x86/kernel/relocate_kernel_64.S | 5 +-
17408 arch/x86/kernel/setup.c | 65 +-
17409 arch/x86/kernel/setup_percpu.c | 29 +-
17410 arch/x86/kernel/signal.c | 19 +-
17411 arch/x86/kernel/smp.c | 2 +-
17412 arch/x86/kernel/smpboot.c | 28 +-
17413 arch/x86/kernel/step.c | 10 +-
17414 arch/x86/kernel/sys_i386_32.c | 184 +
17415 arch/x86/kernel/sys_x86_64.c | 22 +-
17416 arch/x86/kernel/tboot.c | 12 +-
17417 arch/x86/kernel/time.c | 10 +-
17418 arch/x86/kernel/tls.c | 7 +-
17419 arch/x86/kernel/tracepoint.c | 4 +-
17420 arch/x86/kernel/traps.c | 62 +-
17421 arch/x86/kernel/uprobes.c | 4 +-
17422 arch/x86/kernel/vm86_32.c | 6 +-
17423 arch/x86/kernel/vmlinux.lds.S | 147 +-
17424 arch/x86/kernel/vsyscall_64.c | 12 +-
17425 arch/x86/kernel/x8664_ksyms_64.c | 6 +-
17426 arch/x86/kernel/x86_init.c | 6 +-
17427 arch/x86/kernel/xsave.c | 2 +
17428 arch/x86/kvm/cpuid.c | 21 +-
17429 arch/x86/kvm/lapic.c | 2 +-
17430 arch/x86/kvm/paging_tmpl.h | 2 +-
17431 arch/x86/kvm/svm.c | 8 +
17432 arch/x86/kvm/vmx.c | 61 +-
17433 arch/x86/kvm/x86.c | 8 +-
17434 arch/x86/lguest/boot.c | 3 +-
17435 arch/x86/lib/atomic64_386_32.S | 164 +
17436 arch/x86/lib/atomic64_cx8_32.S | 103 +-
17437 arch/x86/lib/checksum_32.S | 100 +-
17438 arch/x86/lib/clear_page_64.S | 5 +-
17439 arch/x86/lib/cmpxchg16b_emu.S | 2 +
17440 arch/x86/lib/copy_page_64.S | 24 +-
17441 arch/x86/lib/copy_user_64.S | 89 +-
17442 arch/x86/lib/copy_user_nocache_64.S | 22 +-
17443 arch/x86/lib/csum-copy_64.S | 2 +
17444 arch/x86/lib/csum-wrappers_64.c | 13 +-
17445 arch/x86/lib/getuser.S | 74 +-
17446 arch/x86/lib/insn.c | 6 +-
17447 arch/x86/lib/iomap_copy_64.S | 2 +
17448 arch/x86/lib/memcpy_64.S | 22 +-
17449 arch/x86/lib/memmove_64.S | 36 +-
17450 arch/x86/lib/memset_64.S | 11 +-
17451 arch/x86/lib/mmx_32.c | 243 +-
17452 arch/x86/lib/msr-reg.S | 18 +-
17453 arch/x86/lib/putuser.S | 90 +-
17454 arch/x86/lib/rwlock.S | 42 +
17455 arch/x86/lib/rwsem.S | 6 +-
17456 arch/x86/lib/thunk_64.S | 2 +
17457 arch/x86/lib/usercopy_32.c | 363 +-
17458 arch/x86/lib/usercopy_64.c | 18 +-
17459 arch/x86/mm/Makefile | 4 +
17460 arch/x86/mm/extable.c | 25 +-
17461 arch/x86/mm/fault.c | 571 ++-
17462 arch/x86/mm/gup.c | 2 +-
17463 arch/x86/mm/highmem_32.c | 4 +
17464 arch/x86/mm/hugetlbpage.c | 30 +-
17465 arch/x86/mm/init.c | 101 +-
17466 arch/x86/mm/init_32.c | 111 +-
17467 arch/x86/mm/init_64.c | 45 +-
17468 arch/x86/mm/iomap_32.c | 4 +
17469 arch/x86/mm/ioremap.c | 15 +-
17470 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
17471 arch/x86/mm/mmap.c | 36 +-
17472 arch/x86/mm/mmio-mod.c | 10 +-
17473 arch/x86/mm/numa.c | 2 +-
17474 arch/x86/mm/pageattr-test.c | 2 +-
17475 arch/x86/mm/pageattr.c | 33 +-
17476 arch/x86/mm/pat.c | 12 +-
17477 arch/x86/mm/pat_rbtree.c | 2 +-
17478 arch/x86/mm/pf_in.c | 10 +-
17479 arch/x86/mm/pgtable.c | 139 +-
17480 arch/x86/mm/pgtable_32.c | 3 +
17481 arch/x86/mm/physaddr.c | 4 +-
17482 arch/x86/mm/setup_nx.c | 7 +
17483 arch/x86/mm/tlb.c | 4 +
17484 arch/x86/mm/uderef_64.c | 37 +
17485 arch/x86/net/bpf_jit.S | 14 +
17486 arch/x86/net/bpf_jit_comp.c | 39 +-
17487 arch/x86/oprofile/backtrace.c | 8 +-
17488 arch/x86/oprofile/nmi_int.c | 8 +-
17489 arch/x86/oprofile/op_model_amd.c | 8 +-
17490 arch/x86/oprofile/op_model_ppro.c | 7 +-
17491 arch/x86/oprofile/op_x86_model.h | 2 +-
17492 arch/x86/pci/irq.c | 8 +-
17493 arch/x86/pci/mrst.c | 4 +-
17494 arch/x86/pci/pcbios.c | 144 +-
17495 arch/x86/platform/efi/efi_32.c | 24 +
17496 arch/x86/platform/efi/efi_64.c | 10 +
17497 arch/x86/platform/efi/efi_stub_32.S | 64 +-
17498 arch/x86/platform/efi/efi_stub_64.S | 8 +
17499 arch/x86/platform/mrst/mrst.c | 6 +-
17500 arch/x86/platform/olpc/olpc_dt.c | 2 +-
17501 arch/x86/power/cpu.c | 11 +-
17502 arch/x86/realmode/init.c | 10 +-
17503 arch/x86/realmode/rm/Makefile | 3 +
17504 arch/x86/realmode/rm/header.S | 4 +-
17505 arch/x86/realmode/rm/trampoline_32.S | 12 +-
17506 arch/x86/realmode/rm/trampoline_64.S | 3 +-
17507 arch/x86/tools/Makefile | 2 +-
17508 arch/x86/tools/relocs.c | 94 +-
17509 arch/x86/um/tls_32.c | 2 +-
17510 arch/x86/vdso/Makefile | 2 +-
17511 arch/x86/vdso/vdso32-setup.c | 23 +-
17512 arch/x86/vdso/vma.c | 29 +-
17513 arch/x86/xen/enlighten.c | 45 +-
17514 arch/x86/xen/mmu.c | 9 +
17515 arch/x86/xen/smp.c | 18 +-
17516 arch/x86/xen/xen-asm_32.S | 12 +-
17517 arch/x86/xen/xen-head.S | 11 +
17518 arch/x86/xen/xen-ops.h | 2 -
17519 block/blk-cgroup.c | 4 +-
17520 block/blk-iopoll.c | 2 +-
17521 block/blk-map.c | 2 +-
17522 block/blk-softirq.c | 2 +-
17523 block/bsg.c | 12 +-
17524 block/compat_ioctl.c | 2 +-
17525 block/genhd.c | 9 +-
17526 block/partitions/efi.c | 8 +-
17527 block/scsi_ioctl.c | 27 +-
17528 crypto/cryptd.c | 4 +-
17529 crypto/pcrypt.c | 2 +-
17530 drivers/acpi/apei/apei-internal.h | 2 +-
17531 drivers/acpi/apei/cper.c | 8 +-
17532 drivers/acpi/apei/ghes.c | 4 +-
17533 drivers/acpi/bgrt.c | 6 +-
17534 drivers/acpi/blacklist.c | 4 +-
17535 drivers/acpi/processor_idle.c | 2 +-
17536 drivers/acpi/sysfs.c | 4 +-
17537 drivers/ata/libahci.c | 2 +-
17538 drivers/ata/libata-core.c | 12 +-
17539 drivers/ata/libata-scsi.c | 2 +-
17540 drivers/ata/libata.h | 2 +-
17541 drivers/ata/pata_arasan_cf.c | 4 +-
17542 drivers/atm/adummy.c | 2 +-
17543 drivers/atm/ambassador.c | 8 +-
17544 drivers/atm/atmtcp.c | 14 +-
17545 drivers/atm/eni.c | 10 +-
17546 drivers/atm/firestream.c | 8 +-
17547 drivers/atm/fore200e.c | 14 +-
17548 drivers/atm/he.c | 18 +-
17549 drivers/atm/horizon.c | 4 +-
17550 drivers/atm/idt77252.c | 36 +-
17551 drivers/atm/iphase.c | 34 +-
17552 drivers/atm/lanai.c | 12 +-
17553 drivers/atm/nicstar.c | 46 +-
17554 drivers/atm/solos-pci.c | 4 +-
17555 drivers/atm/suni.c | 4 +-
17556 drivers/atm/uPD98402.c | 16 +-
17557 drivers/atm/zatm.c | 6 +-
17558 drivers/base/bus.c | 4 +-
17559 drivers/base/devtmpfs.c | 8 +-
17560 drivers/base/node.c | 2 +-
17561 drivers/base/power/domain.c | 4 +-
17562 drivers/base/power/sysfs.c | 2 +-
17563 drivers/base/power/wakeup.c | 8 +-
17564 drivers/base/syscore.c | 4 +-
17565 drivers/block/cciss.c | 28 +-
17566 drivers/block/cciss.h | 2 +-
17567 drivers/block/cpqarray.c | 28 +-
17568 drivers/block/cpqarray.h | 2 +-
17569 drivers/block/drbd/drbd_int.h | 6 +-
17570 drivers/block/drbd/drbd_main.c | 8 +-
17571 drivers/block/drbd/drbd_nl.c | 4 +-
17572 drivers/block/drbd/drbd_receiver.c | 22 +-
17573 drivers/block/loop.c | 2 +-
17574 drivers/block/pktcdvd.c | 2 +-
17575 drivers/cdrom/cdrom.c | 11 +-
17576 drivers/cdrom/gdrom.c | 1 -
17577 drivers/char/agp/compat_ioctl.c | 2 +-
17578 drivers/char/agp/frontend.c | 4 +-
17579 drivers/char/hpet.c | 2 +-
17580 drivers/char/hw_random/intel-rng.c | 2 +-
17581 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
17582 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
17583 drivers/char/mem.c | 43 +-
17584 drivers/char/nvram.c | 2 +-
17585 drivers/char/pcmcia/synclink_cs.c | 18 +-
17586 drivers/char/random.c | 10 +-
17587 drivers/char/sonypi.c | 9 +-
17588 drivers/char/tpm/tpm_acpi.c | 3 +-
17589 drivers/char/tpm/tpm_eventlog.c | 7 +-
17590 drivers/char/virtio_console.c | 4 +-
17591 drivers/clk/clk-composite.c | 2 +-
17592 drivers/clk/socfpga/clk.c | 7 +-
17593 drivers/cpufreq/acpi-cpufreq.c | 20 +-
17594 drivers/cpufreq/cpufreq.c | 9 +-
17595 drivers/cpufreq/cpufreq_governor.c | 6 +-
17596 drivers/cpufreq/cpufreq_governor.h | 2 +-
17597 drivers/cpufreq/cpufreq_ondemand.c | 8 +-
17598 drivers/cpufreq/cpufreq_stats.c | 2 +-
17599 drivers/cpufreq/p4-clockmod.c | 12 +-
17600 drivers/cpufreq/sparc-us3-cpufreq.c | 69 +-
17601 drivers/cpufreq/speedstep-centrino.c | 7 +-
17602 drivers/cpuidle/cpuidle.c | 2 +-
17603 drivers/cpuidle/governor.c | 4 +-
17604 drivers/cpuidle/sysfs.c | 2 +-
17605 drivers/crypto/hifn_795x.c | 4 +-
17606 drivers/devfreq/devfreq.c | 4 +-
17607 drivers/dma/sh/shdma.c | 2 +-
17608 drivers/edac/edac_device.c | 4 +-
17609 drivers/edac/edac_mc_sysfs.c | 12 +-
17610 drivers/edac/edac_pci.c | 4 +-
17611 drivers/edac/edac_pci_sysfs.c | 22 +-
17612 drivers/edac/mce_amd.h | 2 +-
17613 drivers/firewire/core-card.c | 6 +-
17614 drivers/firewire/core-device.c | 2 +-
17615 drivers/firewire/core-transaction.c | 1 +
17616 drivers/firewire/core.h | 1 +
17617 drivers/firmware/dmi-id.c | 2 +-
17618 drivers/firmware/dmi_scan.c | 7 +-
17619 drivers/firmware/efi/efi.c | 12 +-
17620 drivers/firmware/efi/efivars.c | 2 +-
17621 drivers/firmware/google/memconsole.c | 4 +-
17622 drivers/gpio/gpio-ich.c | 2 +-
17623 drivers/gpio/gpio-vr41xx.c | 2 +-
17624 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
17625 drivers/gpu/drm/drm_drv.c | 6 +-
17626 drivers/gpu/drm/drm_fops.c | 18 +-
17627 drivers/gpu/drm/drm_global.c | 14 +-
17628 drivers/gpu/drm/drm_info.c | 14 +-
17629 drivers/gpu/drm/drm_ioc32.c | 13 +-
17630 drivers/gpu/drm/drm_ioctl.c | 2 +-
17631 drivers/gpu/drm/drm_lock.c | 4 +-
17632 drivers/gpu/drm/drm_stub.c | 2 +-
17633 drivers/gpu/drm/drm_sysfs.c | 2 +-
17634 drivers/gpu/drm/i810/i810_dma.c | 8 +-
17635 drivers/gpu/drm/i810/i810_drv.h | 4 +-
17636 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
17637 drivers/gpu/drm/i915/i915_dma.c | 2 +-
17638 drivers/gpu/drm/i915/i915_drv.h | 2 +-
17639 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +-
17640 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
17641 drivers/gpu/drm/i915/i915_irq.c | 24 +-
17642 drivers/gpu/drm/i915/intel_display.c | 26 +-
17643 drivers/gpu/drm/mga/mga_drv.h | 4 +-
17644 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
17645 drivers/gpu/drm/mga/mga_irq.c | 8 +-
17646 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
17647 drivers/gpu/drm/nouveau/nouveau_drm.h | 1 -
17648 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
17649 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
17650 drivers/gpu/drm/qxl/qxl_ttm.c | 38 +-
17651 drivers/gpu/drm/r128/r128_cce.c | 2 +-
17652 drivers/gpu/drm/r128/r128_drv.h | 4 +-
17653 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
17654 drivers/gpu/drm/r128/r128_irq.c | 4 +-
17655 drivers/gpu/drm/r128/r128_state.c | 4 +-
17656 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
17657 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
17658 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
17659 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
17660 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
17661 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
17662 drivers/gpu/drm/radeon/radeon_ttm.c | 57 +-
17663 drivers/gpu/drm/radeon/rs690.c | 4 +-
17664 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
17665 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
17666 drivers/gpu/drm/udl/udl_fb.c | 1 -
17667 drivers/gpu/drm/via/via_drv.h | 4 +-
17668 drivers/gpu/drm/via/via_irq.c | 18 +-
17669 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
17670 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
17671 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 +-
17672 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
17673 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
17674 drivers/gpu/host1x/drm/dc.c | 2 +-
17675 drivers/hid/hid-core.c | 4 +-
17676 drivers/hid/uhid.c | 6 +-
17677 drivers/hv/channel.c | 4 +-
17678 drivers/hv/hv.c | 2 +-
17679 drivers/hv/hv_balloon.c | 18 +-
17680 drivers/hv/hyperv_vmbus.h | 2 +-
17681 drivers/hv/vmbus_drv.c | 4 +-
17682 drivers/hwmon/acpi_power_meter.c | 4 +-
17683 drivers/hwmon/applesmc.c | 2 +-
17684 drivers/hwmon/asus_atk0110.c | 10 +-
17685 drivers/hwmon/coretemp.c | 2 +-
17686 drivers/hwmon/ibmaem.c | 2 +-
17687 drivers/hwmon/iio_hwmon.c | 2 +-
17688 drivers/hwmon/pmbus/pmbus_core.c | 10 +-
17689 drivers/hwmon/sht15.c | 12 +-
17690 drivers/hwmon/via-cputemp.c | 2 +-
17691 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
17692 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
17693 drivers/i2c/i2c-dev.c | 2 +-
17694 drivers/ide/ide-cd.c | 2 +-
17695 drivers/iio/industrialio-core.c | 2 +-
17696 drivers/infiniband/core/cm.c | 32 +-
17697 drivers/infiniband/core/fmr_pool.c | 20 +-
17698 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
17699 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
17700 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
17701 drivers/infiniband/hw/mlx4/mad.c | 2 +-
17702 drivers/infiniband/hw/mlx4/mcg.c | 2 +-
17703 drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
17704 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
17705 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
17706 drivers/infiniband/hw/nes/nes.c | 4 +-
17707 drivers/infiniband/hw/nes/nes.h | 40 +-
17708 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
17709 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
17710 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
17711 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
17712 drivers/infiniband/hw/qib/qib.h | 1 +
17713 drivers/input/gameport/gameport.c | 4 +-
17714 drivers/input/input.c | 4 +-
17715 drivers/input/joystick/sidewinder.c | 1 +
17716 drivers/input/joystick/xpad.c | 4 +-
17717 drivers/input/misc/ims-pcu.c | 4 +-
17718 drivers/input/mouse/psmouse.h | 2 +-
17719 drivers/input/mousedev.c | 2 +-
17720 drivers/input/serio/serio.c | 4 +-
17721 drivers/input/serio/serio_raw.c | 4 +-
17722 drivers/iommu/iommu.c | 2 +-
17723 drivers/iommu/irq_remapping.c | 12 +-
17724 drivers/irqchip/irq-gic.c | 4 +-
17725 drivers/isdn/capi/capi.c | 10 +-
17726 drivers/isdn/gigaset/interface.c | 8 +-
17727 drivers/isdn/gigaset/usb-gigaset.c | 2 +-
17728 drivers/isdn/hardware/avm/b1.c | 4 +-
17729 drivers/isdn/i4l/isdn_common.c | 2 +
17730 drivers/isdn/i4l/isdn_tty.c | 22 +-
17731 drivers/isdn/icn/icn.c | 2 +-
17732 drivers/leds/leds-clevo-mail.c | 2 +-
17733 drivers/leds/leds-ss4200.c | 2 +-
17734 drivers/lguest/core.c | 10 +-
17735 drivers/lguest/page_tables.c | 2 +-
17736 drivers/lguest/x86/core.c | 12 +-
17737 drivers/lguest/x86/switcher_32.S | 27 +-
17738 drivers/md/bcache/closure.h | 2 +-
17739 drivers/md/bcache/super.c | 2 +-
17740 drivers/md/bitmap.c | 2 +-
17741 drivers/md/dm-ioctl.c | 2 +-
17742 drivers/md/dm-raid1.c | 16 +-
17743 drivers/md/dm-stripe.c | 10 +-
17744 drivers/md/dm-table.c | 2 +-
17745 drivers/md/dm-thin-metadata.c | 4 +-
17746 drivers/md/dm.c | 16 +-
17747 drivers/md/md.c | 26 +-
17748 drivers/md/md.h | 6 +-
17749 drivers/md/persistent-data/dm-space-map.h | 1 +
17750 drivers/md/raid1.c | 4 +-
17751 drivers/md/raid10.c | 16 +-
17752 drivers/md/raid5.c | 10 +-
17753 drivers/media/dvb-core/dvbdev.c | 2 +-
17754 drivers/media/dvb-frontends/dib3000.h | 2 +-
17755 drivers/media/pci/cx88/cx88-video.c | 6 +-
17756 drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
17757 drivers/media/platform/omap/omap_vout.c | 11 +-
17758 drivers/media/platform/s5p-tv/mixer.h | 2 +-
17759 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
17760 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
17761 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
17762 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
17763 drivers/media/radio/radio-cadet.c | 2 +
17764 drivers/media/radio/radio-maxiradio.c | 2 +-
17765 drivers/media/radio/radio-shark.c | 2 +-
17766 drivers/media/radio/radio-shark2.c | 2 +-
17767 drivers/media/radio/radio-si476x.c | 2 +-
17768 drivers/media/rc/rc-main.c | 4 +-
17769 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
17770 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
17771 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +-
17772 drivers/media/v4l2-core/v4l2-device.c | 4 +-
17773 drivers/media/v4l2-core/v4l2-ioctl.c | 11 +-
17774 drivers/message/fusion/mptsas.c | 34 +-
17775 drivers/message/fusion/mptscsih.c | 19 +-
17776 drivers/message/i2o/i2o_proc.c | 51 +-
17777 drivers/message/i2o/iop.c | 8 +-
17778 drivers/mfd/janz-cmodio.c | 1 +
17779 drivers/mfd/twl4030-irq.c | 9 +-
17780 drivers/mfd/twl6030-irq.c | 10 +-
17781 drivers/misc/c2port/core.c | 4 +-
17782 drivers/misc/kgdbts.c | 4 +-
17783 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
17784 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
17785 drivers/misc/sgi-gru/gruhandles.c | 4 +-
17786 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
17787 drivers/misc/sgi-gru/grutables.h | 154 +-
17788 drivers/misc/sgi-xp/xp.h | 2 +-
17789 drivers/misc/sgi-xp/xpc.h | 3 +-
17790 drivers/misc/sgi-xp/xpc_main.c | 4 +-
17791 drivers/mmc/core/mmc_ops.c | 2 +-
17792 drivers/mmc/host/dw_mmc.h | 2 +-
17793 drivers/mmc/host/sdhci-s3c.c | 8 +-
17794 drivers/mtd/nand/denali.c | 1 +
17795 drivers/mtd/nftlmount.c | 1 +
17796 drivers/mtd/sm_ftl.c | 2 +-
17797 drivers/net/bonding/bond_main.c | 2 +-
17798 drivers/net/ethernet/8390/ax88796.c | 4 +-
17799 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
17800 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
17801 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
17802 drivers/net/ethernet/broadcom/tg3.h | 1 +
17803 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
17804 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
17805 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
17806 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
17807 drivers/net/ethernet/faraday/ftmac100.c | 2 +
17808 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
17809 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
17810 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +-
17811 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +-
17812 drivers/net/ethernet/realtek/r8169.c | 8 +-
17813 drivers/net/ethernet/sfc/ptp.c | 2 +-
17814 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
17815 drivers/net/hyperv/hyperv_net.h | 2 +-
17816 drivers/net/hyperv/rndis_filter.c | 4 +-
17817 drivers/net/ieee802154/fakehard.c | 2 +-
17818 drivers/net/macvlan.c | 18 +-
17819 drivers/net/macvtap.c | 2 +-
17820 drivers/net/ppp/ppp_generic.c | 4 +-
17821 drivers/net/slip/slhc.c | 2 +-
17822 drivers/net/team/team.c | 2 +-
17823 drivers/net/tun.c | 5 +-
17824 drivers/net/usb/hso.c | 23 +-
17825 drivers/net/usb/sierra_net.c | 4 +-
17826 drivers/net/vxlan.c | 2 +-
17827 drivers/net/wimax/i2400m/rx.c | 2 +-
17828 drivers/net/wireless/at76c50x-usb.c | 2 +-
17829 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
17830 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
17831 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
17832 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
17833 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 34 +-
17834 drivers/net/wireless/iwlwifi/dvm/main.c | 3 +-
17835 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
17836 drivers/net/wireless/mac80211_hwsim.c | 32 +-
17837 drivers/net/wireless/rndis_wlan.c | 2 +-
17838 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
17839 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
17840 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
17841 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
17842 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
17843 drivers/oprofile/buffer_sync.c | 8 +-
17844 drivers/oprofile/event_buffer.c | 2 +-
17845 drivers/oprofile/oprof.c | 2 +-
17846 drivers/oprofile/oprofile_files.c | 2 +-
17847 drivers/oprofile/oprofile_stats.c | 10 +-
17848 drivers/oprofile/oprofile_stats.h | 10 +-
17849 drivers/oprofile/oprofilefs.c | 2 +-
17850 drivers/oprofile/timer_int.c | 2 +-
17851 drivers/parport/procfs.c | 4 +-
17852 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
17853 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
17854 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
17855 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
17856 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
17857 drivers/pci/hotplug/pciehp_core.c | 2 +-
17858 drivers/pci/pci-sysfs.c | 6 +-
17859 drivers/pci/pci.h | 2 +-
17860 drivers/pci/pcie/aspm.c | 6 +-
17861 drivers/pci/probe.c | 2 +-
17862 drivers/platform/x86/chromeos_laptop.c | 2 +-
17863 drivers/platform/x86/msi-laptop.c | 14 +-
17864 drivers/platform/x86/sony-laptop.c | 2 +-
17865 drivers/platform/x86/thinkpad_acpi.c | 70 +-
17866 drivers/pnp/pnpbios/bioscalls.c | 14 +-
17867 drivers/pnp/resource.c | 4 +-
17868 drivers/power/pda_power.c | 7 +-
17869 drivers/power/power_supply.h | 4 +-
17870 drivers/power/power_supply_core.c | 7 +-
17871 drivers/power/power_supply_sysfs.c | 6 +-
17872 drivers/regulator/core.c | 4 +-
17873 drivers/regulator/max8660.c | 6 +-
17874 drivers/regulator/max8973-regulator.c | 8 +-
17875 drivers/regulator/mc13892-regulator.c | 6 +-
17876 drivers/rtc/rtc-cmos.c | 4 +-
17877 drivers/rtc/rtc-ds1307.c | 2 +-
17878 drivers/rtc/rtc-m48t59.c | 4 +-
17879 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
17880 drivers/scsi/bfa/bfa_ioc.h | 4 +-
17881 drivers/scsi/fcoe/fcoe_sysfs.c | 12 +-
17882 drivers/scsi/hosts.c | 4 +-
17883 drivers/scsi/hpsa.c | 30 +-
17884 drivers/scsi/hpsa.h | 2 +-
17885 drivers/scsi/libfc/fc_exch.c | 50 +-
17886 drivers/scsi/libsas/sas_ata.c | 2 +-
17887 drivers/scsi/lpfc/lpfc.h | 8 +-
17888 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
17889 drivers/scsi/lpfc/lpfc_init.c | 6 +-
17890 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
17891 drivers/scsi/pmcraid.c | 20 +-
17892 drivers/scsi/pmcraid.h | 8 +-
17893 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
17894 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
17895 drivers/scsi/qla2xxx/qla_os.c | 6 +-
17896 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
17897 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
17898 drivers/scsi/scsi.c | 2 +-
17899 drivers/scsi/scsi_lib.c | 6 +-
17900 drivers/scsi/scsi_sysfs.c | 2 +-
17901 drivers/scsi/scsi_tgt_lib.c | 2 +-
17902 drivers/scsi/scsi_transport_fc.c | 8 +-
17903 drivers/scsi/scsi_transport_iscsi.c | 6 +-
17904 drivers/scsi/scsi_transport_srp.c | 6 +-
17905 drivers/scsi/sd.c | 2 +-
17906 drivers/scsi/sg.c | 2 +-
17907 drivers/spi/spi.c | 2 +-
17908 drivers/staging/android/timed_output.c | 6 +-
17909 drivers/staging/media/solo6x10/solo6x10-core.c | 2 +-
17910 drivers/staging/media/solo6x10/solo6x10-p2m.c | 2 +-
17911 drivers/staging/media/solo6x10/solo6x10.h | 2 +-
17912 drivers/staging/octeon/ethernet-rx.c | 12 +-
17913 drivers/staging/octeon/ethernet.c | 8 +-
17914 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
17915 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
17916 drivers/staging/usbip/vhci.h | 2 +-
17917 drivers/staging/usbip/vhci_hcd.c | 6 +-
17918 drivers/staging/usbip/vhci_rx.c | 2 +-
17919 drivers/staging/vt6655/hostap.c | 7 +-
17920 drivers/staging/vt6656/hostap.c | 7 +-
17921 drivers/staging/zcache/tmem.h | 4 +-
17922 drivers/target/sbp/sbp_target.c | 4 +-
17923 drivers/target/target_core_device.c | 2 +-
17924 drivers/target/target_core_transport.c | 2 +-
17925 drivers/tty/cyclades.c | 6 +-
17926 drivers/tty/hvc/hvc_console.c | 14 +-
17927 drivers/tty/hvc/hvcs.c | 21 +-
17928 drivers/tty/hvc/hvsi.c | 12 +-
17929 drivers/tty/hvc/hvsi_lib.c | 6 +-
17930 drivers/tty/ipwireless/tty.c | 27 +-
17931 drivers/tty/moxa.c | 2 +-
17932 drivers/tty/n_gsm.c | 4 +-
17933 drivers/tty/n_tty.c | 3 +-
17934 drivers/tty/pty.c | 4 +-
17935 drivers/tty/rocket.c | 6 +-
17936 drivers/tty/serial/ioc4_serial.c | 6 +-
17937 drivers/tty/serial/kgdboc.c | 32 +-
17938 drivers/tty/serial/msm_serial.c | 4 +-
17939 drivers/tty/serial/samsung.c | 9 +-
17940 drivers/tty/serial/serial_core.c | 8 +-
17941 drivers/tty/synclink.c | 34 +-
17942 drivers/tty/synclink_gt.c | 28 +-
17943 drivers/tty/synclinkmp.c | 34 +-
17944 drivers/tty/tty_io.c | 2 +-
17945 drivers/tty/tty_ldisc.c | 10 +-
17946 drivers/tty/tty_port.c | 22 +-
17947 drivers/uio/uio.c | 21 +-
17948 drivers/usb/atm/cxacru.c | 2 +-
17949 drivers/usb/atm/usbatm.c | 24 +-
17950 drivers/usb/core/devices.c | 6 +-
17951 drivers/usb/core/hcd.c | 4 +-
17952 drivers/usb/core/message.c | 2 +-
17953 drivers/usb/core/sysfs.c | 2 +-
17954 drivers/usb/core/usb.c | 2 +-
17955 drivers/usb/dwc3/gadget.c | 2 -
17956 drivers/usb/early/ehci-dbgp.c | 16 +-
17957 drivers/usb/gadget/u_serial.c | 22 +-
17958 drivers/usb/misc/appledisplay.c | 4 +-
17959 drivers/usb/serial/console.c | 6 +-
17960 drivers/usb/storage/usb.h | 2 +-
17961 drivers/usb/wusbcore/wa-hc.h | 4 +-
17962 drivers/usb/wusbcore/wa-xfer.c | 2 +-
17963 drivers/vfio/vfio.c | 2 +-
17964 drivers/vhost/vringh.c | 2 +-
17965 drivers/video/aty/aty128fb.c | 2 +-
17966 drivers/video/aty/atyfb_base.c | 8 +-
17967 drivers/video/aty/mach64_cursor.c | 5 +-
17968 drivers/video/backlight/kb3886_bl.c | 2 +-
17969 drivers/video/fb_defio.c | 6 +-
17970 drivers/video/fbcmap.c | 3 +-
17971 drivers/video/fbmem.c | 6 +-
17972 drivers/video/hyperv_fb.c | 4 +-
17973 drivers/video/i810/i810_accel.c | 1 +
17974 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
17975 drivers/video/nvidia/nvidia.c | 27 +-
17976 drivers/video/s1d13xxxfb.c | 6 +-
17977 drivers/video/smscufx.c | 4 +-
17978 drivers/video/udlfb.c | 36 +-
17979 drivers/video/uvesafb.c | 53 +-
17980 drivers/video/vesafb.c | 58 +-
17981 drivers/video/via/via_clock.h | 2 +-
17982 fs/9p/vfs_addr.c | 2 +-
17983 fs/9p/vfs_inode.c | 2 +-
17984 fs/Kconfig.binfmt | 2 +-
17985 fs/afs/inode.c | 4 +-
17986 fs/aio.c | 12 +-
17987 fs/autofs4/waitq.c | 2 +-
17988 fs/befs/endian.h | 4 +-
17989 fs/befs/linuxvfs.c | 2 +-
17990 fs/binfmt_aout.c | 23 +-
17991 fs/binfmt_elf.c | 648 ++-
17992 fs/binfmt_flat.c | 6 +
17993 fs/bio.c | 6 +-
17994 fs/block_dev.c | 2 +-
17995 fs/btrfs/ctree.c | 9 +-
17996 fs/btrfs/delayed-inode.c | 6 +-
17997 fs/btrfs/delayed-inode.h | 4 +-
17998 fs/btrfs/super.c | 2 +-
17999 fs/buffer.c | 2 +-
18000 fs/cachefiles/bind.c | 6 +-
18001 fs/cachefiles/daemon.c | 8 +-
18002 fs/cachefiles/internal.h | 12 +-
18003 fs/cachefiles/namei.c | 2 +-
18004 fs/cachefiles/proc.c | 12 +-
18005 fs/cachefiles/rdwr.c | 2 +-
18006 fs/ceph/dir.c | 2 +-
18007 fs/ceph/super.c | 4 +-
18008 fs/cifs/cifs_debug.c | 12 +-
18009 fs/cifs/cifsfs.c | 8 +-
18010 fs/cifs/cifsglob.h | 54 +-
18011 fs/cifs/link.c | 2 +-
18012 fs/cifs/misc.c | 4 +-
18013 fs/cifs/smb1ops.c | 80 +-
18014 fs/cifs/smb2ops.c | 84 +-
18015 fs/cifs/smb2pdu.c | 3 +-
18016 fs/coda/cache.c | 10 +-
18017 fs/compat.c | 4 +-
18018 fs/compat_binfmt_elf.c | 2 +
18019 fs/compat_ioctl.c | 12 +-
18020 fs/configfs/dir.c | 10 +-
18021 fs/coredump.c | 18 +-
18022 fs/dcache.c | 3 +-
18023 fs/ecryptfs/inode.c | 4 +-
18024 fs/ecryptfs/miscdev.c | 2 +-
18025 fs/exec.c | 362 +-
18026 fs/ext4/ext4.h | 20 +-
18027 fs/ext4/mballoc.c | 44 +-
18028 fs/ext4/mmp.c | 2 +-
18029 fs/ext4/super.c | 4 +-
18030 fs/fhandle.c | 3 +-
18031 fs/fs_struct.c | 8 +-
18032 fs/fscache/cookie.c | 38 +-
18033 fs/fscache/internal.h | 196 +-
18034 fs/fscache/object.c | 26 +-
18035 fs/fscache/operation.c | 30 +-
18036 fs/fscache/page.c | 110 +-
18037 fs/fscache/stats.c | 344 +-
18038 fs/fuse/cuse.c | 10 +-
18039 fs/fuse/dev.c | 4 +-
18040 fs/fuse/dir.c | 2 +-
18041 fs/gfs2/inode.c | 2 +-
18042 fs/hugetlbfs/inode.c | 13 +-
18043 fs/inode.c | 4 +-
18044 fs/jffs2/erase.c | 3 +-
18045 fs/jffs2/wbuf.c | 3 +-
18046 fs/jfs/super.c | 2 +-
18047 fs/libfs.c | 10 +-
18048 fs/lockd/clntproc.c | 4 +-
18049 fs/locks.c | 8 +-
18050 fs/namei.c | 15 +-
18051 fs/namespace.c | 16 +-
18052 fs/nfs/callback_xdr.c | 2 +-
18053 fs/nfs/inode.c | 6 +-
18054 fs/nfsd/nfs4proc.c | 2 +-
18055 fs/nfsd/nfs4xdr.c | 6 +-
18056 fs/nfsd/nfscache.c | 9 +-
18057 fs/nfsd/vfs.c | 6 +-
18058 fs/nls/nls_base.c | 18 +-
18059 fs/nls/nls_euc-jp.c | 6 +-
18060 fs/nls/nls_koi8-ru.c | 6 +-
18061 fs/notify/fanotify/fanotify_user.c | 4 +-
18062 fs/notify/notification.c | 4 +-
18063 fs/ntfs/dir.c | 2 +-
18064 fs/ntfs/file.c | 6 +-
18065 fs/ntfs/super.c | 6 +-
18066 fs/ocfs2/localalloc.c | 2 +-
18067 fs/ocfs2/ocfs2.h | 10 +-
18068 fs/ocfs2/suballoc.c | 12 +-
18069 fs/ocfs2/super.c | 20 +-
18070 fs/pipe.c | 61 +-
18071 fs/proc/array.c | 20 +
18072 fs/proc/base.c | 4 +-
18073 fs/proc/kcore.c | 32 +-
18074 fs/proc/meminfo.c | 2 +-
18075 fs/proc/nommu.c | 2 +-
18076 fs/proc/proc_sysctl.c | 18 +-
18077 fs/proc/self.c | 2 +-
18078 fs/proc/task_mmu.c | 39 +-
18079 fs/proc/task_nommu.c | 4 +-
18080 fs/proc/vmcore.c | 12 +-
18081 fs/qnx6/qnx6.h | 4 +-
18082 fs/quota/netlink.c | 4 +-
18083 fs/read_write.c | 2 +-
18084 fs/reiserfs/do_balan.c | 2 +-
18085 fs/reiserfs/procfs.c | 2 +-
18086 fs/reiserfs/reiserfs.h | 4 +-
18087 fs/seq_file.c | 2 +-
18088 fs/splice.c | 41 +-
18089 fs/sysfs/bin.c | 6 +-
18090 fs/sysfs/dir.c | 2 +-
18091 fs/sysfs/file.c | 10 +-
18092 fs/sysfs/symlink.c | 2 +-
18093 fs/sysv/sysv.h | 2 +-
18094 fs/ubifs/io.c | 2 +-
18095 fs/udf/misc.c | 2 +-
18096 fs/ufs/swab.h | 4 +-
18097 fs/xattr.c | 21 +
18098 fs/xattr_acl.c | 4 +-
18099 fs/xfs/xfs_bmap.c | 2 +-
18100 fs/xfs/xfs_dir2_sf.c | 7 +-
18101 fs/xfs/xfs_ioctl.c | 2 +-
18102 fs/xfs/xfs_iops.c | 2 +-
18103 include/asm-generic/4level-fixup.h | 2 +
18104 include/asm-generic/atomic-long.h | 210 +
18105 include/asm-generic/atomic.h | 2 +-
18106 include/asm-generic/atomic64.h | 12 +
18107 include/asm-generic/cache.h | 4 +-
18108 include/asm-generic/emergency-restart.h | 2 +-
18109 include/asm-generic/kmap_types.h | 4 +-
18110 include/asm-generic/local.h | 13 +
18111 include/asm-generic/pgtable-nopmd.h | 18 +-
18112 include/asm-generic/pgtable-nopud.h | 15 +-
18113 include/asm-generic/pgtable.h | 16 +
18114 include/asm-generic/uaccess.h | 16 +
18115 include/asm-generic/vmlinux.lds.h | 10 +-
18116 include/crypto/algapi.h | 2 +-
18117 include/drm/drmP.h | 17 +-
18118 include/drm/drm_crtc_helper.h | 2 +-
18119 include/drm/ttm/ttm_memory.h | 2 +-
18120 include/keys/asymmetric-subtype.h | 2 +-
18121 include/linux/atmdev.h | 4 +-
18122 include/linux/binfmts.h | 3 +-
18123 include/linux/blkdev.h | 2 +-
18124 include/linux/blktrace_api.h | 2 +-
18125 include/linux/cache.h | 4 +
18126 include/linux/cdrom.h | 1 -
18127 include/linux/cleancache.h | 2 +-
18128 include/linux/clk-provider.h | 1 +
18129 include/linux/compat.h | 5 +-
18130 include/linux/compiler-gcc4.h | 20 +
18131 include/linux/compiler.h | 65 +-
18132 include/linux/completion.h | 6 +-
18133 include/linux/configfs.h | 2 +-
18134 include/linux/cpufreq.h | 3 +-
18135 include/linux/cpuidle.h | 5 +-
18136 include/linux/cpumask.h | 12 +-
18137 include/linux/crypto.h | 6 +-
18138 include/linux/ctype.h | 2 +-
18139 include/linux/decompress/mm.h | 2 +-
18140 include/linux/devfreq.h | 2 +-
18141 include/linux/device.h | 7 +-
18142 include/linux/dma-mapping.h | 2 +-
18143 include/linux/dmaengine.h | 4 +-
18144 include/linux/efi.h | 1 +
18145 include/linux/elf.h | 2 +
18146 include/linux/err.h | 4 +-
18147 include/linux/extcon.h | 2 +-
18148 include/linux/fb.h | 2 +-
18149 include/linux/fdtable.h | 2 +-
18150 include/linux/filter.h | 4 +
18151 include/linux/frontswap.h | 2 +-
18152 include/linux/fs.h | 3 +-
18153 include/linux/fs_struct.h | 2 +-
18154 include/linux/fscache-cache.h | 4 +-
18155 include/linux/fscache.h | 2 +-
18156 include/linux/fsnotify.h | 2 +-
18157 include/linux/genhd.h | 2 +-
18158 include/linux/genl_magic_func.h | 2 +-
18159 include/linux/gfp.h | 12 +-
18160 include/linux/highmem.h | 12 +
18161 include/linux/hwmon-sysfs.h | 5 +-
18162 include/linux/i2c.h | 1 +
18163 include/linux/i2o.h | 2 +-
18164 include/linux/if_pppox.h | 2 +-
18165 include/linux/init.h | 17 +-
18166 include/linux/init_task.h | 7 +
18167 include/linux/interrupt.h | 8 +-
18168 include/linux/iommu.h | 2 +-
18169 include/linux/ioport.h | 2 +-
18170 include/linux/irq.h | 3 +-
18171 include/linux/irqchip/arm-gic.h | 4 +-
18172 include/linux/key-type.h | 2 +-
18173 include/linux/kgdb.h | 6 +-
18174 include/linux/kobject.h | 3 +-
18175 include/linux/kobject_ns.h | 2 +-
18176 include/linux/kref.h | 2 +-
18177 include/linux/kvm_host.h | 4 +-
18178 include/linux/libata.h | 2 +-
18179 include/linux/linkage.h | 1 +
18180 include/linux/list.h | 15 +
18181 include/linux/math64.h | 8 +-
18182 include/linux/mm.h | 116 +-
18183 include/linux/mm_types.h | 20 +
18184 include/linux/mmiotrace.h | 4 +-
18185 include/linux/mmzone.h | 2 +-
18186 include/linux/mod_devicetable.h | 6 +-
18187 include/linux/module.h | 60 +-
18188 include/linux/moduleloader.h | 16 +
18189 include/linux/moduleparam.h | 4 +-
18190 include/linux/namei.h | 6 +-
18191 include/linux/net.h | 2 +-
18192 include/linux/netdevice.h | 3 +-
18193 include/linux/netfilter.h | 2 +-
18194 include/linux/netfilter/ipset/ip_set.h | 2 +-
18195 include/linux/netfilter/nfnetlink.h | 2 +-
18196 include/linux/nls.h | 2 +-
18197 include/linux/notifier.h | 3 +-
18198 include/linux/oprofile.h | 4 +-
18199 include/linux/pci_hotplug.h | 3 +-
18200 include/linux/perf_event.h | 10 +-
18201 include/linux/pipe_fs_i.h | 8 +-
18202 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
18203 include/linux/platform_data/usb-ohci-exynos.h | 2 +-
18204 include/linux/pm_domain.h | 2 +-
18205 include/linux/pm_runtime.h | 2 +-
18206 include/linux/pnp.h | 2 +-
18207 include/linux/poison.h | 4 +-
18208 include/linux/power/smartreflex.h | 2 +-
18209 include/linux/ppp-comp.h | 2 +-
18210 include/linux/preempt.h | 19 +
18211 include/linux/proc_ns.h | 2 +-
18212 include/linux/random.h | 15 +
18213 include/linux/rculist.h | 16 +
18214 include/linux/reboot.h | 14 +-
18215 include/linux/regset.h | 3 +-
18216 include/linux/relay.h | 2 +-
18217 include/linux/rio.h | 2 +-
18218 include/linux/rmap.h | 4 +-
18219 include/linux/sched.h | 67 +-
18220 include/linux/sched/sysctl.h | 1 +
18221 include/linux/security.h | 2 +-
18222 include/linux/seq_file.h | 1 +
18223 include/linux/signal.h | 1 +
18224 include/linux/skbuff.h | 12 +-
18225 include/linux/slab.h | 48 +-
18226 include/linux/slab_def.h | 32 +-
18227 include/linux/slob_def.h | 4 +-
18228 include/linux/slub_def.h | 8 +-
18229 include/linux/smp.h | 2 +
18230 include/linux/sock_diag.h | 2 +-
18231 include/linux/sonet.h | 2 +-
18232 include/linux/sunrpc/addr.h | 8 +-
18233 include/linux/sunrpc/clnt.h | 2 +-
18234 include/linux/sunrpc/svc.h | 2 +-
18235 include/linux/sunrpc/svc_rdma.h | 18 +-
18236 include/linux/sunrpc/svcauth.h | 2 +-
18237 include/linux/swiotlb.h | 3 +-
18238 include/linux/syscalls.h | 18 +-
18239 include/linux/syscore_ops.h | 2 +-
18240 include/linux/sysctl.h | 6 +-
18241 include/linux/sysfs.h | 9 +-
18242 include/linux/sysrq.h | 3 +-
18243 include/linux/thread_info.h | 7 +
18244 include/linux/tty.h | 4 +-
18245 include/linux/tty_driver.h | 2 +-
18246 include/linux/tty_ldisc.h | 2 +-
18247 include/linux/types.h | 16 +
18248 include/linux/uaccess.h | 6 +-
18249 include/linux/unaligned/access_ok.h | 24 +-
18250 include/linux/usb.h | 4 +-
18251 include/linux/usb/renesas_usbhs.h | 2 +-
18252 include/linux/vermagic.h | 21 +-
18253 include/linux/vmalloc.h | 11 +-
18254 include/linux/vmstat.h | 20 +-
18255 include/linux/xattr.h | 5 +-
18256 include/linux/zlib.h | 3 +-
18257 include/media/v4l2-dev.h | 2 +-
18258 include/media/v4l2-device.h | 2 +-
18259 include/net/9p/transport.h | 2 +-
18260 include/net/bluetooth/l2cap.h | 2 +-
18261 include/net/caif/cfctrl.h | 6 +-
18262 include/net/flow.h | 2 +-
18263 include/net/genetlink.h | 2 +-
18264 include/net/gro_cells.h | 2 +-
18265 include/net/inet_connection_sock.h | 2 +-
18266 include/net/inetpeer.h | 17 +-
18267 include/net/ip.h | 2 +-
18268 include/net/ip_fib.h | 2 +-
18269 include/net/ip_vs.h | 8 +-
18270 include/net/irda/ircomm_tty.h | 1 +
18271 include/net/iucv/af_iucv.h | 2 +-
18272 include/net/llc_c_ac.h | 2 +-
18273 include/net/llc_c_ev.h | 4 +-
18274 include/net/llc_c_st.h | 2 +-
18275 include/net/llc_s_ac.h | 2 +-
18276 include/net/llc_s_st.h | 2 +-
18277 include/net/mac80211.h | 2 +-
18278 include/net/neighbour.h | 2 +-
18279 include/net/net_namespace.h | 18 +-
18280 include/net/netdma.h | 2 +-
18281 include/net/netlink.h | 2 +-
18282 include/net/netns/conntrack.h | 6 +-
18283 include/net/netns/ipv4.h | 2 +-
18284 include/net/netns/ipv6.h | 2 +-
18285 include/net/ping.h | 2 +-
18286 include/net/protocol.h | 4 +-
18287 include/net/rtnetlink.h | 2 +-
18288 include/net/sctp/sm.h | 4 +-
18289 include/net/sctp/structs.h | 2 +-
18290 include/net/sock.h | 6 +-
18291 include/net/tcp.h | 8 +-
18292 include/net/xfrm.h | 8 +-
18293 include/rdma/iw_cm.h | 2 +-
18294 include/scsi/libfc.h | 3 +-
18295 include/scsi/scsi_device.h | 6 +-
18296 include/scsi/scsi_transport_fc.h | 3 +-
18297 include/sound/compress_driver.h | 2 +-
18298 include/sound/soc.h | 4 +-
18299 include/target/target_core_base.h | 2 +-
18300 include/trace/events/irq.h | 4 +-
18301 include/uapi/linux/a.out.h | 8 +
18302 include/uapi/linux/byteorder/little_endian.h | 28 +-
18303 include/uapi/linux/elf.h | 28 +
18304 include/uapi/linux/screen_info.h | 3 +-
18305 include/uapi/linux/swab.h | 6 +-
18306 include/uapi/linux/sysctl.h | 6 +-
18307 include/uapi/linux/xattr.h | 4 +
18308 include/video/udlfb.h | 8 +-
18309 include/video/uvesafb.h | 1 +
18310 init/Kconfig | 2 +-
18311 init/Makefile | 3 +
18312 init/do_mounts.c | 14 +-
18313 init/do_mounts.h | 8 +-
18314 init/do_mounts_initrd.c | 30 +-
18315 init/do_mounts_md.c | 6 +-
18316 init/init_task.c | 4 +
18317 init/initramfs.c | 42 +-
18318 init/main.c | 84 +-
18319 ipc/ipc_sysctl.c | 10 +-
18320 ipc/mq_sysctl.c | 2 +-
18321 ipc/msg.c | 11 +-
18322 ipc/sem.c | 11 +-
18323 ipc/shm.c | 17 +-
18324 kernel/acct.c | 2 +-
18325 kernel/audit.c | 8 +-
18326 kernel/auditsc.c | 4 +-
18327 kernel/capability.c | 3 +
18328 kernel/compat.c | 38 +-
18329 kernel/debug/debug_core.c | 16 +-
18330 kernel/debug/kdb/kdb_main.c | 4 +-
18331 kernel/events/core.c | 30 +-
18332 kernel/events/internal.h | 12 +-
18333 kernel/events/uprobes.c | 2 +-
18334 kernel/exit.c | 4 +-
18335 kernel/fork.c | 170 +-
18336 kernel/futex.c | 11 +-
18337 kernel/futex_compat.c | 2 +-
18338 kernel/gcov/base.c | 7 +-
18339 kernel/hrtimer.c | 2 +-
18340 kernel/irq_work.c | 7 +-
18341 kernel/jump_label.c | 5 +
18342 kernel/kallsyms.c | 39 +-
18343 kernel/kexec.c | 3 +-
18344 kernel/kmod.c | 4 +-
18345 kernel/kprobes.c | 8 +-
18346 kernel/ksysfs.c | 2 +-
18347 kernel/lockdep.c | 7 +-
18348 kernel/module.c | 337 +-
18349 kernel/mutex-debug.c | 12 +-
18350 kernel/mutex-debug.h | 4 +-
18351 kernel/mutex.c | 10 +-
18352 kernel/notifier.c | 17 +-
18353 kernel/panic.c | 3 +-
18354 kernel/pid.c | 2 +-
18355 kernel/pid_namespace.c | 2 +-
18356 kernel/posix-cpu-timers.c | 4 +-
18357 kernel/posix-timers.c | 24 +-
18358 kernel/power/process.c | 12 +-
18359 kernel/profile.c | 14 +-
18360 kernel/ptrace.c | 8 +-
18361 kernel/rcupdate.c | 4 +-
18362 kernel/rcutiny.c | 4 +-
18363 kernel/rcutorture.c | 56 +-
18364 kernel/rcutree.c | 74 +-
18365 kernel/rcutree.h | 24 +-
18366 kernel/rcutree_plugin.h | 20 +-
18367 kernel/rcutree_trace.c | 22 +-
18368 kernel/rtmutex-tester.c | 24 +-
18369 kernel/sched/auto_group.c | 4 +-
18370 kernel/sched/core.c | 49 +-
18371 kernel/sched/fair.c | 4 +-
18372 kernel/sched/sched.h | 2 +-
18373 kernel/signal.c | 32 +-
18374 kernel/smpboot.c | 4 +-
18375 kernel/softirq.c | 14 +-
18376 kernel/srcu.c | 4 +-
18377 kernel/sys.c | 10 +-
18378 kernel/sysctl.c | 39 +-
18379 kernel/time.c | 2 +-
18380 kernel/time/alarmtimer.c | 2 +-
18381 kernel/time/timer_stats.c | 10 +-
18382 kernel/timer.c | 4 +-
18383 kernel/trace/blktrace.c | 6 +-
18384 kernel/trace/ftrace.c | 18 +-
18385 kernel/trace/ring_buffer.c | 76 +-
18386 kernel/trace/trace.c | 2 +-
18387 kernel/trace/trace.h | 2 +-
18388 kernel/trace/trace_clock.c | 4 +-
18389 kernel/trace/trace_events.c | 25 +-
18390 kernel/trace/trace_mmiotrace.c | 8 +-
18391 kernel/trace/trace_output.c | 12 +-
18392 kernel/trace/trace_stack.c | 2 +-
18393 kernel/user_namespace.c | 2 +-
18394 kernel/utsname_sysctl.c | 2 +-
18395 kernel/watchdog.c | 2 +-
18396 kernel/workqueue.c | 2 +-
18397 lib/Kconfig.debug | 8 +-
18398 lib/Makefile | 2 +-
18399 lib/bitmap.c | 8 +-
18400 lib/bug.c | 2 +
18401 lib/debugobjects.c | 2 +-
18402 lib/devres.c | 4 +-
18403 lib/div64.c | 4 +-
18404 lib/dma-debug.c | 4 +-
18405 lib/inflate.c | 2 +-
18406 lib/ioremap.c | 4 +-
18407 lib/kobject.c | 4 +-
18408 lib/list_debug.c | 126 +-
18409 lib/radix-tree.c | 2 +-
18410 lib/strncpy_from_user.c | 2 +-
18411 lib/strnlen_user.c | 2 +-
18412 lib/swiotlb.c | 2 +-
18413 lib/usercopy.c | 6 +
18414 lib/vsprintf.c | 12 +-
18415 mm/Kconfig | 6 +-
18416 mm/backing-dev.c | 4 +-
18417 mm/filemap.c | 10 +-
18418 mm/fremap.c | 5 +
18419 mm/highmem.c | 7 +-
18420 mm/hugetlb.c | 70 +-
18421 mm/internal.h | 3 +-
18422 mm/maccess.c | 4 +-
18423 mm/madvise.c | 41 +
18424 mm/memory-failure.c | 26 +-
18425 mm/memory.c | 424 ++-
18426 mm/mempolicy.c | 25 +
18427 mm/mlock.c | 15 +-
18428 mm/mmap.c | 588 ++-
18429 mm/mprotect.c | 139 +-
18430 mm/mremap.c | 44 +-
18431 mm/nommu.c | 21 +-
18432 mm/page-writeback.c | 2 +-
18433 mm/page_alloc.c | 41 +-
18434 mm/page_io.c | 2 +-
18435 mm/percpu.c | 2 +-
18436 mm/process_vm_access.c | 14 +-
18437 mm/rmap.c | 44 +-
18438 mm/shmem.c | 19 +-
18439 mm/slab.c | 108 +-
18440 mm/slab.h | 15 +-
18441 mm/slab_common.c | 60 +-
18442 mm/slob.c | 206 +-
18443 mm/slub.c | 88 +-
18444 mm/sparse-vmemmap.c | 4 +-
18445 mm/sparse.c | 2 +-
18446 mm/swap.c | 3 +
18447 mm/swapfile.c | 12 +-
18448 mm/util.c | 6 +
18449 mm/vmalloc.c | 77 +-
18450 mm/vmstat.c | 10 +-
18451 net/8021q/vlan.c | 5 +-
18452 net/9p/mod.c | 4 +-
18453 net/9p/trans_fd.c | 2 +-
18454 net/atm/atm_misc.c | 8 +-
18455 net/atm/lec.h | 2 +-
18456 net/atm/proc.c | 6 +-
18457 net/atm/resources.c | 4 +-
18458 net/ax25/sysctl_net_ax25.c | 2 +-
18459 net/batman-adv/bat_iv_ogm.c | 8 +-
18460 net/batman-adv/hard-interface.c | 2 +-
18461 net/batman-adv/soft-interface.c | 4 +-
18462 net/batman-adv/types.h | 6 +-
18463 net/batman-adv/unicast.c | 2 +-
18464 net/bluetooth/hci_sock.c | 2 +-
18465 net/bluetooth/l2cap_core.c | 6 +-
18466 net/bluetooth/l2cap_sock.c | 12 +-
18467 net/bluetooth/rfcomm/sock.c | 4 +-
18468 net/bluetooth/rfcomm/tty.c | 10 +-
18469 net/bridge/netfilter/ebtables.c | 6 +-
18470 net/caif/cfctrl.c | 11 +-
18471 net/can/af_can.c | 2 +-
18472 net/can/gw.c | 6 +-
18473 net/ceph/messenger.c | 4 +-
18474 net/compat.c | 34 +-
18475 net/core/datagram.c | 2 +-
18476 net/core/dev.c | 16 +-
18477 net/core/flow.c | 8 +-
18478 net/core/iovec.c | 4 +-
18479 net/core/neighbour.c | 2 +-
18480 net/core/net-sysfs.c | 2 +-
18481 net/core/net_namespace.c | 8 +-
18482 net/core/netpoll.c | 4 +-
18483 net/core/rtnetlink.c | 13 +-
18484 net/core/scm.c | 8 +-
18485 net/core/skbuff.c | 6 +-
18486 net/core/sock.c | 24 +-
18487 net/core/sock_diag.c | 9 +-
18488 net/core/sysctl_net_core.c | 18 +-
18489 net/decnet/af_decnet.c | 1 +
18490 net/decnet/sysctl_net_decnet.c | 4 +-
18491 net/ieee802154/6lowpan.c | 2 +-
18492 net/ipv4/af_inet.c | 8 +-
18493 net/ipv4/devinet.c | 18 +-
18494 net/ipv4/fib_frontend.c | 6 +-
18495 net/ipv4/fib_semantics.c | 2 +-
18496 net/ipv4/inet_connection_sock.c | 2 +-
18497 net/ipv4/inetpeer.c | 4 +-
18498 net/ipv4/ip_fragment.c | 15 +-
18499 net/ipv4/ip_gre.c | 6 +-
18500 net/ipv4/ip_sockglue.c | 2 +-
18501 net/ipv4/ip_vti.c | 4 +-
18502 net/ipv4/ipconfig.c | 6 +-
18503 net/ipv4/ipip.c | 4 +-
18504 net/ipv4/netfilter/arp_tables.c | 12 +-
18505 net/ipv4/netfilter/ip_tables.c | 12 +-
18506 net/ipv4/ping.c | 14 +-
18507 net/ipv4/raw.c | 14 +-
18508 net/ipv4/route.c | 20 +-
18509 net/ipv4/sysctl_net_ipv4.c | 45 +-
18510 net/ipv4/tcp_input.c | 2 +-
18511 net/ipv4/tcp_probe.c | 2 +-
18512 net/ipv4/udp.c | 10 +-
18513 net/ipv4/xfrm4_policy.c | 14 +-
18514 net/ipv6/addrconf.c | 12 +-
18515 net/ipv6/datagram.c | 2 +-
18516 net/ipv6/icmp.c | 2 +-
18517 net/ipv6/ip6_gre.c | 8 +-
18518 net/ipv6/ip6_tunnel.c | 4 +-
18519 net/ipv6/ipv6_sockglue.c | 2 +-
18520 net/ipv6/netfilter/ip6_tables.c | 12 +-
18521 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
18522 net/ipv6/output_core.c | 15 +-
18523 net/ipv6/ping.c | 28 +-
18524 net/ipv6/raw.c | 19 +-
18525 net/ipv6/reassembly.c | 13 +-
18526 net/ipv6/route.c | 2 +-
18527 net/ipv6/sit.c | 4 +-
18528 net/ipv6/sysctl_net_ipv6.c | 2 +-
18529 net/ipv6/udp.c | 6 +-
18530 net/ipv6/xfrm6_policy.c | 13 +-
18531 net/irda/ircomm/ircomm_tty.c | 18 +-
18532 net/iucv/af_iucv.c | 4 +-
18533 net/iucv/iucv.c | 2 +-
18534 net/key/af_key.c | 4 +-
18535 net/mac80211/cfg.c | 8 +-
18536 net/mac80211/ieee80211_i.h | 3 +-
18537 net/mac80211/iface.c | 16 +-
18538 net/mac80211/main.c | 2 +-
18539 net/mac80211/pm.c | 6 +-
18540 net/mac80211/rate.c | 2 +-
18541 net/mac80211/rc80211_pid_debugfs.c | 2 +-
18542 net/mac80211/util.c | 4 +-
18543 net/netfilter/ipset/ip_set_core.c | 2 +-
18544 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
18545 net/netfilter/ipvs/ip_vs_core.c | 4 +-
18546 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
18547 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
18548 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
18549 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
18550 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
18551 net/netfilter/nf_conntrack_acct.c | 2 +-
18552 net/netfilter/nf_conntrack_ecache.c | 2 +-
18553 net/netfilter/nf_conntrack_helper.c | 2 +-
18554 net/netfilter/nf_conntrack_proto.c | 2 +-
18555 net/netfilter/nf_conntrack_proto_dccp.c | 10 +-
18556 net/netfilter/nf_conntrack_standalone.c | 2 +-
18557 net/netfilter/nf_conntrack_timestamp.c | 2 +-
18558 net/netfilter/nf_log.c | 10 +-
18559 net/netfilter/nf_sockopt.c | 4 +-
18560 net/netfilter/nfnetlink_log.c | 4 +-
18561 net/netfilter/xt_statistic.c | 8 +-
18562 net/netlink/af_netlink.c | 4 +-
18563 net/netlink/genetlink.c | 16 +-
18564 net/packet/af_packet.c | 12 +-
18565 net/phonet/pep.c | 6 +-
18566 net/phonet/socket.c | 2 +-
18567 net/phonet/sysctl.c | 2 +-
18568 net/rds/cong.c | 6 +-
18569 net/rds/ib.h | 2 +-
18570 net/rds/ib_cm.c | 2 +-
18571 net/rds/ib_recv.c | 4 +-
18572 net/rds/iw.h | 2 +-
18573 net/rds/iw_cm.c | 2 +-
18574 net/rds/iw_recv.c | 4 +-
18575 net/rds/rds.h | 2 +-
18576 net/rds/tcp.c | 2 +-
18577 net/rds/tcp_send.c | 2 +-
18578 net/rxrpc/af_rxrpc.c | 2 +-
18579 net/rxrpc/ar-ack.c | 14 +-
18580 net/rxrpc/ar-call.c | 2 +-
18581 net/rxrpc/ar-connection.c | 2 +-
18582 net/rxrpc/ar-connevent.c | 2 +-
18583 net/rxrpc/ar-input.c | 4 +-
18584 net/rxrpc/ar-internal.h | 8 +-
18585 net/rxrpc/ar-local.c | 2 +-
18586 net/rxrpc/ar-output.c | 4 +-
18587 net/rxrpc/ar-peer.c | 2 +-
18588 net/rxrpc/ar-proc.c | 4 +-
18589 net/rxrpc/ar-transport.c | 2 +-
18590 net/rxrpc/rxkad.c | 4 +-
18591 net/sctp/ipv6.c | 6 +-
18592 net/sctp/protocol.c | 10 +-
18593 net/sctp/sm_sideeffect.c | 2 +-
18594 net/sctp/socket.c | 21 +-
18595 net/sctp/sysctl.c | 4 +-
18596 net/socket.c | 18 +-
18597 net/sunrpc/auth_gss/svcauth_gss.c | 4 +-
18598 net/sunrpc/clnt.c | 4 +-
18599 net/sunrpc/sched.c | 4 +-
18600 net/sunrpc/svc.c | 4 +-
18601 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
18602 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
18603 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
18604 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
18605 net/tipc/link.c | 4 +-
18606 net/tipc/msg.c | 2 +-
18607 net/tipc/subscr.c | 2 +-
18608 net/unix/sysctl_net_unix.c | 2 +-
18609 net/wireless/wext-core.c | 19 +-
18610 net/xfrm/xfrm_policy.c | 27 +-
18611 net/xfrm/xfrm_state.c | 33 +-
18612 net/xfrm/xfrm_sysctl.c | 2 +-
18613 scripts/Makefile.build | 2 +-
18614 scripts/Makefile.clean | 3 +-
18615 scripts/Makefile.host | 28 +-
18616 scripts/basic/fixdep.c | 12 +-
18617 scripts/gcc-plugin.sh | 17 +
18618 scripts/headers_install.sh | 1 +
18619 scripts/link-vmlinux.sh | 2 +-
18620 scripts/mod/file2alias.c | 14 +-
18621 scripts/mod/modpost.c | 25 +-
18622 scripts/mod/modpost.h | 6 +-
18623 scripts/mod/sumversion.c | 2 +-
18624 scripts/package/builddeb | 1 +
18625 scripts/pnmtologo.c | 6 +-
18626 scripts/sortextable.h | 6 +-
18627 security/Kconfig | 690 +++-
18628 security/apparmor/lsm.c | 2 +-
18629 security/integrity/ima/ima.h | 4 +-
18630 security/integrity/ima/ima_api.c | 2 +-
18631 security/integrity/ima/ima_fs.c | 4 +-
18632 security/integrity/ima/ima_queue.c | 2 +-
18633 security/keys/compat.c | 2 +-
18634 security/keys/internal.h | 2 +-
18635 security/keys/key.c | 18 +-
18636 security/keys/keyctl.c | 8 +-
18637 security/keys/keyring.c | 6 +-
18638 security/security.c | 12 +-
18639 security/selinux/avc.c | 6 +-
18640 security/selinux/hooks.c | 6 +-
18641 security/selinux/include/xfrm.h | 2 +-
18642 security/smack/smack_lsm.c | 2 +-
18643 security/tomoyo/tomoyo.c | 2 +-
18644 security/yama/yama_lsm.c | 22 +-
18645 sound/aoa/codecs/onyx.c | 7 +-
18646 sound/aoa/codecs/onyx.h | 1 +
18647 sound/core/oss/pcm_oss.c | 18 +-
18648 sound/core/pcm_compat.c | 2 +-
18649 sound/core/pcm_native.c | 4 +-
18650 sound/core/seq/seq_device.c | 8 +-
18651 sound/core/sound.c | 2 +-
18652 sound/drivers/mts64.c | 14 +-
18653 sound/drivers/opl4/opl4_lib.c | 2 +-
18654 sound/drivers/portman2x4.c | 3 +-
18655 sound/firewire/amdtp.c | 4 +-
18656 sound/firewire/amdtp.h | 2 +-
18657 sound/firewire/isight.c | 10 +-
18658 sound/firewire/scs1x.c | 8 +-
18659 sound/oss/sb_audio.c | 2 +-
18660 sound/oss/swarm_cs4297a.c | 6 +-
18661 sound/pci/hda/hda_codec.c | 8 +-
18662 sound/pci/ymfpci/ymfpci.h | 2 +-
18663 sound/pci/ymfpci/ymfpci_main.c | 12 +-
18664 sound/soc/fsl/fsl_ssi.c | 2 +-
18665 tools/gcc/.gitignore | 1 +
18666 tools/gcc/Makefile | 45 +
18667 tools/gcc/checker_plugin.c | 172 +
18668 tools/gcc/colorize_plugin.c | 151 +
18669 tools/gcc/constify_plugin.c | 560 ++
18670 tools/gcc/generate_size_overflow_hash.sh | 94 +
18671 tools/gcc/kallocstat_plugin.c | 170 +
18672 tools/gcc/kernexec_plugin.c | 471 ++
18673 tools/gcc/latent_entropy_plugin.c | 321 +
18674 tools/gcc/size_overflow_hash.data | 6350 ++++++++++++++++++++
18675 tools/gcc/size_overflow_plugin.c | 2113 +++++++
18676 tools/gcc/stackleak_plugin.c | 327 +
18677 tools/gcc/structleak_plugin.c | 277 +
18678 tools/lib/lk/Makefile | 2 +-
18679 tools/perf/util/include/asm/alternative-asm.h | 3 +
18680 tools/perf/util/include/linux/compiler.h | 8 +
18681 virt/kvm/kvm_main.c | 32 +-
18682 1664 files changed, 32957 insertions(+), 7636 deletions(-)
18683 commit 4c61dba17c53d0a775c77aed0c0ddb15a12daa3c
18684 Merge: c3ccfb2 777e08c
18685 Author: Brad Spengler <spender@grsecurity.net>
18686 Date: Sun Sep 8 19:49:04 2013 -0400
18687
18688 Merge branch 'pax-test' into grsec-test
18689
18690 commit 777e08c6a87ef43439f4431d8d458732ca5e17c6
18691 Author: Brad Spengler <spender@grsecurity.net>
18692 Date: Sun Sep 8 19:47:32 2013 -0400
18693
18694 Update to pax-linux-3.10.11-test26.patch:
18695 - reworked __SC_LONG to care about only int and smaller types, this eliminates size overflow false positives reported by hunger
18696 - fixed an uninitialized read in splice, reported by hunger
18697
18698 fs/splice.c | 1 +
18699 include/linux/syscalls.h | 14 +-
18700 tools/gcc/size_overflow_hash.data | 426 +++++++++++++++++++++----------------
18701 3 files changed, 247 insertions(+), 194 deletions(-)
18702
18703 commit 5c3161364270c842d901789faac731f79a9f9cd6
18704 Merge: cf9c476 85cdabb
18705 Author: Brad Spengler <spender@grsecurity.net>
18706 Date: Sun Sep 8 19:24:25 2013 -0400
18707
18708 Merge branch 'linux-3.10.y' into pax-test
18709
18710 commit c3ccfb29794a03413095422100ce90d40ef7df0f
18711 Author: Jakob Bornecrantz <jakob@vmware.com>
18712 Date: Thu Aug 29 02:32:53 2013 +0200
18713
18714 Upstream commit: 6e4dcff3adbf25acb87e74500a58e3c07bdec40f
18715
18716 drm/vmwgfx: Split GMR2_REMAP commands if they are to large
18717
18718 This fixes the piglit test texturing/max-texture-size
18719 causing the VM to die due to a too large SVGA command.
18720
18721 Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
18722 Reviewed-by: Biran Paul <brianp@vmware.com>
18723 Reviewed-by: Zack Rusin <zackr@vmware.com>
18724 Cc: stable@vger.kernel.org
18725 Signed-off-by: Dave Airlie <airlied@gmail.com>
18726
18727 drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c | 58 +++++++++++++++++++++++-----------
18728 1 files changed, 39 insertions(+), 19 deletions(-)
18729
18730 commit d260badf708d6aa16c44f56f54727532dcae826e
18731 Author: Daniel Borkmann <dborkman@redhat.com>
18732 Date: Tue Sep 3 19:29:12 2013 +0200
18733
18734 Upstream commit: 3a1c756590633c0e86df606e5c618c190926a0df
18735
18736 net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv
18737
18738 In tcp_v6_do_rcv() code, when processing pkt options, we soley work
18739 on our skb clone opt_skb that we've created earlier before entering
18740 tcp_rcv_established() on our way. However, only in condition ...
18741
18742 if (np->rxopt.bits.rxtclass)
18743 np->rcv_tclass = ipv6_get_dsfield(ipv6_hdr(skb));
18744
18745 ... we work on skb itself. As we extract every other information out
18746 of opt_skb in ipv6_pktoptions path, this seems wrong, since skb can
18747 already be released by tcp_rcv_established() earlier on. When we try
18748 to access it in ipv6_hdr(), we will dereference freed skb.
18749
18750 [ Bug added by commit 4c507d2897bd9b ("net: implement IP_RECVTOS for
18751 IP_PKTOPTIONS") ]
18752
18753 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
18754 Cc: Eric Dumazet <eric.dumazet@gmail.com>
18755 Acked-by: Eric Dumazet <edumazet@google.com>
18756 Acked-by: Jiri Benc <jbenc@redhat.com>
18757 Signed-off-by: David S. Miller <davem@davemloft.net>
18758
18759 net/ipv6/tcp_ipv6.c | 2 +-
18760 1 files changed, 1 insertions(+), 1 deletions(-)
18761
18762 commit ee3db7a4fb3619d70b8e0c1a8de07402a67e8d31
18763 Author: Dan Carpenter <dan.carpenter@oracle.com>
18764 Date: Thu Aug 29 11:47:00 2013 +0300
18765
18766 Upstream commit: 0d63c27d9e879a0b54eb405636d60ab12040ca46
18767
18768 mISDN: return -EINVAL on error in dsp_control_req()
18769
18770 If skb->len is too short then we should return an error. Otherwise we
18771 read beyond the end of skb->data for several bytes.
18772
18773 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
18774 Signed-off-by: David S. Miller <davem@davemloft.net>
18775
18776 drivers/isdn/mISDN/dsp_core.c | 4 +++-
18777 1 files changed, 3 insertions(+), 1 deletions(-)
18778
18779 commit af7c2bc789c8fe5ef7474f22dacf212be22fd0af
18780 Author: Brad Spengler <spender@grsecurity.net>
18781 Date: Thu Sep 5 19:36:23 2013 -0400
18782
18783 fix dependencies for GRKERNSEC_ROFS / GRKERNSEC_DENYUSB
18784
18785 grsecurity/Kconfig | 3 ++-
18786 1 files changed, 2 insertions(+), 1 deletions(-)
18787
18788 commit da68dbcd96c617923a0aedb177d36b2701f9c858
18789 Author: Brad Spengler <spender@grsecurity.net>
18790 Date: Thu Sep 5 19:17:02 2013 -0400
18791
18792 Allow the deny_new_usb sysctl to be toggled off by a user with
18793 CAP_SYS_ADMIN. This allows for more inventive uses of the feature
18794 that would be impossible otherwise (like toggling it while the screen is
18795 locked, etc)
18796
18797 grsecurity/grsec_sysctl.c | 4 +---
18798 1 files changed, 1 insertions(+), 3 deletions(-)
18799
18800 commit ce0e893adc830ee110f97071cc17e661fb35ae3d
18801 Author: Brad Spengler <spender@grsecurity.net>
18802 Date: Thu Sep 5 18:41:49 2013 -0400
18803
18804 Add a new GRKERNSEC_DENYUSB_FORCE option that achieves what
18805 GRKERNSEC_DENYUSB does without the need for a sysctl toggle, for
18806 users who know they want the functionality but don't want to bother
18807 with modifying init scripts
18808
18809 Also eliminate reset_security_ops() as a ROP target when
18810 SECURITY_SELINUX_DISABLE is disabled as it's the only user
18811
18812 grsecurity/Kconfig | 17 ++++++++++++++++-
18813 grsecurity/grsec_init.c | 3 +++
18814 grsecurity/grsec_sysctl.c | 2 +-
18815 security/security.c | 4 ++++
18816 4 files changed, 24 insertions(+), 2 deletions(-)
18817
18818 commit 0d5ca3a057ae48b5fdccb2f0a7a841a5cc76d3dd
18819 Merge: 7ee3899 cf9c476
18820 Author: Brad Spengler <spender@grsecurity.net>
18821 Date: Sun Sep 1 13:56:57 2013 -0400
18822
18823 Merge branch 'pax-test' into grsec-test
18824
18825 commit cf9c47690fa0f3da590de766ea8c6a543984ee3c
18826 Author: Brad Spengler <spender@grsecurity.net>
18827 Date: Sun Sep 1 13:56:16 2013 -0400
18828
18829 Update to pax-linux-3.10.10-test25.patch:
18830 - fixed a few more REFCOUNT false positives, by Mathias Krause <minipli@googlemail.com>
18831 - got inet_getid and ipv6_select_ident rid of the cmpxchg loop
18832
18833 block/blk-cgroup.c | 4 ++--
18834 drivers/video/hyperv_fb.c | 4 ++--
18835 fs/namespace.c | 4 ++--
18836 include/net/inetpeer.h | 13 +++++--------
18837 kernel/trace/trace_clock.c | 4 ++--
18838 net/ipv6/output_core.c | 15 ++++++---------
18839 net/sunrpc/auth_gss/svcauth_gss.c | 4 ++--
18840 7 files changed, 21 insertions(+), 27 deletions(-)
18841
18842 commit 7ee3899312d611b85cadd3eda173f7a3952bb8aa
18843 Merge: fd0338c 2bdeae7
18844 Author: Brad Spengler <spender@grsecurity.net>
18845 Date: Sat Aug 31 22:07:38 2013 -0400
18846
18847 Merge branch 'pax-test' into grsec-test
18848
18849 commit 2bdeae76eab5c34e4b88c7090a435b969037a3c1
18850 Author: Brad Spengler <spender@grsecurity.net>
18851 Date: Sat Aug 31 22:06:55 2013 -0400
18852
18853 Update to pax-linux-3.10.10-test24.patch:
18854 - fixed a REFCOUNT false positive, by Mathias Krause <minipli@googlemail.com>
18855 - fixed a bunch more after a quick audit of atomic_inc_return users
18856
18857 drivers/acpi/apei/ghes.c | 4 ++--
18858 drivers/ata/libata-core.c | 4 ++--
18859 drivers/ata/libata-scsi.c | 2 +-
18860 drivers/ata/libata.h | 2 +-
18861 drivers/block/drbd/drbd_nl.c | 4 ++--
18862 drivers/crypto/hifn_795x.c | 4 ++--
18863 drivers/edac/edac_device.c | 4 ++--
18864 drivers/edac/edac_pci.c | 4 ++--
18865 drivers/firewire/core-card.c | 4 ++--
18866 drivers/hv/hv_balloon.c | 18 +++++++++---------
18867 drivers/infiniband/hw/mlx4/mad.c | 2 +-
18868 drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
18869 drivers/input/misc/ims-pcu.c | 4 ++--
18870 drivers/input/serio/serio_raw.c | 4 ++--
18871 drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
18872 drivers/media/radio/radio-maxiradio.c | 2 +-
18873 drivers/media/radio/radio-shark.c | 2 +-
18874 drivers/media/radio/radio-shark2.c | 2 +-
18875 drivers/media/radio/radio-si476x.c | 2 +-
18876 drivers/media/rc/rc-main.c | 4 ++--
18877 drivers/media/v4l2-core/v4l2-device.c | 4 ++--
18878 drivers/net/usb/sierra_net.c | 4 ++--
18879 drivers/pci/hotplug/pciehp_hpc.c | 4 +---
18880 drivers/regulator/core.c | 4 ++--
18881 drivers/scsi/fcoe/fcoe_sysfs.c | 12 ++++++------
18882 drivers/staging/android/timed_output.c | 6 +++---
18883 drivers/staging/media/solo6x10/solo6x10-p2m.c | 2 +-
18884 drivers/staging/media/solo6x10/solo6x10.h | 2 +-
18885 drivers/target/sbp/sbp_target.c | 4 ++--
18886 drivers/tty/hvc/hvsi.c | 12 ++++++------
18887 drivers/tty/hvc/hvsi_lib.c | 6 +++---
18888 drivers/tty/serial/ioc4_serial.c | 6 +++---
18889 drivers/tty/serial/msm_serial.c | 4 ++--
18890 drivers/usb/misc/appledisplay.c | 4 ++--
18891 fs/afs/inode.c | 4 ++--
18892 fs/btrfs/delayed-inode.c | 6 +++---
18893 fs/btrfs/delayed-inode.h | 4 ++--
18894 fs/fscache/cookie.c | 4 ++--
18895 include/media/v4l2-device.h | 2 +-
18896 net/ceph/messenger.c | 4 ++--
18897 net/core/netpoll.c | 4 ++--
18898 net/xfrm/xfrm_state.c | 4 ++--
18899 security/selinux/avc.c | 6 +++---
18900 43 files changed, 93 insertions(+), 95 deletions(-)
18901
18902 commit fd0338c8877c47789a9cc61f3a26c83e68aa3d37
18903 Merge: 1bdf7ec 85099d2
18904 Author: Brad Spengler <spender@grsecurity.net>
18905 Date: Sat Aug 31 21:07:29 2013 -0400
18906
18907 Merge branch 'pax-test' into grsec-test
18908
18909 commit 85099d220fb014b6e4c6ffe18a55b20c61f6daed
18910 Author: Brad Spengler <spender@grsecurity.net>
18911 Date: Sat Aug 31 21:06:55 2013 -0400
18912
18913 Update to pax-linux-3.10.10-test23.patch:
18914 - added the necessary atomic_unchecked_t conversion for mips
18915 - audited and fixed arm and sparc for proper atomic_unchecked_t usage
18916
18917 arch/arm/kvm/arm.c | 8 ++++----
18918 arch/arm/mm/context.c | 10 +++++-----
18919 arch/mips/kernel/irq.c | 6 +++---
18920 arch/mips/kernel/sync-r4k.c | 24 ++++++++++++------------
18921 arch/mips/sgi-ip27/ip27-nmi.c | 6 +++---
18922 arch/sparc/kernel/smp_64.c | 12 ++++++------
18923 arch/sparc/kernel/traps_64.c | 14 +++++++-------
18924 arch/sparc/mm/init_64.c | 10 +++++-----
18925 8 files changed, 45 insertions(+), 45 deletions(-)
18926
18927 commit 1bdf7ec39027ffd7c3099b78ff20c39295448b34
18928 Merge: 995a168 38ee86c
18929 Author: Brad Spengler <spender@grsecurity.net>
18930 Date: Fri Aug 30 19:23:36 2013 -0400
18931
18932 Merge branch 'pax-test' into grsec-test
18933
18934 commit 38ee86c05df0f8db582df8776b9f23f317d42bbb
18935 Author: Brad Spengler <spender@grsecurity.net>
18936 Date: Fri Aug 30 19:23:11 2013 -0400
18937
18938 Update to pax-linux-3.10.10-test22.patch:
18939 - fixed !REFCOUNT/mips compilation, by Corey Minyard <cminyard@mvista.com>
18940 - fixed a few more format strings
18941
18942 arch/mips/include/asm/atomic.h | 20 ++++++++++++++++----
18943 drivers/md/bcache/super.c | 2 +-
18944 drivers/net/wireless/iwlwifi/dvm/main.c | 3 +--
18945 drivers/pci/hotplug/pciehp_hpc.c | 2 +-
18946 drivers/platform/x86/wmi.c | 2 +-
18947 drivers/scsi/sd.c | 2 +-
18948 drivers/vfio/vfio.c | 4 ++--
18949 fs/ntfs/super.c | 6 +++---
18950 include/linux/workqueue.h | 6 +++---
18951 net/mac80211/main.c | 2 +-
18952 sound/pci/hda/hda_codec.c | 8 ++------
18953 11 files changed, 32 insertions(+), 25 deletions(-)
18954
18955 commit 995a16841e2097c3a9dfc652e856469679c4a0ba
18956 Author: Brad Spengler <spender@grsecurity.net>
18957 Date: Fri Aug 30 17:11:11 2013 -0400
18958
18959 fix compilation with GRKERNSEC_DENYUSB as reported by slashbeast
18960
18961 grsecurity/grsec_sysctl.c | 7 ++++---
18962 1 files changed, 4 insertions(+), 3 deletions(-)
18963
18964 commit 8ba1cc35ec5216383369ddf3ef2cde5e4aaacb57
18965 Merge: be2497c 1052971
18966 Author: Brad Spengler <spender@grsecurity.net>
18967 Date: Thu Aug 29 20:44:29 2013 -0400
18968
18969 Merge branch 'pax-test' into grsec-test
18970
18971 Conflicts:
18972 include/linux/sched.h
18973
18974 commit 10529710192fe7f7d42ad7bb1dfef2143cca8ad2
18975 Merge: e902dad 8bf3379
18976 Author: Brad Spengler <spender@grsecurity.net>
18977 Date: Thu Aug 29 20:39:50 2013 -0400
18978
18979 Update to pax-linux-3.10.10-test21.patch
18980
18981 Merge branch 'linux-3.10.y' into pax-test
18982
18983 Conflicts:
18984 arch/x86/kernel/sys_x86_64.c
18985 arch/x86/mm/mmap.c
18986 include/linux/sched.h
18987
18988 commit be2497c1b629a5ad604a8b0ec265ef5d801c7de8
18989 Merge: 081c22b e902dad
18990 Author: Brad Spengler <spender@grsecurity.net>
18991 Date: Wed Aug 28 20:52:44 2013 -0400
18992
18993 Merge branch 'pax-test' into grsec-test
18994
18995 commit e902dad6b609a176f58c1b9393b3a98f14bd4b74
18996 Author: Brad Spengler <spender@grsecurity.net>
18997 Date: Wed Aug 28 20:51:21 2013 -0400
18998
18999 Update to pax-linux-3.10.9-test21.patch:
19000 - removed unnecessary type cast in do_PrefetchAbort, noticed by spender
19001 - since pax_report_refcount_overflow disables preemption inside, no need to do it explicitly in do_ov
19002 - fixed a REFCOUNT false positive in UHID
19003 - inspired by Dan Carpenter's recent fix (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=909bd5926d474e275599094acad986af79671ac9)
19004 Emese Revfy wrote a gcc plugin to find other instances of the same error, here's the fallout
19005 (come to the 10th H2HC if you want to learn about the magic behind this and other plugins):
19006 - icmpv6_filter: no memory corruption, probably just some logical error in the caller
19007 - dccp_new/dccp_packet/dccp_error: probably remote kernel stack overflow (12 byte network data overwriting a local ptr variable)
19008 - gigaset_brkchars: causes DMA on the kernel stack, some archs don't like it (more of this is to come)
19009 - isdn_ioctl/IIOCDBGVAR: kernel heap address leak (by design), restricted to CAP_SYS_RAWIO now
19010 - __dwc3_gadget_ep_enable: probably forgotten memset, seems harmless
19011 - lowpan_header_create: leaks 3 bytes of a kernel heap address over the network
19012
19013 arch/arm/mm/fault.c | 2 +-
19014 arch/mips/kernel/traps.c | 2 --
19015 drivers/hid/uhid.c | 6 +++---
19016 drivers/isdn/gigaset/usb-gigaset.c | 2 +-
19017 drivers/isdn/i4l/isdn_common.c | 2 ++
19018 drivers/net/wireless/hostap/hostap_ioctl.c | 4 ++--
19019 drivers/usb/dwc3/gadget.c | 2 --
19020 net/ieee802154/6lowpan.c | 2 +-
19021 net/ipv6/raw.c | 2 +-
19022 net/netfilter/nf_conntrack_proto_dccp.c | 6 +++---
19023 10 files changed, 14 insertions(+), 16 deletions(-)
19024
19025 commit 081c22b436d4d4ac8c9ef7c3f3b9587cfb02d804
19026 Author: Brad Spengler <spender@grsecurity.net>
19027 Date: Wed Aug 28 20:42:39 2013 -0400
19028
19029 add export of gr_handle_new_usb()
19030
19031 grsecurity/grsec_usb.c | 2 ++
19032 1 files changed, 2 insertions(+), 0 deletions(-)
19033
19034 commit 2e708ca9984ef74536d1d9b1d4e6e73d27561ed6
19035 Author: Brad Spengler <spender@grsecurity.net>
19036 Date: Wed Aug 28 19:24:47 2013 -0400
19037
19038 Add new GRKERNSEC_DENYUSB feature that I've been sitting on for a bit
19039 Kees' recent findings are motivation enough to publish it
19040
19041 drivers/usb/core/hub.c | 5 +++++
19042 grsecurity/Kconfig | 20 ++++++++++++++++++++
19043 grsecurity/Makefile | 3 ++-
19044 grsecurity/grsec_init.c | 1 +
19045 grsecurity/grsec_sysctl.c | 11 +++++++++++
19046 grsecurity/grsec_usb.c | 13 +++++++++++++
19047 include/linux/grinternal.h | 1 +
19048 include/linux/grsecurity.h | 2 ++
19049 8 files changed, 55 insertions(+), 1 deletions(-)
19050
19051 commit 8044382257ec75a03f3d784ce048ef14e94b90ca
19052 Author: Kees Cook <keescook@chromium.org>
19053 Date: Wed Aug 14 09:35:07 2013 -0700
19054
19055 HID: zeroplus: validate output report details
19056
19057 The zeroplus HID driver was not checking the size of allocated values
19058 in fields it used. A HID device could send a malicious output report
19059 that would cause the driver to write beyond the output report allocation
19060 during initialization, causing a heap overflow:
19061
19062 [ 1442.728680] usb 1-1: New USB device found, idVendor=0c12, idProduct=0005
19063 ...
19064 [ 1466.243173] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
19065
19066 CVE-2013-2889
19067
19068 Signed-off-by: Kees Cook <keescook@chromium.org>
19069 Cc: stable@kernel.org
19070
19071 drivers/hid/hid-zpff.c | 14 ++------------
19072 1 files changed, 2 insertions(+), 12 deletions(-)
19073
19074 commit 1ead832874dde8c45c3d4c8c704f2cd7ad6a328f
19075 Author: Kees Cook <keescook@chromium.org>
19076 Date: Wed Aug 14 14:36:15 2013 -0700
19077
19078 HID: provide a helper for validating hid reports
19079
19080 Many drivers need to validate the characteristics of their HID report
19081 during initialization to avoid misusing the reports. This adds a common
19082 helper to perform validation of the report, its field count, and the
19083 value count within the fields.
19084
19085 Signed-off-by: Kees Cook <keescook@chromium.org>
19086 Cc: stable@kernel.org
19087
19088 drivers/hid/hid-core.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
19089 include/linux/hid.h | 4 +++
19090 2 files changed, 54 insertions(+), 0 deletions(-)
19091
19092 commit 270ba9096ddecdc3cf6c4d76e6892184820116be
19093 Author: Kees Cook <keescook@chromium.org>
19094 Date: Wed Aug 14 09:14:34 2013 -0700
19095
19096 HID: steelseries: validate output report details
19097
19098 A HID device could send a malicious output report that would cause the
19099 steelseries HID driver to write beyond the output report allocation
19100 during initialization, causing a heap overflow:
19101
19102 [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410
19103 ...
19104 [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten
19105
19106 CVE-2013-2891
19107
19108 Signed-off-by: Kees Cook <keescook@chromium.org>
19109 Cc: stable@kernel.org
19110
19111 drivers/hid/hid-steelseries.c | 5 +++++
19112 1 files changed, 5 insertions(+), 0 deletions(-)
19113
19114 commit 366e6cf394366e4bb2598e5d3763c6ca53fb7248
19115 Author: Kees Cook <keescook@chromium.org>
19116 Date: Wed Aug 14 08:49:21 2013 -0700
19117
19118 HID: pantherlord: validate output report details
19119
19120 A HID device could send a malicious output report that would cause the
19121 pantherlord HID driver to write beyond the output report allocation
19122 during initialization, causing a heap overflow:
19123
19124 [ 310.939483] usb 1-1: New USB device found, idVendor=0e8f, idProduct=0003
19125 ...
19126 [ 315.980774] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
19127
19128 CVE-2013-2892
19129
19130 Signed-off-by: Kees Cook <keescook@chromium.org>
19131 Cc: stable@kernel.org
19132
19133 drivers/hid/hid-pl.c | 10 ++++++++--
19134 1 files changed, 8 insertions(+), 2 deletions(-)
19135
19136 commit 60115e8108e508060815bce5ef9504233c81898c
19137 Author: Kees Cook <keescook@chromium.org>
19138 Date: Tue Aug 13 16:49:01 2013 -0700
19139
19140 HID: LG: validate HID output report details
19141
19142 A HID device could send a malicious output report that would cause the
19143 lg, lg3, and lg4 HID drivers to write beyond the output report allocation
19144 during an event, causing a heap overflow:
19145
19146 [ 325.245240] usb 1-1: New USB device found, idVendor=046d, idProduct=c287
19147 ...
19148 [ 414.518960] BUG kmalloc-4096 (Not tainted): Redzone overwritten
19149
19150 Additionally, while lg2 did correctly validate the report details, it was
19151 cleaned up and shortened.
19152
19153 CVE-2013-2893
19154
19155 Signed-off-by: Kees Cook <keescook@chromium.org>
19156 Cc: stable@kernel.org
19157
19158 drivers/hid/hid-lg2ff.c | 19 +++----------------
19159 drivers/hid/hid-lg3ff.c | 29 ++++++-----------------------
19160 drivers/hid/hid-lg4ff.c | 20 +-------------------
19161 drivers/hid/hid-lgff.c | 17 ++---------------
19162 4 files changed, 12 insertions(+), 73 deletions(-)
19163
19164 commit 1814f6ffbd0d5feccce1f03e8cc17882528e8a9f
19165 Author: Kees Cook <keescook@chromium.org>
19166 Date: Thu Aug 15 23:21:23 2013 -0700
19167
19168 HID: lenovo-tpkbd: validate output report details
19169
19170 A HID device could send a malicious output report that would cause the
19171 lenovo-tpkbd HID driver to write just beyond the output report allocation
19172 during initialization, causing a heap overflow:
19173
19174 [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009
19175 ...
19176 [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
19177
19178 CVE-2013-2894
19179
19180 Signed-off-by: Kees Cook <keescook@chromium.org>
19181 Cc: stable@kernel.org
19182
19183 drivers/hid/hid-lenovo-tpkbd.c | 5 +++++
19184 1 files changed, 5 insertions(+), 0 deletions(-)
19185
19186 commit 38627769bb2b9a550e251b2caf1babda7566fb4a
19187 Author: Kees Cook <keescook@chromium.org>
19188 Date: Thu Aug 15 23:45:03 2013 -0700
19189
19190 HID: logitech-dj: validate output report details
19191
19192 A HID device could send a malicious output report that would cause the
19193 logitech-dj HID driver to leak kernel memory contents to the device, or
19194 trigger a NULL dereference during initialization:
19195
19196 [ 304.424553] usb 1-1: New USB device found, idVendor=046d, idProduct=c52b
19197 ...
19198 [ 304.780467] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
19199 [ 304.781409] IP: [<ffffffff815d50aa>] logi_dj_recv_send_report.isra.11+0x1a/0x90
19200
19201 CVE-2013-2895
19202
19203 Signed-off-by: Kees Cook <keescook@chromium.org>
19204 Cc: stable@kernel.org
19205
19206 drivers/hid/hid-logitech-dj.c | 12 ++++++++++--
19207 1 files changed, 10 insertions(+), 2 deletions(-)
19208
19209 commit db334388c9d3f95aeb6aacdcec72169b6edd6f07
19210 Author: Kees Cook <keescook@chromium.org>
19211 Date: Fri Aug 16 00:18:15 2013 -0700
19212
19213 HID: ntrig: validate feature report details
19214
19215 A HID device could send a malicious feature report that would cause the
19216 ntrig HID driver to trigger a NULL dereference during initialization:
19217
19218 [57383.031190] usb 3-1: New USB device found, idVendor=1b96, idProduct=0001
19219 ...
19220 [57383.315193] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
19221 [57383.315308] IP: [<ffffffffa08102de>] ntrig_probe+0x25e/0x420 [hid_ntrig]
19222
19223 CVE-2013-2896
19224
19225 Signed-off-by: Kees Cook <keescook@chromium.org>
19226 Cc: stable@kernel.org
19227
19228 drivers/hid/hid-ntrig.c | 3 ++-
19229 1 files changed, 2 insertions(+), 1 deletions(-)
19230
19231 commit 86adcfe96ceefd7d64593a493abe07c155bb8f88
19232 Author: Kees Cook <keescook@chromium.org>
19233 Date: Fri Aug 16 00:11:32 2013 -0700
19234
19235 HID: multitouch: validate feature report details
19236
19237 When working on report indexes, always validate that they are in bounds.
19238 Without this, a HID device could report a malicious feature report that
19239 could trick the driver into a heap overflow:
19240
19241 [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500
19242 ...
19243 [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
19244
19245 CVE-2013-2897
19246
19247 Signed-off-by: Kees Cook <keescook@chromium.org>
19248 Cc: stable@kernel.org
19249
19250 drivers/hid/hid-multitouch.c | 25 ++++++++++++++++++++-----
19251 1 files changed, 20 insertions(+), 5 deletions(-)
19252
19253 commit 813f51e0881e4ea6d221da828b1cced02ad9694d
19254 Author: Kees Cook <keescook@chromium.org>
19255 Date: Fri Aug 16 08:12:45 2013 -0700
19256
19257 HID: sensor-hub: validate feature report details
19258
19259 A HID device could send a malicious feature report that would cause the
19260 sensor-hub HID driver to read past the end of heap allocation, leaking
19261 kernel memory contents to the caller.
19262
19263 CVE-2013-2898
19264
19265 Signed-off-by: Kees Cook <keescook@chromium.org>
19266 Cc: stable@kernel.org
19267
19268 drivers/hid/hid-sensor-hub.c | 3 ++-
19269 1 files changed, 2 insertions(+), 1 deletions(-)
19270
19271 commit 6ed7d602e322c67adcfa3ebe79ca2c4a3376330c
19272 Author: Kees Cook <keescook@chromium.org>
19273 Date: Fri Aug 16 08:05:10 2013 -0700
19274
19275 HID: picolcd_core: validate output report details
19276
19277 A HID device could send a malicious output report that would cause the
19278 picolcd HID driver to trigger a NULL dereference during attr file writing.
19279
19280 CVE-2013-2899
19281
19282 Signed-off-by: Kees Cook <keescook@chromium.org>
19283 Cc: stable@kernel.org
19284
19285 drivers/hid/hid-picolcd_core.c | 2 +-
19286 1 files changed, 1 insertions(+), 1 deletions(-)
19287
19288 commit 95e3cfb5a995dabe45b98cafb77e59d074de151f
19289 Author: Kees Cook <keescook@chromium.org>
19290 Date: Fri Aug 16 08:09:54 2013 -0700
19291
19292 HID: check for NULL field when setting values
19293
19294 Defensively check that the field to be worked on is not NULL.
19295
19296 Signed-off-by: Kees Cook <keescook@chromium.org>
19297 Cc: stable@kernel.org
19298
19299 drivers/hid/hid-core.c | 7 ++++++-
19300 1 files changed, 6 insertions(+), 1 deletions(-)
19301
19302 commit 96a55ce1b2f3af376c400a02059174e79ce4399c
19303 Author: Brad Spengler <spender@grsecurity.net>
19304 Date: Wed Aug 28 18:09:18 2013 -0400
19305
19306 http://marc.info/?l=linux-input&m=137772180514608&q=raw
19307
19308 From: Kees Cook <keescook@chromium.org>
19309
19310 The "Report ID" field of a HID report is used to build indexes of
19311 reports. The kernel's index of these is limited to 256 entries, so any
19312 malicious device that sets a Report ID greater than 255 will trigger
19313 memory corruption on the host:
19314
19315 [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878
19316 [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b
19317
19318 CVE-2013-2888
19319
19320 Signed-off-by: Kees Cook <keescook@chromium.org>
19321 Cc: stable@kernel.org
19322 ---
19323 drivers/hid/hid-core.c | 10 +++++++---
19324 include/linux/hid.h | 4 +++-
19325 2 files changed, 10 insertions(+), 4 deletions(-)
19326
19327 drivers/hid/hid-core.c | 10 +++++++---
19328 include/linux/hid.h | 4 +++-
19329 2 files changed, 10 insertions(+), 4 deletions(-)
19330
19331 commit eb1106eef5f17bfda833ca3cf89e315919173257
19332 Author: Dan Carpenter <dan.carpenter@oracle.com>
19333 Date: Fri Aug 9 12:52:31 2013 +0300
19334
19335 Upstream commit: 909bd5926d474e275599094acad986af79671ac9
19336
19337 Hostap: copying wrong data prism2_ioctl_giwaplist()
19338
19339 We want the data stored in "addr" and "qual", but the extra ampersands
19340 mean we are copying stack data instead.
19341
19342 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
19343 Cc: stable@vger.kernel.org
19344 Signed-off-by: John W. Linville <linville@tuxdriver.com>
19345
19346 drivers/net/wireless/hostap/hostap_ioctl.c | 4 ++--
19347 1 files changed, 2 insertions(+), 2 deletions(-)
19348
19349 commit b12fdddbc01b0d855dd56fa6fea6b4100aae7af4
19350 Author: Brad Spengler <spender@grsecurity.net>
19351 Date: Wed Aug 28 17:01:21 2013 -0400
19352
19353 fix typo in ipv6 backport
19354
19355 net/ipv6/addrconf.c | 2 +-
19356 1 files changed, 1 insertions(+), 1 deletions(-)
19357
19358 commit b42367d45ce67de82c38c5c7cb6f4cf521cca2f4
19359 Author: Andy Lutomirski <luto@amacapital.net>
19360 Date: Thu Aug 22 11:39:15 2013 -0700
19361
19362 Upstream commit: d661684cf6820331feae71146c35da83d794467e
19363
19364 net: Check the correct namespace when spoofing pid over SCM_RIGHTS
19365
19366 This is a security bug.
19367
19368 The follow-up will fix nsproxy to discourage this type of issue from
19369 happening again.
19370
19371 Cc: stable@vger.kernel.org
19372 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
19373 Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
19374 Signed-off-by: David S. Miller <davem@davemloft.net>
19375
19376 net/core/scm.c | 2 +-
19377 1 files changed, 1 insertions(+), 1 deletions(-)
19378
19379 commit 10b2e7e1f75d1da2e0bbe0bff04233ea2ec1bed9
19380 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
19381 Date: Fri Aug 16 13:02:27 2013 +0200
19382
19383 Upstream commit: 4b08a8f1bd8cb4541c93ec170027b4d0782dab52
19384
19385 ipv6: remove max_addresses check from ipv6_create_tempaddr
19386
19387 Because of the max_addresses check attackers were able to disable privacy
19388 extensions on an interface by creating enough autoconfigured addresses:
19389
19390 <http://seclists.org/oss-sec/2012/q4/292>
19391
19392 But the check is not actually needed: max_addresses protects the
19393 kernel to install too many ipv6 addresses on an interface and guards
19394 addrconf_prefix_rcv to install further addresses as soon as this limit
19395 is reached. We only generate temporary addresses in direct response of
19396 a new address showing up. As soon as we filled up the maximum number of
19397 addresses of an interface, we stop installing more addresses and thus
19398 also stop generating more temp addresses.
19399
19400 Even if the attacker tries to generate a lot of temporary addresses
19401 by announcing a prefix and removing it again (lifetime == 0) we won't
19402 install more temp addresses, because the temporary addresses do count
19403 to the maximum number of addresses, thus we would stop installing new
19404 autoconfigured addresses when the limit is reached.
19405
19406 This patch fixes CVE-2013-0343 (but other layer-2 attacks are still
19407 possible).
19408
19409 Thanks to Ding Tianhong to bring this topic up again.
19410
19411 Cc: Ding Tianhong <dingtianhong@huawei.com>
19412 Cc: George Kargiotakis <kargig@void.gr>
19413 Cc: P J P <ppandit@redhat.com>
19414 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
19415 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
19416 Acked-by: Ding Tianhong <dingtianhong@huawei.com>
19417 Signed-off-by: David S. Miller <davem@davemloft.net>
19418
19419 Conflicts:
19420
19421 net/ipv6/addrconf.c
19422
19423 net/ipv6/addrconf.c | 10 ++++------
19424 1 files changed, 4 insertions(+), 6 deletions(-)
19425
19426 commit 8333e0981469a226a47d0142ff31090a48db95a4
19427 Author: David Vrabel <david.vrabel@citrix.com>
19428 Date: Thu Aug 15 13:21:06 2013 +0100
19429
19430 Upstream commit: 84ca7a8e45dafb49cd5ca90a343ba033e2885c17
19431
19432 xen/events: initialize local per-cpu mask for all possible events
19433
19434 The sizeof() argument in init_evtchn_cpu_bindings() is incorrect
19435 resulting in only the first 64 (or 32 in 32-bit guests) ports having
19436 their bindings being initialized to VCPU 0.
19437
19438 In most cases this does not cause a problem as request_irq() will set
19439 the irq affinity which will set the correct local per-cpu mask.
19440 However, if the request_irq() is called on a VCPU other than 0, there
19441 is a window between the unmasking of the event and the affinity being
19442 set were an event may be lost because it is not locally unmasked on
19443 any VCPU. If request_irq() is called on VCPU 0 then local irqs are
19444 disabled during the window and the race does not occur.
19445
19446 Fix this by initializing all NR_EVENT_CHANNEL bits in the local
19447 per-cpu masks.
19448
19449 Signed-off-by: David Vrabel <david.vrabel@citrix.com>
19450 Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
19451 CC: stable@vger.kernel.org
19452
19453 drivers/xen/events.c | 2 +-
19454 1 files changed, 1 insertions(+), 1 deletions(-)
19455
19456 commit 2a9a83768433937a2b7a97001ba1627156c0efed
19457 Author: Roland Dreier <roland@purestorage.com>
19458 Date: Mon Aug 5 17:55:01 2013 -0700
19459
19460 Upstream commit: 35dc248383bbab0a7203fca4d722875bc81ef091
19461
19462 [SCSI] sg: Fix user memory corruption when SG_IO is interrupted by a signal
19463
19464 There is a nasty bug in the SCSI SG_IO ioctl that in some circumstances
19465 leads to one process writing data into the address space of some other
19466 random unrelated process if the ioctl is interrupted by a signal.
19467 What happens is the following:
19468
19469 - A process issues an SG_IO ioctl with direction DXFER_FROM_DEV (ie the
19470 underlying SCSI command will transfer data from the SCSI device to
19471 the buffer provided in the ioctl)
19472
19473 - Before the command finishes, a signal is sent to the process waiting
19474 in the ioctl. This will end up waking up the sg_ioctl() code:
19475
19476 result = wait_event_interruptible(sfp->read_wait,
19477 (srp_done(sfp, srp) || sdp->detached));
19478
19479 but neither srp_done() nor sdp->detached is true, so we end up just
19480 setting srp->orphan and returning to userspace:
19481
19482 srp->orphan = 1;
19483 write_unlock_irq(&sfp->rq_list_lock);
19484 return result; /* -ERESTARTSYS because signal hit process */
19485
19486 At this point the original process is done with the ioctl and
19487 blithely goes ahead handling the signal, reissuing the ioctl, etc.
19488
19489 - Eventually, the SCSI command issued by the first ioctl finishes and
19490 ends up in sg_rq_end_io(). At the end of that function, we run through:
19491
19492 write_lock_irqsave(&sfp->rq_list_lock, iflags);
19493 if (unlikely(srp->orphan)) {
19494 if (sfp->keep_orphan)
19495 srp->sg_io_owned = 0;
19496 else
19497 done = 0;
19498 }
19499 srp->done = done;
19500 write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
19501
19502 if (likely(done)) {
19503 /* Now wake up any sg_read() that is waiting for this
19504 * packet.
19505 */
19506 wake_up_interruptible(&sfp->read_wait);
19507 kill_fasync(&sfp->async_qp, SIGPOLL, POLL_IN);
19508 kref_put(&sfp->f_ref, sg_remove_sfp);
19509 } else {
19510 INIT_WORK(&srp->ew.work, sg_rq_end_io_usercontext);
19511 schedule_work(&srp->ew.work);
19512 }
19513
19514 Since srp->orphan *is* set, we set done to 0 (assuming the
19515 userspace app has not set keep_orphan via an SG_SET_KEEP_ORPHAN
19516 ioctl), and therefore we end up scheduling sg_rq_end_io_usercontext()
19517 to run in a workqueue.
19518
19519 - In workqueue context we go through sg_rq_end_io_usercontext() ->
19520 sg_finish_rem_req() -> blk_rq_unmap_user() -> ... ->
19521 bio_uncopy_user() -> __bio_copy_iov() -> copy_to_user().
19522
19523 The key point here is that we are doing copy_to_user() on a
19524 workqueue -- that is, we're on a kernel thread with current->mm
19525 equal to whatever random previous user process was scheduled before
19526 this kernel thread. So we end up copying whatever data the SCSI
19527 command returned to the virtual address of the buffer passed into
19528 the original ioctl, but it's quite likely we do this copying into a
19529 different address space!
19530
19531 As suggested by James Bottomley <James.Bottomley@hansenpartnership.com>,
19532 add a check for current->mm (which is NULL if we're on a kernel thread
19533 without a real userspace address space) in bio_uncopy_user(), and skip
19534 the copy if we're on a kernel thread.
19535
19536 There's no reason that I can think of for any caller of bio_uncopy_user()
19537 to want to do copying on a kernel thread with a random active userspace
19538 address space.
19539
19540 Huge thanks to Costa Sapuntzakis <costa@purestorage.com> for the
19541 original pointer to this bug in the sg code.
19542
19543 Signed-off-by: Roland Dreier <roland@purestorage.com>
19544 Tested-by: David Milburn <dmilburn@redhat.com>
19545 Cc: Jens Axboe <axboe@kernel.dk>
19546 Cc: <stable@vger.kernel.org>
19547 Signed-off-by: James Bottomley <JBottomley@Parallels.com>
19548
19549 fs/bio.c | 20 +++++++++++++++-----
19550 1 files changed, 15 insertions(+), 5 deletions(-)
19551
19552 commit e6fe57dee152671afd618d6bc8cbf23155be6c34
19553 Merge: cdc8f7d f2095a4
19554 Author: Brad Spengler <spender@grsecurity.net>
19555 Date: Tue Aug 27 18:13:35 2013 -0400
19556
19557 Merge branch 'pax-test' into grsec-test
19558
19559 Conflicts:
19560 arch/arm/mm/fault.c
19561 security/Kconfig
19562
19563 commit f2095a4787f7d332e5919f0bd00f8de6021ad612
19564 Author: Brad Spengler <spender@grsecurity.net>
19565 Date: Tue Aug 27 18:08:23 2013 -0400
19566
19567 Update to pax-linux-3.10.9-test20.patch:
19568 - removed unnecessary mark_sym_for_renaming calls from the gcc plugins, reported by Emese Revfy
19569 - made some KERNEXEC/UDEREF induced fault handling on arm more robust (IFAR isn't always set on v7), by Corey Minyard <cminyard@mvista.com>
19570 - converted some mips atomic accessor macros to functions in preparation of REFCOUNT support, by Corey Minyard <cminyard@mvista.com>
19571 - __copy_from_user_inatomic on amd64 will now return unsigned long like other userland accessors do
19572 - added REFCOUNT support for mips, by Corey Minyard <cminyard@mvista.com>
19573 - fixed arm compilation with UDEREF disabled, reported by fabled (http://forums.grsecurity.net/viewtopic.php?f=1&t=3720)
19574 - fixed early boot panic due to a INVCPID/PCID mismatch, reported by Patrick McLean (https://bugs.gentoo.org/show_bug.cgi?id=482010)
19575
19576 arch/arm/mm/fault.c | 11 +-
19577 arch/mips/include/asm/atomic.h | 722 +++++++++++++++++++++++++++++++++++--
19578 arch/mips/kernel/traps.c | 14 +-
19579 arch/x86/include/asm/tlbflush.h | 4 +
19580 arch/x86/include/asm/uaccess_64.h | 2 +-
19581 fs/ntfs/file.c | 2 +-
19582 kernel/events/internal.h | 4 +-
19583 kernel/events/uprobes.c | 2 +-
19584 kernel/futex.c | 2 +-
19585 mm/filemap.c | 8 +-
19586 security/Kconfig | 2 +-
19587 tools/gcc/kernexec_plugin.c | 18 +-
19588 tools/gcc/latent_entropy_plugin.c | 26 +-
19589 tools/gcc/size_overflow_plugin.c | 3 +-
19590 14 files changed, 750 insertions(+), 70 deletions(-)
19591
19592 commit cdc8f7d7a0d09f5ccec1717d1378ac284b5bb4e9
19593 Merge: 5a9ae57 745975e
19594 Author: Brad Spengler <spender@grsecurity.net>
19595 Date: Mon Aug 26 20:27:33 2013 -0400
19596
19597 Merge branch 'pax-test' into grsec-test
19598
19599 commit 745975e3b3b74b64e00e85778f9a22714d1274f2
19600 Author: Brad Spengler <spender@grsecurity.net>
19601 Date: Mon Aug 26 20:26:33 2013 -0400
19602
19603 Fix compilation when UDEREF is enabled and KERNEXEC is disabled,
19604 as reported by fabled on the forums:
19605 http://forums.grsecurity.net/viewtopic.php?f=1&t=3720
19606
19607 arch/arm/include/asm/pgtable.h | 4 +---
19608 1 files changed, 1 insertions(+), 3 deletions(-)
19609
19610 commit 5a9ae577def10802fc8ad6957f05ce2a180dfa36
19611 Merge: 486ec00 f68df21
19612 Author: Brad Spengler <spender@grsecurity.net>
19613 Date: Tue Aug 20 20:15:20 2013 -0400
19614
19615 Merge branch 'pax-test' into grsec-test
19616
19617 commit f68df215c8bf7fada2710c14b3f3a0ea53fd9e43
19618 Author: Brad Spengler <spender@grsecurity.net>
19619 Date: Tue Aug 20 20:14:50 2013 -0400
19620
19621 Update to pax-linux-3.10.9-test18.patch:
19622 - fixed missing export of cpu_pgd, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=481786)
19623 - fixed UDEREF regression on !PCID processors, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=481790)
19624 - forward port to 3.10.9
19625
19626 arch/x86/kernel/entry_64.S | 18 +++++++++---------
19627 arch/x86/kernel/i386_ksyms_32.c | 4 ++++
19628 arch/x86/kernel/x8664_ksyms_64.c | 4 ++++
19629 3 files changed, 17 insertions(+), 9 deletions(-)
19630
19631 commit 486ec00945b5dd8826f625e4af8995c5c8cb2a6f
19632 Merge: f47a293 d8fed0e
19633 Author: Brad Spengler <spender@grsecurity.net>
19634 Date: Tue Aug 20 20:12:47 2013 -0400
19635
19636 Merge branch 'pax-test' into grsec-test
19637
19638 commit d8fed0eba89a7607afe296c0caf17bc72311d6e9
19639 Merge: f6ace8e 0a4b6d4
19640 Author: Brad Spengler <spender@grsecurity.net>
19641 Date: Tue Aug 20 20:12:33 2013 -0400
19642
19643 Merge branch 'linux-3.10.y' into pax-test
19644
19645 commit f47a293a1440da2a3e2c239d43d636e37ca74f10
19646 Merge: f1e8ec7 f6ace8e
19647 Author: Brad Spengler <spender@grsecurity.net>
19648 Date: Tue Aug 20 18:20:05 2013 -0400
19649
19650 Merge branch 'pax-test' into grsec-test
19651
19652 Conflicts:
19653 arch/arm/kernel/perf_event.c
19654 include/linux/sched.h
19655
19656 commit f6ace8e1804aadc296bec38b4c4a2d711b9e7c72
19657 Merge: b4fa847 6f54059
19658 Author: Brad Spengler <spender@grsecurity.net>
19659 Date: Tue Aug 20 18:18:02 2013 -0400
19660
19661 Update to pax-linux-3.10.8-test18.patch
19662
19663 Merge branch 'linux-3.10.y' into pax-test
19664
19665 Conflicts:
19666 arch/x86/kernel/sys_x86_64.c
19667 arch/x86/mm/mmap.c
19668 include/linux/sched.h
19669
19670 commit f1e8ec79b6019ca0aa6a6cdde5668c1bbd9f51ca
19671 Merge: 6f88011 b4fa847
19672 Author: Brad Spengler <spender@grsecurity.net>
19673 Date: Tue Aug 20 18:05:12 2013 -0400
19674
19675 Merge branch 'pax-test' into grsec-test
19676
19677 commit b4fa84790ec760430818ab9b74a8b5acc6b40e63
19678 Author: Brad Spengler <spender@grsecurity.net>
19679 Date: Tue Aug 20 18:04:14 2013 -0400
19680
19681 Update to pax-linux-3.10.7-test18.patch:
19682 - reverted constification of zcache, problem reported by Marcin Mirosław (https://bugs.gentoo.org/show_bug.cgi?id=481752)
19683 - fixed a UDEREF resume regression due to the constification of clone_pgd_mask
19684 - fixed suspend/resume regression due to the recent constification of mmu_cr4_features, reported by Mathias Krause
19685
19686 arch/arm/kernel/process.c | 2 +-
19687 arch/x86/include/asm/processor.h | 25 ++-----------------------
19688 arch/x86/kernel/cpu/common.c | 4 ++++
19689 arch/x86/kernel/setup.c | 36 ++++++++++++++++++++++++++++++++++++
19690 drivers/staging/zcache/tmem.c | 4 ++--
19691 drivers/staging/zcache/tmem.h | 6 ++----
19692 6 files changed, 47 insertions(+), 30 deletions(-)
19693
19694 commit 6f88011297cb3b1b79ff4d96f8a9b8e2ed5a025f
19695 Author: Brad Spengler <spender@grsecurity.net>
19696 Date: Mon Aug 19 22:10:04 2013 -0400
19697
19698 fix bad git merge (call to __cpu_disable_lazy_restore was duplicated)
19699 as reported by pipacs
19700
19701 arch/x86/kernel/smpboot.c | 3 ---
19702 1 files changed, 0 insertions(+), 3 deletions(-)
19703
19704 commit 07f718e061bc4696b64a98ac1cf56e9ca1275dc3
19705 Merge: 6eba999 5de93c8
19706 Author: Brad Spengler <spender@grsecurity.net>
19707 Date: Sun Aug 18 22:03:19 2013 -0400
19708
19709 Merge branch 'pax-test' into grsec-test
19710
19711 commit 5de93c8e2a86865f7a2d62dbcf8702dbf12494db
19712 Author: Brad Spengler <spender@grsecurity.net>
19713 Date: Sun Aug 18 22:02:47 2013 -0400
19714
19715 Update to pax-linux-3.10.7-test15.patch:
19716 - fixed more PCID fallout, reported by spender, Negres and GBit (http://forums.grsecurity.net/viewtopic.php?f=3&t=3705)
19717 - fixed some new REFCOUNT false positives, caught by inspection
19718
19719 arch/x86/kernel/cpu/common.c | 5 +++--
19720 arch/x86/kernel/entry_64.S | 11 +++++++----
19721 fs/ceph/super.c | 4 ++--
19722 mm/backing-dev.c | 4 ++--
19723 4 files changed, 14 insertions(+), 10 deletions(-)
19724
19725 commit 94c119587c76723c1072237b98fff9886ccb7689
19726 Author: Brad Spengler <spender@grsecurity.net>
19727 Date: Sun Aug 18 20:49:39 2013 -0400
19728
19729 fix pipacs' DEMORGAN typo
19730
19731 arch/x86/include/asm/tlbflush.h | 2 +-
19732 1 files changed, 1 insertions(+), 1 deletions(-)
19733
19734 commit 6eba999a3263c2ed3f7e87222a5c9c55315c7f00
19735 Merge: df347f6 64a293e
19736 Author: Brad Spengler <spender@grsecurity.net>
19737 Date: Sun Aug 18 18:13:04 2013 -0400
19738
19739 Merge branch 'pax-test' into grsec-test
19740
19741 commit 64a293ebd17bf4a7ce6bd921ed879673e79fe128
19742 Author: Brad Spengler <spender@grsecurity.net>
19743 Date: Sun Aug 18 18:12:37 2013 -0400
19744
19745 Update to pax-linux-3.10.7-test14.patch:
19746 - fixed compile error introduced by the previous PCID change
19747 - fixed timer_create kernel stack leak, reported by Roman Žilka (https://bugs.gentoo.org/show_bug.cgi?id=470214)
19748
19749 arch/x86/include/asm/tlbflush.h | 2 +-
19750 kernel/posix-timers.c | 2 +-
19751 2 files changed, 2 insertions(+), 2 deletions(-)
19752
19753 commit df347f6db6cc0aaa40406d8a8b7284b7c15bc685
19754 Merge: d8efbc5 e11b314
19755 Author: Brad Spengler <spender@grsecurity.net>
19756 Date: Sun Aug 18 08:15:00 2013 -0400
19757
19758 Merge branch 'pax-test' into grsec-test
19759
19760 commit e11b314734c5b7317f5468be75305ad812e78c2b
19761 Author: Brad Spengler <spender@grsecurity.net>
19762 Date: Sun Aug 18 08:14:26 2013 -0400
19763
19764 Update to pax-linux-3.10.7-test13.patch:
19765 - always enable the use of PCID and INVPCID when available in the CPU
19766 - kvm guest kernels can use these features even if the host kernel lacks UDEREF
19767
19768 arch/x86/include/asm/tlbflush.h | 69 ++++++++++++++++++++++----------------
19769 arch/x86/kernel/cpu/common.c | 48 +++++++++++++++++----------
19770 2 files changed, 70 insertions(+), 47 deletions(-)
19771
19772 commit d8efbc54f5c8aba589d4d12eed9257a754a67de8
19773 Author: Brad Spengler <spender@grsecurity.net>
19774 Date: Sat Aug 17 12:00:20 2013 -0400
19775
19776 make kallsyms_lookup_size_offset available to approved source files
19777
19778 include/linux/kallsyms.h | 3 +++
19779 1 files changed, 3 insertions(+), 0 deletions(-)
19780
19781 commit 6c8feffa95ce2db280160015027b52bb41a344c8
19782 Merge: dbf6930 0bb1c2b
19783 Author: Brad Spengler <spender@grsecurity.net>
19784 Date: Sat Aug 17 11:57:50 2013 -0400
19785
19786 Merge branch 'pax-test' into grsec-test
19787
19788 commit 0bb1c2b2d9ba9a15fb504d47270499e8e2764106
19789 Author: Brad Spengler <spender@grsecurity.net>
19790 Date: Sat Aug 17 11:56:43 2013 -0400
19791
19792 Update to pax-linux-3.10.7-test12.patch:
19793 - fixed superfluous initializer in __native_flush_tlb_single, reported by Mathias Krause
19794 - fixed some arm compile problems
19795
19796 arch/x86/include/asm/tlbflush.h | 2 +-
19797 drivers/clocksource/bcm_kona_timer.c | 2 +-
19798 kernel/signal.c | 4 ++++
19799 3 files changed, 6 insertions(+), 2 deletions(-)
19800
19801 commit dbf69305ad4f8a037aae95af90f9201f556dcb48
19802 Author: Brad Spengler <spender@grsecurity.net>
19803 Date: Sat Aug 17 11:18:09 2013 -0400
19804
19805 allow use of kallsyms_lookup_name to approved source files
19806
19807 include/linux/kallsyms.h | 1 +
19808 1 files changed, 1 insertions(+), 0 deletions(-)
19809
19810 commit a566c5f4dec33f410678c257e95ab6726ce8e4f9
19811 Merge: 68bd16f f562e3e
19812 Author: Brad Spengler <spender@grsecurity.net>
19813 Date: Sat Aug 17 10:35:02 2013 -0400
19814
19815 Merge branch 'pax-test' into grsec-test
19816
19817 commit f562e3ef7737ea8d80431a722479b36a12504ace
19818 Author: Brad Spengler <spender@grsecurity.net>
19819 Date: Sat Aug 17 10:34:51 2013 -0400
19820
19821 add uderef_64.c
19822
19823 arch/x86/mm/uderef_64.c | 37 +++++++++++++++++++++++++++++++++++++
19824 1 files changed, 37 insertions(+), 0 deletions(-)
19825
19826 commit 68bd16fce3cf51c4c407e2ac6bc3db0629783622
19827 Author: Asbjoern Sloth Toennesen <ast@fiberby.net>
19828 Date: Mon Aug 12 16:30:09 2013 +0000
19829
19830 Upstream commit: 3e805ad288c524bb65aad3f1e004402223d3d504
19831
19832 rtnetlink: rtnl_bridge_getlink: Call nlmsg_find_attr() with ifinfomsg header
19833
19834 Fix the iproute2 command `bridge vlan show`, after switching from
19835 rtgenmsg to ifinfomsg.
19836
19837 Let's start with a little history:
19838
19839 Feb 20: Vlad Yasevich got his VLAN-aware bridge patchset included in
19840 the 3.9 merge window.
19841 In the kernel commit 6cbdceeb, he added attribute support to
19842 bridge GETLINK requests sent with rtgenmsg.
19843
19844 Mar 6th: Vlad got this iproute2 reference implementation of the bridge
19845 vlan netlink interface accepted (iproute2 9eff0e5c)
19846
19847 Apr 25th: iproute2 switched from using rtgenmsg to ifinfomsg (63338dca)
19848 http://patchwork.ozlabs.org/patch/239602/
19849 http://marc.info/?t=136680900700007
19850
19851 Apr 28th: Linus released 3.9
19852
19853 Apr 30th: Stephen released iproute2 3.9.0
19854
19855 The `bridge vlan show` command haven't been working since the switch to
19856 ifinfomsg, or in a released version of iproute2. Since the kernel side
19857 only supports rtgenmsg, which iproute2 switched away from just prior to
19858 the iproute2 3.9.0 release.
19859
19860 I haven't been able to find any documentation, about neither rtgenmsg
19861 nor ifinfomsg, and in which situation to use which, but kernel commit
19862 88c5b5ce seams to suggest that ifinfomsg should be used.
19863
19864 Fixing this in kernel will break compatibility, but I doubt that anybody
19865 have been using it due to this bug in the user space reference
19866 implementation, at least not without noticing this bug. That said the
19867 functionality is still fully functional in 3.9, when reversing iproute2
19868 commit 63338dca.
19869
19870 This could also be fixed in iproute2, but thats an ugly patch that would
19871 reintroduce rtgenmsg in iproute2, and from searching in netdev it seams
19872 like rtgenmsg usage is discouraged. I'm assuming that the only reason
19873 that Vlad implemented the kernel side to use rtgenmsg, was because
19874 iproute2 was using it at the time.
19875
19876 Signed-off-by: Asbjoern Sloth Toennesen <ast@fiberby.net>
19877 Reviewed-by: Vlad Yasevich <vyasevich@gmail.com>
19878 Signed-off-by: David S. Miller <davem@davemloft.net>
19879
19880 net/core/rtnetlink.c | 2 +-
19881 1 files changed, 1 insertions(+), 1 deletions(-)
19882
19883 commit 8c7bc5bafddddff55ed4687203a977e96f72540a
19884 Author: Johannes Berg <johannes.berg@intel.com>
19885 Date: Tue Aug 13 09:04:05 2013 +0200
19886
19887 Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db
19888
19889 genetlink: fix family dump race
19890
19891 When dumping generic netlink families, only the first dump call
19892 is locked with genl_lock(), which protects the list of families,
19893 and thus subsequent calls can access the data without locking,
19894 racing against family addition/removal. This can cause a crash.
19895 Fix it - the locking needs to be conditional because the first
19896 time around it's already locked.
19897
19898 A similar bug was reported to me on an old kernel (3.4.47) but
19899 the exact scenario that happened there is no longer possible,
19900 on those kernels the first round wasn't locked either. Looking
19901 at the current code I found the race described above, which had
19902 also existed on the old kernel.
19903
19904 Cc: stable@vger.kernel.org
19905 Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
19906 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
19907 Signed-off-by: David S. Miller <davem@davemloft.net>
19908
19909 net/netlink/genetlink.c | 7 +++++++
19910 1 files changed, 7 insertions(+), 0 deletions(-)
19911
19912 commit 0aef405c4f269d1e35abb5393cee4e7d452ed4bb
19913 Author: Daniel Borkmann <dborkman@redhat.com>
19914 Date: Fri Aug 9 16:25:21 2013 +0200
19915
19916 Upstream commit: 771085d6bf3c52de29fc213e5bad07a82e57c23e
19917
19918 net: sctp: sctp_transport_destroy{, _rcu}: fix potential pointer corruption
19919
19920 Probably this one is quite unlikely to be triggered, but it's more safe
19921 to do the call_rcu() at the end after we have dropped the reference on
19922 the asoc and freed sctp packet chunks. The reason why is because in
19923 sctp_transport_destroy_rcu() the transport is being kfree()'d, and if
19924 we're unlucky enough we could run into corrupted pointers. Probably
19925 that's more of theoretical nature, but it's safer to have this simple fix.
19926
19927 Introduced by commit 8c98653f ("sctp: sctp_close: fix release of bindings
19928 for deferred call_rcu's"). I also did the 8c98653f regression test and
19929 it's fine that way.
19930
19931 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
19932 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
19933 Signed-off-by: David S. Miller <davem@davemloft.net>
19934
19935 net/sctp/transport.c | 4 ++--
19936 1 files changed, 2 insertions(+), 2 deletions(-)
19937
19938 commit 3925eab5483946fd746575a46f97bee9d566bb77
19939 Author: Stephane Grosjean <s.grosjean@peak-system.com>
19940 Date: Fri Aug 9 11:44:06 2013 +0200
19941
19942 Upstream commit: 3c322a56b01695df15c70bfdc2d02e0ccd80654e
19943
19944 can: pcan_usb: fix wrong memcpy() bytes length
19945
19946 Fix possibly wrong memcpy() bytes length since some CAN records received from
19947 PCAN-USB could define a DLC field in range [9..15].
19948 In that case, the real DLC value MUST be used to move forward the record pointer
19949 but, only 8 bytes max. MUST be copied into the data field of the struct
19950 can_frame object of the skb given to the network core.
19951
19952 Cc: linux-stable <stable@vger.kernel.org>
19953 Signed-off-by: Stephane Grosjean <s.grosjean@peak-system.com>
19954 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
19955 Signed-off-by: David S. Miller <davem@davemloft.net>
19956
19957 drivers/net/can/usb/peak_usb/pcan_usb.c | 2 +-
19958 1 files changed, 1 insertions(+), 1 deletions(-)
19959
19960 commit c1ac6642baae4a400d1f87115024d1bb1ef53598
19961 Author: Linus Lüssing <linus.luessing@web.de>
19962 Date: Tue Aug 6 20:21:15 2013 +0200
19963
19964 Upstream commit: 9d2c9488cedb666bc8206fbdcdc1575e0fbc5929
19965
19966 batman-adv: fix potential kernel paging errors for unicast transmissions
19967
19968 There are several functions which might reallocate skb data. Currently
19969 some places keep reusing their old ethhdr pointer regardless of whether
19970 they became invalid after such a reallocation or not. This potentially
19971 leads to kernel paging errors.
19972
19973 This patch fixes these by refetching the ethdr pointer after the
19974 potential reallocations.
19975
19976 Signed-off-by: Linus Lüssing <linus.luessing@web.de>
19977 Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
19978 Signed-off-by: Antonio Quartulli <ordex@autistici.org>
19979
19980 net/batman-adv/bridge_loop_avoidance.c | 2 ++
19981 net/batman-adv/gateway_client.c | 13 ++++++++++++-
19982 net/batman-adv/gateway_client.h | 3 +--
19983 net/batman-adv/soft-interface.c | 9 ++++++++-
19984 net/batman-adv/unicast.c | 13 ++++++++++---
19985 5 files changed, 33 insertions(+), 7 deletions(-)
19986
19987 commit d11ebb55757d366b2e445dea5a96e3ef1b4d22eb
19988 Author: Yuchung Cheng <ycheng@google.com>
19989 Date: Fri Aug 9 17:21:27 2013 -0700
19990
19991 Upstream commit: 356d7d88e088687b6578ca64601b0a2c9d145296
19992
19993 netfilter: nf_conntrack: fix tcp_in_window for Fast Open
19994
19995 Currently the conntrack checks if the ending sequence of a packet
19996 falls within the observed receive window. However it does so even
19997 if it has not observe any packet from the remote yet and uses an
19998 uninitialized receive window (td_maxwin).
19999
20000 If a connection uses Fast Open to send a SYN-data packet which is
20001 dropped afterward in the network. The subsequent SYNs retransmits
20002 will all fail this check and be discarded, leading to a connection
20003 timeout. This is because the SYN retransmit does not contain data
20004 payload so
20005
20006 end == initial sequence number (isn) + 1
20007 sender->td_end == isn + syn_data_len
20008 receiver->td_maxwin == 0
20009
20010 The fix is to only apply this check after td_maxwin is initialized.
20011
20012 Reported-by: Michael Chan <mcfchan@stanford.edu>
20013 Signed-off-by: Yuchung Cheng <ycheng@google.com>
20014 Acked-by: Eric Dumazet <edumazet@google.com>
20015 Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
20016 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
20017
20018 net/netfilter/nf_conntrack_proto_tcp.c | 12 ++++++++----
20019 1 files changed, 8 insertions(+), 4 deletions(-)
20020
20021 commit 94462727d1f151aa2e3f7fbf0dedb19d8545d2ec
20022 Author: Dan Carpenter <dan.carpenter@oracle.com>
20023 Date: Thu Aug 1 12:36:57 2013 +0300
20024
20025 Upstream commit: e4d091d7bf787cd303383725b8071d0bae76f981
20026
20027 netfilter: nfnetlink_{log,queue}: fix information leaks in netlink message
20028
20029 These structs have a "_pad" member. Also the "phw" structs have an 8
20030 byte "hw_addr[]" array but sometimes only the first 6 bytes are
20031 initialized.
20032
20033 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
20034 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
20035
20036 net/netfilter/nfnetlink_log.c | 6 +++++-
20037 net/netfilter/nfnetlink_queue_core.c | 5 ++++-
20038 2 files changed, 9 insertions(+), 2 deletions(-)
20039
20040 commit c5b469d0a0b480a8b2dcac9b4e6532c0ac17f81f
20041 Author: Pablo Neira Ayuso <pablo@netfilter.org>
20042 Date: Thu Jul 25 10:46:46 2013 +0200
20043
20044 Upstream commit: a206bcb3b02025b23137f3228109d72e0f835c05
20045
20046 netfilter: xt_TCPOPTSTRIP: fix possible off by one access
20047
20048 Fix a possible off by one access since optlen()
20049 touches opt[offset+1] unsafely when i == tcp_hdrlen(skb) - 1.
20050
20051 This patch replaces tcp_hdrlen() by the local variable tcp_hdrlen
20052 that stores the TCP header length, to save some cycles.
20053
20054 Reported-by: Julian Anastasov <ja@ssi.bg>
20055 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
20056
20057 net/netfilter/xt_TCPOPTSTRIP.c | 10 ++++++----
20058 1 files changed, 6 insertions(+), 4 deletions(-)
20059
20060 commit 4634def261cf5f635bc60afe8a6ad436b3ec151e
20061 Author: Pablo Neira Ayuso <pablo@netfilter.org>
20062 Date: Thu Jul 25 10:37:49 2013 +0200
20063
20064 Upstream commit: 71ffe9c77dd7a2b62207953091efa8dafec958dd
20065
20066 netfilter: xt_TCPMSS: fix handling of malformed TCP header and options
20067
20068 Make sure the packet has enough room for the TCP header and
20069 that it is not malformed.
20070
20071 While at it, store tcph->doff*4 in a variable, as it is used
20072 several times.
20073
20074 This patch also fixes a possible off by one in case of malformed
20075 TCP options.
20076
20077 Reported-by: Julian Anastasov <ja@ssi.bg>
20078 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
20079
20080 net/netfilter/xt_TCPMSS.c | 28 ++++++++++++++++------------
20081 1 files changed, 16 insertions(+), 12 deletions(-)
20082
20083 commit dc552b7b377b8b0cba23513ee09a2341d6714ae8
20084 Author: Dave Jones <davej@redhat.com>
20085 Date: Fri Aug 9 11:16:34 2013 -0700
20086
20087 Upstream commit: d06f5187469eee1b2932c02fd093d113cfc60d5e
20088
20089 8139cp: Fix skb leak in rx_status_loop failure path.
20090
20091 Introduced in cf3c4c03060b688cbc389ebc5065ebcce5653e96
20092 ("8139cp: Add dma_mapping_error checking")
20093
20094 Signed-off-by: Dave Jones <davej@redhat.com>
20095 Signed-off-by: David S. Miller <davem@davemloft.net>
20096
20097 drivers/net/ethernet/realtek/8139cp.c | 1 +
20098 1 files changed, 1 insertions(+), 0 deletions(-)
20099
20100 commit 227b279491a0bbcc70ca3654f34903282c378600
20101 Author: Timo Teräs <timo.teras@iki.fi>
20102 Date: Tue Aug 6 13:45:43 2013 +0300
20103
20104 Upstream commit: 77a482bdb2e68d13fae87541b341905ba70d572b
20105
20106 ip_gre: fix ipgre_header to return correct offset
20107
20108 Fix ipgre_header() (header_ops->create) to return the correct
20109 amount of bytes pushed. Most callers of dev_hard_header() seem
20110 to care only if it was success, but af_packet.c uses it as
20111 offset to the skb to copy from userspace only once. In practice
20112 this fixes packet socket sendto()/sendmsg() to gre tunnels.
20113
20114 Regression introduced in c54419321455631079c7d6e60bc732dd0c5914c5
20115 ("GRE: Refactor GRE tunneling code.")
20116
20117 Cc: Pravin B Shelar <pshelar@nicira.com>
20118 Signed-off-by: Timo Teräs <timo.teras@iki.fi>
20119 Acked-by: Eric Dumazet <edumazet@google.com>
20120 Signed-off-by: David S. Miller <davem@davemloft.net>
20121
20122 net/ipv4/ip_gre.c | 2 +-
20123 1 files changed, 1 insertions(+), 1 deletions(-)
20124
20125 commit 4b37d11c0ebb440d9335861ce8f1e690a34c10fb
20126 Author: Eric Dumazet <edumazet@google.com>
20127 Date: Mon Aug 5 11:18:49 2013 -0700
20128
20129 Upstream commit: aab515d7c32a34300312416c50314e755ea6f765
20130
20131 fib_trie: remove potential out of bound access
20132
20133 AddressSanitizer [1] dynamic checker pointed a potential
20134 out of bound access in leaf_walk_rcu()
20135
20136 We could allocate one more slot in tnode_new() to leave the prefetch()
20137 in-place but it looks not worth the pain.
20138
20139 Bug added in commit 82cfbb008572b ("[IPV4] fib_trie: iterator recode")
20140
20141 [1] :
20142 https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel
20143
20144 Reported-by: Andrey Konovalov <andreyknvl@google.com>
20145 Signed-off-by: Eric Dumazet <edumazet@google.com>
20146 Cc: Dmitry Vyukov <dvyukov@google.com>
20147 Signed-off-by: David S. Miller <davem@davemloft.net>
20148
20149 net/ipv4/fib_trie.c | 5 +----
20150 1 files changed, 1 insertions(+), 4 deletions(-)
20151
20152 commit 3928184d65fdaf3eef446f0e6c5f305352c1fd02
20153 Author: Daniel Borkmann <dborkman@redhat.com>
20154 Date: Mon Aug 5 12:49:35 2013 +0200
20155
20156 Upstream commit: 7921895a5e852fc99de347bc0600659997de9298
20157
20158 net: esp{4,6}: fix potential MTU calculation overflows
20159
20160 Commit 91657eafb ("xfrm: take net hdr len into account for esp payload
20161 size calculation") introduced a possible interger overflow in
20162 esp{4,6}_get_mtu() handlers in case of x->props.mode equals
20163 XFRM_MODE_TUNNEL. Thus, the following expression will overflow
20164
20165 unsigned int net_adj;
20166 ...
20167 <case ipv{4,6} XFRM_MODE_TUNNEL>
20168 net_adj = 0;
20169 ...
20170 return ((mtu - x->props.header_len - crypto_aead_authsize(esp->aead) -
20171 net_adj) & ~(align - 1)) + (net_adj - 2);
20172
20173 where (net_adj - 2) would be evaluated as <foo> + (0 - 2) in an unsigned
20174 context. Fix it by simply removing brackets as those operations here
20175 do not need to have special precedence.
20176
20177 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
20178 Cc: Benjamin Poirier <bpoirier@suse.de>
20179 Cc: Steffen Klassert <steffen.klassert@secunet.com>
20180 Acked-by: Benjamin Poirier <bpoirier@suse.de>
20181 Signed-off-by: David S. Miller <davem@davemloft.net>
20182
20183 net/ipv4/esp4.c | 2 +-
20184 net/ipv6/esp6.c | 2 +-
20185 2 files changed, 2 insertions(+), 2 deletions(-)
20186
20187 commit f02bce292d1c2fe610be509c96593e70b3de387b
20188 Author: Julia Lawall <Julia.Lawall@lip6.fr>
20189 Date: Mon Aug 5 16:47:38 2013 +0200
20190
20191 Upstream commit: d9af2d67e490b48f0d36f448d34e7bab9425f142
20192
20193 net/vmw_vsock/af_vsock.c: drop unneeded semicolon
20194
20195 Drop the semicolon at the end of the list_for_each_entry loop header.
20196
20197 Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
20198 Signed-off-by: David S. Miller <davem@davemloft.net>
20199
20200 net/vmw_vsock/af_vsock.c | 2 +-
20201 1 files changed, 1 insertions(+), 1 deletions(-)
20202
20203 commit 4b62f0cbc3f949056e8bbe0af036acfc20e8e049
20204 Author: Tiger Yang <tiger.yang@oracle.com>
20205 Date: Tue Aug 13 16:00:58 2013 -0700
20206
20207 Upstream commit: c7dd3392ad469e6ba125170ad29f881bed85b678
20208
20209 ocfs2: fix NULL pointer dereference in ocfs2_duplicate_clusters_by_page
20210
20211 Since ocfs2_cow_file_pos will invoke ocfs2_refcount_icow with a NULL as
20212 the struct file pointer, it finally result in a null pointer dereference
20213 in ocfs2_duplicate_clusters_by_page.
20214
20215 This patch replace file pointer with inode pointer in
20216 cow_duplicate_clusters to fix this issue.
20217
20218 [jeff.liu@oracle.com: rebased patch against linux-next tree]
20219 Signed-off-by: Tiger Yang <tiger.yang@oracle.com>
20220 Signed-off-by: Jie Liu <jeff.liu@oracle.com>
20221 Cc: Joel Becker <jlbec@evilplan.org>
20222 Cc: Mark Fasheh <mfasheh@suse.com>
20223 Acked-by: Tao Ma <tm@tao.ma>
20224 Tested-by: David Weber <wb@munzinger.de>
20225 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
20226 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
20227
20228 fs/ocfs2/aops.c | 2 +-
20229 fs/ocfs2/file.c | 6 ++--
20230 fs/ocfs2/move_extents.c | 2 +-
20231 fs/ocfs2/refcounttree.c | 53 +++++++---------------------------------------
20232 fs/ocfs2/refcounttree.h | 6 ++--
20233 5 files changed, 16 insertions(+), 53 deletions(-)
20234
20235 commit 433bf493c7472435b328b2bc85b6e54f6dd3d0d3
20236 Author: Dan Carpenter <dan.carpenter@oracle.com>
20237 Date: Thu Aug 15 15:52:57 2013 +0300
20238
20239 Upstream commit: 15718ea0d844e4816dbd95d57a8a0e3e264ba90e
20240
20241 tun: signedness bug in tun_get_user()
20242
20243 The recent fix d9bf5f1309 "tun: compare with 0 instead of total_len" is
20244 not totally correct. Because "len" and "sizeof()" are size_t type, that
20245 means they are never less than zero.
20246
20247 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
20248 Acked-by: Michael S. Tsirkin <mst@redhat.com>
20249 Acked-by: Neil Horman <nhorman@tuxdriver.com>
20250 Signed-off-by: David S. Miller <davem@davemloft.net>
20251
20252 drivers/net/tun.c | 6 ++++--
20253 1 files changed, 4 insertions(+), 2 deletions(-)
20254
20255 commit 26ad267ddda451919357965a0cf271ca24d1bcf2
20256 Author: Weiping Pan <wpan@redhat.com>
20257 Date: Tue Aug 13 21:46:56 2013 +0800
20258
20259 Upstream commit: d9bf5f130946695063469749bfd190087b7fad39
20260
20261 tun: compare with 0 instead of total_len
20262
20263 Since we set "len = total_len" in the beginning of tun_get_user(),
20264 so we should compare the new len with 0, instead of total_len,
20265 or the if statement always returns false.
20266
20267 Signed-off-by: Weiping Pan <wpan@redhat.com>
20268 Signed-off-by: David S. Miller <davem@davemloft.net>
20269
20270 drivers/net/tun.c | 4 ++--
20271 1 files changed, 2 insertions(+), 2 deletions(-)
20272
20273 commit 70023d3ea40fae8b6b6a142a7a5c3db0bcc283f9
20274 Author: Guenter Roeck <linux@roeck-us.net>
20275 Date: Fri Aug 16 20:50:55 2013 -0700
20276
20277 Upstream commit: 215b28a5308f3d332df2ee09ef11fda45d7e4a92
20278
20279 s390: Fix broken build
20280
20281 Fix this build error:
20282
20283 In file included from fs/exec.c:61:0:
20284 arch/s390/include/asm/tlb.h:35:23: error: expected identifier or '(' before 'unsigned'
20285 arch/s390/include/asm/tlb.h:36:1: warning: no semicolon at end of struct or union [enabled by default]
20286 arch/s390/include/asm/tlb.h: In function 'tlb_gather_mmu':
20287 arch/s390/include/asm/tlb.h:57:5: error: 'struct mmu_gather' has no member named 'end'
20288
20289 Broken due to commit 2b047252d0 ("Fix TLB gather virtual address range
20290 invalidation corner cases").
20291
20292 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20293 Cc: stable@vger.kernel.org
20294 Signed-off-by: Guenter Roeck <linux@roeck-us.net>
20295 [ Oh well. We had build testing for ppc amd um, but no s390 - Linus ]
20296 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
20297
20298 arch/s390/include/asm/tlb.h | 2 +-
20299 1 files changed, 1 insertions(+), 1 deletions(-)
20300
20301 commit 4e57312c2de2a25ddb181d129dafbc0251062c33
20302 Author: Linus Torvalds <torvalds@linux-foundation.org>
20303 Date: Thu Aug 15 11:42:25 2013 -0700
20304
20305 Upstream commit: 2b047252d087be7f2ba088b4933cd904f92e6fce
20306
20307 Fix TLB gather virtual address range invalidation corner cases
20308
20309 Ben Tebulin reported:
20310
20311 "Since v3.7.2 on two independent machines a very specific Git
20312 repository fails in 9/10 cases on git-fsck due to an SHA1/memory
20313 failures. This only occurs on a very specific repository and can be
20314 reproduced stably on two independent laptops. Git mailing list ran
20315 out of ideas and for me this looks like some very exotic kernel issue"
20316
20317 and bisected the failure to the backport of commit 53a59fc67f97 ("mm:
20318 limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT").
20319
20320 That commit itself is not actually buggy, but what it does is to make it
20321 much more likely to hit the partial TLB invalidation case, since it
20322 introduces a new case in tlb_next_batch() that previously only ever
20323 happened when running out of memory.
20324
20325 The real bug is that the TLB gather virtual memory range setup is subtly
20326 buggered. It was introduced in commit 597e1c3580b7 ("mm/mmu_gather:
20327 enable tlb flush range in generic mmu_gather"), and the range handling
20328 was already fixed at least once in commit e6c495a96ce0 ("mm: fix the TLB
20329 range flushed when __tlb_remove_page() runs out of slots"), but that fix
20330 was not complete.
20331
20332 The problem with the TLB gather virtual address range is that it isn't
20333 set up by the initial tlb_gather_mmu() initialization (which didn't get
20334 the TLB range information), but it is set up ad-hoc later by the
20335 functions that actually flush the TLB. And so any such case that forgot
20336 to update the TLB range entries would potentially miss TLB invalidates.
20337
20338 Rather than try to figure out exactly which particular ad-hoc range
20339 setup was missing (I personally suspect it's the hugetlb case in
20340 zap_huge_pmd(), which didn't have the same logic as zap_pte_range()
20341 did), this patch just gets rid of the problem at the source: make the
20342 TLB range information available to tlb_gather_mmu(), and initialize it
20343 when initializing all the other tlb gather fields.
20344
20345 This makes the patch larger, but conceptually much simpler. And the end
20346 result is much more understandable; even if you want to play games with
20347 partial ranges when invalidating the TLB contents in chunks, now the
20348 range information is always there, and anybody who doesn't want to
20349 bother with it won't introduce subtle bugs.
20350
20351 Ben verified that this fixes his problem.
20352
20353 Reported-bisected-and-tested-by: Ben Tebulin <tebulin@googlemail.com>
20354 Build-testing-by: Stephen Rothwell <sfr@canb.auug.org.au>
20355 Build-testing-by: Richard Weinberger <richard.weinberger@gmail.com>
20356 Reviewed-by: Michal Hocko <mhocko@suse.cz>
20357 Acked-by: Peter Zijlstra <peterz@infradead.org>
20358 Cc: stable@vger.kernel.org
20359 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
20360
20361 arch/arm/include/asm/tlb.h | 7 +++++--
20362 arch/arm64/include/asm/tlb.h | 7 +++++--
20363 arch/ia64/include/asm/tlb.h | 9 ++++++---
20364 arch/s390/include/asm/tlb.h | 8 ++++++--
20365 arch/sh/include/asm/tlb.h | 6 ++++--
20366 arch/um/include/asm/tlb.h | 6 ++++--
20367 fs/exec.c | 4 ++--
20368 include/asm-generic/tlb.h | 2 +-
20369 mm/hugetlb.c | 2 +-
20370 mm/memory.c | 36 +++++++++++++++++++++---------------
20371 mm/mmap.c | 4 ++--
20372 11 files changed, 57 insertions(+), 34 deletions(-)
20373
20374 commit 771ed01c6027772eca1a0df8de65043e7f0d94f8
20375 Merge: 5568c80 ffceabf
20376 Author: Brad Spengler <spender@grsecurity.net>
20377 Date: Sat Aug 17 09:11:41 2013 -0400
20378
20379 Merge branch 'pax-test' into grsec-test
20380
20381 commit ffceabfcc65c60109ba5fca694d78d4dc7047809
20382 Author: Brad Spengler <spender@grsecurity.net>
20383 Date: Sat Aug 17 09:10:44 2013 -0400
20384
20385 Update to pax-linux-3.10.7-test11.patch:
20386 - simplified some arm code
20387 - disabled preemption when calling show_regs, reported by Corey Minyard
20388 - added PCID based support for UDEREF on amd64 (blog will have more details)
20389 - requires Westmere/Sandy Bridge/Ivy Bridge/Haswell/etc
20390 - nopcid turns it off
20391 - by default a strong form of UDEREF is used under PCID
20392 - pax_weakuderef switches to the older, less secure UDEREF
20393 - fixed several bugs that would also have manifested under SMAP
20394 - INVPCID is used when available (Haswell)
20395 - added a few more return insn instrumentation in new amd64 crypto code
20396
20397 Documentation/kernel-parameters.txt | 7 +
20398 arch/arm/include/asm/uaccess.h | 3 +
20399 arch/x86/crypto/blowfish-avx2-asm_64.S | 6 +
20400 arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 ++
20401 arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 ++
20402 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +
20403 arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +
20404 arch/x86/crypto/serpent-avx2-asm_64.S | 9 ++
20405 arch/x86/crypto/sha256-avx-asm.S | 2 +
20406 arch/x86/crypto/sha256-avx2-asm.S | 2 +
20407 arch/x86/crypto/sha256-ssse3-asm.S | 2 +
20408 arch/x86/crypto/sha512-avx-asm.S | 2 +
20409 arch/x86/crypto/sha512-avx2-asm.S | 2 +
20410 arch/x86/crypto/sha512-ssse3-asm.S | 2 +
20411 arch/x86/crypto/twofish-avx2-asm_64.S | 8 ++
20412 arch/x86/ia32/ia32_signal.c | 2 +-
20413 arch/x86/ia32/ia32entry.S | 24 ++++-
20414 arch/x86/include/asm/cpufeature.h | 3 +-
20415 arch/x86/include/asm/fpu-internal.h | 2 +
20416 arch/x86/include/asm/futex.h | 4 +
20417 arch/x86/include/asm/mmu_context.h | 80 +++++++++++---
20418 arch/x86/include/asm/pgtable.h | 10 +-
20419 arch/x86/include/asm/processor.h | 15 +++-
20420 arch/x86/include/asm/segment.h | 5 +-
20421 arch/x86/include/asm/smap.h | 64 +++++++++++-
20422 arch/x86/include/asm/tlbflush.h | 63 +++++++++--
20423 arch/x86/include/asm/uaccess.h | 18 +++-
20424 arch/x86/include/asm/xsave.h | 4 +
20425 arch/x86/kernel/cpu/common.c | 38 +++++++
20426 arch/x86/kernel/entry_32.S | 2 +-
20427 arch/x86/kernel/entry_64.S | 152 +++++++++++++++++++++++---
20428 arch/x86/kernel/head_32.S | 2 +-
20429 arch/x86/kernel/head_64.S | 8 +-
20430 arch/x86/kernel/process_64.c | 5 +
20431 arch/x86/kernel/setup.c | 8 +-
20432 arch/x86/kernel/signal.c | 4 +-
20433 arch/x86/kernel/smpboot.c | 15 ++-
20434 arch/x86/lib/copy_user_64.S | 50 +--------
20435 arch/x86/lib/copy_user_nocache_64.S | 2 +
20436 arch/x86/lib/csum-wrappers_64.c | 11 ++-
20437 arch/x86/lib/memcpy_64.S | 4 +-
20438 arch/x86/lib/memmove_64.S | 2 +-
20439 arch/x86/lib/memset_64.S | 4 +-
20440 arch/x86/lib/usercopy_64.c | 5 +-
20441 arch/x86/mm/Makefile | 4 +
20442 arch/x86/mm/fault.c | 29 ++++--
20443 arch/x86/mm/init.c | 7 +-
20444 arch/x86/mm/init_64.c | 9 ++-
20445 arch/x86/mm/pageattr.c | 2 +-
20446 arch/x86/mm/pgtable.c | 3 +
20447 arch/x86/platform/efi/efi_32.c | 2 +-
20448 arch/x86/platform/efi/efi_64.c | 2 +-
20449 arch/x86/realmode/rm/trampoline_64.S | 1 +
20450 fs/exec.c | 2 +
20451 include/asm-generic/uaccess.h | 8 ++
20452 include/linux/compat.h | 1 +
20453 include/linux/preempt.h | 19 +++
20454 include/linux/signal.h | 1 +
20455 include/linux/smp.h | 2 +
20456 init/main.c | 14 ++-
20457 kernel/signal.c | 16 +++
20458 security/Kconfig | 5 +
20459 tools/lib/lk/Makefile | 2 +-
20460 tools/perf/Makefile | 2 +-
20461 64 files changed, 673 insertions(+), 136 deletions(-)
20462
20463 commit 5568c8059e78d6d002815409df4e90c83b3b08a8
20464 Author: Brad Spengler <spender@grsecurity.net>
20465 Date: Sat Aug 17 08:58:34 2013 -0400
20466
20467 Fix two harmless compiler warnings
20468
20469 arch/arm/kernel/process.c | 4 ++--
20470 fs/exec.c | 2 +-
20471 2 files changed, 3 insertions(+), 3 deletions(-)
20472
20473 commit e4a41a3eef8c6bdebdbe273cc0fbe372bcb62806
20474 Author: Brad Spengler <spender@grsecurity.net>
20475 Date: Fri Aug 16 22:55:24 2013 -0400
20476
20477 Upstream commit: c95eb3184ea1a3a2551df57190c81da695e2144b
20478
20479 arch/arm/kernel/perf_event.c | 5 ++++-
20480 1 files changed, 4 insertions(+), 1 deletions(-)
20481
20482 commit 3637bc893b57a227b01852fe34685ab237285b10
20483 Author: Stephen Boyd <sboyd@codeaurora.org>
20484 Date: Wed Aug 7 16:18:08 2013 -0700
20485
20486 Upstream commit: b88a2595b6d8aedbd275c07dfa784657b4f757eb
20487
20488 perf/arm: Fix armpmu_map_hw_event()
20489
20490 Fix constraint check in armpmu_map_hw_event().
20491
20492 Reported-and-tested-by: Vince Weaver <vincent.weaver@maine.edu>
20493 Cc: <stable@kernel.org>
20494 Signed-off-by: Ingo Molnar <mingo@kernel.org>
20495 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
20496
20497 arch/arm/kernel/perf_event.c | 7 ++++++-
20498 1 files changed, 6 insertions(+), 1 deletions(-)
20499
20500 commit 11802e1f961a088c39af58d1c1b14d861eedfb35
20501 Author: Brad Spengler <spender@grsecurity.net>
20502 Date: Fri Aug 16 22:53:30 2013 -0400
20503
20504 More ARM backports
20505
20506 arch/arm/kernel/entry-armv.S | 3 ++-
20507 arch/arm/kernel/fiq.c | 8 ++------
20508 2 files changed, 4 insertions(+), 7 deletions(-)
20509
20510 commit bf89938c71ddbd6efb2c2e43bf4f3f99fef623ea
20511 Author: Brad Spengler <spender@grsecurity.net>
20512 Date: Fri Aug 16 22:46:01 2013 -0400
20513
20514 Fix HIDESYM compatibility with kprobes, as reported by feandil at:
20515 http://forums.grsecurity.net/viewtopic.php?t=3701&p=13376#p13376
20516
20517 include/linux/kallsyms.h | 2 +-
20518 kernel/kprobes.c | 3 +++
20519 2 files changed, 4 insertions(+), 1 deletions(-)
20520
20521 commit 3d1cf88bbdbe4c0e83dd7d731ecaf1741209d6b7
20522 Author: yonghua zheng <younghua.zheng@gmail.com>
20523 Date: Tue Aug 13 16:01:03 2013 -0700
20524
20525 fs/proc/task_mmu.c: fix buffer overflow in add_page_map()
20526
20527 Recently we met quite a lot of random kernel panic issues after enabling
20528 CONFIG_PROC_PAGE_MONITOR. After debuggind we found this has something
20529 to do with following bug in pagemap:
20530
20531 In struct pagemapread:
20532
20533 struct pagemapread {
20534 int pos, len;
20535 pagemap_entry_t *buffer;
20536 bool v2;
20537 };
20538
20539 pos is number of PM_ENTRY_BYTES in buffer, but len is the size of
20540 buffer, it is a mistake to compare pos and len in add_page_map() for
20541 checking buffer is full or not, and this can lead to buffer overflow and
20542 random kernel panic issue.
20543
20544 Correct len to be total number of PM_ENTRY_BYTES in buffer.
20545
20546 [akpm@linux-foundation.org: document pagemapread.pos and .len units, fix PM_ENTRY_BYTES definition]
20547 Signed-off-by: Yonghua Zheng <younghua.zheng@gmail.com>
20548 Cc: <stable@vger.kernel.org>
20549 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
20550 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
20551
20552 Conflicts:
20553
20554 fs/proc/task_mmu.c
20555
20556 fs/proc/task_mmu.c | 8 ++++----
20557 1 files changed, 4 insertions(+), 4 deletions(-)
20558
20559 commit 0a3dac834746de241c10d4978bf61b4f146ba89d
20560 Merge: dc19474 e12de30
20561 Author: Brad Spengler <spender@grsecurity.net>
20562 Date: Fri Aug 16 17:39:01 2013 -0400
20563
20564 Merge branch 'pax-test' into grsec-test
20565
20566 commit e12de30aa6b575fc3c9f5cd098dd03623598cb33
20567 Author: Brad Spengler <spender@grsecurity.net>
20568 Date: Fri Aug 16 17:34:47 2013 -0400
20569
20570 Update to pax-linux-3.10.7-test9.patch:
20571 - Emese fixed a size overflow false positive reported by Sven Vermeulen
20572 - fixed some arm compile problems reported by spender
20573 - added empty unchecked wrappers for local_t accessors on mips, by Corey Minyard <cminyard@mvista.com>
20574 eventually we'll have full REFCOUNT support on mips
20575
20576 arch/arm/kernel/process.c | 5 ++-
20577 arch/arm/mm/Kconfig | 2 +-
20578 arch/arm/mm/fault.c | 3 ++
20579 arch/mips/include/asm/local.h | 57 +++++++++++++++++++++++++++++++++++++++++
20580 mm/internal.h | 2 +-
20581 5 files changed, 65 insertions(+), 4 deletions(-)
20582
20583 commit dc19474d0ea6ea3c939544ae5f906067b1784a10
20584 Merge: 51b78c0 82266f9
20585 Author: Brad Spengler <spender@grsecurity.net>
20586 Date: Thu Aug 15 21:47:37 2013 -0400
20587
20588 Merge branch 'pax-test' into grsec-test
20589
20590 commit 82266f90a3f87ab5017329fb539aebf94c42253a
20591 Author: Brad Spengler <spender@grsecurity.net>
20592 Date: Thu Aug 15 21:14:47 2013 -0400
20593
20594 Update to pax-linux-3.10.7-test9.patch
20595
20596 arch/arm/kernel/process.c | 6 ++----
20597 1 files changed, 2 insertions(+), 4 deletions(-)
20598
20599 commit 51b78c06d1f41614f593cd36456b4af559e9d7fa
20600 Merge: e32d904 cb77ead
20601 Author: Brad Spengler <spender@grsecurity.net>
20602 Date: Thu Aug 15 20:53:45 2013 -0400
20603
20604 Merge branch 'pax-test' into grsec-test
20605
20606 Conflicts:
20607 security/Kconfig
20608
20609 commit cb77ead0eccb5abb75f7e437a3725d0254558ccd
20610 Merge: 13675b8 519be45
20611 Author: Brad Spengler <spender@grsecurity.net>
20612 Date: Thu Aug 15 20:50:47 2013 -0400
20613
20614 Update to pax-linux-3.10.7-test8.patch
20615
20616 Merge branch 'linux-3.10.y' into pax-test
20617
20618 commit e32d904b87292288e74e2637b900fd1115687b8e
20619 Author: Brad Spengler <spender@grsecurity.net>
20620 Date: Sat Aug 10 09:41:40 2013 -0400
20621
20622 propagate the threadstack offset through to the topdown/bottomup allocators
20623 on sparc64 hugepages
20624
20625 arch/sparc/mm/hugetlbpage.c | 12 ++++++++----
20626 1 files changed, 8 insertions(+), 4 deletions(-)
20627
20628 commit cefa30759f6c977fff5cc1634ecfbfe0ee44391c
20629 Author: Oleg Nesterov <oleg@redhat.com>
20630 Date: Thu Aug 8 18:55:32 2013 +0200
20631
20632 Upstream commit: 8742f229b635bf1c1c84a3dfe5e47c814c20b5c8
20633
20634 another local DoS found in reaction to the one I reported,
20635 we don't allow unpriv user ns use so this doesn't matter much to us
20636
20637 userns: limit the maximum depth of user_namespace->parent chain
20638
20639 Ensure that user_namespace->parent chain can't grow too much.
20640 Currently we use the hardroded 32 as limit.
20641
20642 Reported-by: Andy Lutomirski <luto@amacapital.net>
20643 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
20644 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
20645
20646 include/linux/user_namespace.h | 1 +
20647 kernel/user_namespace.c | 4 ++++
20648 2 files changed, 5 insertions(+), 0 deletions(-)
20649
20650 commit 223ac007ef18bf3a5095ba0a56675c1f16200149
20651 Merge: 1c92de4 13675b8
20652 Author: Brad Spengler <spender@grsecurity.net>
20653 Date: Thu Aug 8 20:45:24 2013 -0400
20654
20655 Merge branch 'pax-test' into grsec-test
20656
20657 Conflicts:
20658 security/Kconfig
20659
20660 commit 13675b848cf02bffd26924b2b84d927095bc253d
20661 Author: Brad Spengler <spender@grsecurity.net>
20662 Date: Thu Aug 8 20:43:52 2013 -0400
20663
20664 Update to pax-linux-3.10.5-test8.patch:
20665 - Emese fixed a size overflow false positive, reported by markusle (http://forums.grsecurity.net/viewtopic.php?f=3&t=3692)
20666 - fixed the use of PXN for 2-level pages tables on arm, by Corey Minyard <cminyard@mvista.com>
20667 - added PAGEEXEC/XI violation reporting on mips, by Corey Minyard <cminyard@mvista.com>
20668
20669 arch/arm/include/asm/pgtable-2level.h | 4 +++-
20670 arch/arm/mm/proc-v7-2level.S | 3 ---
20671 arch/mips/mm/fault.c | 8 ++++++++
20672 arch/x86/include/asm/processor.h | 3 ++-
20673 include/linux/math64.h | 2 +-
20674 security/Kconfig | 2 --
20675 6 files changed, 14 insertions(+), 8 deletions(-)
20676
20677 commit 1c92de4b8811c330af033c31d83c9c45e3d064b2
20678 Merge: e65aa3d 1660f49
20679 Author: Brad Spengler <spender@grsecurity.net>
20680 Date: Mon Aug 5 18:50:45 2013 -0400
20681
20682 Merge branch 'pax-test' into grsec-test
20683
20684 commit 1660f496848b8400d263f7920989dae15e72185a
20685 Merge: 7f91ba1 dc51cd2
20686 Author: Brad Spengler <spender@grsecurity.net>
20687 Date: Mon Aug 5 18:50:12 2013 -0400
20688
20689 Update to pax-linux-3.10.5-test7.patch
20690
20691 Merge branch 'linux-3.10.y' into pax-test
20692
20693 Conflicts:
20694 arch/x86/kernel/head_64.S
20695 mm/mempolicy.c
20696
20697 commit e65aa3dd447115cb79b4815bc1ceac7b3cacef15
20698 Author: Brad Spengler <spender@grsecurity.net>
20699 Date: Mon Aug 5 17:58:42 2013 -0400
20700
20701 Disable RANDKSTACK for a VirtualBox host as mentioned on the
20702 gentoo-hardened bugzilla:
20703 https://bugs.gentoo.org/show_bug.cgi?id=382793
20704
20705 security/Kconfig | 2 +-
20706 1 files changed, 1 insertions(+), 1 deletions(-)
20707
20708 commit 60d8cffd7740fd1d527790caf9a24a35d8c45858
20709 Author: Dan Carpenter <dan.carpenter@oracle.com>
20710 Date: Tue Jul 30 13:23:39 2013 +0300
20711
20712 Upstream commit: 8cb3b9c3642c0263d48f31d525bcee7170eedc20
20713
20714 net_sched: info leak in atm_tc_dump_class()
20715
20716 The "pvc" struct has a hole after pvc.sap_family which is not cleared.
20717
20718 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
20719 Reviewed-by: Jiri Pirko <jiri@resnulli.us>
20720 Signed-off-by: David S. Miller <davem@davemloft.net>
20721
20722 net/sched/sch_atm.c | 1 +
20723 1 files changed, 1 insertions(+), 0 deletions(-)
20724
20725 commit 50d20ebce56b6e0b9622685930e007e46c7c04bb
20726 Author: Daniel Borkmann <dborkman@redhat.com>
20727 Date: Fri Aug 2 11:32:43 2013 +0200
20728
20729 Upstream commit: 446266b0c742a2c9ee8f0dce759a0117bce58a86
20730
20731 net: rtm_to_ifaddr: free ifa if ifa_cacheinfo processing fails
20732
20733 Commit 5c766d642 ("ipv4: introduce address lifetime") leaves the ifa
20734 resource that was allocated via inet_alloc_ifa() unfreed when returning
20735 the function with -EINVAL. Thus, free it first via inet_free_ifa().
20736
20737 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
20738 Reviewed-by: Jiri Pirko <jiri@resnulli.us>
20739 Signed-off-by: David S. Miller <davem@davemloft.net>
20740
20741 net/ipv4/devinet.c | 4 +++-
20742 1 files changed, 3 insertions(+), 1 deletions(-)
20743
20744 commit 0acaba4eea12097cc59bc61a46ba1ef4a468b260
20745 Author: Himanshu Madhani <himanshu.madhani@qlogic.com>
20746 Date: Fri Aug 2 23:15:56 2013 -0400
20747
20748 Upstream commit: f91bbcb0b82186b4d5669021b142c263b66505e1
20749
20750 qlcnic: Free up memory in error path.
20751
20752 Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
20753 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
20754 Signed-off-by: David S. Miller <davem@davemloft.net>
20755
20756 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 6 +++---
20757 1 files changed, 3 insertions(+), 3 deletions(-)
20758
20759 commit 3626ec32c8b24cb38b8db2a1b2f5430bd898408a
20760 Author: Shahed Shaikh <shahed.shaikh@qlogic.com>
20761 Date: Fri Aug 2 23:15:54 2013 -0400
20762
20763 Upstream commit: 4a99ab56cea66f9f67b9d07ace5cd40a336c8e6f
20764
20765 qlcnic: Fix MAC address filter issue on 82xx adapter
20766
20767 Driver was passing the address of a pointer instead of
20768 the pointer itself.
20769
20770 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
20771 Signed-off-by: David S. Miller <davem@davemloft.net>
20772
20773 drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 2 +-
20774 1 files changed, 1 insertions(+), 1 deletions(-)
20775
20776 commit 5570df953d6c143e05f1d60d9c23210e60dbbe81
20777 Author: Brad Spengler <spender@grsecurity.net>
20778 Date: Mon Aug 5 17:26:40 2013 -0400
20779
20780 Move user namespace capability check to shared create_user_ns code so we
20781 cover unshare() as well.
20782
20783 Also kill a trivial 1-line, 22-character upstream kernel DoS, thanks to
20784 user namespaces!
20785
20786 kernel/fork.c | 17 -----------------
20787 kernel/user_namespace.c | 24 ++++++++++++++++++++++--
20788 2 files changed, 22 insertions(+), 19 deletions(-)
20789
20790 commit 97112fe30de4ca84e79c82ebfa2353b9c9988ca1
20791 Author: Brad Spengler <spender@grsecurity.net>
20792 Date: Mon Aug 5 16:05:41 2013 -0400
20793
20794 silence a warning on older gcc
20795
20796 grsecurity/gracl.c | 2 +-
20797 1 files changed, 1 insertions(+), 1 deletions(-)
20798
20799 commit b8966a5d577e9220fbc63306eee978f819f24e2e
20800 Author: Brad Spengler <spender@grsecurity.net>
20801 Date: Sat Aug 3 08:31:08 2013 -0400
20802
20803 we only care about mmaps of the beginning of an ELF, filter out
20804 all others as suggested by pipacs
20805
20806 mm/mmap.c | 2 +-
20807 1 files changed, 1 insertions(+), 1 deletions(-)
20808
20809 commit 8aea9fe5866dec3c847a34f743f343e18cf1cdcb
20810 Author: Brad Spengler <spender@grsecurity.net>
20811 Date: Fri Aug 2 23:54:51 2013 -0400
20812
20813 add include
20814
20815 grsecurity/grsec_log.c | 1 +
20816 1 files changed, 1 insertions(+), 0 deletions(-)
20817
20818 commit d48425ef8cb3761ab6130e52f1f8e401f5b5a295
20819 Author: Brad Spengler <spender@grsecurity.net>
20820 Date: Fri Aug 2 23:49:13 2013 -0400
20821
20822 fix compilation
20823
20824 include/linux/grinternal.h | 3 ++-
20825 1 files changed, 2 insertions(+), 1 deletions(-)
20826
20827 commit 1704c23fdc55b68f512dc9927940e72237f3f43e
20828 Author: Brad Spengler <spender@grsecurity.net>
20829 Date: Fri Aug 2 23:34:35 2013 -0400
20830
20831 Improve PaX reporting (tells when anon mapping is stack or heap)
20832 Remove textrel logging option, combine into rwx logging option
20833 Enhance RWX logging option to display when PT_GNU_STACK-enabled library
20834 is loaded under an MPROTECTed binary
20835 Enhance RWX mprotect logging to display stack/heap instead of just
20836 anon mapping
20837
20838 fs/binfmt_elf.c | 37 +++++++++++++++++++++++++++++++++++++
20839 fs/exec.c | 4 ++++
20840 grsecurity/Kconfig | 21 +++++----------------
20841 grsecurity/grsec_init.c | 4 ----
20842 grsecurity/grsec_log.c | 14 ++++++++++++++
20843 grsecurity/grsec_pax.c | 19 ++++++++++++++-----
20844 grsecurity/grsec_sysctl.c | 9 ---------
20845 include/linux/binfmts.h | 1 +
20846 include/linux/grinternal.h | 2 +-
20847 include/linux/grmsg.h | 3 ++-
20848 include/linux/grsecurity.h | 3 ++-
20849 mm/mmap.c | 7 +++++++
20850 mm/mprotect.c | 2 +-
20851 13 files changed, 88 insertions(+), 38 deletions(-)
20852
20853 commit faf81c100c8565524e21c9af780a0ad2ce3fd925
20854 Author: Brad Spengler <spender@grsecurity.net>
20855 Date: Thu Aug 1 18:52:02 2013 -0400
20856
20857 add missing #define
20858
20859 grsecurity/gracl.c | 1 +
20860 1 files changed, 1 insertions(+), 0 deletions(-)
20861
20862 commit e87232d1fcb4da72df971cbc623aac6c9b3871a0
20863 Author: Brad Spengler <spender@grsecurity.net>
20864 Date: Thu Aug 1 18:43:53 2013 -0400
20865
20866 fix compilation for !COMPAT as reported on the forums
20867
20868 grsecurity/gracl.c | 195 ++++++++++++++++++++++++++--------------------------
20869 1 files changed, 97 insertions(+), 98 deletions(-)
20870
20871 commit 65c9b9c6c42939dc55be1b8842e7c2e05733056c
20872 Merge: 65019c9 7f91ba1
20873 Author: Brad Spengler <spender@grsecurity.net>
20874 Date: Wed Jul 31 17:47:31 2013 -0400
20875
20876 Merge branch 'pax-test' into grsec-test
20877
20878 commit 65019c9bd05f860437071cbf00e2027fd2d68615
20879 Author: Brad Spengler <spender@grsecurity.net>
20880 Date: Wed Jul 31 17:47:20 2013 -0400
20881
20882 Revert "revert recent PaX change that causes boot failures with 32bit userland"
20883
20884 This reverts commit 23278a1ee1c7738dd1e7005241394d32b82196e4.
20885
20886 arch/x86/include/asm/processor.h | 4 ++--
20887 arch/x86/kernel/cpu/common.c | 2 +-
20888 arch/x86/kernel/process_64.c | 2 +-
20889 arch/x86/kernel/smpboot.c | 2 +-
20890 arch/x86/xen/smp.c | 2 +-
20891 5 files changed, 6 insertions(+), 6 deletions(-)
20892
20893 commit 7f91ba11122fcaa96fc2dca42bddcd5f8db3b945
20894 Author: Brad Spengler <spender@grsecurity.net>
20895 Date: Wed Jul 31 17:46:00 2013 -0400
20896
20897 Update to pax-linux-3.10.4-test7.patch:
20898 - added a few more missing format strings
20899 - added reporting of mismatched MPROTECT/EMUTRAMP flags between libraries and the main executable
20900 - reverted the recent amd64 kstack alignment fix, it'll be done the harder way another time
20901 - fixed a UDEREF/i386 regression, __get_user_8 would always fail
20902
20903 arch/x86/include/asm/processor.h | 4 +-
20904 arch/x86/kernel/cpu/common.c | 2 +-
20905 arch/x86/kernel/dumpstack.c | 2 +-
20906 arch/x86/kernel/process_64.c | 2 +-
20907 arch/x86/kernel/reboot_fixups_32.c | 2 +-
20908 arch/x86/kernel/smpboot.c | 2 +-
20909 arch/x86/lib/getuser.S | 4 +-
20910 arch/x86/xen/smp.c | 2 +-
20911 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 8 ++--
20912 drivers/video/backlight/backlight.c | 2 +-
20913 drivers/video/backlight/lcd.c | 2 +-
20914 fs/binfmt_elf.c | 51 +++++++++++++++++++++++++---
20915 fs/exec.c | 50 +++++++++++++--------------
20916 include/linux/sched.h | 2 +
20917 14 files changed, 88 insertions(+), 47 deletions(-)
20918
20919 commit 043130da54cb7cc8dc44e0ce889d426e889a0532
20920 Author: Brad Spengler <spender@grsecurity.net>
20921 Date: Wed Jul 31 16:26:58 2013 -0400
20922
20923 compile fix for !COMPAT as mentioned on forums
20924
20925 grsecurity/gracl.c | 2 ++
20926 1 files changed, 2 insertions(+), 0 deletions(-)
20927
20928 commit ed0a195abd4e41c2449a020a53a19c74dc866d78
20929 Author: Brad Spengler <spender@grsecurity.net>
20930 Date: Tue Jul 30 22:33:14 2013 -0400
20931
20932 perform compat conversion of rlimit infinity
20933
20934 grsecurity/gracl_compat.c | 10 ++++++++--
20935 1 files changed, 8 insertions(+), 2 deletions(-)
20936
20937 commit a99c1b9f31678c1c72a63bea65aed1b2d3205259
20938 Author: Brad Spengler <spender@grsecurity.net>
20939 Date: Tue Jul 30 22:21:40 2013 -0400
20940
20941 remove debugging
20942
20943 grsecurity/gracl_compat.c | 44 +++++++++++---------------------------------
20944 1 files changed, 11 insertions(+), 33 deletions(-)
20945
20946 commit e75b3f504692b97960a7530ad0855d91441d79c0
20947 Author: Brad Spengler <spender@grsecurity.net>
20948 Date: Tue Jul 30 22:20:32 2013 -0400
20949
20950 eliminate compat_dev_t
20951
20952 include/linux/gracl_compat.h | 4 ++--
20953 1 files changed, 2 insertions(+), 2 deletions(-)
20954
20955 commit e5abbaf95313066a724e1a843d4fc902a9a6450e
20956 Author: Brad Spengler <spender@grsecurity.net>
20957 Date: Tue Jul 30 22:13:22 2013 -0400
20958
20959 fix compat rlimit size
20960
20961 grsecurity/gracl_compat.c | 68 +++++++++++++++++++++++++++++-------------
20962 include/linux/gracl_compat.h | 4 +-
20963 2 files changed, 49 insertions(+), 23 deletions(-)
20964
20965 commit 877d6c2f8b3518ff39601084560bb33c58d35a1f
20966 Author: Brad Spengler <spender@grsecurity.net>
20967 Date: Tue Jul 30 21:20:18 2013 -0400
20968
20969 compile fix
20970
20971 grsecurity/gracl.c | 4 ++--
20972 1 files changed, 2 insertions(+), 2 deletions(-)
20973
20974 commit a2062eae8d1dc48d338480e599fedee2dc5e2f98
20975 Author: Brad Spengler <spender@grsecurity.net>
20976 Date: Tue Jul 30 21:14:29 2013 -0400
20977
20978 copy correct pointer size in new compat code
20979
20980 grsecurity/gracl.c | 8 ++++----
20981 grsecurity/gracl_compat.c | 4 ++--
20982 2 files changed, 6 insertions(+), 6 deletions(-)
20983
20984 commit 23278a1ee1c7738dd1e7005241394d32b82196e4
20985 Author: Brad Spengler <spender@grsecurity.net>
20986 Date: Tue Jul 30 19:48:58 2013 -0400
20987
20988 revert recent PaX change that causes boot failures with 32bit userland
20989
20990 arch/x86/include/asm/processor.h | 4 ++--
20991 arch/x86/kernel/cpu/common.c | 2 +-
20992 arch/x86/kernel/process_64.c | 2 +-
20993 arch/x86/kernel/smpboot.c | 2 +-
20994 arch/x86/xen/smp.c | 2 +-
20995 5 files changed, 6 insertions(+), 6 deletions(-)
20996
20997 commit ec27f71a813656fea8ab37faecb2b485fe99d08e
20998 Merge: 3a11bcf 05f0a61
20999 Author: Brad Spengler <spender@grsecurity.net>
21000 Date: Tue Jul 30 19:42:21 2013 -0400
21001
21002 Merge branch 'pax-test' into grsec-test
21003
21004 commit 05f0a610373fa95df838f97c3fcfb59a3d79c5b8
21005 Author: Brad Spengler <spender@grsecurity.net>
21006 Date: Tue Jul 30 19:41:44 2013 -0400
21007
21008 Update to pax-linux-3.10.4-test6.patch:
21009 - fixed some size_overflow false positives on i386 caused by __SC_LONG, reported by spender
21010
21011 include/linux/syscalls.h | 8 ++++++--
21012 1 files changed, 6 insertions(+), 2 deletions(-)
21013
21014 commit 3a11bcfcc738ed5dbf0d56713db872ed36351a26
21015 Author: Brad Spengler <spender@grsecurity.net>
21016 Date: Tue Jul 30 19:15:50 2013 -0400
21017
21018 compile fix
21019
21020 grsecurity/gracl_compat.c | 6 ++++++
21021 1 files changed, 6 insertions(+), 0 deletions(-)
21022
21023 commit 1dbd99b5cb0b6757eadf22309501e7fdd84f5de7
21024 Author: Brad Spengler <spender@grsecurity.net>
21025 Date: Tue Jul 30 19:12:46 2013 -0400
21026
21027 remove BUILD_BUG_ONs
21028
21029 grsecurity/gracl_compat.c | 20 --------------------
21030 1 files changed, 0 insertions(+), 20 deletions(-)
21031
21032 commit a283b21cbd77622383a1dcb1f7bf1080db3bae88
21033 Author: Brad Spengler <spender@grsecurity.net>
21034 Date: Tue Jul 30 00:18:36 2013 -0400
21035
21036 compile fixes
21037
21038 grsecurity/gracl_compat.c | 8 ++++----
21039 include/linux/gracl_compat.h | 2 +-
21040 2 files changed, 5 insertions(+), 5 deletions(-)
21041
21042 commit 8b744005f8bae565e24c1fd88af77e6e619b9434
21043 Author: Brad Spengler <spender@grsecurity.net>
21044 Date: Tue Jul 30 00:16:42 2013 -0400
21045
21046 compile fixes
21047
21048 grsecurity/gracl.c | 4 ++--
21049 grsecurity/gracl_compat.c | 2 +-
21050 2 files changed, 3 insertions(+), 3 deletions(-)
21051
21052 commit 5cd86afa393bf9bf38c2e9063191709ac2beff2c
21053 Author: Brad Spengler <spender@grsecurity.net>
21054 Date: Tue Jul 30 00:13:51 2013 -0400
21055
21056 compile fixes
21057
21058 grsecurity/gracl.c | 8 ++++----
21059 1 files changed, 4 insertions(+), 4 deletions(-)
21060
21061 commit b93b829afcc98b6108b18d99ff63c53642d0b951
21062 Author: Brad Spengler <spender@grsecurity.net>
21063 Date: Tue Jul 30 00:11:03 2013 -0400
21064
21065 compile fixes
21066
21067 grsecurity/gracl_compat.c | 3 +++
21068 1 files changed, 3 insertions(+), 0 deletions(-)
21069
21070 commit 7da096415fa633c4ad2b1f74bd43d3a58a63b5c0
21071 Author: Brad Spengler <spender@grsecurity.net>
21072 Date: Tue Jul 30 00:08:21 2013 -0400
21073
21074 more compile fixes
21075
21076 grsecurity/gracl.c | 28 ++++++++++++++--------------
21077 1 files changed, 14 insertions(+), 14 deletions(-)
21078
21079 commit 6c1fd80e19f1449b6895f1ed77f23f1245470b3b
21080 Author: Brad Spengler <spender@grsecurity.net>
21081 Date: Mon Jul 29 23:59:50 2013 -0400
21082
21083 more compile fixes
21084
21085 grsecurity/gracl.c | 10 +++++++++-
21086 1 files changed, 9 insertions(+), 1 deletions(-)
21087
21088 commit 89dda536f276dd4bb55fa0f9ea8980ac8b750d29
21089 Author: Brad Spengler <spender@grsecurity.net>
21090 Date: Mon Jul 29 23:56:47 2013 -0400
21091
21092 additional compile fixes
21093
21094 grsecurity/gracl.c | 59 +++++++++++++++++++++++++++++++++++++++++++--------
21095 1 files changed, 49 insertions(+), 10 deletions(-)
21096
21097 commit ac695a081d1124fb28bec46814535d34c5e40611
21098 Author: Brad Spengler <spender@grsecurity.net>
21099 Date: Mon Jul 29 23:47:15 2013 -0400
21100
21101 fix typo
21102
21103 grsecurity/gracl.c | 2 +-
21104 1 files changed, 1 insertions(+), 1 deletions(-)
21105
21106 commit d95dd21a8d6d00c5cf34fee3f45dd914b6da6093
21107 Author: Brad Spengler <spender@grsecurity.net>
21108 Date: Mon Jul 29 23:46:59 2013 -0400
21109
21110 compile fixes
21111
21112 grsecurity/gracl.c | 53 ++++++++++++++++++++++++++++++++++++++-------------
21113 1 files changed, 39 insertions(+), 14 deletions(-)
21114
21115 commit 82631f451cc7432b6c5578cf8d24155473feb25c
21116 Author: Brad Spengler <spender@grsecurity.net>
21117 Date: Mon Jul 29 23:22:44 2013 -0400
21118
21119 Initial commit of compat RBAC loading
21120 Permits 32bit gradm to load policy for a 64bit kernel
21121
21122 Also removed code duplication for copying strings into the kernel
21123
21124 Work performed as part of sponsorship
21125
21126 grsecurity/Makefile | 4 +
21127 grsecurity/gracl.c | 315 +++++++++++++++++++++++-------------------
21128 grsecurity/gracl_compat.c | 270 ++++++++++++++++++++++++++++++++++++
21129 include/linux/gracl_compat.h | 156 +++++++++++++++++++++
21130 4 files changed, 603 insertions(+), 142 deletions(-)
21131
21132 commit 84c4a433dfb096e4a1162ee5e68025122c70b421
21133 Merge: c9d3ed3 9fe5897
21134 Author: Brad Spengler <spender@grsecurity.net>
21135 Date: Mon Jul 29 17:08:56 2013 -0400
21136
21137 Merge branch 'pax-test' into grsec-test
21138
21139 commit 9fe58978938e357642885866ca48090a7753d403
21140 Merge: 8f693ad 6f7bb6b
21141 Author: Brad Spengler <spender@grsecurity.net>
21142 Date: Mon Jul 29 17:08:43 2013 -0400
21143
21144 Merge branch 'linux-3.10.y' into pax-test
21145
21146 commit c9d3ed33c5370bbacfadf86f6a1566828a3d7775
21147 Merge: d5e5bfd 8f693ad
21148 Author: Brad Spengler <spender@grsecurity.net>
21149 Date: Sun Jul 28 10:03:08 2013 -0400
21150
21151 Merge branch 'pax-test' into grsec-test
21152
21153 commit 8f693ade9b3e448f92706d34148b00a087637f70
21154 Author: Brad Spengler <spender@grsecurity.net>
21155 Date: Sun Jul 28 10:02:16 2013 -0400
21156
21157 Update to pax-linux-3.10.3-test5.patch:
21158 - fixed amd64 kstack alignment (caught by some crazy codegen by clang/llvm)
21159 - fixed handling of faulting userland accesses for UDEREF/arm, from spender
21160 - updated the size overflow hash table, from Emese
21161
21162 arch/arm/kernel/entry-armv.S | 3 +-
21163 arch/x86/include/asm/processor.h | 4 +-
21164 arch/x86/kernel/cpu/common.c | 2 +-
21165 arch/x86/kernel/process_64.c | 2 +-
21166 arch/x86/kernel/smpboot.c | 2 +-
21167 arch/x86/xen/smp.c | 2 +-
21168 tools/gcc/size_overflow_hash.data | 553 +++++++++++++++++++++++++++++++++----
21169 7 files changed, 513 insertions(+), 55 deletions(-)
21170
21171 commit d5e5bfd6ecc1fc7e86d070df8eb0ce8d0643c558
21172 Merge: 19e077b 8a8a0d0
21173 Author: Brad Spengler <spender@grsecurity.net>
21174 Date: Thu Jul 25 21:05:18 2013 -0400
21175
21176 Merge branch 'pax-test' into grsec-test
21177
21178 commit 8a8a0d0b22a86bf65302d03bb6732e42bc0a2e56
21179 Author: Brad Spengler <spender@grsecurity.net>
21180 Date: Thu Jul 25 21:04:09 2013 -0400
21181
21182 Update to pax-linux-3.10.3-test4.patch:
21183 - introduced per-slab object sanitization, contributed by Mathias Krause and secunet.
21184 this is finer grained sanitization than the existing per-page based approach (which
21185 is still done) at a somewhat higher performance cost. the pax_sanitize_slab command
21186 line option can be used to enable/disable it on boot (it's enabled by default when
21187 CONFIG_PAX_MEMORY_SANITIZE is enabled).
21188
21189 Documentation/kernel-parameters.txt | 4 ++++
21190 fs/buffer.c | 2 +-
21191 fs/dcache.c | 3 ++-
21192 include/linux/slab.h | 7 +++++++
21193 include/linux/slab_def.h | 4 ++++
21194 kernel/fork.c | 2 +-
21195 mm/rmap.c | 6 ++++--
21196 mm/slab.c | 27 +++++++++++++++++++++++++++
21197 mm/slab.h | 12 +++++++++++-
21198 mm/slab_common.c | 14 ++++++++++++++
21199 mm/slob.c | 5 +++++
21200 mm/slub.c | 11 +++++++++++
21201 net/core/skbuff.c | 6 ++++--
21202 security/Kconfig | 23 +++++++++++++++++------
21203 14 files changed, 112 insertions(+), 14 deletions(-)
21204
21205 commit 19e077bfff54ca211d0142c07cb6dd88069a390c
21206 Merge: 960ec51 c8f7f51
21207 Author: Brad Spengler <spender@grsecurity.net>
21208 Date: Thu Jul 25 19:53:34 2013 -0400
21209
21210 Merge branch 'pax-test' into grsec-test
21211
21212 commit c8f7f51591207b82530214300e86277028919286
21213 Merge: d5142e3 81a4648
21214 Author: Brad Spengler <spender@grsecurity.net>
21215 Date: Thu Jul 25 19:52:29 2013 -0400
21216
21217 Update to pax-linux-3.10.3-test3.patch:
21218 - fixed some compile issues reported by Michael Tremer and spender
21219 - fixed an i386 regression with the lower address space gap on i386, reported by cnu
21220
21221 Merge branch 'linux-3.10.y' into pax-test
21222
21223 Conflicts:
21224 kernel/time/tick-broadcast.c
21225
21226 commit 960ec51ab2142544fbae563d4fd5744775408965
21227 Author: Al Viro <viro@zeniv.linux.org.uk>
21228 Date: Sat Jul 20 03:13:55 2013 +0400
21229
21230 Upstream commit: acfec9a5a892f98461f52ed5770de99a3e571ae2
21231
21232 livelock avoidance in sget()
21233
21234 Eric Sandeen has found a nasty livelock in sget() - take a mount(2) about
21235 to fail. The superblock is on ->fs_supers, ->s_umount is held exclusive,
21236 ->s_active is 1. Along comes two more processes, trying to mount the same
21237 thing; sget() in each is picking that superblock, bumping ->s_count and
21238 trying to grab ->s_umount. ->s_active is 3 now. Original mount(2)
21239 finally gets to deactivate_locked_super() on failure; ->s_active is 2,
21240 superblock is still ->fs_supers because shutdown will *not* happen until
21241 ->s_active hits 0. ->s_umount is dropped and now we have two processes
21242 chasing each other:
21243 s_active = 2, A acquired ->s_umount, B blocked
21244 A sees that the damn thing is stillborn, does deactivate_locked_super()
21245 s_active = 1, A drops ->s_umount, B gets it
21246 A restarts the search and finds the same superblock. And bumps it ->s_active.
21247 s_active = 2, B holds ->s_umount, A blocked on trying to get it
21248 ... and we are in the earlier situation with A and B switched places.
21249
21250 The root cause, of course, is that ->s_active should not grow until we'd
21251 got MS_BORN. Then failing ->mount() will have deactivate_locked_super()
21252 shut the damn thing down. Fortunately, it's easy to do - the key point
21253 is that grab_super() is called only for superblocks currently on ->fs_supers,
21254 so it can bump ->s_count and grab ->s_umount first, then check MS_BORN and
21255 bump ->s_active; we must never increment ->s_count for superblocks past
21256 ->kill_sb(), but grab_super() is never called for those.
21257
21258 The bug is pretty old; we would've caught it by now, if not for accidental
21259 exclusion between sget() for block filesystems; the things like cgroup or
21260 e.g. mtd-based filesystems don't have anything of that sort, so they get
21261 bitten. The right way to deal with that is obviously to fix sget()...
21262
21263 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
21264
21265 fs/super.c | 25 ++++++++++---------------
21266 1 files changed, 10 insertions(+), 15 deletions(-)
21267
21268 commit 3540cebbbfa4aef94527ad3e0e49097848147fb9
21269 Merge: ab95b58 d5142e3
21270 Author: Brad Spengler <spender@grsecurity.net>
21271 Date: Sun Jul 21 22:47:46 2013 -0400
21272
21273 Merge branch 'pax-test' into grsec-test
21274
21275 commit d5142e31785f8c32c7338c51fcc27313bdd4a84e
21276 Merge: f36ae8c 0f4a56e
21277 Author: Brad Spengler <spender@grsecurity.net>
21278 Date: Sun Jul 21 22:47:34 2013 -0400
21279
21280 Merge branch 'linux-3.10.y' into pax-test
21281
21282 commit ab95b5842899d61ff5c30f4582e72029b3155be8
21283 Author: Brad Spengler <spender@grsecurity.net>
21284 Date: Sun Jul 21 22:28:40 2013 -0400
21285
21286 compile fix with constification reported by Michael Tremer
21287
21288 drivers/gpu/host1x/drm/dc.c | 2 +-
21289 1 files changed, 1 insertions(+), 1 deletions(-)
21290
21291 commit 817cd2d1e7a55720326599dd8f542578eef30927
21292 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
21293 Date: Fri Jul 12 23:46:33 2013 +0200
21294
21295 Upstream commit: 307f2fb95e9b96b3577916e73d92e104f8f26494
21296
21297 ipv6: only static routes qualify for equal cost multipathing
21298
21299 Static routes in this case are non-expiring routes which did not get
21300 configured by autoconf or by icmpv6 redirects.
21301
21302 To make sure we actually get an ecmp route while searching for the first
21303 one in this fib6_node's leafs, also make sure it matches the ecmp route
21304 assumptions.
21305
21306 v2:
21307 a) Removed RTF_EXPIRE check in dst.from chain. The check of RTF_ADDRCONF
21308 already ensures that this route, even if added again without
21309 RTF_EXPIRES (in case of a RA announcement with infinite timeout),
21310 does not cause the rt6i_nsiblings logic to go wrong if a later RA
21311 updates the expiration time later.
21312
21313 v3:
21314 a) Allow RTF_EXPIRES routes to enter the ecmp route set. We have to do so,
21315 because an pmtu event could update the RTF_EXPIRES flag and we would
21316 not count this route, if another route joins this set. We now filter
21317 only for RTF_GATEWAY|RTF_ADDRCONF|RTF_DYNAMIC, which are flags that
21318 don't get changed after rt6_info construction.
21319
21320 Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
21321 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
21322 Signed-off-by: David S. Miller <davem@davemloft.net>
21323
21324 net/ipv6/ip6_fib.c | 15 +++++++++++----
21325 1 files changed, 11 insertions(+), 4 deletions(-)
21326
21327 commit 77db8196d51b043e2e2d124094da101b0f01bccb
21328 Author: Dan Carpenter <dan.carpenter@oracle.com>
21329 Date: Fri Jul 12 09:39:03 2013 +0300
21330
21331 Upstream commit: b2781e1021525649c0b33fffd005ef219da33926
21332
21333 svcrdma: underflow issue in decode_write_list()
21334
21335 My static checker marks everything from ntohl() as untrusted and it
21336 complains we could have an underflow problem doing:
21337
21338 return (u32 *)&ary->wc_array[nchunks];
21339
21340 Also on 32 bit systems the upper bound check could overflow.
21341
21342 Cc: stable@vger.kernel.org
21343 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
21344 Signed-off-by: J. Bruce Fields <bfields@redhat.com>
21345
21346 net/sunrpc/xprtrdma/svc_rdma_marshal.c | 20 ++++++++++++++------
21347 1 files changed, 14 insertions(+), 6 deletions(-)
21348
21349 commit 926473317fd7953137ef97835edd36dabc584b01
21350 Author: Brad Spengler <spender@grsecurity.net>
21351 Date: Wed Jul 17 21:29:02 2013 -0400
21352
21353 add missing asm/pgtable.h include, reported by Michael Tremer
21354
21355 drivers/clk/socfpga/clk.c | 1 +
21356 1 files changed, 1 insertions(+), 0 deletions(-)
21357
21358 commit c592ae0001b31932ef1491784dfa374058797c66
21359 Author: Brad Spengler <spender@grsecurity.net>
21360 Date: Tue Jul 16 20:40:24 2013 -0400
21361
21362 allow viewing of ecryptfs version under SYSFS_RESTRICT
21363
21364 fs/sysfs/dir.c | 2 +-
21365 1 files changed, 1 insertions(+), 1 deletions(-)
21366
21367 commit 36db325ef3b07ea8cdb47f549e706e5d71398e14
21368 Merge: 9c96441 f36ae8c
21369 Author: Brad Spengler <spender@grsecurity.net>
21370 Date: Sun Jul 14 19:23:13 2013 -0400
21371
21372 Merge branch 'pax-test' into grsec-test
21373
21374 commit f36ae8c741ae32b1caff10825be12c327792c925
21375 Author: Brad Spengler <spender@grsecurity.net>
21376 Date: Sun Jul 14 19:22:15 2013 -0400
21377
21378 Update to pax-linux-3.10-test2.patch:
21379 - spender fixed a compile regression in a recent arm/UDEREF change, reported by Michael Tremer
21380 - spender fixed arm/KERNEXEC for v5 and older CPUs, reported by Michael Tremer
21381 - spender fixed a new CONSTIFY victim on arm, reported by Michael Tremer
21382 - spender fixed an madvise regression, reported by Peter Keel
21383 - spender fixed a SLAB regression, reported by Thorsten (http://forums.grsecurity.net/viewtopic.php?f=3&t=3614) and Jens (http://forums.grsecurity.net/viewtopic.php?f=1&t=3616)
21384 - fixed a headers_install regression, reported by Mathias Krause
21385 - fixed a SLOB compile regression, reported by Mathias Krause
21386
21387 arch/arm/include/asm/uaccess.h | 4 ++--
21388 arch/arm/mm/mmu.c | 15 +++++++++++++--
21389 drivers/clk/socfpga/clk.c | 6 ++++--
21390 mm/madvise.c | 4 ++--
21391 mm/slab.c | 4 ++--
21392 mm/slob.c | 4 ++--
21393 scripts/headers_install.sh | 2 +-
21394 7 files changed, 26 insertions(+), 13 deletions(-)
21395
21396 commit 9c9644156a49637050741d9165df79174e59b0ef
21397 Author: Brad Spengler <spender@grsecurity.net>
21398 Date: Sun Jul 14 19:19:54 2013 -0400
21399
21400 Fix sparc64 compilation, reported by Blake Self
21401
21402 arch/sparc/kernel/sys_sparc_64.c | 4 ++--
21403 1 files changed, 2 insertions(+), 2 deletions(-)
21404
21405 commit 7bcd3db081454768542c3d741bcf32cd61a50cf5
21406 Author: Brad Spengler <spender@grsecurity.net>
21407 Date: Sun Jul 14 11:49:17 2013 -0400
21408
21409 Update PaX fix, just return the error
21410
21411 mm/madvise.c | 15 +++++++--------
21412 1 files changed, 7 insertions(+), 8 deletions(-)
21413
21414 commit a10e377d0eddd37e8a3665b135e546ab03d9d171
21415 Author: Brad Spengler <spender@grsecurity.net>
21416 Date: Sun Jul 14 11:36:00 2013 -0400
21417
21418 Fix madvise oops reported by Peter Keel
21419
21420 mm/madvise.c | 11 ++++++-----
21421 1 files changed, 6 insertions(+), 5 deletions(-)
21422
21423 commit 08c5adca34d408772255b313f90d82c250c1d967
21424 Author: Brad Spengler <spender@grsecurity.net>
21425 Date: Sun Jul 14 11:26:34 2013 -0400
21426
21427 don't make high vector mapping non-present on old ARM architectures, no
21428 point in emulating some vector entries when the processor doesn't even support XN
21429
21430 arch/arm/mm/mmu.c | 7 +++++--
21431 1 files changed, 5 insertions(+), 2 deletions(-)
21432
21433 commit 2b40781d4197a89a003616af584884e36361c5b2
21434 Author: Brad Spengler <spender@grsecurity.net>
21435 Date: Sun Jul 14 09:51:58 2013 -0400
21436
21437 Temporary compile fix for code incorrectly modifying const data
21438 Wrap a cast version of the code with open/close
21439
21440 Thanks to Michael Tremer for the report
21441
21442 drivers/clk/socfpga/clk.c | 6 ++++--
21443 1 files changed, 4 insertions(+), 2 deletions(-)
21444
21445 commit a8258c1b4098c396cd4ea719e20858182feac1c1
21446 Author: Brad Spengler <spender@grsecurity.net>
21447 Date: Sun Jul 14 09:41:16 2013 -0400
21448
21449 Fix missing right parens in pipacs' "improvement" of my ARM code ;)
21450 Thanks to Michael Tremer for reporting
21451
21452 arch/arm/include/asm/uaccess.h | 4 ++--
21453 1 files changed, 2 insertions(+), 2 deletions(-)
21454
21455 commit 8542e1e973be7cc9a009d2ada8033576b2890e6f
21456 Merge: 86f446e 2577f8e
21457 Author: Brad Spengler <spender@grsecurity.net>
21458 Date: Sat Jul 13 20:46:58 2013 -0400
21459
21460 Merge branch 'pax-test' into grsec-test
21461
21462 Conflicts:
21463 mm/memcontrol.c
21464
21465 commit 2577f8e4ec41efb347706a59c6838de20f0c90da
21466 Merge: 75a36f0 cb5d8be
21467 Author: Brad Spengler <spender@grsecurity.net>
21468 Date: Sat Jul 13 20:43:42 2013 -0400
21469
21470 Merge branch 'linux-3.10.y' into pax-test
21471
21472 Conflicts:
21473 crypto/algapi.c
21474 drivers/block/nbd.c
21475
21476 commit 86f446e9d5c6b475d2e9360cc04f4361ad1b19b8
21477 Author: Brad Spengler <spender@grsecurity.net>
21478 Date: Fri Jul 12 23:02:11 2013 -0400
21479
21480 we always want the vector page to be noaccess for userland
21481 therefore, when kernexec is disabled, instead of L_PTE_USER | L_PTE_RDONLY
21482 which turns into supervisor rwx, userland rx, we instead omit that entirely,
21483 leaving it as supervisor rwx only
21484
21485 Fixes booting on ARMv5 and earlier, which need to write directly
21486 to the high vector mapping via set_tls when context switching
21487
21488 Thanks to Michael Tremer for the bugreport
21489
21490 arch/arm/mm/mmu.c | 12 ++++++++++--
21491 1 files changed, 10 insertions(+), 2 deletions(-)
21492
21493 commit 90cd0827eef656ec884f19c977873fefe2f2e47d
21494 Author: Cong Wang <amwang@redhat.com>
21495 Date: Sat Jun 29 12:02:59 2013 +0800
21496
21497 Upstream commit: 6c734fb8592f6768170e48e7102cb2f0a1bb9759
21498
21499 gre: fix a regression in ioctl
21500
21501 When testing GRE tunnel, I got:
21502
21503 # ip tunnel show
21504 get tunnel gre0 failed: Invalid argument
21505 get tunnel gre1 failed: Invalid argument
21506
21507 This is a regression introduced by commit c54419321455631079c7d
21508 ("GRE: Refactor GRE tunneling code.") because previously we
21509 only check the parameters for SIOCADDTUNNEL and SIOCCHGTUNNEL,
21510 after that commit, the check is moved for all commands.
21511
21512 So, just check for SIOCADDTUNNEL and SIOCCHGTUNNEL.
21513
21514 After this patch I got:
21515
21516 # ip tunnel show
21517 gre0: gre/ip remote any local any ttl inherit nopmtudisc
21518 gre1: gre/ip remote 192.168.122.101 local 192.168.122.45 ttl inherit
21519
21520 Cc: Pravin B Shelar <pshelar@nicira.com>
21521 Cc: "David S. Miller" <davem@davemloft.net>
21522 Signed-off-by: Cong Wang <amwang@redhat.com>
21523 Signed-off-by: David S. Miller <davem@davemloft.net>
21524
21525 net/ipv4/ip_gre.c | 9 +++++----
21526 1 files changed, 5 insertions(+), 4 deletions(-)
21527
21528 commit 50d4e90ec8da630eac8840da9c53b8738a2f98b5
21529 Author: Cong Wang <amwang@redhat.com>
21530 Date: Sat Jun 29 13:00:57 2013 +0800
21531
21532 Upstream commit: ab6c7a0a43c2eaafa57583822b619b22637b49c7
21533
21534 vti: remove duplicated code to fix a memory leak
21535
21536 vti module allocates dev->tstats twice: in vti_fb_tunnel_init()
21537 and in vti_tunnel_init(), this lead to a memory leak of
21538 dev->tstats.
21539
21540 Just remove the duplicated operations in vti_fb_tunnel_init().
21541
21542 (candidate for -stable)
21543
21544 Cc: Stephen Hemminger <stephen@networkplumber.org>
21545 Cc: Saurabh Mohan <saurabh.mohan@vyatta.com>
21546 Cc: "David S. Miller" <davem@davemloft.net>
21547 Signed-off-by: Cong Wang <amwang@redhat.com>
21548 Acked-by: Stephen Hemminger <stephen@networkplumber.org>
21549 Signed-off-by: David S. Miller <davem@davemloft.net>
21550
21551 net/ipv4/ip_vti.c | 7 -------
21552 1 files changed, 0 insertions(+), 7 deletions(-)
21553
21554 commit af9e57897a8fab9bbeceb984bd0aeaedb36aefcd
21555 Author: Michal Schmidt <mschmidt@redhat.com>
21556 Date: Mon Jul 1 17:23:05 2013 +0200
21557
21558 Upstream commit: 058eec4116935c5640299913e1e0715e87ec622a
21559
21560 bnx2x: remove zeroing of dump data buffer
21561
21562 There is no need to initialize the dump data with zeros.
21563 data is allocated with vzalloc, so it's already zero-filled.
21564
21565 More importantly, the memset is harmful, because dump->len (the length
21566 requested by userspace) can be bigger than the allocated buffer (whose
21567 size is determined by asking the driver's .get_dump_flag method).
21568
21569 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
21570 Signed-off-by: David S. Miller <davem@davemloft.net>
21571
21572 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 --
21573 1 files changed, 0 insertions(+), 2 deletions(-)
21574
21575 commit c771072b72c261f9bddd6734dca6979c1b96e7df
21576 Author: Michal Schmidt <mschmidt@redhat.com>
21577 Date: Mon Jul 1 17:23:06 2013 +0200
21578
21579 Upstream commit: 5bb680d6cbe36de9d7ba12b05f845c91a8692318
21580
21581 bnx2x: fix dump flag handling
21582
21583 bnx2x interprets the dump flag as an index of a register preset.
21584 It is important to validate the index to avoid out of bounds
21585 memory accesses.
21586
21587 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
21588 Signed-off-by: David S. Miller <davem@davemloft.net>
21589
21590 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 3 +++
21591 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 ++
21592 2 files changed, 5 insertions(+), 0 deletions(-)
21593
21594 commit aed315c8fad9b2044143b46b239574b1b72135ce
21595 Author: Michal Schmidt <mschmidt@redhat.com>
21596 Date: Mon Jul 1 17:23:30 2013 +0200
21597
21598 Upstream commit: c590b5e2f05b5e98e614382582b7ae4cddb37599
21599
21600 ethtool: make .get_dump_data() harder to misuse by drivers
21601
21602 As the patch "bnx2x: remove zeroing of dump data buffer" showed,
21603 it is too easy implement .get_dump_data incorrectly in a driver.
21604
21605 Let's make sure drivers cannot get confused by userspace requesting
21606 a too big dump.
21607
21608 Also WARN if the driver sets dump->len to something weird and make
21609 sure the length reported to userspace is the actual length of data
21610 copied to userspace.
21611
21612 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
21613 Reviewed-by: Ben Hutchings <ben@decadent.org.uk>
21614 Signed-off-by: David S. Miller <davem@davemloft.net>
21615
21616 net/core/ethtool.c | 21 ++++++++++++++++++++-
21617 1 files changed, 20 insertions(+), 1 deletions(-)
21618
21619 commit 5c57991e66216e386dcc875d34c33f0edd038569
21620 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
21621 Date: Tue Jul 2 09:02:07 2013 +0800
21622
21623 Upstream commit: e1558a93b61962710733dc8c11a2bc765607f1cd
21624
21625 l2tp: add missing .owner to struct pppox_proto
21626
21627 Add missing .owner of struct pppox_proto. This prevents the
21628 module from being removed from underneath its users.
21629
21630 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
21631 Signed-off-by: David S. Miller <davem@davemloft.net>
21632
21633 net/l2tp/l2tp_ppp.c | 3 ++-
21634 1 files changed, 2 insertions(+), 1 deletions(-)
21635
21636 commit 4613b8adae32cc774bb727d2ec71f3d0bd7ff1c4
21637 Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
21638 Date: Sun Jun 30 14:37:11 2013 +1000
21639
21640 Upstream commit: 7cc47d139f9a815a91bd9e7377063238c69a0423
21641
21642 cxgb3: Missing rtnl lock in error recovery
21643
21644 When exercising error injection on IBM pseries machine, I hit the
21645 following warning:
21646
21647 [ 251.450043] RTAS: event: 89, Type: Platform Error, Severity: 2
21648 [ 253.549822] cxgb3 0006:01:00.0: enabling device (0140 -> 0142)
21649 [ 253.713560] cxgb3 0006:01:00.0: adapter recovering, PEX ERR 0x100
21650 [ 254.895437] RTNL: assertion failed at net/core/dev.c (2031)
21651 [ 254.895467] CPU: 6 PID: 5449 Comm: eehd Tainted: G W 3.10.0-rc7-00157-gea461ab #19
21652 [ 254.895474] Call Trace:
21653 [ 254.895483] [c000000fac56f7d0] [c000000000014dcc] .show_stack+0x7c/0x1f0 (unreliable)
21654 [ 254.895493] [c000000fac56f8a0] [c0000000007ba318] .dump_stack+0x28/0x3c
21655 [ 254.895500] [c000000fac56f910] [c0000000006c0384] .netif_set_real_num_tx_queues+0x224/0x230
21656 [ 254.895515] [c000000fac56f9b0] [d00000000ef35510] .cxgb_open+0x80/0x3f0 [cxgb3]
21657 [ 254.895525] [c000000fac56fa50] [d00000000ef35914] .t3_resume_ports+0x94/0x100 [cxgb3]
21658 [ 254.895533] [c000000fac56fae0] [c00000000005fc8c] .eeh_report_resume+0x8c/0xd0
21659 [ 254.895539] [c000000fac56fb60] [c00000000005e9fc] .eeh_pe_dev_traverse+0x9c/0x190
21660 [ 254.895545] [c000000fac56fc10] [c000000000060000] .eeh_handle_event+0x110/0x330
21661 [ 254.895551] [c000000fac56fca0] [c000000000060350] .eeh_event_handler+0x130/0x1a0
21662 [ 254.895558] [c000000fac56fd30] [c0000000000ad758] .kthread+0xe8/0xf0
21663 [ 254.895566] [c000000fac56fe30] [c00000000000a05c] .ret_from_kernel_thread+0x5c/0x80
21664
21665 It appears that t3_resume_ports() is called with the rtnl_lock held from
21666 the fatal error task but not from the PCI error callbacks. This fixes it.
21667
21668 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
21669 Signed-off-by: David S. Miller <davem@davemloft.net>
21670
21671 drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 2 ++
21672 1 files changed, 2 insertions(+), 0 deletions(-)
21673
21674 commit ea8f4222cddf3250dbcfc7db0437ebf74c352370
21675 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
21676 Date: Mon Jul 1 20:21:30 2013 +0200
21677
21678 Upstream commit: 8822b64a0fa64a5dd1dfcf837c5b0be83f8c05d1
21679
21680 ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET pending data
21681
21682 We accidentally call down to ip6_push_pending_frames when uncorking
21683 pending AF_INET data on a ipv6 socket. This results in the following
21684 splat (from Dave Jones):
21685
21686 skbuff: skb_under_panic: text:ffffffff816765f6 len:48 put:40 head:ffff88013deb6df0 data:ffff88013deb6dec tail:0x2c end:0xc0 dev:<NULL>
21687 ------------[ cut here ]------------
21688 kernel BUG at net/core/skbuff.c:126!
21689 invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
21690 Modules linked in: dccp_ipv4 dccp 8021q garp bridge stp dlci mpoa snd_seq_dummy sctp fuse hidp tun bnep nfnetlink scsi_transport_iscsi rfcomm can_raw can_bcm af_802154 appletalk caif_socket can caif ipt_ULOG x25 rose af_key pppoe pppox ipx phonet irda llc2 ppp_generic slhc p8023 psnap p8022 llc crc_ccitt atm bluetooth
21691 +netrom ax25 nfc rfkill rds af_rxrpc coretemp hwmon kvm_intel kvm crc32c_intel snd_hda_codec_realtek ghash_clmulni_intel microcode pcspkr snd_hda_codec_hdmi snd_hda_intel snd_hda_codec snd_hwdep usb_debug snd_seq snd_seq_device snd_pcm e1000e snd_page_alloc snd_timer ptp snd pps_core soundcore xfs libcrc32c
21692 CPU: 2 PID: 8095 Comm: trinity-child2 Not tainted 3.10.0-rc7+ #37
21693 task: ffff8801f52c2520 ti: ffff8801e6430000 task.ti: ffff8801e6430000
21694 RIP: 0010:[<ffffffff816e759c>] [<ffffffff816e759c>] skb_panic+0x63/0x65
21695 RSP: 0018:ffff8801e6431de8 EFLAGS: 00010282
21696 RAX: 0000000000000086 RBX: ffff8802353d3cc0 RCX: 0000000000000006
21697 RDX: 0000000000003b90 RSI: ffff8801f52c2ca0 RDI: ffff8801f52c2520
21698 RBP: ffff8801e6431e08 R08: 0000000000000000 R09: 0000000000000000
21699 R10: 0000000000000001 R11: 0000000000000001 R12: ffff88022ea0c800
21700 R13: ffff88022ea0cdf8 R14: ffff8802353ecb40 R15: ffffffff81cc7800
21701 FS: 00007f5720a10740(0000) GS:ffff880244c00000(0000) knlGS:0000000000000000
21702 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
21703 CR2: 0000000005862000 CR3: 000000022843c000 CR4: 00000000001407e0
21704 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
21705 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
21706 Stack:
21707 ffff88013deb6dec 000000000000002c 00000000000000c0 ffffffff81a3f6e4
21708 ffff8801e6431e18 ffffffff8159a9aa ffff8801e6431e90 ffffffff816765f6
21709 ffffffff810b756b 0000000700000002 ffff8801e6431e40 0000fea9292aa8c0
21710 Call Trace:
21711 [<ffffffff8159a9aa>] skb_push+0x3a/0x40
21712 [<ffffffff816765f6>] ip6_push_pending_frames+0x1f6/0x4d0
21713 [<ffffffff810b756b>] ? mark_held_locks+0xbb/0x140
21714 [<ffffffff81694919>] udp_v6_push_pending_frames+0x2b9/0x3d0
21715 [<ffffffff81694660>] ? udplite_getfrag+0x20/0x20
21716 [<ffffffff8162092a>] udp_lib_setsockopt+0x1aa/0x1f0
21717 [<ffffffff811cc5e7>] ? fget_light+0x387/0x4f0
21718 [<ffffffff816958a4>] udpv6_setsockopt+0x34/0x40
21719 [<ffffffff815949f4>] sock_common_setsockopt+0x14/0x20
21720 [<ffffffff81593c31>] SyS_setsockopt+0x71/0xd0
21721 [<ffffffff816f5d54>] tracesys+0xdd/0xe2
21722 Code: 00 00 48 89 44 24 10 8b 87 d8 00 00 00 48 89 44 24 08 48 8b 87 e8 00 00 00 48 c7 c7 c0 04 aa 81 48 89 04 24 31 c0 e8 e1 7e ff ff <0f> 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55
21723 RIP [<ffffffff816e759c>] skb_panic+0x63/0x65
21724 RSP <ffff8801e6431de8>
21725
21726 This patch adds a check if the pending data is of address family AF_INET
21727 and directly calls udp_push_ending_frames from udp_v6_push_pending_frames
21728 if that is the case.
21729
21730 This bug was found by Dave Jones with trinity.
21731
21732 (Also move the initialization of fl6 below the AF_INET check, even if
21733 not strictly necessary.)
21734
21735 Cc: Dave Jones <davej@redhat.com>
21736 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
21737 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
21738 Signed-off-by: David S. Miller <davem@davemloft.net>
21739
21740 include/net/udp.h | 1 +
21741 net/ipv4/udp.c | 3 ++-
21742 net/ipv6/udp.c | 7 ++++++-
21743 3 files changed, 9 insertions(+), 2 deletions(-)
21744
21745 commit cd83094a85d9bbd5a67332156407d53cf8835432
21746 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
21747 Date: Tue Jul 2 08:04:05 2013 +0200
21748
21749 Upstream commit: 75a493e60ac4bbe2e977e7129d6d8cbb0dd236be
21750
21751 ipv6: ip6_append_data_mtu did not care about pmtudisc and frag_size
21752
21753 If the socket had an IPV6_MTU value set, ip6_append_data_mtu lost track
21754 of this when appending the second frame on a corked socket. This results
21755 in the following splat:
21756
21757 [37598.993962] ------------[ cut here ]------------
21758 [37598.994008] kernel BUG at net/core/skbuff.c:2064!
21759 [37598.994008] invalid opcode: 0000 [#1] SMP
21760 [37598.994008] Modules linked in: tcp_lp uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media vfat fat usb_storage fuse ebtable_nat xt_CHECKSUM bridge stp llc ipt_MASQUERADE nf_conntrack_netbios_ns nf_conntrack_broadcast ip6table_mangle ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 iptable_nat
21761 +nf_nat_ipv4 nf_nat iptable_mangle nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ebtable_filter ebtables ip6table_filter ip6_tables be2iscsi iscsi_boot_sysfs bnx2i cnic uio cxgb4i cxgb4 cxgb3i cxgb3 mdio libcxgbi ib_iser rdma_cm ib_addr iw_cm ib_cm ib_sa ib_mad ib_core iscsi_tcp libiscsi_tcp libiscsi
21762 +scsi_transport_iscsi rfcomm bnep iTCO_wdt iTCO_vendor_support snd_hda_codec_conexant arc4 iwldvm mac80211 snd_hda_intel acpi_cpufreq mperf coretemp snd_hda_codec microcode cdc_wdm cdc_acm
21763 [37598.994008] snd_hwdep cdc_ether snd_seq snd_seq_device usbnet mii joydev btusb snd_pcm bluetooth i2c_i801 e1000e lpc_ich mfd_core ptp iwlwifi pps_core snd_page_alloc mei cfg80211 snd_timer thinkpad_acpi snd tpm_tis soundcore rfkill tpm tpm_bios vhost_net tun macvtap macvlan kvm_intel kvm uinput binfmt_misc
21764 +dm_crypt i915 i2c_algo_bit drm_kms_helper drm i2c_core wmi video
21765 [37598.994008] CPU 0
21766 [37598.994008] Pid: 27320, comm: t2 Not tainted 3.9.6-200.fc18.x86_64 #1 LENOVO 27744PG/27744PG
21767 [37598.994008] RIP: 0010:[<ffffffff815443a5>] [<ffffffff815443a5>] skb_copy_and_csum_bits+0x325/0x330
21768 [37598.994008] RSP: 0018:ffff88003670da18 EFLAGS: 00010202
21769 [37598.994008] RAX: ffff88018105c018 RBX: 0000000000000004 RCX: 00000000000006c0
21770 [37598.994008] RDX: ffff88018105a6c0 RSI: ffff88018105a000 RDI: ffff8801e1b0aa00
21771 [37598.994008] RBP: ffff88003670da78 R08: 0000000000000000 R09: ffff88018105c040
21772 [37598.994008] R10: ffff8801e1b0aa00 R11: 0000000000000000 R12: 000000000000fff8
21773 [37598.994008] R13: 00000000000004fc R14: 00000000ffff0504 R15: 0000000000000000
21774 [37598.994008] FS: 00007f28eea59740(0000) GS:ffff88023bc00000(0000) knlGS:0000000000000000
21775 [37598.994008] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
21776 [37598.994008] CR2: 0000003d935789e0 CR3: 00000000365cb000 CR4: 00000000000407f0
21777 [37598.994008] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
21778 [37598.994008] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
21779 [37598.994008] Process t2 (pid: 27320, threadinfo ffff88003670c000, task ffff88022c162ee0)
21780 [37598.994008] Stack:
21781 [37598.994008] ffff88022e098a00 ffff88020f973fc0 0000000000000008 00000000000004c8
21782 [37598.994008] ffff88020f973fc0 00000000000004c4 ffff88003670da78 ffff8801e1b0a200
21783 [37598.994008] 0000000000000018 00000000000004c8 ffff88020f973fc0 00000000000004c4
21784 [37598.994008] Call Trace:
21785 [37598.994008] [<ffffffff815fc21f>] ip6_append_data+0xccf/0xfe0
21786 [37598.994008] [<ffffffff8158d9f0>] ? ip_copy_metadata+0x1a0/0x1a0
21787 [37598.994008] [<ffffffff81661f66>] ? _raw_spin_lock_bh+0x16/0x40
21788 [37598.994008] [<ffffffff8161548d>] udpv6_sendmsg+0x1ed/0xc10
21789 [37598.994008] [<ffffffff812a2845>] ? sock_has_perm+0x75/0x90
21790 [37598.994008] [<ffffffff815c3693>] inet_sendmsg+0x63/0xb0
21791 [37598.994008] [<ffffffff812a2973>] ? selinux_socket_sendmsg+0x23/0x30
21792 [37598.994008] [<ffffffff8153a450>] sock_sendmsg+0xb0/0xe0
21793 [37598.994008] [<ffffffff810135d1>] ? __switch_to+0x181/0x4a0
21794 [37598.994008] [<ffffffff8153d97d>] sys_sendto+0x12d/0x180
21795 [37598.994008] [<ffffffff810dfb64>] ? __audit_syscall_entry+0x94/0xf0
21796 [37598.994008] [<ffffffff81020ed1>] ? syscall_trace_enter+0x231/0x240
21797 [37598.994008] [<ffffffff8166a7e7>] tracesys+0xdd/0xe2
21798 [37598.994008] Code: fe 07 00 00 48 c7 c7 04 28 a6 81 89 45 a0 4c 89 4d b8 44 89 5d a8 e8 1b ac b1 ff 44 8b 5d a8 4c 8b 4d b8 8b 45 a0 e9 cf fe ff ff <0f> 0b 66 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48 89 e5 48
21799 [37598.994008] RIP [<ffffffff815443a5>] skb_copy_and_csum_bits+0x325/0x330
21800 [37598.994008] RSP <ffff88003670da18>
21801 [37599.007323] ---[ end trace d69f6a17f8ac8eee ]---
21802
21803 While there, also check if path mtu discovery is activated for this
21804 socket. The logic was adapted from ip6_append_data when first writing
21805 on the corked socket.
21806
21807 This bug was introduced with commit
21808 0c1833797a5a6ec23ea9261d979aa18078720b74 ("ipv6: fix incorrect ipsec
21809 fragment").
21810
21811 v2:
21812 a) Replace IPV6_PMTU_DISC_DO with IPV6_PMTUDISC_PROBE.
21813 b) Don't pass ipv6_pinfo to ip6_append_data_mtu (suggestion by Gao
21814 feng, thanks!).
21815 c) Change mtu to unsigned int, else we get a warning about
21816 non-matching types because of the min()-macro type-check.
21817
21818 Acked-by: Gao feng <gaofeng@cn.fujitsu.com>
21819 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
21820 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
21821 Signed-off-by: David S. Miller <davem@davemloft.net>
21822
21823 net/ipv6/ip6_output.c | 16 ++++++++++------
21824 1 files changed, 10 insertions(+), 6 deletions(-)
21825
21826 commit 23151ca7ca80e58d2616dac7be9fd62943c9a72c
21827 Author: Michael S. Tsirkin <mst@redhat.com>
21828 Date: Sun Jul 7 14:26:53 2013 +0300
21829
21830 Upstream commit: dd7633ecd553a5e304d349aa6f8eb8a0417098c5
21831
21832 vhost-net: fix use-after-free in vhost_net_flush
21833
21834 vhost_net_ubuf_put_and_wait has a confusing name:
21835 it will actually also free it's argument.
21836 Thus since commit 1280c27f8e29acf4af2da914e80ec27c3dbd5c01
21837 "vhost-net: flush outstanding DMAs on memory change"
21838 vhost_net_flush tries to use the argument after passing it
21839 to vhost_net_ubuf_put_and_wait, this results
21840 in use after free.
21841 To fix, don't free the argument in vhost_net_ubuf_put_and_wait,
21842 add an new API for callers that want to free ubufs.
21843
21844 Acked-by: Asias He <asias@redhat.com>
21845 Acked-by: Jason Wang <jasowang@redhat.com>
21846 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
21847 Signed-off-by: David S. Miller <davem@davemloft.net>
21848
21849 drivers/vhost/net.c | 9 +++++++--
21850 1 files changed, 7 insertions(+), 2 deletions(-)
21851
21852 commit 088806db74ac2f08c106202bc5498585a9ee529f
21853 Author: Michal Hocko <mhocko@suse.cz>
21854 Date: Mon Jul 8 16:00:29 2013 -0700
21855
21856 Upstream commit: f37a96914d1aea10fed8d9af10251f0b9caea31b
21857
21858 memcg, kmem: fix reference count handling on the error path
21859
21860 mem_cgroup_css_online calls mem_cgroup_put if memcg_init_kmem fails.
21861 This is not correct because only memcg_propagate_kmem takes an
21862 additional reference while mem_cgroup_sockets_init is allowed to fail as
21863 well (although no current implementation fails) but it doesn't take any
21864 reference. This all suggests that it should be memcg_propagate_kmem
21865 that should clean up after itself so this patch moves mem_cgroup_put
21866 over there.
21867
21868 Unfortunately this is not that easy (as pointed out by Li Zefan) because
21869 memcg_kmem_mark_dead marks the group dead (KMEM_ACCOUNTED_DEAD) if it is
21870 marked active (KMEM_ACCOUNTED_ACTIVE) which is the case even if
21871 memcg_propagate_kmem fails so the additional reference is dropped in
21872 that case in kmem_cgroup_destroy which means that the reference would be
21873 dropped two times.
21874
21875 The easiest way then would be to simply remove mem_cgrroup_put from
21876 mem_cgroup_css_online and rely on kmem_cgroup_destroy doing the right
21877 thing.
21878
21879 Signed-off-by: Michal Hocko <mhocko@suse.cz>
21880 Signed-off-by: Li Zefan <lizefan@huawei.com>
21881 Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
21882 Cc: Hugh Dickins <hughd@google.com>
21883 Cc: Tejun Heo <tj@kernel.org>
21884 Cc: Glauber Costa <glommer@openvz.org>
21885 Cc: Johannes Weiner <hannes@cmpxchg.org>
21886 Cc: <stable@vger.kernel.org> [3.8]
21887 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
21888 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
21889
21890 mm/memcontrol.c | 8 --------
21891 1 files changed, 0 insertions(+), 8 deletions(-)
21892
21893 commit 08bfb6e700d13886ed722c2236e1ec10f03a95df
21894 Author: Michal Hocko <mhocko@suse.cz>
21895 Date: Mon Jul 8 16:00:27 2013 -0700
21896
21897 Upstream commit: fa460c2d37870e0a6f94c70e8b76d05ca11b6db0
21898
21899 Revert "memcg: avoid dangling reference count in creation failure"
21900
21901 This reverts commit e4715f01be697a.
21902
21903 mem_cgroup_put is hierarchy aware so mem_cgroup_put(memcg) already drops
21904 an additional reference from all parents so the additional
21905 mem_cgrroup_put(parent) potentially causes use-after-free.
21906
21907 Signed-off-by: Michal Hocko <mhocko@suse.cz>
21908 Signed-off-by: Li Zefan <lizefan@huawei.com>
21909 Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
21910 Cc: Hugh Dickins <hughd@google.com>
21911 Cc: Tejun Heo <tj@kernel.org>
21912 Cc: Glauber Costa <glommer@openvz.org>
21913 Cc: Johannes Weiner <hannes@cmpxchg.org>
21914 Cc: <stable@vger.kernel.org> [3.9+]
21915 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
21916 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
21917
21918 mm/memcontrol.c | 2 --
21919 1 files changed, 0 insertions(+), 2 deletions(-)
21920
21921 commit 3267ec559f48327a1836eccecd53215afc5810d0
21922 Author: Tyler Hicks <tyhicks@canonical.com>
21923 Date: Thu Jun 20 13:13:59 2013 -0700
21924
21925 Upstream commit: 2cb33cac622afde897aa02d3dcd9fbba8bae839e
21926
21927 libceph: Fix NULL pointer dereference in auth client code
21928
21929 A malicious monitor can craft an auth reply message that could cause a
21930 NULL function pointer dereference in the client's kernel.
21931
21932 To prevent this, the auth_none protocol handler needs an empty
21933 ceph_auth_client_ops->build_request() function.
21934
21935 CVE-2013-1059
21936
21937 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
21938 Reported-by: Chanam Park <chanam.park@hkpco.kr>
21939 Reviewed-by: Seth Arnold <seth.arnold@canonical.com>
21940 Reviewed-by: Sage Weil <sage@inktank.com>
21941 Cc: stable@vger.kernel.org
21942
21943 net/ceph/auth_none.c | 6 ++++++
21944 1 files changed, 6 insertions(+), 0 deletions(-)
21945
21946 commit cdfeb4049e7cb38702215b2c356ce0407974ac79
21947 Author: Eric Paris <eparis@redhat.com>
21948 Date: Wed Jul 3 15:08:29 2013 -0700
21949
21950 Upstream commit: b57922b6c76c3ee401bb32fd3f298409dd6e6a53
21951
21952 fork: reorder permissions when violating number of processes limits
21953
21954 When a task is attempting to violate the RLIMIT_NPROC limit we have a
21955 check to see if the task is sufficiently priviledged. The check first
21956 looks at CAP_SYS_ADMIN, then CAP_SYS_RESOURCE, then if the task is uid=0.
21957
21958 A result is that tasks which are allowed by the uid=0 check are first
21959 checked against the security subsystem. This results in the security
21960 subsystem auditting a denial for sys_admin and sys_resource and then the
21961 task passing the uid=0 check.
21962
21963 This patch rearranges the code to first check uid=0, since if we pass that
21964 we shouldn't hit the security system at all. We then check sys_resource,
21965 since it is the smallest capability which will solve the problem. Lastly
21966 we check the fallback everything cap_sysadmin. We don't want to give this
21967 capability many places since it is so powerful.
21968
21969 This will eliminate many of the false positive/needless denial messages we
21970 get when a root task tries to violate the nproc limit. (note that
21971 kthreads count against root, so on a sufficiently large machine we can
21972 actually get past the default limits before any userspace tasks are
21973 launched.)
21974
21975 Signed-off-by: Eric Paris <eparis@redhat.com>
21976 Cc: Al Viro <viro@zeniv.linux.org.uk>
21977 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
21978 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
21979
21980 kernel/fork.c | 4 ++--
21981 1 files changed, 2 insertions(+), 2 deletions(-)
21982
21983 commit 08c87e049c8a50707908785d950fd48c334f4c09
21984 Author: Chen Gang <gang.chen@asianux.com>
21985 Date: Sat Jun 22 13:26:09 2013 +0800
21986
21987 Upstream commit: f118e9abddfae94d7ef88858159d7556e1c2f7f6
21988
21989 arch: sparc: kernel: check the memory length before use strcpy().
21990
21991 For the related next strcpy(), the destination length is less than 512,
21992 but the source maximize length may be 'OPROMMAXPARAM' (4096) which is
21993 more than 512.
21994
21995 One work flow may:
21996 openprom_sunos_ioctl() -> if (cmd == OPROMSETOPT)
21997 getstrings() -> will alloc buffer with size 'OPROMMAXPARAM'.
21998 opromsetopt() -> devide the buffer into 'var' and 'value'
21999 of_set_property() -> pass
22000 prom_setprop() -> pass
22001 ldom_set_var()
22002
22003 And do not mind the additional 4 alignment buffer increasing, since
22004 'sizeof(pkt) - sizeof(pkt.header)' is 4 alignment at least.
22005
22006 Signed-off-by: Chen Gang <gang.chen@asianux.com>
22007 Signed-off-by: David S. Miller <davem@davemloft.net>
22008
22009 arch/sparc/kernel/ds.c | 10 ++++++++++
22010 1 files changed, 10 insertions(+), 0 deletions(-)
22011
22012 commit 0f5d7e1171c65a8d4e9186b3656e1206121efb13
22013 Author: Brad Spengler <spender@grsecurity.net>
22014 Date: Fri Jul 12 20:38:45 2013 -0400
22015
22016 Fix SLAB boot errors due to PAX_USERCOPY reported on the forums
22017
22018 Unlike slub, slab can initally create two of the kmalloc_caches
22019 which will be used later for generic kmallocs of their particular
22020 aligned size (since the later loop in the unified allocator code
22021 skips any already-existing kmalloc_caches)
22022
22023 mm/slab.c | 4 ++--
22024 1 files changed, 2 insertions(+), 2 deletions(-)
22025
22026 commit 7afc9d07a4c0a676aa5c4ac2b30882f60be6bae3
22027 Author: Brad Spengler <spender@grsecurity.net>
22028 Date: Tue Jul 9 22:04:59 2013 -0400
22029
22030 compile fixes
22031
22032 fs/exec.c | 2 +-
22033 mm/mmap.c | 4 ++--
22034 2 files changed, 3 insertions(+), 3 deletions(-)
22035
22036 commit e2d027c7e0f106be683c0c72482b8285daefcbe6
22037 Author: Brad Spengler <spender@grsecurity.net>
22038 Date: Tue Jul 9 20:58:40 2013 -0400
22039
22040 commit successful merges
22041
22042 Documentation/kernel-parameters.txt | 4 +
22043 Makefile | 8 +-
22044 arch/alpha/include/asm/cache.h | 4 +-
22045 arch/alpha/kernel/osf_sys.c | 12 +-
22046 arch/arm/include/asm/thread_info.h | 3 +-
22047 arch/arm/kernel/ptrace.c | 9 +
22048 arch/arm/kernel/traps.c | 7 +-
22049 arch/arm/mm/fault.c | 29 +-
22050 arch/arm/mm/mmap.c | 8 +-
22051 arch/avr32/include/asm/cache.h | 4 +-
22052 arch/blackfin/include/asm/cache.h | 3 +-
22053 arch/cris/include/arch-v10/arch/cache.h | 3 +-
22054 arch/cris/include/arch-v32/arch/cache.h | 3 +-
22055 arch/frv/include/asm/cache.h | 3 +-
22056 arch/frv/mm/elf-fdpic.c | 4 +-
22057 arch/hexagon/include/asm/cache.h | 6 +-
22058 arch/ia64/include/asm/cache.h | 3 +-
22059 arch/ia64/kernel/sys_ia64.c | 2 +
22060 arch/ia64/mm/hugetlbpage.c | 2 +
22061 arch/m32r/include/asm/cache.h | 4 +-
22062 arch/m68k/include/asm/cache.h | 4 +-
22063 arch/metag/mm/hugetlbpage.c | 1 +
22064 arch/microblaze/include/asm/cache.h | 3 +-
22065 arch/mips/include/asm/cache.h | 3 +-
22066 arch/mips/include/asm/thread_info.h | 9 +-
22067 arch/mips/kernel/ptrace.c | 9 +
22068 arch/mips/kernel/scall32-o32.S | 2 +-
22069 arch/mips/kernel/scall64-64.S | 2 +-
22070 arch/mips/kernel/scall64-n32.S | 2 +-
22071 arch/mips/kernel/scall64-o32.S | 2 +-
22072 arch/mips/mm/mmap.c | 4 +-
22073 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
22074 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
22075 arch/openrisc/include/asm/cache.h | 4 +-
22076 arch/parisc/include/asm/cache.h | 5 +-
22077 arch/parisc/kernel/sys_parisc.c | 17 +-
22078 arch/powerpc/include/asm/cache.h | 3 +-
22079 arch/powerpc/kernel/process.c | 10 +-
22080 arch/powerpc/kernel/ptrace.c | 14 +
22081 arch/powerpc/kernel/traps.c | 5 +
22082 arch/s390/include/asm/cache.h | 4 +-
22083 arch/score/include/asm/cache.h | 4 +-
22084 arch/sh/include/asm/cache.h | 3 +-
22085 arch/sh/mm/mmap.c | 6 +-
22086 arch/sparc/include/asm/cache.h | 4 +-
22087 arch/sparc/include/asm/thread_info_64.h | 9 +-
22088 arch/sparc/kernel/process_32.c | 6 +-
22089 arch/sparc/kernel/process_64.c | 4 +-
22090 arch/sparc/kernel/ptrace_64.c | 14 +
22091 arch/sparc/kernel/sys_sparc_64.c | 8 +-
22092 arch/sparc/kernel/syscalls.S | 8 +-
22093 arch/sparc/kernel/traps_32.c | 8 +-
22094 arch/sparc/kernel/traps_64.c | 28 +-
22095 arch/sparc/kernel/unaligned_64.c | 2 +-
22096 arch/sparc/mm/fault_64.c | 2 +-
22097 arch/sparc/mm/hugetlbpage.c | 3 +-
22098 arch/tile/include/asm/cache.h | 3 +-
22099 arch/tile/mm/hugetlbpage.c | 2 +
22100 arch/um/defconfig | 1 -
22101 arch/um/include/asm/cache.h | 3 +-
22102 arch/unicore32/include/asm/cache.h | 6 +-
22103 arch/x86/Kconfig | 5 +-
22104 arch/x86/ia32/ia32_aout.c | 2 +
22105 arch/x86/include/asm/thread_info.h | 8 +-
22106 arch/x86/kernel/dumpstack.c | 8 +
22107 arch/x86/kernel/entry_32.S | 2 +-
22108 arch/x86/kernel/entry_64.S | 2 +-
22109 arch/x86/kernel/ioport.c | 13 +
22110 arch/x86/kernel/ptrace.c | 14 +
22111 arch/x86/kernel/signal.c | 9 +-
22112 arch/x86/kernel/smpboot.c | 3 +
22113 arch/x86/kernel/sys_i386_32.c | 9 +-
22114 arch/x86/kernel/sys_x86_64.c | 8 +-
22115 arch/x86/kernel/verify_cpu.S | 1 +
22116 arch/x86/kernel/vm86_32.c | 1 +
22117 arch/x86/mm/fault.c | 12 +-
22118 arch/x86/mm/hugetlbpage.c | 15 +-
22119 arch/x86/mm/init.c | 66 +-
22120 arch/x86/net/bpf_jit_comp.c | 129 +-
22121 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
22122 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
22123 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
22124 drivers/block/cciss.c | 2 +
22125 drivers/block/cpqarray.c | 1 +
22126 drivers/cdrom/cdrom.c | 4 +-
22127 drivers/char/Kconfig | 4 +-
22128 drivers/char/genrtc.c | 1 +
22129 drivers/char/mem.c | 17 +
22130 drivers/char/mwave/tp3780i.c | 1 +
22131 drivers/char/random.c | 12 +
22132 drivers/gpu/drm/drm_info.c | 4 +
22133 drivers/hid/hid-wiimote-debug.c | 2 +-
22134 drivers/media/radio/radio-cadet.c | 2 +-
22135 drivers/message/fusion/mptbase.c | 9 +
22136 drivers/net/bonding/bond_main.c | 2 +-
22137 drivers/net/phy/mdio-bitbang.c | 1 +
22138 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
22139 drivers/pci/proc.c | 9 +
22140 drivers/rtc/rtc-dev.c | 3 +
22141 drivers/tty/sysrq.c | 2 +-
22142 drivers/tty/vt/keyboard.c | 22 +-
22143 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++++------------
22144 drivers/xen/xenfs/xenstored.c | 5 +
22145 fs/attr.c | 1 +
22146 fs/autofs4/waitq.c | 9 +
22147 fs/binfmt_aout.c | 7 +
22148 fs/binfmt_elf.c | 8 +-
22149 fs/btrfs/ioctl.c | 6 +-
22150 fs/compat.c | 20 +-
22151 fs/coredump.c | 9 +-
22152 fs/debugfs/inode.c | 4 +
22153 fs/exec.c | 184 ++-
22154 fs/ext2/balloc.c | 4 +-
22155 fs/ext3/balloc.c | 4 +-
22156 fs/ext4/resize.c | 17 +-
22157 fs/fcntl.c | 5 +
22158 fs/file.c | 4 +
22159 fs/filesystems.c | 4 +
22160 fs/fs_struct.c | 13 +-
22161 fs/hugetlbfs/inode.c | 5 +-
22162 fs/namei.c | 234 ++-
22163 fs/namespace.c | 16 +
22164 fs/notify/fanotify/fanotify_user.c | 1 +
22165 fs/open.c | 38 +
22166 fs/proc/Kconfig | 10 +-
22167 fs/proc/array.c | 59 +-
22168 fs/proc/base.c | 168 ++-
22169 fs/proc/cmdline.c | 4 +
22170 fs/proc/devices.c | 4 +
22171 fs/proc/fd.c | 17 +-
22172 fs/proc/inode.c | 4 +
22173 fs/proc/kcore.c | 3 +
22174 fs/proc/proc_net.c | 12 +
22175 fs/proc/proc_sysctl.c | 43 +-
22176 fs/proc/root.c | 8 +
22177 fs/proc/task_mmu.c | 75 +-
22178 fs/readdir.c | 19 +
22179 fs/select.c | 2 +
22180 fs/seq_file.c | 12 +-
22181 fs/stat.c | 19 +-
22182 fs/sysfs/dir.c | 12 +
22183 fs/utimes.c | 7 +
22184 fs/xattr.c | 19 +-
22185 include/linux/capability.h | 5 +
22186 include/linux/cred.h | 3 +
22187 include/linux/fs.h | 10 +
22188 include/linux/fsnotify.h | 6 +
22189 include/linux/kallsyms.h | 14 +-
22190 include/linux/kmod.h | 2 +
22191 include/linux/mm.h | 1 +
22192 include/linux/perf_event.h | 13 +-
22193 include/linux/printk.h | 3 +-
22194 include/linux/sched.h | 24 +-
22195 include/linux/security.h | 1 +
22196 include/linux/seq_file.h | 3 +
22197 include/linux/shm.h | 4 +
22198 include/linux/skbuff.h | 3 +
22199 include/linux/slab.h | 9 -
22200 include/linux/sysctl.h | 2 +
22201 include/linux/thread_info.h | 2 +
22202 include/linux/uidgid.h | 5 +
22203 include/linux/vermagic.h | 9 +-
22204 include/uapi/linux/personality.h | 1 +
22205 init/Kconfig | 3 +-
22206 init/main.c | 14 +
22207 ipc/mqueue.c | 1 +
22208 ipc/shm.c | 28 +
22209 kernel/capability.c | 39 +-
22210 kernel/cgroup.c | 2 +-
22211 kernel/compat.c | 1 +
22212 kernel/configs.c | 11 +
22213 kernel/cred.c | 110 +-
22214 kernel/events/core.c | 14 +-
22215 kernel/exit.c | 10 +-
22216 kernel/fork.c | 41 +-
22217 kernel/futex.c | 1 +
22218 kernel/kallsyms.c | 9 +
22219 kernel/kcmp.c | 4 +
22220 kernel/kmod.c | 64 +-
22221 kernel/kprobes.c | 4 +-
22222 kernel/ksysfs.c | 2 +
22223 kernel/lockdep_proc.c | 10 +-
22224 kernel/module.c | 81 +-
22225 kernel/panic.c | 2 +-
22226 kernel/pid.c | 19 +-
22227 kernel/posix-timers.c | 7 +
22228 kernel/printk.c | 5 +
22229 kernel/ptrace.c | 20 +-
22230 kernel/resource.c | 10 +
22231 kernel/sched/core.c | 6 +-
22232 kernel/signal.c | 37 +-
22233 kernel/sys.c | 45 +-
22234 kernel/sysctl.c | 70 +-
22235 kernel/taskstats.c | 6 +
22236 kernel/time.c | 5 +
22237 kernel/time/timekeeping.c | 1 +
22238 kernel/time/timer_list.c | 12 +
22239 kernel/time/timer_stats.c | 10 +-
22240 lib/Kconfig.debug | 5 +-
22241 lib/is_single_threaded.c | 3 +
22242 mm/Kconfig | 4 +-
22243 mm/filemap.c | 1 +
22244 mm/kmemleak.c | 4 +-
22245 mm/mempolicy.c | 12 +-
22246 mm/migrate.c | 3 +-
22247 mm/mlock.c | 3 +
22248 mm/mmap.c | 63 +-
22249 mm/mprotect.c | 8 +
22250 mm/process_vm_access.c | 6 +
22251 mm/slab.c | 2 +-
22252 mm/slub.c | 14 +-
22253 mm/vmalloc.c | 4 +
22254 mm/vmstat.c | 18 +-
22255 net/core/dev_ioctl.c | 4 +
22256 net/core/sock_diag.c | 7 +
22257 net/ipv4/inet_hashtables.c | 5 +
22258 net/ipv4/ip_sockglue.c | 3 +-
22259 net/ipv4/tcp_input.c | 4 +-
22260 net/ipv4/tcp_ipv4.c | 24 +-
22261 net/ipv4/tcp_minisocks.c | 9 +-
22262 net/ipv4/tcp_timer.c | 11 +
22263 net/ipv4/udp.c | 24 +
22264 net/ipv6/tcp_ipv6.c | 23 +-
22265 net/ipv6/udp.c | 4 +
22266 net/netfilter/Kconfig | 10 +
22267 net/netfilter/Makefile | 1 +
22268 net/netfilter/nf_conntrack_core.c | 8 +
22269 net/netrom/af_netrom.c | 1 -
22270 net/phonet/af_phonet.c | 2 +-
22271 net/sctp/proc.c | 3 +-
22272 net/socket.c | 66 +-
22273 net/sysctl_net.c | 2 +-
22274 net/unix/af_unix.c | 31 +-
22275 security/Kconfig | 343 +++-
22276 security/apparmor/Kconfig | 9 +
22277 security/apparmor/apparmorfs.c | 231 ++
22278 security/commoncap.c | 29 +
22279 security/min_addr.c | 2 +
22280 security/security.c | 2 -
22281 security/selinux/hooks.c | 2 -
22282 security/tomoyo/mount.c | 4 +
22283 security/yama/Kconfig | 2 +-
22284 242 files changed, 4385 insertions(+), 2042 deletions(-)
22285
22286 commit 043a378c0f72ed92cc30182c48abce39867ac93f
22287 Author: Brad Spengler <spender@grsecurity.net>
22288 Date: Tue Jul 9 20:57:40 2013 -0400
22289
22290 Commit merge of new files and rejected patches
22291
22292 arch/arm/include/asm/thread_info.h | 6 +-
22293 arch/arm/kernel/process.c | 4 +-
22294 arch/powerpc/include/asm/thread_info.h | 7 +-
22295 arch/powerpc/mm/slice.c | 2 +-
22296 arch/sparc/kernel/process_64.c | 4 +-
22297 arch/x86/kernel/vm86_32.c | 15 +
22298 fs/coredump.c | 1 +
22299 fs/ext4/balloc.c | 4 +-
22300 fs/namei.c | 7 +
22301 fs/namespace.c | 8 +
22302 fs/pipe.c | 2 +-
22303 fs/proc/inode.c | 13 +
22304 fs/proc/internal.h | 3 +
22305 grsecurity/Kconfig | 1054 +++++++++
22306 grsecurity/Makefile | 38 +
22307 grsecurity/gracl.c | 4073 ++++++++++++++++++++++++++++++++
22308 grsecurity/gracl_alloc.c | 105 +
22309 grsecurity/gracl_cap.c | 110 +
22310 grsecurity/gracl_fs.c | 431 ++++
22311 grsecurity/gracl_ip.c | 387 +++
22312 grsecurity/gracl_learn.c | 207 ++
22313 grsecurity/gracl_res.c | 68 +
22314 grsecurity/gracl_segv.c | 305 +++
22315 grsecurity/gracl_shm.c | 40 +
22316 grsecurity/grsec_chdir.c | 19 +
22317 grsecurity/grsec_chroot.c | 370 +++
22318 grsecurity/grsec_disabled.c | 434 ++++
22319 grsecurity/grsec_exec.c | 187 ++
22320 grsecurity/grsec_fifo.c | 24 +
22321 grsecurity/grsec_fork.c | 23 +
22322 grsecurity/grsec_init.c | 283 +++
22323 grsecurity/grsec_link.c | 58 +
22324 grsecurity/grsec_log.c | 326 +++
22325 grsecurity/grsec_mem.c | 40 +
22326 grsecurity/grsec_mount.c | 62 +
22327 grsecurity/grsec_pax.c | 36 +
22328 grsecurity/grsec_ptrace.c | 30 +
22329 grsecurity/grsec_sig.c | 246 ++
22330 grsecurity/grsec_sock.c | 244 ++
22331 grsecurity/grsec_sysctl.c | 469 ++++
22332 grsecurity/grsec_time.c | 16 +
22333 grsecurity/grsec_tpe.c | 73 +
22334 grsecurity/grsum.c | 61 +
22335 include/linux/gracl.h | 319 +++
22336 include/linux/gralloc.h | 9 +
22337 include/linux/grdefs.h | 140 ++
22338 include/linux/grinternal.h | 227 ++
22339 include/linux/grmsg.h | 112 +
22340 include/linux/grsecurity.h | 241 ++
22341 include/linux/grsock.h | 19 +
22342 include/linux/netfilter/xt_gradm.h | 9 +
22343 include/linux/proc_fs.h | 13 +
22344 include/linux/sched.h | 48 +-
22345 include/trace/events/fs.h | 53 +
22346 kernel/kmod.c | 7 +-
22347 kernel/panic.c | 2 +-
22348 kernel/posix-timers.c | 1 +
22349 kernel/time/timekeeping.c | 2 +
22350 lib/Kconfig.debug | 2 +-
22351 lib/vsprintf.c | 31 +
22352 localversion-grsec | 1 +
22353 mm/mmap.c | 13 +-
22354 mm/shmem.c | 2 +-
22355 net/core/net-procfs.c | 5 +
22356 net/ipv6/udp.c | 3 +
22357 net/netfilter/xt_gradm.c | 51 +
22358 66 files changed, 11184 insertions(+), 21 deletions(-)
22359
22360 commit 75a36f058b5abbc82f9b94ba5576eef4b40cd5d6
22361 Author: Brad Spengler <spender@grsecurity.net>
22362 Date: Tue Jul 9 17:35:47 2013 -0400
22363
22364 Initial import of pax-linux-3.10-test1.patch
22365
22366 Documentation/dontdiff | 46 +-
22367 Documentation/kernel-parameters.txt | 12 +
22368 Makefile | 100 +-
22369 arch/alpha/include/asm/atomic.h | 10 +
22370 arch/alpha/include/asm/elf.h | 7 +
22371 arch/alpha/include/asm/pgalloc.h | 6 +
22372 arch/alpha/include/asm/pgtable.h | 11 +
22373 arch/alpha/kernel/module.c | 2 +-
22374 arch/alpha/kernel/osf_sys.c | 8 +-
22375 arch/alpha/mm/fault.c | 141 +-
22376 arch/arm/Kconfig | 2 +-
22377 arch/arm/include/asm/atomic.h | 444 ++-
22378 arch/arm/include/asm/cache.h | 5 +-
22379 arch/arm/include/asm/cacheflush.h | 2 +-
22380 arch/arm/include/asm/checksum.h | 14 +-
22381 arch/arm/include/asm/cmpxchg.h | 2 +
22382 arch/arm/include/asm/domain.h | 33 +-
22383 arch/arm/include/asm/elf.h | 13 +-
22384 arch/arm/include/asm/fncpy.h | 2 +
22385 arch/arm/include/asm/futex.h | 10 +
22386 arch/arm/include/asm/kmap_types.h | 2 +-
22387 arch/arm/include/asm/mach/dma.h | 2 +-
22388 arch/arm/include/asm/mach/map.h | 7 +-
22389 arch/arm/include/asm/outercache.h | 2 +-
22390 arch/arm/include/asm/page.h | 2 +-
22391 arch/arm/include/asm/pgalloc.h | 22 +-
22392 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
22393 arch/arm/include/asm/pgtable-2level.h | 1 +
22394 arch/arm/include/asm/pgtable-3level-hwdef.h | 2 +
22395 arch/arm/include/asm/pgtable-3level.h | 2 +
22396 arch/arm/include/asm/pgtable.h | 56 +-
22397 arch/arm/include/asm/proc-fns.h | 2 +-
22398 arch/arm/include/asm/processor.h | 5 +-
22399 arch/arm/include/asm/psci.h | 2 +-
22400 arch/arm/include/asm/smp.h | 2 +-
22401 arch/arm/include/asm/thread_info.h | 6 +-
22402 arch/arm/include/asm/uaccess.h | 92 +-
22403 arch/arm/include/uapi/asm/ptrace.h | 2 +-
22404 arch/arm/kernel/armksyms.c | 8 +-
22405 arch/arm/kernel/entry-armv.S | 107 +-
22406 arch/arm/kernel/entry-common.S | 41 +-
22407 arch/arm/kernel/entry-header.S | 60 +
22408 arch/arm/kernel/fiq.c | 2 +
22409 arch/arm/kernel/head.S | 6 +-
22410 arch/arm/kernel/hw_breakpoint.c | 2 +-
22411 arch/arm/kernel/module.c | 29 +-
22412 arch/arm/kernel/patch.c | 2 +
22413 arch/arm/kernel/perf_event_cpu.c | 2 +-
22414 arch/arm/kernel/process.c | 14 +-
22415 arch/arm/kernel/psci.c | 2 +-
22416 arch/arm/kernel/setup.c | 22 +-
22417 arch/arm/kernel/signal.c | 24 +-
22418 arch/arm/kernel/smp.c | 2 +-
22419 arch/arm/kernel/traps.c | 15 +-
22420 arch/arm/kernel/vmlinux.lds.S | 22 +-
22421 arch/arm/lib/clear_user.S | 6 +-
22422 arch/arm/lib/copy_from_user.S | 6 +-
22423 arch/arm/lib/copy_page.S | 1 +
22424 arch/arm/lib/copy_to_user.S | 6 +-
22425 arch/arm/lib/csumpartialcopyuser.S | 4 +-
22426 arch/arm/lib/delay.c | 2 +-
22427 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
22428 arch/arm/mach-kirkwood/common.c | 19 +-
22429 arch/arm/mach-omap2/board-n8x0.c | 2 +-
22430 arch/arm/mach-omap2/gpmc.c | 22 +-
22431 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
22432 arch/arm/mach-omap2/omap_device.c | 4 +-
22433 arch/arm/mach-omap2/omap_device.h | 4 +-
22434 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
22435 arch/arm/mach-omap2/wd_timer.c | 6 +-
22436 arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +-
22437 arch/arm/mach-ux500/setup.h | 7 -
22438 arch/arm/mm/Kconfig | 3 +-
22439 arch/arm/mm/alignment.c | 8 +
22440 arch/arm/mm/fault.c | 91 +
22441 arch/arm/mm/fault.h | 12 +
22442 arch/arm/mm/init.c | 41 +
22443 arch/arm/mm/ioremap.c | 4 +-
22444 arch/arm/mm/mmap.c | 30 +-
22445 arch/arm/mm/mmu.c | 187 +-
22446 arch/arm/mm/proc-v7-2level.S | 3 +
22447 arch/arm/plat-omap/sram.c | 2 +
22448 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
22449 arch/arm64/kernel/debug-monitors.c | 2 +-
22450 arch/arm64/kernel/hw_breakpoint.c | 2 +-
22451 arch/avr32/include/asm/elf.h | 8 +-
22452 arch/avr32/include/asm/kmap_types.h | 4 +-
22453 arch/avr32/mm/fault.c | 27 +
22454 arch/frv/include/asm/atomic.h | 10 +
22455 arch/frv/include/asm/kmap_types.h | 2 +-
22456 arch/frv/mm/elf-fdpic.c | 3 +-
22457 arch/ia64/include/asm/atomic.h | 10 +
22458 arch/ia64/include/asm/elf.h | 7 +
22459 arch/ia64/include/asm/pgalloc.h | 12 +
22460 arch/ia64/include/asm/pgtable.h | 13 +-
22461 arch/ia64/include/asm/spinlock.h | 2 +-
22462 arch/ia64/include/asm/uaccess.h | 26 +-
22463 arch/ia64/kernel/err_inject.c | 2 +-
22464 arch/ia64/kernel/mca.c | 2 +-
22465 arch/ia64/kernel/module.c | 48 +-
22466 arch/ia64/kernel/palinfo.c | 2 +-
22467 arch/ia64/kernel/salinfo.c | 2 +-
22468 arch/ia64/kernel/sys_ia64.c | 7 +
22469 arch/ia64/kernel/topology.c | 2 +-
22470 arch/ia64/kernel/vmlinux.lds.S | 2 +-
22471 arch/ia64/mm/fault.c | 32 +-
22472 arch/ia64/mm/init.c | 13 +
22473 arch/m32r/lib/usercopy.c | 6 +
22474 arch/mips/include/asm/atomic.h | 14 +
22475 arch/mips/include/asm/elf.h | 11 +-
22476 arch/mips/include/asm/exec.h | 2 +-
22477 arch/mips/include/asm/page.h | 2 +-
22478 arch/mips/include/asm/pgalloc.h | 5 +
22479 arch/mips/kernel/binfmt_elfn32.c | 7 +
22480 arch/mips/kernel/binfmt_elfo32.c | 7 +
22481 arch/mips/kernel/process.c | 12 -
22482 arch/mips/mm/fault.c | 17 +
22483 arch/mips/mm/mmap.c | 51 +-
22484 arch/parisc/include/asm/atomic.h | 10 +
22485 arch/parisc/include/asm/elf.h | 7 +
22486 arch/parisc/include/asm/pgalloc.h | 6 +
22487 arch/parisc/include/asm/pgtable.h | 11 +
22488 arch/parisc/include/asm/uaccess.h | 4 +-
22489 arch/parisc/kernel/module.c | 50 +-
22490 arch/parisc/kernel/sys_parisc.c | 9 +-
22491 arch/parisc/kernel/traps.c | 4 +-
22492 arch/parisc/mm/fault.c | 140 +-
22493 arch/powerpc/include/asm/atomic.h | 10 +
22494 arch/powerpc/include/asm/elf.h | 19 +-
22495 arch/powerpc/include/asm/exec.h | 2 +-
22496 arch/powerpc/include/asm/kmap_types.h | 2 +-
22497 arch/powerpc/include/asm/mman.h | 2 +-
22498 arch/powerpc/include/asm/page.h | 8 +-
22499 arch/powerpc/include/asm/page_64.h | 7 +-
22500 arch/powerpc/include/asm/pgalloc-64.h | 7 +
22501 arch/powerpc/include/asm/pgtable.h | 1 +
22502 arch/powerpc/include/asm/pte-hash32.h | 1 +
22503 arch/powerpc/include/asm/reg.h | 1 +
22504 arch/powerpc/include/asm/smp.h | 2 +-
22505 arch/powerpc/include/asm/uaccess.h | 140 +-
22506 arch/powerpc/kernel/exceptions-64e.S | 4 +-
22507 arch/powerpc/kernel/exceptions-64s.S | 2 +-
22508 arch/powerpc/kernel/module_32.c | 13 +-
22509 arch/powerpc/kernel/process.c | 55 -
22510 arch/powerpc/kernel/signal_32.c | 2 +-
22511 arch/powerpc/kernel/signal_64.c | 2 +-
22512 arch/powerpc/kernel/sysfs.c | 2 +-
22513 arch/powerpc/kernel/vdso.c | 5 +-
22514 arch/powerpc/lib/usercopy_64.c | 18 -
22515 arch/powerpc/mm/fault.c | 54 +-
22516 arch/powerpc/mm/mmap_64.c | 16 +
22517 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
22518 arch/powerpc/mm/numa.c | 2 +-
22519 arch/powerpc/mm/slice.c | 13 +-
22520 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
22521 arch/powerpc/platforms/powermac/smp.c | 2 +-
22522 arch/s390/include/asm/atomic.h | 10 +
22523 arch/s390/include/asm/elf.h | 13 +-
22524 arch/s390/include/asm/exec.h | 2 +-
22525 arch/s390/include/asm/uaccess.h | 15 +-
22526 arch/s390/kernel/module.c | 22 +-
22527 arch/s390/kernel/process.c | 36 -
22528 arch/s390/mm/mmap.c | 24 +
22529 arch/score/include/asm/exec.h | 2 +-
22530 arch/score/kernel/process.c | 5 -
22531 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
22532 arch/sh/mm/mmap.c | 22 +-
22533 arch/sparc/include/asm/atomic_64.h | 106 +-
22534 arch/sparc/include/asm/cache.h | 2 +-
22535 arch/sparc/include/asm/elf_32.h | 7 +
22536 arch/sparc/include/asm/elf_64.h | 7 +
22537 arch/sparc/include/asm/pgalloc_32.h | 1 +
22538 arch/sparc/include/asm/pgalloc_64.h | 1 +
22539 arch/sparc/include/asm/pgtable_32.h | 15 +-
22540 arch/sparc/include/asm/pgtsrmmu.h | 5 +
22541 arch/sparc/include/asm/spinlock_64.h | 35 +-
22542 arch/sparc/include/asm/thread_info_32.h | 2 +
22543 arch/sparc/include/asm/thread_info_64.h | 2 +
22544 arch/sparc/include/asm/uaccess.h | 1 +
22545 arch/sparc/include/asm/uaccess_32.h | 27 +-
22546 arch/sparc/include/asm/uaccess_64.h | 19 +-
22547 arch/sparc/kernel/Makefile | 2 +-
22548 arch/sparc/kernel/prom_common.c | 2 +-
22549 arch/sparc/kernel/sys_sparc_32.c | 2 +-
22550 arch/sparc/kernel/sys_sparc_64.c | 48 +-
22551 arch/sparc/kernel/sysfs.c | 2 +-
22552 arch/sparc/kernel/traps_64.c | 13 +-
22553 arch/sparc/lib/Makefile | 2 +-
22554 arch/sparc/lib/atomic_64.S | 136 +-
22555 arch/sparc/lib/ksyms.c | 6 +
22556 arch/sparc/mm/Makefile | 2 +-
22557 arch/sparc/mm/fault_32.c | 292 +
22558 arch/sparc/mm/fault_64.c | 486 ++
22559 arch/sparc/mm/hugetlbpage.c | 21 +-
22560 arch/tile/include/asm/atomic_64.h | 10 +
22561 arch/tile/include/asm/uaccess.h | 4 +-
22562 arch/um/Makefile | 4 +
22563 arch/um/include/asm/kmap_types.h | 2 +-
22564 arch/um/include/asm/page.h | 3 +
22565 arch/um/include/asm/pgtable-3level.h | 1 +
22566 arch/um/kernel/process.c | 16 -
22567 arch/x86/Kconfig | 10 +-
22568 arch/x86/Kconfig.cpu | 6 +-
22569 arch/x86/Kconfig.debug | 4 +-
22570 arch/x86/Makefile | 10 +
22571 arch/x86/boot/Makefile | 3 +
22572 arch/x86/boot/bitops.h | 4 +-
22573 arch/x86/boot/boot.h | 4 +-
22574 arch/x86/boot/compressed/Makefile | 3 +
22575 arch/x86/boot/compressed/eboot.c | 2 -
22576 arch/x86/boot/compressed/efi_stub_32.S | 16 +-
22577 arch/x86/boot/compressed/head_32.S | 7 +-
22578 arch/x86/boot/compressed/head_64.S | 8 +-
22579 arch/x86/boot/compressed/misc.c | 4 +-
22580 arch/x86/boot/cpucheck.c | 28 +-
22581 arch/x86/boot/header.S | 6 +-
22582 arch/x86/boot/memory.c | 2 +-
22583 arch/x86/boot/video-vesa.c | 1 +
22584 arch/x86/boot/video.c | 2 +-
22585 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
22586 arch/x86/crypto/aesni-intel_asm.S | 22 +
22587 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
22588 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
22589 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
22590 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 9 +
22591 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
22592 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 +
22593 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
22594 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
22595 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 9 +
22596 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
22597 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
22598 arch/x86/ia32/ia32_signal.c | 14 +-
22599 arch/x86/ia32/ia32entry.S | 141 +-
22600 arch/x86/ia32/sys_ia32.c | 4 +-
22601 arch/x86/include/asm/alternative-asm.h | 39 +
22602 arch/x86/include/asm/alternative.h | 4 +-
22603 arch/x86/include/asm/apic.h | 2 +-
22604 arch/x86/include/asm/apm.h | 4 +-
22605 arch/x86/include/asm/atomic.h | 307 +-
22606 arch/x86/include/asm/atomic64_32.h | 100 +
22607 arch/x86/include/asm/atomic64_64.h | 202 +-
22608 arch/x86/include/asm/bitops.h | 4 +-
22609 arch/x86/include/asm/boot.h | 7 +-
22610 arch/x86/include/asm/cache.h | 5 +-
22611 arch/x86/include/asm/cacheflush.h | 2 +-
22612 arch/x86/include/asm/checksum_32.h | 12 +-
22613 arch/x86/include/asm/cmpxchg.h | 35 +
22614 arch/x86/include/asm/compat.h | 2 +-
22615 arch/x86/include/asm/cpufeature.h | 4 +-
22616 arch/x86/include/asm/desc.h | 67 +-
22617 arch/x86/include/asm/desc_defs.h | 6 +
22618 arch/x86/include/asm/div64.h | 2 +-
22619 arch/x86/include/asm/elf.h | 31 +-
22620 arch/x86/include/asm/emergency-restart.h | 2 +-
22621 arch/x86/include/asm/fpu-internal.h | 6 +-
22622 arch/x86/include/asm/futex.h | 16 +-
22623 arch/x86/include/asm/hw_irq.h | 4 +-
22624 arch/x86/include/asm/i8259.h | 2 +-
22625 arch/x86/include/asm/io.h | 21 +-
22626 arch/x86/include/asm/irqflags.h | 5 +
22627 arch/x86/include/asm/kprobes.h | 9 +-
22628 arch/x86/include/asm/local.h | 142 +-
22629 arch/x86/include/asm/mman.h | 15 +
22630 arch/x86/include/asm/mmu.h | 16 +-
22631 arch/x86/include/asm/mmu_context.h | 76 +-
22632 arch/x86/include/asm/module.h | 17 +-
22633 arch/x86/include/asm/nmi.h | 6 +-
22634 arch/x86/include/asm/page.h | 1 +
22635 arch/x86/include/asm/page_64.h | 4 +-
22636 arch/x86/include/asm/paravirt.h | 46 +-
22637 arch/x86/include/asm/paravirt_types.h | 17 +-
22638 arch/x86/include/asm/pgalloc.h | 23 +
22639 arch/x86/include/asm/pgtable-2level.h | 2 +
22640 arch/x86/include/asm/pgtable-3level.h | 4 +
22641 arch/x86/include/asm/pgtable.h | 122 +-
22642 arch/x86/include/asm/pgtable_32.h | 14 +-
22643 arch/x86/include/asm/pgtable_32_types.h | 15 +-
22644 arch/x86/include/asm/pgtable_64.h | 19 +-
22645 arch/x86/include/asm/pgtable_64_types.h | 5 +
22646 arch/x86/include/asm/pgtable_types.h | 36 +-
22647 arch/x86/include/asm/processor.h | 39 +-
22648 arch/x86/include/asm/ptrace.h | 26 +-
22649 arch/x86/include/asm/realmode.h | 4 +-
22650 arch/x86/include/asm/reboot.h | 10 +-
22651 arch/x86/include/asm/rwsem.h | 60 +-
22652 arch/x86/include/asm/segment.h | 24 +-
22653 arch/x86/include/asm/smp.h | 14 +-
22654 arch/x86/include/asm/spinlock.h | 36 +-
22655 arch/x86/include/asm/stackprotector.h | 4 +-
22656 arch/x86/include/asm/stacktrace.h | 32 +-
22657 arch/x86/include/asm/switch_to.h | 4 +-
22658 arch/x86/include/asm/thread_info.h | 83 +-
22659 arch/x86/include/asm/uaccess.h | 96 +-
22660 arch/x86/include/asm/uaccess_32.h | 106 +-
22661 arch/x86/include/asm/uaccess_64.h | 232 +-
22662 arch/x86/include/asm/word-at-a-time.h | 2 +-
22663 arch/x86/include/asm/x86_init.h | 10 +-
22664 arch/x86/include/asm/xsave.h | 10 +-
22665 arch/x86/include/uapi/asm/e820.h | 2 +-
22666 arch/x86/kernel/Makefile | 2 +-
22667 arch/x86/kernel/acpi/boot.c | 4 +-
22668 arch/x86/kernel/acpi/sleep.c | 4 +
22669 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
22670 arch/x86/kernel/alternative.c | 65 +-
22671 arch/x86/kernel/apic/apic.c | 4 +-
22672 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
22673 arch/x86/kernel/apic/apic_noop.c | 2 +-
22674 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
22675 arch/x86/kernel/apic/es7000_32.c | 5 +-
22676 arch/x86/kernel/apic/io_apic.c | 8 +-
22677 arch/x86/kernel/apic/numaq_32.c | 3 +-
22678 arch/x86/kernel/apic/probe_32.c | 2 +-
22679 arch/x86/kernel/apic/summit_32.c | 2 +-
22680 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
22681 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
22682 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
22683 arch/x86/kernel/apm_32.c | 19 +-
22684 arch/x86/kernel/asm-offsets.c | 20 +
22685 arch/x86/kernel/asm-offsets_64.c | 1 +
22686 arch/x86/kernel/cpu/Makefile | 4 -
22687 arch/x86/kernel/cpu/amd.c | 2 +-
22688 arch/x86/kernel/cpu/common.c | 75 +-
22689 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
22690 arch/x86/kernel/cpu/mcheck/mce.c | 33 +-
22691 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
22692 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
22693 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
22694 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
22695 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
22696 arch/x86/kernel/cpu/perf_event.c | 8 +-
22697 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
22698 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 4 +-
22699 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
22700 arch/x86/kernel/cpuid.c | 2 +-
22701 arch/x86/kernel/crash.c | 4 +-
22702 arch/x86/kernel/crash_dump_64.c | 2 +-
22703 arch/x86/kernel/doublefault_32.c | 8 +-
22704 arch/x86/kernel/dumpstack.c | 28 +-
22705 arch/x86/kernel/dumpstack_32.c | 34 +-
22706 arch/x86/kernel/dumpstack_64.c | 61 +-
22707 arch/x86/kernel/e820.c | 4 +-
22708 arch/x86/kernel/early_printk.c | 1 +
22709 arch/x86/kernel/entry_32.S | 354 +-
22710 arch/x86/kernel/entry_64.S | 548 ++-
22711 arch/x86/kernel/ftrace.c | 14 +-
22712 arch/x86/kernel/head64.c | 13 +-
22713 arch/x86/kernel/head_32.S | 237 +-
22714 arch/x86/kernel/head_64.S | 143 +-
22715 arch/x86/kernel/i386_ksyms_32.c | 8 +
22716 arch/x86/kernel/i387.c | 2 +-
22717 arch/x86/kernel/i8259.c | 10 +-
22718 arch/x86/kernel/io_delay.c | 2 +-
22719 arch/x86/kernel/ioport.c | 2 +-
22720 arch/x86/kernel/irq.c | 8 +-
22721 arch/x86/kernel/irq_32.c | 69 +-
22722 arch/x86/kernel/irq_64.c | 2 +-
22723 arch/x86/kernel/kdebugfs.c | 2 +-
22724 arch/x86/kernel/kgdb.c | 25 +-
22725 arch/x86/kernel/kprobes/core.c | 30 +-
22726 arch/x86/kernel/kprobes/opt.c | 16 +-
22727 arch/x86/kernel/kvm.c | 2 +-
22728 arch/x86/kernel/ldt.c | 31 +-
22729 arch/x86/kernel/machine_kexec_32.c | 6 +-
22730 arch/x86/kernel/microcode_core.c | 2 +-
22731 arch/x86/kernel/microcode_intel.c | 4 +-
22732 arch/x86/kernel/module.c | 76 +-
22733 arch/x86/kernel/msr.c | 2 +-
22734 arch/x86/kernel/nmi.c | 19 +-
22735 arch/x86/kernel/nmi_selftest.c | 4 +-
22736 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
22737 arch/x86/kernel/paravirt.c | 43 +-
22738 arch/x86/kernel/pci-calgary_64.c | 2 +-
22739 arch/x86/kernel/pci-iommu_table.c | 2 +-
22740 arch/x86/kernel/pci-swiotlb.c | 2 +-
22741 arch/x86/kernel/process.c | 55 +-
22742 arch/x86/kernel/process_32.c | 29 +-
22743 arch/x86/kernel/process_64.c | 15 +-
22744 arch/x86/kernel/ptrace.c | 25 +-
22745 arch/x86/kernel/pvclock.c | 8 +-
22746 arch/x86/kernel/reboot.c | 44 +-
22747 arch/x86/kernel/relocate_kernel_64.S | 2 +
22748 arch/x86/kernel/setup.c | 21 +-
22749 arch/x86/kernel/setup_percpu.c | 29 +-
22750 arch/x86/kernel/signal.c | 15 +-
22751 arch/x86/kernel/smp.c | 2 +-
22752 arch/x86/kernel/smpboot.c | 15 +-
22753 arch/x86/kernel/step.c | 10 +-
22754 arch/x86/kernel/sys_i386_32.c | 184 +
22755 arch/x86/kernel/sys_x86_64.c | 22 +-
22756 arch/x86/kernel/tboot.c | 14 +-
22757 arch/x86/kernel/time.c | 10 +-
22758 arch/x86/kernel/tls.c | 7 +-
22759 arch/x86/kernel/traps.c | 64 +-
22760 arch/x86/kernel/uprobes.c | 4 +-
22761 arch/x86/kernel/vm86_32.c | 6 +-
22762 arch/x86/kernel/vmlinux.lds.S | 148 +-
22763 arch/x86/kernel/vsyscall_64.c | 12 +-
22764 arch/x86/kernel/x8664_ksyms_64.c | 2 -
22765 arch/x86/kernel/x86_init.c | 8 +-
22766 arch/x86/kernel/xsave.c | 2 +
22767 arch/x86/kvm/cpuid.c | 21 +-
22768 arch/x86/kvm/emulate.c | 4 +-
22769 arch/x86/kvm/lapic.c | 2 +-
22770 arch/x86/kvm/paging_tmpl.h | 2 +-
22771 arch/x86/kvm/svm.c | 8 +
22772 arch/x86/kvm/vmx.c | 61 +-
22773 arch/x86/kvm/x86.c | 8 +-
22774 arch/x86/lguest/boot.c | 3 +-
22775 arch/x86/lib/atomic64_386_32.S | 164 +
22776 arch/x86/lib/atomic64_cx8_32.S | 103 +-
22777 arch/x86/lib/checksum_32.S | 100 +-
22778 arch/x86/lib/clear_page_64.S | 5 +-
22779 arch/x86/lib/cmpxchg16b_emu.S | 2 +
22780 arch/x86/lib/copy_page_64.S | 24 +-
22781 arch/x86/lib/copy_user_64.S | 47 +-
22782 arch/x86/lib/copy_user_nocache_64.S | 20 +-
22783 arch/x86/lib/csum-copy_64.S | 2 +
22784 arch/x86/lib/csum-wrappers_64.c | 4 +-
22785 arch/x86/lib/getuser.S | 70 +-
22786 arch/x86/lib/insn.c | 6 +-
22787 arch/x86/lib/iomap_copy_64.S | 2 +
22788 arch/x86/lib/memcpy_64.S | 18 +-
22789 arch/x86/lib/memmove_64.S | 34 +-
22790 arch/x86/lib/memset_64.S | 7 +-
22791 arch/x86/lib/mmx_32.c | 243 +-
22792 arch/x86/lib/msr-reg.S | 18 +-
22793 arch/x86/lib/putuser.S | 90 +-
22794 arch/x86/lib/rwlock.S | 42 +
22795 arch/x86/lib/rwsem.S | 6 +-
22796 arch/x86/lib/thunk_64.S | 2 +
22797 arch/x86/lib/usercopy_32.c | 363 +-
22798 arch/x86/lib/usercopy_64.c | 13 +-
22799 arch/x86/mm/extable.c | 25 +-
22800 arch/x86/mm/fault.c | 556 ++-
22801 arch/x86/mm/gup.c | 2 +-
22802 arch/x86/mm/highmem_32.c | 4 +
22803 arch/x86/mm/hugetlbpage.c | 30 +-
22804 arch/x86/mm/init.c | 98 +-
22805 arch/x86/mm/init_32.c | 113 +-
22806 arch/x86/mm/init_64.c | 38 +-
22807 arch/x86/mm/iomap_32.c | 4 +
22808 arch/x86/mm/ioremap.c | 15 +-
22809 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
22810 arch/x86/mm/mmap.c | 41 +-
22811 arch/x86/mm/mmio-mod.c | 10 +-
22812 arch/x86/mm/numa.c | 2 +-
22813 arch/x86/mm/pageattr-test.c | 2 +-
22814 arch/x86/mm/pageattr.c | 33 +-
22815 arch/x86/mm/pat.c | 12 +-
22816 arch/x86/mm/pat_rbtree.c | 2 +-
22817 arch/x86/mm/pf_in.c | 10 +-
22818 arch/x86/mm/pgtable.c | 137 +-
22819 arch/x86/mm/pgtable_32.c | 3 +
22820 arch/x86/mm/physaddr.c | 4 +-
22821 arch/x86/mm/setup_nx.c | 7 +
22822 arch/x86/mm/tlb.c | 4 +
22823 arch/x86/net/bpf_jit.S | 14 +
22824 arch/x86/net/bpf_jit_comp.c | 37 +-
22825 arch/x86/oprofile/backtrace.c | 8 +-
22826 arch/x86/oprofile/nmi_int.c | 8 +-
22827 arch/x86/oprofile/op_model_amd.c | 8 +-
22828 arch/x86/oprofile/op_model_ppro.c | 7 +-
22829 arch/x86/oprofile/op_x86_model.h | 2 +-
22830 arch/x86/pci/amd_bus.c | 2 +-
22831 arch/x86/pci/irq.c | 8 +-
22832 arch/x86/pci/mrst.c | 4 +-
22833 arch/x86/pci/pcbios.c | 144 +-
22834 arch/x86/platform/efi/efi_32.c | 24 +
22835 arch/x86/platform/efi/efi_64.c | 10 +
22836 arch/x86/platform/efi/efi_stub_32.S | 64 +-
22837 arch/x86/platform/efi/efi_stub_64.S | 8 +
22838 arch/x86/platform/mrst/mrst.c | 6 +-
22839 arch/x86/platform/olpc/olpc_dt.c | 2 +-
22840 arch/x86/power/cpu.c | 11 +-
22841 arch/x86/realmode/init.c | 10 +-
22842 arch/x86/realmode/rm/Makefile | 3 +
22843 arch/x86/realmode/rm/header.S | 4 +-
22844 arch/x86/realmode/rm/trampoline_32.S | 12 +-
22845 arch/x86/realmode/rm/trampoline_64.S | 2 +-
22846 arch/x86/tools/Makefile | 2 +-
22847 arch/x86/tools/relocs.c | 94 +-
22848 arch/x86/um/tls_32.c | 2 +-
22849 arch/x86/vdso/Makefile | 2 +-
22850 arch/x86/vdso/vdso32-setup.c | 23 +-
22851 arch/x86/vdso/vma.c | 29 +-
22852 arch/x86/xen/enlighten.c | 47 +-
22853 arch/x86/xen/mmu.c | 9 +
22854 arch/x86/xen/smp.c | 18 +-
22855 arch/x86/xen/xen-asm_32.S | 12 +-
22856 arch/x86/xen/xen-head.S | 11 +
22857 arch/x86/xen/xen-ops.h | 2 -
22858 block/blk-iopoll.c | 4 +-
22859 block/blk-map.c | 2 +-
22860 block/blk-softirq.c | 4 +-
22861 block/bsg.c | 12 +-
22862 block/compat_ioctl.c | 2 +-
22863 block/genhd.c | 11 +-
22864 block/partitions/efi.c | 8 +-
22865 block/scsi_ioctl.c | 27 +-
22866 crypto/algapi.c | 2 +-
22867 crypto/cryptd.c | 4 +-
22868 crypto/pcrypt.c | 6 +-
22869 drivers/acpi/apei/apei-internal.h | 2 +-
22870 drivers/acpi/apei/cper.c | 8 +-
22871 drivers/acpi/bgrt.c | 6 +-
22872 drivers/acpi/blacklist.c | 4 +-
22873 drivers/acpi/ec_sys.c | 12 +-
22874 drivers/acpi/processor_idle.c | 2 +-
22875 drivers/acpi/sysfs.c | 4 +-
22876 drivers/ata/libahci.c | 2 +-
22877 drivers/ata/libata-core.c | 8 +-
22878 drivers/ata/pata_arasan_cf.c | 4 +-
22879 drivers/atm/adummy.c | 2 +-
22880 drivers/atm/ambassador.c | 8 +-
22881 drivers/atm/atmtcp.c | 14 +-
22882 drivers/atm/eni.c | 10 +-
22883 drivers/atm/firestream.c | 8 +-
22884 drivers/atm/fore200e.c | 14 +-
22885 drivers/atm/he.c | 18 +-
22886 drivers/atm/horizon.c | 4 +-
22887 drivers/atm/idt77252.c | 36 +-
22888 drivers/atm/iphase.c | 34 +-
22889 drivers/atm/lanai.c | 12 +-
22890 drivers/atm/nicstar.c | 46 +-
22891 drivers/atm/solos-pci.c | 4 +-
22892 drivers/atm/suni.c | 4 +-
22893 drivers/atm/uPD98402.c | 16 +-
22894 drivers/atm/zatm.c | 6 +-
22895 drivers/base/attribute_container.c | 2 +-
22896 drivers/base/bus.c | 4 +-
22897 drivers/base/devtmpfs.c | 8 +-
22898 drivers/base/node.c | 2 +-
22899 drivers/base/power/domain.c | 4 +-
22900 drivers/base/power/sysfs.c | 2 +-
22901 drivers/base/power/wakeup.c | 8 +-
22902 drivers/base/syscore.c | 4 +-
22903 drivers/block/cciss.c | 28 +-
22904 drivers/block/cciss.h | 2 +-
22905 drivers/block/cpqarray.c | 28 +-
22906 drivers/block/cpqarray.h | 2 +-
22907 drivers/block/drbd/drbd_int.h | 6 +-
22908 drivers/block/drbd/drbd_main.c | 8 +-
22909 drivers/block/drbd/drbd_receiver.c | 22 +-
22910 drivers/block/loop.c | 2 +-
22911 drivers/block/nbd.c | 2 +-
22912 drivers/block/pktcdvd.c | 2 +-
22913 drivers/cdrom/cdrom.c | 11 +-
22914 drivers/cdrom/gdrom.c | 1 -
22915 drivers/char/agp/compat_ioctl.c | 2 +-
22916 drivers/char/agp/frontend.c | 4 +-
22917 drivers/char/hpet.c | 2 +-
22918 drivers/char/hw_random/intel-rng.c | 2 +-
22919 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
22920 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
22921 drivers/char/mem.c | 45 +-
22922 drivers/char/nvram.c | 2 +-
22923 drivers/char/pcmcia/synclink_cs.c | 18 +-
22924 drivers/char/random.c | 10 +-
22925 drivers/char/sonypi.c | 9 +-
22926 drivers/char/tpm/tpm_acpi.c | 3 +-
22927 drivers/char/tpm/tpm_eventlog.c | 7 +-
22928 drivers/char/virtio_console.c | 4 +-
22929 drivers/clk/clk-composite.c | 2 +-
22930 drivers/clocksource/arm_arch_timer.c | 2 +-
22931 drivers/clocksource/metag_generic.c | 2 +-
22932 drivers/cpufreq/acpi-cpufreq.c | 20 +-
22933 drivers/cpufreq/cpufreq.c | 9 +-
22934 drivers/cpufreq/cpufreq_governor.c | 6 +-
22935 drivers/cpufreq/cpufreq_governor.h | 2 +-
22936 drivers/cpufreq/cpufreq_ondemand.c | 8 +-
22937 drivers/cpufreq/cpufreq_stats.c | 2 +-
22938 drivers/cpufreq/p4-clockmod.c | 12 +-
22939 drivers/cpufreq/sparc-us3-cpufreq.c | 69 +-
22940 drivers/cpufreq/speedstep-centrino.c | 7 +-
22941 drivers/cpuidle/cpuidle.c | 2 +-
22942 drivers/cpuidle/governor.c | 4 +-
22943 drivers/cpuidle/sysfs.c | 2 +-
22944 drivers/devfreq/devfreq.c | 6 +-
22945 drivers/dma/sh/shdma.c | 2 +-
22946 drivers/edac/edac_mc_sysfs.c | 12 +-
22947 drivers/edac/edac_pci_sysfs.c | 22 +-
22948 drivers/edac/mce_amd.h | 2 +-
22949 drivers/firewire/core-card.c | 2 +-
22950 drivers/firewire/core-device.c | 2 +-
22951 drivers/firewire/core-transaction.c | 1 +
22952 drivers/firewire/core.h | 1 +
22953 drivers/firmware/dmi-id.c | 2 +-
22954 drivers/firmware/dmi_scan.c | 7 +-
22955 drivers/firmware/efi/efi.c | 12 +-
22956 drivers/firmware/efi/efivars.c | 2 +-
22957 drivers/firmware/google/memconsole.c | 4 +-
22958 drivers/gpio/gpio-ich.c | 2 +-
22959 drivers/gpio/gpio-vr41xx.c | 2 +-
22960 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
22961 drivers/gpu/drm/drm_drv.c | 6 +-
22962 drivers/gpu/drm/drm_fops.c | 18 +-
22963 drivers/gpu/drm/drm_global.c | 14 +-
22964 drivers/gpu/drm/drm_info.c | 14 +-
22965 drivers/gpu/drm/drm_ioc32.c | 13 +-
22966 drivers/gpu/drm/drm_ioctl.c | 2 +-
22967 drivers/gpu/drm/drm_lock.c | 4 +-
22968 drivers/gpu/drm/drm_stub.c | 2 +-
22969 drivers/gpu/drm/drm_sysfs.c | 2 +-
22970 drivers/gpu/drm/i810/i810_dma.c | 8 +-
22971 drivers/gpu/drm/i810/i810_drv.h | 4 +-
22972 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
22973 drivers/gpu/drm/i915/i915_dma.c | 2 +-
22974 drivers/gpu/drm/i915/i915_drv.h | 4 +-
22975 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +-
22976 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
22977 drivers/gpu/drm/i915/i915_irq.c | 22 +-
22978 drivers/gpu/drm/i915/intel_display.c | 26 +-
22979 drivers/gpu/drm/mga/mga_drv.h | 4 +-
22980 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
22981 drivers/gpu/drm/mga/mga_irq.c | 8 +-
22982 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
22983 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
22984 drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
22985 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
22986 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
22987 drivers/gpu/drm/qxl/qxl_ttm.c | 38 +-
22988 drivers/gpu/drm/r128/r128_cce.c | 2 +-
22989 drivers/gpu/drm/r128/r128_drv.h | 4 +-
22990 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
22991 drivers/gpu/drm/r128/r128_irq.c | 4 +-
22992 drivers/gpu/drm/r128/r128_state.c | 4 +-
22993 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
22994 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
22995 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
22996 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
22997 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
22998 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
22999 drivers/gpu/drm/radeon/radeon_ttm.c | 57 +-
23000 drivers/gpu/drm/radeon/rs690.c | 4 +-
23001 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
23002 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
23003 drivers/gpu/drm/udl/udl_fb.c | 1 -
23004 drivers/gpu/drm/via/via_drv.h | 4 +-
23005 drivers/gpu/drm/via/via_irq.c | 18 +-
23006 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
23007 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
23008 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 +-
23009 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
23010 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
23011 drivers/hid/hid-core.c | 4 +-
23012 drivers/hv/channel.c | 4 +-
23013 drivers/hv/hv.c | 2 +-
23014 drivers/hv/hyperv_vmbus.h | 2 +-
23015 drivers/hv/vmbus_drv.c | 4 +-
23016 drivers/hwmon/acpi_power_meter.c | 4 +-
23017 drivers/hwmon/applesmc.c | 2 +-
23018 drivers/hwmon/asus_atk0110.c | 10 +-
23019 drivers/hwmon/coretemp.c | 2 +-
23020 drivers/hwmon/ibmaem.c | 2 +-
23021 drivers/hwmon/iio_hwmon.c | 2 +-
23022 drivers/hwmon/pmbus/pmbus_core.c | 10 +-
23023 drivers/hwmon/sht15.c | 12 +-
23024 drivers/hwmon/via-cputemp.c | 2 +-
23025 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
23026 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
23027 drivers/i2c/i2c-dev.c | 2 +-
23028 drivers/ide/ide-cd.c | 2 +-
23029 drivers/iio/industrialio-core.c | 2 +-
23030 drivers/infiniband/core/cm.c | 32 +-
23031 drivers/infiniband/core/fmr_pool.c | 20 +-
23032 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
23033 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
23034 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
23035 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
23036 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
23037 drivers/infiniband/hw/nes/nes.c | 4 +-
23038 drivers/infiniband/hw/nes/nes.h | 40 +-
23039 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
23040 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
23041 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
23042 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
23043 drivers/infiniband/hw/qib/qib.h | 1 +
23044 drivers/input/gameport/gameport.c | 4 +-
23045 drivers/input/input.c | 4 +-
23046 drivers/input/joystick/sidewinder.c | 1 +
23047 drivers/input/joystick/xpad.c | 4 +-
23048 drivers/input/mouse/psmouse.h | 2 +-
23049 drivers/input/mousedev.c | 2 +-
23050 drivers/input/serio/serio.c | 4 +-
23051 drivers/iommu/iommu.c | 2 +-
23052 drivers/iommu/irq_remapping.c | 12 +-
23053 drivers/irqchip/irq-gic.c | 4 +-
23054 drivers/isdn/capi/capi.c | 10 +-
23055 drivers/isdn/gigaset/interface.c | 8 +-
23056 drivers/isdn/hardware/avm/b1.c | 4 +-
23057 drivers/isdn/i4l/isdn_tty.c | 22 +-
23058 drivers/isdn/icn/icn.c | 2 +-
23059 drivers/leds/leds-clevo-mail.c | 2 +-
23060 drivers/leds/leds-ss4200.c | 2 +-
23061 drivers/lguest/core.c | 10 +-
23062 drivers/lguest/page_tables.c | 2 +-
23063 drivers/lguest/x86/core.c | 12 +-
23064 drivers/lguest/x86/switcher_32.S | 27 +-
23065 drivers/md/bcache/closure.h | 2 +-
23066 drivers/md/bitmap.c | 2 +-
23067 drivers/md/dm-ioctl.c | 2 +-
23068 drivers/md/dm-raid1.c | 16 +-
23069 drivers/md/dm-stripe.c | 10 +-
23070 drivers/md/dm-table.c | 2 +-
23071 drivers/md/dm-thin-metadata.c | 4 +-
23072 drivers/md/dm.c | 16 +-
23073 drivers/md/md.c | 26 +-
23074 drivers/md/md.h | 6 +-
23075 drivers/md/persistent-data/dm-space-map.h | 1 +
23076 drivers/md/raid1.c | 4 +-
23077 drivers/md/raid10.c | 16 +-
23078 drivers/md/raid5.c | 10 +-
23079 drivers/media/dvb-core/dvbdev.c | 2 +-
23080 drivers/media/dvb-frontends/dib3000.h | 2 +-
23081 drivers/media/pci/cx88/cx88-video.c | 6 +-
23082 drivers/media/platform/omap/omap_vout.c | 11 +-
23083 drivers/media/platform/s5p-tv/mixer.h | 2 +-
23084 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
23085 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
23086 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
23087 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
23088 drivers/media/radio/radio-cadet.c | 2 +
23089 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
23090 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
23091 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +-
23092 drivers/media/v4l2-core/v4l2-ioctl.c | 11 +-
23093 drivers/message/fusion/mptsas.c | 34 +-
23094 drivers/message/fusion/mptscsih.c | 19 +-
23095 drivers/message/i2o/i2o_proc.c | 51 +-
23096 drivers/message/i2o/iop.c | 8 +-
23097 drivers/mfd/janz-cmodio.c | 1 +
23098 drivers/mfd/twl4030-irq.c | 9 +-
23099 drivers/mfd/twl6030-irq.c | 10 +-
23100 drivers/misc/c2port/core.c | 4 +-
23101 drivers/misc/kgdbts.c | 4 +-
23102 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
23103 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
23104 drivers/misc/sgi-gru/gruhandles.c | 4 +-
23105 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
23106 drivers/misc/sgi-gru/grutables.h | 154 +-
23107 drivers/misc/sgi-xp/xp.h | 2 +-
23108 drivers/misc/sgi-xp/xpc.h | 3 +-
23109 drivers/misc/sgi-xp/xpc_main.c | 4 +-
23110 drivers/mmc/core/mmc_ops.c | 2 +-
23111 drivers/mmc/host/dw_mmc.h | 2 +-
23112 drivers/mmc/host/sdhci-s3c.c | 8 +-
23113 drivers/mtd/nand/denali.c | 1 +
23114 drivers/mtd/nftlmount.c | 1 +
23115 drivers/mtd/sm_ftl.c | 2 +-
23116 drivers/net/bonding/bond_main.c | 2 +-
23117 drivers/net/ethernet/8390/ax88796.c | 4 +-
23118 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
23119 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
23120 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
23121 drivers/net/ethernet/broadcom/tg3.h | 1 +
23122 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
23123 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
23124 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
23125 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
23126 drivers/net/ethernet/faraday/ftmac100.c | 2 +
23127 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
23128 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
23129 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +-
23130 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +-
23131 drivers/net/ethernet/realtek/r8169.c | 8 +-
23132 drivers/net/ethernet/sfc/ptp.c | 2 +-
23133 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
23134 drivers/net/hyperv/hyperv_net.h | 2 +-
23135 drivers/net/hyperv/rndis_filter.c | 4 +-
23136 drivers/net/ieee802154/fakehard.c | 2 +-
23137 drivers/net/macvlan.c | 18 +-
23138 drivers/net/macvtap.c | 2 +-
23139 drivers/net/ppp/ppp_generic.c | 4 +-
23140 drivers/net/slip/slhc.c | 2 +-
23141 drivers/net/team/team.c | 2 +-
23142 drivers/net/tun.c | 5 +-
23143 drivers/net/usb/hso.c | 23 +-
23144 drivers/net/vxlan.c | 2 +-
23145 drivers/net/wireless/at76c50x-usb.c | 2 +-
23146 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
23147 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
23148 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
23149 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
23150 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
23151 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
23152 drivers/net/wireless/mac80211_hwsim.c | 32 +-
23153 drivers/net/wireless/rndis_wlan.c | 2 +-
23154 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
23155 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
23156 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
23157 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
23158 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
23159 drivers/oprofile/buffer_sync.c | 8 +-
23160 drivers/oprofile/event_buffer.c | 2 +-
23161 drivers/oprofile/oprof.c | 2 +-
23162 drivers/oprofile/oprofile_files.c | 2 +-
23163 drivers/oprofile/oprofile_stats.c | 10 +-
23164 drivers/oprofile/oprofile_stats.h | 10 +-
23165 drivers/oprofile/oprofilefs.c | 2 +-
23166 drivers/oprofile/timer_int.c | 2 +-
23167 drivers/parport/procfs.c | 4 +-
23168 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
23169 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
23170 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
23171 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
23172 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
23173 drivers/pci/hotplug/pciehp_core.c | 2 +-
23174 drivers/pci/pci-sysfs.c | 6 +-
23175 drivers/pci/pci.h | 2 +-
23176 drivers/pci/pcie/aspm.c | 6 +-
23177 drivers/pci/probe.c | 2 +-
23178 drivers/platform/x86/chromeos_laptop.c | 2 +-
23179 drivers/platform/x86/msi-laptop.c | 14 +-
23180 drivers/platform/x86/sony-laptop.c | 2 +-
23181 drivers/platform/x86/thinkpad_acpi.c | 70 +-
23182 drivers/pnp/pnpbios/bioscalls.c | 14 +-
23183 drivers/pnp/resource.c | 4 +-
23184 drivers/power/pda_power.c | 7 +-
23185 drivers/power/power_supply.h | 4 +-
23186 drivers/power/power_supply_core.c | 7 +-
23187 drivers/power/power_supply_sysfs.c | 6 +-
23188 drivers/regulator/max8660.c | 6 +-
23189 drivers/regulator/max8973-regulator.c | 8 +-
23190 drivers/regulator/mc13892-regulator.c | 6 +-
23191 drivers/rtc/rtc-cmos.c | 4 +-
23192 drivers/rtc/rtc-ds1307.c | 2 +-
23193 drivers/rtc/rtc-m48t59.c | 4 +-
23194 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
23195 drivers/scsi/bfa/bfa_ioc.h | 4 +-
23196 drivers/scsi/hosts.c | 4 +-
23197 drivers/scsi/hpsa.c | 30 +-
23198 drivers/scsi/hpsa.h | 2 +-
23199 drivers/scsi/libfc/fc_exch.c | 50 +-
23200 drivers/scsi/libsas/sas_ata.c | 2 +-
23201 drivers/scsi/lpfc/lpfc.h | 8 +-
23202 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
23203 drivers/scsi/lpfc/lpfc_init.c | 6 +-
23204 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
23205 drivers/scsi/pmcraid.c | 20 +-
23206 drivers/scsi/pmcraid.h | 8 +-
23207 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
23208 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
23209 drivers/scsi/qla2xxx/qla_os.c | 6 +-
23210 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
23211 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
23212 drivers/scsi/scsi.c | 2 +-
23213 drivers/scsi/scsi_lib.c | 6 +-
23214 drivers/scsi/scsi_sysfs.c | 2 +-
23215 drivers/scsi/scsi_tgt_lib.c | 2 +-
23216 drivers/scsi/scsi_transport_fc.c | 8 +-
23217 drivers/scsi/scsi_transport_iscsi.c | 6 +-
23218 drivers/scsi/scsi_transport_srp.c | 6 +-
23219 drivers/scsi/sd.c | 2 +-
23220 drivers/scsi/sg.c | 2 +-
23221 drivers/spi/spi.c | 2 +-
23222 drivers/staging/media/solo6x10/solo6x10-core.c | 2 +-
23223 drivers/staging/octeon/ethernet-rx.c | 12 +-
23224 drivers/staging/octeon/ethernet.c | 8 +-
23225 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
23226 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
23227 drivers/staging/usbip/vhci.h | 2 +-
23228 drivers/staging/usbip/vhci_hcd.c | 6 +-
23229 drivers/staging/usbip/vhci_rx.c | 2 +-
23230 drivers/staging/vt6655/hostap.c | 7 +-
23231 drivers/staging/vt6656/hostap.c | 7 +-
23232 drivers/staging/zcache/tmem.c | 4 +-
23233 drivers/staging/zcache/tmem.h | 2 +
23234 drivers/target/target_core_device.c | 2 +-
23235 drivers/target/target_core_transport.c | 2 +-
23236 drivers/tty/cyclades.c | 6 +-
23237 drivers/tty/hvc/hvc_console.c | 14 +-
23238 drivers/tty/hvc/hvcs.c | 21 +-
23239 drivers/tty/ipwireless/tty.c | 27 +-
23240 drivers/tty/moxa.c | 2 +-
23241 drivers/tty/n_gsm.c | 4 +-
23242 drivers/tty/n_tty.c | 3 +-
23243 drivers/tty/pty.c | 4 +-
23244 drivers/tty/rocket.c | 6 +-
23245 drivers/tty/serial/kgdboc.c | 32 +-
23246 drivers/tty/serial/samsung.c | 9 +-
23247 drivers/tty/serial/serial_core.c | 8 +-
23248 drivers/tty/synclink.c | 34 +-
23249 drivers/tty/synclink_gt.c | 28 +-
23250 drivers/tty/synclinkmp.c | 34 +-
23251 drivers/tty/tty_io.c | 2 +-
23252 drivers/tty/tty_ldisc.c | 10 +-
23253 drivers/tty/tty_port.c | 22 +-
23254 drivers/uio/uio.c | 21 +-
23255 drivers/usb/atm/cxacru.c | 2 +-
23256 drivers/usb/atm/usbatm.c | 24 +-
23257 drivers/usb/core/devices.c | 6 +-
23258 drivers/usb/core/hcd.c | 4 +-
23259 drivers/usb/core/message.c | 2 +-
23260 drivers/usb/core/sysfs.c | 2 +-
23261 drivers/usb/core/usb.c | 2 +-
23262 drivers/usb/early/ehci-dbgp.c | 16 +-
23263 drivers/usb/gadget/u_serial.c | 22 +-
23264 drivers/usb/serial/console.c | 6 +-
23265 drivers/usb/storage/usb.h | 2 +-
23266 drivers/usb/wusbcore/wa-hc.h | 4 +-
23267 drivers/usb/wusbcore/wa-xfer.c | 2 +-
23268 drivers/vhost/vringh.c | 2 +-
23269 drivers/video/aty/aty128fb.c | 2 +-
23270 drivers/video/aty/atyfb_base.c | 8 +-
23271 drivers/video/aty/mach64_cursor.c | 5 +-
23272 drivers/video/backlight/kb3886_bl.c | 2 +-
23273 drivers/video/fb_defio.c | 6 +-
23274 drivers/video/fbcmap.c | 3 +-
23275 drivers/video/fbmem.c | 6 +-
23276 drivers/video/i810/i810_accel.c | 1 +
23277 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
23278 drivers/video/nvidia/nvidia.c | 27 +-
23279 drivers/video/output.c | 2 +-
23280 drivers/video/s1d13xxxfb.c | 6 +-
23281 drivers/video/smscufx.c | 4 +-
23282 drivers/video/udlfb.c | 36 +-
23283 drivers/video/uvesafb.c | 53 +-
23284 drivers/video/vesafb.c | 58 +-
23285 drivers/video/via/via_clock.h | 2 +-
23286 fs/9p/vfs_addr.c | 2 +-
23287 fs/9p/vfs_inode.c | 2 +-
23288 fs/Kconfig.binfmt | 2 +-
23289 fs/aio.c | 12 +-
23290 fs/autofs4/waitq.c | 2 +-
23291 fs/befs/endian.h | 4 +-
23292 fs/befs/linuxvfs.c | 2 +-
23293 fs/binfmt_aout.c | 23 +-
23294 fs/binfmt_elf.c | 607 ++-
23295 fs/binfmt_flat.c | 6 +
23296 fs/bio.c | 6 +-
23297 fs/block_dev.c | 2 +-
23298 fs/btrfs/ctree.c | 9 +-
23299 fs/btrfs/super.c | 2 +-
23300 fs/cachefiles/bind.c | 6 +-
23301 fs/cachefiles/daemon.c | 8 +-
23302 fs/cachefiles/internal.h | 12 +-
23303 fs/cachefiles/namei.c | 2 +-
23304 fs/cachefiles/proc.c | 12 +-
23305 fs/cachefiles/rdwr.c | 2 +-
23306 fs/ceph/dir.c | 2 +-
23307 fs/cifs/cifs_debug.c | 12 +-
23308 fs/cifs/cifsfs.c | 8 +-
23309 fs/cifs/cifsglob.h | 54 +-
23310 fs/cifs/link.c | 2 +-
23311 fs/cifs/misc.c | 4 +-
23312 fs/cifs/smb1ops.c | 80 +-
23313 fs/cifs/smb2ops.c | 84 +-
23314 fs/cifs/smb2pdu.c | 3 +-
23315 fs/coda/cache.c | 10 +-
23316 fs/compat.c | 6 +-
23317 fs/compat_binfmt_elf.c | 2 +
23318 fs/compat_ioctl.c | 12 +-
23319 fs/configfs/dir.c | 10 +-
23320 fs/coredump.c | 24 +-
23321 fs/dcache.c | 2 +-
23322 fs/ecryptfs/inode.c | 4 +-
23323 fs/ecryptfs/miscdev.c | 2 +-
23324 fs/exec.c | 362 ++-
23325 fs/ext4/ext4.h | 20 +-
23326 fs/ext4/mballoc.c | 44 +-
23327 fs/ext4/mmp.c | 2 +-
23328 fs/ext4/super.c | 4 +-
23329 fs/fhandle.c | 3 +-
23330 fs/fs_struct.c | 8 +-
23331 fs/fscache/cookie.c | 36 +-
23332 fs/fscache/internal.h | 196 +-
23333 fs/fscache/object.c | 28 +-
23334 fs/fscache/operation.c | 30 +-
23335 fs/fscache/page.c | 110 +-
23336 fs/fscache/stats.c | 344 +-
23337 fs/fuse/cuse.c | 10 +-
23338 fs/fuse/dev.c | 4 +-
23339 fs/fuse/dir.c | 2 +-
23340 fs/gfs2/inode.c | 2 +-
23341 fs/hugetlbfs/inode.c | 13 +-
23342 fs/inode.c | 4 +-
23343 fs/jffs2/erase.c | 3 +-
23344 fs/jffs2/wbuf.c | 3 +-
23345 fs/jfs/super.c | 2 +-
23346 fs/libfs.c | 10 +-
23347 fs/lockd/clntproc.c | 4 +-
23348 fs/lockd/svc.c | 2 +-
23349 fs/locks.c | 8 +-
23350 fs/namei.c | 15 +-
23351 fs/namespace.c | 10 +-
23352 fs/nfs/callback.c | 4 +-
23353 fs/nfs/callback_xdr.c | 2 +-
23354 fs/nfs/inode.c | 6 +-
23355 fs/nfs/nfs4state.c | 2 +-
23356 fs/nfsd/nfs4proc.c | 2 +-
23357 fs/nfsd/nfs4xdr.c | 6 +-
23358 fs/nfsd/nfscache.c | 9 +-
23359 fs/nfsd/vfs.c | 6 +-
23360 fs/nls/nls_base.c | 18 +-
23361 fs/nls/nls_euc-jp.c | 6 +-
23362 fs/nls/nls_koi8-ru.c | 6 +-
23363 fs/notify/fanotify/fanotify_user.c | 4 +-
23364 fs/notify/notification.c | 4 +-
23365 fs/ntfs/dir.c | 2 +-
23366 fs/ntfs/file.c | 4 +-
23367 fs/ocfs2/localalloc.c | 2 +-
23368 fs/ocfs2/ocfs2.h | 10 +-
23369 fs/ocfs2/suballoc.c | 12 +-
23370 fs/ocfs2/super.c | 20 +-
23371 fs/pipe.c | 61 +-
23372 fs/proc/array.c | 20 +
23373 fs/proc/base.c | 4 +-
23374 fs/proc/kcore.c | 32 +-
23375 fs/proc/meminfo.c | 2 +-
23376 fs/proc/nommu.c | 2 +-
23377 fs/proc/proc_sysctl.c | 18 +-
23378 fs/proc/self.c | 2 +-
23379 fs/proc/task_mmu.c | 39 +-
23380 fs/proc/task_nommu.c | 4 +-
23381 fs/proc/vmcore.c | 12 +-
23382 fs/qnx6/qnx6.h | 4 +-
23383 fs/quota/netlink.c | 4 +-
23384 fs/read_write.c | 2 +-
23385 fs/readdir.c | 2 +-
23386 fs/reiserfs/do_balan.c | 2 +-
23387 fs/reiserfs/procfs.c | 2 +-
23388 fs/reiserfs/reiserfs.h | 4 +-
23389 fs/seq_file.c | 2 +-
23390 fs/splice.c | 40 +-
23391 fs/sysfs/bin.c | 6 +-
23392 fs/sysfs/dir.c | 2 +-
23393 fs/sysfs/file.c | 10 +-
23394 fs/sysfs/symlink.c | 2 +-
23395 fs/sysv/sysv.h | 2 +-
23396 fs/ubifs/io.c | 2 +-
23397 fs/udf/misc.c | 2 +-
23398 fs/ufs/swab.h | 4 +-
23399 fs/xattr.c | 21 +
23400 fs/xattr_acl.c | 4 +-
23401 fs/xfs/xfs_bmap.c | 2 +-
23402 fs/xfs/xfs_dir2_sf.c | 10 +-
23403 fs/xfs/xfs_ioctl.c | 2 +-
23404 fs/xfs/xfs_iops.c | 2 +-
23405 include/asm-generic/4level-fixup.h | 2 +
23406 include/asm-generic/atomic-long.h | 210 +
23407 include/asm-generic/atomic.h | 2 +-
23408 include/asm-generic/atomic64.h | 12 +
23409 include/asm-generic/cache.h | 4 +-
23410 include/asm-generic/emergency-restart.h | 2 +-
23411 include/asm-generic/kmap_types.h | 4 +-
23412 include/asm-generic/local.h | 13 +
23413 include/asm-generic/pgtable-nopmd.h | 18 +-
23414 include/asm-generic/pgtable-nopud.h | 15 +-
23415 include/asm-generic/pgtable.h | 8 +
23416 include/asm-generic/vmlinux.lds.h | 10 +-
23417 include/crypto/algapi.h | 2 +-
23418 include/drm/drmP.h | 17 +-
23419 include/drm/drm_crtc_helper.h | 2 +-
23420 include/drm/ttm/ttm_memory.h | 2 +-
23421 include/keys/asymmetric-subtype.h | 2 +-
23422 include/linux/atmdev.h | 4 +-
23423 include/linux/binfmts.h | 3 +-
23424 include/linux/blkdev.h | 2 +-
23425 include/linux/blktrace_api.h | 2 +-
23426 include/linux/cache.h | 4 +
23427 include/linux/cdrom.h | 1 -
23428 include/linux/cleancache.h | 2 +-
23429 include/linux/clk-provider.h | 1 +
23430 include/linux/compat.h | 4 +-
23431 include/linux/compiler-gcc4.h | 20 +
23432 include/linux/compiler.h | 65 +-
23433 include/linux/completion.h | 6 +-
23434 include/linux/configfs.h | 2 +-
23435 include/linux/cpu.h | 2 +-
23436 include/linux/cpufreq.h | 3 +-
23437 include/linux/cpuidle.h | 5 +-
23438 include/linux/cpumask.h | 12 +-
23439 include/linux/crypto.h | 6 +-
23440 include/linux/ctype.h | 2 +-
23441 include/linux/decompress/mm.h | 2 +-
23442 include/linux/devfreq.h | 2 +-
23443 include/linux/device.h | 7 +-
23444 include/linux/dma-mapping.h | 2 +-
23445 include/linux/dmaengine.h | 4 +-
23446 include/linux/efi.h | 1 +
23447 include/linux/elf.h | 2 +
23448 include/linux/err.h | 4 +-
23449 include/linux/extcon.h | 2 +-
23450 include/linux/fb.h | 2 +-
23451 include/linux/filter.h | 4 +
23452 include/linux/frontswap.h | 2 +-
23453 include/linux/fs.h | 3 +-
23454 include/linux/fs_struct.h | 2 +-
23455 include/linux/fscache-cache.h | 4 +-
23456 include/linux/fscache.h | 2 +-
23457 include/linux/fsnotify.h | 2 +-
23458 include/linux/genhd.h | 2 +-
23459 include/linux/genl_magic_func.h | 2 +-
23460 include/linux/gfp.h | 12 +-
23461 include/linux/highmem.h | 12 +
23462 include/linux/hwmon-sysfs.h | 5 +-
23463 include/linux/i2c.h | 1 +
23464 include/linux/i2o.h | 2 +-
23465 include/linux/if_pppox.h | 2 +-
23466 include/linux/init.h | 33 +-
23467 include/linux/init_task.h | 7 +
23468 include/linux/interrupt.h | 8 +-
23469 include/linux/iommu.h | 2 +-
23470 include/linux/ioport.h | 2 +-
23471 include/linux/irq.h | 3 +-
23472 include/linux/irqchip/arm-gic.h | 4 +-
23473 include/linux/key-type.h | 2 +-
23474 include/linux/kgdb.h | 6 +-
23475 include/linux/kobject.h | 3 +-
23476 include/linux/kobject_ns.h | 2 +-
23477 include/linux/kref.h | 2 +-
23478 include/linux/kvm_host.h | 4 +-
23479 include/linux/libata.h | 2 +-
23480 include/linux/list.h | 15 +
23481 include/linux/math64.h | 6 +-
23482 include/linux/mm.h | 116 +-
23483 include/linux/mm_types.h | 20 +
23484 include/linux/mmiotrace.h | 4 +-
23485 include/linux/mmzone.h | 2 +-
23486 include/linux/mod_devicetable.h | 6 +-
23487 include/linux/module.h | 60 +-
23488 include/linux/moduleloader.h | 16 +
23489 include/linux/moduleparam.h | 4 +-
23490 include/linux/namei.h | 6 +-
23491 include/linux/net.h | 2 +-
23492 include/linux/netdevice.h | 3 +-
23493 include/linux/netfilter.h | 2 +-
23494 include/linux/netfilter/ipset/ip_set.h | 2 +-
23495 include/linux/netfilter/nfnetlink.h | 2 +-
23496 include/linux/nls.h | 2 +-
23497 include/linux/notifier.h | 3 +-
23498 include/linux/oprofile.h | 4 +-
23499 include/linux/pci_hotplug.h | 3 +-
23500 include/linux/perf_event.h | 12 +-
23501 include/linux/pipe_fs_i.h | 8 +-
23502 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
23503 include/linux/platform_data/usb-ohci-exynos.h | 2 +-
23504 include/linux/pm_domain.h | 2 +-
23505 include/linux/pm_runtime.h | 2 +-
23506 include/linux/pnp.h | 2 +-
23507 include/linux/poison.h | 4 +-
23508 include/linux/power/smartreflex.h | 2 +-
23509 include/linux/ppp-comp.h | 2 +-
23510 include/linux/proc_ns.h | 2 +-
23511 include/linux/random.h | 5 +
23512 include/linux/rculist.h | 16 +
23513 include/linux/reboot.h | 14 +-
23514 include/linux/regset.h | 3 +-
23515 include/linux/relay.h | 2 +-
23516 include/linux/rio.h | 2 +-
23517 include/linux/rmap.h | 4 +-
23518 include/linux/sched.h | 65 +-
23519 include/linux/sched/sysctl.h | 1 +
23520 include/linux/seq_file.h | 1 +
23521 include/linux/skbuff.h | 12 +-
23522 include/linux/slab.h | 42 +-
23523 include/linux/slab_def.h | 28 +-
23524 include/linux/slob_def.h | 4 +-
23525 include/linux/slub_def.h | 8 +-
23526 include/linux/sock_diag.h | 2 +-
23527 include/linux/sonet.h | 2 +-
23528 include/linux/sunrpc/addr.h | 8 +-
23529 include/linux/sunrpc/clnt.h | 2 +-
23530 include/linux/sunrpc/svc.h | 2 +-
23531 include/linux/sunrpc/svc_rdma.h | 18 +-
23532 include/linux/sunrpc/svcauth.h | 2 +-
23533 include/linux/swiotlb.h | 3 +-
23534 include/linux/syscalls.h | 10 +-
23535 include/linux/syscore_ops.h | 2 +-
23536 include/linux/sysctl.h | 6 +-
23537 include/linux/sysfs.h | 10 +-
23538 include/linux/sysrq.h | 3 +-
23539 include/linux/thread_info.h | 7 +
23540 include/linux/tty.h | 4 +-
23541 include/linux/tty_driver.h | 2 +-
23542 include/linux/tty_ldisc.h | 2 +-
23543 include/linux/types.h | 16 +
23544 include/linux/uaccess.h | 6 +-
23545 include/linux/unaligned/access_ok.h | 24 +-
23546 include/linux/usb.h | 4 +-
23547 include/linux/usb/renesas_usbhs.h | 2 +-
23548 include/linux/vermagic.h | 21 +-
23549 include/linux/vmalloc.h | 11 +-
23550 include/linux/vmstat.h | 20 +-
23551 include/linux/xattr.h | 5 +-
23552 include/linux/zlib.h | 3 +-
23553 include/media/v4l2-dev.h | 2 +-
23554 include/net/9p/transport.h | 2 +-
23555 include/net/bluetooth/l2cap.h | 2 +-
23556 include/net/caif/cfctrl.h | 6 +-
23557 include/net/flow.h | 2 +-
23558 include/net/genetlink.h | 2 +-
23559 include/net/gro_cells.h | 2 +-
23560 include/net/inet_connection_sock.h | 2 +-
23561 include/net/inetpeer.h | 8 +-
23562 include/net/ip.h | 2 +-
23563 include/net/ip_fib.h | 2 +-
23564 include/net/ip_vs.h | 8 +-
23565 include/net/irda/ircomm_tty.h | 1 +
23566 include/net/iucv/af_iucv.h | 2 +-
23567 include/net/llc_c_ac.h | 2 +-
23568 include/net/llc_c_ev.h | 4 +-
23569 include/net/llc_c_st.h | 2 +-
23570 include/net/llc_s_ac.h | 2 +-
23571 include/net/llc_s_st.h | 2 +-
23572 include/net/mac80211.h | 2 +-
23573 include/net/neighbour.h | 2 +-
23574 include/net/net_namespace.h | 12 +-
23575 include/net/netdma.h | 2 +-
23576 include/net/netlink.h | 2 +-
23577 include/net/netns/conntrack.h | 6 +-
23578 include/net/netns/ipv4.h | 2 +-
23579 include/net/netns/ipv6.h | 2 +-
23580 include/net/protocol.h | 4 +-
23581 include/net/rtnetlink.h | 2 +-
23582 include/net/sctp/sctp.h | 6 +-
23583 include/net/sctp/sm.h | 4 +-
23584 include/net/sctp/structs.h | 2 +-
23585 include/net/sock.h | 6 +-
23586 include/net/tcp.h | 8 +-
23587 include/net/xfrm.h | 8 +-
23588 include/rdma/iw_cm.h | 2 +-
23589 include/scsi/libfc.h | 3 +-
23590 include/scsi/scsi_device.h | 6 +-
23591 include/scsi/scsi_transport_fc.h | 3 +-
23592 include/sound/compress_driver.h | 2 +-
23593 include/sound/soc.h | 4 +-
23594 include/target/target_core_base.h | 2 +-
23595 include/trace/events/irq.h | 4 +-
23596 include/uapi/linux/a.out.h | 8 +
23597 include/uapi/linux/byteorder/little_endian.h | 28 +-
23598 include/uapi/linux/elf.h | 28 +
23599 include/uapi/linux/screen_info.h | 3 +-
23600 include/uapi/linux/swab.h | 6 +-
23601 include/uapi/linux/sysctl.h | 6 +-
23602 include/uapi/linux/xattr.h | 4 +
23603 include/video/udlfb.h | 8 +-
23604 include/video/uvesafb.h | 1 +
23605 init/Kconfig | 2 +-
23606 init/Makefile | 3 +
23607 init/do_mounts.c | 14 +-
23608 init/do_mounts.h | 8 +-
23609 init/do_mounts_initrd.c | 30 +-
23610 init/do_mounts_md.c | 6 +-
23611 init/init_task.c | 4 +
23612 init/initramfs.c | 42 +-
23613 init/main.c | 83 +-
23614 ipc/ipc_sysctl.c | 10 +-
23615 ipc/mq_sysctl.c | 2 +-
23616 ipc/msg.c | 11 +-
23617 ipc/sem.c | 11 +-
23618 ipc/shm.c | 17 +-
23619 kernel/acct.c | 2 +-
23620 kernel/audit.c | 8 +-
23621 kernel/auditfilter.c | 2 +-
23622 kernel/auditsc.c | 4 +-
23623 kernel/capability.c | 3 +
23624 kernel/compat.c | 38 +-
23625 kernel/debug/debug_core.c | 16 +-
23626 kernel/debug/kdb/kdb_main.c | 4 +-
23627 kernel/events/core.c | 30 +-
23628 kernel/events/internal.h | 10 +-
23629 kernel/exit.c | 4 +-
23630 kernel/fork.c | 167 +-
23631 kernel/futex.c | 9 +
23632 kernel/futex_compat.c | 2 +-
23633 kernel/gcov/base.c | 7 +-
23634 kernel/hrtimer.c | 4 +-
23635 kernel/irq_work.c | 7 +-
23636 kernel/jump_label.c | 5 +
23637 kernel/kallsyms.c | 39 +-
23638 kernel/kexec.c | 3 +-
23639 kernel/kmod.c | 4 +-
23640 kernel/kprobes.c | 8 +-
23641 kernel/ksysfs.c | 2 +-
23642 kernel/lockdep.c | 7 +-
23643 kernel/module.c | 337 +-
23644 kernel/mutex-debug.c | 12 +-
23645 kernel/mutex-debug.h | 4 +-
23646 kernel/mutex.c | 11 +-
23647 kernel/notifier.c | 17 +-
23648 kernel/panic.c | 3 +-
23649 kernel/pid.c | 2 +-
23650 kernel/pid_namespace.c | 2 +-
23651 kernel/posix-cpu-timers.c | 4 +-
23652 kernel/posix-timers.c | 22 +-
23653 kernel/power/process.c | 12 +-
23654 kernel/profile.c | 14 +-
23655 kernel/ptrace.c | 8 +-
23656 kernel/rcupdate.c | 4 +-
23657 kernel/rcutiny.c | 4 +-
23658 kernel/rcutiny_plugin.h | 2 +-
23659 kernel/rcutorture.c | 56 +-
23660 kernel/rcutree.c | 76 +-
23661 kernel/rcutree.h | 24 +-
23662 kernel/rcutree_plugin.h | 20 +-
23663 kernel/rcutree_trace.c | 22 +-
23664 kernel/rtmutex-tester.c | 24 +-
23665 kernel/sched/auto_group.c | 4 +-
23666 kernel/sched/core.c | 51 +-
23667 kernel/sched/fair.c | 4 +-
23668 kernel/sched/sched.h | 2 +-
23669 kernel/signal.c | 12 +-
23670 kernel/smp.c | 2 +-
23671 kernel/smpboot.c | 4 +-
23672 kernel/softirq.c | 18 +-
23673 kernel/srcu.c | 4 +-
23674 kernel/sys.c | 10 +-
23675 kernel/sysctl.c | 39 +-
23676 kernel/time.c | 2 +-
23677 kernel/time/alarmtimer.c | 2 +-
23678 kernel/time/tick-broadcast.c | 2 +-
23679 kernel/time/timer_stats.c | 10 +-
23680 kernel/timer.c | 6 +-
23681 kernel/trace/blktrace.c | 6 +-
23682 kernel/trace/ftrace.c | 18 +-
23683 kernel/trace/ring_buffer.c | 76 +-
23684 kernel/trace/trace.c | 2 +-
23685 kernel/trace/trace.h | 2 +-
23686 kernel/trace/trace_events.c | 25 +-
23687 kernel/trace/trace_mmiotrace.c | 8 +-
23688 kernel/trace/trace_output.c | 12 +-
23689 kernel/trace/trace_stack.c | 2 +-
23690 kernel/user_namespace.c | 2 +-
23691 kernel/utsname_sysctl.c | 2 +-
23692 kernel/watchdog.c | 2 +-
23693 kernel/workqueue.c | 2 +-
23694 lib/Kconfig.debug | 8 +-
23695 lib/Makefile | 2 +-
23696 lib/bitmap.c | 8 +-
23697 lib/bug.c | 2 +
23698 lib/debugobjects.c | 2 +-
23699 lib/devres.c | 4 +-
23700 lib/div64.c | 4 +-
23701 lib/dma-debug.c | 4 +-
23702 lib/inflate.c | 2 +-
23703 lib/ioremap.c | 4 +-
23704 lib/kobject.c | 6 +-
23705 lib/list_debug.c | 126 +-
23706 lib/radix-tree.c | 2 +-
23707 lib/strncpy_from_user.c | 2 +-
23708 lib/strnlen_user.c | 2 +-
23709 lib/swiotlb.c | 2 +-
23710 lib/usercopy.c | 6 +
23711 lib/vsprintf.c | 12 +-
23712 mm/Kconfig | 6 +-
23713 mm/backing-dev.c | 4 +-
23714 mm/filemap.c | 2 +-
23715 mm/fremap.c | 5 +
23716 mm/highmem.c | 7 +-
23717 mm/hugetlb.c | 70 +-
23718 mm/internal.h | 1 +
23719 mm/maccess.c | 4 +-
23720 mm/madvise.c | 41 +
23721 mm/memory-failure.c | 26 +-
23722 mm/memory.c | 424 ++-
23723 mm/mempolicy.c | 26 +
23724 mm/mlock.c | 15 +-
23725 mm/mmap.c | 606 ++-
23726 mm/mprotect.c | 139 +-
23727 mm/mremap.c | 44 +-
23728 mm/nommu.c | 21 +-
23729 mm/page-writeback.c | 4 +-
23730 mm/page_alloc.c | 41 +-
23731 mm/page_io.c | 2 +-
23732 mm/percpu.c | 2 +-
23733 mm/process_vm_access.c | 14 +-
23734 mm/rmap.c | 38 +-
23735 mm/shmem.c | 19 +-
23736 mm/slab.c | 79 +-
23737 mm/slab.h | 5 +-
23738 mm/slab_common.c | 46 +-
23739 mm/slob.c | 201 +-
23740 mm/slub.c | 79 +-
23741 mm/sparse-vmemmap.c | 4 +-
23742 mm/sparse.c | 2 +-
23743 mm/swap.c | 3 +
23744 mm/swapfile.c | 12 +-
23745 mm/util.c | 6 +
23746 mm/vmalloc.c | 77 +-
23747 mm/vmstat.c | 12 +-
23748 net/8021q/vlan.c | 5 +-
23749 net/9p/mod.c | 4 +-
23750 net/9p/trans_fd.c | 2 +-
23751 net/atm/atm_misc.c | 8 +-
23752 net/atm/lec.h | 2 +-
23753 net/atm/proc.c | 6 +-
23754 net/atm/resources.c | 4 +-
23755 net/ax25/sysctl_net_ax25.c | 2 +-
23756 net/batman-adv/bat_iv_ogm.c | 8 +-
23757 net/batman-adv/hard-interface.c | 4 +-
23758 net/batman-adv/soft-interface.c | 4 +-
23759 net/batman-adv/types.h | 6 +-
23760 net/batman-adv/unicast.c | 2 +-
23761 net/bluetooth/hci_core.c | 8 +-
23762 net/bluetooth/hci_sock.c | 2 +-
23763 net/bluetooth/l2cap_core.c | 6 +-
23764 net/bluetooth/l2cap_sock.c | 12 +-
23765 net/bluetooth/rfcomm/sock.c | 4 +-
23766 net/bluetooth/rfcomm/tty.c | 10 +-
23767 net/bridge/netfilter/ebtables.c | 6 +-
23768 net/caif/cfctrl.c | 11 +-
23769 net/can/af_can.c | 2 +-
23770 net/can/gw.c | 6 +-
23771 net/compat.c | 34 +-
23772 net/core/datagram.c | 2 +-
23773 net/core/dev.c | 16 +-
23774 net/core/flow.c | 8 +-
23775 net/core/iovec.c | 4 +-
23776 net/core/neighbour.c | 2 +-
23777 net/core/net-sysfs.c | 2 +-
23778 net/core/net_namespace.c | 8 +-
23779 net/core/rtnetlink.c | 13 +-
23780 net/core/scm.c | 8 +-
23781 net/core/sock.c | 24 +-
23782 net/core/sock_diag.c | 9 +-
23783 net/core/sysctl_net_core.c | 18 +-
23784 net/decnet/af_decnet.c | 1 +
23785 net/decnet/sysctl_net_decnet.c | 4 +-
23786 net/ipv4/af_inet.c | 8 +-
23787 net/ipv4/ah4.c | 2 +-
23788 net/ipv4/devinet.c | 18 +-
23789 net/ipv4/esp4.c | 2 +-
23790 net/ipv4/fib_frontend.c | 6 +-
23791 net/ipv4/fib_semantics.c | 2 +-
23792 net/ipv4/inet_connection_sock.c | 2 +-
23793 net/ipv4/inetpeer.c | 4 +-
23794 net/ipv4/ip_fragment.c | 15 +-
23795 net/ipv4/ip_gre.c | 6 +-
23796 net/ipv4/ip_sockglue.c | 2 +-
23797 net/ipv4/ip_vti.c | 4 +-
23798 net/ipv4/ipcomp.c | 2 +-
23799 net/ipv4/ipconfig.c | 6 +-
23800 net/ipv4/ipip.c | 4 +-
23801 net/ipv4/netfilter/arp_tables.c | 12 +-
23802 net/ipv4/netfilter/ip_tables.c | 12 +-
23803 net/ipv4/ping.c | 2 +-
23804 net/ipv4/raw.c | 14 +-
23805 net/ipv4/route.c | 18 +-
23806 net/ipv4/sysctl_net_ipv4.c | 45 +-
23807 net/ipv4/tcp_input.c | 2 +-
23808 net/ipv4/tcp_probe.c | 2 +-
23809 net/ipv4/udp.c | 10 +-
23810 net/ipv4/xfrm4_policy.c | 14 +-
23811 net/ipv6/addrconf.c | 12 +-
23812 net/ipv6/icmp.c | 2 +-
23813 net/ipv6/ip6_gre.c | 8 +-
23814 net/ipv6/ip6_tunnel.c | 4 +-
23815 net/ipv6/ipv6_sockglue.c | 2 +-
23816 net/ipv6/netfilter/ip6_tables.c | 12 +-
23817 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
23818 net/ipv6/raw.c | 19 +-
23819 net/ipv6/reassembly.c | 13 +-
23820 net/ipv6/route.c | 2 +-
23821 net/ipv6/sit.c | 4 +-
23822 net/ipv6/sysctl_net_ipv6.c | 2 +-
23823 net/ipv6/udp.c | 8 +-
23824 net/ipv6/xfrm6_policy.c | 13 +-
23825 net/irda/ircomm/ircomm_tty.c | 18 +-
23826 net/iucv/af_iucv.c | 4 +-
23827 net/iucv/iucv.c | 2 +-
23828 net/key/af_key.c | 4 +-
23829 net/mac80211/cfg.c | 8 +-
23830 net/mac80211/ieee80211_i.h | 3 +-
23831 net/mac80211/iface.c | 16 +-
23832 net/mac80211/main.c | 2 +-
23833 net/mac80211/pm.c | 6 +-
23834 net/mac80211/rate.c | 2 +-
23835 net/mac80211/rc80211_pid_debugfs.c | 2 +-
23836 net/mac80211/util.c | 4 +-
23837 net/netfilter/ipset/ip_set_core.c | 2 +-
23838 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
23839 net/netfilter/ipvs/ip_vs_core.c | 4 +-
23840 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
23841 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
23842 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
23843 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
23844 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
23845 net/netfilter/nf_conntrack_acct.c | 2 +-
23846 net/netfilter/nf_conntrack_ecache.c | 2 +-
23847 net/netfilter/nf_conntrack_helper.c | 2 +-
23848 net/netfilter/nf_conntrack_proto.c | 2 +-
23849 net/netfilter/nf_conntrack_proto_dccp.c | 4 +-
23850 net/netfilter/nf_conntrack_standalone.c | 2 +-
23851 net/netfilter/nf_conntrack_timestamp.c | 2 +-
23852 net/netfilter/nf_log.c | 10 +-
23853 net/netfilter/nf_sockopt.c | 4 +-
23854 net/netfilter/nfnetlink_log.c | 4 +-
23855 net/netfilter/xt_statistic.c | 8 +-
23856 net/netlink/af_netlink.c | 4 +-
23857 net/netlink/genetlink.c | 16 +-
23858 net/packet/af_packet.c | 12 +-
23859 net/phonet/pep.c | 6 +-
23860 net/phonet/socket.c | 2 +-
23861 net/phonet/sysctl.c | 2 +-
23862 net/rds/cong.c | 6 +-
23863 net/rds/ib.h | 2 +-
23864 net/rds/ib_cm.c | 2 +-
23865 net/rds/ib_recv.c | 4 +-
23866 net/rds/iw.h | 2 +-
23867 net/rds/iw_cm.c | 2 +-
23868 net/rds/iw_recv.c | 4 +-
23869 net/rds/rds.h | 2 +-
23870 net/rds/tcp.c | 2 +-
23871 net/rds/tcp_send.c | 2 +-
23872 net/rxrpc/af_rxrpc.c | 2 +-
23873 net/rxrpc/ar-ack.c | 14 +-
23874 net/rxrpc/ar-call.c | 2 +-
23875 net/rxrpc/ar-connection.c | 2 +-
23876 net/rxrpc/ar-connevent.c | 2 +-
23877 net/rxrpc/ar-input.c | 4 +-
23878 net/rxrpc/ar-internal.h | 8 +-
23879 net/rxrpc/ar-local.c | 2 +-
23880 net/rxrpc/ar-output.c | 4 +-
23881 net/rxrpc/ar-peer.c | 2 +-
23882 net/rxrpc/ar-proc.c | 4 +-
23883 net/rxrpc/ar-transport.c | 2 +-
23884 net/rxrpc/rxkad.c | 4 +-
23885 net/sctp/ipv6.c | 6 +-
23886 net/sctp/protocol.c | 10 +-
23887 net/sctp/sm_sideeffect.c | 2 +-
23888 net/sctp/socket.c | 21 +-
23889 net/sctp/sysctl.c | 4 +-
23890 net/socket.c | 18 +-
23891 net/sunrpc/clnt.c | 4 +-
23892 net/sunrpc/sched.c | 4 +-
23893 net/sunrpc/svc.c | 6 +-
23894 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
23895 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
23896 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
23897 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
23898 net/tipc/link.c | 6 +-
23899 net/tipc/msg.c | 2 +-
23900 net/tipc/subscr.c | 2 +-
23901 net/unix/sysctl_net_unix.c | 2 +-
23902 net/wireless/wext-core.c | 19 +-
23903 net/xfrm/xfrm_policy.c | 27 +-
23904 net/xfrm/xfrm_state.c | 29 +-
23905 net/xfrm/xfrm_sysctl.c | 2 +-
23906 scripts/Makefile.build | 2 +-
23907 scripts/Makefile.clean | 3 +-
23908 scripts/Makefile.host | 28 +-
23909 scripts/basic/fixdep.c | 12 +-
23910 scripts/gcc-plugin.sh | 17 +
23911 scripts/headers_install.sh | 1 +
23912 scripts/link-vmlinux.sh | 2 +-
23913 scripts/mod/file2alias.c | 14 +-
23914 scripts/mod/modpost.c | 25 +-
23915 scripts/mod/modpost.h | 6 +-
23916 scripts/mod/sumversion.c | 2 +-
23917 scripts/package/builddeb | 1 +
23918 scripts/pnmtologo.c | 6 +-
23919 scripts/sortextable.h | 6 +-
23920 security/Kconfig | 676 +++-
23921 security/apparmor/lsm.c | 2 +-
23922 security/integrity/ima/ima.h | 4 +-
23923 security/integrity/ima/ima_api.c | 2 +-
23924 security/integrity/ima/ima_fs.c | 4 +-
23925 security/integrity/ima/ima_queue.c | 2 +-
23926 security/keys/compat.c | 2 +-
23927 security/keys/internal.h | 2 +-
23928 security/keys/key.c | 18 +-
23929 security/keys/keyctl.c | 8 +-
23930 security/keys/keyring.c | 6 +-
23931 security/security.c | 9 +-
23932 security/selinux/hooks.c | 2 +-
23933 security/selinux/include/xfrm.h | 2 +-
23934 security/smack/smack_lsm.c | 2 +-
23935 security/tomoyo/tomoyo.c | 2 +-
23936 security/yama/yama_lsm.c | 22 +-
23937 sound/aoa/codecs/onyx.c | 7 +-
23938 sound/aoa/codecs/onyx.h | 1 +
23939 sound/core/oss/pcm_oss.c | 18 +-
23940 sound/core/pcm_compat.c | 2 +-
23941 sound/core/pcm_native.c | 4 +-
23942 sound/core/seq/seq_device.c | 8 +-
23943 sound/core/sound.c | 2 +-
23944 sound/drivers/mts64.c | 14 +-
23945 sound/drivers/opl4/opl4_lib.c | 2 +-
23946 sound/drivers/portman2x4.c | 3 +-
23947 sound/firewire/amdtp.c | 4 +-
23948 sound/firewire/amdtp.h | 2 +-
23949 sound/firewire/isight.c | 10 +-
23950 sound/firewire/scs1x.c | 8 +-
23951 sound/oss/sb_audio.c | 2 +-
23952 sound/oss/swarm_cs4297a.c | 6 +-
23953 sound/pci/ymfpci/ymfpci.h | 2 +-
23954 sound/pci/ymfpci/ymfpci_main.c | 12 +-
23955 sound/soc/fsl/fsl_ssi.c | 2 +-
23956 sound/sound_core.c | 2 +-
23957 tools/gcc/.gitignore | 1 +
23958 tools/gcc/Makefile | 45 +
23959 tools/gcc/checker_plugin.c | 172 +
23960 tools/gcc/colorize_plugin.c | 151 +
23961 tools/gcc/constify_plugin.c | 560 ++
23962 tools/gcc/generate_size_overflow_hash.sh | 94 +
23963 tools/gcc/kallocstat_plugin.c | 170 +
23964 tools/gcc/kernexec_plugin.c | 465 ++
23965 tools/gcc/latent_entropy_plugin.c | 327 ++
23966 tools/gcc/size_overflow_hash.data | 5893 ++++++++++++++++++++
23967 tools/gcc/size_overflow_plugin.c | 2114 +++++++
23968 tools/gcc/stackleak_plugin.c | 327 ++
23969 tools/gcc/structleak_plugin.c | 277 +
23970 tools/perf/util/include/asm/alternative-asm.h | 3 +
23971 tools/perf/util/include/linux/compiler.h | 8 +
23972 virt/kvm/kvm_main.c | 32 +-
23973 1607 files changed, 30734 insertions(+), 7318 deletions(-)
23974 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
23975 Merge: 0949bd4 fc53d63
23976 Author: Brad Spengler <spender@grsecurity.net>
23977 Date: Thu Mar 22 19:03:44 2012 -0400
23978
23979 Merge branch 'pax-test' into grsec-test
23980
23981 commit fc53d6338964741b368070ec5c935bc579b8c2a6
23982 Author: Brad Spengler <spender@grsecurity.net>
23983 Date: Thu Mar 22 19:02:45 2012 -0400
23984
23985 Update to pax-linux-3.2.12-test33.patch
23986
23987 commit 0949bd46a6455b308f66ad7c993bfee62412db35
23988 Author: Brad Spengler <spender@grsecurity.net>
23989 Date: Thu Mar 22 16:56:09 2012 -0400
23990
23991 Use current_umask() instead of current->fs->umask
23992
23993 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
23994 Author: Brad Spengler <spender@grsecurity.net>
23995 Date: Wed Mar 21 19:42:42 2012 -0400
23996
23997 compile fix
23998
23999 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
24000 Author: Brad Spengler <spender@grsecurity.net>
24001 Date: Wed Mar 21 19:34:56 2012 -0400
24002
24003 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
24004 uses of domains with particular hash collisions
24005
24006 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
24007 Author: Brad Spengler <spender@grsecurity.net>
24008 Date: Tue Mar 20 20:25:49 2012 -0400
24009
24010 zero kernel_role
24011
24012 commit b00953b43c69238d181d21121ef1577c988d5f6b
24013 Author: Brad Spengler <spender@grsecurity.net>
24014 Date: Tue Mar 20 19:29:34 2012 -0400
24015
24016 zero real_root after releasing it
24017
24018 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
24019 Merge: b724f59 273f98e
24020 Author: Brad Spengler <spender@grsecurity.net>
24021 Date: Tue Mar 20 19:11:26 2012 -0400
24022
24023 Merge branch 'pax-test' into grsec-test
24024
24025 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
24026 Author: Brad Spengler <spender@grsecurity.net>
24027 Date: Tue Mar 20 19:10:52 2012 -0400
24028
24029 Temporary workaround for (most) size_overflow plugin false-positives
24030 Increase randomization for brk-managed heap to 21 bits
24031 Update to pax-linux-3.2.12-test32.patch
24032
24033 commit b724f59125304460c2af8bd4b02921993afbb5d3
24034 Author: Brad Spengler <spender@grsecurity.net>
24035 Date: Tue Mar 20 18:58:53 2012 -0400
24036
24037 compile fix
24038
24039 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
24040 Author: Brad Spengler <spender@grsecurity.net>
24041 Date: Tue Mar 20 18:52:23 2012 -0400
24042
24043 Require default and kernel role
24044
24045 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
24046 Author: Brad Spengler <spender@grsecurity.net>
24047 Date: Tue Mar 20 18:47:28 2012 -0400
24048
24049 Allow policies without special roles
24050 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
24051
24052 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
24053 Merge: 8e012dc f14661a
24054 Author: Brad Spengler <spender@grsecurity.net>
24055 Date: Mon Mar 19 18:06:59 2012 -0400
24056
24057 Merge branch 'pax-test' into grsec-test
24058
24059 Conflicts:
24060 fs/namei.c
24061
24062 commit f14661aaf202155c97f66626cea0269017bb7775
24063 Merge: eae671f 058b017
24064 Author: Brad Spengler <spender@grsecurity.net>
24065 Date: Mon Mar 19 18:05:44 2012 -0400
24066
24067 Merge branch 'linux-3.2.y' into pax-test
24068
24069 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
24070 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
24071 Date: Fri Mar 16 17:08:39 2012 -0700
24072
24073 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
24074
24075 According to the report from Slicky Devil, nilfs caused kernel oops at
24076 nilfs_load_super_block function during mount after he shrank the
24077 partition without resizing the filesystem:
24078
24079 BUG: unable to handle kernel NULL pointer dereference at 00000048
24080 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
24081 *pde = 00000000
24082 Oops: 0000 [#1] PREEMPT SMP
24083 ...
24084 Call Trace:
24085 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
24086 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
24087 [<c0226636>] mount_fs+0x36/0x180
24088 [<c023d961>] vfs_kern_mount+0x51/0xa0
24089 [<c023ddae>] do_kern_mount+0x3e/0xe0
24090 [<c023f189>] do_mount+0x169/0x700
24091 [<c023fa9b>] sys_mount+0x6b/0xa0
24092 [<c04abd1f>] sysenter_do_call+0x12/0x28
24093 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
24094 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
24095 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
24096 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
24097 CR2: 0000000000000048
24098
24099 This turned out due to a defect in an error path which runs if the
24100 calculated location of the secondary super block was invalid.
24101
24102 This patch fixes it and eliminates the reported oops.
24103
24104 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
24105 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
24106 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
24107 Cc: <stable@vger.kernel.org> [2.6.30+]
24108 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
24109 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24110
24111 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
24112 Author: Haogang Chen <haogangchen@gmail.com>
24113 Date: Fri Mar 16 17:08:38 2012 -0700
24114
24115 nilfs2: clamp ns_r_segments_percentage to [1, 99]
24116
24117 ns_r_segments_percentage is read from the disk. Bogus or malicious
24118 value could cause integer overflow and malfunction due to meaningless
24119 disk usage calculation. This patch reports error when mounting such
24120 bogus volumes.
24121
24122 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
24123 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
24124 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
24125 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24126
24127 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
24128 Author: Eric Dumazet <eric.dumazet@gmail.com>
24129 Date: Sat Mar 10 09:20:21 2012 +0000
24130
24131 tcp: fix syncookie regression
24132
24133 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
24134 added a serious regression on synflood handling.
24135
24136 Simon Kirby discovered a successful connection was delayed by 20 seconds
24137 before being responsive.
24138
24139 In my tests, I discovered that xmit frames were lost, and needed ~4
24140 retransmits and a socket dst rebuild before being really sent.
24141
24142 In case of syncookie initiated connection, we use a different path to
24143 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
24144
24145 As ip_queue_xmit() now depends on inet flow being setup, fix this by
24146 copying the temp flowi4 we use in cookie_v4_check().
24147
24148 Reported-by: Simon Kirby <sim@netnation.com>
24149 Bisected-by: Simon Kirby <sim@netnation.com>
24150 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
24151 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
24152 Signed-off-by: David S. Miller <davem@davemloft.net>
24153
24154 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
24155 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
24156 Date: Mon Mar 12 02:59:41 2012 +0000
24157
24158 tun: don't hold network namespace by tun sockets
24159
24160 v3: added previously removed sock_put() to the tun_release() callback, because
24161 sk_release_kernel() doesn't drop the socket reference.
24162
24163 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
24164 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
24165 call.
24166
24167 TUN was designed to destroy it's socket on network namesapce shutdown. But this
24168 will never happen for persistent device, because it's socket holds network
24169 namespace.
24170 This patch removes of holding network namespace by TUN socket and replaces it
24171 by creating socket in init_net and then changing it's net it to desired one. On
24172 shutdown socket is moved back to init_net prior to final put.
24173
24174 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
24175 Signed-off-by: David S. Miller <davem@davemloft.net>
24176
24177 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
24178 Author: Tyler Hicks <tyhicks@canonical.com>
24179 Date: Mon Dec 12 10:02:30 2011 -0600
24180
24181 vfs: Correctly set the dir i_mutex lockdep class
24182
24183 9a7aa12f3911853a introduced additional logic around setting the i_mutex
24184 lockdep class for directory inodes. The idea was that some filesystems
24185 may want their own special lockdep class for different directory
24186 inodes and calling unlock_new_inode() should not clobber one of
24187 those special classes.
24188
24189 I believe that the added conditional, around the *negated* return value
24190 of lockdep_match_class(), caused directory inodes to be placed in the
24191 wrong lockdep class.
24192
24193 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
24194 all inodes. If the filesystem did not change the class during inode
24195 initialization, then the conditional mentioned above was false and the
24196 directory inode was incorrectly left in the non-directory lockdep class.
24197 If the filesystem did set a special lockdep class, then the conditional
24198 mentioned above was true and that class was clobbered with
24199 i_mutex_dir_key.
24200
24201 This patch removes the negation from the conditional so that the i_mutex
24202 lockdep class is properly set for directory inodes. Special classes are
24203 preserved and directory inodes with unmodified classes are set with
24204 i_mutex_dir_key.
24205
24206 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
24207 Reviewed-by: Jan Kara <jack@suse.cz>
24208 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24209
24210 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
24211 Author: Jan Kara <jack@suse.cz>
24212 Date: Mon Feb 20 17:54:00 2012 +0100
24213
24214 udf: Fix deadlock in udf_release_file()
24215
24216 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
24217 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
24218 i_mutex is not needed in udf_release_file() anymore since protection by
24219 i_data_sem is enough to protect from races with write and truncate.
24220
24221 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
24222 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
24223 Signed-off-by: Jan Kara <jack@suse.cz>
24224 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24225
24226 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
24227 Author: Miklos Szeredi <mszeredi@suse.cz>
24228 Date: Tue Mar 6 13:56:33 2012 +0100
24229
24230 vfs: fix double put after complete_walk()
24231
24232 complete_walk() already puts nd->path, no need to do it again at cleanup time.
24233
24234 This would result in Oopses if triggered, apparently the codepath is not too
24235 well exercised.
24236
24237 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
24238 CC: stable@vger.kernel.org
24239 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24240
24241 commit 13885ba2b18400f3ef6540497d30f1af896605e5
24242 Author: Miklos Szeredi <mszeredi@suse.cz>
24243 Date: Tue Mar 6 13:56:34 2012 +0100
24244
24245 vfs: fix return value from do_last()
24246
24247 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
24248 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
24249 which is complete nonsense.
24250
24251 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
24252 CC: stable@vger.kernel.org
24253 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24254
24255 Conflicts:
24256
24257 fs/namei.c
24258
24259 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
24260 Author: Al Viro <viro@zeniv.linux.org.uk>
24261 Date: Sat Mar 10 17:07:28 2012 -0500
24262
24263 restore smp_mb() in unlock_new_inode()
24264
24265 wait_on_inode() doesn't have ->i_lock
24266
24267 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24268
24269 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
24270 Author: David S. Miller <davem@davemloft.net>
24271 Date: Tue Mar 13 18:19:51 2012 -0700
24272
24273 sparc32: Add -Av8 to assembler command line.
24274
24275 Newer version of binutils are more strict about specifying the
24276 correct options to enable certain classes of instructions.
24277
24278 The sparc32 build is done for v7 in order to support sun4c systems
24279 which lack hardware integer multiply and divide instructions.
24280
24281 So we have to pass -Av8 when building the assembler routines that
24282 use these instructions and get patched into the kernel when we find
24283 out that we have a v8 capable cpu.
24284
24285 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
24286 Signed-off-by: David S. Miller <davem@davemloft.net>
24287
24288 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
24289 Author: Thomas Gleixner <tglx@linutronix.de>
24290 Date: Fri Mar 9 20:55:10 2012 +0100
24291
24292 x86: Derandom delay_tsc for 64 bit
24293
24294 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
24295 delay_tsc() into a random delay generator for 64 bit. The reason is
24296 that it merged the mostly identical versions of delay_32.c and
24297 delay_64.c. Though the subtle difference of the result was:
24298
24299 static void delay_tsc(unsigned long loops)
24300 {
24301 - unsigned bclock, now;
24302 + unsigned long bclock, now;
24303
24304 Now the function uses rdtscl() which returns the lower 32bit of the
24305 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
24306 bit this fails when the lower 32bit are close to wrap around when
24307 bclock is read, because the following check
24308
24309 if ((now - bclock) >= loops)
24310 break;
24311
24312 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
24313 because the unsigned long (now - bclock) of these values results in
24314 0xffffffff00000001 which is definitely larger than the loops
24315 value. That explains Tvortkos observation:
24316
24317 "Because I am seeing udelay(500) (_occasionally_) being short, and
24318 that by delaying for some duration between 0us (yep) and 491us."
24319
24320 Make those variables explicitely u32 again, so this works for both 32
24321 and 64 bit.
24322
24323 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
24324 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
24325 Cc: stable@vger.kernel.org # >= 2.6.27
24326 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24327
24328 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
24329 Author: Al Viro <viro@ZenIV.linux.org.uk>
24330 Date: Thu Mar 8 17:51:19 2012 +0000
24331
24332 aio: fix the "too late munmap()" race
24333
24334 Current code has put_ioctx() called asynchronously from aio_fput_routine();
24335 that's done *after* we have killed the request that used to pin ioctx,
24336 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
24337 from progressing. As the result, we can end up with async call of
24338 put_ioctx() being the last one and possibly happening during exit_mmap()
24339 or elf_core_dump(), neither of which expects stray munmap() being done
24340 to them...
24341
24342 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
24343 with that, but that's all we care about - neither io_destroy() nor
24344 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
24345 does really_put_req(), so the ioctx teardown won't be done until then
24346 and we don't care about the contents of ioctx past that point.
24347
24348 Since actual freeing of these suckers is RCU-delayed, we don't need to
24349 bump ioctx refcount when request goes into list for async removal.
24350 All we need is rcu_read_lock held just over the ->ctx_lock-protected
24351 area in aio_fput_routine().
24352
24353 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24354 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
24355 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
24356 Cc: stable@vger.kernel.org
24357 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24358
24359 commit 002124c055afbf09b52226af65621999e8316448
24360 Author: Al Viro <viro@ZenIV.linux.org.uk>
24361 Date: Wed Mar 7 05:16:35 2012 +0000
24362
24363 aio: fix io_setup/io_destroy race
24364
24365 Have ioctx_alloc() return an extra reference, so that caller would drop it
24366 on success and not bother with re-grabbing it on failure exit. The current
24367 code is obviously broken - io_destroy() from another thread that managed
24368 to guess the address io_setup() would've returned would free ioctx right
24369 under us; gets especially interesting if aio_context_t * we pass to
24370 io_setup() points to PROT_READ mapping, so put_user() fails and we end
24371 up doing io_destroy() on kioctx another thread has just got freed...
24372
24373 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24374 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
24375 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
24376 Cc: stable@vger.kernel.org
24377 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24378
24379 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
24380 Author: Dan Carpenter <dan.carpenter@oracle.com>
24381 Date: Thu Mar 15 15:17:12 2012 -0700
24382
24383 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
24384
24385 strict_strtoul() writes a long but ->gamma_mode only has space to store an
24386 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
24387 well. I've changed it to use kstrtouint() instead.
24388
24389 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
24390 Acked-by: Inki Dae <inki.dae@samsung.com>
24391 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
24392 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
24393 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24394
24395 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
24396 Merge: e4b05b6 eae671f
24397 Author: Brad Spengler <spender@grsecurity.net>
24398 Date: Fri Mar 16 21:04:27 2012 -0400
24399
24400 Merge branch 'pax-test' into grsec-test
24401
24402 Conflicts:
24403 security/Kconfig
24404
24405 commit eae671fafe93f04685c04a089cc13efebc05d600
24406 Author: Brad Spengler <spender@grsecurity.net>
24407 Date: Fri Mar 16 20:58:01 2012 -0400
24408
24409 Update to pax-linux-3.2.11-test31.patch
24410 Introduction of the size_overflow plugin from Emese Revfy
24411 Many thanks to Emese for her hard work :)
24412
24413 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
24414 Merge: e55aa68 258c015
24415 Author: Brad Spengler <spender@grsecurity.net>
24416 Date: Thu Mar 15 20:59:19 2012 -0400
24417
24418 Merge branch 'pax-test' into grsec-test
24419
24420 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
24421 Author: Brad Spengler <spender@grsecurity.net>
24422 Date: Thu Mar 15 20:59:05 2012 -0400
24423
24424 fix ARM compilation
24425
24426 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
24427 Merge: 8f95ea9 55b7573
24428 Author: Brad Spengler <spender@grsecurity.net>
24429 Date: Wed Mar 14 19:33:41 2012 -0400
24430
24431 Merge branch 'pax-test' into grsec-test
24432
24433 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
24434 Author: Brad Spengler <spender@grsecurity.net>
24435 Date: Wed Mar 14 19:33:15 2012 -0400
24436
24437 Update to pax-linux-3.2.10-test28.patch
24438
24439 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
24440 Merge: c8786a2 886ac5e
24441 Author: Brad Spengler <spender@grsecurity.net>
24442 Date: Tue Mar 13 17:38:13 2012 -0400
24443
24444 Merge branch 'pax-test' into grsec-test
24445
24446 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
24447
24448 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
24449 Author: Brad Spengler <spender@grsecurity.net>
24450 Date: Tue Mar 13 17:37:44 2012 -0400
24451
24452 Update to pax-linux-3.2.10-test26.patch
24453
24454 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
24455 Merge: 219c982 c061fcf
24456 Author: Brad Spengler <spender@grsecurity.net>
24457 Date: Tue Mar 13 17:25:06 2012 -0400
24458
24459 Merge branch 'pax-test' into grsec-test
24460
24461 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
24462 Merge: 89373d2 3f4b3b2
24463 Author: Brad Spengler <spender@grsecurity.net>
24464 Date: Tue Mar 13 17:25:02 2012 -0400
24465
24466 Merge branch 'linux-3.2.y' into pax-test
24467
24468 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
24469 Merge: 54e19a3 89373d2
24470 Author: Brad Spengler <spender@grsecurity.net>
24471 Date: Mon Mar 12 17:23:57 2012 -0400
24472
24473 Merge branch 'pax-test' into grsec-test
24474
24475 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
24476 Merge: a778588 7459f11
24477 Author: Brad Spengler <spender@grsecurity.net>
24478 Date: Mon Mar 12 17:23:49 2012 -0400
24479
24480 Merge branch 'linux-3.2.y' into pax-test
24481
24482 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
24483 Merge: c4650f1 a778588
24484 Author: Brad Spengler <spender@grsecurity.net>
24485 Date: Mon Mar 12 16:51:25 2012 -0400
24486
24487 Merge branch 'pax-test' into grsec-test
24488
24489 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
24490 Author: Brad Spengler <spender@grsecurity.net>
24491 Date: Mon Mar 12 16:51:12 2012 -0400
24492
24493 Update to pax-linux-3.2.9-test24.patch
24494
24495 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
24496 Merge: fb2abee 1015790
24497 Author: Brad Spengler <spender@grsecurity.net>
24498 Date: Sun Mar 11 21:08:28 2012 -0400
24499
24500 Merge branch 'pax-test' into grsec-test
24501
24502 Conflicts:
24503 security/Kconfig
24504
24505 commit 101579028a736c224e590c7e12a7357018c424e1
24506 Author: Brad Spengler <spender@grsecurity.net>
24507 Date: Sun Mar 11 21:07:27 2012 -0400
24508
24509 Update to pax-linux-3.2.9-test22.patch
24510
24511 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
24512 Author: Brad Spengler <spender@grsecurity.net>
24513 Date: Sun Mar 11 11:02:17 2012 -0400
24514
24515 Allow 4096 CPUs
24516
24517 commit 96bae28cbe6a41d48e3b56e5904814096e956000
24518 Author: Brad Spengler <spender@grsecurity.net>
24519 Date: Sun Mar 11 10:25:58 2012 -0400
24520
24521 Use a per-cpu 48-bit counter instead of a global atomic64
24522 Initialize each counter to have the cpu number in the lower 16 bits
24523 instead of incrementing the counter each time by 1, perform the increments
24524 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
24525 any state
24526 idea from PaX Team
24527
24528 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
24529 Author: Brad Spengler <spender@grsecurity.net>
24530 Date: Sat Mar 10 20:33:12 2012 -0500
24531
24532 Special vnsec edition! :)
24533 Further reduce argv/env allowance for suid/sgid apps to 512KB
24534 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
24535 Clear 3GB personality on suid/sgid binaries
24536 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
24537 with the main purpose of throwing off program stack -> arg/env alignment
24538 Update documentation
24539
24540 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
24541 Author: Brad Spengler <spender@grsecurity.net>
24542 Date: Sat Mar 10 19:54:47 2012 -0500
24543
24544 Resolve skbuff.h warnings that turn into errors during compilation in
24545 the grsecurity directory with -Werror
24546
24547 commit 2023210ad43a944033fcacc660ce410888f562ee
24548 Merge: ece4383 5f66adf
24549 Author: Brad Spengler <spender@grsecurity.net>
24550 Date: Fri Mar 9 19:48:01 2012 -0500
24551
24552 Merge branch 'pax-test' into grsec-test
24553
24554 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
24555 Author: Brad Spengler <spender@grsecurity.net>
24556 Date: Fri Mar 9 19:47:06 2012 -0500
24557
24558 Add colorize plugin
24559
24560 commit ece4383e5e91c92d138c4df84225a70b552f4d69
24561 Merge: a366d0e ab4a5a1
24562 Author: Brad Spengler <spender@grsecurity.net>
24563 Date: Fri Mar 9 17:56:46 2012 -0500
24564
24565 Merge branch 'pax-test' into grsec-test
24566
24567 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
24568 Author: Brad Spengler <spender@grsecurity.net>
24569 Date: Fri Mar 9 17:56:26 2012 -0500
24570
24571 Update to pax-linux-3.2.9-test21.patch
24572
24573 commit a366d0ed963ce93fce10121c1100989d5f064e75
24574 Author: Mikulas Patocka <mpatocka@redhat.com>
24575 Date: Sun Mar 4 19:52:03 2012 -0500
24576
24577 mm: fix find_vma_prev
24578
24579 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
24580 management on PA-RISC.
24581
24582 After application of the patch, programs that allocate big arrays on the
24583 stack crash with segfault, for example, this will crash if compiled
24584 without optimization:
24585
24586 int main()
24587 {
24588 char array[200000];
24589 array[199999] = 0;
24590 return 0;
24591 }
24592
24593 The reason is that PA-RISC has up-growing stack and the stack is usually
24594 the last memory area. In the above example, a page fault happens above
24595 the stack.
24596
24597 Previously, if we passed too high address to find_vma_prev, it returned
24598 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
24599 change, it stores NULL in *pprev. Consequently, the stack area is not
24600 found and it is not expanded, as it used to be before the change.
24601
24602 This patch restores the old behavior and makes it return the last VMA in
24603 *pprev if the requested address is higher than address of any other VMA.
24604
24605 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
24606 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
24607 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24608
24609 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
24610 Author: Hugh Dickins <hughd@google.com>
24611 Date: Tue Mar 6 12:28:52 2012 -0800
24612
24613 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
24614
24615 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
24616 from shared anonymous: hoist the file case's -EINVAL up for both.
24617
24618 Signed-off-by: Hugh Dickins <hughd@google.com>
24619 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24620
24621 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
24622 Author: Al Viro <viro@ZenIV.linux.org.uk>
24623 Date: Mon Mar 5 06:38:42 2012 +0000
24624
24625 aout: move setup_arg_pages() prior to reading/mapping the binary
24626
24627 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24628 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24629
24630 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
24631 Author: Jan Beulich <JBeulich@suse.com>
24632 Date: Mon Mar 5 16:49:24 2012 +0000
24633
24634 vsprintf: make %pV handling compatible with kasprintf()
24635
24636 kasprintf() (and potentially other functions that I didn't run across so
24637 far) want to evaluate argument lists twice. Caring to do so for the
24638 primary list is obviously their job, but they can't reasonably be
24639 expected to check the format string for instances of %pV, which however
24640 need special handling too: On architectures like x86-64 (as opposed to
24641 e.g. ix86), using the same argument list twice doesn't produce the
24642 expected results, as an internally managed cursor gets updated during
24643 the first run.
24644
24645 Fix the problem by always acting on a copy of the original list when
24646 handling %pV.
24647
24648 Signed-off-by: Jan Beulich <jbeulich@suse.com>
24649 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24650
24651 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
24652 Author: Al Viro <viro@ZenIV.linux.org.uk>
24653 Date: Mon Mar 5 06:39:47 2012 +0000
24654
24655 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
24656
24657 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
24658 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24659
24660 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
24661 Author: Christian König <deathsimple@vodafone.de>
24662 Date: Tue Feb 28 23:19:20 2012 +0100
24663
24664 drm/radeon: fix uninitialized variable
24665
24666 Without this fix the driver randomly treats
24667 textures as arrays and I'm really wondering
24668 why gcc isn't complaining about it.
24669
24670 Signed-off-by: Christian König <deathsimple@vodafone.de>
24671 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
24672 Signed-off-by: Dave Airlie <airlied@redhat.com>
24673
24674 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
24675 Author: H. Peter Anvin <hpa@zytor.com>
24676 Date: Fri Mar 2 10:43:48 2012 -0800
24677
24678 regset: Prevent null pointer reference on readonly regsets
24679
24680 The regset common infrastructure assumed that regsets would always
24681 have .get and .set methods, but not necessarily .active methods.
24682 Unfortunately people have since written regsets without .set methods.
24683
24684 Rather than putting in stub functions everywhere, handle regsets with
24685 null .get or .set methods explicitly.
24686
24687 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
24688 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
24689 Acked-by: Roland McGrath <roland@hack.frob.com>
24690 Cc: <stable@vger.kernel.org>
24691 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24692
24693 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
24694 Author: Brad Spengler <spender@grsecurity.net>
24695 Date: Mon Mar 5 18:12:57 2012 -0500
24696
24697 Fix compiler errors reported on forums
24698
24699 commit 1606774b48af24e6f99d99c624c0e447d4b66474
24700 Merge: 3127bd5 4ca2ffd
24701 Author: Brad Spengler <spender@grsecurity.net>
24702 Date: Mon Mar 5 17:31:35 2012 -0500
24703
24704 Merge branch 'pax-test' into grsec-test
24705
24706 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
24707 Author: Brad Spengler <spender@grsecurity.net>
24708 Date: Mon Mar 5 17:31:21 2012 -0500
24709
24710 Update to pax-linux-3.2.9-test20.patch
24711
24712 commit 3127bd581a292966b1057c7433219dac188c3720
24713 Author: Brad Spengler <spender@grsecurity.net>
24714 Date: Fri Mar 2 21:30:37 2012 -0500
24715
24716 Fix memory leak on logged exec_id check failure in /proc/pid/statm
24717 Thanks to Djalal Harouni for the report
24718
24719 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
24720 Merge: 0a56be8 9aa8288
24721 Author: Brad Spengler <spender@grsecurity.net>
24722 Date: Fri Mar 2 18:38:22 2012 -0500
24723
24724 Merge branch 'pax-test' into grsec-test
24725
24726 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
24727 Author: Brad Spengler <spender@grsecurity.net>
24728 Date: Fri Mar 2 18:37:43 2012 -0500
24729
24730 Update to pax-linux-3.2.9-test19.patch
24731
24732 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
24733 Merge: 9e66745 3f5c52a
24734 Author: Brad Spengler <spender@grsecurity.net>
24735 Date: Thu Mar 1 20:18:01 2012 -0500
24736
24737 Merge branch 'pax-test' into grsec-test
24738
24739 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
24740 Author: Brad Spengler <spender@grsecurity.net>
24741 Date: Thu Mar 1 20:16:56 2012 -0500
24742
24743 Update to pax-linux-3.2.9-test18.patch
24744
24745 commit ae53ec231d12719a36bf871f8c5841020ed692ee
24746 Merge: b255baf 44fb317
24747 Author: Brad Spengler <spender@grsecurity.net>
24748 Date: Thu Mar 1 20:15:31 2012 -0500
24749
24750 Merge branch 'linux-3.2.y' into pax-test
24751
24752 commit 9e667456c03eadea2f305be761abe4de9a5877a3
24753 Merge: 5e4e200 b255baf
24754 Author: Brad Spengler <spender@grsecurity.net>
24755 Date: Mon Feb 27 20:53:59 2012 -0500
24756
24757 Merge branch 'pax-test' into grsec-test
24758
24759 commit b255baf50365d39b406f43aab2c64745607baaa2
24760 Merge: 340ce90 1de504e
24761 Author: Brad Spengler <spender@grsecurity.net>
24762 Date: Mon Feb 27 20:53:29 2012 -0500
24763
24764 Merge branch 'linux-3.2.y' into pax-test
24765 Update to pax-linux-3.2.8-test17.patch
24766
24767 Conflicts:
24768 arch/x86/include/asm/i387.h
24769 arch/x86/kernel/process_32.c
24770 arch/x86/kernel/traps.c
24771
24772 commit 5e4e200ac530452884b625cb75de240e1e98c731
24773 Merge: 44306d7 340ce90
24774 Author: Brad Spengler <spender@grsecurity.net>
24775 Date: Mon Feb 27 18:02:13 2012 -0500
24776
24777 Merge branch 'pax-test' into grsec-test
24778
24779 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
24780 Author: Brad Spengler <spender@grsecurity.net>
24781 Date: Mon Feb 27 18:01:48 2012 -0500
24782
24783 Update to pax-linux-3.2.7-test17.patch
24784
24785 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
24786 Merge: 29d0b07 521c411
24787 Author: Brad Spengler <spender@grsecurity.net>
24788 Date: Sun Feb 26 19:04:15 2012 -0500
24789
24790 Merge branch 'pax-test' into grsec-test
24791
24792 Conflicts:
24793 Makefile
24794
24795 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
24796 Author: Brad Spengler <spender@grsecurity.net>
24797 Date: Sun Feb 26 19:03:33 2012 -0500
24798
24799 Update to pax-linux-3.2.7-test16.patch
24800
24801 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
24802 Author: Brad Spengler <spender@grsecurity.net>
24803 Date: Sun Feb 26 17:12:44 2012 -0500
24804
24805 fix typo
24806
24807 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
24808 Merge: f45b3be caa8f83
24809 Author: Brad Spengler <spender@grsecurity.net>
24810 Date: Sat Feb 25 20:59:27 2012 -0500
24811
24812 Merge branch 'pax-test' into grsec-test
24813
24814 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
24815 Author: Brad Spengler <spender@grsecurity.net>
24816 Date: Sat Feb 25 20:59:12 2012 -0500
24817
24818 Update to pax-linux-3.2.7-test15.patch
24819
24820 commit f45b3be34a345502a302e736af9a65742ddef7cb
24821 Merge: 62f35fd 9f1309b
24822 Author: Brad Spengler <spender@grsecurity.net>
24823 Date: Sat Feb 25 11:40:15 2012 -0500
24824
24825 Merge branch 'pax-test' into grsec-test
24826
24827 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
24828 Author: Brad Spengler <spender@grsecurity.net>
24829 Date: Sat Feb 25 11:39:57 2012 -0500
24830
24831 Update to pax-linux-3.2.7-test14.patch
24832
24833 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
24834 Author: Brad Spengler <spender@grsecurity.net>
24835 Date: Sat Feb 25 09:08:55 2012 -0500
24836
24837 We could log on attempted exploits of writing /proc/self/mem, but the current
24838 log function declares the access a read, so just swap the ordering for now
24839
24840 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
24841 Author: Brad Spengler <spender@grsecurity.net>
24842 Date: Sat Feb 25 08:46:14 2012 -0500
24843
24844 Log /proc/pid/mem attempts
24845
24846 commit 674471e581893a94d475acac3e3c4496209b3ac9
24847 Author: Brad Spengler <spender@grsecurity.net>
24848 Date: Sat Feb 25 08:15:00 2012 -0500
24849
24850 Make use of f_version for protecting /proc file structs (fine since we're not a directory
24851 or seq_file)
24852
24853 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
24854 Author: Brad Spengler <spender@grsecurity.net>
24855 Date: Fri Feb 24 20:02:19 2012 -0500
24856
24857 Fix ia64 compilation
24858
24859 commit 50dfea412fd395e0183c2ade368efa525d38b267
24860 Merge: 12db845 4c6f99b
24861 Author: Brad Spengler <spender@grsecurity.net>
24862 Date: Fri Feb 24 19:00:53 2012 -0500
24863
24864 Merge branch 'pax-test' into grsec-test
24865
24866 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
24867 Author: Brad Spengler <spender@grsecurity.net>
24868 Date: Fri Feb 24 19:00:36 2012 -0500
24869
24870 (6:57:09 PM) pipacs: but you can be proactive
24871 (Fix other-arch atomic64/REFCOUNT compilation failures)
24872
24873 commit 12db8453f6bb0a756f369c9151668ba1249bc478
24874 Author: Brad Spengler <spender@grsecurity.net>
24875 Date: Thu Feb 23 21:10:12 2012 -0500
24876
24877 Remove unnecessary copies, as suggested by solar
24878
24879 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
24880 Author: Brad Spengler <spender@grsecurity.net>
24881 Date: Thu Feb 23 20:59:35 2012 -0500
24882
24883 Make global_exec_counter static, as suggested by solar
24884
24885 commit e642091a475ebb3a30e81f85e7751233d0c2af43
24886 Author: Brad Spengler <spender@grsecurity.net>
24887 Date: Thu Feb 23 19:00:26 2012 -0500
24888
24889 sync with stable tree
24890
24891 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
24892 Author: Brad Spengler <spender@grsecurity.net>
24893 Date: Thu Feb 23 18:48:47 2012 -0500
24894
24895 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
24896 Remove handling of old kludge in chmod/fchmod
24897
24898 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
24899 Author: Brad Spengler <spender@grsecurity.net>
24900 Date: Thu Feb 23 18:18:49 2012 -0500
24901
24902 Apply umask checks to chmod/fchmod as well, as requested by sponsor
24903 Union the enforced umask with the existing one to produce minimal privilege
24904 Change umask type to u16
24905
24906 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
24907 Author: Brad Spengler <spender@grsecurity.net>
24908 Date: Wed Feb 22 18:16:11 2012 -0500
24909
24910 Add per-role umask enforcement to RBAC, requested by a sponsor
24911
24912 commit ad5ac943fe58199f1cc475912a39edb157acb77b
24913 Merge: dda0bb5 41722e3
24914 Author: Brad Spengler <spender@grsecurity.net>
24915 Date: Mon Feb 20 20:04:42 2012 -0500
24916
24917 Merge branch 'pax-test' into grsec-test
24918
24919 commit 41722e342e116d95f3d3556d66c97c888d752d39
24920 Author: Brad Spengler <spender@grsecurity.net>
24921 Date: Mon Feb 20 20:04:00 2012 -0500
24922
24923 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
24924 KERNEXEC plugin
24925
24926 commit dda0bb57137846a476a866c60db2681aaf6052c0
24927 Merge: 4fd554e d70927a
24928 Author: Brad Spengler <spender@grsecurity.net>
24929 Date: Mon Feb 20 20:01:41 2012 -0500
24930
24931 Merge branch 'pax-test' into grsec-test
24932
24933 commit d70927afec977d489a54c106a3c3ddc32e953050
24934 Merge: 1daebf1 9d0231c
24935 Author: Brad Spengler <spender@grsecurity.net>
24936 Date: Mon Feb 20 20:01:33 2012 -0500
24937
24938 Merge branch 'linux-3.2.y' into pax-test
24939
24940 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
24941 Author: Brad Spengler <spender@grsecurity.net>
24942 Date: Mon Feb 20 09:17:57 2012 -0500
24943
24944 Fix wrong logic on capability checks for switching roles, broke policies
24945 Thanks to Richard Kojedzinszky for reporting
24946
24947 commit 12f97d52ac603f24344f8d71569c412a307e9422
24948 Author: Brad Spengler <spender@grsecurity.net>
24949 Date: Thu Feb 16 21:20:10 2012 -0500
24950
24951 sparc64 compile fix
24952
24953 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
24954 Author: Brad Spengler <spender@grsecurity.net>
24955 Date: Thu Feb 16 18:38:32 2012 -0500
24956
24957 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
24958
24959 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
24960 Author: Brad Spengler <spender@grsecurity.net>
24961 Date: Thu Feb 16 18:18:01 2012 -0500
24962
24963 optimize the check a bit
24964
24965 commit 03159050f64989be44ae03be769cbed62a7cd2e5
24966 Author: Brad Spengler <spender@grsecurity.net>
24967 Date: Thu Feb 16 18:00:45 2012 -0500
24968
24969 smile VUPEN :D
24970 (limit argv+env to 1MB for suid/sgid binaries)
24971
24972 commit dd759d8800d225a397e4de49fe729c7d601298d2
24973 Author: Brad Spengler <spender@grsecurity.net>
24974 Date: Thu Feb 16 17:49:33 2012 -0500
24975
24976 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
24977
24978 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
24979 Author: Brad Spengler <spender@grsecurity.net>
24980 Date: Thu Feb 16 17:45:06 2012 -0500
24981
24982 Change the long long type for exec_id to the proper u64
24983
24984 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
24985 Author: Dan Carpenter <dan.carpenter@oracle.com>
24986 Date: Thu Feb 9 00:46:47 2012 +0000
24987
24988 isdn: type bug in isdn_net_header()
24989
24990 We use len to store the return value from eth_header(). eth_header()
24991 can return -ETH_HLEN (-14). We want to pass this back instead of
24992 truncating it to 65522 and returning that.
24993
24994 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
24995 Acked-by: Neil Horman <nhorman@tuxdriver.com>
24996 Signed-off-by: David S. Miller <davem@davemloft.net>
24997
24998 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
24999 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
25000 Date: Sat Feb 4 10:47:10 2012 +0100
25001
25002 exec: fix use-after-free bug in setup_new_exec()
25003
25004 Setting the task name is done within setup_new_exec() by accessing
25005 bprm->filename. However this happens after flush_old_exec().
25006 This may result in a use after free bug, flush_old_exec() may
25007 "complete" vfork_done, which will wake up the parent which in turn
25008 may free the passed in filename.
25009 To fix this add a new tcomm field in struct linux_binprm which
25010 contains the now early generated task name until it is used.
25011
25012 Fixes this bug on s390:
25013
25014 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
25015 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
25016 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
25017 Call Trace:
25018 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
25019 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
25020 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
25021 [<0000000000282b6c>] do_execve_common+0x410/0x514
25022 [<0000000000282cb6>] do_execve+0x46/0x58
25023 [<00000000005bce58>] kernel_execve+0x28/0x70
25024 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
25025 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
25026 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
25027 Last Breaking-Event-Address:
25028 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
25029
25030 Kernel panic - not syncing: Fatal exception: panic_on_oops
25031
25032 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
25033 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
25034 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25035
25036 commit d758ee9f5230893dabb5aab737b3109684bde196
25037 Author: Dan Carpenter <dan.carpenter@oracle.com>
25038 Date: Fri Feb 10 09:03:58 2012 +0100
25039
25040 relay: prevent integer overflow in relay_open()
25041
25042 "subbuf_size" and "n_subbufs" come from the user and they need to be
25043 capped to prevent an integer overflow.
25044
25045 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
25046 Cc: stable@kernel.org
25047 Signed-off-by: Jens Axboe <axboe@kernel.dk>
25048
25049 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
25050 Merge: b1baadf 1daebf1
25051 Author: Brad Spengler <spender@grsecurity.net>
25052 Date: Mon Feb 13 17:47:04 2012 -0500
25053
25054 Merge branch 'pax-test' into grsec-test
25055
25056 Conflicts:
25057 fs/proc/base.c
25058
25059 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
25060 Merge: 1413df2 c2db2e2
25061 Author: Brad Spengler <spender@grsecurity.net>
25062 Date: Mon Feb 13 17:45:54 2012 -0500
25063
25064 Merge branch 'linux-3.2.y' into pax-test
25065
25066 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
25067 Author: Brad Spengler <spender@grsecurity.net>
25068 Date: Sun Feb 12 16:44:05 2012 -0500
25069
25070 add missing declaration
25071
25072 commit 3981059c35e8463002517935c28f3d74b8e3703c
25073 Author: Brad Spengler <spender@grsecurity.net>
25074 Date: Sun Feb 12 16:36:04 2012 -0500
25075
25076 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
25077 in addition to existing checks (this handles the setresuid ruid = euid case)
25078
25079 commit 0beab03263c773f463412c350ad9064b44b6ede0
25080 Author: Brad Spengler <spender@grsecurity.net>
25081 Date: Sun Feb 12 16:13:40 2012 -0500
25082
25083 Revert setreuid changes when RBAC is enabled, breaks freeradius
25084 I'll fix the learning issue Lavish reported a different way through
25085 gradm modifications
25086
25087 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
25088
25089 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
25090 Author: Brad Spengler <spender@grsecurity.net>
25091 Date: Sat Feb 11 14:22:46 2012 -0500
25092
25093 copy exec_id on fork
25094
25095 commit 000c08e0890630086b2ed04084050ed856a7ec31
25096 Author: Brad Spengler <spender@grsecurity.net>
25097 Date: Fri Feb 10 20:00:36 2012 -0500
25098
25099 compile fix
25100
25101 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
25102 Author: Brad Spengler <spender@grsecurity.net>
25103 Date: Fri Feb 10 19:19:52 2012 -0500
25104
25105 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
25106 denies reading of sensitive /proc/pid entries where the file descriptor
25107 was opened in a different task than the one performing the read
25108
25109 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
25110 Author: Brad Spengler <spender@grsecurity.net>
25111 Date: Fri Feb 10 17:43:24 2012 -0500
25112
25113 Remove duplicate signal check
25114
25115 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
25116 Merge: 4eba97e 1413df2
25117 Author: Brad Spengler <spender@grsecurity.net>
25118 Date: Wed Feb 8 19:24:34 2012 -0500
25119
25120 Merge branch 'pax-test' into grsec-test
25121
25122 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
25123 Author: Brad Spengler <spender@grsecurity.net>
25124 Date: Wed Feb 8 19:24:08 2012 -0500
25125
25126 Merge changes from pax-linux-3.2.4-test11.patch
25127
25128 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
25129 Merge: 0e058dd 8dd90a2
25130 Author: Brad Spengler <spender@grsecurity.net>
25131 Date: Mon Feb 6 17:50:12 2012 -0500
25132
25133 Merge branch 'pax-test' into grsec-test
25134
25135 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
25136 Author: Brad Spengler <spender@grsecurity.net>
25137 Date: Mon Feb 6 17:49:07 2012 -0500
25138
25139 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
25140
25141 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
25142 Merge: 7e4169c 6133971
25143 Author: Brad Spengler <spender@grsecurity.net>
25144 Date: Mon Feb 6 17:48:57 2012 -0500
25145
25146 Merge branch 'linux-3.2.y' into pax-test
25147
25148 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
25149 Author: Brad Spengler <spender@grsecurity.net>
25150 Date: Sun Feb 5 19:24:45 2012 -0500
25151
25152 We now allow configurations with no PaX markings, giving the system no way to override the defaults
25153
25154 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
25155 Author: Brad Spengler <spender@grsecurity.net>
25156 Date: Sun Feb 5 10:01:23 2012 -0500
25157
25158 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
25159
25160 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
25161 Author: Brad Spengler <spender@grsecurity.net>
25162 Date: Sat Feb 4 21:01:16 2012 -0500
25163
25164 Improve security of ptrace-based monitoring/sandboxing
25165 See:
25166 http://article.gmane.org/gmane.linux.kernel.lsm/15156
25167
25168 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
25169 Author: Brad Spengler <spender@grsecurity.net>
25170 Date: Fri Feb 3 20:42:55 2012 -0500
25171
25172 fix typo
25173
25174 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
25175 Author: Brad Spengler <spender@grsecurity.net>
25176 Date: Fri Feb 3 20:25:38 2012 -0500
25177
25178 Reported by lavish on IRC:
25179 If a suid/sgid binary did not learn any setuid/setgid call during learning,
25180 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
25181 any restrictions on uid/gid changes. uid and gid can however be changed
25182 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
25183 euid/egid.
25184
25185 My fix:
25186 POSIX doesn't specify whether unprivileged users can perform the above
25187 setresuid/setresgid as an unprivileged user, though Linux has historically
25188 permitted them. Modify this behavior when RBAC is enabled to require
25189 CAP_SETUID/CAP_SETGID for these operations.
25190
25191 Thanks to Lavish for the report!
25192
25193 Conflicts:
25194
25195 kernel/sys.c
25196
25197 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
25198 Merge: ba586eb 7e4169c
25199 Author: Brad Spengler <spender@grsecurity.net>
25200 Date: Fri Feb 3 20:10:21 2012 -0500
25201
25202 Merge branch 'pax-test' into grsec-test
25203
25204 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
25205 Author: Brad Spengler <spender@grsecurity.net>
25206 Date: Fri Feb 3 20:10:05 2012 -0500
25207
25208 Merge changes from pax-linux-3.2.4-test9.patch
25209
25210 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
25211 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
25212 Date: Thu Feb 2 11:34:09 2012 +1030
25213
25214 Fix race in process_vm_rw_core
25215
25216 This fixes the race in process_vm_core found by Oleg (see
25217
25218 http://article.gmane.org/gmane.linux.kernel/1235667/
25219
25220 for details).
25221
25222 This has been updated since I last sent it as the creation of the new
25223 mm_access() function did almost exactly the same thing as parts of the
25224 previous version of this patch did.
25225
25226 In order to use mm_access() even when /proc isn't enabled, we move it to
25227 kernel/fork.c where other related process mm access functions already
25228 are.
25229
25230 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
25231 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25232
25233 Conflicts:
25234
25235 fs/proc/base.c
25236 mm/process_vm_access.c
25237
25238 commit b9194d60fb9fe579f5c34817ed822abde18939a0
25239 Author: Oleg Nesterov <oleg@redhat.com>
25240 Date: Tue Jan 31 17:15:11 2012 +0100
25241
25242 proc: make sure mem_open() doesn't pin the target's memory
25243
25244 Once /proc/pid/mem is opened, the memory can't be released until
25245 mem_release() even if its owner exits.
25246
25247 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
25248 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
25249 before access_remote_vm(), this verifies that this mm is still alive.
25250
25251 I am not sure what should mem_rw() return if atomic_inc_not_zero()
25252 fails. With this patch it returns zero to match the "mm == NULL" case,
25253 may be it should return -EINVAL like it did before e268337d.
25254
25255 Perhaps it makes sense to add the additional fatal_signal_pending()
25256 check into the main loop, to ensure we do not hold this memory if
25257 the target task was oom-killed.
25258
25259 Cc: stable@kernel.org
25260 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
25261 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25262
25263 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
25264 Author: Oleg Nesterov <oleg@redhat.com>
25265 Date: Tue Jan 31 17:14:38 2012 +0100
25266
25267 proc: mem_release() should check mm != NULL
25268
25269 mem_release() can hit mm == NULL, add the necessary check.
25270
25271 Cc: stable@kernel.org
25272 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
25273 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25274
25275 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
25276 Author: Oleg Nesterov <oleg@redhat.com>
25277 Date: Tue Jan 31 17:14:54 2012 +0100
25278
25279 note: redisabled mem_write
25280
25281 proc: unify mem_read() and mem_write()
25282
25283 No functional changes, cleanup and preparation.
25284
25285 mem_read() and mem_write() are very similar. Move this code into the
25286 new common helper, mem_rw(), which takes the additional "int write"
25287 argument.
25288
25289 Cc: stable@kernel.org
25290 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
25291 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25292
25293 Conflicts:
25294
25295 fs/proc/base.c
25296
25297 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
25298 Merge: 3903f01 01fee18
25299 Author: Brad Spengler <spender@grsecurity.net>
25300 Date: Fri Feb 3 19:50:40 2012 -0500
25301
25302 Merge branch 'pax-test' into grsec-test
25303
25304 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
25305 Author: Brad Spengler <spender@grsecurity.net>
25306 Date: Fri Feb 3 19:49:46 2012 -0500
25307
25308 Merge changes from pax-linux-3.2.4-test8.patch
25309
25310 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
25311 Merge: 201c0db 141936c
25312 Author: Brad Spengler <spender@grsecurity.net>
25313 Date: Fri Feb 3 19:49:01 2012 -0500
25314
25315 Merge branch 'linux-3.2.y' into pax-test
25316
25317 commit 3903f0172ecadf7a575ba3535402a1506133640a
25318 Author: Brad Spengler <spender@grsecurity.net>
25319 Date: Mon Jan 30 23:26:44 2012 -0500
25320
25321 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
25322
25323 We'll whitelist required directories for compatibility instead of requiring
25324 that people disable the feature entirely if they use SELinux, fuse, etc
25325
25326 Conflicts:
25327
25328 fs/sysfs/mount.c
25329
25330 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
25331 Author: Brad Spengler <spender@grsecurity.net>
25332 Date: Sun Jan 29 01:12:19 2012 -0500
25333
25334 perform RBAC check if TPE is on but match fails, matches previous behavior
25335
25336 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
25337 Author: Brad Spengler <spender@grsecurity.net>
25338 Date: Sat Jan 28 13:17:06 2012 -0500
25339
25340 log more information about the reason for a TPE denial for novice users, requested by a sponsor
25341
25342 commit efefd67008cbad8a8591e2484410966a300a39a5
25343 Author: Brad Spengler <spender@grsecurity.net>
25344 Date: Fri Jan 27 19:58:53 2012 -0500
25345
25346 merge upstream sha512 changes
25347
25348 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
25349 Author: Brad Spengler <spender@grsecurity.net>
25350 Date: Fri Jan 27 19:49:07 2012 -0500
25351
25352 drop lock on error in xfs_readlink
25353
25354 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
25355
25356 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
25357 Author: Li Wang <liwang@nudt.edu.cn>
25358 Date: Thu Jan 19 09:44:36 2012 +0800
25359
25360 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
25361
25362 ecryptfs_write() can enter an infinite loop when truncating a file to a
25363 size larger than 4G. This only happens on architectures where size_t is
25364 represented by 32 bits.
25365
25366 This was caused by a size_t overflow due to it incorrectly being used to
25367 store the result of a calculation which uses potentially large values of
25368 type loff_t.
25369
25370 [tyhicks@canonical.com: rewrite subject and commit message]
25371 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
25372 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
25373 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
25374 Cc: <stable@vger.kernel.org>
25375 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
25376
25377 commit a7607747d0f74f357d78bb796d70635dd05f46e8
25378 Author: Tyler Hicks <tyhicks@canonical.com>
25379 Date: Thu Jan 19 20:33:44 2012 -0600
25380
25381 eCryptfs: Check inode changes in setattr
25382
25383 Most filesystems call inode_change_ok() very early in ->setattr(), but
25384 eCryptfs didn't call it at all. It allowed the lower filesystem to make
25385 the call in its ->setattr() function. Then, eCryptfs would copy the
25386 appropriate inode attributes from the lower inode to the eCryptfs inode.
25387
25388 This patch changes that and actually calls inode_change_ok() on the
25389 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
25390 would happen earlier in ecryptfs_setattr(), but there are some possible
25391 inode initialization steps that must happen first.
25392
25393 Since the call was already being made on the lower inode, the change in
25394 functionality should be minimal, except for the case of a file extending
25395 truncate call. In that case, inode_newsize_ok() was never being
25396 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
25397 maximum file size errors early on, eCryptfs would encrypt zeroed pages
25398 and write them to the lower filesystem until the lower filesystem's
25399 write path caught the error in generic_write_checks(). This patch
25400 introduces a new function, called ecryptfs_inode_newsize_ok(), which
25401 checks if the new lower file size is within the appropriate limits when
25402 the truncate operation will be growing the lower file.
25403
25404 In summary this change prevents eCryptfs truncate operations (and the
25405 resulting page encryptions), which would exceed the lower filesystem
25406 limits or FSIZE rlimits, from ever starting.
25407
25408 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
25409 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
25410 Cc: <stable@vger.kernel.org>
25411
25412 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
25413 Author: Tyler Hicks <tyhicks@canonical.com>
25414 Date: Wed Jan 18 18:30:04 2012 -0600
25415
25416 eCryptfs: Make truncate path killable
25417
25418 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
25419 page, zeroes out the appropriate portions, and then encrypts the page
25420 before writing it to the lower filesystem. It was unkillable and due to
25421 the lack of sparse file support could result in tying up a large portion
25422 of system resources, while encrypting pages of zeros, with no way for
25423 the truncate operation to be stopped from userspace.
25424
25425 This patch adds the ability for ecryptfs_write() to detect a pending
25426 fatal signal and return as gracefully as possible. The intent is to
25427 leave the lower file in a useable state, while still allowing a user to
25428 break out of the encryption loop. If a pending fatal signal is detected,
25429 the eCryptfs inode size is updated to reflect the modified inode size
25430 and then -EINTR is returned.
25431
25432 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
25433 Cc: <stable@vger.kernel.org>
25434
25435 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
25436 Author: Tyler Hicks <tyhicks@canonical.com>
25437 Date: Tue Jan 24 10:02:22 2012 -0600
25438
25439 eCryptfs: Fix oops when printing debug info in extent crypto functions
25440
25441 If pages passed to the eCryptfs extent-based crypto functions are not
25442 mapped and the module parameter ecryptfs_verbosity=1 was specified at
25443 loading time, a NULL pointer dereference will occur.
25444
25445 Note that this wouldn't happen on a production system, as you wouldn't
25446 pass ecryptfs_verbosity=1 on a production system. It leaks private
25447 information to the system logs and is for debugging only.
25448
25449 The debugging info printed in these messages is no longer very useful
25450 and rather than doing a kmap() in these debugging paths, it will be
25451 better to simply remove the debugging paths completely.
25452
25453 https://launchpad.net/bugs/913651
25454
25455 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
25456 Reported-by: Daniel DeFreez
25457 Cc: <stable@vger.kernel.org>
25458
25459 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
25460 Author: Tyler Hicks <tyhicks@canonical.com>
25461 Date: Thu Jan 12 11:30:44 2012 +0100
25462
25463 eCryptfs: Sanitize write counts of /dev/ecryptfs
25464
25465 A malicious count value specified when writing to /dev/ecryptfs may
25466 result in a a very large kernel memory allocation.
25467
25468 This patch peeks at the specified packet payload size, adds that to the
25469 size of the packet headers and compares the result with the write count
25470 value. The resulting maximum memory allocation size is approximately 532
25471 bytes.
25472
25473 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
25474 Reported-by: Sasha Levin <levinsasha928@gmail.com>
25475 Cc: <stable@vger.kernel.org>
25476
25477 commit 96dcb7282d323813181a1791f51c0ab7696b675b
25478 Merge: 6c09fa5 201c0db
25479 Author: Brad Spengler <spender@grsecurity.net>
25480 Date: Fri Jan 27 19:44:15 2012 -0500
25481
25482 Merge branch 'pax-test' into grsec-test
25483
25484 commit 201c0dbf177527367676028151e36d340923f033
25485 Author: Brad Spengler <spender@grsecurity.net>
25486 Date: Fri Jan 27 19:43:24 2012 -0500
25487
25488 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
25489 on loading modules with empty sections
25490
25491 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
25492 Author: Brad Spengler <spender@grsecurity.net>
25493 Date: Fri Jan 27 19:42:13 2012 -0500
25494
25495 compile fix
25496
25497 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
25498 Author: Brad Spengler <spender@grsecurity.net>
25499 Date: Fri Jan 27 19:39:28 2012 -0500
25500
25501 use LSM flags instead of duplicating checks
25502
25503 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
25504 Merge: 44b9f11 558718b
25505 Author: Brad Spengler <spender@grsecurity.net>
25506 Date: Fri Jan 27 18:56:23 2012 -0500
25507
25508 Merge branch 'pax-test' into grsec-test
25509
25510 commit 558718b2217beff69edf60f34a6f9893d910e9ac
25511 Author: Brad Spengler <spender@grsecurity.net>
25512 Date: Fri Jan 27 18:56:04 2012 -0500
25513
25514 Merge changes from pax-linux-3.2.2-test6.patch
25515
25516 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
25517 Author: Brad Spengler <spender@grsecurity.net>
25518 Date: Fri Jan 27 18:53:55 2012 -0500
25519
25520 don't increase the size of task_struct when unnecessary
25521 change ptrace_readexec log message
25522
25523 commit a9c9626e054adb885883aa64f85506852894dd33
25524 Author: Brad Spengler <spender@grsecurity.net>
25525 Date: Fri Jan 27 18:16:28 2012 -0500
25526
25527 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
25528 the protection applies to all unreadable binaries.
25529
25530 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
25531 Merge: 7b3f3af 05a1349
25532 Author: Brad Spengler <spender@grsecurity.net>
25533 Date: Wed Jan 25 20:52:09 2012 -0500
25534
25535 Merge branch 'pax-test' into grsec-test
25536
25537 Conflicts:
25538 block/scsi_ioctl.c
25539 drivers/scsi/sd.c
25540 fs/proc/base.c
25541
25542 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
25543 Author: Brad Spengler <spender@grsecurity.net>
25544 Date: Wed Jan 25 20:47:36 2012 -0500
25545
25546 Resync with pax-linux-3.2.2-test5.patch
25547
25548 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
25549 Merge: c6d443d 3499d64
25550 Author: Brad Spengler <spender@grsecurity.net>
25551 Date: Wed Jan 25 20:45:16 2012 -0500
25552
25553 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
25554
25555 Conflicts:
25556 ipc/shm.c
25557
25558 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
25559 Author: Brad Spengler <spender@grsecurity.net>
25560 Date: Tue Jan 24 19:42:01 2012 -0500
25561
25562 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
25563 (may be changed if it breaks some userland), the other has its own
25564 config option
25565
25566 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
25567 the syscall or /proc/sys.
25568
25569 Second feature requires read access to a suid/sgid binary in order
25570 to ptrace it, preventing infoleaking of binaries in situations where
25571 the admin has specified 4711 or 2711 perms. Feature has been
25572 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
25573 a sysctl entry of ptrace_readexec
25574
25575 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
25576 Author: Brad Spengler <spender@grsecurity.net>
25577 Date: Sun Jan 22 14:37:10 2012 -0500
25578
25579 Compilation fixes
25580
25581 commit cd400e21c7c352baba47d6f375297a7847afb33a
25582 Author: Brad Spengler <spender@grsecurity.net>
25583 Date: Sun Jan 22 14:20:27 2012 -0500
25584
25585 Initial port of grsecurity 2.2.2 for Linux 3.2.1
25586 Note that the new syscalls added to this kernel for remote process read/write
25587 are subject to ptrace hardening/other relevant RBAC features
25588 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
25589 as well
25590 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
25591 you should be using a version of gcc with plugin support
25592
25593 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
25594 Author: Brad Spengler <spender@grsecurity.net>
25595 Date: Sun Jan 22 11:47:31 2012 -0500
25596
25597 Import pax-linux-3.2.1-test5.patch
25598 commit bfd7db842f835f9837cd43644459b3a95b0b488d
25599 Author: Brad Spengler <spender@grsecurity.net>
25600 Date: Sun Jan 22 11:02:02 2012 -0500
25601
25602 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
25603 instead of returning -EACCES
25604 thanks to Wraith from irc for the report
25605
25606 commit 873ac13576506cd48ddb527c2540f274e249da50
25607 Merge: 34083dd 8a44fcc
25608 Author: Brad Spengler <spender@grsecurity.net>
25609 Date: Fri Jan 20 18:04:02 2012 -0500
25610
25611 Merge branch 'pax-test' into grsec-test
25612
25613 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
25614 Author: Brad Spengler <spender@grsecurity.net>
25615 Date: Fri Jan 20 18:02:15 2012 -0500
25616
25617 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
25618 Denies executable shared memory when MPROTECT is active
25619 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
25620
25621 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
25622 Author: Brad Spengler <spender@grsecurity.net>
25623 Date: Thu Jan 19 20:23:14 2012 -0500
25624
25625 Introduce new GRKERNSEC_SETXID implementation
25626 We're not able to change the credentials of other threads in the process until at most
25627 one syscall after the first thread does it, since we mark the threads as needing rescheduling
25628 and such work occurs on syscall exit.
25629 This does however ensure that we're only modifying the current task's credentials
25630 which upholds RCU expectations
25631
25632 Many thanks to corsac for testing
25633
25634 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
25635 Author: Brad Spengler <spender@grsecurity.net>
25636 Date: Thu Jan 19 17:42:48 2012 -0500
25637
25638 Simplify backport
25639
25640 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
25641 Author: Brad Spengler <spender@grsecurity.net>
25642 Date: Thu Jan 19 17:08:16 2012 -0500
25643
25644 Commit the latest silent fix for a local privilege escalation from Linus
25645 Also disable writing to /proc/pid/mem
25646 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
25647
25648 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
25649 Merge: 0394a3f 7e6299b
25650 Author: Brad Spengler <spender@grsecurity.net>
25651 Date: Wed Jan 18 20:22:09 2012 -0500
25652
25653 Merge branch 'pax-test' into grsec-test
25654
25655 commit 7e6299b4733c082dde930375dd207b63237751ec
25656 Merge: 83555fb 9bb1282
25657 Author: Brad Spengler <spender@grsecurity.net>
25658 Date: Wed Jan 18 20:21:37 2012 -0500
25659
25660 Merge branch 'linux-3.1.y' into pax-test
25661
25662 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
25663 Author: Jesper Juhl <jj@chaosbits.net>
25664 Date: Sun Jan 8 22:44:29 2012 +0100
25665
25666 audit: always follow va_copy() with va_end()
25667
25668 A call to va_copy() should always be followed by a call to va_end() in
25669 the same function. In kernel/autit.c::audit_log_vformat() this is not
25670 always done. This patch makes sure va_end() is always called.
25671
25672 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
25673 Cc: Al Viro <viro@zeniv.linux.org.uk>
25674 Cc: Eric Paris <eparis@redhat.com>
25675 Cc: Andrew Morton <akpm@linux-foundation.org>
25676 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25677
25678 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
25679 Author: Andi Kleen <ak@linux.intel.com>
25680 Date: Thu Jan 12 17:20:30 2012 -0800
25681
25682 panic: don't print redundant backtraces on oops
25683
25684 When an oops causes a panic and panic prints another backtrace it's pretty
25685 common to have the original oops data be scrolled away on a 80x50 screen.
25686
25687 The second backtrace is quite redundant and not needed anyways.
25688
25689 So don't print the panic backtrace when oops_in_progress is true.
25690
25691 [akpm@linux-foundation.org: add comment]
25692 Signed-off-by: Andi Kleen <ak@linux.intel.com>
25693 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
25694 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
25695 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25696
25697 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
25698 Author: Miklos Szeredi <mszeredi@suse.cz>
25699 Date: Thu Jan 12 17:59:46 2012 +0100
25700
25701 fsnotify: don't BUG in fsnotify_destroy_mark()
25702
25703 Removing the parent of a watched file results in "kernel BUG at
25704 fs/notify/mark.c:139".
25705
25706 To reproduce
25707
25708 add "-w /tmp/audit/dir/watched_file" to audit.rules
25709 rm -rf /tmp/audit/dir
25710
25711 This is caused by fsnotify_destroy_mark() being called without an
25712 extra reference taken by the caller.
25713
25714 Reported by Francesco Cosoleto here:
25715
25716 https://bugzilla.novell.com/show_bug.cgi?id=689860
25717
25718 Fix by removing the BUG_ON and adding a comment about not accessing mark after
25719 the iput.
25720
25721 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
25722 CC: stable@vger.kernel.org
25723 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25724
25725 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
25726 Author: Paolo Bonzini <pbonzini@redhat.com>
25727 Date: Thu Jan 12 16:01:28 2012 +0100
25728
25729 block: fail SCSI passthrough ioctls on partition devices
25730
25731 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
25732 will pass the command to the underlying block device. This is
25733 well-known, but it is also a large security problem when (via Unix
25734 permissions, ACLs, SELinux or a combination thereof) a program or user
25735 needs to be granted access only to part of the disk.
25736
25737 This patch lets partitions forward a small set of harmless ioctls;
25738 others are logged with printk so that we can see which ioctls are
25739 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
25740 Of course it was being sent to a (partition on a) hard disk, so it would
25741 have failed with ENOTTY and the patch isn't changing anything in
25742 practice. Still, I'm treating it specially to avoid spamming the logs.
25743
25744 In principle, this restriction should include programs running with
25745 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
25746 /dev/sdb, it still should not be able to read/write outside the
25747 boundaries of /dev/sda2 independent of the capabilities. However, for
25748 now programs with CAP_SYS_RAWIO will still be allowed to send the
25749 ioctls. Their actions will still be logged.
25750
25751 This patch does not affect the non-libata IDE driver. That driver
25752 however already tests for bd != bd->bd_contains before issuing some
25753 ioctl; it could be restricted further to forbid these ioctls even for
25754 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
25755
25756 Cc: linux-scsi@vger.kernel.org
25757 Cc: Jens Axboe <axboe@kernel.dk>
25758 Cc: James Bottomley <JBottomley@parallels.com>
25759 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
25760 [ Make it also print the command name when warning - Linus ]
25761 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25762
25763 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
25764 Author: Paolo Bonzini <pbonzini@redhat.com>
25765 Date: Thu Jan 12 16:01:27 2012 +0100
25766
25767 block: add and use scsi_blk_cmd_ioctl
25768
25769 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
25770
25771 The function will then be enhanced to detect partition block devices
25772 and, in that case, subject the ioctls to whitelisting.
25773
25774 Cc: linux-scsi@vger.kernel.org
25775 Cc: Jens Axboe <axboe@kernel.dk>
25776 Cc: James Bottomley <JBottomley@parallels.com>
25777 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
25778 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
25779
25780 commit 97a79814903fc350e1d13704ea31528a42705401
25781 Author: Kees Cook <keescook@chromium.org>
25782 Date: Sat Jan 7 10:41:04 2012 -0800
25783
25784 audit: treat s_id as an untrusted string
25785
25786 The use of s_id should go through the untrusted string path, just to be
25787 extra careful.
25788
25789 Signed-off-by: Kees Cook <keescook@chromium.org>
25790 Acked-by: Mimi Zohar <zohar@us.ibm.com>
25791 Signed-off-by: Eric Paris <eparis@redhat.com>
25792
25793 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
25794 Author: Xi Wang <xi.wang@gmail.com>
25795 Date: Tue Dec 20 18:39:41 2011 -0500
25796
25797 audit: fix signedness bug in audit_log_execve_info()
25798
25799 In the loop, a size_t "len" is used to hold the return value of
25800 audit_log_single_execve_arg(), which returns -1 on error. In that
25801 case the error handling (len <= 0) will be bypassed since "len" is
25802 unsigned, and the loop continues with (p += len) being wrapped.
25803 Change the type of "len" to signed int to fix the error handling.
25804
25805 size_t len;
25806 ...
25807 for (...) {
25808 len = audit_log_single_execve_arg(...);
25809 if (len <= 0)
25810 break;
25811 p += len;
25812 }
25813
25814 Signed-off-by: Xi Wang <xi.wang@gmail.com>
25815 Signed-off-by: Eric Paris <eparis@redhat.com>
25816
25817 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
25818 Author: Dan Carpenter <dan.carpenter@oracle.com>
25819 Date: Tue Jan 17 03:28:51 2012 -0300
25820
25821 [media] ds3000: using logical && instead of bitwise &
25822
25823 The intent here was to test if the FE_HAS_LOCK was set. The current
25824 test is equivalent to "if (status) { ..."
25825
25826 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
25827 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
25828
25829 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
25830 Author: Brad Spengler <spender@grsecurity.net>
25831 Date: Mon Jan 16 13:10:38 2012 -0500
25832
25833 Ignore the 0 signal for protected task RBAC checks
25834
25835 commit d513acd55f7a683f6e146a4f570cdb63300479ab
25836 Author: Brad Spengler <spender@grsecurity.net>
25837 Date: Mon Jan 16 11:56:13 2012 -0500
25838
25839 whitespace cleanup
25840
25841 commit ced261c4b82818c700aff8487f647f6f3e5b5122
25842 Merge: d48751f 83555fb
25843 Author: Brad Spengler <spender@grsecurity.net>
25844 Date: Fri Jan 13 20:12:54 2012 -0500
25845
25846 Merge branch 'pax-test' into grsec-test
25847
25848 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
25849 Merge: fcd8129 93dad39
25850 Author: Brad Spengler <spender@grsecurity.net>
25851 Date: Fri Jan 13 20:12:43 2012 -0500
25852
25853 Merge branch 'linux-3.1.y' into pax-test
25854
25855 commit d48751f3919ae855fda0ff6c149db82442329253
25856 Author: Brad Spengler <spender@grsecurity.net>
25857 Date: Wed Jan 11 19:05:47 2012 -0500
25858
25859 Call our own set_user when forcing change to new id
25860
25861 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
25862 Merge: e6578ff fcd8129
25863 Author: Brad Spengler <spender@grsecurity.net>
25864 Date: Tue Jan 10 16:00:10 2012 -0500
25865
25866 Merge branch 'pax-test' into grsec-test
25867
25868 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
25869 Author: Brad Spengler <spender@grsecurity.net>
25870 Date: Tue Jan 10 15:58:43 2012 -0500
25871
25872 Merge changes from pax-linux-3.1.8-test23.patch
25873
25874 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
25875 Merge: 8859ec3 a120549
25876 Author: Brad Spengler <spender@grsecurity.net>
25877 Date: Fri Jan 6 21:45:56 2012 -0500
25878
25879 Merge branch 'pax-test' into grsec-test
25880
25881 commit a12054967a77090de1caa07c41e694a77db4e237
25882 Author: Brad Spengler <spender@grsecurity.net>
25883 Date: Fri Jan 6 21:45:30 2012 -0500
25884
25885 Merge changes from pax-linux-3.1.8-test22.patch
25886
25887 commit 8859ec32f9815c274df65448f9f2960176c380d3
25888 Merge: a5016b4 ddd4114
25889 Author: Brad Spengler <spender@grsecurity.net>
25890 Date: Fri Jan 6 21:26:08 2012 -0500
25891
25892 Merge branch 'pax-test' into grsec-test
25893
25894 Conflicts:
25895 fs/binfmt_elf.c
25896 security/Kconfig
25897
25898 commit ddd41147e158a79704983a409b7433eba797cf66
25899 Author: Brad Spengler <spender@grsecurity.net>
25900 Date: Fri Jan 6 21:12:42 2012 -0500
25901
25902 Resync with PaX patch (whitespace difference)
25903
25904 commit 29e569df8205c5f0e043fe4803aa984406c8b118
25905 Author: Brad Spengler <spender@grsecurity.net>
25906 Date: Fri Jan 6 21:09:47 2012 -0500
25907
25908 Merge changes from pax-linux-3.1.8-test21.patch
25909
25910 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
25911 Merge: 0124c92 04231d5
25912 Author: Brad Spengler <spender@grsecurity.net>
25913 Date: Fri Jan 6 18:52:20 2012 -0500
25914
25915 Merge branch 'pax-test' into grsec-test
25916
25917 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
25918 Merge: 7bdddeb a919904
25919 Author: Brad Spengler <spender@grsecurity.net>
25920 Date: Fri Jan 6 18:51:50 2012 -0500
25921
25922 Merge branch 'linux-3.1.y' into pax-test
25923
25924 Conflicts:
25925 include/net/flow.h
25926
25927 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
25928 Author: Brad Spengler <spender@grsecurity.net>
25929 Date: Fri Jan 6 18:33:05 2012 -0500
25930
25931 Make GRKERNSEC_SETXID option compatible with credential debugging
25932
25933 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
25934 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
25935 Date: Wed Dec 28 15:57:11 2011 -0800
25936
25937 mm/mempolicy.c: refix mbind_range() vma issue
25938
25939 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
25940 slightly incorrect fix.
25941
25942 Why? Think following case.
25943
25944 1. map 4 pages of a file at offset 0
25945
25946 [0123]
25947
25948 2. map 2 pages just after the first mapping of the same file but with
25949 page offset 2
25950
25951 [0123][23]
25952
25953 3. mbind() 2 pages from the first mapping at offset 2.
25954 mbind_range() should treat new vma is,
25955
25956 [0123][23]
25957 |23|
25958 mbind vma
25959
25960 but it does
25961
25962 [0123][23]
25963 |01|
25964 mbind vma
25965
25966 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
25967
25968 This patch fixes it.
25969
25970 [testcase]
25971 test result - before the patch
25972
25973 case4: 126: test failed. expect '2,4', actual '2,2,2'
25974 case5: passed
25975 case6: passed
25976 case7: passed
25977 case8: passed
25978 case_n: 246: test failed. expect '4,2', actual '1,4'
25979
25980 ------------[ cut here ]------------
25981 kernel BUG at mm/filemap.c:135!
25982 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
25983
25984 (snip long bug on messages)
25985
25986 test result - after the patch
25987
25988 case4: passed
25989 case5: passed
25990 case6: passed
25991 case7: passed
25992 case8: passed
25993 case_n: passed
25994
25995 source: mbind_vma_test.c
25996 ============================================================
25997 #include <numaif.h>
25998 #include <numa.h>
25999 #include <sys/mman.h>
26000 #include <stdio.h>
26001 #include <unistd.h>
26002 #include <stdlib.h>
26003 #include <string.h>
26004
26005 static unsigned long pagesize;
26006 void* mmap_addr;
26007 struct bitmask *nmask;
26008 char buf[1024];
26009 FILE *file;
26010 char retbuf[10240] = "";
26011 int mapped_fd;
26012
26013 char *rubysrc = "ruby -e '\
26014 pid = %d; \
26015 vstart = 0x%llx; \
26016 vend = 0x%llx; \
26017 s = `pmap -q #{pid}`; \
26018 rary = []; \
26019 s.each_line {|line|; \
26020 ary=line.split(\" \"); \
26021 addr = ary[0].to_i(16); \
26022 if(vstart <= addr && addr < vend) then \
26023 rary.push(ary[1].to_i()/4); \
26024 end; \
26025 }; \
26026 print rary.join(\",\"); \
26027 '";
26028
26029 void init(void)
26030 {
26031 void* addr;
26032 char buf[128];
26033
26034 nmask = numa_allocate_nodemask();
26035 numa_bitmask_setbit(nmask, 0);
26036
26037 pagesize = getpagesize();
26038
26039 sprintf(buf, "%s", "mbind_vma_XXXXXX");
26040 mapped_fd = mkstemp(buf);
26041 if (mapped_fd == -1)
26042 perror("mkstemp "), exit(1);
26043 unlink(buf);
26044
26045 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
26046 perror("lseek "), exit(1);
26047 if (write(mapped_fd, "\0", 1) < 0)
26048 perror("write "), exit(1);
26049
26050 addr = mmap(NULL, pagesize*8, PROT_NONE,
26051 MAP_SHARED, mapped_fd, 0);
26052 if (addr == MAP_FAILED)
26053 perror("mmap "), exit(1);
26054
26055 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
26056 perror("mprotect "), exit(1);
26057
26058 mmap_addr = addr + pagesize;
26059
26060 /* make page populate */
26061 memset(mmap_addr, 0, pagesize*6);
26062 }
26063
26064 void fin(void)
26065 {
26066 void* addr = mmap_addr - pagesize;
26067 munmap(addr, pagesize*8);
26068
26069 memset(buf, 0, sizeof(buf));
26070 memset(retbuf, 0, sizeof(retbuf));
26071 }
26072
26073 void mem_bind(int index, int len)
26074 {
26075 int err;
26076
26077 err = mbind(mmap_addr+pagesize*index, pagesize*len,
26078 MPOL_BIND, nmask->maskp, nmask->size, 0);
26079 if (err)
26080 perror("mbind "), exit(err);
26081 }
26082
26083 void mem_interleave(int index, int len)
26084 {
26085 int err;
26086
26087 err = mbind(mmap_addr+pagesize*index, pagesize*len,
26088 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
26089 if (err)
26090 perror("mbind "), exit(err);
26091 }
26092
26093 void mem_unbind(int index, int len)
26094 {
26095 int err;
26096
26097 err = mbind(mmap_addr+pagesize*index, pagesize*len,
26098 MPOL_DEFAULT, NULL, 0, 0);
26099 if (err)
26100 perror("mbind "), exit(err);
26101 }
26102
26103 void Assert(char *expected, char *value, char *name, int line)
26104 {
26105 if (strcmp(expected, value) == 0) {
26106 fprintf(stderr, "%s: passed\n", name);
26107 return;
26108 }
26109 else {
26110 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
26111 name, line,
26112 expected, value);
26113 // exit(1);
26114 }
26115 }
26116
26117 /*
26118 AAAA
26119 PPPPPPNNNNNN
26120 might become
26121 PPNNNNNNNNNN
26122 case 4 below
26123 */
26124 void case4(void)
26125 {
26126 init();
26127 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
26128
26129 mem_bind(0, 4);
26130 mem_unbind(2, 2);
26131
26132 file = popen(buf, "r");
26133 fread(retbuf, sizeof(retbuf), 1, file);
26134 Assert("2,4", retbuf, "case4", __LINE__);
26135
26136 fin();
26137 }
26138
26139 /*
26140 AAAA
26141 PPPPPPNNNNNN
26142 might become
26143 PPPPPPPPPPNN
26144 case 5 below
26145 */
26146 void case5(void)
26147 {
26148 init();
26149 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
26150
26151 mem_bind(0, 2);
26152 mem_bind(2, 2);
26153
26154 file = popen(buf, "r");
26155 fread(retbuf, sizeof(retbuf), 1, file);
26156 Assert("4,2", retbuf, "case5", __LINE__);
26157
26158 fin();
26159 }
26160
26161 /*
26162 AAAA
26163 PPPPNNNNXXXX
26164 might become
26165 PPPPPPPPPPPP 6
26166 */
26167 void case6(void)
26168 {
26169 init();
26170 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
26171
26172 mem_bind(0, 2);
26173 mem_bind(4, 2);
26174 mem_bind(2, 2);
26175
26176 file = popen(buf, "r");
26177 fread(retbuf, sizeof(retbuf), 1, file);
26178 Assert("6", retbuf, "case6", __LINE__);
26179
26180 fin();
26181 }
26182
26183 /*
26184 AAAA
26185 PPPPNNNNXXXX
26186 might become
26187 PPPPPPPPXXXX 7
26188 */
26189 void case7(void)
26190 {
26191 init();
26192 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
26193
26194 mem_bind(0, 2);
26195 mem_interleave(4, 2);
26196 mem_bind(2, 2);
26197
26198 file = popen(buf, "r");
26199 fread(retbuf, sizeof(retbuf), 1, file);
26200 Assert("4,2", retbuf, "case7", __LINE__);
26201
26202 fin();
26203 }
26204
26205 /*
26206 AAAA
26207 PPPPNNNNXXXX
26208 might become
26209 PPPPNNNNNNNN 8
26210 */
26211 void case8(void)
26212 {
26213 init();
26214 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
26215
26216 mem_bind(0, 2);
26217 mem_interleave(4, 2);
26218 mem_interleave(2, 2);
26219
26220 file = popen(buf, "r");
26221 fread(retbuf, sizeof(retbuf), 1, file);
26222 Assert("2,4", retbuf, "case8", __LINE__);
26223
26224 fin();
26225 }
26226
26227 void case_n(void)
26228 {
26229 init();
26230 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
26231
26232 /* make redundunt mappings [0][1234][34][7] */
26233 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
26234 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
26235
26236 /* Expect to do nothing. */
26237 mem_unbind(2, 2);
26238
26239 file = popen(buf, "r");
26240 fread(retbuf, sizeof(retbuf), 1, file);
26241 Assert("4,2", retbuf, "case_n", __LINE__);
26242
26243 fin();
26244 }
26245
26246 int main(int argc, char** argv)
26247 {
26248 case4();
26249 case5();
26250 case6();
26251 case7();
26252 case8();
26253 case_n();
26254
26255 return 0;
26256 }
26257 =============================================================
26258
26259 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
26260 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
26261 Cc: Minchan Kim <minchan.kim@gmail.com>
26262 Cc: Caspar Zhang <caspar@casparzhang.com>
26263 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
26264 Cc: Christoph Lameter <cl@linux.com>
26265 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
26266 Cc: Mel Gorman <mel@csn.ul.ie>
26267 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
26268 Cc: <stable@vger.kernel.org> [3.1.x]
26269 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
26270 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
26271
26272 commit f3a1082005781777086df235049f8c0b7efe524e
26273 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
26274 Date: Tue Dec 27 22:32:41 2011 -0500
26275
26276 packet: fix possible dev refcnt leak when bind fail
26277
26278 If bind is fail when bind is called after set PACKET_FANOUT
26279 sock option, the dev refcnt will leak.
26280
26281 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
26282 Signed-off-by: David S. Miller <davem@davemloft.net>
26283
26284 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
26285 Author: Haogang Chen <haogangchen@gmail.com>
26286 Date: Mon Dec 19 17:11:56 2011 -0800
26287
26288 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
26289
26290 There is a potential integer overflow in nilfs_ioctl_clean_segments().
26291 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
26292 call to vmalloc() will allocate a buffer smaller than expected, which
26293 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
26294 lfs_clean_segments().
26295
26296 The following check does not prevent the overflow because nsegs is also
26297 controlled by the userspace and could be very large.
26298
26299 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
26300 goto out_free;
26301
26302 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
26303 returns -EINVAL when overflow.
26304
26305 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
26306 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
26307 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
26308 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
26309
26310 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
26311 Author: Kautuk Consul <consul.kautuk@gmail.com>
26312 Date: Mon Dec 19 17:12:04 2011 -0800
26313
26314 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
26315
26316 Static storage is not required for the struct vmap_area in
26317 __get_vm_area_node.
26318
26319 Removing "static" to store this variable on the stack instead.
26320
26321 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
26322 Acked-by: David Rientjes <rientjes@google.com>
26323 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
26324 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
26325
26326 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
26327 Author: Michel Lespinasse <walken@google.com>
26328 Date: Mon Dec 19 17:12:06 2011 -0800
26329
26330 binary_sysctl(): fix memory leak
26331
26332 binary_sysctl() calls sysctl_getname() which allocates from names_cache
26333 slab usin __getname()
26334
26335 The matching function to free the name is __putname(), and not putname()
26336 which should be used only to match getname() allocations.
26337
26338 This is because when auditing is enabled, putname() calls audit_putname
26339 *instead* (not in addition) to __putname(). Then, if a syscall is in
26340 progress, audit_putname does not release the name - instead, it expects
26341 the name to get released when the syscall completes, but that will happen
26342 only if audit_getname() was called previously, i.e. if the name was
26343 allocated with getname() rather than the naked __getname(). So,
26344 __getname() followed by putname() ends up leaking memory.
26345
26346 Signed-off-by: Michel Lespinasse <walken@google.com>
26347 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
26348 Cc: Christoph Hellwig <hch@infradead.org>
26349 Cc: Eric Paris <eparis@redhat.com>
26350 Cc: <stable@vger.kernel.org>
26351 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
26352 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
26353
26354 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
26355 Author: Sean Hefty <sean.hefty@intel.com>
26356 Date: Tue Dec 6 21:17:11 2011 +0000
26357
26358 RDMA/cma: Verify private data length
26359
26360 private_data_len is defined as a u8. If the user specifies a large
26361 private_data size (> 220 bytes), we will calculate a total length that
26362 exceeds 255, resulting in private_data_len wrapping back to 0. This
26363 can lead to overwriting random kernel memory. Avoid this by verifying
26364 that the resulting size fits into a u8.
26365
26366 Reported-by: B. Thery <benjamin.thery@bull.net>
26367 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
26368 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
26369 Signed-off-by: Roland Dreier <roland@purestorage.com>
26370
26371 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
26372 Author: Xi Wang <xi.wang@gmail.com>
26373 Date: Sun Dec 11 23:40:56 2011 -0800
26374
26375 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
26376
26377 The error check (intr_status < 0) didn't work because intr_status is
26378 a u8. Change its type to signed int.
26379
26380 Signed-off-by: Xi Wang <xi.wang@gmail.com>
26381 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
26382
26383 commit e27f34e383d7863b2528a63b81b23db09781f6b6
26384 Author: Xi Wang <xi.wang@gmail.com>
26385 Date: Fri Dec 16 12:44:15 2011 +0000
26386
26387 sctp: fix incorrect overflow check on autoclose
26388
26389 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
26390 limiting the autoclose value. If userspace passes in -1 on 32-bit
26391 platform, the overflow check didn't work and autoclose would be set
26392 to 0xffffffff.
26393
26394 This patch defines a max_autoclose (in seconds) for limiting the value
26395 and exposes it through sysctl, with the following intentions.
26396
26397 1) Avoid overflowing autoclose * HZ.
26398
26399 2) Keep the default autoclose bound consistent across 32- and 64-bit
26400 platforms (INT_MAX / HZ in this patch).
26401
26402 3) Keep the autoclose value consistent between setsockopt() and
26403 getsockopt() calls.
26404
26405 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
26406 Signed-off-by: Xi Wang <xi.wang@gmail.com>
26407 Signed-off-by: David S. Miller <davem@davemloft.net>
26408
26409 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
26410 Author: Xi Wang <xi.wang@gmail.com>
26411 Date: Wed Dec 21 05:18:33 2011 -0500
26412
26413 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
26414
26415 Commit e133e737 didn't correctly fix the integer overflow issue.
26416
26417 - unsigned int required_size;
26418 + u64 required_size;
26419 ...
26420 required_size = mode_cmd->pitch * mode_cmd->height;
26421 - if (unlikely(required_size > dev_priv->vram_size)) {
26422 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
26423
26424 Note that both pitch and height are u32. Their product is still u32 and
26425 would overflow before being assigned to required_size. A correct way is
26426 to convert pitch and height to u64 before the multiplication.
26427
26428 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
26429
26430 This patch calls the existing vmw_kms_validate_mode_vram() for
26431 validation.
26432
26433 Signed-off-by: Xi Wang <xi.wang@gmail.com>
26434 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
26435 Signed-off-by: Dave Airlie <airlied@redhat.com>
26436
26437 Conflicts:
26438
26439 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
26440
26441 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
26442 Author: Xi Wang <xi.wang@gmail.com>
26443 Date: Thu Dec 22 13:35:22 2011 +0000
26444
26445 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
26446
26447 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
26448 cause a kernel oops due to insufficient bounds checking.
26449
26450 if (count > 1<<30) {
26451 /* Enforce a limit to prevent overflow */
26452 return -EINVAL;
26453 }
26454 count = roundup_pow_of_two(count);
26455 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
26456
26457 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
26458
26459 ... + (count * sizeof(struct rps_dev_flow))
26460
26461 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
26462 32 bits.
26463
26464 This patch replaces the magic number (1 << 30) with a symbolic bound.
26465
26466 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
26467 Signed-off-by: Xi Wang <xi.wang@gmail.com>
26468 Signed-off-by: David S. Miller <davem@davemloft.net>
26469
26470 commit 648188958672024b616c42c1f6c98c8cfc85619d
26471 Author: Xi Wang <xi.wang@gmail.com>
26472 Date: Fri Dec 30 10:40:17 2011 -0500
26473
26474 netfilter: ctnetlink: fix timeout calculation
26475
26476 The sanity check (timeout < 0) never works; the dividend is unsigned
26477 and so is the division, which should have been a signed division.
26478
26479 long timeout = (ct->timeout.expires - jiffies) / HZ;
26480 if (timeout < 0)
26481 timeout = 0;
26482
26483 This patch converts the time values to signed for the division.
26484
26485 Signed-off-by: Xi Wang <xi.wang@gmail.com>
26486 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
26487
26488 commit ab03a0973cee73f88655ff4981812ad316a6cd59
26489 Merge: 76f82df 7bdddeb
26490 Author: Brad Spengler <spender@grsecurity.net>
26491 Date: Tue Jan 3 17:42:50 2012 -0500
26492
26493 Merge branch 'pax-test' into grsec-test
26494
26495 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
26496 Merge: 3e59cb5 55cc81a
26497 Author: Brad Spengler <spender@grsecurity.net>
26498 Date: Tue Jan 3 17:42:36 2012 -0500
26499
26500 Merge branch 'linux-3.1.y' into pax-test
26501
26502 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
26503 Author: Brad Spengler <spender@grsecurity.net>
26504 Date: Thu Dec 22 20:15:02 2011 -0500
26505
26506 Only further restrict futex targeting another process -- our modified
26507 permission check also happened to allow a case where a process retaining
26508 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
26509 being non-zero (reported on forums by ben_w)
26510
26511 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
26512 Merge: 97c16f0 3e59cb5
26513 Author: Brad Spengler <spender@grsecurity.net>
26514 Date: Thu Dec 22 19:11:06 2011 -0500
26515
26516 Merge branch 'pax-test' into grsec-test
26517
26518 Conflicts:
26519 fs/hfs/btree.c
26520
26521 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
26522 Merge: 285eb4e c26f60b
26523 Author: Brad Spengler <spender@grsecurity.net>
26524 Date: Thu Dec 22 19:09:57 2011 -0500
26525
26526 Merge branch 'linux-3.1.y' into pax-test
26527
26528 Conflicts:
26529 arch/x86/kernel/process.c
26530
26531 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
26532 Author: Brad Spengler <spender@grsecurity.net>
26533 Date: Mon Dec 19 21:54:01 2011 -0500
26534
26535 Add new option: "Enforce consistent multithreaded privileges"
26536
26537 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
26538 Author: Brad Spengler <spender@grsecurity.net>
26539 Date: Wed Dec 7 19:58:31 2011 -0500
26540
26541 Remove harmless duplicate code -- exec_file would be null already so the
26542 second check would never pass.
26543
26544 commit 4e3304e94aa72737810bc50169519af157dce4ce
26545 Author: Brad Spengler <spender@grsecurity.net>
26546 Date: Wed Dec 7 19:50:39 2011 -0500
26547
26548 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
26549 depended on for attaching to a thread. Entries exist in /proc for
26550 threads, but are not visible in a readdir.
26551
26552 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
26553 Author: Brad Spengler <spender@grsecurity.net>
26554 Date: Sun Dec 4 18:03:28 2011 -0500
26555
26556 Put the already-walked path if in RCU-walk mode
26557
26558 commit ec7ae36b7159f10649709779443a988662965d66
26559 Author: Brad Spengler <spender@grsecurity.net>
26560 Date: Sun Dec 4 17:35:21 2011 -0500
26561
26562 Fix memory leak introduced by recent (unpublished) commit
26563 75ab998b94a29d464518d6d501bdde3fbfcbfa14
26564
26565 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
26566 Author: Brad Spengler <spender@grsecurity.net>
26567 Date: Sun Dec 4 13:56:10 2011 -0500
26568
26569 Explicitly check size copied to userland in override_release to silence gcc
26570
26571 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
26572 Author: Brad Spengler <spender@grsecurity.net>
26573 Date: Sun Dec 4 13:54:02 2011 -0500
26574
26575 Initialize variable to silence erroneous gcc warning
26576
26577 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
26578 Author: Brad Spengler <spender@grsecurity.net>
26579 Date: Sun Dec 4 13:47:47 2011 -0500
26580
26581 Future-proof other potential RCU-aware locations where we can log.
26582
26583 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
26584 Author: Brad Spengler <spender@grsecurity.net>
26585 Date: Sun Dec 4 13:02:54 2011 -0500
26586
26587 Fix freeze reported by 'vs' on the forums. Bug occurred due to
26588 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
26589 in generic_permission() was in the task's effective set but disallowed by
26590 RBAC, would block when acquiring locks resulting in the freeze.
26591
26592 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
26593 as being required when CAP_DAC_OVERRIDE is present (consistent with
26594 older patches).
26595
26596 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
26597 Author: Xi Wang <xi.wang@gmail.com>
26598 Date: Tue Nov 29 09:26:30 2011 +0000
26599
26600 sctp: better integer overflow check in sctp_auth_create_key()
26601
26602 The check from commit 30c2235c is incomplete and cannot prevent
26603 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
26604 left-hand side of the check (INT_MAX - key_len), which is unsigned,
26605 becomes 0xffffffff (UINT_MAX) and bypasses the check.
26606
26607 However this shouldn't be a security issue. The function is called
26608 from the following two code paths:
26609
26610 1) setsockopt()
26611
26612 2) sctp_auth_asoc_set_secret()
26613
26614 In case (1), sca_keylength is never going to exceed 65535 since it's
26615 bounded by a u16 from the user API. As such, the key length will
26616 never overflow.
26617
26618 In case (2), sca_keylength is computed based on the user key (1 short)
26619 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
26620 will not overflow.
26621
26622 In other words, this overflow check is not really necessary. Just
26623 make it more correct.
26624
26625 Signed-off-by: Xi Wang <xi.wang@gmail.com>
26626 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
26627 Signed-off-by: David S. Miller <davem@davemloft.net>
26628
26629 commit e565e28c3635a1d50f80541fbf6b606d742fec76
26630 Author: Josh Boyer <jwboyer@redhat.com>
26631 Date: Fri Aug 19 14:50:26 2011 -0400
26632
26633 fs/minix: Verify bitmap block counts before mounting
26634
26635 Newer versions of MINIX can create filesystems that allocate an extra
26636 bitmap block. Mounting of this succeeds, but doing a statfs call will
26637 result in an oops in count_free because of a negative number being used
26638 for the bh index.
26639
26640 Avoid this by verifying the number of allocated blocks at mount time,
26641 erroring out if there are not enough and make statfs ignore the extras
26642 if there are too many.
26643
26644 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
26645
26646 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
26647 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
26648
26649 commit 6e134e398ec1a3f428261680e83df4319e64bed9
26650 Author: Julia Lawall <julia@diku.dk>
26651 Date: Tue Nov 15 14:53:11 2011 -0800
26652
26653 drivers/gpu/vga/vgaarb.c: add missing kfree
26654
26655 kbuf is a buffer that is local to this function, so all of the error paths
26656 leaving the function should release it.
26657
26658 Signed-off-by: Julia Lawall <julia@diku.dk>
26659 Cc: Jesper Juhl <jj@chaosbits.net>
26660 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
26661 Signed-off-by: Dave Airlie <airlied@redhat.com>
26662
26663 commit 2b9057b321e36860e8d63985b5c4e496f254b717
26664 Author: Brad Spengler <spender@grsecurity.net>
26665 Date: Sat Dec 3 21:33:28 2011 -0500
26666
26667 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
26668
26669 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
26670 Author: Brad Spengler <spender@grsecurity.net>
26671 Date: Sat Dec 3 21:29:37 2011 -0500
26672
26673 Import pax-linux-3.1.4-test18.patch
26674
26675 commit 285eb4ea45d853ae00426b3315a61c1368080dad
26676 Author: Brad Spengler <spender@grsecurity.net>
26677 Date: Sat Dec 10 18:33:46 2011 -0500
26678
26679 Import changes from pax-linux-3.1.5-test20.patch
26680
26681 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
26682 Author: Brad Spengler <spender@grsecurity.net>
26683 Date: Thu Dec 8 20:55:54 2011 -0500
26684
26685 Import changes from pax-linux-3.1.4-test19.patch
26686
26687 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
26688 Author: Brad Spengler <spender@grsecurity.net>
26689 Date: Sat Dec 3 21:29:37 2011 -0500
26690
26691 Import pax-linux-3.1.4-test18.patch
26692 commit d92091aac493a547d85ddf1b98bd9aaa8c7112a5
26693 Author: Brad Spengler <spender@grsecurity.net>
26694 Date: Thu Jul 4 23:05:14 2013 -0400
26695
26696 always enforce a non-zero gap for RAND_THREADSTACK
26697
26698 mm/mmap.c | 2 +-
26699 1 files changed, 1 insertions(+), 1 deletions(-)
26700
26701 commit 40d67e38a42d4e94b43b3d7400addc662b9857dc
26702 Author: Brad Spengler <spender@grsecurity.net>
26703 Date: Thu Jul 4 16:09:28 2013 -0400
26704
26705 fix up file comparisons
26706
26707 grsecurity/gracl_segv.c | 2 +-
26708 grsecurity/grsec_sig.c | 4 ++--
26709 include/linux/grinternal.h | 12 ++++++++++++
26710 3 files changed, 15 insertions(+), 3 deletions(-)
26711
26712 commit a1fff2c95162314626dd96bec71d951a8c1c4708
26713 Author: Brad Spengler <spender@grsecurity.net>
26714 Date: Thu Jul 4 15:33:18 2013 -0400
26715
26716 fix suid binary matching
26717
26718 grsecurity/grsec_sig.c | 2 +-
26719 1 files changed, 1 insertions(+), 1 deletions(-)
26720
26721 commit 00131c458eea5200971c8fc326e90fdb6c2d0baa
26722 Merge: 37b97a9 47beb61
26723 Author: Brad Spengler <spender@grsecurity.net>
26724 Date: Thu Jul 4 15:02:31 2013 -0400
26725
26726 Merge branch 'pax-test' into grsec-test
26727
26728 commit 47beb61be9d430ab3fdb79a3b1e2099b4cfcf798
26729 Author: Brad Spengler <spender@grsecurity.net>
26730 Date: Thu Jul 4 15:01:37 2013 -0400
26731
26732 Update to pax-linux-3.9.9-test13.patch:
26733 - hopefully fixed the EFI boot regression (https://bugs.gentoo.org/show_bug.cgi?id=471626)
26734 - fixed some arm compilation issues (http://forums.grsecurity.net/viewtopic.php?f=1&t=3586 and http://forums.grsecurity.net/viewtopic.php?f=1&t=3587)
26735
26736 arch/arm/include/asm/uaccess.h | 20 ++++++++++----------
26737 arch/arm/kernel/armksyms.c | 2 +-
26738 arch/arm/kernel/entry-armv.S | 4 ++--
26739 arch/arm/mm/Kconfig | 2 +-
26740 arch/x86/ia32/ia32entry.S | 4 ++--
26741 arch/x86/include/asm/page.h | 1 +
26742 arch/x86/kernel/entry_32.S | 4 ++--
26743 arch/x86/kernel/entry_64.S | 8 ++++----
26744 arch/x86/kernel/head64.c | 12 ++++++------
26745 arch/x86/kernel/head_64.S | 16 ++++++++++++----
26746 arch/x86/mm/init.c | 8 ++++++++
26747 arch/x86/mm/init_32.c | 6 ------
26748 arch/x86/mm/init_64.c | 6 ------
26749 arch/x86/platform/efi/efi_32.c | 5 +++++
26750 arch/x86/platform/efi/efi_64.c | 10 ++++++++++
26751 15 files changed, 64 insertions(+), 44 deletions(-)
26752
26753 commit 89085d2d0643813a62f23d1199a335dc1e129bc0
26754 Merge: 963af7f 0adf2e7
26755 Author: Brad Spengler <spender@grsecurity.net>
26756 Date: Thu Jul 4 14:55:44 2013 -0400
26757
26758 Merge branch 'linux-3.9.y' into pax-test
26759
26760 commit 37b97a95e97badc79cc8b6e092f0f94ac24e4ae4
26761 Author: Brad Spengler <spender@grsecurity.net>
26762 Date: Thu Jul 4 13:46:02 2013 -0400
26763
26764 fix typo
26765
26766 grsecurity/gracl.c | 2 +-
26767 1 files changed, 1 insertions(+), 1 deletions(-)
26768
26769 commit 32538dba4959a290a1de81a7f8eeaba99f952aa6
26770 Author: Brad Spengler <spender@grsecurity.net>
26771 Date: Thu Jul 4 13:29:51 2013 -0400
26772
26773 update log arguments
26774
26775 grsecurity/grsec_sig.c | 3 ++-
26776 1 files changed, 2 insertions(+), 1 deletions(-)
26777
26778 commit 5c7ee197d6ecb3ec9b3b9588d2b0cb8541d9fa71
26779 Author: Brad Spengler <spender@grsecurity.net>
26780 Date: Thu Jul 4 13:20:23 2013 -0400
26781
26782 Update logging of suid exec ban
26783
26784 Conflicts:
26785
26786 grsecurity/grsec_sig.c
26787
26788 grsecurity/grsec_sig.c | 3 +--
26789 include/linux/grmsg.h | 1 +
26790 2 files changed, 2 insertions(+), 2 deletions(-)
26791
26792 commit ef808866c070aa1901bd2224521baaf5d145a3a7
26793 Author: Brad Spengler <spender@grsecurity.net>
26794 Date: Thu Jul 4 12:58:33 2013 -0400
26795
26796 Additional improvements to the user banning code:
26797
26798 Separate the kernel-bruteforcing case from the suid bruteforcing case
26799 In the suid bruteforcing case, only kill existing copies of the bruteforced
26800 binary. Instead of preventing all future execs by this user, prevent them
26801 from executing any suid/sgid binaries for the next 15 minutes.
26802
26803 Kernel case is mostly unchanged from before, except the task trying to change
26804 real uid to the banned user will be terminated instead of failing the setuid
26805 call.
26806
26807 Configuration help has been updated to reflect the new changes.
26808
26809 fs/exec.c | 13 +++++---
26810 grsecurity/Kconfig | 5 ++-
26811 grsecurity/gracl.c | 6 ++--
26812 grsecurity/grsec_sig.c | 76 ++++++++++++++++++++++++++------------------
26813 include/linux/grsecurity.h | 1 -
26814 include/linux/sched.h | 9 +++--
26815 6 files changed, 65 insertions(+), 45 deletions(-)
26816
26817 commit 0f0b6c9d67d429364621b8784ef4a048b7e40736
26818 Author: Brad Spengler <spender@grsecurity.net>
26819 Date: Wed Jul 3 16:14:09 2013 -0400
26820
26821 fix renamed export of csum_partial_copy_from_user, as reported by fabled
26822 on the forums
26823
26824 arch/arm/kernel/armksyms.c | 2 +-
26825 1 files changed, 1 insertions(+), 1 deletions(-)
26826
26827 commit 318235973c2a548c3d25562645d6b69f66e85934
26828 Author: Brad Spengler <spender@grsecurity.net>
26829 Date: Wed Jul 3 16:09:16 2013 -0400
26830
26831 make CPU_USE_DOMAINS depend on !PAX_MEMORY_UDEREF, fixes compile error
26832 reported on the forums by fabled
26833
26834 arch/arm/mm/Kconfig | 2 +-
26835 1 files changed, 1 insertions(+), 1 deletions(-)
26836
26837 commit b569a7f60fab7a522d8c142765c8b847bbce8a1e
26838 Author: Brad Spengler <spender@grsecurity.net>
26839 Date: Wed Jul 3 15:53:12 2013 -0400
26840
26841 Revise the user ban code to kill the process issuing a banned
26842 set*id instead of returning an error. For the sake of keeping
26843 unified user banning between the suid and kernel bruteforce case,
26844 we will apply this killing to the suid bruteforce case, despite
26845 a check just at exec time (that already existed) being sufficient.
26846
26847 Returning an error could enable exploitation of the "failure to check
26848 setuid return value" case which was recently effectively closed
26849 upstream, albeit in a rare situation with a suitable binary and
26850 two colluding users.
26851
26852 Many thanks to stealth for reviewing the user ban code.
26853
26854 grsecurity/gracl.c | 4 ++--
26855 grsecurity/grsec_sig.c | 16 +++++++++++++---
26856 2 files changed, 15 insertions(+), 5 deletions(-)
26857
26858 commit 4a0808a0aa34bf3692f9ade0f11f6fbe30418c4f
26859 Author: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
26860 Date: Fri Jun 28 14:15:15 2013 +0300
26861
26862 Upstream commit: 605c912bb843c024b1ed173dc427cd5c08e5d54d
26863
26864 UBIFS: fix a horrid bug
26865
26866 Al Viro pointed me to the fact that '->readdir()' and '->llseek()' have no
26867 mutual exclusion, which means the 'ubifs_dir_llseek()' can be run while we are
26868 in the middle of 'ubifs_readdir()'.
26869
26870 This means that 'file->private_data' can be freed while 'ubifs_readdir()' uses
26871 it, and this is a very bad bug: not only 'ubifs_readdir()' can return garbage,
26872 but this may corrupt memory and lead to all kinds of problems like crashes an
26873 security holes.
26874
26875 This patch fixes the problem by using the 'file->f_version' field, which
26876 '->llseek()' always unconditionally sets to zero. We set it to 1 in
26877 'ubifs_readdir()' and whenever we detect that it became 0, we know there was a
26878 seek and it is time to clear the state saved in 'file->private_data'.
26879
26880 I tested this patch by writing a user-space program which runds readdir and
26881 seek in parallell. I could easily crash the kernel without these patches, but
26882 could not crash it with these patches.
26883
26884 Cc: stable@vger.kernel.org
26885 Reported-by: Al Viro <viro@zeniv.linux.org.uk>
26886 Tested-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
26887 Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
26888 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
26889
26890 fs/ubifs/dir.c | 30 +++++++++++++++++++++++++++---
26891 1 files changed, 27 insertions(+), 3 deletions(-)
26892
26893 commit c22280b85088978bd8b45bd23096879459b48008
26894 Author: Stephane Eranian <eranian@google.com>
26895 Date: Thu Jun 20 11:36:28 2013 +0200
26896
26897 Upstream commit: 2976b10f05bd7f6dab9f9e7524451ddfed656a89
26898
26899 perf: Disable monitoring on setuid processes for regular users
26900
26901 There was a a bug in setup_new_exec(), whereby
26902 the test to disabled perf monitoring was not
26903 correct because the new credentials for the
26904 process were not yet committed and therefore
26905 the get_dumpable() test was never firing.
26906
26907 The patch fixes the problem by moving the
26908 perf_event test until after the credentials
26909 are committed.
26910
26911 Signed-off-by: Stephane Eranian <eranian@google.com>
26912 Tested-by: Jiri Olsa <jolsa@redhat.com>
26913 Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
26914 Cc: <stable@kernel.org>
26915 Signed-off-by: Ingo Molnar <mingo@kernel.org>
26916
26917 fs/exec.c | 16 +++++++++-------
26918 1 files changed, 9 insertions(+), 7 deletions(-)
26919
26920 commit 16e6a61c34ae5ed0fbfa9151b24dc6a751cca7c0
26921 Author: Brad Spengler <spender@grsecurity.net>
26922 Date: Sat Jun 29 13:10:02 2013 -0400
26923
26924 on context switch, make sure we switch DACR when domain support and
26925 KERNEXEC is disabled but UDEREF is enabled
26926
26927 arch/arm/kernel/entry-armv.S | 4 ++--
26928 1 files changed, 2 insertions(+), 2 deletions(-)
26929
26930 commit 08d017fa51370921694ce087b28c96fec92993d4
26931 Author: Michael S. Tsirkin <mst@redhat.com>
26932 Date: Sun Jun 23 17:26:58 2013 +0300
26933
26934 Upstream commit: 4c7ab054ab4f5d63625508ed6f8a607184cae7c2
26935
26936 macvtap: fix recovery from gup errors
26937
26938 get user pages might fail partially in macvtap zero copy
26939 mode. To recover we need to put all pages that we got,
26940 but code used a wrong index resulting in double-free
26941 errors.
26942
26943 Reported-by: Brad Hubbard <bhubbard@redhat.com>
26944 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
26945 Acked-by: Jason Wang <jasowang@redhat.com>
26946 Signed-off-by: David S. Miller <davem@davemloft.net>
26947
26948 drivers/net/macvtap.c | 6 ++++--
26949 1 files changed, 4 insertions(+), 2 deletions(-)
26950
26951 commit 8118c60e6478b9d0687c2aa7779e45ac7859b1be
26952 Author: Michael S. Tsirkin <mst@redhat.com>
26953 Date: Sun Jun 23 17:19:03 2013 +0300
26954
26955 Upstream commit: 7e24bfbe43b545b1689a5f134ed83645b9e34b86
26956
26957 tun: fix recovery from gup errors
26958
26959 get user pages might fail partially in tun zero copy
26960 mode. To recover we need to put all pages that we got,
26961 but code used a wrong index resulting in double-free
26962 errors.
26963
26964 Reported-by: Brad Hubbard <bhubbard@redhat.com>
26965 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
26966 Acked-by: Jason Wang <jasowang@redhat.com>
26967 Acked-by: Neil Horman <nhorman@tuxdriver.com>
26968 Signed-off-by: David S. Miller <davem@davemloft.net>
26969
26970 drivers/net/tun.c | 6 ++++--
26971 1 files changed, 4 insertions(+), 2 deletions(-)
26972
26973 commit c71e53d3b87fba6f7ba29a440d4c835f03aadf28
26974 Author: Balazs Peter Odor <balazs@obiserver.hu>
26975 Date: Sat Jun 22 19:24:43 2013 +0200
26976
26977 Upstream commit: 5aed93875cd88502f04a0d4517b8a2d89a849773
26978
26979 netfilter: nf_nat_sip: fix mangling
26980
26981 In (b20ab9c netfilter: nf_ct_helper: better logging for dropped packets)
26982 there were some missing brackets around the logging information, thus
26983 always returning drop.
26984
26985 Closes https://bugzilla.kernel.org/show_bug.cgi?id=60061
26986
26987 Signed-off-by: Balazs Peter Odor <balazs@obiserver.hu>
26988 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
26989
26990 net/netfilter/nf_nat_sip.c | 3 ++-
26991 1 files changed, 2 insertions(+), 1 deletions(-)
26992
26993 commit 87c18924aecb841586b8972fabb20c5b75ca2fc9
26994 Author: Anderson Lizardo <anderson.lizardo@openbossa.org>
26995 Date: Sun Jun 2 16:30:40 2013 -0400
26996
26997 Upstream commit: 300b962e5244a1ea010df7e88595faa0085b461d
26998
26999 Bluetooth: Fix crash in l2cap_build_cmd() with small MTU
27000
27001 If a too small MTU value is set with ioctl(HCISETACLMTU) or by a bogus
27002 controller, memory corruption happens due to a memcpy() call with
27003 negative length.
27004
27005 Fix this crash on either incoming or outgoing connections with a MTU
27006 smaller than L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE:
27007
27008 [ 46.885433] BUG: unable to handle kernel paging request at f56ad000
27009 [ 46.888037] IP: [<c03d94cd>] memcpy+0x1d/0x40
27010 [ 46.888037] *pdpt = 0000000000ac3001 *pde = 00000000373f8067 *pte = 80000000356ad060
27011 [ 46.888037] Oops: 0002 [#1] SMP DEBUG_PAGEALLOC
27012 [ 46.888037] Modules linked in: hci_vhci bluetooth virtio_balloon i2c_piix4 uhci_hcd usbcore usb_common
27013 [ 46.888037] CPU: 0 PID: 1044 Comm: kworker/u3:0 Not tainted 3.10.0-rc1+ #12
27014 [ 46.888037] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
27015 [ 46.888037] Workqueue: hci0 hci_rx_work [bluetooth]
27016 [ 46.888037] task: f59b15b0 ti: f55c4000 task.ti: f55c4000
27017 [ 46.888037] EIP: 0060:[<c03d94cd>] EFLAGS: 00010212 CPU: 0
27018 [ 46.888037] EIP is at memcpy+0x1d/0x40
27019 [ 46.888037] EAX: f56ac1c0 EBX: fffffff8 ECX: 3ffffc6e EDX: f55c5cf2
27020 [ 46.888037] ESI: f55c6b32 EDI: f56ad000 EBP: f55c5c68 ESP: f55c5c5c
27021 [ 46.888037] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
27022 [ 46.888037] CR0: 8005003b CR2: f56ad000 CR3: 3557d000 CR4: 000006f0
27023 [ 46.888037] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
27024 [ 46.888037] DR6: ffff0ff0 DR7: 00000400
27025 [ 46.888037] Stack:
27026 [ 46.888037] fffffff8 00000010 00000003 f55c5cac f8c6a54c ffffffff f8c69eb2 00000000
27027 [ 46.888037] f4783cdc f57f0070 f759c590 1001c580 00000003 0200000a 00000000 f5a88560
27028 [ 46.888037] f5ba2600 f5a88560 00000041 00000000 f55c5d90 f8c6f4c7 00000008 f55c5cf2
27029 [ 46.888037] Call Trace:
27030 [ 46.888037] [<f8c6a54c>] l2cap_send_cmd+0x1cc/0x230 [bluetooth]
27031 [ 46.888037] [<f8c69eb2>] ? l2cap_global_chan_by_psm+0x152/0x1a0 [bluetooth]
27032 [ 46.888037] [<f8c6f4c7>] l2cap_connect+0x3f7/0x540 [bluetooth]
27033 [ 46.888037] [<c019b37b>] ? trace_hardirqs_off+0xb/0x10
27034 [ 46.888037] [<c01a0ff8>] ? mark_held_locks+0x68/0x110
27035 [ 46.888037] [<c064ad20>] ? mutex_lock_nested+0x280/0x360
27036 [ 46.888037] [<c064b9d9>] ? __mutex_unlock_slowpath+0xa9/0x150
27037 [ 46.888037] [<c01a118c>] ? trace_hardirqs_on_caller+0xec/0x1b0
27038 [ 46.888037] [<c064ad08>] ? mutex_lock_nested+0x268/0x360
27039 [ 46.888037] [<c01a125b>] ? trace_hardirqs_on+0xb/0x10
27040 [ 46.888037] [<f8c72f8d>] l2cap_recv_frame+0xb2d/0x1d30 [bluetooth]
27041 [ 46.888037] [<c01a0ff8>] ? mark_held_locks+0x68/0x110
27042 [ 46.888037] [<c064b9d9>] ? __mutex_unlock_slowpath+0xa9/0x150
27043 [ 46.888037] [<c01a118c>] ? trace_hardirqs_on_caller+0xec/0x1b0
27044 [ 46.888037] [<f8c754f1>] l2cap_recv_acldata+0x2a1/0x320 [bluetooth]
27045 [ 46.888037] [<f8c491d8>] hci_rx_work+0x518/0x810 [bluetooth]
27046 [ 46.888037] [<f8c48df2>] ? hci_rx_work+0x132/0x810 [bluetooth]
27047 [ 46.888037] [<c0158979>] process_one_work+0x1a9/0x600
27048 [ 46.888037] [<c01588fb>] ? process_one_work+0x12b/0x600
27049 [ 46.888037] [<c015922e>] ? worker_thread+0x19e/0x320
27050 [ 46.888037] [<c015922e>] ? worker_thread+0x19e/0x320
27051 [ 46.888037] [<c0159187>] worker_thread+0xf7/0x320
27052 [ 46.888037] [<c0159090>] ? rescuer_thread+0x290/0x290
27053 [ 46.888037] [<c01602f8>] kthread+0xa8/0xb0
27054 [ 46.888037] [<c0656777>] ret_from_kernel_thread+0x1b/0x28
27055 [ 46.888037] [<c0160250>] ? flush_kthread_worker+0x120/0x120
27056 [ 46.888037] Code: c3 90 8d 74 26 00 e8 63 fc ff ff eb e8 90 55 89 e5 83 ec 0c 89 5d f4 89 75 f8 89 7d fc 3e 8d 74 26 00 89 cb 89 c7 c1 e9 02 89 d6 <f3> a5 89 d9 83 e1 03 74 02 f3 a4 8b 5d f4 8b 75 f8 8b 7d fc 89
27057 [ 46.888037] EIP: [<c03d94cd>] memcpy+0x1d/0x40 SS:ESP 0068:f55c5c5c
27058 [ 46.888037] CR2: 00000000f56ad000
27059 [ 46.888037] ---[ end trace 0217c1f4d78714a9 ]---
27060
27061 Signed-off-by: Anderson Lizardo <anderson.lizardo@openbossa.org>
27062 Cc: stable@vger.kernel.org
27063 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
27064 Signed-off-by: John W. Linville <linville@tuxdriver.com>
27065
27066 net/bluetooth/l2cap_core.c | 3 +++
27067 1 files changed, 3 insertions(+), 0 deletions(-)
27068
27069 commit b0471b6c1160858fc646d8e94628fd1299f61692
27070 Author: Jaganath Kanakkassery <jaganath.k@samsung.com>
27071 Date: Fri Jun 21 19:55:11 2013 +0530
27072
27073 Upstream commit: 3f6fa3d489e127ca5a5b298eabac3ff5dbe0e112
27074
27075 Bluetooth: Fix invalid length check in l2cap_information_rsp()
27076
27077 The length check is invalid since the length varies with type of
27078 info response.
27079
27080 This was introduced by the commit cb3b3152b2f5939d67005cff841a1ca748b19888
27081
27082 Because of this, l2cap info rsp is not handled and command reject is sent.
27083
27084 > ACL data: handle 11 flags 0x02 dlen 16
27085 L2CAP(s): Info rsp: type 2 result 0
27086 Extended feature mask 0x00b8
27087 Enhanced Retransmission mode
27088 Streaming mode
27089 FCS Option
27090 Fixed Channels
27091 < ACL data: handle 11 flags 0x00 dlen 10
27092 L2CAP(s): Command rej: reason 0
27093 Command not understood
27094
27095 Cc: stable@vger.kernel.org
27096 Signed-off-by: Jaganath Kanakkassery <jaganath.k@samsung.com>
27097 Signed-off-by: Chan-Yeol Park <chanyeol.park@samsung.com>
27098 Acked-by: Johan Hedberg <johan.hedberg@intel.com>
27099 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
27100
27101 net/bluetooth/l2cap_core.c | 2 +-
27102 1 files changed, 1 insertions(+), 1 deletions(-)
27103
27104 commit 4184af98c360d825e638b268b1a9847232e8d299
27105 Author: Eric Dumazet <edumazet@google.com>
27106 Date: Wed Jun 26 04:15:07 2013 -0700
27107
27108 Upstream commit: a963a37d384d71ad43b3e9e79d68d42fbe0901f3
27109
27110 ipv6: ip6_sk_dst_check() must not assume ipv6 dst
27111
27112 It's possible to use AF_INET6 sockets and to connect to an IPv4
27113 destination. After this, socket dst cache is a pointer to a rtable,
27114 not rt6_info.
27115
27116 ip6_sk_dst_check() should check the socket dst cache is IPv6, or else
27117 various corruptions/crashes can happen.
27118
27119 Dave Jones can reproduce immediate crash with
27120 trinity -q -l off -n -c sendmsg -c connect
27121
27122 With help from Hannes Frederic Sowa
27123
27124 Reported-by: Dave Jones <davej@redhat.com>
27125 Reported-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
27126 Signed-off-by: Eric Dumazet <edumazet@google.com>
27127 Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
27128 Signed-off-by: David S. Miller <davem@davemloft.net>
27129
27130 net/ipv6/ip6_output.c | 8 +++++++-
27131 1 files changed, 7 insertions(+), 1 deletions(-)
27132
27133 commit a9909c4993e8547ebeeafc4a4f5ff8570a941eb2
27134 Author: Zefan Li <lizefan@huawei.com>
27135 Date: Wed Jun 26 15:29:54 2013 +0800
27136
27137 Upstream commit: 11eb2645cbf38a08ae491bf6c602eea900ec0bb5
27138
27139 dlci: acquire rtnl_lock before calling __dev_get_by_name()
27140
27141 Otherwise the net device returned can be freed at anytime.
27142
27143 Signed-off-by: Li Zefan <lizefan@huawei.com>
27144 Cc: stable@vger.kernel.org
27145 Signed-off-by: David S. Miller <davem@davemloft.net>
27146
27147 drivers/net/wan/dlci.c | 14 +++++++++-----
27148 1 files changed, 9 insertions(+), 5 deletions(-)
27149
27150 commit 1fe6f23c9acd14d832d056909ff326bde418e645
27151 Author: Zefan Li <lizefan@huawei.com>
27152 Date: Wed Jun 26 15:31:58 2013 +0800
27153
27154 Upstream commit: 578a1310f2592ba90c5674bca21c1dbd1adf3f0a
27155
27156 dlci: validate the net device in dlci_del()
27157
27158 We triggered an oops while running trinity with 3.4 kernel:
27159
27160 BUG: unable to handle kernel paging request at 0000000100000d07
27161 IP: [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
27162 PGD 640c0d067 PUD 0
27163 Oops: 0000 [#1] PREEMPT SMP
27164 CPU 3
27165 ...
27166 Pid: 7302, comm: trinity-child3 Not tainted 3.4.24.09+ 40 Huawei Technologies Co., Ltd. Tecal RH2285 /BC11BTSA
27167 RIP: 0010:[<ffffffffa0109738>] [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
27168 ...
27169 Call Trace:
27170 [<ffffffff8137c5c3>] sock_ioctl+0x153/0x280
27171 [<ffffffff81195494>] do_vfs_ioctl+0xa4/0x5e0
27172 [<ffffffff8118354a>] ? fget_light+0x3ea/0x490
27173 [<ffffffff81195a1f>] sys_ioctl+0x4f/0x80
27174 [<ffffffff81478b69>] system_call_fastpath+0x16/0x1b
27175 ...
27176
27177 It's because the net device is not a dlci device.
27178
27179 Reported-by: Li Jinyue <lijinyue@huawei.com>
27180 Signed-off-by: Li Zefan <lizefan@huawei.com>
27181 Cc: stable@vger.kernel.org
27182 Signed-off-by: David S. Miller <davem@davemloft.net>
27183
27184 drivers/net/wan/dlci.c | 12 ++++++++++++
27185 1 files changed, 12 insertions(+), 0 deletions(-)
27186
27187 commit 4d4464407611527ef6b6b5475cfcab6121b3da66
27188 Merge: 59571a9 963af7f
27189 Author: Brad Spengler <spender@grsecurity.net>
27190 Date: Thu Jun 27 18:54:52 2013 -0400
27191
27192 Merge branch 'pax-test' into grsec-test
27193
27194 commit 963af7f7f591759b731ce6325ceb583a72fcf423
27195 Merge: c51e25a 55db48a
27196 Author: Brad Spengler <spender@grsecurity.net>
27197 Date: Thu Jun 27 18:54:42 2013 -0400
27198
27199 Merge branch 'linux-3.9.y' into pax-test
27200
27201 commit 59571a9db7485f530a1e865a13cacc4c991ec41f
27202 Author: Brad Spengler <spender@grsecurity.net>
27203 Date: Wed Jun 26 18:39:08 2013 -0400
27204
27205 From: Mathias Krause <minipli@googlemail.com>
27206 To: Steffen Klassert <steffen.klassert@secunet.com>,
27207 "David S. Miller" <davem@davemloft.net>
27208 Cc: Mathias Krause <minipli@googlemail.com>, netdev@vger.kernel.org,
27209 Herbert Xu <herbert@gondor.apana.org.au>
27210 Subject: [PATCH] af_key: fix info leaks in notify messages
27211
27212 key_notify_sa_flush() and key_notify_policy_flush() miss to initialize
27213 the sadb_msg_reserved member of the broadcasted message and thereby
27214 leak 2 bytes of heap memory to listeners. Fix that.
27215
27216 Signed-off-by: Mathias Krause <minipli@googlemail.com>
27217 Cc: Steffen Klassert <steffen.klassert@secunet.com>
27218 Cc: "David S. Miller" <davem@davemloft.net>
27219 Cc: Herbert Xu <herbert@gondor.apana.org.au>
27220
27221 net/key/af_key.c | 2 ++
27222 1 files changed, 2 insertions(+), 0 deletions(-)
27223
27224 commit e1dd9fb168b3597f15fd5bd4bc88a7dd4cce5fd9
27225 Author: Brad Spengler <spender@grsecurity.net>
27226 Date: Wed Jun 26 18:33:06 2013 -0400
27227
27228 update rand_threadstack code to continue the search for a gap if the first
27229 choice doesn't have enough space, instead of returning ENOMEM
27230
27231 mm/mmap.c | 17 ++++++++++-------
27232 1 files changed, 10 insertions(+), 7 deletions(-)
27233
27234 commit 87020d4a4d83038d65ff1fd519938840f6888b9e
27235 Merge: 2682346 c51e25a
27236 Author: Brad Spengler <spender@grsecurity.net>
27237 Date: Wed Jun 26 18:25:32 2013 -0400
27238
27239 Merge branch 'pax-test' into grsec-test
27240
27241 commit c51e25a23f30a1198076bd085f19b2073caf164d
27242 Author: Brad Spengler <spender@grsecurity.net>
27243 Date: Wed Jun 26 18:24:54 2013 -0400
27244
27245 Update to pax-linux-3.9.7-test12.patch:
27246 - fixed a regression on PARAVIRT/amd64 kernels
27247 - simplified the recent vm_unmapped_area_info based change
27248
27249 arch/x86/kernel/entry_64.S | 8 ++++----
27250 mm/mmap.c | 22 ++++++++++++----------
27251 2 files changed, 16 insertions(+), 14 deletions(-)
27252
27253 commit 26823469a08e59cb67bea18d448d9e8c65f82e08
27254 Author: Brad Spengler <spender@grsecurity.net>
27255 Date: Tue Jun 25 21:26:51 2013 -0400
27256
27257 re-enable GRKERNSEC_RAND_THREADSTACK now that the generic PaX
27258 vm_unmapped_area code is complete
27259
27260 arch/x86/kernel/sys_i386_32.c | 5 +++++
27261 grsecurity/Kconfig | 2 +-
27262 mm/mmap.c | 11 ++++++++++-
27263 3 files changed, 16 insertions(+), 2 deletions(-)
27264
27265 commit bcd93cc348a8faba1716f5cc137a48f25d6a67e7
27266 Merge: e58fe8c c4e0704
27267 Author: Brad Spengler <spender@grsecurity.net>
27268 Date: Tue Jun 25 19:08:52 2013 -0400
27269
27270 Merge branch 'pax-test' into grsec-test
27271
27272 Conflicts:
27273 arch/x86/kernel/sys_i386_32.c
27274
27275 commit c4e07040c2c32c9eb2b093e5ae6e5bb050cb7511
27276 Author: Brad Spengler <spender@grsecurity.net>
27277 Date: Tue Jun 25 19:05:39 2013 -0400
27278
27279 Update to pax-linux-3.9.7-test11.patch:
27280 - fixed some fallout from the recent executable vmalloc changes (http://forums.grsecurity.net/viewtopic.php?t=3562#p13111)
27281 - moved the PaX specific heap-stack gap check code over to the vm_unmapped_area_info based infrastructure
27282 - fixed the recent nested nmi related fixes some more
27283 - fixed a regression in kernel memory initialization on relocatable i386 kernels
27284 - empty_zero_page can be read-only on amd64 as well
27285
27286 arch/arm/mm/mmap.c | 6 --
27287 arch/x86/kernel/entry_64.S | 8 +--
27288 arch/x86/kernel/head_64.S | 1 -
27289 arch/x86/kernel/setup.c | 2 +-
27290 arch/x86/kernel/sys_i386_32.c | 160 ++++++++++++----------------------------
27291 drivers/lguest/core.c | 2 +-
27292 include/linux/mm.h | 6 +-
27293 include/linux/vmalloc.h | 2 +-
27294 mm/mmap.c | 30 +++++++-
27295 9 files changed, 83 insertions(+), 134 deletions(-)
27296
27297 commit e58fe8c43f6ee7047ac830ebfa9a70626b7ed11d
27298 Author: Brad Spengler <spender@grsecurity.net>
27299 Date: Sun Jun 23 14:37:14 2013 -0400
27300
27301 second compile fix, reported by forsaken on forums
27302
27303 include/linux/vmalloc.h | 2 +-
27304 1 files changed, 1 insertions(+), 1 deletions(-)
27305
27306 commit 0ee10d89b09b56b46bc242ce760a1d9598276e2f
27307 Author: Brad Spengler <spender@grsecurity.net>
27308 Date: Sun Jun 23 14:36:35 2013 -0400
27309
27310 compile fix, reported by KDE on forums
27311
27312 kernel/printk.c | 7 -------
27313 1 files changed, 0 insertions(+), 7 deletions(-)
27314
27315 commit 1fc9a5e2e267205d28302e1e86ca0da434561111
27316 Author: Ben Hutchings <ben@decadent.org.uk>
27317 Date: Sun Jun 16 21:27:12 2013 +0100
27318
27319 Upstream commit: b8cb62f82103083a6e8fa5470bfe634a2c06514d
27320
27321 x86/efi: Fix dummy variable buffer allocation
27322
27323 1. Check for allocation failure
27324 2. Clear the buffer contents, as they may actually be written to flash
27325 3. Don't leak the buffer
27326
27327 Compile-tested only.
27328
27329 [ Tested successfully on my buggy ASUS machine - Matt ]
27330
27331 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
27332 Cc: stable@vger.kernel.org
27333 Signed-off-by: Matt Fleming <matt.fleming@intel.com>
27334
27335 arch/x86/platform/efi/efi.c | 7 ++++++-
27336 1 files changed, 6 insertions(+), 1 deletions(-)
27337
27338 commit 83e15c8baaa620d8c777e84aa037b4302f0487c5
27339 Author: Dave Kleikamp <dave.kleikamp@oracle.com>
27340 Date: Tue Jun 18 09:05:36 2013 -0500
27341
27342 Upstream commit: 23a01138efe216f8084cfaa74b0b90dd4b097441
27343
27344 sparc: tsb must be flushed before tlb
27345
27346 This fixes a race where a cpu may re-load a tlb from a stale tsb right
27347 after it has been flushed by a remote function call.
27348
27349 I still see some instability when stressing the system with parallel
27350 kernel builds while creating memory pressure by writing to
27351 /proc/sys/vm/nr_hugepages, but this patch improves the stability
27352 significantly.
27353
27354 Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
27355 Acked-by: Bob Picco <bob.picco@oracle.com>
27356 Signed-off-by: David S. Miller <davem@davemloft.net>
27357
27358 arch/sparc/mm/tlb.c | 2 +-
27359 1 files changed, 1 insertions(+), 1 deletions(-)
27360
27361 commit d93b62f6485db9aadda34322a6867868db07f56f
27362 Merge: 4ef62f5 71d83e9
27363 Author: Brad Spengler <spender@grsecurity.net>
27364 Date: Fri Jun 21 16:52:55 2013 -0400
27365
27366 Merge branch 'pax-test' into grsec-test
27367
27368 Conflicts:
27369 security/Kconfig
27370
27371 commit 71d83e97c936563913bcfb5a25c45b2021a331eb
27372 Author: Brad Spengler <spender@grsecurity.net>
27373 Date: Fri Jun 21 16:48:42 2013 -0400
27374
27375 Update to pax-linux-3.9.7-test10.patch:
27376 - fixed a few format string problems uncovered by -Wformat-nonliteral
27377 - another attempt at fixing the nested nmi/cr0.wp problem
27378 - fixed vmalloc when used for allocating executable memory on non-modular kernels, reported by Lorand Kelemen (https://bugs.gentoo.org/show_bug.cgi?id=473866)
27379 - worked around an intentional gcc overflow in nfscache that tripped up the size overflow plugin (https://bugs.gentoo.org/show_bug.cgi?id=472274)
27380 - fixed a locking issue with track_exec_limit reported by spender
27381 - hunger reported a size overflow event in kobj_map that turned out to be a real bug, fix by Tejun Heo (https://patchwork.kernel.org/patch/2676631/)
27382
27383 Documentation/dontdiff | 1 +
27384 arch/x86/boot/compressed/efi_stub_32.S | 16 ++-----
27385 arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
27386 arch/x86/kernel/e820.c | 4 +-
27387 arch/x86/kernel/entry_64.S | 74 ++++++++++++++++++------------
27388 arch/x86/kernel/vmlinux.lds.S | 2 +-
27389 block/genhd.c | 11 +++--
27390 crypto/algapi.c | 2 +-
27391 crypto/pcrypt.c | 6 +-
27392 drivers/base/attribute_container.c | 2 +-
27393 drivers/base/power/sysfs.c | 2 +-
27394 drivers/block/nbd.c | 2 +-
27395 drivers/cdrom/cdrom.c | 2 +-
27396 drivers/char/hw_random/intel-rng.c | 2 +-
27397 drivers/char/mem.c | 2 +-
27398 drivers/devfreq/devfreq.c | 2 +-
27399 drivers/gpu/drm/drm_encoder_slave.c | 6 +--
27400 drivers/gpu/drm/drm_sysfs.c | 2 +-
27401 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
27402 drivers/iommu/irq_remapping.c | 2 +-
27403 drivers/video/output.c | 2 +-
27404 fs/ext4/mmp.c | 2 +-
27405 fs/ext4/super.c | 2 +-
27406 fs/lockd/svc.c | 2 +-
27407 fs/nfs/callback.c | 4 +-
27408 fs/nfs/nfs4state.c | 2 +-
27409 fs/nfsd/nfscache.c | 3 +-
27410 init/initramfs.c | 2 +-
27411 kernel/rcutree.c | 2 +-
27412 lib/kobject.c | 2 +-
27413 mm/backing-dev.c | 4 +-
27414 mm/mmap.c | 4 +-
27415 mm/slub.c | 2 +-
27416 mm/vmalloc.c | 15 +++----
27417 net/bluetooth/hci_core.c | 8 ++--
27418 net/netfilter/nf_conntrack_proto_dccp.c | 4 +-
27419 net/sunrpc/svc.c | 2 +-
27420 security/Kconfig | 15 +++---
27421 sound/core/sound.c | 2 +-
27422 sound/sound_core.c | 2 +-
27423 40 files changed, 116 insertions(+), 111 deletions(-)
27424
27425 commit 4ef62f52ab23ed87aaf0106be3eddf2019bc7d2c
27426 Merge: 39efd8f 256eff7
27427 Author: Brad Spengler <spender@grsecurity.net>
27428 Date: Fri Jun 21 16:45:15 2013 -0400
27429
27430 Merge branch 'pax-test' into grsec-test
27431
27432 Conflicts:
27433 kernel/printk.c
27434
27435 commit 256eff7a817d5faa18cd56fb97cc8c25112ec0a6
27436 Merge: e6e3059 485f25f
27437 Author: Brad Spengler <spender@grsecurity.net>
27438 Date: Thu Jun 20 22:14:24 2013 -0400
27439
27440 Merge branch 'linux-3.9.y' into pax-test
27441
27442 commit 39efd8f4b9573d1ce31f47cdbea00b6c12054d4d
27443 Author: Brad Spengler <spender@grsecurity.net>
27444 Date: Tue Jun 18 17:20:18 2013 -0400
27445
27446 add apparmor compat patch
27447
27448 security/apparmor/Kconfig | 9 ++
27449 security/apparmor/apparmorfs.c | 231 ++++++++++++++++++++++++++++++++++++++++
27450 2 files changed, 240 insertions(+), 0 deletions(-)
27451
27452 commit 49bee3c5341687504669bf62becf4a419a226ba0
27453 Author: Brad Spengler <spender@grsecurity.net>
27454 Date: Mon Jun 17 18:48:04 2013 -0400
27455
27456 Revert "Upstream commit: cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db"
27457
27458 This reverts commit 066d9226bc6c569d5f420c978b758e0bddd23444.
27459
27460 kernel/sys.c | 29 +++--------------------------
27461 1 files changed, 3 insertions(+), 26 deletions(-)
27462
27463 commit bece88b4276babb2039a3e4f3e3b0cdeb8cd8328
27464 Author: Al Viro <viro@ZenIV.linux.org.uk>
27465 Date: Sun Jun 16 18:06:06 2013 +0100
27466
27467 Upstream commit: 8177a9d79c0e942dcac3312f15585d0344d505a5
27468
27469 lseek(fd, n, SEEK_END) does *not* go to eof - n
27470
27471 When you copy some code, you are supposed to read it. If nothing else,
27472 there's a chance to spot and fix an obvious bug instead of sharing it...
27473
27474 X-Song: "I Got It From Agnes", by Tom Lehrer
27475 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
27476 [ Tom Lehrer? You're dating yourself, Al ]
27477 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
27478
27479 drivers/net/ethernet/brocade/bna/bnad_debugfs.c | 2 +-
27480 drivers/scsi/bfa/bfad_debugfs.c | 2 +-
27481 drivers/scsi/fnic/fnic_debugfs.c | 2 +-
27482 drivers/scsi/lpfc/lpfc_debugfs.c | 2 +-
27483 4 files changed, 4 insertions(+), 4 deletions(-)
27484
27485 commit 5a450f1c46f0c84379518aee878993d3f4a331b6
27486 Author: Theodore Ts'o <tytso@mit.edu>
27487 Date: Thu Jun 6 11:14:31 2013 -0400
27488
27489 Upstream commit: 40c87e7a5404861cef33f6ced9809525a5ee2c50
27490
27491 ext4: verify group number in verify_group_input() before using it
27492
27493 Check the group number for sanity earilier, before calling routines
27494 such as ext4_bg_has_super() or ext4_group_overhead_blocks().
27495
27496 Reported-by: Jonathan Salwan <jonathan.salwan@gmail.com>
27497 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
27498
27499 fs/ext4/resize.c | 17 +++++++++++------
27500 1 files changed, 11 insertions(+), 6 deletions(-)
27501
27502 commit e2700ce1305cc746d2d9000392f00d96fdf28fb8
27503 Author: Neil Horman <nhorman@tuxdriver.com>
27504 Date: Wed Jun 12 14:26:44 2013 -0400
27505
27506 Upstream commit: c5c7774d7eb4397891edca9ebdf750ba90977a69
27507
27508 sctp: fully initialize sctp_outq in sctp_outq_init
27509
27510 In commit 2f94aabd9f6c925d77aecb3ff020f1cc12ed8f86
27511 (refactor sctp_outq_teardown to insure proper re-initalization)
27512 we modified sctp_outq_teardown to use sctp_outq_init to fully re-initalize the
27513 outq structure. Steve West recently asked me why I removed the q->error = 0
27514 initalization from sctp_outq_teardown. I did so because I was operating under
27515 the impression that sctp_outq_init would properly initalize that value for us,
27516 but it doesn't. sctp_outq_init operates under the assumption that the outq
27517 struct is all 0's (as it is when called from sctp_association_init), but using
27518 it in __sctp_outq_teardown violates that assumption. We should do a memset in
27519 sctp_outq_init to ensure that the entire structure is in a known state there
27520 instead.
27521
27522 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
27523 Reported-by: "West, Steve (NSN - US/Fort Worth)" <steve.west@nsn.com>
27524 CC: Vlad Yasevich <vyasevich@gmail.com>
27525 CC: netdev@vger.kernel.org
27526 CC: davem@davemloft.net
27527 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
27528 Signed-off-by: David S. Miller <davem@davemloft.net>
27529
27530 Conflicts:
27531
27532 net/sctp/outqueue.c
27533
27534 net/sctp/outqueue.c | 8 ++------
27535 1 files changed, 2 insertions(+), 6 deletions(-)
27536
27537 commit e13515ad7a9c7634599a105b2527752e527a905d
27538 Author: Saurabh Mohan <saurabh@vyatta.com>
27539 Date: Mon Jun 10 17:45:10 2013 -0700
27540
27541 Upstream commit: baafc77b32f647daa7c45825f7af8cdd55d00817
27542
27543 net/ipv4: ip_vti clear skb cb before tunneling.
27544
27545 If users apply shaper to vti tunnel then it will cause a kernel crash. The
27546 problem seems to be due to the vti_tunnel_xmit function not clearing
27547 skb->opt field before passing the packet to xfrm tunneling code.
27548
27549 Signed-off-by: Saurabh Mohan <saurabh@vyatta.com>
27550 Acked-by: Stephen Hemminger <stephen@networkplumber.org>
27551 Signed-off-by: David S. Miller <davem@davemloft.net>
27552
27553 net/ipv4/ip_vti.c | 3 +--
27554 1 files changed, 1 insertions(+), 2 deletions(-)
27555
27556 commit e63056a252ed6fc0f16ab158d7c34cb57bd762e4
27557 Author: Guillaume Nault <g.nault@alphalink.fr>
27558 Date: Wed Jun 12 16:07:36 2013 +0200
27559
27560 Upstream commit: a6f79d0f26704214b5b702bbac525cb72997f984
27561
27562 l2tp: Fix sendmsg() return value
27563
27564 PPPoL2TP sockets should comply with the standard send*() return values
27565 (i.e. return number of bytes sent instead of 0 upon success).
27566
27567 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
27568 Signed-off-by: David S. Miller <davem@davemloft.net>
27569
27570 net/l2tp/l2tp_ppp.c | 2 +-
27571 1 files changed, 1 insertions(+), 1 deletions(-)
27572
27573 commit af361b412e816e894fb42ddff7a0545b7def64c0
27574 Author: Guillaume Nault <g.nault@alphalink.fr>
27575 Date: Wed Jun 12 16:07:23 2013 +0200
27576
27577 Upstream commit: 55b92b7a11690bc377b5d373872a6b650ae88e64
27578
27579 l2tp: Fix PPP header erasure and memory leak
27580
27581 Copy user data after PPP framing header. This prevents erasure of the
27582 added PPP header and avoids leaking two bytes of uninitialised memory
27583 at the end of skb's data buffer.
27584
27585 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
27586 Signed-off-by: David S. Miller <davem@davemloft.net>
27587
27588 net/l2tp/l2tp_ppp.c | 4 ++--
27589 1 files changed, 2 insertions(+), 2 deletions(-)
27590
27591 commit 1f43aca088c35dda35abf76e08544e534c71fed4
27592 Author: Daniel Borkmann <dborkman@redhat.com>
27593 Date: Wed Jun 12 16:02:27 2013 +0200
27594
27595 Upstream commit: 2dc85bf323515e59e15dfa858d1472bb25cad0fe
27596
27597 packet: packet_getname_spkt: make sure string is always 0-terminated
27598
27599 uaddr->sa_data is exactly of size 14, which is hard-coded here and
27600 passed as a size argument to strncpy(). A device name can be of size
27601 IFNAMSIZ (== 16), meaning we might leave the destination string
27602 unterminated. Thus, use strlcpy() and also sizeof() while we're
27603 at it. We need to memset the data area beforehand, since strlcpy
27604 does not padd the remaining buffer with zeroes for user space, so
27605 that we do not possibly leak anything.
27606
27607 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
27608 Signed-off-by: David S. Miller <davem@davemloft.net>
27609
27610 net/packet/af_packet.c | 5 ++---
27611 1 files changed, 2 insertions(+), 3 deletions(-)
27612
27613 commit d0ae62fae5528bf2a393377f50b8dd9888d1e49f
27614 Author: Andy Lutomirski <luto@amacapital.net>
27615 Date: Wed Jun 5 19:38:26 2013 +0000
27616
27617 Upstream commit: a7526eb5d06b0084ef12d7b168d008fcf516caab
27618
27619 net: Unbreak compat_sys_{send,recv}msg
27620
27621 I broke them in this commit:
27622
27623 commit 1be374a0518a288147c6a7398792583200a67261
27624 Author: Andy Lutomirski <luto@amacapital.net>
27625 Date: Wed May 22 14:07:44 2013 -0700
27626
27627 net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
27628
27629 This patch adds __sys_sendmsg and __sys_sendmsg as common helpers that accept
27630 MSG_CMSG_COMPAT and blocks MSG_CMSG_COMPAT at the syscall entrypoints. It
27631 also reverts some unnecessary checks in sys_socketcall.
27632
27633 Apparently I was suffering from underscore blindness the first time around.
27634
27635 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
27636 Tested-by: Eric Dumazet <edumazet@google.com>
27637 Signed-off-by: David S. Miller <davem@davemloft.net>
27638
27639 include/linux/socket.h | 3 ++
27640 net/compat.c | 13 +++++++-
27641 net/socket.c | 72 ++++++++++++++++++++++--------------------------
27642 3 files changed, 47 insertions(+), 41 deletions(-)
27643
27644 commit b481a366021e5db07a9ea138bc0c1fe598a5ba2f
27645 Author: Andy Lutomirski <luto@amacapital.net>
27646 Date: Wed May 22 14:07:44 2013 -0700
27647
27648 Upstream commit: 1be374a0518a288147c6a7398792583200a67261
27649
27650 net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
27651
27652 To: linux-kernel@vger.kernel.org
27653 Cc: x86@kernel.org, trinity@vger.kernel.org, Andy Lutomirski <luto@amacapital.net>, netdev@vger.kernel.org, "David S.
27654 Miller" <davem@davemloft.net>
27655 Subject: [PATCH 5/5] net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
27656
27657 MSG_CMSG_COMPAT is (AFAIK) not intended to be part of the API --
27658 it's a hack that steals a bit to indicate to other networking code
27659 that a compat entry was used. So don't allow it from a non-compat
27660 syscall.
27661
27662 This prevents an oops when running this code:
27663
27664 int main()
27665 {
27666 int s;
27667 struct sockaddr_in addr;
27668 struct msghdr *hdr;
27669
27670 char *highpage = mmap((void*)(TASK_SIZE_MAX - 4096), 4096,
27671 PROT_READ | PROT_WRITE,
27672 MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
27673 if (highpage == MAP_FAILED)
27674 err(1, "mmap");
27675
27676 s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
27677 if (s == -1)
27678 err(1, "socket");
27679
27680 addr.sin_family = AF_INET;
27681 addr.sin_port = htons(1);
27682 addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
27683 if (connect(s, (struct sockaddr*)&addr, sizeof(addr)) != 0)
27684 err(1, "connect");
27685
27686 void *evil = highpage + 4096 - COMPAT_MSGHDR_SIZE;
27687 printf("Evil address is %p\n", evil);
27688
27689 if (syscall(__NR_sendmmsg, s, evil, 1, MSG_CMSG_COMPAT) < 0)
27690 err(1, "sendmmsg");
27691
27692 return 0;
27693 }
27694
27695 Cc: David S. Miller <davem@davemloft.net>
27696 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
27697 Signed-off-by: David S. Miller <davem@davemloft.net>
27698
27699 net/socket.c | 33 +++++++++++++++++++++++++++++++--
27700 1 files changed, 31 insertions(+), 2 deletions(-)
27701
27702 commit 6ccb09f408cc4ff23adbf68c7d2307f5fffcf88e
27703 Author: Kees Cook <keescook@chromium.org>
27704 Date: Fri May 10 14:48:21 2013 -0700
27705
27706 Upstream commit: e0e29b683d6784ef59bbc914eac85a04b650e63c
27707
27708 b43: stop format string leaking into error msgs
27709
27710 The module parameter "fwpostfix" is userspace controllable, unfiltered,
27711 and is used to define the firmware filename. b43_do_request_fw() populates
27712 ctx->errors[] on error, containing the firmware filename. b43err()
27713 parses its arguments as a format string. For systems with b43 hardware,
27714 this could lead to a uid-0 to ring-0 escalation.
27715
27716 CVE-2013-2852
27717
27718 Signed-off-by: Kees Cook <keescook@chromium.org>
27719 Cc: stable@vger.kernel.org
27720 Signed-off-by: John W. Linville <linville@tuxdriver.com>
27721
27722 drivers/net/wireless/b43/main.c | 2 +-
27723 1 files changed, 1 insertions(+), 1 deletions(-)
27724
27725 commit dfb67a67049ace7b94ad7e2febfac69816d50d85
27726 Author: Mark A. Greer <mgreer@animalcreek.com>
27727 Date: Wed May 29 12:25:34 2013 -0700
27728
27729 Upstream commit: f873ded213d6d8c36354c0fc903af44da4fd6ac5
27730
27731 mwifiex: debugfs: Fix out of bounds array access
27732
27733 When reading the contents of '/sys/kernel/debug/mwifiex/p2p0/info',
27734 the following panic occurs:
27735
27736 $ cat /sys/kernel/debug/mwifiex/p2p0/info
27737 Unable to handle kernel paging request at virtual address 74706164
27738 pgd = de530000
27739 [74706164] *pgd=00000000
27740 Internal error: Oops: 5 [#1] SMP ARM
27741 Modules linked in: phy_twl4030_usb omap2430 musb_hdrc mwifiex_sdio mwifiex
27742 CPU: 0 PID: 1635 Comm: cat Not tainted 3.10.0-rc1-00010-g1268390 #1
27743 task: de16b6c0 ti: de048000 task.ti: de048000
27744 PC is at strnlen+0xc/0x4c
27745 LR is at string+0x3c/0xf8
27746 pc : [<c02c123c>] lr : [<c02c2d1c>] psr: a0000013
27747 sp : de049e10 ip : c06efba0 fp : de6d2092
27748 r10: bf01a260 r9 : ffffffff r8 : 74706164
27749 r7 : 0000ffff r6 : ffffffff r5 : de6d209c r4 : 00000000
27750 r3 : ff0a0004 r2 : 74706164 r1 : ffffffff r0 : 74706164
27751 Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
27752 Control: 10c5387d Table: 9e530019 DAC: 00000015
27753 Process cat (pid: 1635, stack limit = 0xde048240)
27754 Stack: (0xde049e10 to 0xde04a000)
27755 9e00: de6d2092 00000002 bf01a25e de6d209c
27756 9e20: de049e80 c02c438c 0000000a ff0a0004 ffffffff 00000000 00000000 de049e48
27757 9e40: 00000000 2192df6d ff0a0004 ffffffff 00000000 de6d2092 de049ef8 bef3cc00
27758 9e60: de6b0000 dc358000 de6d2000 00000000 00000003 c02c45a4 bf01790c bf01a254
27759 9e80: 74706164 bf018698 00000000 de59c3c0 de048000 de049f80 00001000 bef3cc00
27760 9ea0: 00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
27761 9ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
27762 9ee0: 00000000 00000000 00000000 00000001 00000000 00000000 6669776d 20786569
27763 9f00: 20302e31 2e343128 392e3636 3231702e 00202933 00000000 00000003 c0294898
27764 9f20: 00000000 00000000 00000000 00000000 de59c3c0 c0107c04 de554000 de59c3c0
27765 9f40: 00001000 bef3cc00 de049f80 bef3cc00 de049f80 00000000 00000003 c0108a00
27766 9f60: de048000 de59c3c0 00000000 00000000 de59c3c0 00001000 bef3cc00 c0108b60
27767 9f80: 00000000 00000000 00001000 bef3cc00 00000003 00000003 c0014128 de048000
27768 9fa0: 00000000 c0013f80 00001000 bef3cc00 00000003 bef3cc00 00001000 00000000
27769 9fc0: 00001000 bef3cc00 00000003 00000003 00000001 00000001 00000001 00000003
27770 9fe0: 00000000 bef3cbdc 00011984 b6f1127c 60000010 00000003 18dbdd2c 7f7bfffd
27771 [<c02c123c>] (strnlen+0xc/0x4c) from [<c02c2d1c>] (string+0x3c/0xf8)
27772 [<c02c2d1c>] (string+0x3c/0xf8) from [<c02c438c>] (vsnprintf+0x1e8/0x3e8)
27773 [<c02c438c>] (vsnprintf+0x1e8/0x3e8) from [<c02c45a4>] (sprintf+0x18/0x24)
27774 [<c02c45a4>] (sprintf+0x18/0x24) from [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex])
27775 [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex]) from [<c0108a00>] (vfs_read+0xb0/0x144)
27776 [<c0108a00>] (vfs_read+0xb0/0x144) from [<c0108b60>] (SyS_read+0x44/0x70)
27777 [<c0108b60>] (SyS_read+0x44/0x70) from [<c0013f80>] (ret_fast_syscall+0x0/0x30)
27778 Code: e12fff1e e3510000 e1a02000 0a00000d (e5d03000)
27779 ---[ end trace ca98273dc605a04f ]---
27780
27781 The panic is caused by the mwifiex_info_read() routine assuming that
27782 there can only be four modes (0-3) which is an invalid assumption.
27783 For example, when testing P2P, the mode is '8' (P2P_CLIENT) so the
27784 code accesses data beyond the bounds of the bss_modes[] array which
27785 causes the panic. Fix this by updating bss_modes[] to support the
27786 current list of modes and adding a check to prevent the out-of-bounds
27787 access from occuring in the future when more modes are added.
27788
27789 Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
27790 Acked-by: Bing Zhao <bzhao@marvell.com>
27791 Signed-off-by: John W. Linville <linville@tuxdriver.com>
27792
27793 drivers/net/wireless/mwifiex/debugfs.c | 22 +++++++++++++++++-----
27794 1 files changed, 17 insertions(+), 5 deletions(-)
27795
27796 commit 04152dec6e99ca4c0fc52219f7cf2152dafe6b52
27797 Author: Johan Hedberg <johan.hedberg@intel.com>
27798 Date: Tue May 28 13:46:30 2013 +0300
27799
27800 Upstream commit: cb3b3152b2f5939d67005cff841a1ca748b19888
27801
27802 Bluetooth: Fix missing length checks for L2CAP signalling PDUs
27803
27804 There has been code in place to check that the L2CAP length header
27805 matches the amount of data received, but many PDU handlers have not been
27806 checking that the data received actually matches that expected by the
27807 specific PDU. This patch adds passing the length header to the specific
27808 handler functions and ensures that those functions fail cleanly in the
27809 case of an incorrect amount of data.
27810
27811 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
27812 Cc: stable@vger.kernel.org
27813 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
27814 Signed-off-by: John W. Linville <linville@tuxdriver.com>
27815
27816 net/bluetooth/l2cap_core.c | 70 ++++++++++++++++++++++++++++++++-----------
27817 1 files changed, 52 insertions(+), 18 deletions(-)
27818
27819 commit 628be2427afb241b5a1aa24bc5907d05287e1f25
27820 Author: Dan Carpenter <dan.carpenter@oracle.com>
27821 Date: Mon Jun 3 12:00:49 2013 +0300
27822
27823 Upstream commit: a8241c63517ec0b900695daa9003cddc41c536a1
27824
27825 ipvs: info leak in __ip_vs_get_dest_entries()
27826
27827 The entry struct has a 2 byte hole after ->port and another 4 byte
27828 hole after ->stats.outpkts. You must have CAP_NET_ADMIN in your
27829 namespace to hit this information leak.
27830
27831 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
27832 Acked-by: Julian Anastasov <ja@ssi.bg>
27833 Signed-off-by: Simon Horman <horms@verge.net.au>
27834 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
27835
27836 net/netfilter/ipvs/ip_vs_ctl.c | 1 +
27837 1 files changed, 1 insertions(+), 0 deletions(-)
27838
27839 commit 066d9226bc6c569d5f420c978b758e0bddd23444
27840 Author: Robin Holt <holt@sgi.com>
27841 Date: Wed Jun 12 14:04:37 2013 -0700
27842
27843 Upstream commit: cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db
27844
27845 reboot: rigrate shutdown/reboot to boot cpu
27846
27847 We recently noticed that reboot of a 1024 cpu machine takes approx 16
27848 minutes of just stopping the cpus. The slowdown was tracked to commit
27849 f96972f2dc63 ("kernel/sys.c: call disable_nonboot_cpus() in
27850 kernel_restart()").
27851
27852 The current implementation does all the work of hot removing the cpus
27853 before halting the system. We are switching to just migrating to the
27854 boot cpu and then continuing with shutdown/reboot.
27855
27856 This also has the effect of not breaking x86's command line parameter
27857 for specifying the reboot cpu. Note, this code was shamelessly copied
27858 from arch/x86/kernel/reboot.c with bits removed pertaining to the
27859 reboot_cpu command line parameter.
27860
27861 Signed-off-by: Robin Holt <holt@sgi.com>
27862 Tested-by: Shawn Guo <shawn.guo@linaro.org>
27863 Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
27864 Cc: H. Peter Anvin <hpa@zytor.com>
27865 Cc: Thomas Gleixner <tglx@linutronix.de>
27866 Cc: Ingo Molnar <mingo@elte.hu>
27867 Cc: Russ Anderson <rja@sgi.com>
27868 Cc: Robin Holt <holt@sgi.com>
27869 Cc: Russell King <linux@arm.linux.org.uk>
27870 Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
27871 Cc: <stable@vger.kernel.org>
27872 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
27873 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
27874
27875 kernel/sys.c | 29 ++++++++++++++++++++++++++---
27876 1 files changed, 26 insertions(+), 3 deletions(-)
27877
27878 commit 94e2a91600b07d39825e7059195f35eb611a39a2
27879 Merge: 20cc761 e6e3059
27880 Author: Brad Spengler <spender@grsecurity.net>
27881 Date: Thu Jun 13 16:23:46 2013 -0400
27882
27883 Merge branch 'pax-test' into grsec-test
27884
27885 commit e6e3059de5525ebcd55af43b20c9cdbf43b9d30a
27886 Merge: c6aadb1 4b73feb
27887 Author: Brad Spengler <spender@grsecurity.net>
27888 Date: Thu Jun 13 16:23:39 2013 -0400
27889
27890 Merge branch 'linux-3.9.y' into pax-test
27891
27892 commit 20cc7613e38cde07adc73179a91d6c15292e8d43
27893 Author: Daniel Borkmann <dborkman@redhat.com>
27894 Date: Thu Jun 6 15:53:47 2013 +0200
27895
27896 Upstream commit: 1abd165ed757db1afdefaac0a4bc8a70f97d258c
27897
27898 net: sctp: fix NULL pointer dereference in socket destruction
27899
27900 While stress testing sctp sockets, I hit the following panic:
27901
27902 BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
27903 IP: [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
27904 PGD 7cead067 PUD 7ce76067 PMD 0
27905 Oops: 0000 [#1] SMP
27906 Modules linked in: sctp(F) libcrc32c(F) [...]
27907 CPU: 7 PID: 2950 Comm: acc Tainted: GF 3.10.0-rc2+ #1
27908 Hardware name: Dell Inc. PowerEdge T410/0H19HD, BIOS 1.6.3 02/01/2011
27909 task: ffff88007ce0e0c0 ti: ffff88007b568000 task.ti: ffff88007b568000
27910 RIP: 0010:[<ffffffffa0490c4e>] [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
27911 RSP: 0018:ffff88007b569e08 EFLAGS: 00010292
27912 RAX: 0000000000000000 RBX: ffff88007db78a00 RCX: dead000000200200
27913 RDX: ffffffffa049fdb0 RSI: ffff8800379baf38 RDI: 0000000000000000
27914 RBP: ffff88007b569e18 R08: ffff88007c230da0 R09: 0000000000000001
27915 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
27916 R13: ffff880077990d00 R14: 0000000000000084 R15: ffff88007db78a00
27917 FS: 00007fc18ab61700(0000) GS:ffff88007fc60000(0000) knlGS:0000000000000000
27918 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
27919 CR2: 0000000000000020 CR3: 000000007cf9d000 CR4: 00000000000007e0
27920 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
27921 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
27922 Stack:
27923 ffff88007b569e38 ffff88007db78a00 ffff88007b569e38 ffffffffa049fded
27924 ffffffff81abf0c0 ffff88007db78a00 ffff88007b569e58 ffffffff8145b60e
27925 0000000000000000 0000000000000000 ffff88007b569eb8 ffffffff814df36e
27926 Call Trace:
27927 [<ffffffffa049fded>] sctp_destroy_sock+0x3d/0x80 [sctp]
27928 [<ffffffff8145b60e>] sk_common_release+0x1e/0xf0
27929 [<ffffffff814df36e>] inet_create+0x2ae/0x350
27930 [<ffffffff81455a6f>] __sock_create+0x11f/0x240
27931 [<ffffffff81455bf0>] sock_create+0x30/0x40
27932 [<ffffffff8145696c>] SyS_socket+0x4c/0xc0
27933 [<ffffffff815403be>] ? do_page_fault+0xe/0x10
27934 [<ffffffff8153cb32>] ? page_fault+0x22/0x30
27935 [<ffffffff81544e02>] system_call_fastpath+0x16/0x1b
27936 Code: 0c c9 c3 66 2e 0f 1f 84 00 00 00 00 00 e8 fb fe ff ff c9 c3 66 0f
27937 1f 84 00 00 00 00 00 55 48 89 e5 53 48 83 ec 08 66 66 66 66 90 <48>
27938 8b 47 20 48 89 fb c6 47 1c 01 c6 40 12 07 e8 9e 68 01 00 48
27939 RIP [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
27940 RSP <ffff88007b569e08>
27941 CR2: 0000000000000020
27942 ---[ end trace e0d71ec1108c1dd9 ]---
27943
27944 I did not hit this with the lksctp-tools functional tests, but with a
27945 small, multi-threaded test program, that heavily allocates, binds,
27946 listens and waits in accept on sctp sockets, and then randomly kills
27947 some of them (no need for an actual client in this case to hit this).
27948 Then, again, allocating, binding, etc, and then killing child processes.
27949
27950 This panic then only occurs when ``echo 1 > /proc/sys/net/sctp/auth_enable''
27951 is set. The cause for that is actually very simple: in sctp_endpoint_init()
27952 we enter the path of sctp_auth_init_hmacs(). There, we try to allocate
27953 our crypto transforms through crypto_alloc_hash(). In our scenario,
27954 it then can happen that crypto_alloc_hash() fails with -EINTR from
27955 crypto_larval_wait(), thus we bail out and release the socket via
27956 sk_common_release(), sctp_destroy_sock() and hit the NULL pointer
27957 dereference as soon as we try to access members in the endpoint during
27958 sctp_endpoint_free(), since endpoint at that time is still NULL. Now,
27959 if we have that case, we do not need to do any cleanup work and just
27960 leave the destruction handler.
27961
27962 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
27963 Acked-by: Neil Horman <nhorman@tuxdriver.com>
27964 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
27965 Signed-off-by: David S. Miller <davem@davemloft.net>
27966
27967 net/sctp/socket.c | 6 ++++++
27968 1 files changed, 6 insertions(+), 0 deletions(-)
27969
27970 commit 386ba837978cc8a1111440bdcd8600f2df4634a4
27971 Author: Brad Spengler <spender@grsecurity.net>
27972 Date: Wed Jun 12 20:37:48 2013 -0400
27973
27974 fix deadlock when booting i386 kernel without NX
27975
27976 mm/mmap.c | 4 +++-
27977 1 files changed, 3 insertions(+), 1 deletions(-)
27978
27979 commit fe96e11acb36fcda9a9e6f6439557db4aa4e8da0
27980 Author: Brad Spengler <spender@grsecurity.net>
27981 Date: Tue Jun 11 22:18:07 2013 -0400
27982
27983 fix elif / elif defined() typo in recent change
27984
27985 kernel/events/core.c | 2 +-
27986 1 files changed, 1 insertions(+), 1 deletions(-)
27987
27988 commit bc43377e1e757cd37a06be0187884a42af718aab
27989 Merge: 3cdea63 c6aadb1
27990 Author: Brad Spengler <spender@grsecurity.net>
27991 Date: Tue Jun 11 18:50:39 2013 -0400
27992
27993 Merge branch 'pax-test' into grsec-test
27994
27995 commit c6aadb12ae8dd3d12c2d6b8fbe80d29e514d60c0
27996 Author: Brad Spengler <spender@grsecurity.net>
27997 Date: Tue Jun 11 18:49:36 2013 -0400
27998
27999 Update to pax-linux-3.9.4-test9.patch:
28000 - fixed a KERNEXEC regression resulting in unusable RAM regions (http://forums.grsecurity.net/viewtopic.php?f=3&t=3506)
28001 - removed a user-triggerable BUG_ON, fixing it properly wasn't worth the effort
28002
28003 arch/x86/kernel/setup.c | 2 +-
28004 mm/mlock.c | 1 -
28005 2 files changed, 1 insertions(+), 2 deletions(-)
28006
28007 commit 3cdea63e90607d8d55820b101854091623feedb8
28008 Author: Brad Spengler <spender@grsecurity.net>
28009 Date: Mon Jun 10 21:21:44 2013 -0400
28010
28011 Fix fanotify infoleak reported by Dan Carpenter at:
28012 https://lkml.org/lkml/2013/6/3/128
28013
28014 Requires CAP_SYS_ADMIN, so this is about as low priority as it gets
28015
28016 fs/notify/fanotify/fanotify_user.c | 1 +
28017 1 files changed, 1 insertions(+), 0 deletions(-)
28018
28019 commit 373a2b5df78f82b9d3db72bd6577e29a71591323
28020 Author: Brad Spengler <spender@grsecurity.net>
28021 Date: Mon Jun 10 21:16:46 2013 -0400
28022
28023 Backport infoleak fix by Dan Carpenter in cpqarray:
28024 https://lkml.org/lkml/2013/6/3/131
28025
28026 drivers/block/cpqarray.c | 1 +
28027 1 files changed, 1 insertions(+), 0 deletions(-)
28028
28029 commit 251e84b9b05e063981b20be154c9389862f94759
28030 Author: Brad Spengler <spender@grsecurity.net>
28031 Date: Mon Jun 10 21:04:17 2013 -0400
28032
28033 Backport 050e4b8fb7cdd7096c987a9cd556029c622c7fe2
28034
28035 drivers/cdrom/cdrom.c | 4 ++--
28036 1 files changed, 2 insertions(+), 2 deletions(-)
28037
28038 commit 383d89bf95818b05a485a6e8b118963b5bcbc83e
28039 Author: Brad Spengler <spender@grsecurity.net>
28040 Date: Mon Jun 10 18:34:32 2013 -0400
28041
28042 change const to __read_only
28043
28044 kernel/sysctl.c | 18 +++++++++---------
28045 1 files changed, 9 insertions(+), 9 deletions(-)
28046
28047 commit 8f08f803f605649e63f0857a1b9a9805b629eaa4
28048 Author: Brad Spengler <spender@grsecurity.net>
28049 Date: Mon Jun 10 17:34:13 2013 -0400
28050
28051 compile fix, make const values const
28052
28053 kernel/sysctl.c | 18 +++++++++---------
28054 1 files changed, 9 insertions(+), 9 deletions(-)
28055
28056 commit 6b90c228f6d4a3c2cc9c2b9a6a7ac14534ebd42d
28057 Author: Brad Spengler <spender@grsecurity.net>
28058 Date: Mon Jun 10 17:37:13 2013 -0400
28059
28060 Backport upstream commit: af733960ca59f7d59ea337e1f633771c9e67101a
28061
28062 drivers/char/mwave/tp3780i.c | 1 +
28063 1 files changed, 1 insertions(+), 0 deletions(-)
28064
28065 commit 1c590aa70c95ebd76ba9672aa23d800b81780615
28066 Author: Brad Spengler <spender@grsecurity.net>
28067 Date: Sun Jun 9 19:50:35 2013 -0400
28068
28069 allow -1 perf_event_paranoid
28070
28071 kernel/sysctl.c | 2 +-
28072 1 files changed, 1 insertions(+), 1 deletions(-)
28073
28074 commit defdc4a2bd3efda4af2bb6f3aa8f495fa8078584
28075 Merge: 4e85539 117c3fa
28076 Author: Brad Spengler <spender@grsecurity.net>
28077 Date: Sun Jun 9 17:30:12 2013 -0400
28078
28079 Merge branch 'pax-test' into grsec-test
28080
28081 commit 117c3fa8d26c3806103123560f807d99071b60b6
28082 Merge: ed9b427 5dd2e98
28083 Author: Brad Spengler <spender@grsecurity.net>
28084 Date: Sun Jun 9 17:30:00 2013 -0400
28085
28086 Merge branch 'linux-3.9.y' into pax-test
28087
28088 commit 4e8553989b0406f15be4a2dccdbc7599cc2b4f42
28089 Author: Eric Dumazet <edumazet@google.com>
28090 Date: Mon May 13 21:25:52 2013 +0000
28091
28092 Upstream commit: 54d27fcb338bd9c42d1dfc5a39e18f6f9d373c2e
28093
28094 tcp: fix tcp_md5_hash_skb_data()
28095
28096 TCP md5 communications fail [1] for some devices, because sg/crypto code
28097 assume page offsets are below PAGE_SIZE.
28098
28099 This was discovered using mlx4 driver [2], but I suspect loopback
28100 might trigger the same bug now we use order-3 pages in tcp_sendmsg()
28101
28102 [1] Failure is giving following messages.
28103
28104 huh, entered softirq 3 NET_RX ffffffff806ad230 preempt_count 00000100,
28105 exited with 00000101?
28106
28107 [2] mlx4 driver uses order-2 pages to allocate RX frags
28108
28109 Reported-by: Matt Schnall <mischnal@google.com>
28110 Signed-off-by: Eric Dumazet <edumazet@google.com>
28111 Cc: Bernhard Beck <bbeck@google.com>
28112 Signed-off-by: David S. Miller <davem@davemloft.net>
28113
28114 net/ipv4/tcp.c | 7 +++++--
28115 1 files changed, 5 insertions(+), 2 deletions(-)
28116
28117 commit 4f1ed254c28a1b3e03c0b0b744c5042661c295eb
28118 Author: Eric Dumazet <edumazet@google.com>
28119 Date: Fri May 17 04:53:13 2013 +0000
28120
28121 Upstream commit: 284041ef21fdf2e0d216ab6b787bc9072b4eb58a
28122
28123 ipv6: fix possible crashes in ip6_cork_release()
28124
28125 commit 0178b695fd6b4 ("ipv6: Copy cork options in ip6_append_data")
28126 added some code duplication and bad error recovery, leading to potential
28127 crash in ip6_cork_release() as kfree() could be called with garbage.
28128
28129 use kzalloc() to make sure this wont happen.
28130
28131 Signed-off-by: Eric Dumazet <edumazet@google.com>
28132 Signed-off-by: David S. Miller <davem@davemloft.net>
28133 Cc: Herbert Xu <herbert@gondor.apana.org.au>
28134 Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
28135 Cc: Neal Cardwell <ncardwell@google.com>
28136
28137 net/ipv6/ip6_output.c | 2 +-
28138 1 files changed, 1 insertions(+), 1 deletions(-)
28139
28140 commit 5771263fe368cd384127dd17d7596a7e1a4e2eec
28141 Author: Chen Gang <gang.chen@asianux.com>
28142 Date: Thu May 16 23:13:04 2013 +0000
28143
28144 Upstream commit: ff0102ee104847023c36357e2b9f133f3f40d211
28145
28146 net: irda: using kzalloc() instead of kmalloc() to avoid strncpy() issue.
28147
28148 'discovery->data.info' length is 22, NICKNAME_MAX_LEN is 21, so the
28149 strncpy() will always left the last byte of 'discovery->data.info'
28150 uninitialized.
28151
28152 When 'text' length is longer than 21 (NICKNAME_MAX_LEN), if still left
28153 the last byte of 'discovery->data.info' uninitialized, the next
28154 strlen() will cause issue.
28155
28156 Also 'discovery->data' is 'struct irda_device_info' which defined in
28157 "include/uapi/...", it may copy to user mode, so need whole initialized.
28158
28159 All together, need use kzalloc() instead of kmalloc() to initialize all
28160 members firstly.
28161
28162 Signed-off-by: Chen Gang <gang.chen@asianux.com>
28163 Signed-off-by: David S. Miller <davem@davemloft.net>
28164
28165 net/irda/irlap_frame.c | 2 +-
28166 1 files changed, 1 insertions(+), 1 deletions(-)
28167
28168 commit c01c9af268cb066f240aec53454b8b74d8d01688
28169 Author: Dan Carpenter <dan.carpenter@oracle.com>
28170 Date: Sun May 19 08:36:36 2013 +0000
28171
28172 Upstream commit: 25dff94ff9df40d4d663bb6ea3193a7758cc50e5
28173
28174 isdn/kcapi: fix a small underflow
28175
28176 In get_capi_ctr_by_nr() and get_capi_appl_by_nr() the parameter comes
28177 from skb->data. The current code can underflow to one space before the
28178 start of the array.
28179
28180 The sanity check isn't needed in __get_capi_appl_by_nr() but I changed
28181 it to match the others.
28182
28183 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
28184 Signed-off-by: David S. Miller <davem@davemloft.net>
28185
28186 drivers/isdn/capi/kcapi.c | 6 +++---
28187 1 files changed, 3 insertions(+), 3 deletions(-)
28188
28189 commit 4a3f12a9df775147b0c4b0277de1aa99eddc5c66
28190 Author: Timo Teräs <timo.teras@iki.fi>
28191 Date: Wed May 22 01:40:47 2013 +0000
28192
28193 Upstream commit: 497574c72c9922cf20c12aed15313c389f722fa0
28194
28195 xfrm: properly handle invalid states as an error
28196
28197 The error exit path needs err explicitly set. Otherwise it
28198 returns success and the only caller, xfrm_output_resume(),
28199 would oops in skb_dst(skb)->ops derefence as skb_dst(skb) is
28200 NULL.
28201
28202 Bug introduced in commit bb65a9cb (xfrm: removes a superfluous
28203 check and add a statistic).
28204
28205 Signed-off-by: Timo Teräs <timo.teras@iki.fi>
28206 Cc: Li RongQing <roy.qing.li@gmail.com>
28207 Cc: Steffen Klassert <steffen.klassert@secunet.com>
28208 Signed-off-by: David S. Miller <davem@davemloft.net>
28209
28210 net/xfrm/xfrm_output.c | 1 +
28211 1 files changed, 1 insertions(+), 0 deletions(-)
28212
28213 commit 61d8e1e848afa93cd971f6d1da875ad98b6ddfbd
28214 Author: Jeff Mahoney <jeffm@jeffreymahoney.com>
28215 Date: Fri May 31 15:07:52 2013 -0400
28216
28217 Upstream commit: 0bdc7acba56a7ca4232f15f37b16f7ec079385ab
28218
28219 reiserfs: fix spurious multiple-fill in reiserfs_readdir_dentry
28220
28221 After sleeping for filldir(), we check to see if the file system has
28222 changed and research. The next_pos pointer is updated but its value
28223 isn't pushed into the key used for the search itself. As a result,
28224 the search returns the same item that the last cycle of the loop did
28225 and filldir() is called multiple times with the same data.
28226
28227 The end result is that the buffer can contain the same name multiple
28228 times. This can be returned to userspace or used internally in the
28229 xattr code where it can manifest with the following warning:
28230
28231 jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-2)
28232
28233 reiserfs_for_each_xattr uses reiserfs_readdir_dentry to iterate over
28234 the xattr names and ends up trying to unlink the same name twice. The
28235 second attempt fails with -ENOENT and the error is returned. At some
28236 point I'll need to add support into reiserfsck to remove the orphaned
28237 directories left behind when this occurs.
28238
28239 The fix is to push the value into the key before researching.
28240
28241 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
28242 Signed-off-by: Jan Kara <jack@suse.cz>
28243
28244 fs/reiserfs/dir.c | 2 ++
28245 1 files changed, 2 insertions(+), 0 deletions(-)
28246
28247 commit ca0746bf380eec77d75d1741ac4742ded0e55ec7
28248 Author: Jeff Mahoney <jeffm@suse.com>
28249 Date: Fri May 31 15:51:17 2013 -0400
28250
28251 Upstream commit: a1457c0ce976bad1356b9b0437f2a5c3ab8a9cfc
28252
28253 reiserfs: fix deadlock with nfs racing on create/lookup
28254
28255 Reiserfs is currently able to be deadlocked by having two NFS clients
28256 where one has removed and recreated a file and another is accessing the
28257 file with an open file handle.
28258
28259 If one client deletes and recreates a file with timing such that the
28260 recreated file obtains the same [dirid, objectid] pair as the original
28261 file while another client accesses the file via file handle, the create
28262 and lookup can race and deadlock if the lookup manages to create the
28263 in-memory inode first.
28264
28265 The create thread, in insert_inode_locked4, will hold the write lock
28266 while waiting on the other inode to be unlocked. The lookup thread,
28267 anywhere in the iget path, will release and reacquire the write lock while
28268 it schedules. If it needs to reacquire the lock while the create thread
28269 has it, it will never be able to make forward progress because it needs
28270 to reacquire the lock before ultimately unlocking the inode.
28271
28272 This patch drops the write lock across the insert_inode_locked4 call so
28273 that the ordering of inode_wait -> write lock is retained. Since this
28274 would have been the case before the BKL push-down, this is safe.
28275
28276 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
28277 Signed-off-by: Jan Kara <jack@suse.cz>
28278
28279 fs/reiserfs/inode.c | 9 +++++++--
28280 1 files changed, 7 insertions(+), 2 deletions(-)
28281
28282 commit cd21c0eb4950498be46a07257426c0cea4aa2bf1
28283 Author: Jeff Mahoney <jeffm@suse.com>
28284 Date: Fri May 31 15:54:17 2013 -0400
28285
28286 Upstream commit: 4a8570112b76a63ad21cfcbe2783f98f7fd5ba1b
28287
28288 reiserfs: fix problems with chowning setuid file w/ xattrs
28289
28290 reiserfs_chown_xattrs() takes the iattr struct passed into ->setattr
28291 and uses it to iterate over all the attrs associated with a file to change
28292 ownership of xattrs (and transfer quota associated with the xattr files).
28293
28294 When the setuid bit is cleared during chown, ATTR_MODE and iattr->ia_mode
28295 are passed to all the xattrs as well. This means that the xattr directory
28296 will have S_IFREG added to its mode bits.
28297
28298 This has been prevented in practice by a missing IS_PRIVATE check
28299 in reiserfs_acl_chmod, which caused a double-lock to occur while holding
28300 the write lock. Since the file system was completely locked up, the
28301 writeout of the corrupted mode never happened.
28302
28303 This patch temporarily clears everything but ATTR_UID|ATTR_GID for the
28304 calls to reiserfs_setattr and adds the missing IS_PRIVATE check.
28305
28306 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
28307 Signed-off-by: Jan Kara <jack@suse.cz>
28308
28309 fs/reiserfs/xattr.c | 14 +++++++++++++-
28310 fs/reiserfs/xattr_acl.c | 3 +++
28311 2 files changed, 16 insertions(+), 1 deletions(-)
28312
28313 commit c18cef940310c06bdf86d64d8cb227e56e165300
28314 Author: Dave Chinner <dchinner@redhat.com>
28315 Date: Mon May 27 16:38:25 2013 +1000
28316
28317 Upstream commit: 2962f5a5dcc56f69cbf62121a7be67cc15d6940b
28318
28319 xfs: kill suid/sgid through the truncate path.
28320
28321 XFS has failed to kill suid/sgid bits correctly when truncating
28322 files of non-zero size since commit c4ed4243 ("xfs: split
28323 xfs_setattr") introduced in the 3.1 kernel. Fix it.
28324
28325 Fix it.
28326
28327 cc: stable kernel <stable@vger.kernel.org>
28328 Signed-off-by: Dave Chinner <dchinner@redhat.com>
28329 Reviewed-by: Brian Foster <bfoster@redhat.com>
28330 Signed-off-by: Ben Myers <bpm@sgi.com>
28331
28332 (cherry picked from commit 56c19e89b38618390addfc743d822f99519055c6)
28333
28334 fs/xfs/xfs_iops.c | 47 ++++++++++++++++++++++++++++++++---------------
28335 1 files changed, 32 insertions(+), 15 deletions(-)
28336
28337 commit 8e62c6a0946a4b11a55540094a0ee5d3a222dbcc
28338 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
28339 Date: Wed May 29 15:36:40 2013 -0400
28340
28341 Upstream commit: f448badd34700ae728a32ba024249626d49c10e1
28342
28343 NFSv4: Fix a thinko in nfs4_try_open_cached
28344
28345 We need to pass the full open mode flags to nfs_may_open() when doing
28346 a delegated open.
28347
28348 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
28349 Cc: stable@vger.kernel.org
28350
28351 fs/nfs/nfs4proc.c | 2 +-
28352 1 files changed, 1 insertions(+), 1 deletions(-)
28353
28354 commit c47de62893a9f269be0a272c2840aac1e2a35c68
28355 Author: Chen Gang <gang.chen@asianux.com>
28356 Date: Thu May 30 01:18:43 2013 +0000
28357
28358 Upstream commit: ea99b1adf22abd62bdcf14b1c9a0a4d3664eefd8
28359
28360 parisc: kernel: using strlcpy() instead of strcpy()
28361
28362 'boot_args' is an input args, and 'boot_command_line' has a fix length.
28363 So use strlcpy() instead of strcpy() to avoid memory overflow.
28364
28365 Signed-off-by: Chen Gang <gang.chen@asianux.com>
28366 Acked-by: Kyle McMartin <kyle@mcmartin.ca>
28367 Signed-off-by: Helge Deller <deller@gmx.de>
28368
28369 arch/parisc/kernel/setup.c | 3 ++-
28370 1 files changed, 2 insertions(+), 1 deletions(-)
28371
28372 commit ce869e6f799f95fcac340420ba3612503df80dbf
28373 Author: Chen Gang <gang.chen@asianux.com>
28374 Date: Mon May 27 04:57:09 2013 +0000
28375
28376 Upstream commit: 3f108de96ba449a8df3d7e3c053bf890fee2cb95
28377
28378 parisc: memory overflow, 'name' length is too short for using
28379
28380 'path.bc[i]' can be asigned by PCI_SLOT() which can '> 10', so sizeof(6
28381 * "%u:" + "%u" + '\0') may be 21.
28382
28383 Since 'name' length is 20, it may be memory overflow.
28384
28385 And 'path.bc[i]' is 'unsigned char' for printing, we can be sure the
28386 max length of 'name' must be less than 28.
28387
28388 So simplify thinking, we can use 28 instead of 20 directly, and do not
28389 think of whether 'patchc.bc[i]' can '> 100'.
28390
28391 Signed-off-by: Chen Gang <gang.chen@asianux.com>
28392 Signed-off-by: Helge Deller <deller@gmx.de>
28393
28394 arch/parisc/kernel/drivers.c | 2 +-
28395 1 files changed, 1 insertions(+), 1 deletions(-)
28396
28397 commit 5dc65cd34d442783118a17c518e2daedb90a31d0
28398 Author: Brad Spengler <spender@grsecurity.net>
28399 Date: Tue Jun 4 17:52:23 2013 -0400
28400
28401 add PERF_HARDEN recommendation
28402
28403 grsecurity/Kconfig | 3 +++
28404 1 files changed, 3 insertions(+), 0 deletions(-)
28405
28406 commit 45b0f6e97666ca330b9a69e7fd2d2d9345d9618c
28407 Author: Brad Spengler <spender@grsecurity.net>
28408 Date: Tue Jun 4 17:22:44 2013 -0400
28409
28410 Introduce new feature: CONFIG_GRKERNSEC_PERF_HARDEN
28411
28412 grsecurity/Kconfig | 19 +++++++++++++++++++
28413 include/linux/perf_event.h | 5 +++++
28414 kernel/events/core.c | 10 +++++++++-
28415 kernel/sysctl.c | 9 ++++++++-
28416 4 files changed, 41 insertions(+), 2 deletions(-)
28417
28418 commit 84619a3501fd38285a72d9e963f58d1827beedd6
28419 Author: Brad Spengler <spender@grsecurity.net>
28420 Date: Sat Jun 1 14:23:31 2013 -0400
28421
28422 remove user-triggerable BUG_ON in do_munlockall()
28423
28424 mm/mlock.c | 1 -
28425 1 files changed, 0 insertions(+), 1 deletions(-)
28426
28427 commit f4bcf6087bd7b9a5b9c9021790396865c5362da0
28428 Author: Brad Spengler <spender@grsecurity.net>
28429 Date: Sat Jun 1 13:44:05 2013 -0400
28430
28431 Upstream commit: cea4dcfdad926a27a18e188720efe0f2c9403456
28432
28433 From: Kees Cook <keescook@chromium.org>
28434 Date: Thu, 23 May 2013 17:32:17 +0000
28435 Subject: iscsi-target: fix heap buffer overflow on error
28436
28437 If a key was larger than 64 bytes, as checked by iscsi_check_key(), the
28438 error response packet, generated by iscsi_add_notunderstood_response(),
28439 would still attempt to copy the entire key into the packet, overflowing
28440 the structure on the heap.
28441
28442 Remote preauthentication kernel memory corruption was possible if a
28443 target was configured and listening on the network.
28444
28445 CVE-2013-2850
28446
28447 Embargo-screwup-by: Kees Cook <keescook@chromium.org>
28448 Cc: stable@vger.kernel.org
28449 Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
28450
28451 drivers/target/iscsi/iscsi_target_parameters.c | 8 +++-----
28452 drivers/target/iscsi/iscsi_target_parameters.h | 4 +++-
28453 2 files changed, 6 insertions(+), 6 deletions(-)
28454
28455 commit 2fdc3e0a0ecd44f22d49ea2230638ed650dd5e7e
28456 Author: Brad Spengler <spender@grsecurity.net>
28457 Date: Sat Jun 1 13:43:26 2013 -0400
28458
28459 Revert "Fix distro-embargoed bug CVE-2013-2850, bad strncpy parameters"
28460 Applying upstream fix instead
28461
28462 This reverts commit 8c237f4a53a038ab0f1c4fdc3656bdb3d77b7291.
28463
28464 drivers/target/iscsi/iscsi_target_parameters.c | 5 +++--
28465 1 files changed, 3 insertions(+), 2 deletions(-)
28466
28467 commit 8ad50b7b6bbaaec7f07f894c15d76abe801f0769
28468 Author: Dan Carpenter <dan.carpenter@oracle.com>
28469 Date: Sun May 19 21:52:20 2013 +0300
28470
28471 Upstream commit: e75b61897276c5100e61c9c74fd55ded28f31431
28472
28473 USB: cxacru: potential underflow in cxacru_cm_get_array()
28474
28475 commit 2a0ebf80aa95cc758d4725f74a7016e992606a39 upstream.
28476
28477 The value of "offd" comes off the instance->rcv_buf[] and we used it as
28478 the offset into an array. The problem is that we check the upper bound
28479 but not for negative values.
28480
28481 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
28482 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
28483 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
28484
28485 drivers/usb/atm/cxacru.c | 3 ++-
28486 1 files changed, 2 insertions(+), 1 deletions(-)
28487
28488 commit 8c237f4a53a038ab0f1c4fdc3656bdb3d77b7291
28489 Author: Brad Spengler <spender@grsecurity.net>
28490 Date: Sat Jun 1 11:30:17 2013 -0400
28491
28492 Fix distro-embargoed bug CVE-2013-2850, bad strncpy parameters
28493
28494 drivers/target/iscsi/iscsi_target_parameters.c | 5 ++---
28495 1 files changed, 2 insertions(+), 3 deletions(-)
28496
28497 commit 8578566969d91678a3d7d5251b4eafc6d7775314
28498 Author: Brad Spengler <spender@grsecurity.net>
28499 Date: Thu May 30 17:44:15 2013 -0400
28500
28501 Apply compatibility fix to previous RLIMIT_NPROC change
28502 don't enforce the rlimit check at exec time if the user is root
28503 Prevents problems with sudo if root is listed as part of a group
28504 in limits.conf with process limits enforced
28505
28506 kernel/sys.c | 2 +-
28507 1 files changed, 1 insertions(+), 1 deletions(-)
28508
28509 commit 0ed0c927ce3db94e2d0c0f328e24a28fe4f143e7
28510 Merge: 643b294 ed9b427
28511 Author: Brad Spengler <spender@grsecurity.net>
28512 Date: Wed May 29 19:19:28 2013 -0400
28513
28514 Merge branch 'pax-test' into grsec-test
28515
28516 commit ed9b4276488528d0c3803df1dc0df804238241e0
28517 Author: Brad Spengler <spender@grsecurity.net>
28518 Date: Wed May 29 19:18:45 2013 -0400
28519
28520 Updated to pax-linux-3.9.4-test8.patch:
28521 - fixed some fallout detected by the checker plugin
28522
28523 arch/x86/kernel/crash_dump_64.c | 2 +-
28524 drivers/base/devtmpfs.c | 6 +++---
28525 drivers/char/agp/compat_ioctl.c | 2 +-
28526 drivers/char/agp/frontend.c | 2 +-
28527 drivers/char/mem.c | 2 +-
28528 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 ++--
28529 drivers/i2c/i2c-dev.c | 2 +-
28530 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +++---
28531 drivers/media/v4l2-core/v4l2-ioctl.c | 20 ++++++++++++--------
28532 fs/9p/vfs_addr.c | 2 +-
28533 fs/binfmt_elf.c | 4 ++--
28534 fs/compat_ioctl.c | 4 ++--
28535 fs/exec.c | 2 +-
28536 fs/namespace.c | 8 ++++----
28537 fs/proc/vmcore.c | 12 ++++++++----
28538 fs/read_write.c | 2 +-
28539 include/linux/syscalls.h | 8 ++++----
28540 init/do_mounts_initrd.c | 8 ++++----
28541 init/main.c | 4 ++--
28542 kernel/events/core.c | 2 +-
28543 kernel/events/internal.h | 10 +++++-----
28544 mm/page_io.c | 2 +-
28545 security/keys/internal.h | 2 +-
28546 tools/gcc/checker_plugin.c | 1 +
28547 24 files changed, 63 insertions(+), 54 deletions(-)
28548
28549 commit 643b294b41c6adcad1cf107efe4ae52a834e6f15
28550 Author: Brad Spengler <spender@grsecurity.net>
28551 Date: Wed May 29 18:51:31 2013 -0400
28552
28553 eliminate gcc warning
28554
28555 fs/exec.c | 4 ++--
28556 1 files changed, 2 insertions(+), 2 deletions(-)
28557
28558 commit cf6f73059387ffeddb7b1de3e97a3cf588bcef86
28559 Author: Brad Spengler <spender@grsecurity.net>
28560 Date: Wed May 29 18:30:20 2013 -0400
28561
28562 use BUILD_BUG() instead of BUILD_BUG_ON(1)
28563
28564 arch/x86/net/bpf_jit_comp.c | 4 ++--
28565 1 files changed, 2 insertions(+), 2 deletions(-)
28566
28567 commit 5343410354267368e5809f3ad8d9a264f141be18
28568 Author: Brad Spengler <spender@grsecurity.net>
28569 Date: Wed May 29 17:57:41 2013 -0400
28570
28571 defensively handle additions to the BPF JIT by introducing a BUILD_BUG_ON
28572 for unknown opcodes
28573
28574 arch/x86/net/bpf_jit_comp.c | 11 +++++++----
28575 1 files changed, 7 insertions(+), 4 deletions(-)
28576
28577 commit 01f78a604b47c93fb26e8aeb68ef619bb3b8579d
28578 Author: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
28579 Date: Fri May 24 15:55:11 2013 -0700
28580
28581 Upstream commit: d34883d4e35c0a994e91dd847a82b4c9e0c31d83
28582
28583 mm: mmu_notifier: re-fix freed page still mapped in secondary MMU
28584
28585 Commit 751efd8610d3 ("mmu_notifier_unregister NULL Pointer deref and
28586 multiple ->release()") breaks the fix 3ad3d901bbcf ("mm: mmu_notifier:
28587 fix freed page still mapped in secondary MMU").
28588
28589 Since hlist_for_each_entry_rcu() is changed now, we can not revert that
28590 patch directly, so this patch reverts the commit and simply fix the bug
28591 spotted by that patch
28592
28593 This bug spotted by commit 751efd8610d3 is:
28594
28595 There is a race condition between mmu_notifier_unregister() and
28596 __mmu_notifier_release().
28597
28598 Assume two tasks, one calling mmu_notifier_unregister() as a result
28599 of a filp_close() ->flush() callout (task A), and the other calling
28600 mmu_notifier_release() from an mmput() (task B).
28601
28602 A B
28603 t1 srcu_read_lock()
28604 t2 if (!hlist_unhashed())
28605 t3 srcu_read_unlock()
28606 t4 srcu_read_lock()
28607 t5 hlist_del_init_rcu()
28608 t6 synchronize_srcu()
28609 t7 srcu_read_unlock()
28610 t8 hlist_del_rcu() <--- NULL pointer deref.
28611
28612 This can be fixed by using hlist_del_init_rcu instead of hlist_del_rcu.
28613
28614 The another issue spotted in the commit is "multiple ->release()
28615 callouts", we needn't care it too much because it is really rare (e.g,
28616 can not happen on kvm since mmu-notify is unregistered after
28617 exit_mmap()) and the later call of multiple ->release should be fast
28618 since all the pages have already been released by the first call.
28619 Anyway, this issue should be fixed in a separate patch.
28620
28621 -stable suggestions: Any version that has commit 751efd8610d3 need to be
28622 backported. I find the oldest version has this commit is 3.0-stable.
28623
28624 [akpm@linux-foundation.org: tweak comments]
28625 Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
28626 Tested-by: Robin Holt <holt@sgi.com>
28627 Cc: <stable@vger.kernel.org>
28628 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
28629 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
28630
28631 mm/mmu_notifier.c | 79 ++++++++++++++++++++++++++---------------------------
28632 1 files changed, 39 insertions(+), 40 deletions(-)
28633
28634 commit 163a5539b36247865d39b2bcfa8efc03a62124a6
28635 Author: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
28636 Date: Fri May 24 15:55:21 2013 -0700
28637
28638 Upstream commit: 7c3425123ddfdc5f48e7913ff59d908789712b18
28639
28640 mm/THP: use pmd_populate() to update the pmd with pgtable_t pointer
28641
28642 We should not use set_pmd_at to update pmd_t with pgtable_t pointer.
28643 set_pmd_at is used to set pmd with huge pte entries and architectures
28644 like ppc64, clear few flags from the pte when saving a new entry.
28645 Without this change we observe bad pte errors like below on ppc64 with
28646 THP enabled.
28647
28648 BUG: Bad page map in process ld mm=0xc000001ee39f4780 pte:7fc3f37848000001 pmd:c000001ec0000000
28649
28650 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
28651 Cc: Hugh Dickins <hughd@google.com>
28652 Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
28653 Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
28654 Cc: <stable@vger.kernel.org>
28655 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
28656 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
28657
28658 mm/huge_memory.c | 7 ++++++-
28659 1 files changed, 6 insertions(+), 1 deletions(-)
28660
28661 commit 3e54faf888d324d5f362dcba16173ea7bba61e8a
28662 Author: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
28663 Date: Fri May 24 15:55:08 2013 -0700
28664
28665 Upstream commit: 7b92d03c3239f43e5b86c9cc9630f026d36ee995
28666
28667 fat: fix possible overflow for fat_clusters
28668
28669 Intermediate value of fat_clusters can be overflowed on 32bits arch.
28670
28671 Reported-by: Krzysztof Strasburger <strasbur@chkw386.ch.pwr.wroc.pl>
28672 Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
28673 Cc: <stable@vger.kernel.org>
28674 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
28675 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
28676
28677 fs/fat/inode.c | 15 ++++++++++++++-
28678 1 files changed, 14 insertions(+), 1 deletions(-)
28679
28680 commit 2d9fc67d9d63641e6bbf389edba8d8514c68655d
28681 Author: Jarod Wilson <jarod@redhat.com>
28682 Date: Fri May 24 15:55:31 2013 -0700
28683
28684 Upstream commit: 1e7e2e05c179a68aaf8830fe91547a87f4589e53
28685
28686 drivers/char/random.c: fix priming of last_data
28687
28688 Commit ec8f02da9ea5 ("random: prime last_data value per fips
28689 requirements") added priming of last_data per fips requirements.
28690
28691 Unfortuantely, it did so in a way that can lead to multiple threads all
28692 incrementing nbytes, but only one actually doing anything with the extra
28693 data, which leads to some fun random corruption and panics.
28694
28695 The fix is to simply do everything needed to prime last_data in a single
28696 shot, so there's no window for multiple cpus to increment nbytes -- in
28697 fact, we won't even increment or decrement nbytes anymore, we'll just
28698 extract the needed EXTRACT_SIZE one time per pool and then carry on with
28699 the normal routine.
28700
28701 All these changes have been tested across multiple hosts and
28702 architectures where panics were previously encoutered. The code changes
28703 are are strictly limited to areas only touched when when booted in fips
28704 mode.
28705
28706 This change should also go into 3.8-stable, to make the myriads of fips
28707 users on 3.8.x happy.
28708
28709 Signed-off-by: Jarod Wilson <jarod@redhat.com>
28710 Tested-by: Jan Stancek <jstancek@redhat.com>
28711 Tested-by: Jan Stodola <jstodola@redhat.com>
28712 Cc: Herbert Xu <herbert@gondor.apana.org.au>
28713 Acked-by: Neil Horman <nhorman@tuxdriver.com>
28714 Cc: "David S. Miller" <davem@davemloft.net>
28715 Cc: Matt Mackall <mpm@selenic.com>
28716 Cc: "Theodore Ts'o" <tytso@mit.edu>
28717 Cc: <stable@vger.kernel.org>
28718 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
28719 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
28720
28721 drivers/char/random.c | 30 +++++++++++++++---------------
28722 1 files changed, 15 insertions(+), 15 deletions(-)
28723
28724 commit 2d74639040ba6ce47f57ec010714ec06529c4b42
28725 Author: Jiri Kosina <jkosina@suse.cz>
28726 Date: Fri May 24 15:55:33 2013 -0700
28727
28728 Upstream commit: 10b3a32d292c21ea5b3ad5ca5975e88bb20b8d68
28729
28730 random: fix accounting race condition with lockless irq entropy_count update
28731
28732 Commit 902c098a3663 ("random: use lockless techniques in the interrupt
28733 path") turned IRQ path from being spinlock protected into lockless
28734 cmpxchg-retry update.
28735
28736 That commit removed r->lock serialization between crediting entropy bits
28737 from IRQ context and accounting when extracting entropy on userspace
28738 read path, but didn't turn the r->entropy_count reads/updates in
28739 account() to use cmpxchg as well.
28740
28741 It has been observed, that under certain circumstances this leads to
28742 read() on /dev/urandom to return 0 (EOF), as r->entropy_count gets
28743 corrupted and becomes negative, which in turn results in propagating 0
28744 all the way from account() to the actual read() call.
28745
28746 Convert the accounting code to be the proper lockless counterpart of
28747 what has been partially done by 902c098a3663.
28748
28749 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
28750 Cc: Theodore Ts'o <tytso@mit.edu>
28751 Cc: Greg KH <greg@kroah.com>
28752 Cc: <stable@vger.kernel.org>
28753 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
28754 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
28755
28756 drivers/char/random.c | 26 +++++++++++++++++---------
28757 1 files changed, 17 insertions(+), 9 deletions(-)
28758
28759 commit 65d05c7ea468c23c175105526dd4f163302a92cf
28760 Merge: 1a98d0a 6ce3a135
28761 Author: Brad Spengler <spender@grsecurity.net>
28762 Date: Sat May 25 07:48:15 2013 -0400
28763
28764 Merge branch 'pax-test' into grsec-test
28765
28766 Conflicts:
28767 arch/x86/kernel/vm86_32.c
28768
28769 commit 6ce3a13567ec17c1e72a88871ddf46da61ad5166
28770 Merge: 79bdd65 0bfd8ff
28771 Author: Brad Spengler <spender@grsecurity.net>
28772 Date: Sat May 25 07:46:55 2013 -0400
28773
28774 Merge branch 'linux-3.9.y' into pax-test
28775
28776 commit 1a98d0a10ede55ae99fabfb2d67eb536d3de9444
28777 Author: Brad Spengler <spender@grsecurity.net>
28778 Date: Thu May 23 18:42:23 2013 -0400
28779
28780 use existing local variable
28781
28782 fs/exec.c | 2 +-
28783 1 files changed, 1 insertions(+), 1 deletions(-)
28784
28785 commit b2b80ef8586061e32e986b31608717c25d1e7c54
28786 Merge: cb45fbd 79bdd65
28787 Author: Brad Spengler <spender@grsecurity.net>
28788 Date: Thu May 23 17:58:53 2013 -0400
28789
28790 Merge branch 'pax-test' into grsec-test
28791
28792 commit 79bdd65dac68267bc1b201c6b4a99966a373c305
28793 Author: Brad Spengler <spender@grsecurity.net>
28794 Date: Thu May 23 17:57:46 2013 -0400
28795
28796 Update to pax-linux-3.9.3-test7.patch:
28797 - fixed some size overflow related warnings (hash table, attributes)
28798 - fixed a gcc bug/feature exposed by constification, the investigation was prompted by http://rikiji.it/2013/05/10/CVE-2013-2094-x86.html
28799
28800 arch/x86/include/asm/page_64.h | 2 +-
28801 arch/x86/kernel/head64.c | 2 +-
28802 tools/gcc/constify_plugin.c | 48 ++-
28803 tools/gcc/size_overflow_hash.data | 1191 +++++++++++++++++++------------------
28804 4 files changed, 651 insertions(+), 592 deletions(-)
28805
28806 commit cb45fbda4967b1b544a754fbdc92d73283379522
28807 Merge: 62588fa 57c11b8
28808 Author: Brad Spengler <spender@grsecurity.net>
28809 Date: Mon May 20 17:32:17 2013 -0400
28810
28811 Merge branch 'pax-test' into grsec-test
28812
28813 commit 57c11b85acd841a088aa4df8e60be337880df8cd
28814 Merge: 0598b37 4bb0869
28815 Author: Brad Spengler <spender@grsecurity.net>
28816 Date: Mon May 20 17:32:08 2013 -0400
28817
28818 Merge branch 'linux-3.9.y' into pax-test
28819
28820 commit 62588fa72b82a8ff7027f52dc2a05729f41e0f53
28821 Merge: e261c7b 0598b37
28822 Author: Brad Spengler <spender@grsecurity.net>
28823 Date: Fri May 17 22:57:36 2013 -0400
28824
28825 Merge branch 'pax-test' into grsec-test
28826
28827 commit 0598b3778624dbc6c3887af025c040dbd6e92ba5
28828 Author: Brad Spengler <spender@grsecurity.net>
28829 Date: Fri May 17 22:57:07 2013 -0400
28830
28831 Update to pax-linux-3.9.2-test6.patch:
28832 - fixed a gcc assert in the structleak plugin, reported by Emese Revfy
28833 - fixed pfn extraction from pud/pgd entries, reported by ousado
28834
28835 arch/x86/include/asm/pgtable.h | 9 +++++++--
28836 tools/gcc/structleak_plugin.c | 3 ++-
28837 2 files changed, 9 insertions(+), 3 deletions(-)
28838
28839 commit e261c7bc611e9127bbb7bd95cddd51524bf255ae
28840 Author: Brad Spengler <spender@grsecurity.net>
28841 Date: Thu May 16 22:54:12 2013 -0400
28842
28843 add offset to topdown check, fixes compilation
28844
28845 arch/x86/kernel/sys_x86_64.c | 2 +-
28846 1 files changed, 1 insertions(+), 1 deletions(-)
28847
28848 commit 455c5ed5279cf546f5d5c3844fb16f17300b2219
28849 Author: Brad Spengler <spender@grsecurity.net>
28850 Date: Thu May 16 20:57:41 2013 -0400
28851
28852 CONFIG_GRKERNSEC depends on the recently-introduced CONFIG_TTY,
28853 reported by lulzh3ad on irc
28854
28855 security/Kconfig | 1 +
28856 1 files changed, 1 insertions(+), 0 deletions(-)
28857
28858 commit 0d4593e84707cdf6deb6b925c18c676a476b1613
28859 Merge: 43cd0c0 39a877f
28860 Author: Brad Spengler <spender@grsecurity.net>
28861 Date: Thu May 16 20:39:11 2013 -0400
28862
28863 Merge branch 'pax-test' into grsec-test
28864
28865 commit 39a877f192ed305d88edac10a14a9e8e1e161f3f
28866 Author: Brad Spengler <spender@grsecurity.net>
28867 Date: Thu May 16 20:37:35 2013 -0400
28868
28869 Update to pax-linux-3.9.2-test105.patch:
28870 - fixed !EFI boot problem, reported by spender
28871 - fixed a few compile warnings
28872 - fixed some more compile errors due to constification
28873 - fixed some arm fallout, reported by Michael Tremer
28874
28875 arch/arm/include/asm/psci.h | 2 +-
28876 arch/arm/kernel/psci.c | 2 +-
28877 arch/x86/kernel/sys_x86_64.c | 3 +--
28878 arch/x86/realmode/init.c | 2 +-
28879 drivers/hwmon/pmbus/pmbus_core.c | 10 +++++-----
28880 drivers/irqchip/irq-gic.c | 2 +-
28881 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +++-
28882 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +++++++++---
28883 drivers/platform/x86/chromeos_laptop.c | 2 +-
28884 fs/jfs/super.c | 4 ++--
28885 include/linux/irqchip/arm-gic.h | 2 ++
28886 include/sound/compress_driver.h | 2 +-
28887 net/mac80211/cfg.c | 4 ++--
28888 sound/soc/fsl/fsl_ssi.c | 2 +-
28889 14 files changed, 31 insertions(+), 22 deletions(-)
28890
28891 commit 43cd0c0c7bf3f3331689f88130a8e8ce58fc8540
28892 Author: Brad Spengler <spender@grsecurity.net>
28893 Date: Thu May 16 20:35:22 2013 -0400
28894
28895 Fix usercopy false positive under gcc 4.1
28896
28897 arch/x86/kernel/signal.c | 9 +++++++--
28898 1 files changed, 7 insertions(+), 2 deletions(-)
28899
28900 commit 56a166129d817f6634c8c230e6ec497669bdfaca
28901 Author: Amerigo Wang <amwang@redhat.com>
28902 Date: Thu May 9 21:56:37 2013 +0000
28903
28904 Upstream commit: 5dbd5068430b8bd1c19387d46d6c1a88b261257f
28905
28906 ipv6,gre: do not leak info to user-space
28907
28908 There is a hole in struct ip6_tnl_parm2, so we have to
28909 zero the struct on stack before copying it to user-space.
28910
28911 Cc: David S. Miller <davem@davemloft.net>
28912 Signed-off-by: Cong Wang <amwang@redhat.com>
28913 Signed-off-by: David S. Miller <davem@davemloft.net>
28914
28915 net/ipv6/ip6_gre.c | 2 ++
28916 1 files changed, 2 insertions(+), 0 deletions(-)
28917
28918 commit d6f50dae2653ad912952da40417a8ccbd59c7699
28919 Author: Brad Spengler <spender@grsecurity.net>
28920 Date: Tue May 14 16:52:35 2013 -0400
28921
28922 disable unprivileged kernel profiling under HIDESYM, rename
28923 the variable to something more appropriate
28924
28925 include/linux/perf_event.h | 8 ++++----
28926 kernel/events/core.c | 6 +++++-
28927 kernel/sysctl.c | 4 ++--
28928 3 files changed, 11 insertions(+), 7 deletions(-)
28929
28930 commit 01322c6951bed4eedefbd2178dbd99292b365d99
28931 Author: Brad Spengler <spender@grsecurity.net>
28932 Date: Mon May 13 17:19:57 2013 -0400
28933
28934 mark GRKERNSEC_RAND_THREADSTACK broken until PaX fixes its
28935 existing stack-heap gap code for the new unified vm_unmapped_area
28936
28937 grsecurity/Kconfig | 2 +-
28938 1 files changed, 1 insertions(+), 1 deletions(-)
28939
28940 commit 8e576ddc2196770ba2b86ba8f7b9e76c141d1083
28941 Author: Brad Spengler <spender@grsecurity.net>
28942 Date: Mon May 13 15:40:32 2013 -0400
28943
28944 fix NX fault on early boot
28945
28946 arch/x86/realmode/init.c | 2 +-
28947 1 files changed, 1 insertions(+), 1 deletions(-)
28948
28949 commit 85ce9b6f668f9b02f21d23ae61a1bacc8804f615
28950 Author: Brad Spengler <spender@grsecurity.net>
28951 Date: Mon May 13 10:48:13 2013 -0400
28952
28953 compile fix, we weren't using %pa anyway and it's now being used
28954 by upstream for physical address printing
28955
28956 lib/vsprintf.c | 3 +--
28957 1 files changed, 1 insertions(+), 2 deletions(-)
28958
28959 commit 4eeaeea04d4776b8263f0e9b018edcdbe66c929d
28960 Author: Brad Spengler <spender@grsecurity.net>
28961 Date: Mon May 13 10:39:52 2013 -0400
28962
28963 compile fix
28964
28965 grsecurity/grsec_chroot.c | 2 +-
28966 1 files changed, 1 insertions(+), 1 deletions(-)
28967
28968 commit 155fe84d0b966e41b077781e6b3bc6f6ed5b294b
28969 Author: Brad Spengler <spender@grsecurity.net>
28970 Date: Mon May 13 10:35:36 2013 -0400
28971
28972 compile fixes
28973
28974 grsecurity/grsec_chroot.c | 2 +-
28975 include/linux/grinternal.h | 8 ++++----
28976 include/linux/grsecurity.h | 4 ++--
28977 3 files changed, 7 insertions(+), 7 deletions(-)
28978
28979 commit f92047409f0a843ec0b44033ca4c37e539f9a1d5
28980 Author: Brad Spengler <spender@grsecurity.net>
28981 Date: Mon May 13 10:27:18 2013 -0400
28982
28983 compile fix
28984
28985 fs/exec.c | 6 +++---
28986 1 files changed, 3 insertions(+), 3 deletions(-)
28987
28988 commit 0e4123608755ab6af3f448cca6f6a8a57dbdcff1
28989 Author: Brad Spengler <spender@grsecurity.net>
28990 Date: Mon May 13 10:23:17 2013 -0400
28991
28992 Initial port of grsecurity for 3.9.2
28993
28994 Documentation/kernel-parameters.txt | 4 +
28995 Makefile | 8 +-
28996 arch/alpha/include/asm/cache.h | 4 +-
28997 arch/alpha/kernel/osf_sys.c | 12 +-
28998 arch/arm/include/asm/thread_info.h | 9 +-
28999 arch/arm/kernel/process.c | 4 +-
29000 arch/arm/kernel/ptrace.c | 9 +
29001 arch/arm/kernel/traps.c | 7 +-
29002 arch/arm/mm/fault.c | 29 +-
29003 arch/arm/mm/mmap.c | 8 +-
29004 arch/avr32/include/asm/cache.h | 4 +-
29005 arch/blackfin/include/asm/cache.h | 3 +-
29006 arch/cris/include/arch-v10/arch/cache.h | 3 +-
29007 arch/cris/include/arch-v32/arch/cache.h | 3 +-
29008 arch/frv/include/asm/cache.h | 3 +-
29009 arch/frv/mm/elf-fdpic.c | 4 +-
29010 arch/hexagon/include/asm/cache.h | 6 +-
29011 arch/ia64/include/asm/cache.h | 3 +-
29012 arch/ia64/kernel/sys_ia64.c | 2 +
29013 arch/ia64/mm/hugetlbpage.c | 2 +
29014 arch/m32r/include/asm/cache.h | 4 +-
29015 arch/m68k/include/asm/cache.h | 4 +-
29016 arch/metag/mm/hugetlbpage.c | 1 +
29017 arch/microblaze/include/asm/cache.h | 3 +-
29018 arch/mips/include/asm/cache.h | 3 +-
29019 arch/mips/include/asm/thread_info.h | 9 +-
29020 arch/mips/kernel/ptrace.c | 9 +
29021 arch/mips/kernel/scall32-o32.S | 2 +-
29022 arch/mips/kernel/scall64-64.S | 2 +-
29023 arch/mips/kernel/scall64-n32.S | 2 +-
29024 arch/mips/kernel/scall64-o32.S | 2 +-
29025 arch/mips/mm/mmap.c | 4 +-
29026 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
29027 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
29028 arch/openrisc/include/asm/cache.h | 4 +-
29029 arch/parisc/include/asm/cache.h | 5 +-
29030 arch/parisc/kernel/sys_parisc.c | 17 +-
29031 arch/powerpc/include/asm/cache.h | 3 +-
29032 arch/powerpc/include/asm/thread_info.h | 8 +-
29033 arch/powerpc/kernel/process.c | 10 +-
29034 arch/powerpc/kernel/ptrace.c | 14 +
29035 arch/powerpc/kernel/traps.c | 5 +
29036 arch/powerpc/mm/slice.c | 8 +-
29037 arch/s390/include/asm/cache.h | 4 +-
29038 arch/score/include/asm/cache.h | 4 +-
29039 arch/sh/include/asm/cache.h | 3 +-
29040 arch/sh/mm/mmap.c | 6 +-
29041 arch/sparc/include/asm/cache.h | 4 +-
29042 arch/sparc/include/asm/thread_info_64.h | 9 +-
29043 arch/sparc/kernel/process_32.c | 6 +-
29044 arch/sparc/kernel/process_64.c | 8 +-
29045 arch/sparc/kernel/ptrace_64.c | 14 +
29046 arch/sparc/kernel/sys_sparc_64.c | 8 +-
29047 arch/sparc/kernel/syscalls.S | 8 +-
29048 arch/sparc/kernel/traps_32.c | 8 +-
29049 arch/sparc/kernel/traps_64.c | 28 +-
29050 arch/sparc/kernel/unaligned_64.c | 2 +-
29051 arch/sparc/mm/fault_64.c | 2 +-
29052 arch/sparc/mm/hugetlbpage.c | 3 +-
29053 arch/tile/include/asm/cache.h | 3 +-
29054 arch/tile/mm/hugetlbpage.c | 2 +
29055 arch/um/defconfig | 1 -
29056 arch/um/include/asm/cache.h | 3 +-
29057 arch/unicore32/include/asm/cache.h | 6 +-
29058 arch/x86/Kconfig | 5 +-
29059 arch/x86/Kconfig.debug | 2 +-
29060 arch/x86/ia32/ia32_aout.c | 2 +
29061 arch/x86/include/asm/thread_info.h | 8 +-
29062 arch/x86/kernel/dumpstack.c | 8 +
29063 arch/x86/kernel/entry_32.S | 2 +-
29064 arch/x86/kernel/entry_64.S | 2 +-
29065 arch/x86/kernel/ioport.c | 13 +
29066 arch/x86/kernel/ptrace.c | 14 +
29067 arch/x86/kernel/smpboot.c | 3 +
29068 arch/x86/kernel/sys_i386_32.c | 14 +-
29069 arch/x86/kernel/sys_x86_64.c | 6 +-
29070 arch/x86/kernel/verify_cpu.S | 1 +
29071 arch/x86/kernel/vm86_32.c | 16 +
29072 arch/x86/mm/fault.c | 12 +-
29073 arch/x86/mm/hugetlbpage.c | 15 +-
29074 arch/x86/mm/init.c | 66 +-
29075 arch/x86/net/bpf_jit_comp.c | 126 +-
29076 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
29077 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
29078 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
29079 drivers/block/cciss.c | 2 +
29080 drivers/char/Kconfig | 4 +-
29081 drivers/char/genrtc.c | 1 +
29082 drivers/char/mem.c | 17 +
29083 drivers/char/random.c | 12 +
29084 drivers/gpu/drm/drm_info.c | 4 +
29085 drivers/hid/hid-wiimote-debug.c | 2 +-
29086 drivers/media/radio/radio-cadet.c | 2 +-
29087 drivers/message/fusion/mptbase.c | 9 +
29088 drivers/net/bonding/bond_main.c | 2 +-
29089 drivers/net/phy/mdio-bitbang.c | 1 +
29090 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
29091 drivers/pci/proc.c | 9 +
29092 drivers/rtc/rtc-dev.c | 3 +
29093 drivers/tty/sysrq.c | 2 +-
29094 drivers/tty/vt/keyboard.c | 22 +-
29095 drivers/usb/storage/realtek_cr.c | 2 +-
29096 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++--------
29097 drivers/xen/xenfs/xenstored.c | 5 +
29098 fs/attr.c | 1 +
29099 fs/autofs4/waitq.c | 9 +
29100 fs/binfmt_aout.c | 7 +
29101 fs/binfmt_elf.c | 8 +-
29102 fs/btrfs/ioctl.c | 6 +-
29103 fs/compat.c | 20 +-
29104 fs/coredump.c | 10 +-
29105 fs/debugfs/inode.c | 4 +
29106 fs/exec.c | 181 +-
29107 fs/ext2/balloc.c | 4 +-
29108 fs/ext3/balloc.c | 4 +-
29109 fs/ext4/balloc.c | 4 +-
29110 fs/fcntl.c | 5 +
29111 fs/file.c | 4 +
29112 fs/filesystems.c | 4 +
29113 fs/fs_struct.c | 13 +-
29114 fs/hugetlbfs/inode.c | 5 +-
29115 fs/namei.c | 241 ++-
29116 fs/namespace.c | 24 +
29117 fs/open.c | 38 +
29118 fs/pipe.c | 2 +-
29119 fs/proc/Kconfig | 10 +-
29120 fs/proc/array.c | 59 +-
29121 fs/proc/base.c | 168 +-
29122 fs/proc/cmdline.c | 4 +
29123 fs/proc/devices.c | 4 +
29124 fs/proc/fd.c | 17 +-
29125 fs/proc/inode.c | 17 +
29126 fs/proc/internal.h | 3 +
29127 fs/proc/kcore.c | 3 +
29128 fs/proc/proc_net.c | 12 +
29129 fs/proc/proc_sysctl.c | 43 +-
29130 fs/proc/root.c | 8 +
29131 fs/proc/task_mmu.c | 75 +-
29132 fs/readdir.c | 19 +
29133 fs/select.c | 2 +
29134 fs/seq_file.c | 12 +-
29135 fs/stat.c | 19 +-
29136 fs/sysfs/dir.c | 12 +
29137 fs/utimes.c | 7 +
29138 fs/xattr.c | 19 +-
29139 grsecurity/Kconfig | 1031 +++++
29140 grsecurity/Makefile | 38 +
29141 grsecurity/gracl.c | 4073 ++++++++++++++++++++
29142 grsecurity/gracl_alloc.c | 105 +
29143 grsecurity/gracl_cap.c | 110 +
29144 grsecurity/gracl_fs.c | 431 +++
29145 grsecurity/gracl_ip.c | 387 ++
29146 grsecurity/gracl_learn.c | 207 +
29147 grsecurity/gracl_res.c | 68 +
29148 grsecurity/gracl_segv.c | 305 ++
29149 grsecurity/gracl_shm.c | 40 +
29150 grsecurity/grsec_chdir.c | 19 +
29151 grsecurity/grsec_chroot.c | 370 ++
29152 grsecurity/grsec_disabled.c | 434 +++
29153 grsecurity/grsec_exec.c | 187 +
29154 grsecurity/grsec_fifo.c | 24 +
29155 grsecurity/grsec_fork.c | 23 +
29156 grsecurity/grsec_init.c | 283 ++
29157 grsecurity/grsec_link.c | 58 +
29158 grsecurity/grsec_log.c | 326 ++
29159 grsecurity/grsec_mem.c | 40 +
29160 grsecurity/grsec_mount.c | 62 +
29161 grsecurity/grsec_pax.c | 36 +
29162 grsecurity/grsec_ptrace.c | 30 +
29163 grsecurity/grsec_sig.c | 222 ++
29164 grsecurity/grsec_sock.c | 244 ++
29165 grsecurity/grsec_sysctl.c | 469 +++
29166 grsecurity/grsec_time.c | 16 +
29167 grsecurity/grsec_tpe.c | 73 +
29168 grsecurity/grsum.c | 61 +
29169 include/linux/capability.h | 5 +
29170 include/linux/cred.h | 3 +
29171 include/linux/fs.h | 10 +
29172 include/linux/fsnotify.h | 6 +
29173 include/linux/gracl.h | 319 ++
29174 include/linux/gralloc.h | 9 +
29175 include/linux/grdefs.h | 140 +
29176 include/linux/grinternal.h | 215 +
29177 include/linux/grmsg.h | 111 +
29178 include/linux/grsecurity.h | 242 ++
29179 include/linux/grsock.h | 19 +
29180 include/linux/kallsyms.h | 14 +-
29181 include/linux/kmod.h | 2 +
29182 include/linux/mm.h | 1 +
29183 include/linux/netfilter/xt_gradm.h | 9 +
29184 include/linux/printk.h | 3 +-
29185 include/linux/proc_fs.h | 12 +
29186 include/linux/sched.h | 68 +-
29187 include/linux/security.h | 1 +
29188 include/linux/seq_file.h | 3 +
29189 include/linux/shm.h | 4 +
29190 include/linux/skbuff.h | 3 +
29191 include/linux/slab.h | 9 -
29192 include/linux/sysctl.h | 2 +
29193 include/linux/thread_info.h | 2 +
29194 include/linux/uidgid.h | 5 +
29195 include/linux/vermagic.h | 9 +-
29196 include/net/secure_seq.h | 1 +
29197 include/trace/events/fs.h | 53 +
29198 include/uapi/linux/personality.h | 1 +
29199 init/Kconfig | 3 +-
29200 init/main.c | 14 +
29201 ipc/mqueue.c | 1 +
29202 ipc/shm.c | 28 +
29203 kernel/capability.c | 39 +-
29204 kernel/cgroup.c | 2 +-
29205 kernel/compat.c | 1 +
29206 kernel/configs.c | 11 +
29207 kernel/cred.c | 110 +-
29208 kernel/exit.c | 10 +-
29209 kernel/fork.c | 41 +-
29210 kernel/futex.c | 1 +
29211 kernel/kallsyms.c | 9 +
29212 kernel/kcmp.c | 4 +
29213 kernel/kmod.c | 71 +-
29214 kernel/kprobes.c | 4 +-
29215 kernel/ksysfs.c | 2 +
29216 kernel/lockdep_proc.c | 10 +-
29217 kernel/module.c | 81 +-
29218 kernel/panic.c | 4 +-
29219 kernel/pid.c | 19 +-
29220 kernel/posix-timers.c | 8 +
29221 kernel/printk.c | 13 +-
29222 kernel/ptrace.c | 20 +-
29223 kernel/resource.c | 10 +
29224 kernel/sched/core.c | 6 +-
29225 kernel/signal.c | 37 +-
29226 kernel/sys.c | 45 +-
29227 kernel/sysctl.c | 39 +-
29228 kernel/taskstats.c | 6 +
29229 kernel/time.c | 5 +
29230 kernel/time/timekeeping.c | 3 +
29231 kernel/time/timer_list.c | 12 +
29232 kernel/time/timer_stats.c | 10 +-
29233 lib/Kconfig.debug | 5 +-
29234 lib/is_single_threaded.c | 3 +
29235 lib/vsprintf.c | 35 +-
29236 localversion-grsec | 1 +
29237 mm/Kconfig | 4 +-
29238 mm/filemap.c | 1 +
29239 mm/kmemleak.c | 4 +-
29240 mm/mempolicy.c | 12 +-
29241 mm/migrate.c | 3 +-
29242 mm/mlock.c | 3 +
29243 mm/mmap.c | 64 +-
29244 mm/mprotect.c | 8 +
29245 mm/process_vm_access.c | 6 +
29246 mm/shmem.c | 2 +-
29247 mm/slab.c | 2 +-
29248 mm/slub.c | 14 +-
29249 mm/vmalloc.c | 4 +
29250 mm/vmstat.c | 18 +-
29251 net/8021q/vlan.c | 7 +
29252 net/core/dev_ioctl.c | 4 +
29253 net/core/net-procfs.c | 5 +
29254 net/core/secure_seq.c | 4 +-
29255 net/core/sock_diag.c | 7 +
29256 net/ipv4/af_inet.c | 5 +-
29257 net/ipv4/inet_hashtables.c | 5 +
29258 net/ipv4/ip_sockglue.c | 3 +-
29259 net/ipv4/tcp_input.c | 4 +-
29260 net/ipv4/tcp_ipv4.c | 24 +-
29261 net/ipv4/tcp_minisocks.c | 9 +-
29262 net/ipv4/tcp_timer.c | 11 +
29263 net/ipv4/udp.c | 24 +
29264 net/ipv6/tcp_ipv6.c | 23 +-
29265 net/ipv6/udp.c | 7 +
29266 net/netfilter/Kconfig | 10 +
29267 net/netfilter/Makefile | 1 +
29268 net/netfilter/nf_conntrack_core.c | 8 +
29269 net/netfilter/xt_gradm.c | 51 +
29270 net/netrom/af_netrom.c | 2 +-
29271 net/phonet/af_phonet.c | 2 +-
29272 net/sctp/probe.c | 2 +-
29273 net/sctp/proc.c | 3 +-
29274 net/socket.c | 66 +-
29275 net/sysctl_net.c | 2 +-
29276 net/tipc/link.c | 11 +-
29277 net/unix/af_unix.c | 31 +-
29278 security/Kconfig | 342 ++-
29279 security/commoncap.c | 29 +
29280 security/min_addr.c | 2 +
29281 security/security.c | 2 -
29282 security/selinux/hooks.c | 2 -
29283 security/tomoyo/mount.c | 4 +
29284 security/yama/Kconfig | 2 +-
29285 291 files changed, 15221 insertions(+), 2052 deletions(-)
29286
29287 commit 88854c350c899bceca4a94598c42bed44d0dc91b
29288 Author: Brad Spengler <spender@grsecurity.net>
29289 Date: Mon May 13 07:37:47 2013 -0400
29290
29291 Initial import of pax-linux-3.9.2-test2.patch
29292
29293 Documentation/dontdiff | 45 +-
29294 Documentation/kernel-parameters.txt | 12 +
29295 Makefile | 100 +-
29296 arch/alpha/include/asm/atomic.h | 10 +
29297 arch/alpha/include/asm/elf.h | 7 +
29298 arch/alpha/include/asm/pgalloc.h | 6 +
29299 arch/alpha/include/asm/pgtable.h | 11 +
29300 arch/alpha/kernel/module.c | 2 +-
29301 arch/alpha/kernel/osf_sys.c | 8 +-
29302 arch/alpha/mm/fault.c | 141 +-
29303 arch/arm/Kconfig | 2 +-
29304 arch/arm/include/asm/atomic.h | 421 ++-
29305 arch/arm/include/asm/cache.h | 5 +-
29306 arch/arm/include/asm/cacheflush.h | 2 +-
29307 arch/arm/include/asm/checksum.h | 14 +-
29308 arch/arm/include/asm/cmpxchg.h | 2 +
29309 arch/arm/include/asm/domain.h | 33 +-
29310 arch/arm/include/asm/elf.h | 13 +-
29311 arch/arm/include/asm/fncpy.h | 2 +
29312 arch/arm/include/asm/futex.h | 10 +
29313 arch/arm/include/asm/kmap_types.h | 2 +-
29314 arch/arm/include/asm/mach/dma.h | 2 +-
29315 arch/arm/include/asm/mach/map.h | 7 +-
29316 arch/arm/include/asm/outercache.h | 2 +-
29317 arch/arm/include/asm/page.h | 2 +-
29318 arch/arm/include/asm/pgalloc.h | 22 +-
29319 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
29320 arch/arm/include/asm/pgtable-2level.h | 1 +
29321 arch/arm/include/asm/pgtable-3level-hwdef.h | 2 +
29322 arch/arm/include/asm/pgtable-3level.h | 2 +
29323 arch/arm/include/asm/pgtable.h | 56 +-
29324 arch/arm/include/asm/proc-fns.h | 2 +-
29325 arch/arm/include/asm/processor.h | 5 +-
29326 arch/arm/include/asm/smp.h | 2 +-
29327 arch/arm/include/asm/thread_info.h | 6 +-
29328 arch/arm/include/asm/uaccess.h | 92 +-
29329 arch/arm/include/uapi/asm/ptrace.h | 2 +-
29330 arch/arm/kernel/armksyms.c | 6 +-
29331 arch/arm/kernel/entry-armv.S | 107 +-
29332 arch/arm/kernel/entry-common.S | 41 +-
29333 arch/arm/kernel/entry-header.S | 60 +
29334 arch/arm/kernel/fiq.c | 2 +
29335 arch/arm/kernel/head.S | 6 +-
29336 arch/arm/kernel/hw_breakpoint.c | 2 +-
29337 arch/arm/kernel/module.c | 29 +-
29338 arch/arm/kernel/patch.c | 2 +
29339 arch/arm/kernel/perf_event_cpu.c | 2 +-
29340 arch/arm/kernel/process.c | 15 +-
29341 arch/arm/kernel/setup.c | 22 +-
29342 arch/arm/kernel/signal.c | 24 +-
29343 arch/arm/kernel/smp.c | 2 +-
29344 arch/arm/kernel/traps.c | 15 +-
29345 arch/arm/kernel/vmlinux.lds.S | 22 +-
29346 arch/arm/lib/clear_user.S | 6 +-
29347 arch/arm/lib/copy_from_user.S | 6 +-
29348 arch/arm/lib/copy_page.S | 1 +
29349 arch/arm/lib/copy_to_user.S | 6 +-
29350 arch/arm/lib/csumpartialcopyuser.S | 4 +-
29351 arch/arm/lib/delay.c | 2 +-
29352 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
29353 arch/arm/mach-kirkwood/common.c | 19 +-
29354 arch/arm/mach-omap2/board-n8x0.c | 2 +-
29355 arch/arm/mach-omap2/gpmc.c | 22 +-
29356 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
29357 arch/arm/mach-omap2/omap_device.c | 4 +-
29358 arch/arm/mach-omap2/omap_device.h | 4 +-
29359 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
29360 arch/arm/mach-omap2/wd_timer.c | 6 +-
29361 arch/arm/mach-ux500/include/mach/setup.h | 7 -
29362 arch/arm/mm/Kconfig | 3 +-
29363 arch/arm/mm/alignment.c | 8 +
29364 arch/arm/mm/fault.c | 91 +
29365 arch/arm/mm/fault.h | 12 +
29366 arch/arm/mm/init.c | 41 +
29367 arch/arm/mm/ioremap.c | 4 +-
29368 arch/arm/mm/mmap.c | 36 +-
29369 arch/arm/mm/mmu.c | 187 +-
29370 arch/arm/mm/proc-v7-2level.S | 3 +
29371 arch/arm/plat-omap/sram.c | 2 +
29372 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
29373 arch/arm64/kernel/debug-monitors.c | 2 +-
29374 arch/arm64/kernel/hw_breakpoint.c | 2 +-
29375 arch/avr32/include/asm/elf.h | 8 +-
29376 arch/avr32/include/asm/kmap_types.h | 4 +-
29377 arch/avr32/mm/fault.c | 27 +
29378 arch/frv/include/asm/atomic.h | 10 +
29379 arch/frv/include/asm/kmap_types.h | 2 +-
29380 arch/frv/mm/elf-fdpic.c | 3 +-
29381 arch/ia64/include/asm/atomic.h | 10 +
29382 arch/ia64/include/asm/elf.h | 7 +
29383 arch/ia64/include/asm/pgalloc.h | 12 +
29384 arch/ia64/include/asm/pgtable.h | 13 +-
29385 arch/ia64/include/asm/spinlock.h | 2 +-
29386 arch/ia64/include/asm/uaccess.h | 26 +-
29387 arch/ia64/kernel/err_inject.c | 2 +-
29388 arch/ia64/kernel/mca.c | 2 +-
29389 arch/ia64/kernel/module.c | 48 +-
29390 arch/ia64/kernel/palinfo.c | 2 +-
29391 arch/ia64/kernel/salinfo.c | 2 +-
29392 arch/ia64/kernel/sys_ia64.c | 7 +
29393 arch/ia64/kernel/topology.c | 2 +-
29394 arch/ia64/kernel/vmlinux.lds.S | 2 +-
29395 arch/ia64/mm/fault.c | 32 +-
29396 arch/ia64/mm/init.c | 13 +
29397 arch/m32r/lib/usercopy.c | 6 +
29398 arch/mips/include/asm/atomic.h | 14 +
29399 arch/mips/include/asm/elf.h | 11 +-
29400 arch/mips/include/asm/exec.h | 2 +-
29401 arch/mips/include/asm/page.h | 2 +-
29402 arch/mips/include/asm/pgalloc.h | 5 +
29403 arch/mips/kernel/binfmt_elfn32.c | 7 +
29404 arch/mips/kernel/binfmt_elfo32.c | 7 +
29405 arch/mips/kernel/process.c | 12 -
29406 arch/mips/mm/fault.c | 17 +
29407 arch/mips/mm/mmap.c | 51 +-
29408 arch/parisc/include/asm/atomic.h | 10 +
29409 arch/parisc/include/asm/elf.h | 7 +
29410 arch/parisc/include/asm/pgalloc.h | 6 +
29411 arch/parisc/include/asm/pgtable.h | 11 +
29412 arch/parisc/include/asm/uaccess.h | 4 +-
29413 arch/parisc/kernel/module.c | 50 +-
29414 arch/parisc/kernel/sys_parisc.c | 9 +-
29415 arch/parisc/kernel/traps.c | 4 +-
29416 arch/parisc/mm/fault.c | 140 +-
29417 arch/powerpc/include/asm/atomic.h | 10 +
29418 arch/powerpc/include/asm/elf.h | 19 +-
29419 arch/powerpc/include/asm/exec.h | 2 +-
29420 arch/powerpc/include/asm/kmap_types.h | 2 +-
29421 arch/powerpc/include/asm/mman.h | 2 +-
29422 arch/powerpc/include/asm/page.h | 8 +-
29423 arch/powerpc/include/asm/page_64.h | 7 +-
29424 arch/powerpc/include/asm/pgalloc-64.h | 7 +
29425 arch/powerpc/include/asm/pgtable.h | 1 +
29426 arch/powerpc/include/asm/pte-hash32.h | 1 +
29427 arch/powerpc/include/asm/reg.h | 1 +
29428 arch/powerpc/include/asm/smp.h | 2 +-
29429 arch/powerpc/include/asm/uaccess.h | 140 +-
29430 arch/powerpc/kernel/exceptions-64e.S | 4 +-
29431 arch/powerpc/kernel/exceptions-64s.S | 2 +-
29432 arch/powerpc/kernel/module_32.c | 13 +-
29433 arch/powerpc/kernel/process.c | 55 -
29434 arch/powerpc/kernel/signal_32.c | 2 +-
29435 arch/powerpc/kernel/signal_64.c | 2 +-
29436 arch/powerpc/kernel/sysfs.c | 2 +-
29437 arch/powerpc/kernel/vdso.c | 5 +-
29438 arch/powerpc/lib/usercopy_64.c | 18 -
29439 arch/powerpc/mm/fault.c | 54 +-
29440 arch/powerpc/mm/mmap_64.c | 16 +
29441 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
29442 arch/powerpc/mm/numa.c | 2 +-
29443 arch/powerpc/mm/slice.c | 23 +-
29444 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
29445 arch/powerpc/platforms/powermac/smp.c | 2 +-
29446 arch/s390/include/asm/atomic.h | 10 +
29447 arch/s390/include/asm/elf.h | 13 +-
29448 arch/s390/include/asm/exec.h | 2 +-
29449 arch/s390/include/asm/uaccess.h | 15 +-
29450 arch/s390/kernel/module.c | 22 +-
29451 arch/s390/kernel/process.c | 36 -
29452 arch/s390/mm/mmap.c | 24 +
29453 arch/score/include/asm/exec.h | 2 +-
29454 arch/score/kernel/process.c | 5 -
29455 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
29456 arch/sh/mm/mmap.c | 22 +-
29457 arch/sparc/include/asm/atomic_64.h | 106 +-
29458 arch/sparc/include/asm/cache.h | 2 +-
29459 arch/sparc/include/asm/elf_32.h | 7 +
29460 arch/sparc/include/asm/elf_64.h | 7 +
29461 arch/sparc/include/asm/pgalloc_32.h | 1 +
29462 arch/sparc/include/asm/pgalloc_64.h | 1 +
29463 arch/sparc/include/asm/pgtable_32.h | 15 +-
29464 arch/sparc/include/asm/pgtsrmmu.h | 5 +
29465 arch/sparc/include/asm/spinlock_64.h | 35 +-
29466 arch/sparc/include/asm/thread_info_32.h | 2 +
29467 arch/sparc/include/asm/thread_info_64.h | 2 +
29468 arch/sparc/include/asm/uaccess.h | 1 +
29469 arch/sparc/include/asm/uaccess_32.h | 27 +-
29470 arch/sparc/include/asm/uaccess_64.h | 19 +-
29471 arch/sparc/kernel/Makefile | 2 +-
29472 arch/sparc/kernel/prom_common.c | 2 +-
29473 arch/sparc/kernel/sys_sparc_32.c | 2 +-
29474 arch/sparc/kernel/sys_sparc_64.c | 48 +-
29475 arch/sparc/kernel/sysfs.c | 2 +-
29476 arch/sparc/kernel/traps_64.c | 13 +-
29477 arch/sparc/kernel/us3_cpufreq.c | 69 +-
29478 arch/sparc/lib/Makefile | 2 +-
29479 arch/sparc/lib/atomic_64.S | 136 +-
29480 arch/sparc/lib/ksyms.c | 6 +
29481 arch/sparc/mm/Makefile | 2 +-
29482 arch/sparc/mm/fault_32.c | 292 ++
29483 arch/sparc/mm/fault_64.c | 486 ++
29484 arch/sparc/mm/hugetlbpage.c | 21 +-
29485 arch/tile/include/asm/atomic_64.h | 10 +
29486 arch/tile/include/asm/uaccess.h | 4 +-
29487 arch/um/Makefile | 4 +
29488 arch/um/include/asm/kmap_types.h | 2 +-
29489 arch/um/include/asm/page.h | 3 +
29490 arch/um/include/asm/pgtable-3level.h | 1 +
29491 arch/um/kernel/process.c | 16 -
29492 arch/x86/Kconfig | 10 +-
29493 arch/x86/Kconfig.cpu | 6 +-
29494 arch/x86/Kconfig.debug | 6 +-
29495 arch/x86/Makefile | 10 +
29496 arch/x86/boot/Makefile | 3 +
29497 arch/x86/boot/bitops.h | 4 +-
29498 arch/x86/boot/boot.h | 4 +-
29499 arch/x86/boot/compressed/Makefile | 3 +
29500 arch/x86/boot/compressed/eboot.c | 2 -
29501 arch/x86/boot/compressed/head_32.S | 7 +-
29502 arch/x86/boot/compressed/head_64.S | 8 +-
29503 arch/x86/boot/compressed/misc.c | 4 +-
29504 arch/x86/boot/cpucheck.c | 28 +-
29505 arch/x86/boot/header.S | 6 +-
29506 arch/x86/boot/memory.c | 2 +-
29507 arch/x86/boot/video-vesa.c | 1 +
29508 arch/x86/boot/video.c | 2 +-
29509 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
29510 arch/x86/crypto/aesni-intel_asm.S | 21 +
29511 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
29512 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
29513 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
29514 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 7 +
29515 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
29516 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 7 +
29517 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
29518 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
29519 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 7 +
29520 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
29521 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
29522 arch/x86/ia32/ia32_signal.c | 14 +-
29523 arch/x86/ia32/ia32entry.S | 141 +-
29524 arch/x86/ia32/sys_ia32.c | 6 +-
29525 arch/x86/include/asm/alternative-asm.h | 39 +
29526 arch/x86/include/asm/alternative.h | 4 +-
29527 arch/x86/include/asm/apic.h | 2 +-
29528 arch/x86/include/asm/apm.h | 4 +-
29529 arch/x86/include/asm/atomic.h | 307 ++-
29530 arch/x86/include/asm/atomic64_32.h | 100 +
29531 arch/x86/include/asm/atomic64_64.h | 202 +-
29532 arch/x86/include/asm/bitops.h | 4 +-
29533 arch/x86/include/asm/boot.h | 7 +-
29534 arch/x86/include/asm/cache.h | 5 +-
29535 arch/x86/include/asm/cacheflush.h | 2 +-
29536 arch/x86/include/asm/checksum_32.h | 12 +-
29537 arch/x86/include/asm/cmpxchg.h | 35 +
29538 arch/x86/include/asm/compat.h | 2 +-
29539 arch/x86/include/asm/cpufeature.h | 4 +-
29540 arch/x86/include/asm/desc.h | 67 +-
29541 arch/x86/include/asm/desc_defs.h | 6 +
29542 arch/x86/include/asm/div64.h | 2 +-
29543 arch/x86/include/asm/elf.h | 31 +-
29544 arch/x86/include/asm/emergency-restart.h | 2 +-
29545 arch/x86/include/asm/fpu-internal.h | 6 +-
29546 arch/x86/include/asm/futex.h | 16 +-
29547 arch/x86/include/asm/hw_irq.h | 4 +-
29548 arch/x86/include/asm/i8259.h | 2 +-
29549 arch/x86/include/asm/io.h | 21 +-
29550 arch/x86/include/asm/irqflags.h | 5 +
29551 arch/x86/include/asm/kprobes.h | 9 +-
29552 arch/x86/include/asm/local.h | 142 +-
29553 arch/x86/include/asm/mman.h | 15 +
29554 arch/x86/include/asm/mmu.h | 16 +-
29555 arch/x86/include/asm/mmu_context.h | 76 +-
29556 arch/x86/include/asm/module.h | 17 +-
29557 arch/x86/include/asm/nmi.h | 6 +-
29558 arch/x86/include/asm/page_64.h | 2 +-
29559 arch/x86/include/asm/paravirt.h | 46 +-
29560 arch/x86/include/asm/paravirt_types.h | 17 +-
29561 arch/x86/include/asm/pgalloc.h | 23 +
29562 arch/x86/include/asm/pgtable-2level.h | 2 +
29563 arch/x86/include/asm/pgtable-3level.h | 4 +
29564 arch/x86/include/asm/pgtable.h | 113 +-
29565 arch/x86/include/asm/pgtable_32.h | 14 +-
29566 arch/x86/include/asm/pgtable_32_types.h | 15 +-
29567 arch/x86/include/asm/pgtable_64.h | 19 +-
29568 arch/x86/include/asm/pgtable_64_types.h | 5 +
29569 arch/x86/include/asm/pgtable_types.h | 36 +-
29570 arch/x86/include/asm/processor.h | 39 +-
29571 arch/x86/include/asm/ptrace.h | 26 +-
29572 arch/x86/include/asm/realmode.h | 4 +-
29573 arch/x86/include/asm/reboot.h | 10 +-
29574 arch/x86/include/asm/rwsem.h | 60 +-
29575 arch/x86/include/asm/segment.h | 24 +-
29576 arch/x86/include/asm/smp.h | 14 +-
29577 arch/x86/include/asm/spinlock.h | 36 +-
29578 arch/x86/include/asm/stackprotector.h | 4 +-
29579 arch/x86/include/asm/stacktrace.h | 32 +-
29580 arch/x86/include/asm/switch_to.h | 4 +-
29581 arch/x86/include/asm/thread_info.h | 83 +-
29582 arch/x86/include/asm/uaccess.h | 96 +-
29583 arch/x86/include/asm/uaccess_32.h | 106 +-
29584 arch/x86/include/asm/uaccess_64.h | 232 +-
29585 arch/x86/include/asm/word-at-a-time.h | 2 +-
29586 arch/x86/include/asm/x86_init.h | 10 +-
29587 arch/x86/include/asm/xsave.h | 10 +-
29588 arch/x86/include/uapi/asm/e820.h | 2 +-
29589 arch/x86/kernel/Makefile | 2 +-
29590 arch/x86/kernel/acpi/boot.c | 4 +-
29591 arch/x86/kernel/acpi/sleep.c | 4 +
29592 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
29593 arch/x86/kernel/alternative.c | 65 +-
29594 arch/x86/kernel/apic/apic.c | 4 +-
29595 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
29596 arch/x86/kernel/apic/apic_noop.c | 2 +-
29597 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
29598 arch/x86/kernel/apic/es7000_32.c | 5 +-
29599 arch/x86/kernel/apic/io_apic.c | 8 +-
29600 arch/x86/kernel/apic/numaq_32.c | 3 +-
29601 arch/x86/kernel/apic/probe_32.c | 2 +-
29602 arch/x86/kernel/apic/summit_32.c | 2 +-
29603 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
29604 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
29605 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
29606 arch/x86/kernel/apm_32.c | 19 +-
29607 arch/x86/kernel/asm-offsets.c | 20 +
29608 arch/x86/kernel/asm-offsets_64.c | 1 +
29609 arch/x86/kernel/cpu/Makefile | 4 -
29610 arch/x86/kernel/cpu/amd.c | 2 +-
29611 arch/x86/kernel/cpu/common.c | 75 +-
29612 arch/x86/kernel/cpu/intel.c | 2 +-
29613 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
29614 arch/x86/kernel/cpu/mcheck/mce.c | 31 +-
29615 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
29616 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
29617 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
29618 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
29619 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
29620 arch/x86/kernel/cpu/perf_event.c | 8 +-
29621 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
29622 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 4 +-
29623 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
29624 arch/x86/kernel/cpuid.c | 2 +-
29625 arch/x86/kernel/crash.c | 4 +-
29626 arch/x86/kernel/doublefault_32.c | 8 +-
29627 arch/x86/kernel/dumpstack.c | 30 +-
29628 arch/x86/kernel/dumpstack_32.c | 34 +-
29629 arch/x86/kernel/dumpstack_64.c | 63 +-
29630 arch/x86/kernel/early_printk.c | 1 +
29631 arch/x86/kernel/entry_32.S | 354 ++-
29632 arch/x86/kernel/entry_64.S | 530 ++-
29633 arch/x86/kernel/ftrace.c | 14 +-
29634 arch/x86/kernel/head64.c | 1 -
29635 arch/x86/kernel/head_32.S | 237 +-
29636 arch/x86/kernel/head_64.S | 120 +-
29637 arch/x86/kernel/i386_ksyms_32.c | 8 +
29638 arch/x86/kernel/i387.c | 2 +-
29639 arch/x86/kernel/i8259.c | 10 +-
29640 arch/x86/kernel/io_delay.c | 2 +-
29641 arch/x86/kernel/ioport.c | 2 +-
29642 arch/x86/kernel/irq.c | 8 +-
29643 arch/x86/kernel/irq_32.c | 69 +-
29644 arch/x86/kernel/irq_64.c | 2 +-
29645 arch/x86/kernel/kdebugfs.c | 2 +-
29646 arch/x86/kernel/kgdb.c | 25 +-
29647 arch/x86/kernel/kprobes/core.c | 30 +-
29648 arch/x86/kernel/kprobes/opt.c | 16 +-
29649 arch/x86/kernel/kvm.c | 2 +-
29650 arch/x86/kernel/ldt.c | 31 +-
29651 arch/x86/kernel/machine_kexec_32.c | 6 +-
29652 arch/x86/kernel/microcode_core.c | 2 +-
29653 arch/x86/kernel/microcode_intel.c | 4 +-
29654 arch/x86/kernel/module.c | 76 +-
29655 arch/x86/kernel/msr.c | 2 +-
29656 arch/x86/kernel/nmi.c | 19 +-
29657 arch/x86/kernel/nmi_selftest.c | 4 +-
29658 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
29659 arch/x86/kernel/paravirt.c | 43 +-
29660 arch/x86/kernel/pci-calgary_64.c | 2 +-
29661 arch/x86/kernel/pci-iommu_table.c | 2 +-
29662 arch/x86/kernel/pci-swiotlb.c | 2 +-
29663 arch/x86/kernel/process.c | 57 +-
29664 arch/x86/kernel/process_32.c | 29 +-
29665 arch/x86/kernel/process_64.c | 15 +-
29666 arch/x86/kernel/ptrace.c | 25 +-
29667 arch/x86/kernel/pvclock.c | 8 +-
29668 arch/x86/kernel/reboot.c | 44 +-
29669 arch/x86/kernel/relocate_kernel_64.S | 4 +-
29670 arch/x86/kernel/setup.c | 19 +-
29671 arch/x86/kernel/setup_percpu.c | 29 +-
29672 arch/x86/kernel/signal.c | 15 +-
29673 arch/x86/kernel/smp.c | 2 +-
29674 arch/x86/kernel/smpboot.c | 15 +-
29675 arch/x86/kernel/step.c | 10 +-
29676 arch/x86/kernel/sys_i386_32.c | 248 +
29677 arch/x86/kernel/sys_x86_64.c | 19 +-
29678 arch/x86/kernel/tboot.c | 14 +-
29679 arch/x86/kernel/time.c | 10 +-
29680 arch/x86/kernel/tls.c | 7 +-
29681 arch/x86/kernel/traps.c | 64 +-
29682 arch/x86/kernel/uprobes.c | 2 +-
29683 arch/x86/kernel/vm86_32.c | 6 +-
29684 arch/x86/kernel/vmlinux.lds.S | 148 +-
29685 arch/x86/kernel/vsyscall_64.c | 12 +-
29686 arch/x86/kernel/x8664_ksyms_64.c | 2 -
29687 arch/x86/kernel/x86_init.c | 8 +-
29688 arch/x86/kernel/xsave.c | 2 +
29689 arch/x86/kvm/cpuid.c | 21 +-
29690 arch/x86/kvm/emulate.c | 4 +-
29691 arch/x86/kvm/lapic.c | 2 +-
29692 arch/x86/kvm/paging_tmpl.h | 2 +-
29693 arch/x86/kvm/svm.c | 8 +
29694 arch/x86/kvm/vmx.c | 57 +-
29695 arch/x86/kvm/x86.c | 10 +-
29696 arch/x86/lguest/boot.c | 3 +-
29697 arch/x86/lib/atomic64_386_32.S | 164 +
29698 arch/x86/lib/atomic64_cx8_32.S | 103 +-
29699 arch/x86/lib/checksum_32.S | 100 +-
29700 arch/x86/lib/clear_page_64.S | 5 +-
29701 arch/x86/lib/cmpxchg16b_emu.S | 2 +
29702 arch/x86/lib/copy_page_64.S | 24 +-
29703 arch/x86/lib/copy_user_64.S | 47 +-
29704 arch/x86/lib/copy_user_nocache_64.S | 20 +-
29705 arch/x86/lib/csum-copy_64.S | 2 +
29706 arch/x86/lib/csum-wrappers_64.c | 4 +-
29707 arch/x86/lib/getuser.S | 70 +-
29708 arch/x86/lib/insn.c | 6 +-
29709 arch/x86/lib/iomap_copy_64.S | 2 +
29710 arch/x86/lib/memcpy_64.S | 18 +-
29711 arch/x86/lib/memmove_64.S | 34 +-
29712 arch/x86/lib/memset_64.S | 7 +-
29713 arch/x86/lib/mmx_32.c | 243 +-
29714 arch/x86/lib/msr-reg.S | 18 +-
29715 arch/x86/lib/putuser.S | 90 +-
29716 arch/x86/lib/rwlock.S | 42 +
29717 arch/x86/lib/rwsem.S | 6 +-
29718 arch/x86/lib/thunk_64.S | 2 +
29719 arch/x86/lib/usercopy_32.c | 376 +-
29720 arch/x86/lib/usercopy_64.c | 25 +-
29721 arch/x86/mm/extable.c | 25 +-
29722 arch/x86/mm/fault.c | 556 ++-
29723 arch/x86/mm/gup.c | 2 +-
29724 arch/x86/mm/highmem_32.c | 4 +
29725 arch/x86/mm/hugetlbpage.c | 30 +-
29726 arch/x86/mm/init.c | 90 +-
29727 arch/x86/mm/init_32.c | 119 +-
29728 arch/x86/mm/init_64.c | 44 +-
29729 arch/x86/mm/iomap_32.c | 4 +
29730 arch/x86/mm/ioremap.c | 15 +-
29731 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
29732 arch/x86/mm/mmap.c | 41 +-
29733 arch/x86/mm/mmio-mod.c | 10 +-
29734 arch/x86/mm/numa.c | 2 +-
29735 arch/x86/mm/pageattr-test.c | 2 +-
29736 arch/x86/mm/pageattr.c | 33 +-
29737 arch/x86/mm/pat.c | 12 +-
29738 arch/x86/mm/pf_in.c | 10 +-
29739 arch/x86/mm/pgtable.c | 137 +-
29740 arch/x86/mm/pgtable_32.c | 3 +
29741 arch/x86/mm/physaddr.c | 4 +-
29742 arch/x86/mm/setup_nx.c | 7 +
29743 arch/x86/mm/tlb.c | 4 +
29744 arch/x86/net/bpf_jit.S | 14 +
29745 arch/x86/net/bpf_jit_comp.c | 37 +-
29746 arch/x86/oprofile/backtrace.c | 8 +-
29747 arch/x86/oprofile/nmi_int.c | 8 +-
29748 arch/x86/oprofile/op_model_amd.c | 8 +-
29749 arch/x86/oprofile/op_model_ppro.c | 7 +-
29750 arch/x86/oprofile/op_x86_model.h | 2 +-
29751 arch/x86/pci/amd_bus.c | 2 +-
29752 arch/x86/pci/irq.c | 8 +-
29753 arch/x86/pci/mrst.c | 4 +-
29754 arch/x86/pci/pcbios.c | 144 +-
29755 arch/x86/platform/efi/efi_32.c | 19 +
29756 arch/x86/platform/efi/efi_stub_32.S | 64 +-
29757 arch/x86/platform/efi/efi_stub_64.S | 8 +
29758 arch/x86/platform/mrst/mrst.c | 6 +-
29759 arch/x86/platform/olpc/olpc_dt.c | 2 +-
29760 arch/x86/power/cpu.c | 4 +-
29761 arch/x86/realmode/init.c | 8 +-
29762 arch/x86/realmode/rm/Makefile | 3 +
29763 arch/x86/realmode/rm/header.S | 4 +-
29764 arch/x86/realmode/rm/trampoline_32.S | 12 +-
29765 arch/x86/realmode/rm/trampoline_64.S | 2 +-
29766 arch/x86/tools/relocs.c | 95 +-
29767 arch/x86/vdso/Makefile | 2 +-
29768 arch/x86/vdso/vdso32-setup.c | 23 +-
29769 arch/x86/vdso/vma.c | 29 +-
29770 arch/x86/xen/enlighten.c | 47 +-
29771 arch/x86/xen/mmu.c | 9 +
29772 arch/x86/xen/smp.c | 18 +-
29773 arch/x86/xen/xen-asm_32.S | 12 +-
29774 arch/x86/xen/xen-head.S | 11 +
29775 arch/x86/xen/xen-ops.h | 2 -
29776 block/blk-iopoll.c | 4 +-
29777 block/blk-map.c | 2 +-
29778 block/blk-softirq.c | 4 +-
29779 block/bsg.c | 12 +-
29780 block/compat_ioctl.c | 2 +-
29781 block/partitions/efi.c | 8 +-
29782 block/scsi_ioctl.c | 27 +-
29783 crypto/cryptd.c | 4 +-
29784 drivers/acpi/apei/apei-internal.h | 2 +-
29785 drivers/acpi/apei/cper.c | 8 +-
29786 drivers/acpi/bgrt.c | 6 +-
29787 drivers/acpi/blacklist.c | 4 +-
29788 drivers/acpi/ec_sys.c | 12 +-
29789 drivers/acpi/processor_idle.c | 2 +-
29790 drivers/acpi/sysfs.c | 4 +-
29791 drivers/ata/libahci.c | 2 +-
29792 drivers/ata/libata-core.c | 8 +-
29793 drivers/ata/pata_arasan_cf.c | 4 +-
29794 drivers/atm/adummy.c | 2 +-
29795 drivers/atm/ambassador.c | 8 +-
29796 drivers/atm/atmtcp.c | 14 +-
29797 drivers/atm/eni.c | 10 +-
29798 drivers/atm/firestream.c | 8 +-
29799 drivers/atm/fore200e.c | 14 +-
29800 drivers/atm/he.c | 18 +-
29801 drivers/atm/horizon.c | 4 +-
29802 drivers/atm/idt77252.c | 36 +-
29803 drivers/atm/iphase.c | 34 +-
29804 drivers/atm/lanai.c | 12 +-
29805 drivers/atm/nicstar.c | 46 +-
29806 drivers/atm/solos-pci.c | 4 +-
29807 drivers/atm/suni.c | 4 +-
29808 drivers/atm/uPD98402.c | 16 +-
29809 drivers/atm/zatm.c | 6 +-
29810 drivers/base/bus.c | 4 +-
29811 drivers/base/devtmpfs.c | 2 +-
29812 drivers/base/node.c | 2 +-
29813 drivers/base/power/domain.c | 4 +-
29814 drivers/base/power/wakeup.c | 8 +-
29815 drivers/base/syscore.c | 4 +-
29816 drivers/block/cciss.c | 28 +-
29817 drivers/block/cciss.h | 2 +-
29818 drivers/block/cpqarray.c | 28 +-
29819 drivers/block/cpqarray.h | 2 +-
29820 drivers/block/drbd/drbd_int.h | 6 +-
29821 drivers/block/drbd/drbd_main.c | 8 +-
29822 drivers/block/drbd/drbd_receiver.c | 22 +-
29823 drivers/block/loop.c | 2 +-
29824 drivers/block/pktcdvd.c | 2 +-
29825 drivers/cdrom/cdrom.c | 9 +-
29826 drivers/cdrom/gdrom.c | 1 -
29827 drivers/char/agp/frontend.c | 2 +-
29828 drivers/char/hpet.c | 2 +-
29829 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
29830 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
29831 drivers/char/mem.c | 41 +-
29832 drivers/char/nvram.c | 2 +-
29833 drivers/char/pcmcia/synclink_cs.c | 18 +-
29834 drivers/char/random.c | 10 +-
29835 drivers/char/sonypi.c | 9 +-
29836 drivers/char/tpm/tpm_acpi.c | 3 +-
29837 drivers/char/tpm/tpm_eventlog.c | 7 +-
29838 drivers/char/virtio_console.c | 4 +-
29839 drivers/clocksource/arm_arch_timer.c | 2 +-
29840 drivers/clocksource/metag_generic.c | 2 +-
29841 drivers/cpufreq/acpi-cpufreq.c | 20 +-
29842 drivers/cpufreq/cpufreq.c | 9 +-
29843 drivers/cpufreq/cpufreq_governor.c | 4 +-
29844 drivers/cpufreq/cpufreq_governor.h | 2 +-
29845 drivers/cpufreq/cpufreq_stats.c | 2 +-
29846 drivers/cpufreq/p4-clockmod.c | 12 +-
29847 drivers/cpufreq/speedstep-centrino.c | 7 +-
29848 drivers/cpuidle/cpuidle.c | 2 +-
29849 drivers/cpuidle/governor.c | 4 +-
29850 drivers/cpuidle/sysfs.c | 2 +-
29851 drivers/devfreq/devfreq.c | 4 +-
29852 drivers/dma/sh/shdma.c | 2 +-
29853 drivers/edac/edac_mc_sysfs.c | 12 +-
29854 drivers/edac/edac_pci_sysfs.c | 22 +-
29855 drivers/edac/mce_amd.h | 2 +-
29856 drivers/firewire/core-card.c | 2 +-
29857 drivers/firewire/core-cdev.c | 3 +-
29858 drivers/firewire/core-device.c | 2 +-
29859 drivers/firewire/core-transaction.c | 1 +
29860 drivers/firewire/core.h | 1 +
29861 drivers/firmware/dmi-id.c | 2 +-
29862 drivers/firmware/dmi_scan.c | 7 +-
29863 drivers/firmware/efivars.c | 4 +-
29864 drivers/firmware/google/memconsole.c | 4 +-
29865 drivers/gpio/gpio-ich.c | 2 +-
29866 drivers/gpio/gpio-vr41xx.c | 2 +-
29867 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
29868 drivers/gpu/drm/drm_drv.c | 6 +-
29869 drivers/gpu/drm/drm_fops.c | 18 +-
29870 drivers/gpu/drm/drm_global.c | 14 +-
29871 drivers/gpu/drm/drm_info.c | 14 +-
29872 drivers/gpu/drm/drm_ioc32.c | 13 +-
29873 drivers/gpu/drm/drm_ioctl.c | 2 +-
29874 drivers/gpu/drm/drm_lock.c | 4 +-
29875 drivers/gpu/drm/drm_stub.c | 2 +-
29876 drivers/gpu/drm/i810/i810_dma.c | 8 +-
29877 drivers/gpu/drm/i810/i810_drv.h | 4 +-
29878 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
29879 drivers/gpu/drm/i915/i915_dma.c | 2 +-
29880 drivers/gpu/drm/i915/i915_drv.h | 4 +-
29881 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +-
29882 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
29883 drivers/gpu/drm/i915/i915_irq.c | 22 +-
29884 drivers/gpu/drm/i915/intel_display.c | 26 +-
29885 drivers/gpu/drm/mga/mga_drv.h | 4 +-
29886 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
29887 drivers/gpu/drm/mga/mga_irq.c | 8 +-
29888 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
29889 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
29890 drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
29891 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
29892 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
29893 drivers/gpu/drm/r128/r128_cce.c | 2 +-
29894 drivers/gpu/drm/r128/r128_drv.h | 4 +-
29895 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
29896 drivers/gpu/drm/r128/r128_irq.c | 4 +-
29897 drivers/gpu/drm/r128/r128_state.c | 4 +-
29898 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
29899 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
29900 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
29901 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
29902 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
29903 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
29904 drivers/gpu/drm/radeon/radeon_ttm.c | 37 +-
29905 drivers/gpu/drm/radeon/rs690.c | 4 +-
29906 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
29907 drivers/gpu/drm/udl/udl_fb.c | 1 -
29908 drivers/gpu/drm/via/via_drv.h | 4 +-
29909 drivers/gpu/drm/via/via_irq.c | 18 +-
29910 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
29911 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
29912 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
29913 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
29914 drivers/hid/hid-core.c | 4 +-
29915 drivers/hv/channel.c | 4 +-
29916 drivers/hv/hv.c | 2 +-
29917 drivers/hv/hyperv_vmbus.h | 2 +-
29918 drivers/hv/vmbus_drv.c | 4 +-
29919 drivers/hwmon/acpi_power_meter.c | 4 +-
29920 drivers/hwmon/applesmc.c | 2 +-
29921 drivers/hwmon/asus_atk0110.c | 10 +-
29922 drivers/hwmon/coretemp.c | 2 +-
29923 drivers/hwmon/ibmaem.c | 2 +-
29924 drivers/hwmon/sht15.c | 12 +-
29925 drivers/hwmon/via-cputemp.c | 2 +-
29926 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
29927 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
29928 drivers/ide/ide-cd.c | 2 +-
29929 drivers/iio/industrialio-core.c | 2 +-
29930 drivers/infiniband/core/cm.c | 32 +-
29931 drivers/infiniband/core/fmr_pool.c | 20 +-
29932 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
29933 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
29934 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
29935 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
29936 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
29937 drivers/infiniband/hw/nes/nes.c | 4 +-
29938 drivers/infiniband/hw/nes/nes.h | 40 +-
29939 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
29940 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
29941 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
29942 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
29943 drivers/infiniband/hw/qib/qib.h | 1 +
29944 drivers/input/gameport/gameport.c | 4 +-
29945 drivers/input/input.c | 4 +-
29946 drivers/input/joystick/sidewinder.c | 1 +
29947 drivers/input/joystick/xpad.c | 4 +-
29948 drivers/input/mouse/psmouse.h | 2 +-
29949 drivers/input/mousedev.c | 2 +-
29950 drivers/input/serio/serio.c | 4 +-
29951 drivers/iommu/iommu.c | 2 +-
29952 drivers/iommu/irq_remapping.c | 10 +-
29953 drivers/irqchip/irq-gic.c | 4 +-
29954 drivers/isdn/capi/capi.c | 10 +-
29955 drivers/isdn/gigaset/interface.c | 8 +-
29956 drivers/isdn/hardware/avm/b1.c | 4 +-
29957 drivers/isdn/i4l/isdn_tty.c | 22 +-
29958 drivers/isdn/icn/icn.c | 2 +-
29959 drivers/leds/leds-clevo-mail.c | 2 +-
29960 drivers/leds/leds-ss4200.c | 2 +-
29961 drivers/lguest/core.c | 10 +-
29962 drivers/lguest/page_tables.c | 2 +-
29963 drivers/lguest/x86/core.c | 12 +-
29964 drivers/lguest/x86/switcher_32.S | 27 +-
29965 drivers/md/bitmap.c | 2 +-
29966 drivers/md/dm-ioctl.c | 2 +-
29967 drivers/md/dm-raid1.c | 16 +-
29968 drivers/md/dm-stripe.c | 10 +-
29969 drivers/md/dm-table.c | 2 +-
29970 drivers/md/dm-thin-metadata.c | 4 +-
29971 drivers/md/dm.c | 16 +-
29972 drivers/md/md.c | 26 +-
29973 drivers/md/md.h | 6 +-
29974 drivers/md/persistent-data/dm-space-map.h | 1 +
29975 drivers/md/raid1.c | 4 +-
29976 drivers/md/raid10.c | 16 +-
29977 drivers/md/raid5.c | 10 +-
29978 drivers/media/dvb-core/dvbdev.c | 2 +-
29979 drivers/media/dvb-frontends/dib3000.h | 2 +-
29980 drivers/media/pci/cx88/cx88-video.c | 6 +-
29981 drivers/media/platform/omap/omap_vout.c | 11 +-
29982 drivers/media/platform/s5p-tv/mixer.h | 2 +-
29983 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
29984 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
29985 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
29986 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
29987 drivers/media/radio/radio-cadet.c | 2 +
29988 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
29989 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
29990 drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
29991 drivers/message/fusion/mptsas.c | 34 +-
29992 drivers/message/fusion/mptscsih.c | 19 +-
29993 drivers/message/i2o/i2o_proc.c | 51 +-
29994 drivers/message/i2o/iop.c | 8 +-
29995 drivers/mfd/janz-cmodio.c | 1 +
29996 drivers/mfd/twl4030-irq.c | 9 +-
29997 drivers/mfd/twl6030-irq.c | 10 +-
29998 drivers/misc/c2port/core.c | 4 +-
29999 drivers/misc/kgdbts.c | 4 +-
30000 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
30001 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
30002 drivers/misc/sgi-gru/gruhandles.c | 4 +-
30003 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
30004 drivers/misc/sgi-gru/grutables.h | 154 +-
30005 drivers/misc/sgi-xp/xp.h | 2 +-
30006 drivers/misc/sgi-xp/xpc.h | 3 +-
30007 drivers/misc/sgi-xp/xpc_main.c | 4 +-
30008 drivers/mmc/core/mmc_ops.c | 2 +-
30009 drivers/mmc/host/dw_mmc.h | 2 +-
30010 drivers/mmc/host/sdhci-s3c.c | 8 +-
30011 drivers/mtd/devices/doc2000.c | 2 +-
30012 drivers/mtd/nand/denali.c | 1 +
30013 drivers/mtd/nftlmount.c | 1 +
30014 drivers/mtd/sm_ftl.c | 2 +-
30015 drivers/net/bonding/bond_main.c | 2 +-
30016 drivers/net/ethernet/8390/ax88796.c | 4 +-
30017 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
30018 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
30019 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
30020 drivers/net/ethernet/broadcom/tg3.h | 1 +
30021 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
30022 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
30023 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
30024 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
30025 drivers/net/ethernet/faraday/ftmac100.c | 2 +
30026 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
30027 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
30028 drivers/net/ethernet/realtek/r8169.c | 8 +-
30029 drivers/net/ethernet/sfc/ptp.c | 2 +-
30030 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
30031 drivers/net/hyperv/hyperv_net.h | 2 +-
30032 drivers/net/hyperv/rndis_filter.c | 4 +-
30033 drivers/net/ieee802154/fakehard.c | 2 +-
30034 drivers/net/macvlan.c | 18 +-
30035 drivers/net/macvtap.c | 2 +-
30036 drivers/net/ppp/ppp_generic.c | 4 +-
30037 drivers/net/slip/slhc.c | 2 +-
30038 drivers/net/team/team.c | 2 +-
30039 drivers/net/tun.c | 5 +-
30040 drivers/net/usb/hso.c | 23 +-
30041 drivers/net/vxlan.c | 2 +-
30042 drivers/net/wireless/at76c50x-usb.c | 2 +-
30043 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
30044 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
30045 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
30046 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
30047 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
30048 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
30049 drivers/net/wireless/mac80211_hwsim.c | 32 +-
30050 drivers/net/wireless/rndis_wlan.c | 2 +-
30051 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
30052 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
30053 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
30054 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
30055 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
30056 drivers/oprofile/buffer_sync.c | 8 +-
30057 drivers/oprofile/event_buffer.c | 2 +-
30058 drivers/oprofile/oprof.c | 2 +-
30059 drivers/oprofile/oprofile_files.c | 2 +-
30060 drivers/oprofile/oprofile_stats.c | 10 +-
30061 drivers/oprofile/oprofile_stats.h | 10 +-
30062 drivers/oprofile/oprofilefs.c | 2 +-
30063 drivers/oprofile/timer_int.c | 2 +-
30064 drivers/parport/procfs.c | 4 +-
30065 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
30066 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
30067 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
30068 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
30069 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
30070 drivers/pci/hotplug/pciehp_core.c | 2 +-
30071 drivers/pci/pci-sysfs.c | 6 +-
30072 drivers/pci/pci.h | 2 +-
30073 drivers/pci/pcie/aspm.c | 6 +-
30074 drivers/pci/probe.c | 2 +-
30075 drivers/platform/x86/msi-laptop.c | 14 +-
30076 drivers/platform/x86/sony-laptop.c | 2 +-
30077 drivers/platform/x86/thinkpad_acpi.c | 70 +-
30078 drivers/pnp/pnpbios/bioscalls.c | 14 +-
30079 drivers/pnp/resource.c | 4 +-
30080 drivers/power/pda_power.c | 7 +-
30081 drivers/power/power_supply.h | 4 +-
30082 drivers/power/power_supply_core.c | 7 +-
30083 drivers/power/power_supply_sysfs.c | 6 +-
30084 drivers/regulator/max8660.c | 6 +-
30085 drivers/regulator/max8973-regulator.c | 8 +-
30086 drivers/regulator/mc13892-regulator.c | 6 +-
30087 drivers/rtc/rtc-cmos.c | 4 +-
30088 drivers/rtc/rtc-ds1307.c | 2 +-
30089 drivers/rtc/rtc-m48t59.c | 4 +-
30090 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
30091 drivers/scsi/bfa/bfa_ioc.h | 4 +-
30092 drivers/scsi/hosts.c | 4 +-
30093 drivers/scsi/hpsa.c | 30 +-
30094 drivers/scsi/hpsa.h | 2 +-
30095 drivers/scsi/libfc/fc_exch.c | 50 +-
30096 drivers/scsi/libsas/sas_ata.c | 2 +-
30097 drivers/scsi/lpfc/lpfc.h | 8 +-
30098 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
30099 drivers/scsi/lpfc/lpfc_init.c | 6 +-
30100 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
30101 drivers/scsi/pmcraid.c | 20 +-
30102 drivers/scsi/pmcraid.h | 8 +-
30103 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
30104 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
30105 drivers/scsi/qla2xxx/qla_os.c | 6 +-
30106 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
30107 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
30108 drivers/scsi/scsi.c | 2 +-
30109 drivers/scsi/scsi_lib.c | 6 +-
30110 drivers/scsi/scsi_sysfs.c | 2 +-
30111 drivers/scsi/scsi_tgt_lib.c | 2 +-
30112 drivers/scsi/scsi_transport_fc.c | 8 +-
30113 drivers/scsi/scsi_transport_iscsi.c | 6 +-
30114 drivers/scsi/scsi_transport_srp.c | 6 +-
30115 drivers/scsi/sd.c | 2 +-
30116 drivers/scsi/sg.c | 2 +-
30117 drivers/spi/spi.c | 2 +-
30118 drivers/staging/iio/iio_hwmon.c | 2 +-
30119 drivers/staging/octeon/ethernet-rx.c | 12 +-
30120 drivers/staging/octeon/ethernet.c | 8 +-
30121 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
30122 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
30123 drivers/staging/usbip/vhci.h | 2 +-
30124 drivers/staging/usbip/vhci_hcd.c | 6 +-
30125 drivers/staging/usbip/vhci_rx.c | 2 +-
30126 drivers/staging/vt6655/hostap.c | 7 +-
30127 drivers/staging/vt6656/hostap.c | 7 +-
30128 drivers/staging/zcache/tmem.c | 4 +-
30129 drivers/staging/zcache/tmem.h | 2 +
30130 drivers/target/target_core_device.c | 2 +-
30131 drivers/target/target_core_transport.c | 2 +-
30132 drivers/tty/cyclades.c | 6 +-
30133 drivers/tty/hvc/hvc_console.c | 14 +-
30134 drivers/tty/hvc/hvcs.c | 21 +-
30135 drivers/tty/ipwireless/tty.c | 27 +-
30136 drivers/tty/moxa.c | 2 +-
30137 drivers/tty/n_gsm.c | 4 +-
30138 drivers/tty/n_tty.c | 3 +-
30139 drivers/tty/pty.c | 4 +-
30140 drivers/tty/rocket.c | 6 +-
30141 drivers/tty/serial/kgdboc.c | 32 +-
30142 drivers/tty/serial/samsung.c | 9 +-
30143 drivers/tty/serial/serial_core.c | 8 +-
30144 drivers/tty/synclink.c | 34 +-
30145 drivers/tty/synclink_gt.c | 28 +-
30146 drivers/tty/synclinkmp.c | 34 +-
30147 drivers/tty/tty_io.c | 2 +-
30148 drivers/tty/tty_ldisc.c | 10 +-
30149 drivers/tty/tty_port.c | 22 +-
30150 drivers/uio/uio.c | 21 +-
30151 drivers/usb/atm/cxacru.c | 2 +-
30152 drivers/usb/atm/usbatm.c | 24 +-
30153 drivers/usb/core/devices.c | 6 +-
30154 drivers/usb/core/hcd.c | 4 +-
30155 drivers/usb/core/message.c | 2 +-
30156 drivers/usb/core/sysfs.c | 2 +-
30157 drivers/usb/core/usb.c | 2 +-
30158 drivers/usb/early/ehci-dbgp.c | 16 +-
30159 drivers/usb/gadget/u_serial.c | 22 +-
30160 drivers/usb/serial/console.c | 6 +-
30161 drivers/usb/storage/usb.h | 2 +-
30162 drivers/usb/wusbcore/wa-hc.h | 4 +-
30163 drivers/usb/wusbcore/wa-xfer.c | 2 +-
30164 drivers/video/aty/aty128fb.c | 2 +-
30165 drivers/video/aty/atyfb_base.c | 8 +-
30166 drivers/video/aty/mach64_cursor.c | 5 +-
30167 drivers/video/backlight/kb3886_bl.c | 2 +-
30168 drivers/video/fb_defio.c | 6 +-
30169 drivers/video/fbcmap.c | 3 +-
30170 drivers/video/fbmem.c | 6 +-
30171 drivers/video/i810/i810_accel.c | 1 +
30172 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
30173 drivers/video/nvidia/nvidia.c | 27 +-
30174 drivers/video/s1d13xxxfb.c | 6 +-
30175 drivers/video/smscufx.c | 4 +-
30176 drivers/video/udlfb.c | 36 +-
30177 drivers/video/uvesafb.c | 53 +-
30178 drivers/video/vesafb.c | 58 +-
30179 drivers/video/via/via_clock.h | 2 +-
30180 fs/9p/vfs_inode.c | 2 +-
30181 fs/Kconfig.binfmt | 2 +-
30182 fs/aio.c | 11 +-
30183 fs/autofs4/waitq.c | 2 +-
30184 fs/befs/endian.h | 4 +-
30185 fs/befs/linuxvfs.c | 2 +-
30186 fs/binfmt_aout.c | 23 +-
30187 fs/binfmt_elf.c | 605 +++-
30188 fs/binfmt_flat.c | 6 +
30189 fs/bio.c | 6 +-
30190 fs/block_dev.c | 2 +-
30191 fs/btrfs/ctree.c | 9 +-
30192 fs/btrfs/super.c | 2 +-
30193 fs/cachefiles/bind.c | 6 +-
30194 fs/cachefiles/daemon.c | 8 +-
30195 fs/cachefiles/internal.h | 12 +-
30196 fs/cachefiles/namei.c | 2 +-
30197 fs/cachefiles/proc.c | 12 +-
30198 fs/cachefiles/rdwr.c | 2 +-
30199 fs/ceph/dir.c | 2 +-
30200 fs/cifs/cifs_debug.c | 12 +-
30201 fs/cifs/cifsfs.c | 8 +-
30202 fs/cifs/cifsglob.h | 54 +-
30203 fs/cifs/link.c | 2 +-
30204 fs/cifs/misc.c | 4 +-
30205 fs/cifs/smb1ops.c | 80 +-
30206 fs/cifs/smb2ops.c | 84 +-
30207 fs/cifs/smb2pdu.c | 3 +-
30208 fs/coda/cache.c | 10 +-
30209 fs/compat.c | 6 +-
30210 fs/compat_binfmt_elf.c | 2 +
30211 fs/compat_ioctl.c | 8 +-
30212 fs/configfs/dir.c | 10 +-
30213 fs/coredump.c | 24 +-
30214 fs/dcache.c | 2 +-
30215 fs/ecryptfs/inode.c | 4 +-
30216 fs/ecryptfs/miscdev.c | 2 +-
30217 fs/ecryptfs/read_write.c | 2 +-
30218 fs/exec.c | 362 ++-
30219 fs/ext4/ext4.h | 20 +-
30220 fs/ext4/mballoc.c | 44 +-
30221 fs/ext4/super.c | 2 +-
30222 fs/fhandle.c | 3 +-
30223 fs/fifo.c | 22 +-
30224 fs/fs_struct.c | 8 +-
30225 fs/fscache/cookie.c | 36 +-
30226 fs/fscache/internal.h | 196 +-
30227 fs/fscache/object.c | 28 +-
30228 fs/fscache/operation.c | 30 +-
30229 fs/fscache/page.c | 110 +-
30230 fs/fscache/stats.c | 344 +-
30231 fs/fuse/cuse.c | 10 +-
30232 fs/fuse/dev.c | 2 +-
30233 fs/fuse/dir.c | 2 +-
30234 fs/gfs2/inode.c | 2 +-
30235 fs/hugetlbfs/inode.c | 13 +-
30236 fs/inode.c | 4 +-
30237 fs/jffs2/erase.c | 3 +-
30238 fs/jffs2/wbuf.c | 3 +-
30239 fs/jfs/super.c | 6 +-
30240 fs/libfs.c | 10 +-
30241 fs/lockd/clntproc.c | 4 +-
30242 fs/locks.c | 8 +-
30243 fs/namei.c | 15 +-
30244 fs/namespace.c | 2 +-
30245 fs/nfs/callback_xdr.c | 2 +-
30246 fs/nfs/inode.c | 6 +-
30247 fs/nfsd/nfs4proc.c | 2 +-
30248 fs/nfsd/nfs4xdr.c | 6 +-
30249 fs/nfsd/nfscache.c | 8 +-
30250 fs/nfsd/vfs.c | 6 +-
30251 fs/nls/nls_base.c | 18 +-
30252 fs/nls/nls_euc-jp.c | 6 +-
30253 fs/nls/nls_koi8-ru.c | 6 +-
30254 fs/notify/fanotify/fanotify_user.c | 4 +-
30255 fs/notify/notification.c | 4 +-
30256 fs/ntfs/dir.c | 2 +-
30257 fs/ntfs/file.c | 4 +-
30258 fs/ocfs2/localalloc.c | 2 +-
30259 fs/ocfs2/ocfs2.h | 10 +-
30260 fs/ocfs2/suballoc.c | 12 +-
30261 fs/ocfs2/super.c | 20 +-
30262 fs/pipe.c | 33 +-
30263 fs/proc/array.c | 20 +
30264 fs/proc/base.c | 4 +-
30265 fs/proc/kcore.c | 32 +-
30266 fs/proc/meminfo.c | 2 +-
30267 fs/proc/nommu.c | 2 +-
30268 fs/proc/proc_sysctl.c | 18 +-
30269 fs/proc/self.c | 2 +-
30270 fs/proc/task_mmu.c | 39 +-
30271 fs/proc/task_nommu.c | 4 +-
30272 fs/qnx6/qnx6.h | 4 +-
30273 fs/quota/netlink.c | 4 +-
30274 fs/readdir.c | 2 +-
30275 fs/reiserfs/do_balan.c | 2 +-
30276 fs/reiserfs/procfs.c | 2 +-
30277 fs/reiserfs/reiserfs.h | 4 +-
30278 fs/seq_file.c | 2 +-
30279 fs/splice.c | 36 +-
30280 fs/sysfs/bin.c | 6 +-
30281 fs/sysfs/dir.c | 2 +-
30282 fs/sysfs/file.c | 10 +-
30283 fs/sysfs/symlink.c | 2 +-
30284 fs/sysv/sysv.h | 2 +-
30285 fs/ubifs/io.c | 2 +-
30286 fs/udf/misc.c | 2 +-
30287 fs/ufs/swab.h | 4 +-
30288 fs/xattr.c | 21 +
30289 fs/xattr_acl.c | 4 +-
30290 fs/xfs/xfs_bmap.c | 2 +-
30291 fs/xfs/xfs_dir2_sf.c | 10 +-
30292 fs/xfs/xfs_ioctl.c | 2 +-
30293 fs/xfs/xfs_iops.c | 2 +-
30294 include/asm-generic/4level-fixup.h | 2 +
30295 include/asm-generic/atomic-long.h | 210 +
30296 include/asm-generic/atomic.h | 2 +-
30297 include/asm-generic/atomic64.h | 12 +
30298 include/asm-generic/cache.h | 4 +-
30299 include/asm-generic/emergency-restart.h | 2 +-
30300 include/asm-generic/kmap_types.h | 4 +-
30301 include/asm-generic/local.h | 13 +
30302 include/asm-generic/pgtable-nopmd.h | 18 +-
30303 include/asm-generic/pgtable-nopud.h | 15 +-
30304 include/asm-generic/pgtable.h | 8 +
30305 include/asm-generic/vmlinux.lds.h | 10 +-
30306 include/crypto/algapi.h | 2 +-
30307 include/drm/drmP.h | 17 +-
30308 include/drm/drm_crtc_helper.h | 2 +-
30309 include/drm/ttm/ttm_memory.h | 2 +-
30310 include/keys/asymmetric-subtype.h | 2 +-
30311 include/linux/atmdev.h | 4 +-
30312 include/linux/binfmts.h | 3 +-
30313 include/linux/blkdev.h | 2 +-
30314 include/linux/blktrace_api.h | 2 +-
30315 include/linux/cache.h | 4 +
30316 include/linux/cdrom.h | 1 -
30317 include/linux/cleancache.h | 2 +-
30318 include/linux/compat.h | 6 +-
30319 include/linux/compiler-gcc4.h | 20 +
30320 include/linux/compiler.h | 65 +-
30321 include/linux/completion.h | 6 +-
30322 include/linux/configfs.h | 2 +-
30323 include/linux/cpu.h | 2 +-
30324 include/linux/cpufreq.h | 3 +-
30325 include/linux/cpuidle.h | 5 +-
30326 include/linux/cpumask.h | 12 +-
30327 include/linux/crypto.h | 6 +-
30328 include/linux/ctype.h | 2 +-
30329 include/linux/decompress/mm.h | 2 +-
30330 include/linux/devfreq.h | 2 +-
30331 include/linux/device.h | 7 +-
30332 include/linux/dma-mapping.h | 2 +-
30333 include/linux/dmaengine.h | 4 +-
30334 include/linux/efi.h | 1 +
30335 include/linux/elf.h | 2 +
30336 include/linux/err.h | 4 +-
30337 include/linux/extcon.h | 2 +-
30338 include/linux/fb.h | 2 +-
30339 include/linux/filter.h | 4 +
30340 include/linux/frontswap.h | 2 +-
30341 include/linux/fs.h | 3 +-
30342 include/linux/fs_struct.h | 2 +-
30343 include/linux/fscache-cache.h | 4 +-
30344 include/linux/fscache.h | 2 +-
30345 include/linux/fsnotify.h | 2 +-
30346 include/linux/ftrace_event.h | 2 +-
30347 include/linux/genhd.h | 2 +-
30348 include/linux/genl_magic_func.h | 2 +-
30349 include/linux/gfp.h | 12 +-
30350 include/linux/highmem.h | 12 +
30351 include/linux/hwmon-sysfs.h | 5 +-
30352 include/linux/i2c.h | 1 +
30353 include/linux/i2o.h | 2 +-
30354 include/linux/if_pppox.h | 2 +-
30355 include/linux/init.h | 33 +-
30356 include/linux/init_task.h | 7 +
30357 include/linux/interrupt.h | 8 +-
30358 include/linux/iommu.h | 2 +-
30359 include/linux/ioport.h | 2 +-
30360 include/linux/irq.h | 3 +-
30361 include/linux/irqchip/arm-gic.h | 2 +-
30362 include/linux/key-type.h | 2 +-
30363 include/linux/kgdb.h | 6 +-
30364 include/linux/kobject.h | 3 +-
30365 include/linux/kobject_ns.h | 2 +-
30366 include/linux/kref.h | 2 +-
30367 include/linux/kvm_host.h | 4 +-
30368 include/linux/libata.h | 2 +-
30369 include/linux/list.h | 15 +
30370 include/linux/math64.h | 6 +-
30371 include/linux/mm.h | 110 +-
30372 include/linux/mm_types.h | 20 +
30373 include/linux/mmiotrace.h | 4 +-
30374 include/linux/mmzone.h | 2 +-
30375 include/linux/mod_devicetable.h | 6 +-
30376 include/linux/module.h | 60 +-
30377 include/linux/moduleloader.h | 16 +
30378 include/linux/moduleparam.h | 4 +-
30379 include/linux/namei.h | 6 +-
30380 include/linux/net.h | 2 +-
30381 include/linux/netdevice.h | 3 +-
30382 include/linux/netfilter.h | 2 +-
30383 include/linux/netfilter/ipset/ip_set.h | 2 +-
30384 include/linux/netfilter/nfnetlink.h | 2 +-
30385 include/linux/nls.h | 2 +-
30386 include/linux/notifier.h | 3 +-
30387 include/linux/oprofile.h | 4 +-
30388 include/linux/pci_hotplug.h | 3 +-
30389 include/linux/perf_event.h | 12 +-
30390 include/linux/pipe_fs_i.h | 6 +-
30391 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
30392 include/linux/platform_data/usb-exynos.h | 2 +-
30393 include/linux/pm_domain.h | 2 +-
30394 include/linux/pm_runtime.h | 2 +-
30395 include/linux/pnp.h | 2 +-
30396 include/linux/poison.h | 4 +-
30397 include/linux/power/smartreflex.h | 2 +-
30398 include/linux/ppp-comp.h | 2 +-
30399 include/linux/proc_fs.h | 2 +-
30400 include/linux/random.h | 5 +
30401 include/linux/rculist.h | 16 +
30402 include/linux/reboot.h | 14 +-
30403 include/linux/regset.h | 3 +-
30404 include/linux/relay.h | 2 +-
30405 include/linux/rio.h | 2 +-
30406 include/linux/rmap.h | 4 +-
30407 include/linux/sched.h | 67 +-
30408 include/linux/sched/sysctl.h | 1 +
30409 include/linux/seq_file.h | 1 +
30410 include/linux/skbuff.h | 12 +-
30411 include/linux/slab.h | 36 +-
30412 include/linux/slab_def.h | 33 +-
30413 include/linux/slob_def.h | 4 +-
30414 include/linux/slub_def.h | 10 +-
30415 include/linux/sock_diag.h | 2 +-
30416 include/linux/sonet.h | 2 +-
30417 include/linux/sunrpc/addr.h | 8 +-
30418 include/linux/sunrpc/clnt.h | 2 +-
30419 include/linux/sunrpc/svc.h | 2 +-
30420 include/linux/sunrpc/svc_rdma.h | 18 +-
30421 include/linux/sunrpc/svcauth.h | 2 +-
30422 include/linux/swiotlb.h | 3 +-
30423 include/linux/syscalls.h | 2 +-
30424 include/linux/syscore_ops.h | 2 +-
30425 include/linux/sysctl.h | 6 +-
30426 include/linux/sysfs.h | 10 +-
30427 include/linux/sysrq.h | 3 +-
30428 include/linux/thread_info.h | 7 +
30429 include/linux/tty.h | 4 +-
30430 include/linux/tty_driver.h | 2 +-
30431 include/linux/tty_ldisc.h | 2 +-
30432 include/linux/types.h | 16 +
30433 include/linux/uaccess.h | 6 +-
30434 include/linux/unaligned/access_ok.h | 24 +-
30435 include/linux/usb.h | 4 +-
30436 include/linux/usb/renesas_usbhs.h | 2 +-
30437 include/linux/vermagic.h | 21 +-
30438 include/linux/vmalloc.h | 11 +-
30439 include/linux/vmstat.h | 20 +-
30440 include/linux/xattr.h | 5 +-
30441 include/linux/zlib.h | 3 +-
30442 include/media/v4l2-dev.h | 2 +-
30443 include/media/v4l2-ioctl.h | 1 -
30444 include/net/9p/transport.h | 2 +-
30445 include/net/bluetooth/l2cap.h | 2 +-
30446 include/net/caif/cfctrl.h | 6 +-
30447 include/net/flow.h | 2 +-
30448 include/net/genetlink.h | 2 +-
30449 include/net/gro_cells.h | 2 +-
30450 include/net/inet_connection_sock.h | 2 +-
30451 include/net/inetpeer.h | 8 +-
30452 include/net/ip.h | 2 +-
30453 include/net/ip_fib.h | 2 +-
30454 include/net/ip_vs.h | 8 +-
30455 include/net/irda/ircomm_tty.h | 1 +
30456 include/net/iucv/af_iucv.h | 2 +-
30457 include/net/llc_c_ac.h | 2 +-
30458 include/net/llc_c_ev.h | 4 +-
30459 include/net/llc_c_st.h | 2 +-
30460 include/net/llc_s_ac.h | 2 +-
30461 include/net/llc_s_st.h | 2 +-
30462 include/net/mac80211.h | 2 +-
30463 include/net/neighbour.h | 2 +-
30464 include/net/net_namespace.h | 12 +-
30465 include/net/netdma.h | 2 +-
30466 include/net/netlink.h | 2 +-
30467 include/net/netns/conntrack.h | 6 +-
30468 include/net/netns/ipv4.h | 2 +-
30469 include/net/protocol.h | 4 +-
30470 include/net/rtnetlink.h | 2 +-
30471 include/net/sctp/sctp.h | 6 +-
30472 include/net/sctp/sm.h | 4 +-
30473 include/net/sctp/structs.h | 2 +-
30474 include/net/sock.h | 6 +-
30475 include/net/tcp.h | 8 +-
30476 include/net/xfrm.h | 8 +-
30477 include/rdma/iw_cm.h | 2 +-
30478 include/scsi/libfc.h | 3 +-
30479 include/scsi/scsi_device.h | 6 +-
30480 include/scsi/scsi_transport_fc.h | 3 +-
30481 include/sound/soc.h | 4 +-
30482 include/target/target_core_base.h | 2 +-
30483 include/trace/events/irq.h | 4 +-
30484 include/uapi/linux/a.out.h | 8 +
30485 include/uapi/linux/byteorder/little_endian.h | 28 +-
30486 include/uapi/linux/elf.h | 28 +
30487 include/uapi/linux/screen_info.h | 3 +-
30488 include/uapi/linux/swab.h | 6 +-
30489 include/uapi/linux/sysctl.h | 6 +-
30490 include/uapi/linux/xattr.h | 4 +
30491 include/video/udlfb.h | 8 +-
30492 include/video/uvesafb.h | 1 +
30493 init/Kconfig | 2 +-
30494 init/Makefile | 3 +
30495 init/do_mounts.c | 14 +-
30496 init/do_mounts.h | 8 +-
30497 init/do_mounts_initrd.c | 22 +-
30498 init/do_mounts_md.c | 6 +-
30499 init/init_task.c | 4 +
30500 init/initramfs.c | 40 +-
30501 init/main.c | 77 +-
30502 ipc/ipc_sysctl.c | 10 +-
30503 ipc/mq_sysctl.c | 2 +-
30504 ipc/msg.c | 11 +-
30505 ipc/sem.c | 11 +-
30506 ipc/shm.c | 17 +-
30507 kernel/acct.c | 2 +-
30508 kernel/audit.c | 8 +-
30509 kernel/auditsc.c | 4 +-
30510 kernel/capability.c | 3 +
30511 kernel/compat.c | 40 +-
30512 kernel/debug/debug_core.c | 16 +-
30513 kernel/debug/kdb/kdb_main.c | 4 +-
30514 kernel/events/core.c | 28 +-
30515 kernel/exit.c | 4 +-
30516 kernel/fork.c | 167 +-
30517 kernel/futex.c | 9 +
30518 kernel/futex_compat.c | 2 +-
30519 kernel/gcov/base.c | 7 +-
30520 kernel/hrtimer.c | 4 +-
30521 kernel/irq_work.c | 7 +-
30522 kernel/jump_label.c | 5 +
30523 kernel/kallsyms.c | 39 +-
30524 kernel/kexec.c | 3 +-
30525 kernel/kmod.c | 4 +-
30526 kernel/kprobes.c | 8 +-
30527 kernel/ksysfs.c | 2 +-
30528 kernel/lockdep.c | 7 +-
30529 kernel/module.c | 337 +-
30530 kernel/mutex-debug.c | 12 +-
30531 kernel/mutex-debug.h | 4 +-
30532 kernel/mutex.c | 7 +-
30533 kernel/notifier.c | 17 +-
30534 kernel/panic.c | 3 +-
30535 kernel/pid.c | 2 +-
30536 kernel/pid_namespace.c | 2 +-
30537 kernel/posix-cpu-timers.c | 4 +-
30538 kernel/posix-timers.c | 20 +-
30539 kernel/power/process.c | 12 +-
30540 kernel/profile.c | 14 +-
30541 kernel/ptrace.c | 8 +-
30542 kernel/rcupdate.c | 4 +-
30543 kernel/rcutiny.c | 4 +-
30544 kernel/rcutiny_plugin.h | 2 +-
30545 kernel/rcutorture.c | 56 +-
30546 kernel/rcutree.c | 68 +-
30547 kernel/rcutree.h | 24 +-
30548 kernel/rcutree_plugin.h | 20 +-
30549 kernel/rcutree_trace.c | 22 +-
30550 kernel/rtmutex-tester.c | 24 +-
30551 kernel/sched/auto_group.c | 4 +-
30552 kernel/sched/core.c | 51 +-
30553 kernel/sched/fair.c | 4 +-
30554 kernel/signal.c | 12 +-
30555 kernel/smp.c | 2 +-
30556 kernel/smpboot.c | 4 +-
30557 kernel/softirq.c | 18 +-
30558 kernel/srcu.c | 4 +-
30559 kernel/sys.c | 10 +-
30560 kernel/sysctl.c | 39 +-
30561 kernel/time.c | 2 +-
30562 kernel/time/alarmtimer.c | 2 +-
30563 kernel/time/tick-broadcast.c | 2 +-
30564 kernel/time/timer_stats.c | 10 +-
30565 kernel/timer.c | 6 +-
30566 kernel/trace/blktrace.c | 6 +-
30567 kernel/trace/ftrace.c | 20 +-
30568 kernel/trace/ring_buffer.c | 76 +-
30569 kernel/trace/trace.c | 8 +-
30570 kernel/trace/trace.h | 2 +-
30571 kernel/trace/trace_events.c | 25 +-
30572 kernel/trace/trace_mmiotrace.c | 8 +-
30573 kernel/trace/trace_output.c | 12 +-
30574 kernel/trace/trace_stack.c | 2 +-
30575 kernel/user_namespace.c | 2 +-
30576 kernel/utsname_sysctl.c | 2 +-
30577 kernel/watchdog.c | 2 +-
30578 lib/Kconfig.debug | 6 +-
30579 lib/Makefile | 2 +-
30580 lib/bitmap.c | 8 +-
30581 lib/bug.c | 2 +
30582 lib/debugobjects.c | 2 +-
30583 lib/devres.c | 4 +-
30584 lib/div64.c | 4 +-
30585 lib/dma-debug.c | 4 +-
30586 lib/inflate.c | 2 +-
30587 lib/ioremap.c | 4 +-
30588 lib/kobject.c | 4 +-
30589 lib/list_debug.c | 126 +-
30590 lib/radix-tree.c | 2 +-
30591 lib/strncpy_from_user.c | 2 +-
30592 lib/strnlen_user.c | 2 +-
30593 lib/swiotlb.c | 2 +-
30594 lib/vsprintf.c | 12 +-
30595 mm/Kconfig | 6 +-
30596 mm/filemap.c | 2 +-
30597 mm/fremap.c | 5 +
30598 mm/highmem.c | 7 +-
30599 mm/hugetlb.c | 70 +-
30600 mm/internal.h | 1 +
30601 mm/maccess.c | 4 +-
30602 mm/madvise.c | 41 +
30603 mm/memory-failure.c | 26 +-
30604 mm/memory.c | 424 ++-
30605 mm/mempolicy.c | 26 +
30606 mm/mlock.c | 16 +-
30607 mm/mmap.c | 576 ++-
30608 mm/mprotect.c | 139 +-
30609 mm/mremap.c | 44 +-
30610 mm/nommu.c | 21 +-
30611 mm/page-writeback.c | 4 +-
30612 mm/page_alloc.c | 41 +-
30613 mm/percpu.c | 2 +-
30614 mm/process_vm_access.c | 14 +-
30615 mm/rmap.c | 38 +-
30616 mm/shmem.c | 19 +-
30617 mm/slab.c | 105 +-
30618 mm/slab.h | 5 +-
30619 mm/slab_common.c | 11 +-
30620 mm/slob.c | 201 +-
30621 mm/slub.c | 99 +-
30622 mm/sparse-vmemmap.c | 4 +-
30623 mm/sparse.c | 2 +-
30624 mm/swap.c | 3 +
30625 mm/swapfile.c | 12 +-
30626 mm/util.c | 6 +
30627 mm/vmalloc.c | 82 +-
30628 mm/vmstat.c | 12 +-
30629 net/8021q/vlan.c | 5 +-
30630 net/9p/mod.c | 4 +-
30631 net/9p/trans_fd.c | 2 +-
30632 net/atm/atm_misc.c | 8 +-
30633 net/atm/lec.h | 2 +-
30634 net/atm/proc.c | 6 +-
30635 net/atm/resources.c | 4 +-
30636 net/ax25/sysctl_net_ax25.c | 2 +-
30637 net/batman-adv/bat_iv_ogm.c | 8 +-
30638 net/batman-adv/hard-interface.c | 4 +-
30639 net/batman-adv/soft-interface.c | 4 +-
30640 net/batman-adv/types.h | 6 +-
30641 net/batman-adv/unicast.c | 2 +-
30642 net/bluetooth/hci_sock.c | 2 +-
30643 net/bluetooth/l2cap_core.c | 6 +-
30644 net/bluetooth/l2cap_sock.c | 12 +-
30645 net/bluetooth/rfcomm/sock.c | 4 +-
30646 net/bluetooth/rfcomm/tty.c | 10 +-
30647 net/bridge/netfilter/ebtables.c | 6 +-
30648 net/caif/cfctrl.c | 11 +-
30649 net/can/af_can.c | 2 +-
30650 net/can/gw.c | 6 +-
30651 net/compat.c | 34 +-
30652 net/core/datagram.c | 2 +-
30653 net/core/dev.c | 16 +-
30654 net/core/flow.c | 8 +-
30655 net/core/iovec.c | 4 +-
30656 net/core/neighbour.c | 2 +-
30657 net/core/net-sysfs.c | 2 +-
30658 net/core/net_namespace.c | 8 +-
30659 net/core/rtnetlink.c | 13 +-
30660 net/core/scm.c | 8 +-
30661 net/core/sock.c | 24 +-
30662 net/core/sock_diag.c | 9 +-
30663 net/core/sysctl_net_core.c | 18 +-
30664 net/decnet/af_decnet.c | 1 +
30665 net/decnet/sysctl_net_decnet.c | 4 +-
30666 net/ipv4/af_inet.c | 8 +-
30667 net/ipv4/ah4.c | 2 +-
30668 net/ipv4/devinet.c | 14 +-
30669 net/ipv4/esp4.c | 2 +-
30670 net/ipv4/fib_frontend.c | 6 +-
30671 net/ipv4/fib_semantics.c | 2 +-
30672 net/ipv4/inet_connection_sock.c | 2 +-
30673 net/ipv4/inetpeer.c | 4 +-
30674 net/ipv4/ip_fragment.c | 15 +-
30675 net/ipv4/ip_gre.c | 6 +-
30676 net/ipv4/ip_sockglue.c | 2 +-
30677 net/ipv4/ip_vti.c | 4 +-
30678 net/ipv4/ipcomp.c | 2 +-
30679 net/ipv4/ipconfig.c | 6 +-
30680 net/ipv4/ipip.c | 4 +-
30681 net/ipv4/netfilter/arp_tables.c | 12 +-
30682 net/ipv4/netfilter/ip_tables.c | 12 +-
30683 net/ipv4/ping.c | 2 +-
30684 net/ipv4/raw.c | 14 +-
30685 net/ipv4/route.c | 18 +-
30686 net/ipv4/sysctl_net_ipv4.c | 45 +-
30687 net/ipv4/tcp_input.c | 2 +-
30688 net/ipv4/tcp_probe.c | 2 +-
30689 net/ipv4/udp.c | 10 +-
30690 net/ipv4/xfrm4_policy.c | 14 +-
30691 net/ipv6/addrconf.c | 6 +-
30692 net/ipv6/icmp.c | 2 +-
30693 net/ipv6/ip6_gre.c | 8 +-
30694 net/ipv6/ip6_tunnel.c | 4 +-
30695 net/ipv6/ipv6_sockglue.c | 2 +-
30696 net/ipv6/netfilter/ip6_tables.c | 12 +-
30697 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
30698 net/ipv6/raw.c | 19 +-
30699 net/ipv6/reassembly.c | 13 +-
30700 net/ipv6/route.c | 2 +-
30701 net/ipv6/sit.c | 4 +-
30702 net/ipv6/sysctl_net_ipv6.c | 2 +-
30703 net/ipv6/udp.c | 8 +-
30704 net/ipv6/xfrm6_policy.c | 13 +-
30705 net/irda/ircomm/ircomm_tty.c | 18 +-
30706 net/iucv/af_iucv.c | 4 +-
30707 net/iucv/iucv.c | 2 +-
30708 net/key/af_key.c | 4 +-
30709 net/mac80211/cfg.c | 8 +-
30710 net/mac80211/ieee80211_i.h | 3 +-
30711 net/mac80211/iface.c | 14 +-
30712 net/mac80211/main.c | 2 +-
30713 net/mac80211/pm.c | 6 +-
30714 net/mac80211/rate.c | 2 +-
30715 net/mac80211/rc80211_pid_debugfs.c | 2 +-
30716 net/mac80211/util.c | 2 +-
30717 net/netfilter/ipset/ip_set_core.c | 2 +-
30718 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
30719 net/netfilter/ipvs/ip_vs_core.c | 4 +-
30720 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
30721 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
30722 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
30723 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
30724 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
30725 net/netfilter/nf_conntrack_acct.c | 2 +-
30726 net/netfilter/nf_conntrack_ecache.c | 2 +-
30727 net/netfilter/nf_conntrack_helper.c | 2 +-
30728 net/netfilter/nf_conntrack_proto.c | 2 +-
30729 net/netfilter/nf_conntrack_standalone.c | 2 +-
30730 net/netfilter/nf_conntrack_timestamp.c | 2 +-
30731 net/netfilter/nf_log.c | 10 +-
30732 net/netfilter/nf_sockopt.c | 4 +-
30733 net/netfilter/nfnetlink_log.c | 4 +-
30734 net/netfilter/xt_statistic.c | 8 +-
30735 net/netlink/af_netlink.c | 4 +-
30736 net/netlink/genetlink.c | 16 +-
30737 net/packet/af_packet.c | 12 +-
30738 net/phonet/pep.c | 6 +-
30739 net/phonet/socket.c | 2 +-
30740 net/phonet/sysctl.c | 2 +-
30741 net/rds/cong.c | 6 +-
30742 net/rds/ib.h | 2 +-
30743 net/rds/ib_cm.c | 2 +-
30744 net/rds/ib_recv.c | 4 +-
30745 net/rds/iw.h | 2 +-
30746 net/rds/iw_cm.c | 2 +-
30747 net/rds/iw_recv.c | 4 +-
30748 net/rds/rds.h | 2 +-
30749 net/rds/tcp.c | 2 +-
30750 net/rds/tcp_send.c | 2 +-
30751 net/rxrpc/af_rxrpc.c | 2 +-
30752 net/rxrpc/ar-ack.c | 14 +-
30753 net/rxrpc/ar-call.c | 2 +-
30754 net/rxrpc/ar-connection.c | 2 +-
30755 net/rxrpc/ar-connevent.c | 2 +-
30756 net/rxrpc/ar-input.c | 4 +-
30757 net/rxrpc/ar-internal.h | 8 +-
30758 net/rxrpc/ar-local.c | 2 +-
30759 net/rxrpc/ar-output.c | 4 +-
30760 net/rxrpc/ar-peer.c | 2 +-
30761 net/rxrpc/ar-proc.c | 4 +-
30762 net/rxrpc/ar-transport.c | 2 +-
30763 net/rxrpc/rxkad.c | 4 +-
30764 net/sctp/ipv6.c | 6 +-
30765 net/sctp/protocol.c | 10 +-
30766 net/sctp/sm_sideeffect.c | 2 +-
30767 net/sctp/socket.c | 21 +-
30768 net/sctp/sysctl.c | 4 +-
30769 net/socket.c | 18 +-
30770 net/sunrpc/clnt.c | 4 +-
30771 net/sunrpc/sched.c | 4 +-
30772 net/sunrpc/svc.c | 4 +-
30773 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
30774 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
30775 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
30776 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
30777 net/tipc/link.c | 6 +-
30778 net/tipc/msg.c | 2 +-
30779 net/tipc/subscr.c | 2 +-
30780 net/unix/sysctl_net_unix.c | 2 +-
30781 net/wireless/wext-core.c | 19 +-
30782 net/xfrm/xfrm_policy.c | 27 +-
30783 net/xfrm/xfrm_state.c | 29 +-
30784 net/xfrm/xfrm_sysctl.c | 2 +-
30785 scripts/Makefile.build | 2 +-
30786 scripts/Makefile.clean | 3 +-
30787 scripts/Makefile.host | 28 +-
30788 scripts/basic/fixdep.c | 12 +-
30789 scripts/gcc-plugin.sh | 17 +
30790 scripts/headers_install.pl | 1 +
30791 scripts/link-vmlinux.sh | 2 +-
30792 scripts/mod/file2alias.c | 14 +-
30793 scripts/mod/modpost.c | 25 +-
30794 scripts/mod/modpost.h | 6 +-
30795 scripts/mod/sumversion.c | 2 +-
30796 scripts/package/builddeb | 1 +
30797 scripts/pnmtologo.c | 6 +-
30798 scripts/sortextable.h | 6 +-
30799 security/Kconfig | 675 +++-
30800 security/apparmor/lsm.c | 2 +-
30801 security/integrity/ima/ima.h | 4 +-
30802 security/integrity/ima/ima_api.c | 2 +-
30803 security/integrity/ima/ima_fs.c | 4 +-
30804 security/integrity/ima/ima_queue.c | 2 +-
30805 security/keys/compat.c | 2 +-
30806 security/keys/key.c | 18 +-
30807 security/keys/keyctl.c | 8 +-
30808 security/keys/keyring.c | 6 +-
30809 security/security.c | 9 +-
30810 security/selinux/hooks.c | 2 +-
30811 security/selinux/include/xfrm.h | 2 +-
30812 security/smack/smack_lsm.c | 2 +-
30813 security/tomoyo/tomoyo.c | 2 +-
30814 security/yama/yama_lsm.c | 22 +-
30815 sound/aoa/codecs/onyx.c | 7 +-
30816 sound/aoa/codecs/onyx.h | 1 +
30817 sound/core/oss/pcm_oss.c | 18 +-
30818 sound/core/pcm_compat.c | 2 +-
30819 sound/core/pcm_native.c | 4 +-
30820 sound/core/seq/seq_device.c | 8 +-
30821 sound/drivers/mts64.c | 14 +-
30822 sound/drivers/opl4/opl4_lib.c | 2 +-
30823 sound/drivers/portman2x4.c | 3 +-
30824 sound/firewire/amdtp.c | 4 +-
30825 sound/firewire/amdtp.h | 2 +-
30826 sound/firewire/isight.c | 10 +-
30827 sound/firewire/scs1x.c | 8 +-
30828 sound/oss/sb_audio.c | 2 +-
30829 sound/oss/swarm_cs4297a.c | 6 +-
30830 sound/pci/ymfpci/ymfpci.h | 2 +-
30831 sound/pci/ymfpci/ymfpci_main.c | 12 +-
30832 tools/gcc/.gitignore | 1 +
30833 tools/gcc/Makefile | 45 +
30834 tools/gcc/checker_plugin.c | 171 +
30835 tools/gcc/colorize_plugin.c | 151 +
30836 tools/gcc/constify_plugin.c | 518 ++
30837 tools/gcc/generate_size_overflow_hash.sh | 94 +
30838 tools/gcc/kallocstat_plugin.c | 170 +
30839 tools/gcc/kernexec_plugin.c | 465 ++
30840 tools/gcc/latent_entropy_plugin.c | 327 ++
30841 tools/gcc/size_overflow_hash.data | 5876 ++++++++++++++++++++++
30842 tools/gcc/size_overflow_plugin.c | 2114 ++++++++
30843 tools/gcc/stackleak_plugin.c | 327 ++
30844 tools/gcc/structleak_plugin.c | 276 +
30845 tools/perf/util/include/asm/alternative-asm.h | 3 +
30846 tools/perf/util/include/linux/compiler.h | 8 +
30847 virt/kvm/kvm_main.c | 32 +-
30848 1555 files changed, 30474 insertions(+), 7126 deletions(-)
30849 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
30850 Merge: 0949bd4 fc53d63
30851 Author: Brad Spengler <spender@grsecurity.net>
30852 Date: Thu Mar 22 19:03:44 2012 -0400
30853
30854 Merge branch 'pax-test' into grsec-test
30855
30856 commit fc53d6338964741b368070ec5c935bc579b8c2a6
30857 Author: Brad Spengler <spender@grsecurity.net>
30858 Date: Thu Mar 22 19:02:45 2012 -0400
30859
30860 Update to pax-linux-3.2.12-test33.patch
30861
30862 commit 0949bd46a6455b308f66ad7c993bfee62412db35
30863 Author: Brad Spengler <spender@grsecurity.net>
30864 Date: Thu Mar 22 16:56:09 2012 -0400
30865
30866 Use current_umask() instead of current->fs->umask
30867
30868 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
30869 Author: Brad Spengler <spender@grsecurity.net>
30870 Date: Wed Mar 21 19:42:42 2012 -0400
30871
30872 compile fix
30873
30874 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
30875 Author: Brad Spengler <spender@grsecurity.net>
30876 Date: Wed Mar 21 19:34:56 2012 -0400
30877
30878 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
30879 uses of domains with particular hash collisions
30880
30881 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
30882 Author: Brad Spengler <spender@grsecurity.net>
30883 Date: Tue Mar 20 20:25:49 2012 -0400
30884
30885 zero kernel_role
30886
30887 commit b00953b43c69238d181d21121ef1577c988d5f6b
30888 Author: Brad Spengler <spender@grsecurity.net>
30889 Date: Tue Mar 20 19:29:34 2012 -0400
30890
30891 zero real_root after releasing it
30892
30893 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
30894 Merge: b724f59 273f98e
30895 Author: Brad Spengler <spender@grsecurity.net>
30896 Date: Tue Mar 20 19:11:26 2012 -0400
30897
30898 Merge branch 'pax-test' into grsec-test
30899
30900 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
30901 Author: Brad Spengler <spender@grsecurity.net>
30902 Date: Tue Mar 20 19:10:52 2012 -0400
30903
30904 Temporary workaround for (most) size_overflow plugin false-positives
30905 Increase randomization for brk-managed heap to 21 bits
30906 Update to pax-linux-3.2.12-test32.patch
30907
30908 commit b724f59125304460c2af8bd4b02921993afbb5d3
30909 Author: Brad Spengler <spender@grsecurity.net>
30910 Date: Tue Mar 20 18:58:53 2012 -0400
30911
30912 compile fix
30913
30914 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
30915 Author: Brad Spengler <spender@grsecurity.net>
30916 Date: Tue Mar 20 18:52:23 2012 -0400
30917
30918 Require default and kernel role
30919
30920 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
30921 Author: Brad Spengler <spender@grsecurity.net>
30922 Date: Tue Mar 20 18:47:28 2012 -0400
30923
30924 Allow policies without special roles
30925 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
30926
30927 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
30928 Merge: 8e012dc f14661a
30929 Author: Brad Spengler <spender@grsecurity.net>
30930 Date: Mon Mar 19 18:06:59 2012 -0400
30931
30932 Merge branch 'pax-test' into grsec-test
30933
30934 Conflicts:
30935 fs/namei.c
30936
30937 commit f14661aaf202155c97f66626cea0269017bb7775
30938 Merge: eae671f 058b017
30939 Author: Brad Spengler <spender@grsecurity.net>
30940 Date: Mon Mar 19 18:05:44 2012 -0400
30941
30942 Merge branch 'linux-3.2.y' into pax-test
30943
30944 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
30945 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
30946 Date: Fri Mar 16 17:08:39 2012 -0700
30947
30948 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
30949
30950 According to the report from Slicky Devil, nilfs caused kernel oops at
30951 nilfs_load_super_block function during mount after he shrank the
30952 partition without resizing the filesystem:
30953
30954 BUG: unable to handle kernel NULL pointer dereference at 00000048
30955 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
30956 *pde = 00000000
30957 Oops: 0000 [#1] PREEMPT SMP
30958 ...
30959 Call Trace:
30960 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
30961 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
30962 [<c0226636>] mount_fs+0x36/0x180
30963 [<c023d961>] vfs_kern_mount+0x51/0xa0
30964 [<c023ddae>] do_kern_mount+0x3e/0xe0
30965 [<c023f189>] do_mount+0x169/0x700
30966 [<c023fa9b>] sys_mount+0x6b/0xa0
30967 [<c04abd1f>] sysenter_do_call+0x12/0x28
30968 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
30969 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
30970 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
30971 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
30972 CR2: 0000000000000048
30973
30974 This turned out due to a defect in an error path which runs if the
30975 calculated location of the secondary super block was invalid.
30976
30977 This patch fixes it and eliminates the reported oops.
30978
30979 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
30980 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
30981 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
30982 Cc: <stable@vger.kernel.org> [2.6.30+]
30983 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
30984 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
30985
30986 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
30987 Author: Haogang Chen <haogangchen@gmail.com>
30988 Date: Fri Mar 16 17:08:38 2012 -0700
30989
30990 nilfs2: clamp ns_r_segments_percentage to [1, 99]
30991
30992 ns_r_segments_percentage is read from the disk. Bogus or malicious
30993 value could cause integer overflow and malfunction due to meaningless
30994 disk usage calculation. This patch reports error when mounting such
30995 bogus volumes.
30996
30997 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
30998 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
30999 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
31000 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31001
31002 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
31003 Author: Eric Dumazet <eric.dumazet@gmail.com>
31004 Date: Sat Mar 10 09:20:21 2012 +0000
31005
31006 tcp: fix syncookie regression
31007
31008 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
31009 added a serious regression on synflood handling.
31010
31011 Simon Kirby discovered a successful connection was delayed by 20 seconds
31012 before being responsive.
31013
31014 In my tests, I discovered that xmit frames were lost, and needed ~4
31015 retransmits and a socket dst rebuild before being really sent.
31016
31017 In case of syncookie initiated connection, we use a different path to
31018 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
31019
31020 As ip_queue_xmit() now depends on inet flow being setup, fix this by
31021 copying the temp flowi4 we use in cookie_v4_check().
31022
31023 Reported-by: Simon Kirby <sim@netnation.com>
31024 Bisected-by: Simon Kirby <sim@netnation.com>
31025 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
31026 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
31027 Signed-off-by: David S. Miller <davem@davemloft.net>
31028
31029 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
31030 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
31031 Date: Mon Mar 12 02:59:41 2012 +0000
31032
31033 tun: don't hold network namespace by tun sockets
31034
31035 v3: added previously removed sock_put() to the tun_release() callback, because
31036 sk_release_kernel() doesn't drop the socket reference.
31037
31038 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
31039 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
31040 call.
31041
31042 TUN was designed to destroy it's socket on network namesapce shutdown. But this
31043 will never happen for persistent device, because it's socket holds network
31044 namespace.
31045 This patch removes of holding network namespace by TUN socket and replaces it
31046 by creating socket in init_net and then changing it's net it to desired one. On
31047 shutdown socket is moved back to init_net prior to final put.
31048
31049 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
31050 Signed-off-by: David S. Miller <davem@davemloft.net>
31051
31052 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
31053 Author: Tyler Hicks <tyhicks@canonical.com>
31054 Date: Mon Dec 12 10:02:30 2011 -0600
31055
31056 vfs: Correctly set the dir i_mutex lockdep class
31057
31058 9a7aa12f3911853a introduced additional logic around setting the i_mutex
31059 lockdep class for directory inodes. The idea was that some filesystems
31060 may want their own special lockdep class for different directory
31061 inodes and calling unlock_new_inode() should not clobber one of
31062 those special classes.
31063
31064 I believe that the added conditional, around the *negated* return value
31065 of lockdep_match_class(), caused directory inodes to be placed in the
31066 wrong lockdep class.
31067
31068 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
31069 all inodes. If the filesystem did not change the class during inode
31070 initialization, then the conditional mentioned above was false and the
31071 directory inode was incorrectly left in the non-directory lockdep class.
31072 If the filesystem did set a special lockdep class, then the conditional
31073 mentioned above was true and that class was clobbered with
31074 i_mutex_dir_key.
31075
31076 This patch removes the negation from the conditional so that the i_mutex
31077 lockdep class is properly set for directory inodes. Special classes are
31078 preserved and directory inodes with unmodified classes are set with
31079 i_mutex_dir_key.
31080
31081 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
31082 Reviewed-by: Jan Kara <jack@suse.cz>
31083 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31084
31085 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
31086 Author: Jan Kara <jack@suse.cz>
31087 Date: Mon Feb 20 17:54:00 2012 +0100
31088
31089 udf: Fix deadlock in udf_release_file()
31090
31091 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
31092 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
31093 i_mutex is not needed in udf_release_file() anymore since protection by
31094 i_data_sem is enough to protect from races with write and truncate.
31095
31096 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
31097 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
31098 Signed-off-by: Jan Kara <jack@suse.cz>
31099 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31100
31101 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
31102 Author: Miklos Szeredi <mszeredi@suse.cz>
31103 Date: Tue Mar 6 13:56:33 2012 +0100
31104
31105 vfs: fix double put after complete_walk()
31106
31107 complete_walk() already puts nd->path, no need to do it again at cleanup time.
31108
31109 This would result in Oopses if triggered, apparently the codepath is not too
31110 well exercised.
31111
31112 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
31113 CC: stable@vger.kernel.org
31114 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31115
31116 commit 13885ba2b18400f3ef6540497d30f1af896605e5
31117 Author: Miklos Szeredi <mszeredi@suse.cz>
31118 Date: Tue Mar 6 13:56:34 2012 +0100
31119
31120 vfs: fix return value from do_last()
31121
31122 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
31123 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
31124 which is complete nonsense.
31125
31126 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
31127 CC: stable@vger.kernel.org
31128 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31129
31130 Conflicts:
31131
31132 fs/namei.c
31133
31134 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
31135 Author: Al Viro <viro@zeniv.linux.org.uk>
31136 Date: Sat Mar 10 17:07:28 2012 -0500
31137
31138 restore smp_mb() in unlock_new_inode()
31139
31140 wait_on_inode() doesn't have ->i_lock
31141
31142 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31143
31144 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
31145 Author: David S. Miller <davem@davemloft.net>
31146 Date: Tue Mar 13 18:19:51 2012 -0700
31147
31148 sparc32: Add -Av8 to assembler command line.
31149
31150 Newer version of binutils are more strict about specifying the
31151 correct options to enable certain classes of instructions.
31152
31153 The sparc32 build is done for v7 in order to support sun4c systems
31154 which lack hardware integer multiply and divide instructions.
31155
31156 So we have to pass -Av8 when building the assembler routines that
31157 use these instructions and get patched into the kernel when we find
31158 out that we have a v8 capable cpu.
31159
31160 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
31161 Signed-off-by: David S. Miller <davem@davemloft.net>
31162
31163 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
31164 Author: Thomas Gleixner <tglx@linutronix.de>
31165 Date: Fri Mar 9 20:55:10 2012 +0100
31166
31167 x86: Derandom delay_tsc for 64 bit
31168
31169 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
31170 delay_tsc() into a random delay generator for 64 bit. The reason is
31171 that it merged the mostly identical versions of delay_32.c and
31172 delay_64.c. Though the subtle difference of the result was:
31173
31174 static void delay_tsc(unsigned long loops)
31175 {
31176 - unsigned bclock, now;
31177 + unsigned long bclock, now;
31178
31179 Now the function uses rdtscl() which returns the lower 32bit of the
31180 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
31181 bit this fails when the lower 32bit are close to wrap around when
31182 bclock is read, because the following check
31183
31184 if ((now - bclock) >= loops)
31185 break;
31186
31187 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
31188 because the unsigned long (now - bclock) of these values results in
31189 0xffffffff00000001 which is definitely larger than the loops
31190 value. That explains Tvortkos observation:
31191
31192 "Because I am seeing udelay(500) (_occasionally_) being short, and
31193 that by delaying for some duration between 0us (yep) and 491us."
31194
31195 Make those variables explicitely u32 again, so this works for both 32
31196 and 64 bit.
31197
31198 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
31199 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
31200 Cc: stable@vger.kernel.org # >= 2.6.27
31201 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31202
31203 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
31204 Author: Al Viro <viro@ZenIV.linux.org.uk>
31205 Date: Thu Mar 8 17:51:19 2012 +0000
31206
31207 aio: fix the "too late munmap()" race
31208
31209 Current code has put_ioctx() called asynchronously from aio_fput_routine();
31210 that's done *after* we have killed the request that used to pin ioctx,
31211 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
31212 from progressing. As the result, we can end up with async call of
31213 put_ioctx() being the last one and possibly happening during exit_mmap()
31214 or elf_core_dump(), neither of which expects stray munmap() being done
31215 to them...
31216
31217 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
31218 with that, but that's all we care about - neither io_destroy() nor
31219 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
31220 does really_put_req(), so the ioctx teardown won't be done until then
31221 and we don't care about the contents of ioctx past that point.
31222
31223 Since actual freeing of these suckers is RCU-delayed, we don't need to
31224 bump ioctx refcount when request goes into list for async removal.
31225 All we need is rcu_read_lock held just over the ->ctx_lock-protected
31226 area in aio_fput_routine().
31227
31228 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31229 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
31230 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
31231 Cc: stable@vger.kernel.org
31232 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31233
31234 commit 002124c055afbf09b52226af65621999e8316448
31235 Author: Al Viro <viro@ZenIV.linux.org.uk>
31236 Date: Wed Mar 7 05:16:35 2012 +0000
31237
31238 aio: fix io_setup/io_destroy race
31239
31240 Have ioctx_alloc() return an extra reference, so that caller would drop it
31241 on success and not bother with re-grabbing it on failure exit. The current
31242 code is obviously broken - io_destroy() from another thread that managed
31243 to guess the address io_setup() would've returned would free ioctx right
31244 under us; gets especially interesting if aio_context_t * we pass to
31245 io_setup() points to PROT_READ mapping, so put_user() fails and we end
31246 up doing io_destroy() on kioctx another thread has just got freed...
31247
31248 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31249 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
31250 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
31251 Cc: stable@vger.kernel.org
31252 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31253
31254 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
31255 Author: Dan Carpenter <dan.carpenter@oracle.com>
31256 Date: Thu Mar 15 15:17:12 2012 -0700
31257
31258 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
31259
31260 strict_strtoul() writes a long but ->gamma_mode only has space to store an
31261 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
31262 well. I've changed it to use kstrtouint() instead.
31263
31264 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
31265 Acked-by: Inki Dae <inki.dae@samsung.com>
31266 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
31267 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
31268 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31269
31270 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
31271 Merge: e4b05b6 eae671f
31272 Author: Brad Spengler <spender@grsecurity.net>
31273 Date: Fri Mar 16 21:04:27 2012 -0400
31274
31275 Merge branch 'pax-test' into grsec-test
31276
31277 Conflicts:
31278 security/Kconfig
31279
31280 commit eae671fafe93f04685c04a089cc13efebc05d600
31281 Author: Brad Spengler <spender@grsecurity.net>
31282 Date: Fri Mar 16 20:58:01 2012 -0400
31283
31284 Update to pax-linux-3.2.11-test31.patch
31285 Introduction of the size_overflow plugin from Emese Revfy
31286 Many thanks to Emese for her hard work :)
31287
31288 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
31289 Merge: e55aa68 258c015
31290 Author: Brad Spengler <spender@grsecurity.net>
31291 Date: Thu Mar 15 20:59:19 2012 -0400
31292
31293 Merge branch 'pax-test' into grsec-test
31294
31295 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
31296 Author: Brad Spengler <spender@grsecurity.net>
31297 Date: Thu Mar 15 20:59:05 2012 -0400
31298
31299 fix ARM compilation
31300
31301 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
31302 Merge: 8f95ea9 55b7573
31303 Author: Brad Spengler <spender@grsecurity.net>
31304 Date: Wed Mar 14 19:33:41 2012 -0400
31305
31306 Merge branch 'pax-test' into grsec-test
31307
31308 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
31309 Author: Brad Spengler <spender@grsecurity.net>
31310 Date: Wed Mar 14 19:33:15 2012 -0400
31311
31312 Update to pax-linux-3.2.10-test28.patch
31313
31314 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
31315 Merge: c8786a2 886ac5e
31316 Author: Brad Spengler <spender@grsecurity.net>
31317 Date: Tue Mar 13 17:38:13 2012 -0400
31318
31319 Merge branch 'pax-test' into grsec-test
31320
31321 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
31322
31323 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
31324 Author: Brad Spengler <spender@grsecurity.net>
31325 Date: Tue Mar 13 17:37:44 2012 -0400
31326
31327 Update to pax-linux-3.2.10-test26.patch
31328
31329 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
31330 Merge: 219c982 c061fcf
31331 Author: Brad Spengler <spender@grsecurity.net>
31332 Date: Tue Mar 13 17:25:06 2012 -0400
31333
31334 Merge branch 'pax-test' into grsec-test
31335
31336 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
31337 Merge: 89373d2 3f4b3b2
31338 Author: Brad Spengler <spender@grsecurity.net>
31339 Date: Tue Mar 13 17:25:02 2012 -0400
31340
31341 Merge branch 'linux-3.2.y' into pax-test
31342
31343 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
31344 Merge: 54e19a3 89373d2
31345 Author: Brad Spengler <spender@grsecurity.net>
31346 Date: Mon Mar 12 17:23:57 2012 -0400
31347
31348 Merge branch 'pax-test' into grsec-test
31349
31350 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
31351 Merge: a778588 7459f11
31352 Author: Brad Spengler <spender@grsecurity.net>
31353 Date: Mon Mar 12 17:23:49 2012 -0400
31354
31355 Merge branch 'linux-3.2.y' into pax-test
31356
31357 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
31358 Merge: c4650f1 a778588
31359 Author: Brad Spengler <spender@grsecurity.net>
31360 Date: Mon Mar 12 16:51:25 2012 -0400
31361
31362 Merge branch 'pax-test' into grsec-test
31363
31364 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
31365 Author: Brad Spengler <spender@grsecurity.net>
31366 Date: Mon Mar 12 16:51:12 2012 -0400
31367
31368 Update to pax-linux-3.2.9-test24.patch
31369
31370 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
31371 Merge: fb2abee 1015790
31372 Author: Brad Spengler <spender@grsecurity.net>
31373 Date: Sun Mar 11 21:08:28 2012 -0400
31374
31375 Merge branch 'pax-test' into grsec-test
31376
31377 Conflicts:
31378 security/Kconfig
31379
31380 commit 101579028a736c224e590c7e12a7357018c424e1
31381 Author: Brad Spengler <spender@grsecurity.net>
31382 Date: Sun Mar 11 21:07:27 2012 -0400
31383
31384 Update to pax-linux-3.2.9-test22.patch
31385
31386 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
31387 Author: Brad Spengler <spender@grsecurity.net>
31388 Date: Sun Mar 11 11:02:17 2012 -0400
31389
31390 Allow 4096 CPUs
31391
31392 commit 96bae28cbe6a41d48e3b56e5904814096e956000
31393 Author: Brad Spengler <spender@grsecurity.net>
31394 Date: Sun Mar 11 10:25:58 2012 -0400
31395
31396 Use a per-cpu 48-bit counter instead of a global atomic64
31397 Initialize each counter to have the cpu number in the lower 16 bits
31398 instead of incrementing the counter each time by 1, perform the increments
31399 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
31400 any state
31401 idea from PaX Team
31402
31403 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
31404 Author: Brad Spengler <spender@grsecurity.net>
31405 Date: Sat Mar 10 20:33:12 2012 -0500
31406
31407 Special vnsec edition! :)
31408 Further reduce argv/env allowance for suid/sgid apps to 512KB
31409 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
31410 Clear 3GB personality on suid/sgid binaries
31411 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
31412 with the main purpose of throwing off program stack -> arg/env alignment
31413 Update documentation
31414
31415 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
31416 Author: Brad Spengler <spender@grsecurity.net>
31417 Date: Sat Mar 10 19:54:47 2012 -0500
31418
31419 Resolve skbuff.h warnings that turn into errors during compilation in
31420 the grsecurity directory with -Werror
31421
31422 commit 2023210ad43a944033fcacc660ce410888f562ee
31423 Merge: ece4383 5f66adf
31424 Author: Brad Spengler <spender@grsecurity.net>
31425 Date: Fri Mar 9 19:48:01 2012 -0500
31426
31427 Merge branch 'pax-test' into grsec-test
31428
31429 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
31430 Author: Brad Spengler <spender@grsecurity.net>
31431 Date: Fri Mar 9 19:47:06 2012 -0500
31432
31433 Add colorize plugin
31434
31435 commit ece4383e5e91c92d138c4df84225a70b552f4d69
31436 Merge: a366d0e ab4a5a1
31437 Author: Brad Spengler <spender@grsecurity.net>
31438 Date: Fri Mar 9 17:56:46 2012 -0500
31439
31440 Merge branch 'pax-test' into grsec-test
31441
31442 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
31443 Author: Brad Spengler <spender@grsecurity.net>
31444 Date: Fri Mar 9 17:56:26 2012 -0500
31445
31446 Update to pax-linux-3.2.9-test21.patch
31447
31448 commit a366d0ed963ce93fce10121c1100989d5f064e75
31449 Author: Mikulas Patocka <mpatocka@redhat.com>
31450 Date: Sun Mar 4 19:52:03 2012 -0500
31451
31452 mm: fix find_vma_prev
31453
31454 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
31455 management on PA-RISC.
31456
31457 After application of the patch, programs that allocate big arrays on the
31458 stack crash with segfault, for example, this will crash if compiled
31459 without optimization:
31460
31461 int main()
31462 {
31463 char array[200000];
31464 array[199999] = 0;
31465 return 0;
31466 }
31467
31468 The reason is that PA-RISC has up-growing stack and the stack is usually
31469 the last memory area. In the above example, a page fault happens above
31470 the stack.
31471
31472 Previously, if we passed too high address to find_vma_prev, it returned
31473 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
31474 change, it stores NULL in *pprev. Consequently, the stack area is not
31475 found and it is not expanded, as it used to be before the change.
31476
31477 This patch restores the old behavior and makes it return the last VMA in
31478 *pprev if the requested address is higher than address of any other VMA.
31479
31480 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
31481 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
31482 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31483
31484 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
31485 Author: Hugh Dickins <hughd@google.com>
31486 Date: Tue Mar 6 12:28:52 2012 -0800
31487
31488 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
31489
31490 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
31491 from shared anonymous: hoist the file case's -EINVAL up for both.
31492
31493 Signed-off-by: Hugh Dickins <hughd@google.com>
31494 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31495
31496 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
31497 Author: Al Viro <viro@ZenIV.linux.org.uk>
31498 Date: Mon Mar 5 06:38:42 2012 +0000
31499
31500 aout: move setup_arg_pages() prior to reading/mapping the binary
31501
31502 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31503 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31504
31505 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
31506 Author: Jan Beulich <JBeulich@suse.com>
31507 Date: Mon Mar 5 16:49:24 2012 +0000
31508
31509 vsprintf: make %pV handling compatible with kasprintf()
31510
31511 kasprintf() (and potentially other functions that I didn't run across so
31512 far) want to evaluate argument lists twice. Caring to do so for the
31513 primary list is obviously their job, but they can't reasonably be
31514 expected to check the format string for instances of %pV, which however
31515 need special handling too: On architectures like x86-64 (as opposed to
31516 e.g. ix86), using the same argument list twice doesn't produce the
31517 expected results, as an internally managed cursor gets updated during
31518 the first run.
31519
31520 Fix the problem by always acting on a copy of the original list when
31521 handling %pV.
31522
31523 Signed-off-by: Jan Beulich <jbeulich@suse.com>
31524 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31525
31526 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
31527 Author: Al Viro <viro@ZenIV.linux.org.uk>
31528 Date: Mon Mar 5 06:39:47 2012 +0000
31529
31530 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
31531
31532 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31533 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31534
31535 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
31536 Author: Christian König <deathsimple@vodafone.de>
31537 Date: Tue Feb 28 23:19:20 2012 +0100
31538
31539 drm/radeon: fix uninitialized variable
31540
31541 Without this fix the driver randomly treats
31542 textures as arrays and I'm really wondering
31543 why gcc isn't complaining about it.
31544
31545 Signed-off-by: Christian König <deathsimple@vodafone.de>
31546 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
31547 Signed-off-by: Dave Airlie <airlied@redhat.com>
31548
31549 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
31550 Author: H. Peter Anvin <hpa@zytor.com>
31551 Date: Fri Mar 2 10:43:48 2012 -0800
31552
31553 regset: Prevent null pointer reference on readonly regsets
31554
31555 The regset common infrastructure assumed that regsets would always
31556 have .get and .set methods, but not necessarily .active methods.
31557 Unfortunately people have since written regsets without .set methods.
31558
31559 Rather than putting in stub functions everywhere, handle regsets with
31560 null .get or .set methods explicitly.
31561
31562 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
31563 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
31564 Acked-by: Roland McGrath <roland@hack.frob.com>
31565 Cc: <stable@vger.kernel.org>
31566 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31567
31568 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
31569 Author: Brad Spengler <spender@grsecurity.net>
31570 Date: Mon Mar 5 18:12:57 2012 -0500
31571
31572 Fix compiler errors reported on forums
31573
31574 commit 1606774b48af24e6f99d99c624c0e447d4b66474
31575 Merge: 3127bd5 4ca2ffd
31576 Author: Brad Spengler <spender@grsecurity.net>
31577 Date: Mon Mar 5 17:31:35 2012 -0500
31578
31579 Merge branch 'pax-test' into grsec-test
31580
31581 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
31582 Author: Brad Spengler <spender@grsecurity.net>
31583 Date: Mon Mar 5 17:31:21 2012 -0500
31584
31585 Update to pax-linux-3.2.9-test20.patch
31586
31587 commit 3127bd581a292966b1057c7433219dac188c3720
31588 Author: Brad Spengler <spender@grsecurity.net>
31589 Date: Fri Mar 2 21:30:37 2012 -0500
31590
31591 Fix memory leak on logged exec_id check failure in /proc/pid/statm
31592 Thanks to Djalal Harouni for the report
31593
31594 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
31595 Merge: 0a56be8 9aa8288
31596 Author: Brad Spengler <spender@grsecurity.net>
31597 Date: Fri Mar 2 18:38:22 2012 -0500
31598
31599 Merge branch 'pax-test' into grsec-test
31600
31601 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
31602 Author: Brad Spengler <spender@grsecurity.net>
31603 Date: Fri Mar 2 18:37:43 2012 -0500
31604
31605 Update to pax-linux-3.2.9-test19.patch
31606
31607 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
31608 Merge: 9e66745 3f5c52a
31609 Author: Brad Spengler <spender@grsecurity.net>
31610 Date: Thu Mar 1 20:18:01 2012 -0500
31611
31612 Merge branch 'pax-test' into grsec-test
31613
31614 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
31615 Author: Brad Spengler <spender@grsecurity.net>
31616 Date: Thu Mar 1 20:16:56 2012 -0500
31617
31618 Update to pax-linux-3.2.9-test18.patch
31619
31620 commit ae53ec231d12719a36bf871f8c5841020ed692ee
31621 Merge: b255baf 44fb317
31622 Author: Brad Spengler <spender@grsecurity.net>
31623 Date: Thu Mar 1 20:15:31 2012 -0500
31624
31625 Merge branch 'linux-3.2.y' into pax-test
31626
31627 commit 9e667456c03eadea2f305be761abe4de9a5877a3
31628 Merge: 5e4e200 b255baf
31629 Author: Brad Spengler <spender@grsecurity.net>
31630 Date: Mon Feb 27 20:53:59 2012 -0500
31631
31632 Merge branch 'pax-test' into grsec-test
31633
31634 commit b255baf50365d39b406f43aab2c64745607baaa2
31635 Merge: 340ce90 1de504e
31636 Author: Brad Spengler <spender@grsecurity.net>
31637 Date: Mon Feb 27 20:53:29 2012 -0500
31638
31639 Merge branch 'linux-3.2.y' into pax-test
31640 Update to pax-linux-3.2.8-test17.patch
31641
31642 Conflicts:
31643 arch/x86/include/asm/i387.h
31644 arch/x86/kernel/process_32.c
31645 arch/x86/kernel/traps.c
31646
31647 commit 5e4e200ac530452884b625cb75de240e1e98c731
31648 Merge: 44306d7 340ce90
31649 Author: Brad Spengler <spender@grsecurity.net>
31650 Date: Mon Feb 27 18:02:13 2012 -0500
31651
31652 Merge branch 'pax-test' into grsec-test
31653
31654 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
31655 Author: Brad Spengler <spender@grsecurity.net>
31656 Date: Mon Feb 27 18:01:48 2012 -0500
31657
31658 Update to pax-linux-3.2.7-test17.patch
31659
31660 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
31661 Merge: 29d0b07 521c411
31662 Author: Brad Spengler <spender@grsecurity.net>
31663 Date: Sun Feb 26 19:04:15 2012 -0500
31664
31665 Merge branch 'pax-test' into grsec-test
31666
31667 Conflicts:
31668 Makefile
31669
31670 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
31671 Author: Brad Spengler <spender@grsecurity.net>
31672 Date: Sun Feb 26 19:03:33 2012 -0500
31673
31674 Update to pax-linux-3.2.7-test16.patch
31675
31676 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
31677 Author: Brad Spengler <spender@grsecurity.net>
31678 Date: Sun Feb 26 17:12:44 2012 -0500
31679
31680 fix typo
31681
31682 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
31683 Merge: f45b3be caa8f83
31684 Author: Brad Spengler <spender@grsecurity.net>
31685 Date: Sat Feb 25 20:59:27 2012 -0500
31686
31687 Merge branch 'pax-test' into grsec-test
31688
31689 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
31690 Author: Brad Spengler <spender@grsecurity.net>
31691 Date: Sat Feb 25 20:59:12 2012 -0500
31692
31693 Update to pax-linux-3.2.7-test15.patch
31694
31695 commit f45b3be34a345502a302e736af9a65742ddef7cb
31696 Merge: 62f35fd 9f1309b
31697 Author: Brad Spengler <spender@grsecurity.net>
31698 Date: Sat Feb 25 11:40:15 2012 -0500
31699
31700 Merge branch 'pax-test' into grsec-test
31701
31702 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
31703 Author: Brad Spengler <spender@grsecurity.net>
31704 Date: Sat Feb 25 11:39:57 2012 -0500
31705
31706 Update to pax-linux-3.2.7-test14.patch
31707
31708 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
31709 Author: Brad Spengler <spender@grsecurity.net>
31710 Date: Sat Feb 25 09:08:55 2012 -0500
31711
31712 We could log on attempted exploits of writing /proc/self/mem, but the current
31713 log function declares the access a read, so just swap the ordering for now
31714
31715 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
31716 Author: Brad Spengler <spender@grsecurity.net>
31717 Date: Sat Feb 25 08:46:14 2012 -0500
31718
31719 Log /proc/pid/mem attempts
31720
31721 commit 674471e581893a94d475acac3e3c4496209b3ac9
31722 Author: Brad Spengler <spender@grsecurity.net>
31723 Date: Sat Feb 25 08:15:00 2012 -0500
31724
31725 Make use of f_version for protecting /proc file structs (fine since we're not a directory
31726 or seq_file)
31727
31728 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
31729 Author: Brad Spengler <spender@grsecurity.net>
31730 Date: Fri Feb 24 20:02:19 2012 -0500
31731
31732 Fix ia64 compilation
31733
31734 commit 50dfea412fd395e0183c2ade368efa525d38b267
31735 Merge: 12db845 4c6f99b
31736 Author: Brad Spengler <spender@grsecurity.net>
31737 Date: Fri Feb 24 19:00:53 2012 -0500
31738
31739 Merge branch 'pax-test' into grsec-test
31740
31741 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
31742 Author: Brad Spengler <spender@grsecurity.net>
31743 Date: Fri Feb 24 19:00:36 2012 -0500
31744
31745 (6:57:09 PM) pipacs: but you can be proactive
31746 (Fix other-arch atomic64/REFCOUNT compilation failures)
31747
31748 commit 12db8453f6bb0a756f369c9151668ba1249bc478
31749 Author: Brad Spengler <spender@grsecurity.net>
31750 Date: Thu Feb 23 21:10:12 2012 -0500
31751
31752 Remove unnecessary copies, as suggested by solar
31753
31754 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
31755 Author: Brad Spengler <spender@grsecurity.net>
31756 Date: Thu Feb 23 20:59:35 2012 -0500
31757
31758 Make global_exec_counter static, as suggested by solar
31759
31760 commit e642091a475ebb3a30e81f85e7751233d0c2af43
31761 Author: Brad Spengler <spender@grsecurity.net>
31762 Date: Thu Feb 23 19:00:26 2012 -0500
31763
31764 sync with stable tree
31765
31766 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
31767 Author: Brad Spengler <spender@grsecurity.net>
31768 Date: Thu Feb 23 18:48:47 2012 -0500
31769
31770 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
31771 Remove handling of old kludge in chmod/fchmod
31772
31773 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
31774 Author: Brad Spengler <spender@grsecurity.net>
31775 Date: Thu Feb 23 18:18:49 2012 -0500
31776
31777 Apply umask checks to chmod/fchmod as well, as requested by sponsor
31778 Union the enforced umask with the existing one to produce minimal privilege
31779 Change umask type to u16
31780
31781 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
31782 Author: Brad Spengler <spender@grsecurity.net>
31783 Date: Wed Feb 22 18:16:11 2012 -0500
31784
31785 Add per-role umask enforcement to RBAC, requested by a sponsor
31786
31787 commit ad5ac943fe58199f1cc475912a39edb157acb77b
31788 Merge: dda0bb5 41722e3
31789 Author: Brad Spengler <spender@grsecurity.net>
31790 Date: Mon Feb 20 20:04:42 2012 -0500
31791
31792 Merge branch 'pax-test' into grsec-test
31793
31794 commit 41722e342e116d95f3d3556d66c97c888d752d39
31795 Author: Brad Spengler <spender@grsecurity.net>
31796 Date: Mon Feb 20 20:04:00 2012 -0500
31797
31798 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
31799 KERNEXEC plugin
31800
31801 commit dda0bb57137846a476a866c60db2681aaf6052c0
31802 Merge: 4fd554e d70927a
31803 Author: Brad Spengler <spender@grsecurity.net>
31804 Date: Mon Feb 20 20:01:41 2012 -0500
31805
31806 Merge branch 'pax-test' into grsec-test
31807
31808 commit d70927afec977d489a54c106a3c3ddc32e953050
31809 Merge: 1daebf1 9d0231c
31810 Author: Brad Spengler <spender@grsecurity.net>
31811 Date: Mon Feb 20 20:01:33 2012 -0500
31812
31813 Merge branch 'linux-3.2.y' into pax-test
31814
31815 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
31816 Author: Brad Spengler <spender@grsecurity.net>
31817 Date: Mon Feb 20 09:17:57 2012 -0500
31818
31819 Fix wrong logic on capability checks for switching roles, broke policies
31820 Thanks to Richard Kojedzinszky for reporting
31821
31822 commit 12f97d52ac603f24344f8d71569c412a307e9422
31823 Author: Brad Spengler <spender@grsecurity.net>
31824 Date: Thu Feb 16 21:20:10 2012 -0500
31825
31826 sparc64 compile fix
31827
31828 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
31829 Author: Brad Spengler <spender@grsecurity.net>
31830 Date: Thu Feb 16 18:38:32 2012 -0500
31831
31832 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
31833
31834 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
31835 Author: Brad Spengler <spender@grsecurity.net>
31836 Date: Thu Feb 16 18:18:01 2012 -0500
31837
31838 optimize the check a bit
31839
31840 commit 03159050f64989be44ae03be769cbed62a7cd2e5
31841 Author: Brad Spengler <spender@grsecurity.net>
31842 Date: Thu Feb 16 18:00:45 2012 -0500
31843
31844 smile VUPEN :D
31845 (limit argv+env to 1MB for suid/sgid binaries)
31846
31847 commit dd759d8800d225a397e4de49fe729c7d601298d2
31848 Author: Brad Spengler <spender@grsecurity.net>
31849 Date: Thu Feb 16 17:49:33 2012 -0500
31850
31851 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
31852
31853 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
31854 Author: Brad Spengler <spender@grsecurity.net>
31855 Date: Thu Feb 16 17:45:06 2012 -0500
31856
31857 Change the long long type for exec_id to the proper u64
31858
31859 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
31860 Author: Dan Carpenter <dan.carpenter@oracle.com>
31861 Date: Thu Feb 9 00:46:47 2012 +0000
31862
31863 isdn: type bug in isdn_net_header()
31864
31865 We use len to store the return value from eth_header(). eth_header()
31866 can return -ETH_HLEN (-14). We want to pass this back instead of
31867 truncating it to 65522 and returning that.
31868
31869 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
31870 Acked-by: Neil Horman <nhorman@tuxdriver.com>
31871 Signed-off-by: David S. Miller <davem@davemloft.net>
31872
31873 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
31874 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
31875 Date: Sat Feb 4 10:47:10 2012 +0100
31876
31877 exec: fix use-after-free bug in setup_new_exec()
31878
31879 Setting the task name is done within setup_new_exec() by accessing
31880 bprm->filename. However this happens after flush_old_exec().
31881 This may result in a use after free bug, flush_old_exec() may
31882 "complete" vfork_done, which will wake up the parent which in turn
31883 may free the passed in filename.
31884 To fix this add a new tcomm field in struct linux_binprm which
31885 contains the now early generated task name until it is used.
31886
31887 Fixes this bug on s390:
31888
31889 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
31890 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
31891 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
31892 Call Trace:
31893 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
31894 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
31895 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
31896 [<0000000000282b6c>] do_execve_common+0x410/0x514
31897 [<0000000000282cb6>] do_execve+0x46/0x58
31898 [<00000000005bce58>] kernel_execve+0x28/0x70
31899 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
31900 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
31901 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
31902 Last Breaking-Event-Address:
31903 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
31904
31905 Kernel panic - not syncing: Fatal exception: panic_on_oops
31906
31907 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
31908 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
31909 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
31910
31911 commit d758ee9f5230893dabb5aab737b3109684bde196
31912 Author: Dan Carpenter <dan.carpenter@oracle.com>
31913 Date: Fri Feb 10 09:03:58 2012 +0100
31914
31915 relay: prevent integer overflow in relay_open()
31916
31917 "subbuf_size" and "n_subbufs" come from the user and they need to be
31918 capped to prevent an integer overflow.
31919
31920 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
31921 Cc: stable@kernel.org
31922 Signed-off-by: Jens Axboe <axboe@kernel.dk>
31923
31924 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
31925 Merge: b1baadf 1daebf1
31926 Author: Brad Spengler <spender@grsecurity.net>
31927 Date: Mon Feb 13 17:47:04 2012 -0500
31928
31929 Merge branch 'pax-test' into grsec-test
31930
31931 Conflicts:
31932 fs/proc/base.c
31933
31934 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
31935 Merge: 1413df2 c2db2e2
31936 Author: Brad Spengler <spender@grsecurity.net>
31937 Date: Mon Feb 13 17:45:54 2012 -0500
31938
31939 Merge branch 'linux-3.2.y' into pax-test
31940
31941 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
31942 Author: Brad Spengler <spender@grsecurity.net>
31943 Date: Sun Feb 12 16:44:05 2012 -0500
31944
31945 add missing declaration
31946
31947 commit 3981059c35e8463002517935c28f3d74b8e3703c
31948 Author: Brad Spengler <spender@grsecurity.net>
31949 Date: Sun Feb 12 16:36:04 2012 -0500
31950
31951 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
31952 in addition to existing checks (this handles the setresuid ruid = euid case)
31953
31954 commit 0beab03263c773f463412c350ad9064b44b6ede0
31955 Author: Brad Spengler <spender@grsecurity.net>
31956 Date: Sun Feb 12 16:13:40 2012 -0500
31957
31958 Revert setreuid changes when RBAC is enabled, breaks freeradius
31959 I'll fix the learning issue Lavish reported a different way through
31960 gradm modifications
31961
31962 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
31963
31964 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
31965 Author: Brad Spengler <spender@grsecurity.net>
31966 Date: Sat Feb 11 14:22:46 2012 -0500
31967
31968 copy exec_id on fork
31969
31970 commit 000c08e0890630086b2ed04084050ed856a7ec31
31971 Author: Brad Spengler <spender@grsecurity.net>
31972 Date: Fri Feb 10 20:00:36 2012 -0500
31973
31974 compile fix
31975
31976 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
31977 Author: Brad Spengler <spender@grsecurity.net>
31978 Date: Fri Feb 10 19:19:52 2012 -0500
31979
31980 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
31981 denies reading of sensitive /proc/pid entries where the file descriptor
31982 was opened in a different task than the one performing the read
31983
31984 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
31985 Author: Brad Spengler <spender@grsecurity.net>
31986 Date: Fri Feb 10 17:43:24 2012 -0500
31987
31988 Remove duplicate signal check
31989
31990 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
31991 Merge: 4eba97e 1413df2
31992 Author: Brad Spengler <spender@grsecurity.net>
31993 Date: Wed Feb 8 19:24:34 2012 -0500
31994
31995 Merge branch 'pax-test' into grsec-test
31996
31997 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
31998 Author: Brad Spengler <spender@grsecurity.net>
31999 Date: Wed Feb 8 19:24:08 2012 -0500
32000
32001 Merge changes from pax-linux-3.2.4-test11.patch
32002
32003 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
32004 Merge: 0e058dd 8dd90a2
32005 Author: Brad Spengler <spender@grsecurity.net>
32006 Date: Mon Feb 6 17:50:12 2012 -0500
32007
32008 Merge branch 'pax-test' into grsec-test
32009
32010 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
32011 Author: Brad Spengler <spender@grsecurity.net>
32012 Date: Mon Feb 6 17:49:07 2012 -0500
32013
32014 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
32015
32016 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
32017 Merge: 7e4169c 6133971
32018 Author: Brad Spengler <spender@grsecurity.net>
32019 Date: Mon Feb 6 17:48:57 2012 -0500
32020
32021 Merge branch 'linux-3.2.y' into pax-test
32022
32023 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
32024 Author: Brad Spengler <spender@grsecurity.net>
32025 Date: Sun Feb 5 19:24:45 2012 -0500
32026
32027 We now allow configurations with no PaX markings, giving the system no way to override the defaults
32028
32029 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
32030 Author: Brad Spengler <spender@grsecurity.net>
32031 Date: Sun Feb 5 10:01:23 2012 -0500
32032
32033 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
32034
32035 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
32036 Author: Brad Spengler <spender@grsecurity.net>
32037 Date: Sat Feb 4 21:01:16 2012 -0500
32038
32039 Improve security of ptrace-based monitoring/sandboxing
32040 See:
32041 http://article.gmane.org/gmane.linux.kernel.lsm/15156
32042
32043 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
32044 Author: Brad Spengler <spender@grsecurity.net>
32045 Date: Fri Feb 3 20:42:55 2012 -0500
32046
32047 fix typo
32048
32049 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
32050 Author: Brad Spengler <spender@grsecurity.net>
32051 Date: Fri Feb 3 20:25:38 2012 -0500
32052
32053 Reported by lavish on IRC:
32054 If a suid/sgid binary did not learn any setuid/setgid call during learning,
32055 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
32056 any restrictions on uid/gid changes. uid and gid can however be changed
32057 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
32058 euid/egid.
32059
32060 My fix:
32061 POSIX doesn't specify whether unprivileged users can perform the above
32062 setresuid/setresgid as an unprivileged user, though Linux has historically
32063 permitted them. Modify this behavior when RBAC is enabled to require
32064 CAP_SETUID/CAP_SETGID for these operations.
32065
32066 Thanks to Lavish for the report!
32067
32068 Conflicts:
32069
32070 kernel/sys.c
32071
32072 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
32073 Merge: ba586eb 7e4169c
32074 Author: Brad Spengler <spender@grsecurity.net>
32075 Date: Fri Feb 3 20:10:21 2012 -0500
32076
32077 Merge branch 'pax-test' into grsec-test
32078
32079 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
32080 Author: Brad Spengler <spender@grsecurity.net>
32081 Date: Fri Feb 3 20:10:05 2012 -0500
32082
32083 Merge changes from pax-linux-3.2.4-test9.patch
32084
32085 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
32086 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
32087 Date: Thu Feb 2 11:34:09 2012 +1030
32088
32089 Fix race in process_vm_rw_core
32090
32091 This fixes the race in process_vm_core found by Oleg (see
32092
32093 http://article.gmane.org/gmane.linux.kernel/1235667/
32094
32095 for details).
32096
32097 This has been updated since I last sent it as the creation of the new
32098 mm_access() function did almost exactly the same thing as parts of the
32099 previous version of this patch did.
32100
32101 In order to use mm_access() even when /proc isn't enabled, we move it to
32102 kernel/fork.c where other related process mm access functions already
32103 are.
32104
32105 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
32106 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32107
32108 Conflicts:
32109
32110 fs/proc/base.c
32111 mm/process_vm_access.c
32112
32113 commit b9194d60fb9fe579f5c34817ed822abde18939a0
32114 Author: Oleg Nesterov <oleg@redhat.com>
32115 Date: Tue Jan 31 17:15:11 2012 +0100
32116
32117 proc: make sure mem_open() doesn't pin the target's memory
32118
32119 Once /proc/pid/mem is opened, the memory can't be released until
32120 mem_release() even if its owner exits.
32121
32122 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
32123 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
32124 before access_remote_vm(), this verifies that this mm is still alive.
32125
32126 I am not sure what should mem_rw() return if atomic_inc_not_zero()
32127 fails. With this patch it returns zero to match the "mm == NULL" case,
32128 may be it should return -EINVAL like it did before e268337d.
32129
32130 Perhaps it makes sense to add the additional fatal_signal_pending()
32131 check into the main loop, to ensure we do not hold this memory if
32132 the target task was oom-killed.
32133
32134 Cc: stable@kernel.org
32135 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
32136 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32137
32138 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
32139 Author: Oleg Nesterov <oleg@redhat.com>
32140 Date: Tue Jan 31 17:14:38 2012 +0100
32141
32142 proc: mem_release() should check mm != NULL
32143
32144 mem_release() can hit mm == NULL, add the necessary check.
32145
32146 Cc: stable@kernel.org
32147 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
32148 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32149
32150 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
32151 Author: Oleg Nesterov <oleg@redhat.com>
32152 Date: Tue Jan 31 17:14:54 2012 +0100
32153
32154 note: redisabled mem_write
32155
32156 proc: unify mem_read() and mem_write()
32157
32158 No functional changes, cleanup and preparation.
32159
32160 mem_read() and mem_write() are very similar. Move this code into the
32161 new common helper, mem_rw(), which takes the additional "int write"
32162 argument.
32163
32164 Cc: stable@kernel.org
32165 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
32166 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32167
32168 Conflicts:
32169
32170 fs/proc/base.c
32171
32172 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
32173 Merge: 3903f01 01fee18
32174 Author: Brad Spengler <spender@grsecurity.net>
32175 Date: Fri Feb 3 19:50:40 2012 -0500
32176
32177 Merge branch 'pax-test' into grsec-test
32178
32179 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
32180 Author: Brad Spengler <spender@grsecurity.net>
32181 Date: Fri Feb 3 19:49:46 2012 -0500
32182
32183 Merge changes from pax-linux-3.2.4-test8.patch
32184
32185 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
32186 Merge: 201c0db 141936c
32187 Author: Brad Spengler <spender@grsecurity.net>
32188 Date: Fri Feb 3 19:49:01 2012 -0500
32189
32190 Merge branch 'linux-3.2.y' into pax-test
32191
32192 commit 3903f0172ecadf7a575ba3535402a1506133640a
32193 Author: Brad Spengler <spender@grsecurity.net>
32194 Date: Mon Jan 30 23:26:44 2012 -0500
32195
32196 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
32197
32198 We'll whitelist required directories for compatibility instead of requiring
32199 that people disable the feature entirely if they use SELinux, fuse, etc
32200
32201 Conflicts:
32202
32203 fs/sysfs/mount.c
32204
32205 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
32206 Author: Brad Spengler <spender@grsecurity.net>
32207 Date: Sun Jan 29 01:12:19 2012 -0500
32208
32209 perform RBAC check if TPE is on but match fails, matches previous behavior
32210
32211 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
32212 Author: Brad Spengler <spender@grsecurity.net>
32213 Date: Sat Jan 28 13:17:06 2012 -0500
32214
32215 log more information about the reason for a TPE denial for novice users, requested by a sponsor
32216
32217 commit efefd67008cbad8a8591e2484410966a300a39a5
32218 Author: Brad Spengler <spender@grsecurity.net>
32219 Date: Fri Jan 27 19:58:53 2012 -0500
32220
32221 merge upstream sha512 changes
32222
32223 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
32224 Author: Brad Spengler <spender@grsecurity.net>
32225 Date: Fri Jan 27 19:49:07 2012 -0500
32226
32227 drop lock on error in xfs_readlink
32228
32229 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
32230
32231 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
32232 Author: Li Wang <liwang@nudt.edu.cn>
32233 Date: Thu Jan 19 09:44:36 2012 +0800
32234
32235 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
32236
32237 ecryptfs_write() can enter an infinite loop when truncating a file to a
32238 size larger than 4G. This only happens on architectures where size_t is
32239 represented by 32 bits.
32240
32241 This was caused by a size_t overflow due to it incorrectly being used to
32242 store the result of a calculation which uses potentially large values of
32243 type loff_t.
32244
32245 [tyhicks@canonical.com: rewrite subject and commit message]
32246 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
32247 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
32248 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
32249 Cc: <stable@vger.kernel.org>
32250 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
32251
32252 commit a7607747d0f74f357d78bb796d70635dd05f46e8
32253 Author: Tyler Hicks <tyhicks@canonical.com>
32254 Date: Thu Jan 19 20:33:44 2012 -0600
32255
32256 eCryptfs: Check inode changes in setattr
32257
32258 Most filesystems call inode_change_ok() very early in ->setattr(), but
32259 eCryptfs didn't call it at all. It allowed the lower filesystem to make
32260 the call in its ->setattr() function. Then, eCryptfs would copy the
32261 appropriate inode attributes from the lower inode to the eCryptfs inode.
32262
32263 This patch changes that and actually calls inode_change_ok() on the
32264 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
32265 would happen earlier in ecryptfs_setattr(), but there are some possible
32266 inode initialization steps that must happen first.
32267
32268 Since the call was already being made on the lower inode, the change in
32269 functionality should be minimal, except for the case of a file extending
32270 truncate call. In that case, inode_newsize_ok() was never being
32271 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
32272 maximum file size errors early on, eCryptfs would encrypt zeroed pages
32273 and write them to the lower filesystem until the lower filesystem's
32274 write path caught the error in generic_write_checks(). This patch
32275 introduces a new function, called ecryptfs_inode_newsize_ok(), which
32276 checks if the new lower file size is within the appropriate limits when
32277 the truncate operation will be growing the lower file.
32278
32279 In summary this change prevents eCryptfs truncate operations (and the
32280 resulting page encryptions), which would exceed the lower filesystem
32281 limits or FSIZE rlimits, from ever starting.
32282
32283 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
32284 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
32285 Cc: <stable@vger.kernel.org>
32286
32287 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
32288 Author: Tyler Hicks <tyhicks@canonical.com>
32289 Date: Wed Jan 18 18:30:04 2012 -0600
32290
32291 eCryptfs: Make truncate path killable
32292
32293 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
32294 page, zeroes out the appropriate portions, and then encrypts the page
32295 before writing it to the lower filesystem. It was unkillable and due to
32296 the lack of sparse file support could result in tying up a large portion
32297 of system resources, while encrypting pages of zeros, with no way for
32298 the truncate operation to be stopped from userspace.
32299
32300 This patch adds the ability for ecryptfs_write() to detect a pending
32301 fatal signal and return as gracefully as possible. The intent is to
32302 leave the lower file in a useable state, while still allowing a user to
32303 break out of the encryption loop. If a pending fatal signal is detected,
32304 the eCryptfs inode size is updated to reflect the modified inode size
32305 and then -EINTR is returned.
32306
32307 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
32308 Cc: <stable@vger.kernel.org>
32309
32310 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
32311 Author: Tyler Hicks <tyhicks@canonical.com>
32312 Date: Tue Jan 24 10:02:22 2012 -0600
32313
32314 eCryptfs: Fix oops when printing debug info in extent crypto functions
32315
32316 If pages passed to the eCryptfs extent-based crypto functions are not
32317 mapped and the module parameter ecryptfs_verbosity=1 was specified at
32318 loading time, a NULL pointer dereference will occur.
32319
32320 Note that this wouldn't happen on a production system, as you wouldn't
32321 pass ecryptfs_verbosity=1 on a production system. It leaks private
32322 information to the system logs and is for debugging only.
32323
32324 The debugging info printed in these messages is no longer very useful
32325 and rather than doing a kmap() in these debugging paths, it will be
32326 better to simply remove the debugging paths completely.
32327
32328 https://launchpad.net/bugs/913651
32329
32330 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
32331 Reported-by: Daniel DeFreez
32332 Cc: <stable@vger.kernel.org>
32333
32334 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
32335 Author: Tyler Hicks <tyhicks@canonical.com>
32336 Date: Thu Jan 12 11:30:44 2012 +0100
32337
32338 eCryptfs: Sanitize write counts of /dev/ecryptfs
32339
32340 A malicious count value specified when writing to /dev/ecryptfs may
32341 result in a a very large kernel memory allocation.
32342
32343 This patch peeks at the specified packet payload size, adds that to the
32344 size of the packet headers and compares the result with the write count
32345 value. The resulting maximum memory allocation size is approximately 532
32346 bytes.
32347
32348 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
32349 Reported-by: Sasha Levin <levinsasha928@gmail.com>
32350 Cc: <stable@vger.kernel.org>
32351
32352 commit 96dcb7282d323813181a1791f51c0ab7696b675b
32353 Merge: 6c09fa5 201c0db
32354 Author: Brad Spengler <spender@grsecurity.net>
32355 Date: Fri Jan 27 19:44:15 2012 -0500
32356
32357 Merge branch 'pax-test' into grsec-test
32358
32359 commit 201c0dbf177527367676028151e36d340923f033
32360 Author: Brad Spengler <spender@grsecurity.net>
32361 Date: Fri Jan 27 19:43:24 2012 -0500
32362
32363 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
32364 on loading modules with empty sections
32365
32366 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
32367 Author: Brad Spengler <spender@grsecurity.net>
32368 Date: Fri Jan 27 19:42:13 2012 -0500
32369
32370 compile fix
32371
32372 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
32373 Author: Brad Spengler <spender@grsecurity.net>
32374 Date: Fri Jan 27 19:39:28 2012 -0500
32375
32376 use LSM flags instead of duplicating checks
32377
32378 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
32379 Merge: 44b9f11 558718b
32380 Author: Brad Spengler <spender@grsecurity.net>
32381 Date: Fri Jan 27 18:56:23 2012 -0500
32382
32383 Merge branch 'pax-test' into grsec-test
32384
32385 commit 558718b2217beff69edf60f34a6f9893d910e9ac
32386 Author: Brad Spengler <spender@grsecurity.net>
32387 Date: Fri Jan 27 18:56:04 2012 -0500
32388
32389 Merge changes from pax-linux-3.2.2-test6.patch
32390
32391 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
32392 Author: Brad Spengler <spender@grsecurity.net>
32393 Date: Fri Jan 27 18:53:55 2012 -0500
32394
32395 don't increase the size of task_struct when unnecessary
32396 change ptrace_readexec log message
32397
32398 commit a9c9626e054adb885883aa64f85506852894dd33
32399 Author: Brad Spengler <spender@grsecurity.net>
32400 Date: Fri Jan 27 18:16:28 2012 -0500
32401
32402 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
32403 the protection applies to all unreadable binaries.
32404
32405 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
32406 Merge: 7b3f3af 05a1349
32407 Author: Brad Spengler <spender@grsecurity.net>
32408 Date: Wed Jan 25 20:52:09 2012 -0500
32409
32410 Merge branch 'pax-test' into grsec-test
32411
32412 Conflicts:
32413 block/scsi_ioctl.c
32414 drivers/scsi/sd.c
32415 fs/proc/base.c
32416
32417 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
32418 Author: Brad Spengler <spender@grsecurity.net>
32419 Date: Wed Jan 25 20:47:36 2012 -0500
32420
32421 Resync with pax-linux-3.2.2-test5.patch
32422
32423 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
32424 Merge: c6d443d 3499d64
32425 Author: Brad Spengler <spender@grsecurity.net>
32426 Date: Wed Jan 25 20:45:16 2012 -0500
32427
32428 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
32429
32430 Conflicts:
32431 ipc/shm.c
32432
32433 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
32434 Author: Brad Spengler <spender@grsecurity.net>
32435 Date: Tue Jan 24 19:42:01 2012 -0500
32436
32437 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
32438 (may be changed if it breaks some userland), the other has its own
32439 config option
32440
32441 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
32442 the syscall or /proc/sys.
32443
32444 Second feature requires read access to a suid/sgid binary in order
32445 to ptrace it, preventing infoleaking of binaries in situations where
32446 the admin has specified 4711 or 2711 perms. Feature has been
32447 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
32448 a sysctl entry of ptrace_readexec
32449
32450 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
32451 Author: Brad Spengler <spender@grsecurity.net>
32452 Date: Sun Jan 22 14:37:10 2012 -0500
32453
32454 Compilation fixes
32455
32456 commit cd400e21c7c352baba47d6f375297a7847afb33a
32457 Author: Brad Spengler <spender@grsecurity.net>
32458 Date: Sun Jan 22 14:20:27 2012 -0500
32459
32460 Initial port of grsecurity 2.2.2 for Linux 3.2.1
32461 Note that the new syscalls added to this kernel for remote process read/write
32462 are subject to ptrace hardening/other relevant RBAC features
32463 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
32464 as well
32465 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
32466 you should be using a version of gcc with plugin support
32467
32468 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
32469 Author: Brad Spengler <spender@grsecurity.net>
32470 Date: Sun Jan 22 11:47:31 2012 -0500
32471
32472 Import pax-linux-3.2.1-test5.patch
32473 commit bfd7db842f835f9837cd43644459b3a95b0b488d
32474 Author: Brad Spengler <spender@grsecurity.net>
32475 Date: Sun Jan 22 11:02:02 2012 -0500
32476
32477 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
32478 instead of returning -EACCES
32479 thanks to Wraith from irc for the report
32480
32481 commit 873ac13576506cd48ddb527c2540f274e249da50
32482 Merge: 34083dd 8a44fcc
32483 Author: Brad Spengler <spender@grsecurity.net>
32484 Date: Fri Jan 20 18:04:02 2012 -0500
32485
32486 Merge branch 'pax-test' into grsec-test
32487
32488 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
32489 Author: Brad Spengler <spender@grsecurity.net>
32490 Date: Fri Jan 20 18:02:15 2012 -0500
32491
32492 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
32493 Denies executable shared memory when MPROTECT is active
32494 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
32495
32496 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
32497 Author: Brad Spengler <spender@grsecurity.net>
32498 Date: Thu Jan 19 20:23:14 2012 -0500
32499
32500 Introduce new GRKERNSEC_SETXID implementation
32501 We're not able to change the credentials of other threads in the process until at most
32502 one syscall after the first thread does it, since we mark the threads as needing rescheduling
32503 and such work occurs on syscall exit.
32504 This does however ensure that we're only modifying the current task's credentials
32505 which upholds RCU expectations
32506
32507 Many thanks to corsac for testing
32508
32509 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
32510 Author: Brad Spengler <spender@grsecurity.net>
32511 Date: Thu Jan 19 17:42:48 2012 -0500
32512
32513 Simplify backport
32514
32515 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
32516 Author: Brad Spengler <spender@grsecurity.net>
32517 Date: Thu Jan 19 17:08:16 2012 -0500
32518
32519 Commit the latest silent fix for a local privilege escalation from Linus
32520 Also disable writing to /proc/pid/mem
32521 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
32522
32523 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
32524 Merge: 0394a3f 7e6299b
32525 Author: Brad Spengler <spender@grsecurity.net>
32526 Date: Wed Jan 18 20:22:09 2012 -0500
32527
32528 Merge branch 'pax-test' into grsec-test
32529
32530 commit 7e6299b4733c082dde930375dd207b63237751ec
32531 Merge: 83555fb 9bb1282
32532 Author: Brad Spengler <spender@grsecurity.net>
32533 Date: Wed Jan 18 20:21:37 2012 -0500
32534
32535 Merge branch 'linux-3.1.y' into pax-test
32536
32537 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
32538 Author: Jesper Juhl <jj@chaosbits.net>
32539 Date: Sun Jan 8 22:44:29 2012 +0100
32540
32541 audit: always follow va_copy() with va_end()
32542
32543 A call to va_copy() should always be followed by a call to va_end() in
32544 the same function. In kernel/autit.c::audit_log_vformat() this is not
32545 always done. This patch makes sure va_end() is always called.
32546
32547 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
32548 Cc: Al Viro <viro@zeniv.linux.org.uk>
32549 Cc: Eric Paris <eparis@redhat.com>
32550 Cc: Andrew Morton <akpm@linux-foundation.org>
32551 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32552
32553 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
32554 Author: Andi Kleen <ak@linux.intel.com>
32555 Date: Thu Jan 12 17:20:30 2012 -0800
32556
32557 panic: don't print redundant backtraces on oops
32558
32559 When an oops causes a panic and panic prints another backtrace it's pretty
32560 common to have the original oops data be scrolled away on a 80x50 screen.
32561
32562 The second backtrace is quite redundant and not needed anyways.
32563
32564 So don't print the panic backtrace when oops_in_progress is true.
32565
32566 [akpm@linux-foundation.org: add comment]
32567 Signed-off-by: Andi Kleen <ak@linux.intel.com>
32568 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
32569 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
32570 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32571
32572 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
32573 Author: Miklos Szeredi <mszeredi@suse.cz>
32574 Date: Thu Jan 12 17:59:46 2012 +0100
32575
32576 fsnotify: don't BUG in fsnotify_destroy_mark()
32577
32578 Removing the parent of a watched file results in "kernel BUG at
32579 fs/notify/mark.c:139".
32580
32581 To reproduce
32582
32583 add "-w /tmp/audit/dir/watched_file" to audit.rules
32584 rm -rf /tmp/audit/dir
32585
32586 This is caused by fsnotify_destroy_mark() being called without an
32587 extra reference taken by the caller.
32588
32589 Reported by Francesco Cosoleto here:
32590
32591 https://bugzilla.novell.com/show_bug.cgi?id=689860
32592
32593 Fix by removing the BUG_ON and adding a comment about not accessing mark after
32594 the iput.
32595
32596 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
32597 CC: stable@vger.kernel.org
32598 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32599
32600 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
32601 Author: Paolo Bonzini <pbonzini@redhat.com>
32602 Date: Thu Jan 12 16:01:28 2012 +0100
32603
32604 block: fail SCSI passthrough ioctls on partition devices
32605
32606 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
32607 will pass the command to the underlying block device. This is
32608 well-known, but it is also a large security problem when (via Unix
32609 permissions, ACLs, SELinux or a combination thereof) a program or user
32610 needs to be granted access only to part of the disk.
32611
32612 This patch lets partitions forward a small set of harmless ioctls;
32613 others are logged with printk so that we can see which ioctls are
32614 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
32615 Of course it was being sent to a (partition on a) hard disk, so it would
32616 have failed with ENOTTY and the patch isn't changing anything in
32617 practice. Still, I'm treating it specially to avoid spamming the logs.
32618
32619 In principle, this restriction should include programs running with
32620 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
32621 /dev/sdb, it still should not be able to read/write outside the
32622 boundaries of /dev/sda2 independent of the capabilities. However, for
32623 now programs with CAP_SYS_RAWIO will still be allowed to send the
32624 ioctls. Their actions will still be logged.
32625
32626 This patch does not affect the non-libata IDE driver. That driver
32627 however already tests for bd != bd->bd_contains before issuing some
32628 ioctl; it could be restricted further to forbid these ioctls even for
32629 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
32630
32631 Cc: linux-scsi@vger.kernel.org
32632 Cc: Jens Axboe <axboe@kernel.dk>
32633 Cc: James Bottomley <JBottomley@parallels.com>
32634 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
32635 [ Make it also print the command name when warning - Linus ]
32636 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32637
32638 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
32639 Author: Paolo Bonzini <pbonzini@redhat.com>
32640 Date: Thu Jan 12 16:01:27 2012 +0100
32641
32642 block: add and use scsi_blk_cmd_ioctl
32643
32644 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
32645
32646 The function will then be enhanced to detect partition block devices
32647 and, in that case, subject the ioctls to whitelisting.
32648
32649 Cc: linux-scsi@vger.kernel.org
32650 Cc: Jens Axboe <axboe@kernel.dk>
32651 Cc: James Bottomley <JBottomley@parallels.com>
32652 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
32653 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
32654
32655 commit 97a79814903fc350e1d13704ea31528a42705401
32656 Author: Kees Cook <keescook@chromium.org>
32657 Date: Sat Jan 7 10:41:04 2012 -0800
32658
32659 audit: treat s_id as an untrusted string
32660
32661 The use of s_id should go through the untrusted string path, just to be
32662 extra careful.
32663
32664 Signed-off-by: Kees Cook <keescook@chromium.org>
32665 Acked-by: Mimi Zohar <zohar@us.ibm.com>
32666 Signed-off-by: Eric Paris <eparis@redhat.com>
32667
32668 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
32669 Author: Xi Wang <xi.wang@gmail.com>
32670 Date: Tue Dec 20 18:39:41 2011 -0500
32671
32672 audit: fix signedness bug in audit_log_execve_info()
32673
32674 In the loop, a size_t "len" is used to hold the return value of
32675 audit_log_single_execve_arg(), which returns -1 on error. In that
32676 case the error handling (len <= 0) will be bypassed since "len" is
32677 unsigned, and the loop continues with (p += len) being wrapped.
32678 Change the type of "len" to signed int to fix the error handling.
32679
32680 size_t len;
32681 ...
32682 for (...) {
32683 len = audit_log_single_execve_arg(...);
32684 if (len <= 0)
32685 break;
32686 p += len;
32687 }
32688
32689 Signed-off-by: Xi Wang <xi.wang@gmail.com>
32690 Signed-off-by: Eric Paris <eparis@redhat.com>
32691
32692 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
32693 Author: Dan Carpenter <dan.carpenter@oracle.com>
32694 Date: Tue Jan 17 03:28:51 2012 -0300
32695
32696 [media] ds3000: using logical && instead of bitwise &
32697
32698 The intent here was to test if the FE_HAS_LOCK was set. The current
32699 test is equivalent to "if (status) { ..."
32700
32701 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
32702 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
32703
32704 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
32705 Author: Brad Spengler <spender@grsecurity.net>
32706 Date: Mon Jan 16 13:10:38 2012 -0500
32707
32708 Ignore the 0 signal for protected task RBAC checks
32709
32710 commit d513acd55f7a683f6e146a4f570cdb63300479ab
32711 Author: Brad Spengler <spender@grsecurity.net>
32712 Date: Mon Jan 16 11:56:13 2012 -0500
32713
32714 whitespace cleanup
32715
32716 commit ced261c4b82818c700aff8487f647f6f3e5b5122
32717 Merge: d48751f 83555fb
32718 Author: Brad Spengler <spender@grsecurity.net>
32719 Date: Fri Jan 13 20:12:54 2012 -0500
32720
32721 Merge branch 'pax-test' into grsec-test
32722
32723 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
32724 Merge: fcd8129 93dad39
32725 Author: Brad Spengler <spender@grsecurity.net>
32726 Date: Fri Jan 13 20:12:43 2012 -0500
32727
32728 Merge branch 'linux-3.1.y' into pax-test
32729
32730 commit d48751f3919ae855fda0ff6c149db82442329253
32731 Author: Brad Spengler <spender@grsecurity.net>
32732 Date: Wed Jan 11 19:05:47 2012 -0500
32733
32734 Call our own set_user when forcing change to new id
32735
32736 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
32737 Merge: e6578ff fcd8129
32738 Author: Brad Spengler <spender@grsecurity.net>
32739 Date: Tue Jan 10 16:00:10 2012 -0500
32740
32741 Merge branch 'pax-test' into grsec-test
32742
32743 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
32744 Author: Brad Spengler <spender@grsecurity.net>
32745 Date: Tue Jan 10 15:58:43 2012 -0500
32746
32747 Merge changes from pax-linux-3.1.8-test23.patch
32748
32749 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
32750 Merge: 8859ec3 a120549
32751 Author: Brad Spengler <spender@grsecurity.net>
32752 Date: Fri Jan 6 21:45:56 2012 -0500
32753
32754 Merge branch 'pax-test' into grsec-test
32755
32756 commit a12054967a77090de1caa07c41e694a77db4e237
32757 Author: Brad Spengler <spender@grsecurity.net>
32758 Date: Fri Jan 6 21:45:30 2012 -0500
32759
32760 Merge changes from pax-linux-3.1.8-test22.patch
32761
32762 commit 8859ec32f9815c274df65448f9f2960176c380d3
32763 Merge: a5016b4 ddd4114
32764 Author: Brad Spengler <spender@grsecurity.net>
32765 Date: Fri Jan 6 21:26:08 2012 -0500
32766
32767 Merge branch 'pax-test' into grsec-test
32768
32769 Conflicts:
32770 fs/binfmt_elf.c
32771 security/Kconfig
32772
32773 commit ddd41147e158a79704983a409b7433eba797cf66
32774 Author: Brad Spengler <spender@grsecurity.net>
32775 Date: Fri Jan 6 21:12:42 2012 -0500
32776
32777 Resync with PaX patch (whitespace difference)
32778
32779 commit 29e569df8205c5f0e043fe4803aa984406c8b118
32780 Author: Brad Spengler <spender@grsecurity.net>
32781 Date: Fri Jan 6 21:09:47 2012 -0500
32782
32783 Merge changes from pax-linux-3.1.8-test21.patch
32784
32785 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
32786 Merge: 0124c92 04231d5
32787 Author: Brad Spengler <spender@grsecurity.net>
32788 Date: Fri Jan 6 18:52:20 2012 -0500
32789
32790 Merge branch 'pax-test' into grsec-test
32791
32792 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
32793 Merge: 7bdddeb a919904
32794 Author: Brad Spengler <spender@grsecurity.net>
32795 Date: Fri Jan 6 18:51:50 2012 -0500
32796
32797 Merge branch 'linux-3.1.y' into pax-test
32798
32799 Conflicts:
32800 include/net/flow.h
32801
32802 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
32803 Author: Brad Spengler <spender@grsecurity.net>
32804 Date: Fri Jan 6 18:33:05 2012 -0500
32805
32806 Make GRKERNSEC_SETXID option compatible with credential debugging
32807
32808 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
32809 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
32810 Date: Wed Dec 28 15:57:11 2011 -0800
32811
32812 mm/mempolicy.c: refix mbind_range() vma issue
32813
32814 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
32815 slightly incorrect fix.
32816
32817 Why? Think following case.
32818
32819 1. map 4 pages of a file at offset 0
32820
32821 [0123]
32822
32823 2. map 2 pages just after the first mapping of the same file but with
32824 page offset 2
32825
32826 [0123][23]
32827
32828 3. mbind() 2 pages from the first mapping at offset 2.
32829 mbind_range() should treat new vma is,
32830
32831 [0123][23]
32832 |23|
32833 mbind vma
32834
32835 but it does
32836
32837 [0123][23]
32838 |01|
32839 mbind vma
32840
32841 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
32842
32843 This patch fixes it.
32844
32845 [testcase]
32846 test result - before the patch
32847
32848 case4: 126: test failed. expect '2,4', actual '2,2,2'
32849 case5: passed
32850 case6: passed
32851 case7: passed
32852 case8: passed
32853 case_n: 246: test failed. expect '4,2', actual '1,4'
32854
32855 ------------[ cut here ]------------
32856 kernel BUG at mm/filemap.c:135!
32857 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
32858
32859 (snip long bug on messages)
32860
32861 test result - after the patch
32862
32863 case4: passed
32864 case5: passed
32865 case6: passed
32866 case7: passed
32867 case8: passed
32868 case_n: passed
32869
32870 source: mbind_vma_test.c
32871 ============================================================
32872 #include <numaif.h>
32873 #include <numa.h>
32874 #include <sys/mman.h>
32875 #include <stdio.h>
32876 #include <unistd.h>
32877 #include <stdlib.h>
32878 #include <string.h>
32879
32880 static unsigned long pagesize;
32881 void* mmap_addr;
32882 struct bitmask *nmask;
32883 char buf[1024];
32884 FILE *file;
32885 char retbuf[10240] = "";
32886 int mapped_fd;
32887
32888 char *rubysrc = "ruby -e '\
32889 pid = %d; \
32890 vstart = 0x%llx; \
32891 vend = 0x%llx; \
32892 s = `pmap -q #{pid}`; \
32893 rary = []; \
32894 s.each_line {|line|; \
32895 ary=line.split(\" \"); \
32896 addr = ary[0].to_i(16); \
32897 if(vstart <= addr && addr < vend) then \
32898 rary.push(ary[1].to_i()/4); \
32899 end; \
32900 }; \
32901 print rary.join(\",\"); \
32902 '";
32903
32904 void init(void)
32905 {
32906 void* addr;
32907 char buf[128];
32908
32909 nmask = numa_allocate_nodemask();
32910 numa_bitmask_setbit(nmask, 0);
32911
32912 pagesize = getpagesize();
32913
32914 sprintf(buf, "%s", "mbind_vma_XXXXXX");
32915 mapped_fd = mkstemp(buf);
32916 if (mapped_fd == -1)
32917 perror("mkstemp "), exit(1);
32918 unlink(buf);
32919
32920 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
32921 perror("lseek "), exit(1);
32922 if (write(mapped_fd, "\0", 1) < 0)
32923 perror("write "), exit(1);
32924
32925 addr = mmap(NULL, pagesize*8, PROT_NONE,
32926 MAP_SHARED, mapped_fd, 0);
32927 if (addr == MAP_FAILED)
32928 perror("mmap "), exit(1);
32929
32930 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
32931 perror("mprotect "), exit(1);
32932
32933 mmap_addr = addr + pagesize;
32934
32935 /* make page populate */
32936 memset(mmap_addr, 0, pagesize*6);
32937 }
32938
32939 void fin(void)
32940 {
32941 void* addr = mmap_addr - pagesize;
32942 munmap(addr, pagesize*8);
32943
32944 memset(buf, 0, sizeof(buf));
32945 memset(retbuf, 0, sizeof(retbuf));
32946 }
32947
32948 void mem_bind(int index, int len)
32949 {
32950 int err;
32951
32952 err = mbind(mmap_addr+pagesize*index, pagesize*len,
32953 MPOL_BIND, nmask->maskp, nmask->size, 0);
32954 if (err)
32955 perror("mbind "), exit(err);
32956 }
32957
32958 void mem_interleave(int index, int len)
32959 {
32960 int err;
32961
32962 err = mbind(mmap_addr+pagesize*index, pagesize*len,
32963 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
32964 if (err)
32965 perror("mbind "), exit(err);
32966 }
32967
32968 void mem_unbind(int index, int len)
32969 {
32970 int err;
32971
32972 err = mbind(mmap_addr+pagesize*index, pagesize*len,
32973 MPOL_DEFAULT, NULL, 0, 0);
32974 if (err)
32975 perror("mbind "), exit(err);
32976 }
32977
32978 void Assert(char *expected, char *value, char *name, int line)
32979 {
32980 if (strcmp(expected, value) == 0) {
32981 fprintf(stderr, "%s: passed\n", name);
32982 return;
32983 }
32984 else {
32985 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
32986 name, line,
32987 expected, value);
32988 // exit(1);
32989 }
32990 }
32991
32992 /*
32993 AAAA
32994 PPPPPPNNNNNN
32995 might become
32996 PPNNNNNNNNNN
32997 case 4 below
32998 */
32999 void case4(void)
33000 {
33001 init();
33002 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
33003
33004 mem_bind(0, 4);
33005 mem_unbind(2, 2);
33006
33007 file = popen(buf, "r");
33008 fread(retbuf, sizeof(retbuf), 1, file);
33009 Assert("2,4", retbuf, "case4", __LINE__);
33010
33011 fin();
33012 }
33013
33014 /*
33015 AAAA
33016 PPPPPPNNNNNN
33017 might become
33018 PPPPPPPPPPNN
33019 case 5 below
33020 */
33021 void case5(void)
33022 {
33023 init();
33024 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
33025
33026 mem_bind(0, 2);
33027 mem_bind(2, 2);
33028
33029 file = popen(buf, "r");
33030 fread(retbuf, sizeof(retbuf), 1, file);
33031 Assert("4,2", retbuf, "case5", __LINE__);
33032
33033 fin();
33034 }
33035
33036 /*
33037 AAAA
33038 PPPPNNNNXXXX
33039 might become
33040 PPPPPPPPPPPP 6
33041 */
33042 void case6(void)
33043 {
33044 init();
33045 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
33046
33047 mem_bind(0, 2);
33048 mem_bind(4, 2);
33049 mem_bind(2, 2);
33050
33051 file = popen(buf, "r");
33052 fread(retbuf, sizeof(retbuf), 1, file);
33053 Assert("6", retbuf, "case6", __LINE__);
33054
33055 fin();
33056 }
33057
33058 /*
33059 AAAA
33060 PPPPNNNNXXXX
33061 might become
33062 PPPPPPPPXXXX 7
33063 */
33064 void case7(void)
33065 {
33066 init();
33067 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
33068
33069 mem_bind(0, 2);
33070 mem_interleave(4, 2);
33071 mem_bind(2, 2);
33072
33073 file = popen(buf, "r");
33074 fread(retbuf, sizeof(retbuf), 1, file);
33075 Assert("4,2", retbuf, "case7", __LINE__);
33076
33077 fin();
33078 }
33079
33080 /*
33081 AAAA
33082 PPPPNNNNXXXX
33083 might become
33084 PPPPNNNNNNNN 8
33085 */
33086 void case8(void)
33087 {
33088 init();
33089 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
33090
33091 mem_bind(0, 2);
33092 mem_interleave(4, 2);
33093 mem_interleave(2, 2);
33094
33095 file = popen(buf, "r");
33096 fread(retbuf, sizeof(retbuf), 1, file);
33097 Assert("2,4", retbuf, "case8", __LINE__);
33098
33099 fin();
33100 }
33101
33102 void case_n(void)
33103 {
33104 init();
33105 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
33106
33107 /* make redundunt mappings [0][1234][34][7] */
33108 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
33109 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
33110
33111 /* Expect to do nothing. */
33112 mem_unbind(2, 2);
33113
33114 file = popen(buf, "r");
33115 fread(retbuf, sizeof(retbuf), 1, file);
33116 Assert("4,2", retbuf, "case_n", __LINE__);
33117
33118 fin();
33119 }
33120
33121 int main(int argc, char** argv)
33122 {
33123 case4();
33124 case5();
33125 case6();
33126 case7();
33127 case8();
33128 case_n();
33129
33130 return 0;
33131 }
33132 =============================================================
33133
33134 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
33135 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
33136 Cc: Minchan Kim <minchan.kim@gmail.com>
33137 Cc: Caspar Zhang <caspar@casparzhang.com>
33138 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
33139 Cc: Christoph Lameter <cl@linux.com>
33140 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
33141 Cc: Mel Gorman <mel@csn.ul.ie>
33142 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
33143 Cc: <stable@vger.kernel.org> [3.1.x]
33144 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
33145 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
33146
33147 commit f3a1082005781777086df235049f8c0b7efe524e
33148 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
33149 Date: Tue Dec 27 22:32:41 2011 -0500
33150
33151 packet: fix possible dev refcnt leak when bind fail
33152
33153 If bind is fail when bind is called after set PACKET_FANOUT
33154 sock option, the dev refcnt will leak.
33155
33156 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
33157 Signed-off-by: David S. Miller <davem@davemloft.net>
33158
33159 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
33160 Author: Haogang Chen <haogangchen@gmail.com>
33161 Date: Mon Dec 19 17:11:56 2011 -0800
33162
33163 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
33164
33165 There is a potential integer overflow in nilfs_ioctl_clean_segments().
33166 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
33167 call to vmalloc() will allocate a buffer smaller than expected, which
33168 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
33169 lfs_clean_segments().
33170
33171 The following check does not prevent the overflow because nsegs is also
33172 controlled by the userspace and could be very large.
33173
33174 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
33175 goto out_free;
33176
33177 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
33178 returns -EINVAL when overflow.
33179
33180 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
33181 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
33182 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
33183 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
33184
33185 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
33186 Author: Kautuk Consul <consul.kautuk@gmail.com>
33187 Date: Mon Dec 19 17:12:04 2011 -0800
33188
33189 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
33190
33191 Static storage is not required for the struct vmap_area in
33192 __get_vm_area_node.
33193
33194 Removing "static" to store this variable on the stack instead.
33195
33196 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
33197 Acked-by: David Rientjes <rientjes@google.com>
33198 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
33199 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
33200
33201 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
33202 Author: Michel Lespinasse <walken@google.com>
33203 Date: Mon Dec 19 17:12:06 2011 -0800
33204
33205 binary_sysctl(): fix memory leak
33206
33207 binary_sysctl() calls sysctl_getname() which allocates from names_cache
33208 slab usin __getname()
33209
33210 The matching function to free the name is __putname(), and not putname()
33211 which should be used only to match getname() allocations.
33212
33213 This is because when auditing is enabled, putname() calls audit_putname
33214 *instead* (not in addition) to __putname(). Then, if a syscall is in
33215 progress, audit_putname does not release the name - instead, it expects
33216 the name to get released when the syscall completes, but that will happen
33217 only if audit_getname() was called previously, i.e. if the name was
33218 allocated with getname() rather than the naked __getname(). So,
33219 __getname() followed by putname() ends up leaking memory.
33220
33221 Signed-off-by: Michel Lespinasse <walken@google.com>
33222 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
33223 Cc: Christoph Hellwig <hch@infradead.org>
33224 Cc: Eric Paris <eparis@redhat.com>
33225 Cc: <stable@vger.kernel.org>
33226 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
33227 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
33228
33229 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
33230 Author: Sean Hefty <sean.hefty@intel.com>
33231 Date: Tue Dec 6 21:17:11 2011 +0000
33232
33233 RDMA/cma: Verify private data length
33234
33235 private_data_len is defined as a u8. If the user specifies a large
33236 private_data size (> 220 bytes), we will calculate a total length that
33237 exceeds 255, resulting in private_data_len wrapping back to 0. This
33238 can lead to overwriting random kernel memory. Avoid this by verifying
33239 that the resulting size fits into a u8.
33240
33241 Reported-by: B. Thery <benjamin.thery@bull.net>
33242 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
33243 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
33244 Signed-off-by: Roland Dreier <roland@purestorage.com>
33245
33246 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
33247 Author: Xi Wang <xi.wang@gmail.com>
33248 Date: Sun Dec 11 23:40:56 2011 -0800
33249
33250 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
33251
33252 The error check (intr_status < 0) didn't work because intr_status is
33253 a u8. Change its type to signed int.
33254
33255 Signed-off-by: Xi Wang <xi.wang@gmail.com>
33256 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
33257
33258 commit e27f34e383d7863b2528a63b81b23db09781f6b6
33259 Author: Xi Wang <xi.wang@gmail.com>
33260 Date: Fri Dec 16 12:44:15 2011 +0000
33261
33262 sctp: fix incorrect overflow check on autoclose
33263
33264 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
33265 limiting the autoclose value. If userspace passes in -1 on 32-bit
33266 platform, the overflow check didn't work and autoclose would be set
33267 to 0xffffffff.
33268
33269 This patch defines a max_autoclose (in seconds) for limiting the value
33270 and exposes it through sysctl, with the following intentions.
33271
33272 1) Avoid overflowing autoclose * HZ.
33273
33274 2) Keep the default autoclose bound consistent across 32- and 64-bit
33275 platforms (INT_MAX / HZ in this patch).
33276
33277 3) Keep the autoclose value consistent between setsockopt() and
33278 getsockopt() calls.
33279
33280 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
33281 Signed-off-by: Xi Wang <xi.wang@gmail.com>
33282 Signed-off-by: David S. Miller <davem@davemloft.net>
33283
33284 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
33285 Author: Xi Wang <xi.wang@gmail.com>
33286 Date: Wed Dec 21 05:18:33 2011 -0500
33287
33288 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
33289
33290 Commit e133e737 didn't correctly fix the integer overflow issue.
33291
33292 - unsigned int required_size;
33293 + u64 required_size;
33294 ...
33295 required_size = mode_cmd->pitch * mode_cmd->height;
33296 - if (unlikely(required_size > dev_priv->vram_size)) {
33297 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
33298
33299 Note that both pitch and height are u32. Their product is still u32 and
33300 would overflow before being assigned to required_size. A correct way is
33301 to convert pitch and height to u64 before the multiplication.
33302
33303 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
33304
33305 This patch calls the existing vmw_kms_validate_mode_vram() for
33306 validation.
33307
33308 Signed-off-by: Xi Wang <xi.wang@gmail.com>
33309 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
33310 Signed-off-by: Dave Airlie <airlied@redhat.com>
33311
33312 Conflicts:
33313
33314 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
33315
33316 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
33317 Author: Xi Wang <xi.wang@gmail.com>
33318 Date: Thu Dec 22 13:35:22 2011 +0000
33319
33320 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
33321
33322 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
33323 cause a kernel oops due to insufficient bounds checking.
33324
33325 if (count > 1<<30) {
33326 /* Enforce a limit to prevent overflow */
33327 return -EINVAL;
33328 }
33329 count = roundup_pow_of_two(count);
33330 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
33331
33332 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
33333
33334 ... + (count * sizeof(struct rps_dev_flow))
33335
33336 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
33337 32 bits.
33338
33339 This patch replaces the magic number (1 << 30) with a symbolic bound.
33340
33341 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
33342 Signed-off-by: Xi Wang <xi.wang@gmail.com>
33343 Signed-off-by: David S. Miller <davem@davemloft.net>
33344
33345 commit 648188958672024b616c42c1f6c98c8cfc85619d
33346 Author: Xi Wang <xi.wang@gmail.com>
33347 Date: Fri Dec 30 10:40:17 2011 -0500
33348
33349 netfilter: ctnetlink: fix timeout calculation
33350
33351 The sanity check (timeout < 0) never works; the dividend is unsigned
33352 and so is the division, which should have been a signed division.
33353
33354 long timeout = (ct->timeout.expires - jiffies) / HZ;
33355 if (timeout < 0)
33356 timeout = 0;
33357
33358 This patch converts the time values to signed for the division.
33359
33360 Signed-off-by: Xi Wang <xi.wang@gmail.com>
33361 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
33362
33363 commit ab03a0973cee73f88655ff4981812ad316a6cd59
33364 Merge: 76f82df 7bdddeb
33365 Author: Brad Spengler <spender@grsecurity.net>
33366 Date: Tue Jan 3 17:42:50 2012 -0500
33367
33368 Merge branch 'pax-test' into grsec-test
33369
33370 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
33371 Merge: 3e59cb5 55cc81a
33372 Author: Brad Spengler <spender@grsecurity.net>
33373 Date: Tue Jan 3 17:42:36 2012 -0500
33374
33375 Merge branch 'linux-3.1.y' into pax-test
33376
33377 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
33378 Author: Brad Spengler <spender@grsecurity.net>
33379 Date: Thu Dec 22 20:15:02 2011 -0500
33380
33381 Only further restrict futex targeting another process -- our modified
33382 permission check also happened to allow a case where a process retaining
33383 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
33384 being non-zero (reported on forums by ben_w)
33385
33386 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
33387 Merge: 97c16f0 3e59cb5
33388 Author: Brad Spengler <spender@grsecurity.net>
33389 Date: Thu Dec 22 19:11:06 2011 -0500
33390
33391 Merge branch 'pax-test' into grsec-test
33392
33393 Conflicts:
33394 fs/hfs/btree.c
33395
33396 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
33397 Merge: 285eb4e c26f60b
33398 Author: Brad Spengler <spender@grsecurity.net>
33399 Date: Thu Dec 22 19:09:57 2011 -0500
33400
33401 Merge branch 'linux-3.1.y' into pax-test
33402
33403 Conflicts:
33404 arch/x86/kernel/process.c
33405
33406 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
33407 Author: Brad Spengler <spender@grsecurity.net>
33408 Date: Mon Dec 19 21:54:01 2011 -0500
33409
33410 Add new option: "Enforce consistent multithreaded privileges"
33411
33412 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
33413 Author: Brad Spengler <spender@grsecurity.net>
33414 Date: Wed Dec 7 19:58:31 2011 -0500
33415
33416 Remove harmless duplicate code -- exec_file would be null already so the
33417 second check would never pass.
33418
33419 commit 4e3304e94aa72737810bc50169519af157dce4ce
33420 Author: Brad Spengler <spender@grsecurity.net>
33421 Date: Wed Dec 7 19:50:39 2011 -0500
33422
33423 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
33424 depended on for attaching to a thread. Entries exist in /proc for
33425 threads, but are not visible in a readdir.
33426
33427 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
33428 Author: Brad Spengler <spender@grsecurity.net>
33429 Date: Sun Dec 4 18:03:28 2011 -0500
33430
33431 Put the already-walked path if in RCU-walk mode
33432
33433 commit ec7ae36b7159f10649709779443a988662965d66
33434 Author: Brad Spengler <spender@grsecurity.net>
33435 Date: Sun Dec 4 17:35:21 2011 -0500
33436
33437 Fix memory leak introduced by recent (unpublished) commit
33438 75ab998b94a29d464518d6d501bdde3fbfcbfa14
33439
33440 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
33441 Author: Brad Spengler <spender@grsecurity.net>
33442 Date: Sun Dec 4 13:56:10 2011 -0500
33443
33444 Explicitly check size copied to userland in override_release to silence gcc
33445
33446 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
33447 Author: Brad Spengler <spender@grsecurity.net>
33448 Date: Sun Dec 4 13:54:02 2011 -0500
33449
33450 Initialize variable to silence erroneous gcc warning
33451
33452 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
33453 Author: Brad Spengler <spender@grsecurity.net>
33454 Date: Sun Dec 4 13:47:47 2011 -0500
33455
33456 Future-proof other potential RCU-aware locations where we can log.
33457
33458 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
33459 Author: Brad Spengler <spender@grsecurity.net>
33460 Date: Sun Dec 4 13:02:54 2011 -0500
33461
33462 Fix freeze reported by 'vs' on the forums. Bug occurred due to
33463 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
33464 in generic_permission() was in the task's effective set but disallowed by
33465 RBAC, would block when acquiring locks resulting in the freeze.
33466
33467 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
33468 as being required when CAP_DAC_OVERRIDE is present (consistent with
33469 older patches).
33470
33471 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
33472 Author: Xi Wang <xi.wang@gmail.com>
33473 Date: Tue Nov 29 09:26:30 2011 +0000
33474
33475 sctp: better integer overflow check in sctp_auth_create_key()
33476
33477 The check from commit 30c2235c is incomplete and cannot prevent
33478 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
33479 left-hand side of the check (INT_MAX - key_len), which is unsigned,
33480 becomes 0xffffffff (UINT_MAX) and bypasses the check.
33481
33482 However this shouldn't be a security issue. The function is called
33483 from the following two code paths:
33484
33485 1) setsockopt()
33486
33487 2) sctp_auth_asoc_set_secret()
33488
33489 In case (1), sca_keylength is never going to exceed 65535 since it's
33490 bounded by a u16 from the user API. As such, the key length will
33491 never overflow.
33492
33493 In case (2), sca_keylength is computed based on the user key (1 short)
33494 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
33495 will not overflow.
33496
33497 In other words, this overflow check is not really necessary. Just
33498 make it more correct.
33499
33500 Signed-off-by: Xi Wang <xi.wang@gmail.com>
33501 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
33502 Signed-off-by: David S. Miller <davem@davemloft.net>
33503
33504 commit e565e28c3635a1d50f80541fbf6b606d742fec76
33505 Author: Josh Boyer <jwboyer@redhat.com>
33506 Date: Fri Aug 19 14:50:26 2011 -0400
33507
33508 fs/minix: Verify bitmap block counts before mounting
33509
33510 Newer versions of MINIX can create filesystems that allocate an extra
33511 bitmap block. Mounting of this succeeds, but doing a statfs call will
33512 result in an oops in count_free because of a negative number being used
33513 for the bh index.
33514
33515 Avoid this by verifying the number of allocated blocks at mount time,
33516 erroring out if there are not enough and make statfs ignore the extras
33517 if there are too many.
33518
33519 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
33520
33521 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
33522 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
33523
33524 commit 6e134e398ec1a3f428261680e83df4319e64bed9
33525 Author: Julia Lawall <julia@diku.dk>
33526 Date: Tue Nov 15 14:53:11 2011 -0800
33527
33528 drivers/gpu/vga/vgaarb.c: add missing kfree
33529
33530 kbuf is a buffer that is local to this function, so all of the error paths
33531 leaving the function should release it.
33532
33533 Signed-off-by: Julia Lawall <julia@diku.dk>
33534 Cc: Jesper Juhl <jj@chaosbits.net>
33535 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
33536 Signed-off-by: Dave Airlie <airlied@redhat.com>
33537
33538 commit 2b9057b321e36860e8d63985b5c4e496f254b717
33539 Author: Brad Spengler <spender@grsecurity.net>
33540 Date: Sat Dec 3 21:33:28 2011 -0500
33541
33542 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
33543
33544 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
33545 Author: Brad Spengler <spender@grsecurity.net>
33546 Date: Sat Dec 3 21:29:37 2011 -0500
33547
33548 Import pax-linux-3.1.4-test18.patch
33549
33550 commit 285eb4ea45d853ae00426b3315a61c1368080dad
33551 Author: Brad Spengler <spender@grsecurity.net>
33552 Date: Sat Dec 10 18:33:46 2011 -0500
33553
33554 Import changes from pax-linux-3.1.5-test20.patch
33555
33556 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
33557 Author: Brad Spengler <spender@grsecurity.net>
33558 Date: Thu Dec 8 20:55:54 2011 -0500
33559
33560 Import changes from pax-linux-3.1.4-test19.patch
33561
33562 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
33563 Author: Brad Spengler <spender@grsecurity.net>
33564 Date: Sat Dec 3 21:29:37 2011 -0500
33565
33566 Import pax-linux-3.1.4-test18.patch
33567 commit c982acca364cbd7677bad7e53b9c7ecfaa6dfeb7
33568 Merge: 814820a 3a59a59
33569 Author: Brad Spengler <spender@grsecurity.net>
33570 Date: Sun May 12 21:51:18 2013 -0400
33571
33572 Merge branch 'pax-test' into grsec-test
33573
33574 Conflicts:
33575 security/Kconfig
33576
33577 commit 3a59a59cf5e1bf88f96b05c64f7969e97f7f051f
33578 Author: Brad Spengler <spender@grsecurity.net>
33579 Date: Sun May 12 21:50:07 2013 -0400
33580
33581 Update to pax-linux-3.8.13-test24.patch:
33582 - fixed sparc/constification compile error, reported by blake
33583 - UDEREF/amd64 should be a bit more efficient when disabled at boot time
33584 - fixed some unnecessary integer truncations that could trip up the size overflow plugin
33585
33586 arch/arm/kernel/vmlinux.lds.S | 4 ++--
33587 arch/sparc/kernel/us3_cpufreq.c | 4 ++--
33588 arch/x86/ia32/ia32entry.S | 4 ++--
33589 arch/x86/include/asm/pgtable.h | 6 ++++--
33590 arch/x86/include/asm/uaccess.h | 6 +++---
33591 arch/x86/kernel/kprobes-opt.c | 4 ++++
33592 arch/x86/lib/copy_user_nocache_64.S | 2 +-
33593 arch/x86/lib/getuser.S | 8 ++++----
33594 arch/x86/lib/putuser.S | 8 ++++----
33595 arch/x86/mm/fault.c | 6 +++---
33596 drivers/net/slip/slhc.c | 2 +-
33597 drivers/staging/iio/ring_sw.c | 2 +-
33598 fs/binfmt_elf.c | 6 +++---
33599 fs/nfsd/nfscache.c | 2 +-
33600 fs/xattr.c | 21 +++++++++++++++++++++
33601 include/linux/syscalls.h | 2 +-
33602 include/linux/xattr.h | 3 +++
33603 init/main.c | 3 +++
33604 kernel/futex_compat.c | 2 +-
33605 kernel/trace/trace.h | 2 +-
33606 net/socket.c | 2 +-
33607 security/Kconfig | 2 +-
33608 22 files changed, 67 insertions(+), 34 deletions(-)
33609
33610 commit 814820abfe5b9a34401d838b2510431a4cd92be9
33611 Author: Dan Carpenter <dan.carpenter@oracle.com>
33612 Date: Mon May 6 09:31:17 2013 +0000
33613
33614 Upstream commit: 6bf15191f666c5965d212561d7a5c7b78b808dfa
33615
33616 tipc: potential divide by zero in tipc_link_recv_fragment()
33617
33618 The worry here is that fragm_sz could be zero since it comes from
33619 skb->data.
33620
33621 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
33622 Signed-off-by: David S. Miller <davem@davemloft.net>
33623
33624 net/tipc/link.c | 6 ++++--
33625 1 files changed, 4 insertions(+), 2 deletions(-)
33626
33627 commit b58503d2784f0a4dbf4d9dbef9bdcc7bf163e3c1
33628 Author: Dan Carpenter <dan.carpenter@oracle.com>
33629 Date: Mon May 6 08:28:41 2013 +0000
33630
33631 Upstream commit: cb4b102f0ab29fcbaf945c6b1f85ef006cdb8edc
33632
33633 tipc: add a bounds check in link_recv_changeover_msg()
33634
33635 The bearer_id here comes from skb->data and it can be a number from 0 to
33636 7. The problem is that the ->links[] array has only 2 elements so I
33637 have added a range check.
33638
33639 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
33640 Signed-off-by: David S. Miller <davem@davemloft.net>
33641
33642 net/tipc/link.c | 5 ++++-
33643 1 files changed, 4 insertions(+), 1 deletions(-)
33644
33645 commit ed0428c4ef6c5498870772f212ac651216eb8d0c
33646 Merge: 2452d8d dbf932a
33647 Author: Brad Spengler <spender@grsecurity.net>
33648 Date: Sun May 12 21:18:25 2013 -0400
33649
33650 Merge branch 'linux-3.8.y' into pax-test
33651
33652 Conflicts:
33653 arch/x86/kernel/cpu/perf_event_intel_uncore.c
33654 arch/x86/mm/init.c
33655
33656 commit a113d6ac19303cd76d405df5aef5a4d190e6e7d7
33657 Author: Brad Spengler <spender@grsecurity.net>
33658 Date: Sun May 12 20:24:01 2013 -0400
33659
33660 compile fix
33661
33662 grsecurity/gracl.c | 1 +
33663 grsecurity/gracl_segv.c | 1 +
33664 2 files changed, 2 insertions(+), 0 deletions(-)
33665
33666 commit 1bd664ee9054a28bbcf1dad6f9ffbc9e8500bb00
33667 Author: Brad Spengler <spender@grsecurity.net>
33668 Date: Sun May 12 18:25:26 2013 -0400
33669
33670 fix btrfs support here as well
33671
33672 grsecurity/gracl_segv.c | 17 +++++++++--------
33673 1 files changed, 9 insertions(+), 8 deletions(-)
33674
33675 commit c75e4664fe4d20da1639f70d9def097c4f20856b
33676 Author: Brad Spengler <spender@grsecurity.net>
33677 Date: Sun May 12 18:12:57 2013 -0400
33678
33679 Fix RBAC compatibility with btrfs compiled as a module, as
33680 reported on the forums by YuHg at:
33681 http://forums.grsecurity.net/viewtopic.php?t=2575&p=12952#p12952
33682
33683 fs/btrfs/inode.c | 11 +----------
33684 grsecurity/gracl.c | 19 ++++++++++---------
33685 grsecurity/gracl_segv.c | 2 +-
33686 grsecurity/grsec_disabled.c | 2 +-
33687 4 files changed, 13 insertions(+), 21 deletions(-)
33688
33689 commit e40c5804acc5b83e10d16ca3ba92502a3e5f7f27
33690 Author: Brad Spengler <spender@grsecurity.net>
33691 Date: Sat May 11 12:12:00 2013 -0400
33692
33693 allow copies just up to the start of kernel code
33694
33695 fs/exec.c | 2 +-
33696 1 files changed, 1 insertions(+), 1 deletions(-)
33697
33698 commit 04638852588cf243f865f5a73aa9dab94fab53b7
33699 Author: Brad Spengler <spender@grsecurity.net>
33700 Date: Fri May 10 16:53:07 2013 -0400
33701
33702 MODULES_EXEC_VADDR is a virtual address
33703
33704 fs/exec.c | 2 +-
33705 1 files changed, 1 insertions(+), 1 deletions(-)
33706
33707 commit 017fc58a177b8b3fd9c2a7a4366f3590c9d49435
33708 Author: Brad Spengler <spender@grsecurity.net>
33709 Date: Fri May 10 16:51:03 2013 -0400
33710
33711 exempt module rx areas from usercopy protection under i386 kernexec
33712 their .rodata will be placed between stext/etext causing copies of
33713 constant strings to trigger usercopy reports/terminations
33714
33715 fs/exec.c | 5 +++++
33716 1 files changed, 5 insertions(+), 0 deletions(-)
33717
33718 commit c1b2cc5dd5f5ae5c88402c7acbcb270f8d36a9da
33719 Author: Brad Spengler <spender@grsecurity.net>
33720 Date: Wed May 8 20:25:52 2013 -0400
33721
33722 User jorgus on the forums:
33723 http://forums.grsecurity.net/viewtopic.php?f=3&t=3446
33724 discovered that the upstreamed version of enforcing RLIMIT_NPROC
33725 at setuid/exec time missed an important corner case:
33726 If RLIMIT_NPROC is set after a setuid occurs and the user's process
33727 limit is reached elsewhere, no enforcement of RLIMIT_NPROC will
33728 happen at exec time for the task with a modified RLIMIT_NPROC.
33729
33730 This patch fixes that.
33731
33732 kernel/sys.c | 7 +++++++
33733 1 files changed, 7 insertions(+), 0 deletions(-)
33734
33735 commit 85ffce8c95bd1d9114852f74db8c66ddbc2e77ff
33736 Merge: 539fff0 2452d8d
33737 Author: Brad Spengler <spender@grsecurity.net>
33738 Date: Wed May 8 18:13:41 2013 -0400
33739
33740 Merge branch 'pax-test' into grsec-test
33741
33742 commit 2452d8d0416d5c9c32805443dd89e5c9778dea4a
33743 Merge: 6c850d8 9c9ab76
33744 Author: Brad Spengler <spender@grsecurity.net>
33745 Date: Wed May 8 18:13:31 2013 -0400
33746
33747 Merge branch 'linux-3.8.y' into pax-test
33748
33749 Conflicts:
33750 arch/x86/kernel/irq.c
33751 kernel/trace/trace_stack.c
33752
33753 commit 539fff0cf95c3dcc02c5e0ac3ef8da4519efdb9a
33754 Author: Brad Spengler <spender@grsecurity.net>
33755 Date: Tue May 7 21:43:00 2013 -0400
33756
33757 turn counter into a flag
33758
33759 grsecurity/Kconfig | 2 +-
33760 grsecurity/grsec_chroot.c | 8 ++++----
33761 2 files changed, 5 insertions(+), 5 deletions(-)
33762
33763 commit 3da48c0f89377e1ef76470d4b19f19df793fdf32
33764 Author: Brad Spengler <spender@grsecurity.net>
33765 Date: Tue May 7 21:02:39 2013 -0400
33766
33767 add GRKERNSEC_CHROOT_INITRD to work around Plymouth stupidity
33768 useful for Fedora/RHEL users
33769
33770 grsecurity/Kconfig | 10 ++++++++++
33771 grsecurity/grsec_chroot.c | 17 +++++++++++++++--
33772 2 files changed, 25 insertions(+), 2 deletions(-)
33773
33774 commit 418102925c0cfb0de51b0a021abaa575e28fafa6
33775 Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
33776 Date: Fri May 3 14:11:25 2013 +0200
33777
33778 Upstream commit: 7cc23cd6c0c7d7f4bee057607e7ce01568925717
33779
33780 perf/x86/intel/lbr: Demand proper privileges for PERF_SAMPLE_BRANCH_KERNEL
33781
33782 We should always have proper privileges when requesting kernel
33783 data.
33784
33785 Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
33786 Cc: <stable@kernel.org>
33787 Cc: Andi Kleen <ak@linux.intel.com>
33788 Cc: eranian@google.com
33789 Link: http://lkml.kernel.org/r/20130503121256.230745028@chello.nl
33790 [ Fix build error reported by fengguang.wu@intel.com, propagate error code back. ]
33791 Signed-off-by: Ingo Molnar <mingo@kernel.org>
33792 Link: http://lkml.kernel.org/n/tip-v0x9ky3ahzr6nm3c6ilwrili@git.kernel.org
33793
33794 arch/x86/kernel/cpu/perf_event_intel_lbr.c | 13 ++++++++++---
33795 1 files changed, 10 insertions(+), 3 deletions(-)
33796
33797 commit f9e1af27cca1722a4c6a801000b5b3b5410401a2
33798 Author: Eric Dumazet <edumazet@google.com>
33799 Date: Mon Apr 29 05:58:52 2013 +0000
33800
33801 Upstream commit: aebda156a570782a86fc4426842152237a19427d
33802
33803 net: defer net_secret[] initialization
33804
33805 Instead of feeding net_secret[] at boot time, defer the init
33806 at the point first socket is created.
33807
33808 This permits some platforms to use better entropy sources than
33809 the ones available at boot time.
33810
33811 Signed-off-by: Eric Dumazet <edumazet@google.com>
33812 Signed-off-by: David S. Miller <davem@davemloft.net>
33813
33814 include/net/secure_seq.h | 1 +
33815 net/core/secure_seq.c | 4 +---
33816 net/ipv4/af_inet.c | 5 ++++-
33817 3 files changed, 6 insertions(+), 4 deletions(-)
33818
33819 commit a9229d75129cd9744a5e486ec99a0fe6aeaf10ac
33820 Author: Daniel Borkmann <dborkman@redhat.com>
33821 Date: Wed May 1 02:59:23 2013 +0000
33822
33823 Upstream commit: be3e45810bb1ee0bdfa93f6b9532d8c451e50f48
33824
33825 net: sctp: attribute printl with __printf for gcc fmt checks
33826
33827 Let GCC check for format string errors in sctp's probe printl
33828 function. This patch fixes the warning when compiled with W=1:
33829
33830 net/sctp/probe.c:73:2: warning: function might be possible candidate
33831 for 'gnu_printf' format attribute [-Wmissing-format-attribute]
33832
33833 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
33834 Signed-off-by: David S. Miller <davem@davemloft.net>
33835
33836 net/sctp/probe.c | 2 +-
33837 1 files changed, 1 insertions(+), 1 deletions(-)
33838
33839 commit 81b98190c66a90f0ed2de4560f542b1dea7664f2
33840 Author: Brad Spengler <spender@grsecurity.net>
33841 Date: Thu May 2 19:58:54 2013 -0400
33842
33843 remove no-longer-needed vmware 8 compat fix
33844
33845 mm/page_alloc.c | 6 ------
33846 1 files changed, 0 insertions(+), 6 deletions(-)
33847
33848 commit a7716a90c1dbe09a8a6d98c74ea2f7fe2a530e94
33849 Author: Brad Spengler <spender@grsecurity.net>
33850 Date: Thu May 2 19:55:23 2013 -0400
33851
33852 remove unnecessary < 0 check
33853
33854 net/phonet/af_phonet.c | 2 +-
33855 1 files changed, 1 insertions(+), 1 deletions(-)
33856
33857 commit a4e8dd5b1cca13c2e4145af75694a04aaa811f3f
33858 Author: Brad Spengler <spender@grsecurity.net>
33859 Date: Wed May 1 18:30:48 2013 -0400
33860
33861 remove references to CONFIG_X86_WP_WORKS_OK
33862
33863 arch/um/defconfig | 1 -
33864 security/Kconfig | 2 +-
33865 2 files changed, 1 insertions(+), 2 deletions(-)
33866
33867 commit 408da6791f93ffe00d26bfe919f1b2218fe0804d
33868 Merge: a8dbe8e 6c850d8
33869 Author: Brad Spengler <spender@grsecurity.net>
33870 Date: Wed May 1 18:28:44 2013 -0400
33871
33872 Merge branch 'pax-test' into grsec-test
33873
33874 Conflicts:
33875 arch/sparc/mm/ultra.S
33876 drivers/tty/tty_io.c
33877
33878 commit 6c850d8b76b375e418b6a18a33cc8263f36fabcf
33879 Merge: cdbcbef 9fa1d01
33880 Author: Brad Spengler <spender@grsecurity.net>
33881 Date: Wed May 1 18:25:18 2013 -0400
33882
33883 Merge branch 'linux-3.8.y' into pax-test
33884
33885 commit a8dbe8ee7a0a3ace489e2f95d69d33e14d5f0b78
33886 Author: Brad Spengler <spender@grsecurity.net>
33887 Date: Mon Apr 29 18:44:23 2013 -0400
33888
33889 add module.h to silence compiler warning, thanks to
33890 Sergei Trofimovich
33891
33892 fs/btrfs/inode.c | 1 +
33893 1 files changed, 1 insertions(+), 0 deletions(-)
33894
33895 commit 55eba82aca97aa56378e000840c48965557721e8
33896 Author: Brad Spengler <spender@grsecurity.net>
33897 Date: Mon Apr 29 18:43:03 2013 -0400
33898
33899 compilation fix
33900
33901 kernel/trace/trace.h | 2 +-
33902 1 files changed, 1 insertions(+), 1 deletions(-)
33903
33904 commit e3bf912b54af6df7fbebc68b5999554562056c5c
33905 Merge: 5b72e37 cdbcbef
33906 Author: Brad Spengler <spender@grsecurity.net>
33907 Date: Mon Apr 29 18:34:42 2013 -0400
33908
33909 Merge branch 'pax-test' into grsec-test
33910
33911 commit cdbcbef45c4f003cbee11e10668a35d424c17c60
33912 Author: Brad Spengler <spender@grsecurity.net>
33913 Date: Mon Apr 29 18:33:35 2013 -0400
33914
33915 Update to pax-linux-3.8.10-test21.patch:
33916 - removed size overflow coverage of resource_size(), reported at http://forums.grsecurity.net/viewtopic.php?f=3&t=3412
33917 - fixed bad pointer arithmetic in nfsd_cache_update, reported by Jason A. Donenfeld and http://forums.grsecurity.net/viewtopic.php?f=3&t=3438
33918 note that the false positive is not fixed yet
33919 - fixed a few unintended bitmask computations found by a not-yet-public gcc plugin
33920 - fixed the kernel stack leak bug in do_tgkill, found by the size overflow plugin (https://code.google.com/p/chromium/issues/detail?id=223444)
33921 - reverted the nested NMI fix in search for a real one
33922 - simplified the arm_delay_ops constification
33923
33924 arch/arm/include/asm/delay.h | 8 ++++----
33925 arch/arm/lib/delay.c | 17 +++++------------
33926 arch/x86/kernel/entry_64.S | 11 ++++++++++-
33927 arch/x86/kernel/i8259.c | 2 +-
33928 arch/x86/kernel/pci-calgary_64.c | 2 +-
33929 arch/x86/kvm/vmx.c | 4 ++--
33930 drivers/block/pktcdvd.c | 2 +-
33931 fs/btrfs/extent-tree.c | 2 +-
33932 fs/nfsd/nfscache.c | 6 ++++--
33933 kernel/trace/trace.c | 2 +-
33934 tools/gcc/structleak_plugin.c | 4 ++++
33935 11 files changed, 34 insertions(+), 26 deletions(-)
33936
33937 commit 5b72e3790fa0e8a16a09c0ef745d8065620a1e74
33938 Author: Brad Spengler <spender@grsecurity.net>
33939 Date: Fri Apr 26 20:53:06 2013 -0400
33940
33941 don't use file_inode()
33942
33943 drivers/tty/tty_io.c | 2 +-
33944 1 files changed, 1 insertions(+), 1 deletions(-)
33945
33946 commit a2df9595fa2e3c7a0c63b1acac75425fd4feb946
33947 Author: Jiri Slaby <jslaby@suse.cz>
33948 Date: Fri Apr 26 13:48:53 2013 +0200
33949
33950 Upstream commit: 37b7f3c76595e23257f61bd80b223de8658617ee
33951
33952 TTY: fix atime/mtime regression
33953
33954 In commit b0de59b5733d ("TTY: do not update atime/mtime on read/write")
33955 we removed timestamps from tty inodes to fix a security issue and waited
33956 if something breaks. Well, 'w', the utility to find out logged users
33957 and their inactivity time broke. It shows that users are inactive since
33958 the time they logged in.
33959
33960 To revert to the old behaviour while still preventing attackers to
33961 guess the password length, we update the timestamps in one-minute
33962 intervals by this patch.
33963
33964 Signed-off-by: Jiri Slaby <jslaby@suse.cz>
33965 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
33966 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
33967
33968 Conflicts:
33969
33970 drivers/tty/tty_io.c
33971
33972 drivers/tty/tty_io.c | 15 ++++++++++++++-
33973 1 files changed, 14 insertions(+), 1 deletions(-)
33974
33975 commit c9c76fe07da7611a5062dd3234e5d2369e0a78ec
33976 Author: Jiri Slaby <jslaby@suse.cz>
33977 Date: Fri Feb 15 15:25:05 2013 +0100
33978
33979 Upstream commit: b0de59b5733d
33980
33981 TTY: do not update atime/mtime on read/write
33982
33983 On http://vladz.devzero.fr/013_ptmx-timing.php, we can see how to find
33984 out length of a password using timestamps of /dev/ptmx. It is
33985 documented in "Timing Analysis of Keystrokes and Timing Attacks on
33986 SSH". To avoid that problem, do not update time when reading
33987 from/writing to a TTY.
33988
33989 I am afraid of regressions as this is a behavior we have since 0.97
33990 and apps may expect the time to be current, e.g. for monitoring
33991 whether there was a change on the TTY. Now, there is no change. So
33992 this would better have a lot of testing before it goes upstream.
33993
33994 References: CVE-2013-0160
33995
33996 Signed-off-by: Jiri Slaby <jslaby@suse.cz>
33997 Cc: stable <stable@vger.kernel.org> # after 3.9 is out
33998 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
33999
34000 drivers/tty/tty_io.c | 8 ++------
34001 1 files changed, 2 insertions(+), 6 deletions(-)
34002
34003 commit 5344a24e2320d61dbdb88aae04922f0799deefd0
34004 Author: Zhao Hongjiang <zhaohongjiang@huawei.com>
34005 Date: Fri Apr 26 11:03:53 2013 +0800
34006
34007 Upstream commit: 91d80a84bbc8f28375cca7e65ec666577b4209ad
34008
34009 aio: fix possible invalid memory access when DEBUG is enabled
34010
34011 dprintk() shouldn't access @ring after it's unmapped.
34012
34013 Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
34014 Cc: stable@vger.kernel.org
34015 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34016
34017 fs/aio.c | 2 +-
34018 1 files changed, 1 insertions(+), 1 deletions(-)
34019
34020 commit 786841cb279bbd8e458d67e112a1d01a3d4598a7
34021 Author: John David Anglin <dave.anglin@bell.net>
34022 Date: Tue Apr 23 22:42:07 2013 +0200
34023
34024 Upstream commit: bda079d336cd8183e1d844a265ea87ae3e1bbe78
34025
34026 parisc: use spin_lock_irqsave/spin_unlock_irqrestore for PTE updates
34027
34028 User applications running on SMP kernels have long suffered from instability
34029 and random segmentation faults. This patch improves the situation although
34030 there is more work to be done.
34031
34032 One of the problems is the various routines in pgtable.h that update page table
34033 entries use different locking mechanisms, or no lock at all (set_pte_at). This
34034 change modifies the routines to all use the same lock pa_dbit_lock. This lock
34035 is used for dirty bit updates in the interruption code. The patch also purges
34036 the TLB entries associated with the PTE to ensure that inconsistent values are
34037 not used after the page table entry is updated. The UP and SMP code are now
34038 identical.
34039
34040 The change also includes a minor update to the purge_tlb_entries function in
34041 cache.c to improve its efficiency.
34042
34043 Signed-off-by: John David Anglin <dave.anglin@bell.net>
34044 Cc: Helge Deller <deller@gmx.de>
34045 Signed-off-by: Helge Deller <deller@gmx.de>
34046
34047 arch/parisc/include/asm/pgtable.h | 47 +++++++++++++++++++-----------------
34048 arch/parisc/kernel/cache.c | 5 +---
34049 2 files changed, 26 insertions(+), 26 deletions(-)
34050
34051 commit 775a77ad179d4c25bc94e85ef81135cbdffcfdc1
34052 Merge: ba54c97 4d05084
34053 Author: Brad Spengler <spender@grsecurity.net>
34054 Date: Fri Apr 26 18:17:20 2013 -0400
34055
34056 Merge branch 'pax-test' into grsec-test
34057
34058 Conflicts:
34059 arch/x86/kvm/x86.c
34060 include/linux/capability.h
34061
34062 commit 4d0508463d0ee3ec4b9eca1ea6bed3be03a3df21
34063 Merge: c664779 bb8dd67
34064 Author: Brad Spengler <spender@grsecurity.net>
34065 Date: Fri Apr 26 18:15:45 2013 -0400
34066
34067 Merge branch 'linux-3.8.y' into pax-test
34068
34069 commit ba54c977fe8c3afc4a9efd7afc3f30cf10b02fa2
34070 Author: David S. Miller <davem@davemloft.net>
34071 Date: Wed Apr 24 16:52:18 2013 -0700
34072
34073 Upstream commit: f0af97070acbad5d6a361f485828223a4faaa0ee
34074
34075 sparc64: Fix missing put_cpu_var() in tlb_batch_add_one() when not batching.
34076
34077 Reported-by: Meelis Roos <mroos@linux.ee>
34078 Signed-off-by: David S. Miller <davem@davemloft.net>
34079
34080 arch/sparc/mm/tlb.c | 3 ++-
34081 1 files changed, 2 insertions(+), 1 deletions(-)
34082
34083 commit dc080cfd57c7cdc426f8c6c2da11911ac99959d8
34084 Author: David S. Miller <davem@davemloft.net>
34085 Date: Fri Apr 19 17:26:26 2013 -0400
34086
34087 Upstream commit: f36391d2790d04993f48da6a45810033a2cdf847
34088
34089 sparc64: Fix race in TLB batch processing.
34090
34091 As reported by Dave Kleikamp, when we emit cross calls to do batched
34092 TLB flush processing we have a race because we do not synchronize on
34093 the sibling cpus completing the cross call.
34094
34095 So meanwhile the TLB batch can be reset (tb->tlb_nr set to zero, etc.)
34096 and either flushes are missed or flushes will flush the wrong
34097 addresses.
34098
34099 Fix this by using generic infrastructure to synchonize on the
34100 completion of the cross call.
34101
34102 This first required getting the flush_tlb_pending() call out from
34103 switch_to() which operates with locks held and interrupts disabled.
34104 The problem is that smp_call_function_many() cannot be invoked with
34105 IRQs disabled and this is explicitly checked for with WARN_ON_ONCE().
34106
34107 We get the batch processing outside of locked IRQ disabled sections by
34108 using some ideas from the powerpc port. Namely, we only batch inside
34109 of arch_{enter,leave}_lazy_mmu_mode() calls. If we're not in such a
34110 region, we flush TLBs synchronously.
34111
34112 1) Get rid of xcall_flush_tlb_pending and per-cpu type
34113 implementations.
34114
34115 2) Do TLB batch cross calls instead via:
34116
34117 smp_call_function_many()
34118 tlb_pending_func()
34119 __flush_tlb_pending()
34120
34121 3) Batch only in lazy mmu sequences:
34122
34123 a) Add 'active' member to struct tlb_batch
34124 b) Define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
34125 c) Set 'active' in arch_enter_lazy_mmu_mode()
34126 d) Run batch and clear 'active' in arch_leave_lazy_mmu_mode()
34127 e) Check 'active' in tlb_batch_add_one() and do a synchronous
34128 flush if it's clear.
34129
34130 4) Add infrastructure for synchronous TLB page flushes.
34131
34132 a) Implement __flush_tlb_page and per-cpu variants, patch
34133 as needed.
34134 b) Likewise for xcall_flush_tlb_page.
34135 c) Implement smp_flush_tlb_page() to invoke the cross-call.
34136 d) Wire up global_flush_tlb_page() to the right routine based
34137 upon CONFIG_SMP
34138
34139 5) It turns out that singleton batches are very common, 2 out of every
34140 3 batch flushes have only a single entry in them.
34141
34142 The batch flush waiting is very expensive, both because of the poll
34143 on sibling cpu completeion, as well as because passing the tlb batch
34144 pointer to the sibling cpus invokes a shared memory dereference.
34145
34146 Therefore, in flush_tlb_pending(), if there is only one entry in
34147 the batch perform a completely asynchronous global_flush_tlb_page()
34148 instead.
34149
34150 Reported-by: Dave Kleikamp <dave.kleikamp@oracle.com>
34151 Signed-off-by: David S. Miller <davem@davemloft.net>
34152 Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com>
34153
34154 arch/sparc/include/asm/pgtable_64.h | 1 +
34155 arch/sparc/include/asm/switch_to_64.h | 3 +-
34156 arch/sparc/include/asm/tlbflush_64.h | 37 +++++++++--
34157 arch/sparc/kernel/smp_64.c | 41 ++++++++++-
34158 arch/sparc/mm/tlb.c | 38 +++++++++-
34159 arch/sparc/mm/tsb.c | 57 ++++++++++++----
34160 arch/sparc/mm/ultra.S | 119 ++++++++++++++++++++++++++-------
34161 7 files changed, 241 insertions(+), 55 deletions(-)
34162
34163 commit cd80cc3cfd122295e6ec6db1e5e16e5b7a5d3b59
34164 Author: Linus Torvalds <torvalds@linux-foundation.org>
34165 Date: Fri Apr 19 15:32:32 2013 +0000
34166
34167 Upstream commit: 83f1b4ba917db5dc5a061a44b3403ddb6e783494
34168
34169 net: fix incorrect credentials passing
34170
34171 Commit 257b5358b32f ("scm: Capture the full credentials of the scm
34172 sender") changed the credentials passing code to pass in the effective
34173 uid/gid instead of the real uid/gid.
34174
34175 Obviously this doesn't matter most of the time (since normally they are
34176 the same), but it results in differences for suid binaries when the wrong
34177 uid/gid ends up being used.
34178
34179 This just undoes that (presumably unintentional) part of the commit.
34180
34181 Reported-by: Andy Lutomirski <luto@amacapital.net>
34182 Cc: Eric W. Biederman <ebiederm@xmission.com>
34183 Cc: Serge E. Hallyn <serge@hallyn.com>
34184 Cc: David S. Miller <davem@davemloft.net>
34185 Cc: stable@vger.kernel.org
34186 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34187 Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
34188 Signed-off-by: David S. Miller <davem@davemloft.net>
34189
34190 include/net/scm.h | 4 ++--
34191 1 files changed, 2 insertions(+), 2 deletions(-)
34192
34193 commit e126225d1fcaa405ff2a7f1518d615cffe42e7d5
34194 Author: Brad Spengler <spender@grsecurity.net>
34195 Date: Thu Apr 18 19:22:40 2013 -0400
34196
34197 move _etext to only cover kernel code, not read-only data, as reported by Gu1
34198
34199 arch/arm/kernel/vmlinux.lds.S | 4 ++--
34200 1 files changed, 2 insertions(+), 2 deletions(-)
34201
34202 commit 98ad6adbc48759e4f9eae435d3e51ba487155685
34203 Author: Brad Spengler <spender@grsecurity.net>
34204 Date: Thu Apr 18 19:17:24 2013 -0400
34205
34206 add asm/sections.h for USERCOPY change
34207
34208 fs/exec.c | 1 +
34209 1 files changed, 1 insertions(+), 0 deletions(-)
34210
34211 commit c403a6c43da1bcac9b1ef2bca9bba0fb84a40f10
34212 Author: Dmitry Popov <dp@highloadlab.com>
34213 Date: Thu Apr 11 08:55:07 2013 +0000
34214
34215 Upstream commit: d66954a066158781ccf9c13c91d0316970fe57b6
34216
34217 tcp: incoming connections might use wrong route under synflood
34218
34219 There is a bug in cookie_v4_check (net/ipv4/syncookies.c):
34220 flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk),
34221 RT_SCOPE_UNIVERSE, IPPROTO_TCP,
34222 inet_sk_flowi_flags(sk),
34223 (opt && opt->srr) ? opt->faddr : ireq->rmt_addr,
34224 ireq->loc_addr, th->source, th->dest);
34225
34226 Here we do not respect sk->sk_bound_dev_if, therefore wrong dst_entry may be
34227 taken. This dst_entry is used by new socket (get_cookie_sock ->
34228 tcp_v4_syn_recv_sock), so its packets may take the wrong path.
34229
34230 Signed-off-by: Dmitry Popov <dp@highloadlab.com>
34231 Signed-off-by: David S. Miller <davem@davemloft.net>
34232
34233 net/ipv4/syncookies.c | 4 ++--
34234 1 files changed, 2 insertions(+), 2 deletions(-)
34235
34236 commit 3600395e8fef3ae712e72f9b68c3609639616df8
34237 Author: Thomas Graf <tgraf@suug.ch>
34238 Date: Thu Apr 11 10:57:18 2013 +0000
34239
34240 Upstream commit: 50bceae9bd3569d56744882f3012734d48a1d413
34241
34242 tcp: Reallocate headroom if it would overflow csum_start
34243
34244 If a TCP retransmission gets partially ACKed and collapsed multiple
34245 times it is possible for the headroom to grow beyond 64K which will
34246 overflow the 16bit skb->csum_start which is based on the start of
34247 the headroom. It has been observed rarely in the wild with IPoIB due
34248 to the 64K MTU.
34249
34250 Verify if the acking and collapsing resulted in a headroom exceeding
34251 what csum_start can cover and reallocate the headroom if so.
34252
34253 A big thank you to Jim Foraker <foraker1@llnl.gov> and the team at
34254 LLNL for helping out with the investigation and testing.
34255
34256 Reported-by: Jim Foraker <foraker1@llnl.gov>
34257 Signed-off-by: Thomas Graf <tgraf@suug.ch>
34258 Acked-by: Eric Dumazet <edumazet@google.com>
34259 Signed-off-by: David S. Miller <davem@davemloft.net>
34260
34261 net/ipv4/tcp_output.c | 8 ++++++--
34262 1 files changed, 6 insertions(+), 2 deletions(-)
34263
34264 commit 4b0b9a5038da806a2b6eba9efc3f3a53c5188a61
34265 Author: Ivan Vecera <ivecera@redhat.com>
34266 Date: Fri Apr 12 16:49:24 2013 +0200
34267
34268 Upstream commit: f11a869d4e38397ac81f2a3d22e8d2aeb3992b0f
34269
34270 be2net: take care of __vlan_put_tag return value
34271
34272 The driver should use return value of __vlan_put_tag with appropriate
34273 NULL-check instead of old skb pointer.
34274
34275 Signed-off-by: Ivan Vecera <ivecera@redhat.com>
34276 Signed-off-by: David S. Miller <davem@davemloft.net>
34277
34278 drivers/net/ethernet/emulex/benet/be_main.c | 5 +++--
34279 1 files changed, 3 insertions(+), 2 deletions(-)
34280
34281 commit 8d3aca40a891f13b9b1e0d957913fa788fd1cc55
34282 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
34283 Date: Fri Apr 12 03:17:12 2013 +0000
34284
34285 Upstream commit: 3be8fbab18fbc06b6ff94a56f9c225e29ea64a73
34286
34287 tuntap: fix error return code in tun_set_iff()
34288
34289 Fix to return a negative error code from the error handling
34290 case instead of 0, as returned elsewhere in this function.
34291
34292 [ Bug added in linux-3.8 , commit 4008e97f866db665
34293 ("tuntap: fix ambigious multiqueue API") ]
34294
34295 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
34296 Acked-by: Eric Dumazet <edumazet@google.com>
34297 Signed-off-by: David S. Miller <davem@davemloft.net>
34298
34299 drivers/net/tun.c | 2 +-
34300 1 files changed, 1 insertions(+), 1 deletions(-)
34301
34302 commit 42cfd101287e0ffa5e8425ca7dd3c4131a7a601c
34303 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
34304 Date: Sat Apr 13 15:49:03 2013 +0000
34305
34306 Upstream commit: 06848c10f720cbc20e3b784c0df24930b7304b93
34307
34308 esp4: fix error return code in esp_output()
34309
34310 Fix to return a negative error code from the error handling
34311 case instead of 0, as returned elsewhere in this function.
34312
34313 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
34314 Acked-by: Steffen Klassert <steffen.klassert@secunet.com>
34315 Signed-off-by: David S. Miller <davem@davemloft.net>
34316
34317 net/ipv4/esp4.c | 6 +++---
34318 1 files changed, 3 insertions(+), 3 deletions(-)
34319
34320 commit 2b45b5f52c2a8930f80c62de392a62516c83e225
34321 Author: Bjørn Mork <bjorn@mork.no>
34322 Date: Tue Apr 16 00:17:07 2013 +0000
34323
34324 Upstream commit: 32b161aa88aa40a83888a995c6e2ef81140219b1
34325
34326 net: cdc_mbim: remove bogus sizeof()
34327
34328 The intention was to test against the constant, not the size of
34329 the constant.
34330
34331 Signed-off-by: Bjørn Mork <bjorn@mork.no>
34332 Signed-off-by: David S. Miller <davem@davemloft.net>
34333
34334 drivers/net/usb/cdc_mbim.c | 2 +-
34335 1 files changed, 1 insertions(+), 1 deletions(-)
34336
34337 commit 17d7408795519037a5a1272c7888238e20830bfe
34338 Author: Vyacheslav Dubeyko <slava@dubeyko.com>
34339 Date: Wed Apr 17 15:58:33 2013 -0700
34340
34341 Upstream commit: 12f267a20aecf8b84a2a9069b9011f1661c779b4
34342
34343 hfsplus: fix potential overflow in hfsplus_file_truncate()
34344
34345 Change a u32 to loff_t hfsplus_file_truncate().
34346
34347 Signed-off-by: Vyacheslav Dubeyko <slava@dubeyko.com>
34348 Cc: Christoph Hellwig <hch@infradead.org>
34349 Cc: Al Viro <viro@zeniv.linux.org.uk>
34350 Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
34351 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
34352 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34353
34354 fs/hfsplus/extents.c | 2 +-
34355 1 files changed, 1 insertions(+), 1 deletions(-)
34356
34357 commit 5c9574e7f16e7a9b3ea9b419c46ddc57110a555b
34358 Author: Emese Revfy <re.emese@gmail.com>
34359 Date: Wed Apr 17 15:58:36 2013 -0700
34360
34361 Upstream commit: b9e146d8eb3b9ecae5086d373b50fa0c1f3e7f0f
34362
34363 kernel/signal.c: stop info leak via the tkill and the tgkill syscalls
34364
34365 This fixes a kernel memory contents leak via the tkill and tgkill syscalls
34366 for compat processes.
34367
34368 This is visible in the siginfo_t->_sifields._rt.si_sigval.sival_ptr field
34369 when handling signals delivered from tkill.
34370
34371 The place of the infoleak:
34372
34373 int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)
34374 {
34375 ...
34376 put_user_ex(ptr_to_compat(from->si_ptr), &to->si_ptr);
34377 ...
34378 }
34379
34380 Signed-off-by: Emese Revfy <re.emese@gmail.com>
34381 Reviewed-by: PaX Team <pageexec@freemail.hu>
34382 Signed-off-by: Kees Cook <keescook@chromium.org>
34383 Cc: Al Viro <viro@zeniv.linux.org.uk>
34384 Cc: Oleg Nesterov <oleg@redhat.com>
34385 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
34386 Cc: Serge Hallyn <serge.hallyn@canonical.com>
34387 Cc: <stable@vger.kernel.org>
34388 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
34389 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34390
34391 kernel/signal.c | 2 +-
34392 1 files changed, 1 insertions(+), 1 deletions(-)
34393
34394 commit 0942d16614b0ef59d50b10151d77ec52fc98c2d0
34395 Author: Brad Spengler <spender@grsecurity.net>
34396 Date: Wed Apr 17 20:17:00 2013 -0400
34397
34398 Improve PAX_USERCOPY to reject direct copies to/from main kernel text
34399
34400 fs/exec.c | 29 +++++++++++++++++++++++++++--
34401 1 files changed, 27 insertions(+), 2 deletions(-)
34402
34403 commit 3cb37d0c0c77dc3928ff8417f982139f95366eba
34404 Merge: e87c19f c664779
34405 Author: Brad Spengler <spender@grsecurity.net>
34406 Date: Wed Apr 17 20:06:08 2013 -0400
34407
34408 Merge branch 'pax-test' into grsec-test
34409
34410 commit c664779987cb0c27a242029f0e0db812e3236203
34411 Author: Brad Spengler <spender@grsecurity.net>
34412 Date: Wed Apr 17 19:54:09 2013 -0400
34413
34414 add intentional_overflow marking for resource_size() as reasoned by:
34415 http://forums.grsecurity.net/viewtopic.php?f=3&t=3412
34416
34417 include/linux/ioport.h | 2 +-
34418 1 files changed, 1 insertions(+), 1 deletions(-)
34419
34420 commit e87c19f8312355b8658e5138c16bfa6043a379c8
34421 Merge: 802d119 d0c636c
34422 Author: Brad Spengler <spender@grsecurity.net>
34423 Date: Wed Apr 17 16:57:12 2013 -0400
34424
34425 Merge branch 'pax-test' into grsec-test
34426
34427 commit d0c636ceaaf406e606898ce3e770e32fb043ea8a
34428 Merge: bc88628 2396403
34429 Author: Brad Spengler <spender@grsecurity.net>
34430 Date: Wed Apr 17 16:57:01 2013 -0400
34431
34432 Merge branch 'linux-3.8.y' into pax-test
34433
34434 Conflicts:
34435 arch/x86/kernel/paravirt.c
34436
34437 commit 802d1193dcb507b2a62a2de0a869a7dbadd66b9b
34438 Author: Brad Spengler <spender@grsecurity.net>
34439 Date: Sun Apr 14 21:39:51 2013 -0400
34440
34441 move location of RBAC user check on setfsuid until after capability checks
34442 for consistency with other checks
34443
34444 kernel/sys.c | 6 +++---
34445 1 files changed, 3 insertions(+), 3 deletions(-)
34446
34447 commit 1a860d7d67051559ab2e6d10f9888649c92904e6
34448 Author: Brad Spengler <spender@grsecurity.net>
34449 Date: Sun Apr 14 21:34:46 2013 -0400
34450
34451 A denied setfsuid by the RBAC system would result in an abort_creds() being called
34452 with an uninitalized pointer, introduced by a bad forward-port
34453
34454 kernel/sys.c | 6 +++---
34455 1 files changed, 3 insertions(+), 3 deletions(-)
34456
34457 commit 9f94b84d0e5e101fe8ea8ebcc8eeb141d8a6edb9
34458 Merge: c38d142 bc88628
34459 Author: Brad Spengler <spender@grsecurity.net>
34460 Date: Sun Apr 14 21:28:33 2013 -0400
34461
34462 Merge branch 'pax-test' into grsec-test
34463
34464 Conflicts:
34465 security/Kconfig
34466
34467 commit bc88628a6a8fcccaabb90908640809b0540df225
34468 Author: Brad Spengler <spender@grsecurity.net>
34469 Date: Sun Apr 14 21:26:41 2013 -0400
34470
34471 Update to pax-linux-3.8.7-test20.patch:
34472 - fixed KERNEXEC and NMI nesting problem reported by stef&hunger
34473 - changed PHYSICAL_ALIGN/START to fix http://forums.grsecurity.net/viewtopic.php?f=3&t=3414
34474 - CONSTIFY depends on KERNEXEC (for the kernel open/close feature)
34475 - fixed CONSTIFY and powerpc interference, reported by John Hardin (https://bugs.gentoo.org/show_bug.cgi?id=456364)
34476
34477 arch/powerpc/include/asm/smp.h | 2 +-
34478 arch/x86/Kconfig | 4 ++--
34479 arch/x86/kernel/entry_64.S | 8 ++++----
34480 security/Kconfig | 2 +-
34481 4 files changed, 8 insertions(+), 8 deletions(-)
34482
34483 commit c38d142744489fc4d9be80188b6435a278438fd9
34484 Author: Suleiman Souhlal <suleiman@google.com>
34485 Date: Sat Apr 13 16:03:06 2013 -0700
34486
34487 Upstream commit: 5b55d708335a9e3e4f61f2dadf7511502205ccd1
34488
34489 vfs: Revert spurious fix to spinning prevention in prune_icache_sb
34490
34491 Revert commit 62a3ddef6181 ("vfs: fix spinning prevention in prune_icache_sb").
34492
34493 This commit doesn't look right: since we are looking at the tail of the
34494 list (sb->s_inode_lru.prev) if we want to skip an inode, we should put
34495 it back at the head of the list instead of the tail, otherwise we will
34496 keep spinning on it.
34497
34498 Discovered when investigating why prune_icache_sb came top in perf
34499 reports of a swapping load.
34500
34501 Signed-off-by: Suleiman Souhlal <suleiman@google.com>
34502 Signed-off-by: Hugh Dickins <hughd@google.com>
34503 Cc: stable@vger.kernel.org # v3.2+
34504 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34505
34506 fs/inode.c | 2 +-
34507 1 files changed, 1 insertions(+), 1 deletions(-)
34508
34509 commit 93019624b80ba59798393942798d7f6ed0c1dbc6
34510 Author: Linus Torvalds <torvalds@linux-foundation.org>
34511 Date: Sat Apr 13 15:15:30 2013 -0700
34512
34513 Upstream commit: a49b7e82cab0f9b41f483359be83f44fbb6b4979
34514
34515 kobject: fix kset_find_obj() race with concurrent last kobject_put()
34516
34517 Anatol Pomozov identified a race condition that hits module unloading
34518 and re-loading. To quote Anatol:
34519
34520 "This is a race codition that exists between kset_find_obj() and
34521 kobject_put(). kset_find_obj() might return kobject that has refcount
34522 equal to 0 if this kobject is freeing by kobject_put() in other
34523 thread.
34524
34525 Here is timeline for the crash in case if kset_find_obj() searches for
34526 an object tht nobody holds and other thread is doing kobject_put() on
34527 the same kobject:
34528
34529 THREAD A (calls kset_find_obj()) THREAD B (calls kobject_put())
34530 splin_lock()
34531 atomic_dec_return(kobj->kref), counter gets zero here
34532 ... starts kobject cleanup ....
34533 spin_lock() // WAIT thread A in kobj_kset_leave()
34534 iterate over kset->list
34535 atomic_inc(kobj->kref) (counter becomes 1)
34536 spin_unlock()
34537 spin_lock() // taken
34538 // it does not know that thread A increased counter so it
34539 remove obj from list
34540 spin_unlock()
34541 vfree(module) // frees module object with containing kobj
34542
34543 // kobj points to freed memory area!!
34544 kobject_put(kobj) // OOPS!!!!
34545
34546 The race above happens because module.c tries to use kset_find_obj()
34547 when somebody unloads module. The module.c code was introduced in
34548 commit 6494a93d55fa"
34549
34550 Anatol supplied a patch specific for module.c that worked around the
34551 problem by simply not using kset_find_obj() at all, but rather than make
34552 a local band-aid, this just fixes kset_find_obj() to be thread-safe
34553 using the proper model of refusing the get a new reference if the
34554 refcount has already dropped to zero.
34555
34556 See examples of this proper refcount handling not only in the kref
34557 documentation, but in various other equivalent uses of this pattern by
34558 grepping for atomic_inc_not_zero().
34559
34560 [ Side note: the module race does indicate that module loading and
34561 unloading is not properly serialized wrt sysfs information using the
34562 module mutex. That may require further thought, but this is the
34563 correct fix at the kobject layer regardless. ]
34564
34565 Reported-analyzed-and-tested-by: Anatol Pomozov <anatol.pomozov@gmail.com>
34566 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
34567 Cc: Al Viro <viro@zeniv.linux.org.uk>
34568 Cc: stable@vger.kernel.org
34569 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34570
34571 lib/kobject.c | 9 ++++++++-
34572 1 files changed, 8 insertions(+), 1 deletions(-)
34573
34574 commit 5277b052b5fab36729e1255fb3b12f47a4b12867
34575 Author: Dave Hansen <dave@sr71.net>
34576 Date: Fri Apr 12 16:23:54 2013 -0700
34577
34578 Upstream commit: 1de14c3c5cbc9bb17e9dcc648cda51c0c85d54b9
34579
34580 x86-32: Fix possible incomplete TLB invalidate with PAE pagetables
34581
34582 This patch attempts to fix:
34583
34584 https://bugzilla.kernel.org/show_bug.cgi?id=56461
34585
34586 The symptom is a crash and messages like this:
34587
34588 chrome: Corrupted page table at address 34a03000
34589 *pdpt = 0000000000000000 *pde = 0000000000000000
34590 Bad pagetable: 000f [#1] PREEMPT SMP
34591
34592 Ingo guesses this got introduced by commit 611ae8e3f520 ("x86/tlb:
34593 enable tlb flush range support for x86") since that code started to free
34594 unused pagetables.
34595
34596 On x86-32 PAE kernels, that new code has the potential to free an entire
34597 PMD page and will clear one of the four page-directory-pointer-table
34598 (aka pgd_t entries).
34599
34600 The hardware aggressively "caches" these top-level entries and invlpg
34601 does not actually affect the CPU's copy. If we clear one we *HAVE* to
34602 do a full TLB flush, otherwise we might continue using a freed pmd page.
34603 (note, we do this properly on the population side in pud_populate()).
34604
34605 This patch tracks whenever we clear one of these entries in the 'struct
34606 mmu_gather', and ensures that we follow up with a full tlb flush.
34607
34608 BTW, I disassembled and checked that:
34609
34610 if (tlb->fullmm == 0)
34611 and
34612 if (!tlb->fullmm && !tlb->need_flush_all)
34613
34614 generate essentially the same code, so there should be zero impact there
34615 to the !PAE case.
34616
34617 Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
34618 Cc: Peter Anvin <hpa@zytor.com>
34619 Cc: Ingo Molnar <mingo@kernel.org>
34620 Cc: Artem S Tashkinov <t.artem@mailcity.com>
34621 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34622
34623 arch/x86/include/asm/tlb.h | 2 +-
34624 arch/x86/mm/pgtable.c | 7 +++++++
34625 include/asm-generic/tlb.h | 7 ++++++-
34626 mm/memory.c | 1 +
34627 4 files changed, 15 insertions(+), 2 deletions(-)
34628
34629 commit 521e573fc77d1783c1d4636dfbb4617a922f043d
34630 Merge: 032f626 f807619
34631 Author: Brad Spengler <spender@grsecurity.net>
34632 Date: Fri Apr 12 19:29:34 2013 -0400
34633
34634 Merge branch 'pax-test' into grsec-test
34635
34636 commit f80761993b85df96fc142dfc3a317cadc0f8eae5
34637 Author: Brad Spengler <spender@grsecurity.net>
34638 Date: Fri Apr 12 19:28:21 2013 -0400
34639
34640 Update to pax-linux-3.8.7-test19.patch:
34641 - fixed STACKLEAK/XEN interference once again, reported by Jason A. Donenfeld
34642 - fixed small typo, reported by mlarm (http://forums.grsecurity.net/viewtopic.php?f=3&t=3411)
34643 - fixed the structleak plugin to compile for gcc 4.5-4.6 as well
34644
34645 Makefile | 2 +-
34646 arch/x86/xen/enlighten.c | 6 +++---
34647 tools/gcc/structleak_plugin.c | 5 +++--
34648 3 files changed, 7 insertions(+), 6 deletions(-)
34649
34650 commit 032f626a4ae9bc3196313a2e762650c3d9abdc96
34651 Merge: a3a770e 89886f5
34652 Author: Brad Spengler <spender@grsecurity.net>
34653 Date: Fri Apr 12 18:38:40 2013 -0400
34654
34655 Merge branch 'pax-test' into grsec-test
34656
34657 commit 89886f561cc0d1c42a99624ec8c3704711088155
34658 Merge: 9123489 531ec28
34659 Author: Brad Spengler <spender@grsecurity.net>
34660 Date: Fri Apr 12 18:38:30 2013 -0400
34661
34662 Merge branch 'linux-3.8.y' into pax-test
34663
34664 commit a3a770e18578841e4fbe2aa0831a22811b4812cf
34665 Author: Brad Spengler <spender@grsecurity.net>
34666 Date: Thu Apr 11 20:46:20 2013 -0400
34667
34668 Revert "Don't auto-enable stackleak if kernel is used for xen dom0, kernel will not boot"
34669 Will be fixed with the next PaX patch
34670
34671 This reverts commit 63badcd2023717cc62b6c3ad5f25fe504c49e6d7.
34672
34673 security/Kconfig | 2 +-
34674 1 files changed, 1 insertions(+), 1 deletions(-)
34675
34676 commit fc98763e4f1f1487928750b26a63098b9e0ed5b1
34677 Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
34678 Date: Fri Mar 29 10:20:56 2013 -0400
34679
34680 Upstream commit: b22227944b8fe92b19150b4c36421e37979d9a16
34681
34682 xen/mmu: On early bootup, flush the TLB when changing RO->RW bits Xen provided pagetables.
34683
34684 Occassionaly on a DL380 G4 the guest would crash quite early with this:
34685
34686 (XEN) d244:v0: unhandled page fault (ec=0003)
34687 (XEN) Pagetable walk from ffffffff84dc7000:
34688 (XEN) L4[0x1ff] = 00000000c3f18067 0000000000001789
34689 (XEN) L3[0x1fe] = 00000000c3f14067 000000000000178d
34690 (XEN) L2[0x026] = 00000000dc8b2067 0000000000004def
34691 (XEN) L1[0x1c7] = 00100000dc8da067 0000000000004dc7
34692 (XEN) domain_crash_sync called from entry.S
34693 (XEN) Domain 244 (vcpu#0) crashed on cpu#3:
34694 (XEN) ----[ Xen-4.1.3OVM x86_64 debug=n Not tainted ]----
34695 (XEN) CPU: 3
34696 (XEN) RIP: e033:[<ffffffff81263f22>]
34697 (XEN) RFLAGS: 0000000000000216 EM: 1 CONTEXT: pv guest
34698 (XEN) rax: 0000000000000000 rbx: ffffffff81785f88 rcx: 000000000000003f
34699 (XEN) rdx: 0000000000000000 rsi: 00000000dc8da063 rdi: ffffffff84dc7000
34700
34701 The offending code shows it to be a loop writting the value zero
34702 (%rax) in the %rdi (the L4 provided by Xen) register:
34703
34704 0: 44 00 00 add %r8b,(%rax)
34705 3: 31 c0 xor %eax,%eax
34706 5: b9 40 00 00 00 mov $0x40,%ecx
34707 a: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
34708 11: 00 00
34709 13: ff c9 dec %ecx
34710 15:* 48 89 07 mov %rax,(%rdi) <-- trapping instruction
34711 18: 48 89 47 08 mov %rax,0x8(%rdi)
34712 1c: 48 89 47 10 mov %rax,0x10(%rdi)
34713
34714 which fails. xen_setup_kernel_pagetable recycles some of the Xen's
34715 page-table entries when it has switched over to its Linux page-tables.
34716
34717 Right before try to clear the page, we make a hypercall to change
34718 it from _RO to _RW and that works (otherwise we would hit an BUG()).
34719 And the _RW flag is set for that page:
34720 (XEN) L1[0x1c7] = 001000004885f067 0000000000004dc7
34721
34722 The error code is 3, so PFEC_page_present and PFEC_write_access, so page is
34723 present (correct), and we tried to write to the page, but a violation
34724 occurred. The one theory is that the the page entries in hardware
34725 (which are cached) are not up to date with what we just set. Especially
34726 as we have just done an CR3 write and flushed the multicalls.
34727
34728 This patch does solve the problem by flusing out the TLB page
34729 entry after changing it from _RO to _RW and we don't hit this
34730 issue anymore.
34731
34732 Fixed-Oracle-Bug: 16243091 [ON OCCASIONS VM START GOES INTO
34733 'CRASH' STATE: CLEAR_PAGE+0X12 ON HP DL380 G4]
34734 Reported-and-Tested-by: Saar Maoz <Saar.Maoz@oracle.com>
34735 Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
34736
34737 arch/x86/xen/mmu.c | 12 ++++++++----
34738 1 files changed, 8 insertions(+), 4 deletions(-)
34739
34740 commit d56bdc2595e76ca48cbfd695def7f82c3ab80c11
34741 Author: Namhyung Kim <namhyung.kim@lge.com>
34742 Date: Mon Apr 1 21:46:23 2013 +0900
34743
34744 Upstream commit: 83e03b3fe4daffdebbb42151d5410d730ae50bd1
34745
34746 tracing: Fix double free when function profile init failed
34747
34748 On the failure path, stat->start and stat->pages will refer same page.
34749 So it'll attempt to free the same page again and get kernel panic.
34750
34751 Link: http://lkml.kernel.org/r/1364820385-32027-1-git-send-email-namhyung@kernel.org
34752
34753 Cc: Frederic Weisbecker <fweisbec@gmail.com>
34754 Cc: Namhyung Kim <namhyung.kim@lge.com>
34755 Cc: stable@vger.kernel.org
34756 Signed-off-by: Namhyung Kim <namhyung@kernel.org>
34757 Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
34758
34759 kernel/trace/ftrace.c | 1 -
34760 1 files changed, 0 insertions(+), 1 deletions(-)
34761
34762 commit c86b0de9f4c42a7ede40df5af9436e87ccc784bb
34763 Author: Neil Horman <nhorman@tuxdriver.com>
34764 Date: Tue Apr 9 23:19:00 2013 +0000
34765
34766 Upstream commit: 61a0f6efc8932e9914e1782ff3a027e23c687fc6
34767
34768 e100: Add dma mapping error check
34769
34770 e100 uses pci_map_single, but fails to check for a dma mapping error after its
34771 use, resulting in a stack trace:
34772
34773 [ 46.656594] ------------[ cut here ]------------
34774 [ 46.657004] WARNING: at lib/dma-debug.c:933 check_unmap+0x47b/0x950()
34775 [ 46.657004] Hardware name: To Be Filled By O.E.M.
34776 [ 46.657004] e100 0000:00:0e.0: DMA-API: device driver failed to check map
34777 error[device address=0x000000007a4540fa] [size=90 bytes] [mapped as single]
34778 [ 46.657004] Modules linked in:
34779 [ 46.657004] w83627hf hwmon_vid snd_via82xx ppdev snd_ac97_codec ac97_bus
34780 snd_seq snd_pcm snd_mpu401 snd_mpu401_uart ns558 snd_rawmidi gameport parport_pc
34781 e100 snd_seq_device parport snd_page_alloc snd_timer snd soundcore skge shpchp
34782 k8temp mii edac_core i2c_viapro edac_mce_amd nfsd auth_rpcgss nfs_acl lockd
34783 sunrpc binfmt_misc uinput ata_generic pata_acpi radeon i2c_algo_bit
34784 drm_kms_helper ttm firewire_ohci drm firewire_core pata_via sata_via i2c_core
34785 sata_promise crc_itu_t
34786 [ 46.657004] Pid: 792, comm: ip Not tainted 3.8.0-0.rc6.git0.1.fc19.x86_64 #1
34787 [ 46.657004] Call Trace:
34788 [ 46.657004] <IRQ> [<ffffffff81065ed0>] warn_slowpath_common+0x70/0xa0
34789 [ 46.657004] [<ffffffff81065f4c>] warn_slowpath_fmt+0x4c/0x50
34790 [ 46.657004] [<ffffffff81364cfb>] check_unmap+0x47b/0x950
34791 [ 46.657004] [<ffffffff8136522f>] debug_dma_unmap_page+0x5f/0x70
34792 [ 46.657004] [<ffffffffa030f0f0>] ? e100_tx_clean+0x30/0x210 [e100]
34793 [ 46.657004] [<ffffffffa030f1a8>] e100_tx_clean+0xe8/0x210 [e100]
34794 [ 46.657004] [<ffffffffa030fc6f>] e100_poll+0x56f/0x6c0 [e100]
34795 [ 46.657004] [<ffffffff8159dce1>] ? net_rx_action+0xa1/0x370
34796 [ 46.657004] [<ffffffff8159ddb2>] net_rx_action+0x172/0x370
34797 [ 46.657004] [<ffffffff810703bf>] __do_softirq+0xef/0x3d0
34798 [ 46.657004] [<ffffffff816e4ebc>] call_softirq+0x1c/0x30
34799 [ 46.657004] [<ffffffff8101c485>] do_softirq+0x85/0xc0
34800 [ 46.657004] [<ffffffff81070885>] irq_exit+0xd5/0xe0
34801 [ 46.657004] [<ffffffff816e5756>] do_IRQ+0x56/0xc0
34802 [ 46.657004] [<ffffffff816dacb2>] common_interrupt+0x72/0x72
34803 [ 46.657004] <EOI> [<ffffffff816da1eb>] ?
34804 _raw_spin_unlock_irqrestore+0x3b/0x70
34805 [ 46.657004] [<ffffffff816d124d>] __slab_free+0x58/0x38b
34806 [ 46.657004] [<ffffffff81214424>] ? fsnotify_clear_marks_by_inode+0x34/0x120
34807 [ 46.657004] [<ffffffff811b0417>] ? kmem_cache_free+0x97/0x320
34808 [ 46.657004] [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
34809 [ 46.657004] [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
34810 [ 46.657004] [<ffffffff811b0692>] kmem_cache_free+0x312/0x320
34811 [ 46.657004] [<ffffffff8157fc14>] sock_destroy_inode+0x34/0x40
34812 [ 46.657004] [<ffffffff811e8c28>] destroy_inode+0x38/0x60
34813 [ 46.657004] [<ffffffff811e8d5e>] evict+0x10e/0x1a0
34814 [ 46.657004] [<ffffffff811e9605>] iput+0xf5/0x180
34815 [ 46.657004] [<ffffffff811e4338>] dput+0x248/0x310
34816 [ 46.657004] [<ffffffff811ce0e1>] __fput+0x171/0x240
34817 [ 46.657004] [<ffffffff811ce26e>] ____fput+0xe/0x10
34818 [ 46.657004] [<ffffffff8108d54c>] task_work_run+0xac/0xe0
34819 [ 46.657004] [<ffffffff8106c6ed>] do_exit+0x26d/0xc30
34820 [ 46.657004] [<ffffffff8109eccc>] ? finish_task_switch+0x7c/0x120
34821 [ 46.657004] [<ffffffff816dad58>] ? retint_swapgs+0x13/0x1b
34822 [ 46.657004] [<ffffffff8106d139>] do_group_exit+0x49/0xc0
34823 [ 46.657004] [<ffffffff8106d1c4>] sys_exit_group+0x14/0x20
34824 [ 46.657004] [<ffffffff816e3b19>] system_call_fastpath+0x16/0x1b
34825 [ 46.657004] ---[ end trace 4468c44e2156e7d1 ]---
34826 [ 46.657004] Mapped at:
34827 [ 46.657004] [<ffffffff813663d1>] debug_dma_map_page+0x91/0x140
34828 [ 46.657004] [<ffffffffa030e8eb>] e100_xmit_prepare+0x12b/0x1c0 [e100]
34829 [ 46.657004] [<ffffffffa030c924>] e100_exec_cb+0x84/0x140 [e100]
34830 [ 46.657004] [<ffffffffa030e56a>] e100_xmit_frame+0x3a/0x190 [e100]
34831 [ 46.657004] [<ffffffff8159ee89>] dev_hard_start_xmit+0x259/0x6c0
34832
34833 Easy fix, modify the cb paramter to e100_exec_cb to return an error, and do the
34834 dma_mapping_error check in the obvious place
34835
34836 This was reported previously here:
34837 http://article.gmane.org/gmane.linux.network/257893
34838
34839 But nobody stepped up and fixed it.
34840
34841 CC: Josh Boyer <jwboyer@redhat.com>
34842 CC: e1000-devel@lists.sourceforge.net
34843 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
34844 Reported-by: Michal Jaegermann <michal@harddata.com>
34845 Tested-by: Aaron Brown <aaron.f.brown@intel.com>
34846 Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
34847 Signed-off-by: David S. Miller <davem@davemloft.net>
34848
34849 drivers/net/ethernet/intel/e100.c | 36 +++++++++++++++++++++++++-----------
34850 1 files changed, 25 insertions(+), 11 deletions(-)
34851
34852 commit df93708573ce6c512b9a9406a83a6fd4e87ff6a6
34853 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
34854 Date: Wed Apr 10 12:44:18 2013 -0400
34855
34856 Upstream commit: eb04e0ac198cec3bab407ad220438dfa65c19c67
34857
34858 NFSv4: Doh! Typo in the fix to nfs41_walk_client_list
34859
34860 Make sure that we set the status to 0 on success. Missed in testing
34861 because it never appears when doing multiple mounts to _different_
34862 servers.
34863
34864 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
34865 Cc: <stable@vger.kernel.org> # 3.7.x: 7b1f1fd: NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
34866
34867 fs/nfs/nfs4client.c | 1 +
34868 1 files changed, 1 insertions(+), 0 deletions(-)
34869
34870 commit 0ea7b7294f627588b0b3dc26a8a0ff8e1e27b5ea
34871 Author: Yuval Mintz <yuvalmin@broadcom.com>
34872 Date: Wed Apr 10 13:34:39 2013 +0300
34873
34874 Upstream commit: fea75645342c7ad574214497a78e562db12dfd7b
34875
34876 bnx2x: Prevent null pointer dereference in AFEX mode
34877
34878 The cnic module is responsible for initializing various bnx2x structs
34879 via callbacks provided by the bnx2x module.
34880 One such struct is the queue object for the FCoE queue.
34881
34882 If a device is working in AFEX mode and its configuration allows FCoE yet
34883 the cnic module is not loaded, it's very likely a null pointer dereference
34884 will occur, as the bnx2x will erroneously access the FCoE's queue object.
34885
34886 Prevent said access until cnic properly registers itself.
34887
34888 Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
34889 Signed-off-by: Ariel Elior <ariele@broadcom.com>
34890 Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
34891 Signed-off-by: David S. Miller <davem@davemloft.net>
34892
34893 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 3 ++-
34894 1 files changed, 2 insertions(+), 1 deletions(-)
34895
34896 commit 2908830232725db624aaa052f7ad38d1f98bf541
34897 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
34898 Date: Tue Apr 9 14:16:04 2013 +0800
34899
34900 Upstream commit: 3480a2125923e4b7a56d79efc76743089bf273fc
34901
34902 can: gw: use kmem_cache_free() instead of kfree()
34903
34904 Memory allocated by kmem_cache_alloc() should be freed using
34905 kmem_cache_free(), not kfree().
34906
34907 Cc: linux-stable <stable@vger.kernel.org> # >= v3.2
34908 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
34909 Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
34910 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
34911
34912 net/can/gw.c | 6 +++---
34913 1 files changed, 3 insertions(+), 3 deletions(-)
34914
34915 commit d40b572e845a5fb561e3c4a80cc306cd38888a4e
34916 Author: Christoph Paasch <christoph.paasch@uclouvain.be>
34917 Date: Sun Apr 7 04:53:15 2013 +0000
34918
34919 Upstream commit: 50a75a8914539c5dcd441c5f54d237a666a426fd
34920
34921 ipv6/tcp: Stop processing ICMPv6 redirect messages
34922
34923 Tetja Rediske found that if the host receives an ICMPv6 redirect message
34924 after sending a SYN+ACK, the connection will be reset.
34925
34926 He bisected it down to 093d04d (ipv6: Change skb->data before using
34927 icmpv6_notify() to propagate redirect), but the origin of the bug comes
34928 from ec18d9a26 (ipv6: Add redirect support to all protocol icmp error
34929 handlers.). The bug simply did not trigger prior to 093d04d, because
34930 skb->data did not point to the inner IP header and thus icmpv6_notify
34931 did not call the correct err_handler.
34932
34933 This patch adds the missing "goto out;" in tcp_v6_err. After receiving
34934 an ICMPv6 Redirect, we should not continue processing the ICMP in
34935 tcp_v6_err, as this may trigger the removal of request-socks or setting
34936 sk_err(_soft).
34937
34938 Reported-by: Tetja Rediske <tetja@tetja.de>
34939 Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
34940 Acked-by: Eric Dumazet <edumazet@google.com>
34941 Signed-off-by: David S. Miller <davem@davemloft.net>
34942
34943 net/ipv6/tcp_ipv6.c | 1 +
34944 1 files changed, 1 insertions(+), 0 deletions(-)
34945
34946 commit c7d5c2524456ef3ea9194840e7a9a75069a46824
34947 Author: Brad Spengler <spender@grsecurity.net>
34948 Date: Wed Apr 10 20:32:54 2013 -0400
34949
34950 - fixed typo in Makefile reported by mlarm (https://forums.grsecurity.net/viewtopic.php?t=3411)
34951
34952 Makefile | 2 +-
34953 1 files changed, 1 insertions(+), 1 deletions(-)
34954
34955 commit acac2380fd97acee4367d2aa24c74322dcf1d22b
34956 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
34957 Date: Fri Apr 5 16:11:11 2013 -0400
34958
34959 Upstream commit: 7b1f1fd1842e6ede25183c267ae733a7f67f00bc
34960
34961 NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
34962
34963 It is unsafe to use list_for_each_entry_safe() here, because
34964 when we drop the nn->nfs_client_lock, we pin the _current_ list
34965 entry and ensure that it stays in the list, but we don't do the
34966 same for the _next_ list entry. Use of list_for_each_entry() is
34967 therefore the correct thing to do.
34968
34969 Also fix the refcounting in nfs41_walk_client_list().
34970
34971 Finally, ensure that the nfs_client has finished being initialised
34972 and, in the case of NFSv4.1, that the session is set up.
34973
34974 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
34975 Cc: Chuck Lever <chuck.lever@oracle.com>
34976 Cc: Bryan Schumaker <bjschuma@netapp.com>
34977 Cc: stable@vger.kernel.org [>= 3.7]
34978
34979 fs/nfs/nfs4client.c | 44 ++++++++++++++++++++++++++++----------------
34980 1 files changed, 28 insertions(+), 16 deletions(-)
34981
34982 commit a6cf5f387b882ac0ce655b75f623f86c075517be
34983 Author: Chuck Lever <chuck.lever@oracle.com>
34984 Date: Fri Mar 22 12:52:59 2013 -0400
34985
34986 Upstream commit: a58e0be6f6b3eb2079b0b8fedc9df6fa86869f1e
34987
34988 SUNRPC: Remove extra xprt_put()
34989
34990 While testing error cases where rpc_new_client() fails, I saw
34991 some oopses.
34992
34993 If rpc_new_client() fails, it already invokes xprt_put(). Thus
34994 __rpc_clone_client() does not need to invoke it again.
34995
34996 Introduced by commit 1b63a751 "SUNRPC: Refactor rpc_clone_client()"
34997 Fri Sep 14, 2012.
34998
34999 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
35000 Cc: stable@vger.kernel.org [>=3.7]
35001 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
35002
35003 net/sunrpc/clnt.c | 4 +---
35004 1 files changed, 1 insertions(+), 3 deletions(-)
35005
35006 commit a744b307c1f65ceb100412dc18cdd7ecc9a8ae00
35007 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
35008 Date: Fri Apr 5 14:13:21 2013 -0400
35009
35010 Upstream commit: f05c124a70a4953a66acbd6d6c601ea1eb5d0fa7
35011
35012 SUNRPC: Fix a potential memory leak in rpc_new_client
35013
35014 If the call to rpciod_up() fails, we currently leak a reference to the
35015 struct rpc_xprt.
35016 As part of the fix, we also remove the redundant check for xprt!=NULL.
35017 This is already taken care of by the callers.
35018
35019 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
35020
35021 net/sunrpc/clnt.c | 7 ++-----
35022 1 files changed, 2 insertions(+), 5 deletions(-)
35023
35024 commit 43b9f1b9b8380984c5c100978bd33e8f16da06ac
35025 Author: Brad Spengler <spender@grsecurity.net>
35026 Date: Wed Apr 10 19:16:05 2013 -0400
35027
35028 From https://lkml.org/lkml/2013/4/8/469:
35029 [PATCH] rtnetlink: call nlmsg_parse() with correct header length
35030
35031 net/core/rtnetlink.c | 4 ++--
35032 1 files changed, 2 insertions(+), 2 deletions(-)
35033
35034 commit 9529169b8c405874fd543b785f53c74fa0501c2a
35035 Author: Christopher Harvey <charvey@matrox.com>
35036 Date: Fri Apr 5 10:51:15 2013 -0400
35037
35038 Upstream commit: 1812a3db0874be1d1524086da9e84397b800f546
35039
35040 drm/mgag200: Index 24 in extended CRTC registers is 24 in hex, not decimal.
35041
35042 This change properly enables the "requester" in G200ER cards that is
35043 responsible for getting pixels out of memory and clocking them out to
35044 the screen.
35045
35046 Signed-off-by: Christopher Harvey <charvey@matrox.com>
35047 Cc: stable@vger.kernel.org
35048 Signed-off-by: Dave Airlie <airlied@redhat.com>
35049
35050 drivers/gpu/drm/mgag200/mgag200_mode.c | 13 +++----------
35051 1 files changed, 3 insertions(+), 10 deletions(-)
35052
35053 commit 07c42243c7b01e2a7a9d168ad491e28b9ef9082a
35054 Author: Al Viro <viro@zeniv.linux.org.uk>
35055 Date: Thu Mar 28 13:30:23 2013 -0400
35056
35057 Upstream commit: 52f21999c7b921a0390708b66ed286282c2e4bee
35058
35059 ecryptfs: close rmmod race
35060
35061 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
35062
35063 fs/ecryptfs/miscdev.c | 14 ++------------
35064 1 files changed, 2 insertions(+), 12 deletions(-)
35065
35066 commit 2800bdcf9cd642b967e5fdc2a15c1c4aefbadd9b
35067 Author: Brad Spengler <spender@grsecurity.net>
35068 Date: Wed Apr 10 19:03:45 2013 -0400
35069
35070 Backport overflow fix from upstream commit: ccf932042fa7785832d8989ba1369cd7c7f5d7a1
35071
35072 arch/ia64/kernel/palinfo.c | 2 +-
35073 1 files changed, 1 insertions(+), 1 deletions(-)
35074
35075 commit 83280e384ae3ceadad30369ced111dc7d4b46085
35076 Author: Andrey Vagin <avagin@openvz.org>
35077 Date: Tue Apr 9 17:33:29 2013 +0400
35078
35079 Upstream commit: e9c5d8a562f01b211926d70443378eb14b29a676
35080
35081 mnt: release locks on error path in do_loopback
35082
35083 do_loopback calls lock_mount(path) and forget to unlock_mount
35084 if clone_mnt or copy_mnt fails.
35085
35086 [ 77.661566] ================================================
35087 [ 77.662939] [ BUG: lock held when returning to user space! ]
35088 [ 77.664104] 3.9.0-rc5+ #17 Not tainted
35089 [ 77.664982] ------------------------------------------------
35090 [ 77.666488] mount/514 is leaving the kernel with locks still held!
35091 [ 77.668027] 2 locks held by mount/514:
35092 [ 77.668817] #0: (&sb->s_type->i_mutex_key#7){+.+.+.}, at: [<ffffffff811cca22>] lock_mount+0x32/0xe0
35093 [ 77.671755] #1: (&namespace_sem){+++++.}, at: [<ffffffff811cca3a>] lock_mount+0x4a/0xe0
35094
35095 Signed-off-by: Andrey Vagin <avagin@openvz.org>
35096 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
35097
35098 fs/namespace.c | 2 +-
35099 1 files changed, 1 insertions(+), 1 deletions(-)
35100
35101 commit 679e536b9d9536d804f049fe942367a596253e6d
35102 Author: Alex Williamson <alex.williamson@redhat.com>
35103 Date: Tue Mar 26 11:33:16 2013 -0600
35104
35105 Upstream commit: 904c680c7bf016a8619a045850937427f8d7368c
35106
35107 vfio-pci: Fix possible integer overflow
35108
35109 The VFIO_DEVICE_SET_IRQS ioctl takes a start and count parameter, both
35110 of which are unsigned. We attempt to bounds check these, but fail to
35111 account for the case where start is a very large number, allowing
35112 start + count to wrap back into the valid range. Bounds check both
35113 start and start + count.
35114
35115 Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
35116 Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
35117
35118 drivers/vfio/pci/vfio_pci.c | 3 ++-
35119 1 files changed, 2 insertions(+), 1 deletions(-)
35120
35121 commit 63badcd2023717cc62b6c3ad5f25fe504c49e6d7
35122 Author: Brad Spengler <spender@grsecurity.net>
35123 Date: Wed Apr 10 18:48:45 2013 -0400
35124
35125 Don't auto-enable stackleak if kernel is used for xen dom0, kernel will not boot
35126
35127 security/Kconfig | 2 +-
35128 1 files changed, 1 insertions(+), 1 deletions(-)
35129
35130 commit b5261a6384ee42499b29495aaae40b271e77d394
35131 Author: Brad Spengler <spender@grsecurity.net>
35132 Date: Tue Apr 9 17:30:45 2013 -0400
35133
35134 some undefined behavior fixups
35135
35136 grsecurity/gracl.c | 4 ++--
35137 grsecurity/gracl_ip.c | 10 +++++-----
35138 grsecurity/gracl_segv.c | 4 ++--
35139 3 files changed, 9 insertions(+), 9 deletions(-)
35140
35141 commit 9f83caa35e78be1f3e753586ab217555c3b21ff4
35142 Author: Brad Spengler <spender@grsecurity.net>
35143 Date: Tue Apr 9 17:28:54 2013 -0400
35144
35145 don't whine about denied ipv6 when it's not enabled
35146
35147 grsecurity/gracl_ip.c | 3 +++
35148 1 files changed, 3 insertions(+), 0 deletions(-)
35149
35150 commit 5a02f8bc96bd0c31f9ff09e63f9d85d560b8be61
35151 Merge: 97bca88 9123489
35152 Author: Brad Spengler <spender@grsecurity.net>
35153 Date: Tue Apr 9 17:18:45 2013 -0400
35154
35155 Merge branch 'pax-test' into grsec-test
35156
35157 commit 9123489428c58668a89f316db6619739cbdd2c2a
35158 Author: Brad Spengler <spender@grsecurity.net>
35159 Date: Tue Apr 9 17:17:46 2013 -0400
35160
35161 Update to pax-linux-3.8.6-test18.patch:
35162 - new size overflow plugin from Emese to work around a gcc optimization
35163 resulting in an intentional overflow, reported by Carlos Carvalho
35164 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3409)
35165
35166 tools/gcc/size_overflow_plugin.c | 68 ++++++++++++++++++++++++++++++++++++-
35167 1 files changed, 66 insertions(+), 2 deletions(-)
35168
35169 commit 97bca8889e0f1e853f16b7026c39c6729a8587ab
35170 Merge: 675a41e e9d6073
35171 Author: Brad Spengler <spender@grsecurity.net>
35172 Date: Mon Apr 8 21:32:59 2013 -0400
35173
35174 Merge branch 'pax-test' into grsec-test
35175
35176 Conflicts:
35177 arch/sparc/kernel/us3_cpufreq.c
35178
35179 commit e9d6073f15010ccace0b6b0f0a19ed63cf1adeef
35180 Author: Brad Spengler <spender@grsecurity.net>
35181 Date: Mon Apr 8 21:19:03 2013 -0400
35182
35183 Update to pax-linux-3.8.6-test17.patch:
35184 - fixed ia64/ppc/sparc compilation by spender
35185 - improved the STRUCTLEAK gcc plugin to cover a few more cases (credit to stef for the bugreport)
35186
35187 arch/ia64/include/asm/uaccess.h | 2 -
35188 arch/powerpc/include/asm/uaccess.h | 2 -
35189 arch/sparc/include/asm/uaccess.h | 7 ----
35190 arch/sparc/kernel/prom_common.c | 2 +-
35191 arch/sparc/kernel/us3_cpufreq.c | 69 ++++++++++--------------------------
35192 tools/gcc/structleak_plugin.c | 15 ++++----
35193 6 files changed, 28 insertions(+), 69 deletions(-)
35194
35195 commit 675a41e42a636dcb1e97bffe0f0fa6262242e64b
35196 Author: Brad Spengler <spender@grsecurity.net>
35197 Date: Sun Apr 7 12:00:50 2013 -0400
35198
35199 fix similar leaks in sys_recvfrom as fixed in recvmsg, already handled by the new structleak plugin
35200
35201 net/socket.c | 2 +-
35202 1 files changed, 1 insertions(+), 1 deletions(-)
35203
35204 commit 5a216624a06429488f24ce47db093da042f90e48
35205 Author: Brad Spengler <spender@grsecurity.net>
35206 Date: Sat Apr 6 13:22:24 2013 -0400
35207
35208 fix typo
35209
35210 arch/sparc/kernel/us3_cpufreq.c | 5 +----
35211 1 files changed, 1 insertions(+), 4 deletions(-)
35212
35213 commit e476ca18d21788898cd3acd1b57049971a2fb70f
35214 Author: Brad Spengler <spender@grsecurity.net>
35215 Date: Sat Apr 6 13:16:13 2013 -0400
35216
35217 properly fix cpufreq_driver for ultrasparc III with constification
35218
35219 arch/sparc/kernel/us3_cpufreq.c | 35 +++++++++++++++++------------------
35220 1 files changed, 17 insertions(+), 18 deletions(-)
35221
35222 commit 3ef64a33c8a38d17db7d1e6ff13d9036c75598ae
35223 Author: Brad Spengler <spender@grsecurity.net>
35224 Date: Sat Apr 6 12:58:48 2013 -0400
35225
35226 mark prom_sparc_ops __initconst
35227
35228 arch/sparc/kernel/prom_common.c | 2 +-
35229 1 files changed, 1 insertions(+), 1 deletions(-)
35230
35231 commit daaa8e290cb1eb08e86c6d3f0fb1a8270d897439
35232 Author: Brad Spengler <spender@grsecurity.net>
35233 Date: Sat Apr 6 12:53:16 2013 -0400
35234
35235 fix ia64/powerpc/sparc compilation
35236
35237 arch/ia64/include/asm/uaccess.h | 2 --
35238 arch/powerpc/include/asm/uaccess.h | 2 --
35239 arch/sparc/include/asm/uaccess.h | 7 -------
35240 3 files changed, 0 insertions(+), 11 deletions(-)
35241
35242 commit 4a0cd3af0fd8788bd1c84de775743c8ae51e9a39
35243 Author: Johannes Berg <johannes.berg@intel.com>
35244 Date: Tue Mar 19 20:26:57 2013 +0100
35245
35246 Upstream commit: ce1eadda6badef9e4e3460097ede674fca47383d
35247
35248 cfg80211: fix wdev tracing crash
35249
35250 Arend reported a crash in tracing if the driver returns an
35251 ERR_PTR() value from the add_virtual_intf() callback. This
35252 is due to the tracing then still attempting to dereference
35253 the "pointer", fix this by using IS_ERR_OR_NULL().
35254
35255 Reported-by: Arend van Spriel <arend@broadcom.com>
35256 Tested-by: Arend van Spriel <arend@broadcom.com>
35257 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
35258
35259 net/wireless/trace.h | 3 ++-
35260 1 files changed, 2 insertions(+), 1 deletions(-)
35261
35262 commit 68e6eafdaf9a3b37c780b3916a35a1961b1559fd
35263 Author: Johannes Berg <johannes.berg@intel.com>
35264 Date: Mon Mar 25 11:51:14 2013 +0100
35265
35266 Upstream commit: 3fbd45ca8d1c98f3c2582ef8bc70ade42f70947b
35267
35268 mac80211: fix remain-on-channel cancel crash
35269
35270 If a ROC item is canceled just as it expires, the work
35271 struct may be scheduled while it is running (and waiting
35272 for the mutex). This results in it being run after being
35273 freed, which obviously crashes.
35274
35275 To fix this don't free it when aborting is requested but
35276 instead mark it as "to be freed", which makes the work a
35277 no-op and allows freeing it outside.
35278
35279 Cc: stable@vger.kernel.org [3.6+]
35280 Reported-by: Jouni Malinen <j@w1.fi>
35281 Tested-by: Jouni Malinen <j@w1.fi>
35282 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
35283
35284 net/mac80211/cfg.c | 6 ++++--
35285 net/mac80211/ieee80211_i.h | 3 ++-
35286 net/mac80211/offchannel.c | 23 +++++++++++++++++------
35287 3 files changed, 23 insertions(+), 9 deletions(-)
35288
35289 commit dd5df32b00e3c2344ba39fe01071e7b67b83e1e4
35290 Author: Stone Piao <piaoyun@marvell.com>
35291 Date: Fri Mar 29 19:21:21 2013 -0700
35292
35293 Upstream commit: 901ceba4e81e9dd6b4a3c4c37ee22000a6c5c65f
35294
35295 mwifiex: limit channel number not to overflow memory
35296
35297 Limit the channel number in scan request, or the driver scan
35298 config structure memory will be overflowed.
35299
35300 Cc: <stable@vger.kernel.org> # 3.5+
35301 Signed-off-by: Stone Piao <piaoyun@marvell.com>
35302 Signed-off-by: Bing Zhao <bzhao@marvell.com>
35303 Signed-off-by: John W. Linville <linville@tuxdriver.com>
35304
35305 drivers/net/wireless/mwifiex/cfg80211.c | 3 ++-
35306 1 files changed, 2 insertions(+), 1 deletions(-)
35307
35308 commit 207c411512bdaf0e4271f93ecac6ca26588da36f
35309 Author: Gao feng <gaofeng@cn.fujitsu.com>
35310 Date: Thu Mar 21 19:48:41 2013 +0000
35311
35312 Upstream commit: 130549fed828cc34c22624c6195afcf9e7ae56fe
35313
35314 netfilter: reset nf_trace in nf_reset
35315
35316 We forgot to clear the nf_trace of sk_buff in nf_reset,
35317 When we use veth device, this nf_trace information will
35318 be leaked from one net namespace to another net namespace.
35319
35320 Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
35321 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
35322
35323 include/linux/skbuff.h | 3 +++
35324 1 files changed, 3 insertions(+), 0 deletions(-)
35325
35326 commit 3b12800d73c763265b2de5f2a7a745d9caa62c6f
35327 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
35328 Date: Fri Mar 22 01:28:18 2013 +0000
35329
35330 Upstream commit: 558724a5b2a73ad0c7638e21e8dffc419d267b6c
35331
35332 netfilter: nfnetlink_queue: fix error return code in nfnetlink_queue_init()
35333
35334 Fix to return a negative error code from the error handling
35335 case instead of 0, as returned elsewhere in this function.
35336
35337 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
35338 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
35339
35340 net/netfilter/nfnetlink_queue_core.c | 4 +++-
35341 1 files changed, 3 insertions(+), 1 deletions(-)
35342
35343 commit a79feb7d3251eca577d83d7f69eee2b961ab2924
35344 Author: Pablo Neira Ayuso <pablo@netfilter.org>
35345 Date: Sat Mar 23 16:57:59 2013 +0100
35346
35347 Upstream commit: deadcfc3324410726cd6a663fb4fc46be595abe7
35348
35349 netfilter: nfnetlink_acct: return -EINVAL if object name is empty
35350
35351 If user-space tries to create accounting object with an empty
35352 name, then return -EINVAL.
35353
35354 Reported-by: Michael Zintakis <michael.zintakis@googlemail.com>
35355 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
35356
35357 net/netfilter/nfnetlink_acct.c | 2 ++
35358 1 files changed, 2 insertions(+), 0 deletions(-)
35359
35360 commit 1a51dca4fc16538d90a7a4c92b1ffe7e0fd76cf7
35361 Author: Matthias Schiffer <mschiffer@universe-factory.net>
35362 Date: Sat Mar 30 10:23:12 2013 +0000
35363
35364 Upstream commit: 906b1c394d0906a154fbdc904ca506bceb515756
35365
35366 netfilter: ip6t_NPT: Fix translation for non-multiple of 32 prefix lengths
35367
35368 The bitmask used for the prefix mangling was being calculated
35369 incorrectly, leading to the wrong part of the address being replaced
35370 when the prefix length wasn't a multiple of 32.
35371
35372 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
35373 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
35374
35375 net/ipv6/netfilter/ip6t_NPT.c | 2 +-
35376 1 files changed, 1 insertions(+), 1 deletions(-)
35377
35378 commit 3425de1e3dc22e1602f9c77fe8d258da58416d5e
35379 Author: Veaceslav Falico <vfalico@redhat.com>
35380 Date: Wed Apr 3 05:46:33 2013 +0000
35381
35382 Upstream commit: 4de79c737b200492195ebc54a887075327e1ec1d
35383
35384 bonding: remove sysfs before removing devices
35385
35386 We have a race condition if we try to rmmod bonding and simultaneously add
35387 a bond master through sysfs. In bonding_exit() we first remove the devices
35388 (through rtnl_link_unregister() ) and only after that we remove the sysfs.
35389 If we manage to add a device through sysfs after that the devices were
35390 removed - we'll end up with that device/sysfs structure and with the module
35391 unloaded.
35392
35393 Fix this by first removing the sysfs and only after that calling
35394 rtnl_link_unregister().
35395
35396 Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
35397 Signed-off-by: David S. Miller <davem@davemloft.net>
35398
35399 drivers/net/bonding/bond_main.c | 2 +-
35400 1 files changed, 1 insertions(+), 1 deletions(-)
35401
35402 commit d12cae44a9d12441d81c489178803237219d403d
35403 Author: Eric W. Biederman <ebiederm@xmission.com>
35404 Date: Wed Apr 3 16:14:47 2013 +0000
35405
35406 Upstream commit: 0e82e7f6dfeec1013339612f74abc2cdd29d43d2
35407
35408 af_unix: If we don't care about credentials coallesce all messages
35409
35410 It was reported that the following LSB test case failed
35411 https://lsbbugs.linuxfoundation.org/attachment.cgi?id=2144 because we
35412 were not coallescing unix stream messages when the application was
35413 expecting us to.
35414
35415 The problem was that the first send was before the socket was accepted
35416 and thus sock->sk_socket was NULL in maybe_add_creds, and the second
35417 send after the socket was accepted had a non-NULL value for sk->socket
35418 and thus we could tell the credentials were not needed so we did not
35419 bother.
35420
35421 The unnecessary credentials on the first message cause
35422 unix_stream_recvmsg to start verifying that all messages had the same
35423 credentials before coallescing and then the coallescing failed because
35424 the second message had no credentials.
35425
35426 Ignoring credentials when we don't care in unix_stream_recvmsg fixes a
35427 long standing pessimization which would fail to coallesce messages when
35428 reading from a unix stream socket if the senders were different even if
35429 we did not care about their credentials.
35430
35431 I have tested this and verified that the in the LSB test case mentioned
35432 above that the messages do coallesce now, while the were failing to
35433 coallesce without this change.
35434
35435 Reported-by: Karel Srot <ksrot@redhat.com>
35436 Reported-by: Ding Tianhong <dingtianhong@huawei.com>
35437 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
35438 Signed-off-by: David S. Miller <davem@davemloft.net>
35439
35440 net/unix/af_unix.c | 2 +-
35441 1 files changed, 1 insertions(+), 1 deletions(-)
35442
35443 commit 126d882492b130da6367f71cdf3ac59bf4f4c1bf
35444 Author: Eric W. Biederman <ebiederm@xmission.com>
35445 Date: Wed Apr 3 16:13:35 2013 +0000
35446
35447 Upstream commit: 25da0e3e9d3fb2b522bc2a598076735850310eb1
35448
35449 Revert "af_unix: dont send SCM_CREDENTIAL when dest socket is NULL"
35450
35451 This reverts commit 14134f6584212d585b310ce95428014b653dfaf6.
35452
35453 The problem that the above patch was meant to address is that af_unix
35454 messages are not being coallesced because we are sending unnecesarry
35455 credentials. Not sending credentials in maybe_add_creds totally
35456 breaks unconnected unix domain sockets that wish to send credentails
35457 to other sockets.
35458
35459 In practice this break some versions of udev because they receive a
35460 message and the sending uid is bogus so they drop the message.
35461
35462 Reported-by: Sven Joachim <svenjoac@gmx.de>
35463 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
35464 Signed-off-by: David S. Miller <davem@davemloft.net>
35465
35466 net/unix/af_unix.c | 4 ++--
35467 1 files changed, 2 insertions(+), 2 deletions(-)
35468
35469 commit 1295b4f600e8f5ab56af71e5a89e4c0e74e95663
35470 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
35471 Date: Wed Mar 20 21:31:42 2013 +0000
35472
35473 Upstream commit: cb0e51d80694fc9964436be1a1a15275e991cb1e
35474
35475 lantiq_etop: use free_netdev(netdev) instead of kfree()
35476
35477 Freeing netdev without free_netdev() leads to net, tx leaks.
35478 And it may lead to dereferencing freed pointer.
35479
35480 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
35481 Signed-off-by: David S. Miller <davem@davemloft.net>
35482
35483 drivers/net/ethernet/lantiq_etop.c | 2 +-
35484 1 files changed, 1 insertions(+), 1 deletions(-)
35485
35486 commit 1dcdddf846697fbd0b474e7b12ff92f7b408fe5f
35487 Author: Cong Wang <amwang@redhat.com>
35488 Date: Fri Mar 22 19:14:07 2013 +0000
35489
35490 Upstream commit: 4a7df340ed1bac190c124c1601bfc10cde9fb4fb
35491
35492 8021q: fix a potential use-after-free
35493
35494 vlan_vid_del() could possibly free ->vlan_info after a RCU grace
35495 period, however, we may still refer to the freed memory area
35496 by 'grp' pointer. Found by code inspection.
35497
35498 This patch moves vlan_vid_del() as behind as possible.
35499
35500 Cc: Patrick McHardy <kaber@trash.net>
35501 Cc: "David S. Miller" <davem@davemloft.net>
35502 Signed-off-by: Cong Wang <amwang@redhat.com>
35503 Acked-by: Eric Dumazet <edumazet@google.com>
35504 Signed-off-by: David S. Miller <davem@davemloft.net>
35505
35506 net/8021q/vlan.c | 7 +++++++
35507 1 files changed, 7 insertions(+), 0 deletions(-)
35508
35509 commit fff29c277024a39845d4b535083c8dafc21b45d9
35510 Author: Hong zhi guo <honkiko@gmail.com>
35511 Date: Sat Mar 23 02:27:50 2013 +0000
35512
35513 Upstream commit: 9b46922e15f4d9d2aedcd320c3b7f7f54d956da7
35514
35515 bridge: fix crash when set mac address of br interface
35516
35517 When I tried to set mac address of a bridge interface to a mac
35518 address which already learned on this bridge, I got system hang.
35519
35520 The cause is straight forward: function br_fdb_change_mac_address
35521 calls fdb_insert with NULL source nbp. Then an fdb lookup is
35522 performed. If an fdb entry is found and it's local, it's OK. But
35523 if it's not local, source is dereferenced for printk without NULL
35524 check.
35525
35526 Signed-off-by: Hong Zhiguo <honkiko@gmail.com>
35527 Signed-off-by: David S. Miller <davem@davemloft.net>
35528
35529 net/bridge/br_fdb.c | 2 +-
35530 1 files changed, 1 insertions(+), 1 deletions(-)
35531
35532 commit b72eca0f8495b4b084bcf3eb4fbb425281ba5349
35533 Author: Kumar Amit Mehta <gmate.amit@gmail.com>
35534 Date: Sat Mar 23 20:10:25 2013 +0000
35535
35536 Upstream commit: 8fe7f99a9e11a43183bc27420309ae105e1fec1a
35537
35538 bnx2x: fix assignment of signed expression to unsigned variable
35539
35540 fix for incorrect assignment of signed expression to unsigned variable.
35541
35542 Signed-off-by: Kumar Amit Mehta <gmate.amit@gmail.com>
35543 Acked-by: Dmitry Kravkov <dmitry@broadcom.com>
35544 Signed-off-by: David S. Miller <davem@davemloft.net>
35545
35546 drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | 18 +++++++++---------
35547 1 files changed, 9 insertions(+), 9 deletions(-)
35548
35549 commit 4d2d5e3694574d8e9d7594bf6111f144dccc873e
35550 Author: dingtianhong <dingtianhong@huawei.com>
35551 Date: Mon Mar 25 17:02:04 2013 +0000
35552
35553 Upstream commit: 14134f6584212d585b310ce95428014b653dfaf6
35554
35555 af_unix: dont send SCM_CREDENTIAL when dest socket is NULL
35556
35557 SCM_SCREDENTIALS should apply to write() syscalls only either source or destination
35558 socket asserted SOCK_PASSCRED. The original implememtation in maybe_add_creds is wrong,
35559 and breaks several LSB testcases ( i.e. /tset/LSB.os/netowkr/recvfrom/T.recvfrom).
35560
35561 Origionally-authored-by: Karel Srot <ksrot@redhat.com>
35562 Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
35563 Acked-by: Eric Dumazet <edumazet@google.com>
35564 Signed-off-by: David S. Miller <davem@davemloft.net>
35565
35566 net/unix/af_unix.c | 4 ++--
35567 1 files changed, 2 insertions(+), 2 deletions(-)
35568
35569 commit b964e1e61f0f0ccaa380be3342f956c604054bdc
35570 Author: Eric W. Biederman <ebiederm@xmission.com>
35571 Date: Thu Mar 21 02:30:41 2013 -0700
35572
35573 Upstream commit: eddc0a3abff273842a94784d2d022bbc36dc9015
35574
35575 yama: Better permission check for ptraceme
35576
35577 Change the permission check for yama_ptrace_ptracee to the standard
35578 ptrace permission check, testing if the traceer has CAP_SYS_PTRACE
35579 in the tracees user namespace.
35580
35581 Reviewed-by: Kees Cook <keescook@chromium.org>
35582 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
35583
35584 security/yama/yama_lsm.c | 4 +---
35585 1 files changed, 1 insertions(+), 3 deletions(-)
35586
35587 commit b94e71c7b6abe75989edff18aca2781233fa143b
35588 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
35589 Date: Mon Apr 1 11:40:51 2013 +0400
35590
35591 Upstream commit: 2dc958fa2fe6987e7ab106bd97029a09a82fcd8d
35592
35593 ipc: set msg back to -EAGAIN if copy wasn't performed
35594
35595 Make sure that msg pointer is set back to error value in case of
35596 MSG_COPY flag is set and desired message to copy wasn't found. This
35597 garantees that msg is either a error pointer or a copy address.
35598
35599 Otherwise the last message in queue will be freed without unlinking from
35600 the queue (which leads to memory corruption) and the dummy allocated
35601 copy won't be released.
35602
35603 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
35604 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
35605
35606 ipc/msg.c | 1 +
35607 1 files changed, 1 insertions(+), 0 deletions(-)
35608
35609 commit a997fbbe7a37ffd805f4784a18b8e530da6978d1
35610 Author: Jan Kara <jack@suse.cz>
35611 Date: Fri Mar 29 15:39:16 2013 +0100
35612
35613 Upstream commit: 35e5cbc0af240778e61113286c019837e06aeec6
35614
35615 reiserfs: Fix warning and inode leak when deleting inode with xattrs
35616
35617 After commit 21d8a15a (lookup_one_len: don't accept . and ..) reiserfs
35618 started failing to delete xattrs from inode. This was due to a buggy
35619 test for '.' and '..' in fill_with_dentries() which resulted in passing
35620 '.' and '..' entries to lookup_one_len() in some cases. That returned
35621 error and so we failed to iterate over all xattrs of and inode.
35622
35623 Fix the test in fill_with_dentries() along the lines of the one in
35624 lookup_one_len().
35625
35626 Reported-by: Pawel Zawora <pzawora@gmail.com>
35627 CC: stable@vger.kernel.org
35628 Signed-off-by: Jan Kara <jack@suse.cz>
35629
35630 fs/reiserfs/xattr.c | 4 ++--
35631 1 files changed, 2 insertions(+), 2 deletions(-)
35632
35633 commit 9f07957378e0f55abb81da8e23b124a608fbe1cc
35634 Author: Paul Bolle <pebolle@tiscali.nl>
35635 Date: Wed Apr 3 12:24:45 2013 +0100
35636
35637 Upstream commit: 4e1db26a0b42e2b6e27c05d68adcc01709c2eed2
35638
35639 ARM: 7690/1: mm: fix CONFIG_LPAE typos
35640
35641 CONFIG_LPAE doesn't exist: the correct option is CONFIG_ARM_LPAE, so fix
35642 up the two typos under arch/arm/.
35643
35644 The fix to head.S is slightly scary, but this is just for setting up
35645 an early io-mapping for the serial port when running on a big-endian,
35646 LPAE system. Since these systems don't exist in the wild (at least, I
35647 have no access to one outside of kvmtool, which doesn't provide a serial
35648 port suitable for earlyprintk), then we can revisit the code later if it
35649 causes any problems.
35650
35651 Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
35652 Signed-off-by: Will Deacon <will.deacon@arm.com>
35653 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
35654
35655 arch/arm/kernel/head.S | 2 +-
35656 arch/arm/kernel/setup.c | 2 +-
35657 2 files changed, 2 insertions(+), 2 deletions(-)
35658
35659 commit 984ba346b2d8f158473e9723ba145031368431ed
35660 Author: Catalin Marinas <catalin.marinas@arm.com>
35661 Date: Tue Mar 26 23:35:04 2013 +0100
35662
35663 Upstream commit: 93dc68876b608da041fe40ed39424b0fcd5aa2fb
35664
35665 ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB operations)
35666
35667 On Cortex-A15 (r0p0..r3p2) the TLBI/DSB are not adequately shooting down
35668 all use of the old entries. This patch implements the erratum workaround
35669 which consists of:
35670
35671 1. Dummy TLBIMVAIS and DSB on the CPU doing the TLBI operation.
35672 2. Send IPI to the CPUs that are running the same mm (and ASID) as the
35673 one being invalidated (or all the online CPUs for global pages).
35674 3. CPU receiving the IPI executes a DMB and CLREX (part of the exception
35675 return code already).
35676
35677 Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
35678 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
35679
35680 Conflicts:
35681
35682 arch/arm/include/asm/tlbflush.h
35683 arch/arm/kernel/smp_tlb.c
35684 arch/arm/mm/context.c
35685
35686 arch/arm/Kconfig | 10 +++++
35687 arch/arm/include/asm/highmem.h | 7 ++++
35688 arch/arm/include/asm/mmu_context.h | 2 +
35689 arch/arm/include/asm/tlbflush.h | 15 ++++++++
35690 arch/arm/kernel/smp_tlb.c | 66 ++++++++++++++++++++++++++++++++++++
35691 arch/arm/mm/context.c | 6 ++-
35692 6 files changed, 104 insertions(+), 2 deletions(-)
35693
35694 commit 9a6ef010c38b3d5471886d2dea6e3c1622e2a286
35695 Author: Jan Stancek <jstancek@redhat.com>
35696 Date: Thu Apr 4 11:35:10 2013 -0700
35697
35698 Upstream commit: b6a9b7f6b1f21735a7456d534dc0e68e61359d2c
35699
35700 mm: prevent mmap_cache race in find_vma()
35701
35702 find_vma() can be called by multiple threads with read lock
35703 held on mm->mmap_sem and any of them can update mm->mmap_cache.
35704 Prevent compiler from re-fetching mm->mmap_cache, because other
35705 readers could update it in the meantime:
35706
35707 thread 1 thread 2
35708 |
35709 find_vma() | find_vma()
35710 struct vm_area_struct *vma = NULL; |
35711 vma = mm->mmap_cache; |
35712 if (!(vma && vma->vm_end > addr |
35713 && vma->vm_start <= addr)) { |
35714 | mm->mmap_cache = vma;
35715 return vma; |
35716 ^^ compiler may optimize this |
35717 local variable out and re-read |
35718 mm->mmap_cache |
35719
35720 This issue can be reproduced with gcc-4.8.0-1 on s390x by running
35721 mallocstress testcase from LTP, which triggers:
35722
35723 kernel BUG at mm/rmap.c:1088!
35724 Call Trace:
35725 ([<000003d100c57000>] 0x3d100c57000)
35726 [<000000000023a1c0>] do_wp_page+0x2fc/0xa88
35727 [<000000000023baae>] handle_pte_fault+0x41a/0xac8
35728 [<000000000023d832>] handle_mm_fault+0x17a/0x268
35729 [<000000000060507a>] do_protection_exception+0x1e2/0x394
35730 [<0000000000603a04>] pgm_check_handler+0x138/0x13c
35731 [<000003fffcf1f07a>] 0x3fffcf1f07a
35732 Last Breaking-Event-Address:
35733 [<000000000024755e>] page_add_new_anon_rmap+0xc2/0x168
35734
35735 Thanks to Jakub Jelinek for his insight on gcc and helping to
35736 track this down.
35737
35738 Signed-off-by: Jan Stancek <jstancek@redhat.com>
35739 Acked-by: David Rientjes <rientjes@google.com>
35740 Signed-off-by: Hugh Dickins <hughd@google.com>
35741 Cc: stable@vger.kernel.org
35742 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
35743
35744 mm/mmap.c | 2 +-
35745 mm/nommu.c | 2 +-
35746 2 files changed, 2 insertions(+), 2 deletions(-)
35747
35748 commit 53f5096daa14967938bc154e6c41f9119863fb36
35749 Merge: e988d7c 0a45285
35750 Author: Brad Spengler <spender@grsecurity.net>
35751 Date: Fri Apr 5 17:32:31 2013 -0400
35752
35753 Merge branch 'pax-test' into grsec-test
35754
35755 Conflicts:
35756 drivers/net/ethernet/broadcom/tg3.c
35757
35758 commit 0a452855444d02502df6eb21ef3083cf303f71e1
35759 Merge: 0277fa1 00cfbb8
35760 Author: Brad Spengler <spender@grsecurity.net>
35761 Date: Fri Apr 5 17:31:15 2013 -0400
35762
35763 Update to pax-linux-3.8.6-test16.patch:
35764 - fixed some attribute leakage into userland headers, patch by Mathias Krause
35765 - fixed some of the access_*_vm related breakage that trigger size overflows, reported by Hunger
35766
35767 Merge branch 'linux-3.8.y' into pax-test
35768
35769 Conflicts:
35770 drivers/gpu/drm/i915/intel_display.c
35771
35772 commit e988d7c8d946c816a2cb97f0d38048a1584966b8
35773 Merge: baec40e 0277fa1
35774 Author: Brad Spengler <spender@grsecurity.net>
35775 Date: Wed Apr 3 22:05:41 2013 -0400
35776
35777 Merge branch 'pax-test' into grsec-test
35778
35779 commit 0277fa123b486cf11420967e4568d7653e225fd3
35780 Author: Brad Spengler <spender@grsecurity.net>
35781 Date: Wed Apr 3 22:04:48 2013 -0400
35782
35783 Update to pax-linux-3.8.5-test15.patch:
35784 - fixed section mismatch error caused by CONSTIFY (http://forums.grsecurity.net/viewtopic.php?f=3&t=3388 and http://forums.grsecurity.net/viewtopic.php?f=3&t=3391)
35785 - fixed integer type mixup in the cx88 driver (http://forums.grsecurity.net/viewtopic.php?f=3&t=3394)
35786
35787 drivers/media/pci/cx88/cx88-video.c | 6 +++---
35788 include/net/net_namespace.h | 4 ++++
35789 2 files changed, 7 insertions(+), 3 deletions(-)
35790
35791 commit baec40e6708fd5ae2000cad6c70c5980c998b91c
35792 Author: Brad Spengler <spender@grsecurity.net>
35793 Date: Tue Apr 2 19:50:32 2013 -0400
35794
35795 fix compilation as reported on forums for gcc versions lacking plugin
35796 support
35797
35798 include/net/net_namespace.h | 4 ++++
35799 1 files changed, 4 insertions(+), 0 deletions(-)
35800
35801 commit f6da5efca8a7edc9d3af02d6c35fddae0d2fd095
35802 Merge: 6b69c35 0db9d15
35803 Author: Brad Spengler <spender@grsecurity.net>
35804 Date: Tue Apr 2 17:47:27 2013 -0400
35805
35806 Merge branch 'pax-test' into grsec-test
35807
35808 commit 0db9d156826bdd50510086fde837648a3dfd370e
35809 Author: Brad Spengler <spender@grsecurity.net>
35810 Date: Tue Apr 2 17:46:05 2013 -0400
35811
35812 Update to pax-linux-3.8.5-test14.patch:
35813 - removed some no longer necessary __size_overflow marks and updated the overflow plugin's hash table
35814
35815 arch/x86/include/asm/uaccess_64.h | 6 +-
35816 include/linux/moduleloader.h | 4 +-
35817 tools/gcc/size_overflow_hash.data | 98 +++++++++++++++++++++----------------
35818 3 files changed, 61 insertions(+), 47 deletions(-)
35819
35820 commit 6b69c3589fa97b454a08c28ecfac5a512f610f4d
35821 Author: Brad Spengler <spender@grsecurity.net>
35822 Date: Tue Apr 2 17:35:06 2013 -0400
35823
35824 remove duplicate compiler.h
35825
35826 include/linux/sysrq.h | 1 -
35827 1 files changed, 0 insertions(+), 1 deletions(-)
35828
35829 commit 01e1d503fd2220adaaec0b92ea19441bdff73555
35830 Author: Brad Spengler <spender@grsecurity.net>
35831 Date: Fri Mar 29 19:53:50 2013 -0400
35832
35833 fix intentional_overflow marking on sys_sendto
35834
35835 include/linux/syscalls.h | 2 +-
35836 net/socket.c | 2 +-
35837 2 files changed, 2 insertions(+), 2 deletions(-)
35838
35839 commit cd5ff114d958470f471c63775278e8c05e774630
35840 Author: Brad Spengler <spender@grsecurity.net>
35841 Date: Fri Mar 29 18:46:16 2013 -0400
35842
35843 fix size_overflow false positive
35844
35845 kernel/futex_compat.c | 2 +-
35846 1 files changed, 1 insertions(+), 1 deletions(-)
35847
35848 commit 295ba16cc53df2375261accbedd6575ea327770a
35849 Merge: 18340f1 278a989
35850 Author: Brad Spengler <spender@grsecurity.net>
35851 Date: Fri Mar 29 17:36:18 2013 -0400
35852
35853 Merge branch 'pax-test' into grsec-test
35854
35855 Conflicts:
35856 fs/exec.c
35857 include/linux/thread_info.h
35858
35859 commit 278a989c831d62193c7b3d119fe2302babd45d12
35860 Author: Brad Spengler <spender@grsecurity.net>
35861 Date: Fri Mar 29 17:34:34 2013 -0400
35862
35863 Resync with pax-linux-3.8.5-test13.patch
35864
35865 arch/arm/include/asm/pgtable.h | 3 ++-
35866 arch/arm/lib/delay.c | 1 +
35867 fs/exec.c | 8 ++++----
35868 include/linux/compiler.h | 1 +
35869 include/linux/proc_fs.h | 2 +-
35870 include/linux/thread_info.h | 6 +++---
35871 include/linux/zlib.h | 3 ++-
35872 init/main.c | 4 ++--
35873 kernel/user_namespace.c | 2 +-
35874 lib/list_debug.c | 4 ++--
35875 mm/slab.c | 1 +
35876 mm/slob.c | 1 +
35877 mm/slub.c | 1 +
35878 net/core/sysctl_net_core.c | 3 +--
35879 tools/gcc/constify_plugin.c | 1 +
35880 15 files changed, 24 insertions(+), 17 deletions(-)
35881
35882 commit 18340f14bd42d06c60995ab04cf6bb235bcaade6
35883 Merge: 05f01ae e8cfeae
35884 Author: Brad Spengler <spender@grsecurity.net>
35885 Date: Fri Mar 29 17:30:57 2013 -0400
35886
35887 Merge branch 'pax-test' into grsec-test
35888
35889 commit e8cfeae7751abb844911a15114dff5c9b2b9fcd9
35890 Merge: b461cb7 aa4cfde
35891 Author: Brad Spengler <spender@grsecurity.net>
35892 Date: Fri Mar 29 17:30:44 2013 -0400
35893
35894 Merge branch 'linux-3.8.y' into pax-test
35895
35896 Conflicts:
35897 drivers/gpu/drm/i915/i915_gem_execbuffer.c
35898 fs/nfsd/vfs.c
35899
35900 commit 05f01ae4c3479541586a2387f916a6620889c479
35901 Author: Brad Spengler <spender@grsecurity.net>
35902 Date: Fri Mar 29 17:05:39 2013 -0400
35903
35904 Another infoleak, up to 128 bytes on the stack in __sys_recvmsg
35905 takes user-provided length, copies up to that amount in a sockaddr_storage
35906 struct on the stack, then takes an upper-bounded-only user-provided length
35907 and copies the sockaddr_storage struct back out to userland, complete with
35908 uninitialized data
35909
35910 net/socket.c | 2 +-
35911 1 files changed, 1 insertions(+), 1 deletions(-)
35912
35913 commit eea6ade59490784e83e08ec67322288fcf14cb31
35914 Author: Brad Spengler <spender@grsecurity.net>
35915 Date: Thu Mar 28 23:07:37 2013 -0400
35916
35917 return a proper error, otherwise we could be accessing uninitialized data
35918 (previous define was a positive value)
35919
35920 drivers/usb/storage/realtek_cr.c | 2 +-
35921 1 files changed, 1 insertions(+), 1 deletions(-)
35922
35923 commit 3cc43b90104c3016adb40f412ce2e4b0dcdd4c9e
35924 Merge: c3dc9a6 b461cb7
35925 Author: Brad Spengler <spender@grsecurity.net>
35926 Date: Thu Mar 28 20:54:24 2013 -0400
35927
35928 Merge branch 'pax-test' into grsec-test
35929
35930 commit b461cb7b1d85490430ef7896c247794af72c3749
35931 Author: Brad Spengler <spender@grsecurity.net>
35932 Date: Thu Mar 28 20:54:11 2013 -0400
35933
35934 Add structleak plugin
35935
35936 tools/gcc/structleak_plugin.c | 270 +++++++++++++++++++++++++++++++++++++++++
35937 1 files changed, 270 insertions(+), 0 deletions(-)
35938
35939 commit c3dc9a6ef10782894bb11fd088fd712db44d8062
35940 Author: Brad Spengler <spender@grsecurity.net>
35941 Date: Thu Mar 28 20:53:22 2013 -0400
35942
35943 Enable structleak by default for the security auto-config
35944
35945 security/Kconfig | 11 +++++++----
35946 1 files changed, 7 insertions(+), 4 deletions(-)
35947
35948 commit 6568e7348222fbe00256c9d337c4c24ee57e3f7e
35949 Merge: d8503a3 74bec16
35950 Author: Brad Spengler <spender@grsecurity.net>
35951 Date: Thu Mar 28 20:47:10 2013 -0400
35952
35953 Merge branch 'pax-test' into grsec-test
35954
35955 commit 74bec16b657147a5575b1f14f4423a717ba317a6
35956 Author: Brad Spengler <spender@grsecurity.net>
35957 Date: Thu Mar 28 20:46:13 2013 -0400
35958
35959 Update to pax-linux-3.8.4-test13.patch:
35960 - fixed bug with the old PAGEEXEC method and hugetlb, reported by Alex Efros (https://bugs.gentoo.org/show_bug.cgi?id=437722)
35961 - added a new gcc plugin to plug (pun intended) some of the kernel stack leaks to userland
35962
35963 Makefile | 5 +++-
35964 arch/x86/include/asm/compat.h | 2 +-
35965 arch/x86/mm/fault.c | 3 +-
35966 fs/binfmt_elf.c | 2 +-
35967 include/linux/compiler.h | 42 ++++++++++++++--------------------------
35968 security/Kconfig | 16 +++++++++++++++
35969 tools/gcc/Makefile | 2 +
35970 tools/gcc/constify_plugin.c | 7 +++++-
35971 8 files changed, 47 insertions(+), 32 deletions(-)
35972
35973 commit d8503a3a35d68b9ba1615d29335aef3f70d51465
35974 Author: Brad Spengler <spender@grsecurity.net>
35975 Date: Thu Mar 28 20:02:40 2013 -0400
35976
35977 Fix 8-byte stack infoleak in ia32_rt_sigpending
35978 User controls length, kernel only performs check on the upper bound, will
35979 fill in any amount less than sizeof(sigset_t) via a copy_to_user under
35980 KERNEL_DS in sys_rt_sigpending, then will copy the full size of compat_sigset_t
35981 regardless of whether the sigset_t content copied into it has been initialized
35982 or not
35983
35984 arch/x86/ia32/sys_ia32.c | 2 +-
35985 1 files changed, 1 insertions(+), 1 deletions(-)
35986
35987 commit 46a9f4b871ebf298ee67cc3f799dbd6c2382022b
35988 Author: Brad Spengler <spender@grsecurity.net>
35989 Date: Tue Mar 26 21:05:05 2013 -0400
35990
35991 commit 814d9d4f9164c3d778dadd093a54bb55d9a0c576
35992 Author: J. Bruce Fields <bfields@redhat.com>
35993 Date: Tue Mar 26 14:11:13 2013 -0400
35994
35995 nfsd4: reject "negative" acl lengths
35996
35997 Since we only enforce an upper bound, not a lower bound, a "negative"
35998 length can get through here.
35999
36000 The symptom seen was a warning when we attempt to a kmalloc with an
36001 excessive size.
36002
36003 Reported-by: Toralf Förster <toralf.foerster@gmx.de>
36004 Signed-off-by: J. Bruce Fields <bfields@redhat.com>
36005
36006 fs/nfsd/nfs4xdr.c | 2 +-
36007 1 files changed, 1 insertions(+), 1 deletions(-)
36008
36009 commit 2cf84a1843bfdf9298e2a1dc8df4e52d11a1af89
36010 Author: Jeff Layton <jlayton@redhat.com>
36011 Date: Mon Mar 11 09:52:19 2013 -0400
36012
36013 Upstream commit: f853c616883a8de966873a1dab283f1369e275a1
36014
36015 cifs: ignore everything in SPNEGO blob after mechTypes
36016
36017 We've had several reports of people attempting to mount Windows 8 shares
36018 and getting failures with a return code of -EINVAL. The default sec=
36019 mode changed recently to sec=ntlmssp. With that, we expect and parse a
36020 SPNEGO blob from the server in the NEGOTIATE reply.
36021
36022 The current decode_negTokenInit function first parses all of the
36023 mechTypes and then tries to parse the rest of the negTokenInit reply.
36024 The parser however currently expects a mechListMIC or nothing to follow the
36025 mechTypes, but Windows 8 puts a mechToken field there instead to carry
36026 some info for the new NegoEx stuff.
36027
36028 In practice, we don't do anything with the fields after the mechTypes
36029 anyway so I don't see any real benefit in continuing to parse them.
36030 This patch just has the kernel ignore the fields after the mechTypes.
36031 We'll probably need to reinstate some of this if we ever want to support
36032 NegoEx.
36033
36034 Reported-by: Jason Burgess <jason@jacknife2.dns2go.com>
36035 Reported-by: Yan Li <elliot.li.tech@gmail.com>
36036 Signed-off-by: Jeff Layton <jlayton@redhat.com>
36037 Cc: <stable@vger.kernel.org>
36038 Signed-off-by: Steve French <sfrench@us.ibm.com>
36039
36040 fs/cifs/asn1.c | 53 +++++------------------------------------------------
36041 1 files changed, 5 insertions(+), 48 deletions(-)
36042
36043 commit 0b1c6223105a05d5a84e39a5e951868e37610e1c
36044 Merge: 93ff726 0deb54c
36045 Author: Brad Spengler <spender@grsecurity.net>
36046 Date: Mon Mar 25 18:35:15 2013 -0400
36047
36048 Merge branch 'pax-test' into grsec-test
36049
36050 commit 0deb54c1f47145aef38f4d2bf0b7de3e9fbab959
36051 Author: Brad Spengler <spender@grsecurity.net>
36052 Date: Mon Mar 25 18:35:05 2013 -0400
36053
36054 fix typo
36055
36056 arch/x86/mm/ioremap.c | 2 +-
36057 1 files changed, 1 insertions(+), 1 deletions(-)
36058
36059 commit 93ff72680353534d4b0b213aecb61f1fc2f9a152
36060 Merge: be9f8b8 f95e53a
36061 Author: Brad Spengler <spender@grsecurity.net>
36062 Date: Mon Mar 25 18:30:06 2013 -0400
36063
36064 Merge branch 'pax-test' into grsec-test
36065
36066 commit f95e53abadb6e4665866e4502ff9f518514193e1
36067 Author: Brad Spengler <spender@grsecurity.net>
36068 Date: Mon Mar 25 18:29:25 2013 -0400
36069
36070 Update to pax-linux-3.8.4-test12.patch:
36071
36072 - fixed perf compilation reported by Michael Tremer
36073 - fixed USERCOPY reports triggered by SCTP, reported by mcp
36074 - last fix for aslr gap accounting, promise (thanks to spender)
36075
36076 arch/x86/mm/ioremap.c | 3 +++
36077 fs/binfmt_elf.c | 5 ++---
36078 mm/mmap.c | 2 +-
36079 net/sctp/socket.c | 19 +++++++++++++++----
36080 tools/perf/util/include/linux/compiler.h | 8 ++++++++
36081 5 files changed, 29 insertions(+), 8 deletions(-)
36082
36083 commit be9f8b82b0d8a21d7515fb6e44a907623381c5df
36084 Author: Brad Spengler <spender@grsecurity.net>
36085 Date: Mon Mar 25 16:48:34 2013 -0400
36086
36087 From: Al Viro <viro@ZenIV.linux.org.uk>
36088 To: Brad Spengler <spender@grsecurity.net>
36089 Cc: Linus Torvalds <torvalds@linux-foundation.org>
36090
36091 Umm... I see what you are describing, and AFAICS you are correct; let me
36092 see if I am misreading your analysis:
36093 * vfsmount_lock may act fair; A holding it shared, with B spinning
36094 on attempt to take it exclusive may lead to C spinning on attempt to take
36095 it shared.
36096 * path_is_under() tries get rename_lock while holding vfsmount_lock
36097 shared.
36098 * d_path() et.al. try to take vfsmount_lock shared, while holding
36099 rename_lock.
36100
36101 All true and yes, it's a bug (I'd probably classify it as a livelock, but
36102 that doesn't make any real difference). There are three possible solutions,
36103 AFAICS:
36104 1) two-liner in path_is_under() replacing the use of vfsmount_lock
36105 with that of namespace_sem; trivial, but results in function unexpectedly
36106 blocking. The current callers are fine with that, but it's a trouble
36107 waiting to happen.
36108 2) replace write_seqlock() in prepend_path() callers with
36109 read_seqbegin/read_seqretry loops; bigger and more brittle, since unlike
36110 is_subdir() we need more than just ->d_parent not pointing to something
36111 freed - we also care about ->d_name.len being in sync with ->d_name.name.
36112 It probably can be worked around, but...
36113
36114 3) declare that rename_lock nests inside vfsmount_lock and let
36115 the callers of prepend_path() take vfsmount_lock(). I'd probably prefer
36116 that one...
36117
36118 Nest rename_lock inside vfsmount_lock
36119
36120 ... lest we get livelocks between path_is_under() and d_path() and friends.
36121
36122 [ add grsec-specific bits, thanks to Alexey Vlasov for his patience in reproducing
36123 the issue ]
36124
36125 Spotted-by: Brad Spengler <spender@grsecurity.net>
36126 Cc: stable@vger.kernel.org
36127 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
36128
36129 fs/dcache.c | 16 +++++++++++-----
36130 grsecurity/gracl.c | 20 ++++++++++----------
36131 2 files changed, 21 insertions(+), 15 deletions(-)
36132
36133 commit d9253ae96e0e88510ae7b8adb8ab3ef089be6dee
36134 Author: Linus Torvalds <torvalds@linux-foundation.org>
36135 Date: Fri Mar 22 11:44:04 2013 -0700
36136
36137 Upstream commit: 51f0885e5415b4cc6535e9cdcc5145bfbc134353
36138
36139 vfs,proc: guarantee unique inodes in /proc
36140
36141 Dave Jones found another /proc issue with his Trinity tool: thanks to
36142 the namespace model, we can have multiple /proc dentries that point to
36143 the same inode, aliasing directories in /proc/<pid>/net/ for example.
36144
36145 This ends up being a total disaster, because it acts like hardlinked
36146 directories, and causes locking problems. We rely on the topological
36147 sort of the inodes pointed to by dentries, and if we have aliased
36148 directories, that odering becomes unreliable.
36149
36150 In short: don't do this. Multiple dentries with the same (directory)
36151 inode is just a bad idea, and the namespace code should never have
36152 exposed things this way. But we're kind of stuck with it.
36153
36154 This solves things by just always allocating a new inode during /proc
36155 dentry lookup, instead of using "iget_locked()" to look up existing
36156 inodes by superblock and number. That actually simplies the code a bit,
36157 at the cost of potentially doing more inode [de]allocations.
36158
36159 That said, the inode lookup wasn't free either (and did a lot of locking
36160 of inodes), so it is probably not that noticeable. We could easily keep
36161 the old lookup model for non-directory entries, but rather than try to
36162 be excessively clever this just implements the minimal and simplest
36163 workaround for the problem.
36164
36165 Reported-and-tested-by: Dave Jones <davej@redhat.com>
36166 Analyzed-by: Al Viro <viro@zeniv.linux.org.uk>
36167 Cc: stable@vger.kernel.org
36168 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
36169
36170 Conflicts:
36171
36172 fs/proc/inode.c
36173
36174 fs/proc/inode.c | 9 +++------
36175 1 files changed, 3 insertions(+), 6 deletions(-)
36176
36177 commit 399d3bbdb82db765c86118ae5a0bf1d2d17762fb
36178 Author: Vladimir Davydov <vdavydov@parallels.com>
36179 Date: Fri Mar 22 15:04:51 2013 -0700
36180
36181 Upstream commit: 38d78e587d4960d0db94add518d27ee74bad2301
36182
36183 mqueue: sys_mq_open: do not call mnt_drop_write() if read-only
36184
36185 mnt_drop_write() must be called only if mnt_want_write() succeeded,
36186 otherwise the mnt_writers counter will diverge.
36187
36188 mnt_writers counters are used to check if remounting FS as read-only is
36189 OK, so after an extra mnt_drop_write() call, it would be impossible to
36190 remount mqueue FS as read-only. Besides, on umount a warning would be
36191 printed like this one:
36192
36193 =====================================
36194 [ BUG: bad unlock balance detected! ]
36195 3.9.0-rc3 #5 Not tainted
36196 -------------------------------------
36197 a.out/12486 is trying to release lock (sb_writers) at:
36198 mnt_drop_write+0x1f/0x30
36199 but there are no more locks to release!
36200
36201 Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
36202 Cc: Doug Ledford <dledford@redhat.com>
36203 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
36204 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
36205 Cc: Al Viro <viro@zeniv.linux.org.uk>
36206 Cc: <stable@vger.kernel.org>
36207 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
36208 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
36209
36210 ipc/mqueue.c | 3 ++-
36211 1 files changed, 2 insertions(+), 1 deletions(-)
36212
36213 commit d3859c71e2ec174b6f3e5cbe06d3011cdddaa59e
36214 Author: Brad Spengler <spender@grsecurity.net>
36215 Date: Sat Mar 23 13:02:32 2013 -0400
36216
36217 Don't use constify plugin if not enabled in config,
36218 reported by Alexey Vlasov
36219
36220 Makefile | 2 +-
36221 1 files changed, 1 insertions(+), 1 deletions(-)
36222
36223 commit 3afb82e020593249ac394e9859397c3e0ef5341c
36224 Author: Brad Spengler <spender@grsecurity.net>
36225 Date: Sat Mar 23 12:50:13 2013 -0400
36226
36227 oded 0day #2
36228 http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
36229 slide 20
36230
36231 drivers/net/ethernet/broadcom/tg3.c | 6 ++++--
36232 1 files changed, 4 insertions(+), 2 deletions(-)
36233
36234 commit 4cc4b98b29faff2530540be16e0fcd8a74800b06
36235 Author: Brad Spengler <spender@grsecurity.net>
36236 Date: Sat Mar 23 12:15:50 2013 -0400
36237
36238 oded 0day #1
36239 http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
36240 slide 18
36241
36242 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
36243 1 files changed, 1 insertions(+), 1 deletions(-)
36244
36245 commit 8a3292af6fdae4b88b49a2a4ef96eee145b4d479
36246 Author: Brad Spengler <spender@grsecurity.net>
36247 Date: Sat Mar 23 12:13:12 2013 -0400
36248
36249 remove warning on accessing this /proc entry, HIDESYM already caught the infoleak
36250
36251 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
36252 1 files changed, 1 insertions(+), 1 deletions(-)
36253
36254 commit 44cb11a9470f72157601d0ad4d572d111f90f504
36255 Author: Brad Spengler <spender@grsecurity.net>
36256 Date: Fri Mar 22 18:11:42 2013 -0400
36257
36258 use VM_DONTDUMP
36259
36260 fs/binfmt_elf.c | 2 +-
36261 1 files changed, 1 insertions(+), 1 deletions(-)
36262
36263 commit 92dd7f850ae63e3ddc3d262f2b7134cf54b51abb
36264 Author: Brad Spengler <spender@grsecurity.net>
36265 Date: Fri Mar 22 17:53:09 2013 -0400
36266
36267 fix recent RLIMIT_AS changes (due to vm_flags typo)
36268
36269 Conflicts:
36270
36271 fs/binfmt_elf.c
36272
36273 fs/binfmt_elf.c | 2 +-
36274 mm/mmap.c | 2 +-
36275 2 files changed, 2 insertions(+), 2 deletions(-)
36276
36277 commit fd5f0d92b0fbec02029dad124501a9c80e527a32
36278 Author: Brad Spengler <spender@grsecurity.net>
36279 Date: Fri Mar 22 17:08:48 2013 -0400
36280
36281 complete_walk drops rcu-walk mode, no need for our own dropping
36282 method outside of generic_permission
36283
36284 fs/namei.c | 30 ------------------------------
36285 1 files changed, 0 insertions(+), 30 deletions(-)
36286
36287 commit b49ab1c73edb6442eec609b26bba4d850b3111b6
36288 Merge: 5e9a707 783ade9
36289 Author: Brad Spengler <spender@grsecurity.net>
36290 Date: Thu Mar 21 21:56:28 2013 -0400
36291
36292 Merge branch 'pax-test' into grsec-test
36293
36294 commit 783ade9f97f0f736e3c83275b7c9fcb2d6e9d9c4
36295 Author: Brad Spengler <spender@grsecurity.net>
36296 Date: Thu Mar 21 21:55:31 2013 -0400
36297
36298 Update to pax-linux-3.8.3-test11.patch:
36299 - rewrote the ASLR gap accounting code once again
36300 - fixed ptrace compat bug found by the size overflow plugin
36301
36302 fs/binfmt_elf.c | 25 ++++++++++++-------------
36303 fs/exec.c | 7 ++-----
36304 include/linux/compat.h | 2 +-
36305 include/linux/mm.h | 5 +++++
36306 include/linux/mm_types.h | 2 +-
36307 kernel/ptrace.c | 2 +-
36308 mm/mmap.c | 15 ++++++++++-----
36309 7 files changed, 32 insertions(+), 26 deletions(-)
36310
36311 commit 5e9a7077d935b2279f25428c5d32fd53cbbfb92a
36312 Author: Brad Spengler <spender@grsecurity.net>
36313 Date: Thu Mar 21 19:37:33 2013 -0400
36314
36315 Make the constify plugin usage actually depend on the introduced config option
36316 (it was still forced on)
36317
36318 tools/gcc/Makefile | 2 +-
36319 1 files changed, 1 insertions(+), 1 deletions(-)
36320
36321 commit 1974b4f58d9d729c80ac1987785446115304a54c
36322 Author: Brad Spengler <spender@grsecurity.net>
36323 Date: Thu Mar 21 16:12:38 2013 -0400
36324
36325 fix failed merge
36326
36327 arch/arm/mm/fault.c | 15 +++------------
36328 1 files changed, 3 insertions(+), 12 deletions(-)
36329
36330 commit 675a8ab4a8fe8315df348735a37a302a7535224c
36331 Author: Brad Spengler <spender@grsecurity.net>
36332 Date: Wed Mar 20 23:36:14 2013 -0400
36333
36334 From c4dab66c31612717f798e1e8ff11b57253a81a31 Mon Sep 17 00:00:00 2001
36335 From: Kees Cook <keescook@chromium.org>
36336 Date: Sun, 10 Mar 2013 20:09:31 +0000
36337 Subject: drm/i915: bounds check execbuffer relocation count
36338
36339 It is possible to wrap the counter used to allocate the buffer for
36340 relocation copies. This could lead to heap writing overflows.
36341
36342 CVE-2013-0913
36343
36344 Signed-off-by: Kees Cook <keescook@chromium.org>
36345 Reported-by: Pinkie Pie
36346 Cc: stable@vger.kernel.org
36347
36348 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 11 ++++++++---
36349 1 files changed, 8 insertions(+), 3 deletions(-)
36350
36351 commit ddeac12cbb9076bffd51c544e03463f94c9eaa39
36352 Author: Andy Honig <ahonig@google.com>
36353 Date: Wed Feb 20 14:48:10 2013 -0800
36354
36355 Upstream commit: 0b79459b482e85cb7426aa7da683a9f2c97aeae1
36356
36357 KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions (CVE-2013-1797)
36358
36359 There is a potential use after free issue with the handling of
36360 MSR_KVM_SYSTEM_TIME. If the guest specifies a GPA in a movable or removable
36361 memory such as frame buffers then KVM might continue to write to that
36362 address even after it's removed via KVM_SET_USER_MEMORY_REGION. KVM pins
36363 the page in memory so it's unlikely to cause an issue, but if the user
36364 space component re-purposes the memory previously used for the guest, then
36365 the guest will be able to corrupt that memory.
36366
36367 Tested: Tested against kvmclock unit test
36368
36369 Signed-off-by: Andrew Honig <ahonig@google.com>
36370 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
36371
36372 arch/x86/include/asm/kvm_host.h | 4 +-
36373 arch/x86/kvm/x86.c | 47 ++++++++++++++++----------------------
36374 2 files changed, 22 insertions(+), 29 deletions(-)
36375
36376 commit 0bcac31b57c381001feb69fd6ec8069e61e03432
36377 Author: Andy Honig <ahonig@google.com>
36378 Date: Mon Mar 11 09:34:52 2013 -0700
36379
36380 Upstream commit: c300aa64ddf57d9c5d9c898a64b36877345dd4a9
36381
36382 KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)
36383
36384 If the guest sets the GPA of the time_page so that the request to update the
36385 time straddles a page then KVM will write onto an incorrect page. The
36386 write is done byusing kmap atomic to get a pointer to the page for the time
36387 structure and then performing a memcpy to that page starting at an offset
36388 that the guest controls. Well behaved guests always provide a 32-byte aligned
36389 address, however a malicious guest could use this to corrupt host kernel
36390 memory.
36391
36392 Tested: Tested against kvmclock unit test.
36393
36394 Signed-off-by: Andrew Honig <ahonig@google.com>
36395 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
36396
36397 arch/x86/kvm/x86.c | 5 +++++
36398 1 files changed, 5 insertions(+), 0 deletions(-)
36399
36400 commit 695c59887e4ec10b0b695ab4f645d1226c433be0
36401 Author: Andy Honig <ahonig@google.com>
36402 Date: Wed Feb 20 14:49:16 2013 -0800
36403
36404 Upstream commit: a2c118bfab8bc6b8bb213abfc35201e441693d55
36405
36406 KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)
36407
36408 If the guest specifies a IOAPIC_REG_SELECT with an invalid value and follows
36409 that with a read of the IOAPIC_REG_WINDOW KVM does not properly validate
36410 that request. ioapic_read_indirect contains an
36411 ASSERT(redir_index < IOAPIC_NUM_PINS), but the ASSERT has no effect in
36412 non-debug builds. In recent kernels this allows a guest to cause a kernel
36413 oops by reading invalid memory. In older kernels (pre-3.3) this allows a
36414 guest to read from large ranges of host memory.
36415
36416 Tested: tested against apic unit tests.
36417
36418 Signed-off-by: Andrew Honig <ahonig@google.com>
36419 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
36420
36421 virt/kvm/ioapic.c | 7 +++++--
36422 1 files changed, 5 insertions(+), 2 deletions(-)
36423
36424 commit c77e4017f6f372ac09751b6fcd85c35781dc2d9e
36425 Merge: aec3cd4 c522e3a
36426 Author: Brad Spengler <spender@grsecurity.net>
36427 Date: Wed Mar 20 19:38:25 2013 -0400
36428
36429 Merge branch 'pax-test' into grsec-test
36430
36431 commit c522e3a2167ff5e18996e55ca8cca5ca6f6d29e3
36432 Merge: c57d855 405acc3
36433 Author: Brad Spengler <spender@grsecurity.net>
36434 Date: Wed Mar 20 19:38:11 2013 -0400
36435
36436 Merge branch 'linux-3.8.y' into pax-test
36437
36438 commit aec3cd4d2bd54673b155d9ae3fb9c44becc790d1
36439 Author: Brad Spengler <spender@grsecurity.net>
36440 Date: Tue Mar 19 19:56:04 2013 -0400
36441
36442 include linux/compiler.h
36443
36444 include/linux/zlib.h | 1 +
36445 1 files changed, 1 insertions(+), 0 deletions(-)
36446
36447 commit 1f1109e97bc609218e52e4bb57683d3b23cf2e8e
36448 Author: Brad Spengler <spender@grsecurity.net>
36449 Date: Tue Mar 19 18:42:20 2013 -0400
36450
36451 fix missing sock_release()
36452
36453 net/irda/af_irda.c | 6 ++++--
36454 1 files changed, 4 insertions(+), 2 deletions(-)
36455
36456 commit dd65c05cd24faf8946d4941434a553ee285c35a3
36457 Author: Brad Spengler <spender@grsecurity.net>
36458 Date: Tue Mar 19 18:36:17 2013 -0400
36459
36460 fix mpt fusion infoleak
36461
36462 drivers/message/fusion/mptbase.c | 4 ++++
36463 1 files changed, 4 insertions(+), 0 deletions(-)
36464
36465 commit e297b4f150b769efdc4c547d3caf1e3c0f24735f
36466 Author: Brad Spengler <spender@grsecurity.net>
36467 Date: Tue Mar 19 18:33:45 2013 -0400
36468
36469 Fix size_overflow false positive reported by slashbeast
36470
36471 include/linux/zlib.h | 2 +-
36472 1 files changed, 1 insertions(+), 1 deletions(-)
36473
36474 commit 5b9982733764361c7102c2b1a9cbe42e5bf4f4be
36475 Author: Brad Spengler <spender@grsecurity.net>
36476 Date: Tue Mar 19 17:35:36 2013 -0400
36477
36478 fix up failed merge
36479
36480 arch/arm/mm/fault.c | 9 ++-------
36481 1 files changed, 2 insertions(+), 7 deletions(-)
36482
36483 commit a1bdc34d1d882da3abf47923a760e5b0bbdaf0bd
36484 Author: Brad Spengler <spender@grsecurity.net>
36485 Date: Tue Mar 19 17:34:36 2013 -0400
36486
36487 update documentation on consequences of building without gcc plugin support
36488
36489 Makefile | 2 +-
36490 1 files changed, 1 insertions(+), 1 deletions(-)
36491
36492 commit f49ae0f6c3bbedf6b3817ee2b1b232e0da7fa537
36493 Author: Brad Spengler <spender@grsecurity.net>
36494 Date: Tue Mar 19 17:18:13 2013 -0400
36495
36496 fix compilation failure associated with the latent entropy plugin and lack of gcc plugin support reported on the forums
36497
36498 init/main.c | 4 ++--
36499 1 files changed, 2 insertions(+), 2 deletions(-)
36500
36501 commit f00195c633f91cfbd8c1f530d2c371b713026e20
36502 Author: Brad Spengler <spender@grsecurity.net>
36503 Date: Mon Mar 18 22:27:33 2013 -0400
36504
36505 Fix compile error reported by KDE on the forums
36506
36507 kernel/user_namespace.c | 2 +-
36508 1 files changed, 1 insertions(+), 1 deletions(-)
36509
36510 commit 2979c6ee78aabb4421873ea53581380c6bb6ed05
36511 Merge: 0949569 c57d855
36512 Author: Brad Spengler <spender@grsecurity.net>
36513 Date: Mon Mar 18 22:20:46 2013 -0400
36514
36515 Merge branch 'pax-test' into grsec-test
36516
36517 Conflicts:
36518 arch/arm/mm/fault.c
36519 arch/x86/mm/fault.c
36520 fs/exec.c
36521
36522 commit c57d8557f5f2d77c2c7fa1f58316819a5e1f9293
36523 Author: Brad Spengler <spender@grsecurity.net>
36524 Date: Mon Mar 18 21:22:03 2013 -0400
36525
36526 Update to pax-linux-3.8.2-test9.patch:
36527 arm changes from spender
36528 - removed userland access to the vectors page
36529 - removed obsolete sigreturn trampoline handling
36530 - added emulation for __kuser_get_tls
36531 - fixed missing uderef instrumentation in unaligned memory accessors (failed safe)
36532 - fixed recent sysfs/power_supply attr breakage reported by Steven Allen
36533 - hopefully fixed the remaining issues with aslr_gap accounting (http://forums.grsecurity.net/viewtopic.php?f=3&t=2960)
36534 - changed debian packager rules to include the compiler plugins, from Tyler Coumbes <coumbes@gmail.com>
36535 - fixed the sa_restorer leak discovered and reported by Emese Revfy (CVE-2013-0914, google chromium bug #177956)
36536 - new size overflow plugin from Emese that instruments a whole lot more code due to tracking function return values
36537 and more type casts as well. this found the above mentioned sa_restorer leak and would have protected against CVE-2013-0913.
36538
36539 arch/arm/kernel/process.c | 5 +-
36540 arch/arm/kernel/signal.c | 24 +-
36541 arch/arm/kernel/traps.c | 7 -
36542 arch/arm/mm/alignment.c | 8 +
36543 arch/arm/mm/fault.c | 23 +-
36544 arch/arm/mm/mmu.c | 2 +-
36545 arch/x86/include/asm/bitops.h | 2 +-
36546 arch/x86/include/asm/desc.h | 2 +-
36547 arch/x86/include/asm/div64.h | 2 +-
36548 arch/x86/include/asm/io.h | 8 +-
36549 arch/x86/include/asm/paravirt.h | 2 +-
36550 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 16 +-
36551 arch/x86/kernel/setup_percpu.c | 2 +-
36552 arch/x86/mm/fault.c | 4 +-
36553 arch/x86/mm/numa.c | 2 +-
36554 arch/x86/mm/physaddr.c | 4 +-
36555 drivers/ata/libahci.c | 2 +-
36556 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +-
36557 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
36558 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
36559 drivers/lguest/page_tables.c | 2 +-
36560 drivers/net/wireless/at76c50x-usb.c | 2 +-
36561 drivers/oprofile/oprofile_files.c | 2 +-
36562 drivers/power/power_supply_core.c | 1 +
36563 drivers/usb/core/message.c | 2 +-
36564 fs/befs/endian.h | 4 +-
36565 fs/binfmt_elf.c | 5 +-
36566 fs/exec.c | 4 +-
36567 fs/qnx6/qnx6.h | 4 +-
36568 fs/sysv/sysv.h | 2 +-
36569 fs/ubifs/io.c | 2 +-
36570 fs/ufs/swab.h | 4 +-
36571 include/linux/compat.h | 4 +-
36572 include/linux/completion.h | 6 +-
36573 include/linux/cpumask.h | 12 +-
36574 include/linux/ctype.h | 2 +-
36575 include/linux/err.h | 4 +-
36576 include/linux/math64.h | 6 +-
36577 include/linux/sched.h | 2 +-
36578 include/linux/unaligned/access_ok.h | 12 +-
36579 include/linux/usb.h | 2 +-
36580 include/uapi/linux/byteorder/little_endian.h | 4 +-
36581 include/uapi/linux/swab.h | 6 +-
36582 kernel/sched/core.c | 6 +-
36583 kernel/signal.c | 3 +
36584 kernel/time.c | 2 +-
36585 kernel/timer.c | 2 +-
36586 lib/div64.c | 4 +-
36587 mm/page-writeback.c | 2 +-
36588 net/socket.c | 2 +
36589 scripts/package/builddeb | 1 +
36590 tools/gcc/size_overflow_hash.data | 8869 +++++++++++++++----------
36591 tools/gcc/size_overflow_plugin.c | 1072 ++--
36592 53 files changed, 6227 insertions(+), 3951 deletions(-)
36593
36594 commit 09495691bb31f11ec14d9127429f9a0f3f716f22
36595 Author: Brad Spengler <spender@grsecurity.net>
36596 Date: Sun Mar 17 20:51:50 2013 -0400
36597
36598 fix typo
36599
36600 grsecurity/gracl.c | 2 +-
36601 1 files changed, 1 insertions(+), 1 deletions(-)
36602
36603 commit deb85b00d0f9f886e264e116313f298401ec5c59
36604 Author: Brad Spengler <spender@grsecurity.net>
36605 Date: Sun Mar 17 20:03:33 2013 -0400
36606
36607 Call update_rlimit_cpu to immediately change RLIMIT_CPU on the task
36608 with a subject applied to it with RES_CPU. Otherwise, the limit will only
36609 begin to be applied at fork time.
36610
36611 Thanks to Bjornar Ness for the report.
36612
36613 grsecurity/gracl.c | 4 ++++
36614 1 files changed, 4 insertions(+), 0 deletions(-)
36615
36616 commit 2126421f123513f604ceef2b23ba9ed516de7e58
36617 Author: Brad Spengler <spender@grsecurity.net>
36618 Date: Sat Mar 16 22:07:43 2013 -0400
36619
36620 Move inode auditing prior to our refcnt dropping
36621
36622 fs/namei.c | 2 +-
36623 1 files changed, 1 insertions(+), 1 deletions(-)
36624
36625 commit 4d4e665885aab4bacfe662ad6d2190fc9d817146
36626 Author: Brad Spengler <spender@grsecurity.net>
36627 Date: Sat Mar 16 22:00:30 2013 -0400
36628
36629 Drop reference on completed path walked in RCU mode or when violating
36630 the chroot fchdir check inside a chroot -- possible culprit for a reported
36631 vfsmount_lock hang during unmount
36632
36633 fs/namei.c | 8 ++++++--
36634 1 files changed, 6 insertions(+), 2 deletions(-)
36635
36636 commit 53a8a413f45340ee176dd36dd283de3a1ebb7417
36637 Author: Brad Spengler <spender@grsecurity.net>
36638 Date: Sat Mar 16 16:43:45 2013 -0400
36639
36640 add user_arg_ptr back to exec.c
36641
36642 fs/exec.c | 12 ++++++++++++
36643 1 files changed, 12 insertions(+), 0 deletions(-)
36644
36645 commit 83d285953c7e75db388c7f65be5cf1e16fcedec8
36646 Author: Brad Spengler <spender@grsecurity.net>
36647 Date: Sat Mar 16 11:22:36 2013 -0400
36648
36649 Don't globally include compat.h -- with the new X32 support it
36650 changes some definitions involving ELF binaries resulting in invalid
36651 coredumps, as reported by KDE on the forums:
36652 http://forums.grsecurity.net/viewtopic.php?f=3&t=3310
36653 Thanks to the PaX Team for debugging
36654
36655 fs/exec.c | 3 +++
36656 grsecurity/grsec_exec.c | 13 +++++++++++++
36657 include/linux/grsecurity.h | 15 ---------------
36658 3 files changed, 16 insertions(+), 15 deletions(-)
36659
36660 commit 67a94583659cf6c583fbbb023ec2a8ed471ba94a
36661 Author: Brad Spengler <spender@grsecurity.net>
36662 Date: Thu Mar 14 20:59:26 2013 -0400
36663
36664 Add peer information to /proc/net/unix from Kenan Kalajdzic:
36665 http://marc.info/?l=linux-netdev&m=126745636809191&w=2
36666
36667 We use a "P" prefix to the inode number instead of "peer=". This
36668 additional information can be used, for instance, to find what processes
36669 are connected to MySQL's unix domain socket.
36670
36671 net/unix/af_unix.c | 12 +++++++++---
36672 1 files changed, 9 insertions(+), 3 deletions(-)
36673
36674 commit 1cd623d11a462d151ea8a5cace4521e1724911a3
36675 Author: Oliver Neukum <oneukum@suse.de>
36676 Date: Tue Mar 12 14:52:42 2013 +0100
36677
36678 Upstream commit: c0f5ecee4e741667b2493c742b60b6218d40b3aa
36679
36680 USB: cdc-wdm: fix buffer overflow
36681
36682 The buffer for responses must not overflow.
36683 If this would happen, set a flag, drop the data and return
36684 an error after user space has read all remaining data.
36685
36686 Signed-off-by: Oliver Neukum <oliver@neukum.org>
36687 CC: stable@kernel.org
36688 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
36689
36690 drivers/usb/class/cdc-wdm.c | 23 ++++++++++++++++++++---
36691 1 files changed, 20 insertions(+), 3 deletions(-)
36692
36693 commit 3e9e7beb379eaf424d0634c0c556e47c07d367fc
36694 Merge: 9cdf9bc db4cb92
36695 Author: Brad Spengler <spender@grsecurity.net>
36696 Date: Thu Mar 14 20:23:14 2013 -0400
36697
36698 Merge branch 'pax-test' into grsec-test
36699
36700 Conflicts:
36701 security/keys/compat.c
36702
36703 commit db4cb924546e3fec3a59f78d056f48176eaf7100
36704 Author: Brad Spengler <spender@grsecurity.net>
36705 Date: Thu Mar 14 20:22:24 2013 -0400
36706
36707 Update to pax-linux-3.8.2-test8.patch
36708
36709 arch/arm/include/asm/cache.h | 2 ++
36710 arch/arm/mach-omap2/gpmc.c | 22 ++++++++++++----------
36711 arch/arm/mach-omap2/omap_device.c | 4 ++--
36712 arch/arm/mach-omap2/omap_device.h | 4 ++--
36713 arch/arm/plat-orion/include/plat/addr-map.h | 2 +-
36714 5 files changed, 19 insertions(+), 15 deletions(-)
36715
36716 commit 5e72fcce7c468d29168c64c72c18ff5ff0d3b4ae
36717 Merge: 3c865f9 1a45c31
36718 Author: Brad Spengler <spender@grsecurity.net>
36719 Date: Thu Mar 14 20:20:54 2013 -0400
36720
36721 Merge branch 'linux-3.8.y' into pax-test
36722
36723 Conflicts:
36724 arch/arm/include/asm/delay.h
36725 arch/arm/include/asm/pgtable.h
36726 arch/arm/lib/delay.c
36727 security/keys/compat.c
36728
36729 commit 9cdf9bccf22d6a6741e4152bb5d32335beb8caf1
36730 Author: Al Viro <viro@ZenIV.linux.org.uk>
36731 Date: Tue Mar 12 02:59:49 2013 +0000
36732
36733 Upstream commit: a930d8790552658140d7d0d2e316af4f0d76a512
36734
36735 vfs: fix pipe counter breakage
36736
36737 If you open a pipe for neither read nor write, the pipe code will not
36738 add any usage counters to the pipe, causing the 'struct pipe_inode_info"
36739 to be potentially released early.
36740
36741 That doesn't normally matter, since you cannot actually use the pipe,
36742 but the pipe release code - particularly fasync handling - still expects
36743 the actual pipe infrastructure to all be there. And rather than adding
36744 NULL pointer checks, let's just disallow this case, the same way we
36745 already do for the named pipe ("fifo") case.
36746
36747 This is ancient going back to pre-2.4 days, and until trinity, nobody
36748 naver noticed.
36749
36750 Reported-by: Dave Jones <davej@redhat.com>
36751 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
36752
36753 fs/pipe.c | 3 +++
36754 1 files changed, 3 insertions(+), 0 deletions(-)
36755
36756 commit c11fa4be226659a40a6c73f0fa09fee074fba1b2
36757 Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
36758 Date: Mon Feb 25 10:20:36 2013 -0500
36759
36760 Upstream commit: 8aec0f5d4137532de14e6554fd5dd201ff3a3c49
36761
36762 Fix: compat_rw_copy_check_uvector() misuse in aio, readv, writev, and security keys
36763
36764 Looking at mm/process_vm_access.c:process_vm_rw() and comparing it to
36765 compat_process_vm_rw() shows that the compatibility code requires an
36766 explicit "access_ok()" check before calling
36767 compat_rw_copy_check_uvector(). The same difference seems to appear when
36768 we compare fs/read_write.c:do_readv_writev() to
36769 fs/compat.c:compat_do_readv_writev().
36770
36771 This subtle difference between the compat and non-compat requirements
36772 should probably be debated, as it seems to be error-prone. In fact,
36773 there are two others sites that use this function in the Linux kernel,
36774 and they both seem to get it wrong:
36775
36776 Now shifting our attention to fs/aio.c, we see that aio_setup_iocb()
36777 also ends up calling compat_rw_copy_check_uvector() through
36778 aio_setup_vectored_rw(). Unfortunately, the access_ok() check appears to
36779 be missing. Same situation for
36780 security/keys/compat.c:compat_keyctl_instantiate_key_iov().
36781
36782 I propose that we add the access_ok() check directly into
36783 compat_rw_copy_check_uvector(), so callers don't have to worry about it,
36784 and it therefore makes the compat call code similar to its non-compat
36785 counterpart. Place the access_ok() check in the same location where
36786 copy_from_user() can trigger a -EFAULT error in the non-compat code, so
36787 the ABI behaviors are alike on both compat and non-compat.
36788
36789 While we are here, fix compat_do_readv_writev() so it checks for
36790 compat_rw_copy_check_uvector() negative return values.
36791
36792 And also, fix a memory leak in compat_keyctl_instantiate_key_iov() error
36793 handling.
36794
36795 Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
36796 Acked-by: Al Viro <viro@ZenIV.linux.org.uk>
36797 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
36798 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
36799
36800 Conflicts:
36801
36802 security/keys/compat.c
36803
36804 fs/compat.c | 15 +++++++--------
36805 mm/process_vm_access.c | 8 --------
36806 security/keys/compat.c | 3 ++-
36807 3 files changed, 9 insertions(+), 17 deletions(-)
36808
36809 commit 13487f197ab2d5bc76156224c24c45a44bbd6a11
36810 Author: Brad Spengler <spender@grsecurity.net>
36811 Date: Mon Mar 11 18:38:38 2013 -0400
36812
36813 Fix leak of signal handler addresses across execve, found by Emese Revfy
36814
36815 kernel/signal.c | 3 +++
36816 1 files changed, 3 insertions(+), 0 deletions(-)
36817
36818 commit 79b130c4b11c7940daf2b33d653a17666331c634
36819 Merge: 6480ce9 3c865f9
36820 Author: Brad Spengler <spender@grsecurity.net>
36821 Date: Sun Mar 10 20:04:03 2013 -0400
36822
36823 Merge branch 'pax-test' into grsec-test
36824
36825 commit 3c865f9184c6fd56c634bce0096cfc8039d5c43d
36826 Author: Brad Spengler <spender@grsecurity.net>
36827 Date: Sun Mar 10 20:03:12 2013 -0400
36828
36829 Update to pax-linux-3.8.2-test7.patch:
36830 - fixed gcc asserts reported by KDE (http://forums.grsecurity.net/viewtopic.php?f=3&t=3342)
36831 - adjusted RLIMIT_AS accounting for the extra ASLR gap mappings, reported by Alexander Stoll (https://bugs.gentoo.org/show_bug.cgi?id=459268)
36832
36833 fs/binfmt_elf.c | 3 ++-
36834 fs/exec.c | 3 +++
36835 include/linux/mm_types.h | 2 +-
36836 init/main.c | 4 ++--
36837 mm/mmap.c | 2 +-
36838 mm/page_alloc.c | 4 ++--
36839 tools/gcc/latent_entropy_plugin.c | 11 +++++++----
36840 7 files changed, 18 insertions(+), 11 deletions(-)
36841
36842 commit 6480ce919bd7d68ba14f3194e4bdd7b61bc8e491
36843 Merge: 4a5305e 25b3569
36844 Author: Brad Spengler <spender@grsecurity.net>
36845 Date: Sun Mar 10 10:41:16 2013 -0400
36846
36847 Merge branch 'pax-test' into grsec-test
36848
36849 commit 25b356980568bed9958315bb5a551fdc610055ed
36850 Author: Brad Spengler <spender@grsecurity.net>
36851 Date: Sun Mar 10 10:40:48 2013 -0400
36852
36853 Update to pax-linux-3.8.2-test6.patch:
36854 - fixed a KERNEXEC false positive on arm reported by Gu1
36855 - fixed various compile errors reported by x14sg1 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3340)
36856 - fixed too strict mmap parameter checking on i386, reported by browndav (http://forums.grsecurity.net/viewtopic.php?f=1&t=3339)
36857 - added fix from spender for some namespace breakage reported by zakalwe
36858 - small latent entropy improvement: pass pax_extra_latent_entropy to the kernel to extract entropy from RAM content during boot
36859
36860 Documentation/kernel-parameters.txt | 5 +++++
36861 arch/arm/kernel/patch.c | 2 ++
36862 arch/x86/kernel/sys_i386_32.c | 5 +++--
36863 drivers/acpi/blacklist.c | 2 +-
36864 drivers/video/aty/mach64_cursor.c | 1 +
36865 init/main.c | 4 ----
36866 mm/page_alloc.c | 27 +++++++++++++++++++++++++++
36867 net/ipv4/ip_fragment.c | 2 +-
36868 security/Kconfig | 5 +++++
36869 tools/gcc/latent_entropy_plugin.c | 7 +++++--
36870 10 files changed, 50 insertions(+), 10 deletions(-)
36871
36872 commit 4a5305eb7b6c5e49c332feeca9b6bfead9ab917f
36873 Author: Brad Spengler <spender@grsecurity.net>
36874 Date: Sat Mar 9 11:19:06 2013 -0500
36875
36876 From: Mathias Krause <minipli@googlemail.com>
36877 To: "David S. Miller" <davem@davemloft.net>
36878 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>,
36879 Stephen Hemminger <stephen@networkplumber.org>
36880 Subject: [PATCH 1/3] bridge: fix mdb info leaks
36881 Date: Sat, 9 Mar 2013 16:52:19 +0100
36882
36883 The bridging code discloses heap and stack bytes via the RTM_GETMDB
36884 netlink interface and via the notify messages send to group RTNLGRP_MDB
36885 afer a successful add/del.
36886
36887 Fix both cases by initializing all unset members/padding bytes with
36888 memset(0).
36889
36890 Cc: Stephen Hemminger <stephen@networkplumber.org>
36891 Signed-off-by: Mathias Krause <minipli@googlemail.com>
36892
36893 From: Mathias Krause <minipli@googlemail.com>
36894 To: "David S. Miller" <davem@davemloft.net>
36895 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>
36896 Subject: [PATCH 2/3] rtnl: fix info leak on RTM_GETLINK request for VF devices
36897 Date: Sat, 9 Mar 2013 16:52:20 +0100
36898
36899 Initialize the mac address buffer with 0 as the driver specific function
36900 will probably not fill the whole buffer. In fact, all in-kernel drivers
36901 fill only ETH_ALEN of the MAX_ADDR_LEN bytes, i.e. 6 of the 32 possible
36902 bytes. Therefore we currently leak 26 bytes of stack memory to userland
36903 via the netlink interface.
36904
36905 Signed-off-by: Mathias Krause <minipli@googlemail.com>
36906
36907 From: Mathias Krause <minipli@googlemail.com>
36908 To: "David S. Miller" <davem@davemloft.net>
36909 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>
36910 Subject: [PATCH 3/3] dcbnl: fix various netlink info leaks
36911 Date: Sat, 9 Mar 2013 16:52:21 +0100
36912
36913 The dcb netlink interface leaks stack memory in various places:
36914 * perm_addr[] buffer is only filled at max with 12 of the 32 bytes but
36915 copied completely,
36916 * no in-kernel driver fills all fields of an IEEE 802.1Qaz subcommand,
36917 so we're leaking up to 58 bytes for ieee_ets structs, up to 136 bytes
36918 for ieee_pfc structs, etc.,
36919 * the same is true for CEE -- no in-kernel driver fills the whole
36920 struct,
36921
36922 Prevent all of the above stack info leaks by properly initializing the
36923 buffers/structures involved.
36924
36925 Signed-off-by: Mathias Krause <minipli@googlemail.com>
36926
36927 net/bridge/br_mdb.c | 4 ++++
36928 net/core/rtnetlink.c | 1 +
36929 net/dcb/dcbnl.c | 8 ++++++++
36930 3 files changed, 13 insertions(+), 0 deletions(-)
36931
36932 commit 601dd446f896e3a362f706943df18a68d50420a1
36933 Author: Brad Spengler <spender@grsecurity.net>
36934 Date: Sat Mar 9 09:35:25 2013 -0500
36935
36936 add open/close wrappers in __patch_text() as reported by Gu1 on IRC
36937
36938 arch/arm/kernel/patch.c | 2 ++
36939 1 files changed, 2 insertions(+), 0 deletions(-)
36940
36941 commit ae39966fd85a493e9079b357e3faa62245a41222
36942 Author: Peter Hurley <peter@hurleysoftware.com>
36943 Date: Fri Mar 8 12:43:27 2013 -0800
36944
36945 Upstream commit: 88b9e456b1649722673ffa147914299799dc9041
36946
36947 ipc: don't allocate a copy larger than max
36948
36949 When MSG_COPY is set, a duplicate message must be allocated for the copy
36950 before locking the queue. However, the copy could not be larger than was
36951 sent which is limited to msg_ctlmax.
36952
36953 Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
36954 Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
36955 Cc: <stable@vger.kernel.org>
36956 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
36957 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
36958
36959 ipc/msg.c | 6 ++++--
36960 1 files changed, 4 insertions(+), 2 deletions(-)
36961
36962 commit 61240e99650ea3e540a03a3e994349c5086f166b
36963 Author: Peter Hurley <peter@hurleysoftware.com>
36964 Date: Fri Mar 8 12:43:26 2013 -0800
36965
36966 Upstream commit: e1082f45f1e2bbf6e25f6b614fc6616ebf709d19
36967
36968 ipc: fix potential oops when src msg > 4k w/ MSG_COPY
36969
36970 If the src msg is > 4k, then dest->next points to the
36971 next allocated segment; resetting it just prior to dereferencing
36972 is bad.
36973
36974 Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
36975 Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
36976 Cc: <stable@vger.kernel.org>
36977 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
36978 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
36979
36980 ipc/msgutil.c | 3 ---
36981 1 files changed, 0 insertions(+), 3 deletions(-)
36982
36983 commit 51727f602a267f34fb2e0dc9557f1714028d51a2
36984 Author: Brad Spengler <spender@grsecurity.net>
36985 Date: Fri Mar 8 22:14:06 2013 -0500
36986
36987 add missing 'else' in recent constify fixups
36988
36989 net/ipv4/ip_fragment.c | 2 +-
36990 1 files changed, 1 insertions(+), 1 deletions(-)
36991
36992 commit a38c1a640729b3d8e584d1ab98e908c221bc12cf
36993 Merge: 1580bb3 47c3f47
36994 Author: Brad Spengler <spender@grsecurity.net>
36995 Date: Fri Mar 8 18:18:37 2013 -0500
36996
36997 Merge branch 'pax-test' into grsec-test
36998
36999 commit 47c3f47ba4f874f5c72e4c04b76b6b92e44daebe
37000 Author: Brad Spengler <spender@grsecurity.net>
37001 Date: Fri Mar 8 18:17:22 2013 -0500
37002
37003 Update to pax-linux-3.8.2-test5.patch:
37004 - fixed some fallout after the last round of constification changes, reported by several people
37005
37006 arch/arm/common/gic.c | 4 ++--
37007 arch/arm/include/asm/hardware/gic.h | 3 ++-
37008 arch/x86/include/asm/nmi.h | 2 +-
37009 arch/x86/kernel/nmi.c | 2 +-
37010 arch/x86/pci/irq.c | 2 +-
37011 drivers/base/power/domain.c | 4 ++--
37012 drivers/cpufreq/cpufreq_governor.c | 4 ++--
37013 drivers/mfd/twl4030-irq.c | 1 +
37014 drivers/video/vesafb.c | 7 +++++--
37015 include/linux/irq.h | 1 +
37016 include/linux/pm_domain.h | 2 +-
37017 kernel/sched/core.c | 4 ++++
37018 lib/Kconfig.debug | 4 ++--
37019 net/core/sysctl_net_core.c | 2 +-
37020 net/decnet/af_decnet.c | 1 +
37021 net/ipv4/devinet.c | 2 +-
37022 net/ipv4/ip_fragment.c | 2 +-
37023 net/ipv4/route.c | 2 +-
37024 net/ipv4/sysctl_net_ipv4.c | 2 +-
37025 net/ipv6/netfilter/nf_conntrack_reasm.c | 2 +-
37026 net/ipv6/reassembly.c | 2 +-
37027 scripts/sortextable.h | 6 +++---
37028 22 files changed, 36 insertions(+), 25 deletions(-)
37029
37030 commit 1580bb38b4db0bf2a46316599815e8b234edad81
37031 Author: Brad Spengler <spender@grsecurity.net>
37032 Date: Thu Mar 7 22:02:59 2013 -0500
37033
37034 add an additional open/close wrapper
37035
37036 kernel/sched/core.c | 2 ++
37037 1 files changed, 2 insertions(+), 0 deletions(-)
37038
37039 commit 21622672d28d58e0d93a805cd1f9650a894a752a
37040 Author: Brad Spengler <spender@grsecurity.net>
37041 Date: Thu Mar 7 21:58:24 2013 -0500
37042
37043 fix oops at shutdown with new constify code
37044
37045 kernel/sched/core.c | 2 ++
37046 1 files changed, 2 insertions(+), 0 deletions(-)
37047
37048 commit f6b9ab9fcc747bb1b14a4857d59e6681936220ec
37049 Author: Brad Spengler <spender@grsecurity.net>
37050 Date: Thu Mar 7 21:18:44 2013 -0500
37051
37052 Add PAX_CONSTIFY_PLUGIN, which we previously enabled unconditionally
37053 it currently conflicts with some lock debugging options, so made as an
37054 option to allow for debugging when necessary
37055
37056 Makefile | 2 --
37057 lib/Kconfig.debug | 6 +++---
37058 security/Kconfig | 18 ++++++++++++++++++
37059 3 files changed, 21 insertions(+), 5 deletions(-)
37060
37061 commit 0885b00b8373a1597b69c38032a0c9eee279303b
37062 Author: Brad Spengler <spender@grsecurity.net>
37063 Date: Thu Mar 7 20:55:19 2013 -0500
37064
37065 disable DEBUG_LOCK_ALLOC, as it conflicts with the new constify
37066
37067 lib/Kconfig.debug | 2 +-
37068 1 files changed, 1 insertions(+), 1 deletions(-)
37069
37070 commit c8a2617165e7127a54f293cbf57d22d50dd83abd
37071 Author: Brad Spengler <spender@grsecurity.net>
37072 Date: Thu Mar 7 20:30:41 2013 -0500
37073
37074 Fix error:
37075 drivers/video/vesafb.c:502:3: error: assignment of member ‘fb_pan_display’ in read-only object
37076 with cast and proper kernexec accessors
37077
37078 drivers/video/vesafb.c | 7 +++++--
37079 1 files changed, 5 insertions(+), 2 deletions(-)
37080
37081 commit 99f2814d3e2a6db25985edc47c7e09c4a2d8c408
37082 Author: Brad Spengler <spender@grsecurity.net>
37083 Date: Thu Mar 7 20:20:28 2013 -0500
37084
37085 fix typo
37086
37087 grsecurity/gracl.c | 2 +-
37088 1 files changed, 1 insertions(+), 1 deletions(-)
37089
37090 commit 399674de6c42bbcae2d01b082d6d9ce9d183b000
37091 Author: Brad Spengler <spender@grsecurity.net>
37092 Date: Thu Mar 7 20:12:17 2013 -0500
37093
37094 fix compilation error -- no reason for task_pid_nr to not take a const task ptr
37095
37096 include/linux/sched.h | 2 +-
37097 1 files changed, 1 insertions(+), 1 deletions(-)
37098
37099 commit a6c239eacf683f9dd2aeebb1b1adb71e5eedbd9f
37100 Author: Kees Cook <keescook@chromium.org>
37101 Date: Mon Feb 25 21:32:25 2013 +0000
37102
37103 Upstream commit: e70ab977991964a5a7ad1182799451d067e62669
37104
37105 proc connector: reject unprivileged listener bumps
37106
37107 While PROC_CN_MCAST_LISTEN/IGNORE is entirely advisory, it was possible
37108 for an unprivileged user to turn off notifications for all listeners by
37109 sending PROC_CN_MCAST_IGNORE. Instead, require the same privileges as
37110 required for a multicast bind.
37111
37112 Signed-off-by: Kees Cook <keescook@chromium.org>
37113 Cc: Evgeniy Polyakov <zbr@ioremap.net>
37114 Cc: Matt Helsley <matthltc@us.ibm.com>
37115 Cc: stable@vger.kernel.org
37116 Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
37117 Acked-by: Matt Helsley <matthltc@us.ibm.com>
37118 Signed-off-by: David S. Miller <davem@davemloft.net>
37119
37120 drivers/connector/cn_proc.c | 8 ++++++++
37121 1 files changed, 8 insertions(+), 0 deletions(-)
37122
37123 commit ac6014ded57101e3e608941555ff507e20c1ece3
37124 Author: Dan Carpenter <dan.carpenter@oracle.com>
37125 Date: Tue Feb 26 19:15:02 2013 +0000
37126
37127 Upstream commit: 90c7881ecee1f08e0a49172cf61371cf2509ee4a
37128
37129 irda: small read beyond end of array in debug code
37130
37131 charset comes from skb->data. It's a number in the 0-255 range.
37132 If we have debugging turned on then this could cause a read beyond
37133 the end of the array.
37134
37135 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
37136 Signed-off-by: David S. Miller <davem@davemloft.net>
37137
37138 net/irda/iriap.c | 7 +++++--
37139 1 files changed, 5 insertions(+), 2 deletions(-)
37140
37141 commit e60bd2aad9bfdb68731cc888eae14a7600bd2ffe
37142 Author: Guenter Roeck <linux@roeck-us.net>
37143 Date: Wed Feb 27 10:57:31 2013 +0000
37144
37145 Upstream commit: 726bc6b092da4c093eb74d13c07184b18c1af0f1
37146
37147 net/sctp: Validate parameter size for SCTP_GET_ASSOC_STATS
37148
37149 Building sctp may fail with:
37150
37151 In function ‘copy_from_user’,
37152 inlined from ‘sctp_getsockopt_assoc_stats’ at
37153 net/sctp/socket.c:5656:20:
37154 arch/x86/include/asm/uaccess_32.h:211:26: error: call to
37155 ‘copy_from_user_overflow’ declared with attribute error: copy_from_user()
37156 buffer size is not provably correct
37157
37158 if built with W=1 due to a missing parameter size validation
37159 before the call to copy_from_user.
37160
37161 Signed-off-by: Guenter Roeck <linux@roeck-us.net>
37162 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
37163 Signed-off-by: David S. Miller <davem@davemloft.net>
37164
37165 net/sctp/socket.c | 6 +++---
37166 1 files changed, 3 insertions(+), 3 deletions(-)
37167
37168 commit be49e0ae9a4d0e8daa831d7d8d6f3a56beda3e3c
37169 Author: Guillaume Nault <g.nault@alphalink.fr>
37170 Date: Fri Mar 1 05:02:02 2013 +0000
37171
37172 Upstream commit: 8b82547e33e85fc24d4d172a93c796de1fefa81a
37173
37174 l2tp: Restore socket refcount when sendmsg succeeds
37175
37176 The sendmsg() syscall handler for PPPoL2TP doesn't decrease the socket
37177 reference counter after successful transmissions. Any successful
37178 sendmsg() call from userspace will then increase the reference counter
37179 forever, thus preventing the kernel's session and tunnel data from
37180 being freed later on.
37181
37182 The problem only happens when writing directly on L2TP sockets.
37183 PPP sockets attached to L2TP are unaffected as the PPP subsystem
37184 uses pppol2tp_xmit() which symmetrically increase/decrease reference
37185 counters.
37186
37187 This patch adds the missing call to sock_put() before returning from
37188 pppol2tp_sendmsg().
37189
37190 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
37191 Signed-off-by: David S. Miller <davem@davemloft.net>
37192
37193 net/l2tp/l2tp_ppp.c | 1 +
37194 1 files changed, 1 insertions(+), 0 deletions(-)
37195
37196 commit 98a9a5f981f5deda4059a255c1196886f2f27e2f
37197 Author: Cong Wang <amwang@redhat.com>
37198 Date: Sun Mar 3 16:18:11 2013 +0000
37199
37200 Upstream commit: ece6b0a2b25652d684a7ced4ae680a863af041e0
37201
37202 rds: limit the size allocated by rds_message_alloc()
37203
37204 Dave Jones reported the following bug:
37205
37206 "When fed mangled socket data, rds will trust what userspace gives it,
37207 and tries to allocate enormous amounts of memory larger than what
37208 kmalloc can satisfy."
37209
37210 WARNING: at mm/page_alloc.c:2393 __alloc_pages_nodemask+0xa0d/0xbe0()
37211 Hardware name: GA-MA78GM-S2H
37212 Modules linked in: vmw_vsock_vmci_transport vmw_vmci vsock fuse bnep dlci bridge 8021q garp stp mrp binfmt_misc l2tp_ppp l2tp_core rfcomm s
37213 Pid: 24652, comm: trinity-child2 Not tainted 3.8.0+ #65
37214 Call Trace:
37215 [<ffffffff81044155>] warn_slowpath_common+0x75/0xa0
37216 [<ffffffff8104419a>] warn_slowpath_null+0x1a/0x20
37217 [<ffffffff811444ad>] __alloc_pages_nodemask+0xa0d/0xbe0
37218 [<ffffffff8100a196>] ? native_sched_clock+0x26/0x90
37219 [<ffffffff810b2128>] ? trace_hardirqs_off_caller+0x28/0xc0
37220 [<ffffffff810b21cd>] ? trace_hardirqs_off+0xd/0x10
37221 [<ffffffff811861f8>] alloc_pages_current+0xb8/0x180
37222 [<ffffffff8113eaaa>] __get_free_pages+0x2a/0x80
37223 [<ffffffff811934fe>] kmalloc_order_trace+0x3e/0x1a0
37224 [<ffffffff81193955>] __kmalloc+0x2f5/0x3a0
37225 [<ffffffff8104df0c>] ? local_bh_enable_ip+0x7c/0xf0
37226 [<ffffffffa0401ab3>] rds_message_alloc+0x23/0xb0 [rds]
37227 [<ffffffffa04043a1>] rds_sendmsg+0x2b1/0x990 [rds]
37228 [<ffffffff810b21cd>] ? trace_hardirqs_off+0xd/0x10
37229 [<ffffffff81564620>] sock_sendmsg+0xb0/0xe0
37230 [<ffffffff810b2052>] ? get_lock_stats+0x22/0x70
37231 [<ffffffff810b24be>] ? put_lock_stats.isra.23+0xe/0x40
37232 [<ffffffff81567f30>] sys_sendto+0x130/0x180
37233 [<ffffffff810b872d>] ? trace_hardirqs_on+0xd/0x10
37234 [<ffffffff816c547b>] ? _raw_spin_unlock_irq+0x3b/0x60
37235 [<ffffffff816cd767>] ? sysret_check+0x1b/0x56
37236 [<ffffffff810b8695>] ? trace_hardirqs_on_caller+0x115/0x1a0
37237 [<ffffffff81341d8e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
37238 [<ffffffff816cd742>] system_call_fastpath+0x16/0x1b
37239 ---[ end trace eed6ae990d018c8b ]---
37240
37241 Reported-by: Dave Jones <davej@redhat.com>
37242 Cc: Dave Jones <davej@redhat.com>
37243 Cc: David S. Miller <davem@davemloft.net>
37244 Cc: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
37245 Signed-off-by: Cong Wang <amwang@redhat.com>
37246 Acked-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
37247 Signed-off-by: David S. Miller <davem@davemloft.net>
37248
37249 net/rds/message.c | 3 +++
37250 1 files changed, 3 insertions(+), 0 deletions(-)
37251
37252 commit b46df323e01c63c62fdb82cf2c47e4386f5a0499
37253 Author: Cong Wang <amwang@redhat.com>
37254 Date: Sun Mar 3 16:28:27 2013 +0000
37255
37256 Upstream commit: 3f736868b47687d1336fe88185560b22bb92021e
37257
37258 sctp: use KMALLOC_MAX_SIZE instead of its own MAX_KMALLOC_SIZE
37259
37260 Don't definite its own MAX_KMALLOC_SIZE, use the one
37261 defined in mm.
37262
37263 Cc: Vlad Yasevich <vyasevich@gmail.com>
37264 Cc: Sridhar Samudrala <sri@us.ibm.com>
37265 Cc: Neil Horman <nhorman@tuxdriver.com>
37266 Cc: David S. Miller <davem@davemloft.net>
37267 Signed-off-by: Cong Wang <amwang@redhat.com>
37268 Acked-by: Neil Horman <nhorman@tuxdriver.com>
37269 Signed-off-by: David S. Miller <davem@davemloft.net>
37270
37271 net/sctp/ssnmap.c | 8 +++-----
37272 1 files changed, 3 insertions(+), 5 deletions(-)
37273
37274 commit 4295a024e812f903fc580c81de5e81cc149503fa
37275 Author: Brad Spengler <spender@grsecurity.net>
37276 Date: Thu Mar 7 17:57:49 2013 -0500
37277
37278 Upstream commit: https://lkml.org/lkml/2013/3/6/535
37279
37280 security/keys/process_keys.c | 2 +-
37281 1 files changed, 1 insertions(+), 1 deletions(-)
37282
37283 commit 33edd486a9899a145a15586d7134636b0300aaee
37284 Merge: 4eeeaf3 a2a2094
37285 Author: Brad Spengler <spender@grsecurity.net>
37286 Date: Thu Mar 7 17:53:00 2013 -0500
37287
37288 Merge branch 'pax-test' into grsec-test
37289
37290 Conflicts:
37291 arch/arm/include/asm/domain.h
37292
37293 commit a2a20947f5e1332e474160a39af520738b3c8c19
37294 Author: Brad Spengler <spender@grsecurity.net>
37295 Date: Thu Mar 7 17:51:04 2013 -0500
37296
37297 Update to pax-linux-3.8.2-test4.patch:
37298 fixed arm compilation problems reported by Michael Tremer
37299 - the constify plugin got smarter that enabled, with some additional patching,
37300 the elimination of about half the static function pointers on amd64/allmod
37301 (up from about 18%), depending on the kernel config it can be even more (70%)
37302
37303 Documentation/dontdiff | 2 +
37304 arch/arm/include/asm/domain.h | 1 +
37305 arch/x86/include/asm/i8259.h | 2 +-
37306 arch/x86/include/asm/nmi.h | 4 +-
37307 arch/x86/kernel/acpi/boot.c | 4 +-
37308 arch/x86/kernel/apic/apic_noop.c | 2 +-
37309 arch/x86/kernel/apic/es7000_32.c | 2 +-
37310 arch/x86/kernel/apic/io_apic.c | 10 +-
37311 arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
37312 arch/x86/kernel/cpu/perf_event.c | 6 +-
37313 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
37314 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
37315 arch/x86/kernel/i8259.c | 6 +-
37316 arch/x86/kernel/io_delay.c | 2 +-
37317 arch/x86/kernel/nmi.c | 6 +-
37318 arch/x86/kernel/nmi_selftest.c | 4 +-
37319 arch/x86/kernel/pci-swiotlb.c | 2 +-
37320 arch/x86/oprofile/nmi_int.c | 8 +-
37321 arch/x86/oprofile/op_model_amd.c | 8 +-
37322 arch/x86/oprofile/op_model_ppro.c | 7 +-
37323 arch/x86/oprofile/op_x86_model.h | 2 +-
37324 arch/x86/pci/irq.c | 6 +-
37325 drivers/acpi/apei/apei-internal.h | 2 +-
37326 drivers/acpi/bgrt.c | 6 +-
37327 drivers/acpi/blacklist.c | 2 +-
37328 drivers/acpi/processor_idle.c | 2 +-
37329 drivers/acpi/sysfs.c | 4 +-
37330 drivers/base/bus.c | 4 +-
37331 drivers/base/node.c | 2 +-
37332 drivers/base/syscore.c | 4 +-
37333 drivers/block/drbd/drbd_receiver.c | 4 +-
37334 drivers/char/random.c | 2 +-
37335 drivers/cpufreq/acpi-cpufreq.c | 20 ++-
37336 drivers/cpufreq/cpufreq.c | 7 +-
37337 drivers/cpufreq/cpufreq_governor.c | 4 +-
37338 drivers/cpufreq/cpufreq_governor.h | 2 +-
37339 drivers/cpufreq/p4-clockmod.c | 12 +-
37340 drivers/cpufreq/speedstep-centrino.c | 7 +-
37341 drivers/cpuidle/cpuidle.c | 2 +-
37342 drivers/cpuidle/governor.c | 4 +-
37343 drivers/cpuidle/sysfs.c | 2 +-
37344 drivers/devfreq/devfreq.c | 4 +-
37345 drivers/edac/edac_mc_sysfs.c | 2 +-
37346 drivers/edac/edac_pci_sysfs.c | 2 +-
37347 drivers/firewire/core-device.c | 2 +-
37348 drivers/firmware/dmi-id.c | 2 +-
37349 drivers/firmware/efivars.c | 2 +-
37350 drivers/firmware/google/memconsole.c | 4 +-
37351 drivers/gpio/gpio-ich.c | 2 +-
37352 drivers/gpu/drm/drm_drv.c | 2 +-
37353 drivers/gpu/drm/drm_ioc32.c | 9 +-
37354 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
37355 drivers/gpu/drm/i915/intel_display.c | 26 ++-
37356 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
37357 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
37358 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
37359 drivers/gpu/drm/radeon/radeon_ioc32.c | 11 +-
37360 drivers/gpu/drm/radeon/radeon_ttm.c | 33 ++--
37361 drivers/gpu/drm/udl/udl_fb.c | 1 -
37362 drivers/hwmon/acpi_power_meter.c | 4 +-
37363 drivers/hwmon/applesmc.c | 2 +-
37364 drivers/hwmon/asus_atk0110.c | 10 +-
37365 drivers/hwmon/ibmaem.c | 2 +-
37366 drivers/hwmon/pmbus/pmbus_core.c | 2 +-
37367 drivers/iio/industrialio-core.c | 2 +-
37368 drivers/input/mouse/psmouse.h | 2 +-
37369 drivers/iommu/iommu.c | 2 +-
37370 drivers/leds/leds-clevo-mail.c | 2 +-
37371 drivers/leds/leds-ss4200.c | 2 +-
37372 drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
37373 drivers/mfd/twl4030-irq.c | 8 +-
37374 drivers/mfd/twl6030-irq.c | 10 +-
37375 drivers/misc/c2port/core.c | 4 +-
37376 drivers/mtd/sm_ftl.c | 2 +-
37377 drivers/net/bonding/bond_main.c | 2 +-
37378 drivers/net/macvlan.c | 16 +-
37379 drivers/net/vxlan.c | 2 +-
37380 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
37381 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
37382 drivers/pci/hotplug/pciehp_core.c | 2 +-
37383 drivers/pci/pci-sysfs.c | 6 +-
37384 drivers/pci/pci.h | 2 +-
37385 drivers/platform/x86/msi-laptop.c | 14 +-
37386 drivers/platform/x86/sony-laptop.c | 2 +-
37387 drivers/power/power_supply.h | 4 +-
37388 drivers/power/power_supply_core.c | 6 +-
37389 drivers/power/power_supply_sysfs.c | 6 +-
37390 drivers/rtc/rtc-cmos.c | 4 +-
37391 drivers/rtc/rtc-ds1307.c | 2 +-
37392 drivers/rtc/rtc-m48t59.c | 4 +-
37393 drivers/scsi/bfa/bfa.h | 2 +-
37394 drivers/staging/iio/iio_hwmon.c | 2 +-
37395 drivers/usb/storage/usb.h | 2 +-
37396 drivers/video/aty/atyfb_base.c | 8 +-
37397 drivers/video/aty/mach64_cursor.c | 4 +-
37398 drivers/video/backlight/kb3886_bl.c | 2 +-
37399 drivers/video/fb_defio.c | 6 +-
37400 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
37401 drivers/video/nvidia/nvidia.c | 27 ++-
37402 drivers/video/s1d13xxxfb.c | 6 +-
37403 drivers/video/smscufx.c | 4 +-
37404 drivers/video/udlfb.c | 4 +-
37405 drivers/video/uvesafb.c | 14 +-
37406 fs/exec.c | 6 +-
37407 fs/ext4/super.c | 2 +-
37408 fs/jfs/super.c | 4 +-
37409 fs/nfs/callback_xdr.c | 2 +-
37410 fs/nfsd/nfs4proc.c | 2 +-
37411 fs/nfsd/nfs4xdr.c | 6 +-
37412 fs/nls/nls_base.c | 18 +-
37413 fs/nls/nls_euc-jp.c | 6 +-
37414 fs/nls/nls_koi8-ru.c | 6 +-
37415 fs/proc/proc_sysctl.c | 18 +-
37416 include/drm/drmP.h | 12 +-
37417 include/keys/asymmetric-subtype.h | 2 +-
37418 include/linux/atmdev.h | 2 +-
37419 include/linux/binfmts.h | 2 +-
37420 include/linux/configfs.h | 2 +-
37421 include/linux/cpufreq.h | 3 +-
37422 include/linux/cpuidle.h | 5 +-
37423 include/linux/devfreq.h | 2 +-
37424 include/linux/device.h | 7 +-
37425 include/linux/extcon.h | 2 +-
37426 include/linux/fb.h | 2 +-
37427 include/linux/fscache.h | 2 +-
37428 include/linux/genl_magic_func.h | 2 +-
37429 include/linux/hwmon-sysfs.h | 5 +-
37430 include/linux/iommu.h | 2 +-
37431 include/linux/irq.h | 2 +-
37432 include/linux/key-type.h | 2 +-
37433 include/linux/kobject.h | 1 +
37434 include/linux/kobject_ns.h | 2 +-
37435 include/linux/list.h | 14 +-
37436 include/linux/mod_devicetable.h | 2 +-
37437 include/linux/module.h | 5 +-
37438 include/linux/net.h | 2 +-
37439 include/linux/netfilter.h | 2 +-
37440 include/linux/nls.h | 2 +-
37441 include/linux/pci_hotplug.h | 3 +-
37442 include/linux/platform_data/usb-exynos.h | 2 +-
37443 include/linux/pnp.h | 2 +-
37444 include/linux/ppp-comp.h | 2 +-
37445 include/linux/rculist.h | 16 ++
37446 include/linux/sched.h | 2 +-
37447 include/linux/sock_diag.h | 2 +-
37448 include/linux/sunrpc/clnt.h | 2 +-
37449 include/linux/sunrpc/svc.h | 2 +-
37450 include/linux/sunrpc/svcauth.h | 2 +-
37451 include/linux/swiotlb.h | 3 +-
37452 include/linux/syscore_ops.h | 2 +-
37453 include/linux/sysctl.h | 6 +-
37454 include/linux/sysfs.h | 10 +-
37455 include/linux/sysrq.h | 1 +
37456 include/linux/xattr.h | 2 +-
37457 include/net/9p/transport.h | 2 +-
37458 include/net/bluetooth/l2cap.h | 2 +-
37459 include/net/genetlink.h | 2 +-
37460 include/net/ip.h | 2 +-
37461 include/net/ip_vs.h | 4 +-
37462 include/net/llc_c_ac.h | 2 +-
37463 include/net/llc_c_ev.h | 4 +-
37464 include/net/llc_c_st.h | 2 +-
37465 include/net/llc_s_ac.h | 2 +-
37466 include/net/llc_s_st.h | 2 +-
37467 include/net/mac80211.h | 2 +-
37468 include/net/net_namespace.h | 2 +-
37469 include/net/netns/conntrack.h | 6 +-
37470 include/net/rtnetlink.h | 2 +-
37471 include/net/sctp/sm.h | 4 +-
37472 include/net/sctp/structs.h | 2 +-
37473 include/net/xfrm.h | 4 +-
37474 ipc/ipc_sysctl.c | 10 +-
37475 ipc/mq_sysctl.c | 2 +-
37476 kernel/kmod.c | 2 +-
37477 kernel/ksysfs.c | 2 +-
37478 kernel/module.c | 4 +-
37479 kernel/pid_namespace.c | 2 +-
37480 kernel/rcutree_plugin.h | 2 +-
37481 kernel/sched/core.c | 39 ++--
37482 kernel/smpboot.c | 4 +-
37483 kernel/softirq.c | 2 +-
37484 kernel/sysctl.c | 2 +-
37485 kernel/utsname_sysctl.c | 2 +-
37486 kernel/watchdog.c | 2 +-
37487 lib/Kconfig.debug | 2 +-
37488 lib/kobject.c | 4 +-
37489 lib/list_debug.c | 57 ++++-
37490 lib/swiotlb.c | 2 +-
37491 mm/hugetlb.c | 16 +-
37492 mm/memory-failure.c | 2 +-
37493 mm/slab_common.c | 2 +-
37494 net/9p/mod.c | 4 +-
37495 net/ax25/sysctl_net_ax25.c | 2 +-
37496 net/core/neighbour.c | 2 +-
37497 net/core/net-sysfs.c | 2 +-
37498 net/core/net_namespace.c | 8 +-
37499 net/core/rtnetlink.c | 11 +-
37500 net/core/sock_diag.c | 9 +-
37501 net/core/sysctl_net_core.c | 15 +-
37502 net/ipv4/af_inet.c | 8 +-
37503 net/ipv4/devinet.c | 12 +-
37504 net/ipv4/inet_connection_sock.c | 2 +-
37505 net/ipv4/ip_fragment.c | 9 +-
37506 net/ipv4/ip_gre.c | 6 +-
37507 net/ipv4/ip_vti.c | 4 +-
37508 net/ipv4/ipip.c | 4 +-
37509 net/ipv4/route.c | 14 +-
37510 net/ipv4/sysctl_net_ipv4.c | 43 ++--
37511 net/ipv6/addrconf.c | 4 +-
37512 net/ipv6/icmp.c | 2 +-
37513 net/ipv6/ip6_gre.c | 6 +-
37514 net/ipv6/ip6_tunnel.c | 4 +-
37515 net/ipv6/netfilter/nf_conntrack_reasm.c | 12 +-
37516 net/ipv6/reassembly.c | 11 +-
37517 net/ipv6/route.c | 2 +-
37518 net/ipv6/sit.c | 4 +-
37519 net/ipv6/sysctl_net_ipv6.c | 2 +-
37520 net/netfilter/ipset/ip_set_core.c | 2 +-
37521 net/netfilter/ipvs/ip_vs_ctl.c | 4 +-
37522 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
37523 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
37524 net/netfilter/nf_conntrack_acct.c | 2 +-
37525 net/netfilter/nf_conntrack_ecache.c | 2 +-
37526 net/netfilter/nf_conntrack_helper.c | 2 +-
37527 net/netfilter/nf_conntrack_proto.c | 2 +-
37528 net/netfilter/nf_conntrack_standalone.c | 2 +-
37529 net/netfilter/nf_conntrack_timestamp.c | 2 +-
37530 net/netfilter/nf_log.c | 10 +-
37531 net/netfilter/nf_sockopt.c | 4 +-
37532 net/netlink/genetlink.c | 16 +-
37533 net/phonet/sysctl.c | 2 +-
37534 net/rds/rds.h | 2 +-
37535 net/sctp/ipv6.c | 6 +-
37536 net/sctp/protocol.c | 10 +-
37537 net/sctp/sm_sideeffect.c | 2 +-
37538 net/sctp/sysctl.c | 4 +-
37539 net/sunrpc/clnt.c | 4 +-
37540 net/sunrpc/svc.c | 4 +-
37541 net/unix/sysctl_net_unix.c | 2 +-
37542 net/xfrm/xfrm_policy.c | 11 +-
37543 net/xfrm/xfrm_state.c | 29 ++-
37544 net/xfrm/xfrm_sysctl.c | 2 +-
37545 security/apparmor/lsm.c | 2 +-
37546 security/keys/key.c | 18 +-
37547 security/yama/yama_lsm.c | 22 +-
37548 tools/gcc/Makefile | 4 +-
37549 tools/gcc/constify_plugin.c | 299 +++++++++++++++++++------
37550 tools/gcc/size_overflow_plugin.c | 7 +-
37551 248 files changed, 994 insertions(+), 668 deletions(-)
37552
37553 commit 4eeeaf3a560e25d1685f8973ef676b205efaa81b
37554 Author: Brad Spengler <spender@grsecurity.net>
37555 Date: Wed Mar 6 12:58:21 2013 -0500
37556
37557 Make slab_state __read_only, it's only written to during init
37558
37559 mm/slab_common.c | 2 +-
37560 1 files changed, 1 insertions(+), 1 deletions(-)
37561
37562 commit e7067b68d36fb9e0e8818de5d9ce1b4ba19ce24a
37563 Author: Brad Spengler <spender@grsecurity.net>
37564 Date: Wed Mar 6 12:31:35 2013 -0500
37565
37566 Make two new helper functions:
37567 gr_is_global_root() and gr_is_global_nonroot()
37568
37569 grsecurity/gracl.c | 10 +++++-----
37570 grsecurity/gracl_segv.c | 2 +-
37571 grsecurity/grsec_link.c | 4 ++--
37572 grsecurity/grsec_sig.c | 10 +++++-----
37573 grsecurity/grsec_tpe.c | 6 +++---
37574 include/linux/uidgid.h | 2 ++
37575 6 files changed, 18 insertions(+), 16 deletions(-)
37576
37577 commit d45d88eddd4998b280b1e5b5384289ee11ca7088
37578 Author: Brad Spengler <spender@grsecurity.net>
37579 Date: Wed Mar 6 12:14:41 2013 -0500
37580
37581 convert remaining task->pid to task_pid_nr(task)
37582
37583 grsecurity/gracl.c | 22 +++++++++++-----------
37584 grsecurity/gracl_shm.c | 2 +-
37585 grsecurity/grsec_chroot.c | 4 ++--
37586 grsecurity/grsec_sig.c | 4 ++--
37587 4 files changed, 16 insertions(+), 16 deletions(-)
37588
37589 commit c877f2ece03ee2232dd281c1977ae59507297124
37590 Author: Brad Spengler <spender@grsecurity.net>
37591 Date: Tue Mar 5 17:29:54 2013 -0500
37592
37593 compat-log is only used anymore by vm86-on-64bit and allows unlimited
37594 spamming of the kernel log buffer (and since it includes the changable
37595 process name, can avoid syslog log deduplication)
37596 Turn it off by default
37597
37598 fs/compat.c | 2 +-
37599 1 files changed, 1 insertions(+), 1 deletions(-)
37600
37601 commit 7c1964c4b7276889d7967bee70e46918cdca1b14
37602 Author: Brad Spengler <spender@grsecurity.net>
37603 Date: Mon Mar 4 17:19:10 2013 -0500
37604
37605 fix compilation error reported on IRC and forums when GRKERNSEC_PROC_USERGROUP
37606 is enabled, introduced with recent userns support
37607
37608 init/main.c | 4 ++--
37609 1 files changed, 2 insertions(+), 2 deletions(-)
37610
37611 commit c3ce01b94d8dd42b9c7942c0d513b152613e0656
37612 Author: Brad Spengler <spender@grsecurity.net>
37613 Date: Sun Mar 3 18:46:12 2013 -0500
37614
37615 Prevent TOMOYO from auto-loading modules by unprivileged users
37616 (Only reachable if TOMOYO is actually used)
37617
37618 security/tomoyo/mount.c | 4 ++++
37619 1 files changed, 4 insertions(+), 0 deletions(-)
37620
37621 commit 79e142f9455b398759ff9d93d4963a21b98dddda
37622 Author: Brad Spengler <spender@grsecurity.net>
37623 Date: Sun Mar 3 18:28:45 2013 -0500
37624
37625 For now, don't permit any special access to /proc in a user namespace
37626 Later we can go back and allow a userns-uid0 special access to a /proc
37627 with a non-global pid namespace
37628
37629 fs/proc/base.c | 2 +-
37630 1 files changed, 1 insertions(+), 1 deletions(-)
37631
37632 commit 8b91fb393049ce5f3c0a86f62247409853fd9700
37633 Merge: d931eb8 603ef05
37634 Author: Brad Spengler <spender@grsecurity.net>
37635 Date: Sun Mar 3 17:42:09 2013 -0500
37636
37637 Merge branch 'pax-test' into grsec-test
37638
37639 commit 603ef0579b9c3765d999c1938cb7a120d8c8e00b
37640 Author: Brad Spengler <spender@grsecurity.net>
37641 Date: Sun Mar 3 17:41:31 2013 -0500
37642
37643 Fix compilation error on ARM reported by Michael Tremer
37644
37645 arch/arm/mach-omap2/wd_timer.c | 6 +++---
37646 1 files changed, 3 insertions(+), 3 deletions(-)
37647
37648 commit b4c9ce81fdd7839a150c97873c710c479e788280
37649 Author: Brad Spengler <spender@grsecurity.net>
37650 Date: Sun Mar 3 17:39:53 2013 -0500
37651
37652 Fix compilation error on ARM reported by Michael Tremer
37653
37654 arch/arm/kernel/armksyms.c | 2 +-
37655 1 files changed, 1 insertions(+), 1 deletions(-)
37656
37657 commit d931eb81ab3da46896268fd61373a6aa7bbea930
37658 Merge: bfa7f44 5948f93
37659 Author: Brad Spengler <spender@grsecurity.net>
37660 Date: Sun Mar 3 17:34:36 2013 -0500
37661
37662 Merge branch 'pax-test' into grsec-test
37663
37664 commit 5948f930bc1c2d22138c1c76ca7e1bc94b6a3ce0
37665 Merge: ab30472 19b00d2
37666 Author: Brad Spengler <spender@grsecurity.net>
37667 Date: Sun Mar 3 17:34:08 2013 -0500
37668
37669 Merge branch 'linux-3.8.y' into pax-test
37670
37671 commit bfa7f445c5d484de51a5828b92ad2ff65053cc87
37672 Author: Brad Spengler <spender@grsecurity.net>
37673 Date: Sun Mar 3 15:12:12 2013 -0500
37674
37675 Initial support for user namespaces, as we previously didn't allow
37676 the option to be enabled at all.
37677
37678 RBAC will act on the global uids/gids only, so all uids/gids in user
37679 namespaces will be converted
37680
37681 Because Eric Biederman is insulted that I didn't support his
37682 backdoor prior to it receiving proper review. I still have the CAP_SYS_ADMIN
37683 check in for user namespaces, so this is generally irrelevant.
37684
37685 fs/exec.c | 6 +-
37686 fs/proc/base.c | 2 +-
37687 fs/proc/proc_net.c | 4 +-
37688 grsecurity/gracl.c | 128 +++++++++++++++++++++++++++++-------------
37689 grsecurity/gracl_cap.c | 4 +-
37690 grsecurity/gracl_ip.c | 16 +++---
37691 grsecurity/gracl_segv.c | 12 +++-
37692 grsecurity/gracl_shm.c | 4 +-
37693 grsecurity/grsec_disabled.c | 10 ++--
37694 grsecurity/grsec_fifo.c | 6 +-
37695 grsecurity/grsec_init.c | 24 ++++----
37696 grsecurity/grsec_log.c | 3 -
37697 grsecurity/grsec_tpe.c | 6 +-
37698 include/linux/grinternal.h | 12 ++--
37699 include/linux/grsecurity.h | 12 ++--
37700 include/linux/uidgid.h | 3 +
37701 init/Kconfig | 2 -
37702 ipc/shm.c | 2 +-
37703 kernel/cred.c | 5 +-
37704 kernel/kallsyms.c | 2 +-
37705 kernel/kmod.c | 6 +-
37706 kernel/sys.c | 12 ++--
37707 22 files changed, 166 insertions(+), 115 deletions(-)
37708
37709 commit 27a8cc1a9f22f95de6fe8740bdc900a160274dff
37710 Author: Linus Torvalds <torvalds@linux-foundation.org>
37711 Date: Wed Feb 27 08:36:04 2013 -0800
37712
37713 Upstream commit: 09884964335e85e897876d17783c2ad33cf8a2e0
37714
37715 mm: do not grow the stack vma just because of an overrun on preceding vma
37716
37717 The stack vma is designed to grow automatically (marked with VM_GROWSUP
37718 or VM_GROWSDOWN depending on architecture) when an access is made beyond
37719 the existing boundary. However, particularly if you have not limited
37720 your stack at all ("ulimit -s unlimited"), this can cause the stack to
37721 grow even if the access was really just one past *another* segment.
37722
37723 And that's wrong, especially since we first grow the segment, but then
37724 immediately later enforce the stack guard page on the last page of the
37725 segment. So _despite_ first growing the stack segment as a result of
37726 the access, the kernel will then make the access cause a SIGSEGV anyway!
37727
37728 So do the same logic as the guard page check does, and consider an
37729 access to within one page of the next segment to be a bad access, rather
37730 than growing the stack to abut the next segment.
37731
37732 Reported-and-tested-by: Heiko Carstens <heiko.carstens@de.ibm.com>
37733 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
37734
37735 mm/mmap.c | 27 +++++++++++++++++++++++++++
37736 1 files changed, 27 insertions(+), 0 deletions(-)
37737
37738 commit 5596211af754867ca825f58e6e0300a8439950fe
37739 Author: H. Peter Anvin <hpa@linux.intel.com>
37740 Date: Wed Feb 27 12:46:40 2013 -0800
37741
37742 Upstream commit: 7c10093692ed2e6f318387d96b829320aa0ca64c
37743
37744 x86: Make sure we can boot in the case the BDA contains pure garbage
37745
37746 On non-BIOS platforms it is possible that the BIOS data area contains
37747 garbage instead of being zeroed or something equivalent (firmware
37748 people: we are talking of 1.5K here, so please do the sane thing.)
37749
37750 We need on the order of 20-30K of low memory in order to boot, which
37751 may grow up to < 64K in the future. We probably want to avoid the
37752 lowest of the low memory. At the same time, it seems extremely
37753 unlikely that a legitimate EBDA would ever reach down to the 128K
37754 (which would require it to be over half a megabyte in size.) Thus,
37755 pick 128K as the cutoff for "this is insane, ignore." We may still
37756 end up reserving a bunch of extra memory on the low megabyte, but that
37757 is not really a major issue these days. In the worst case we lose
37758 512K of RAM.
37759
37760 This code really should be merged with trim_bios_range() in
37761 arch/x86/kernel/setup.c, but that is a bigger patch for a later merge
37762 window.
37763
37764 Reported-by: Darren Hart <dvhart@linux.intel.com>
37765 Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
37766 Cc: Matt Fleming <matt.fleming@intel.com>
37767 Cc: <stable@vger.kernel.org>
37768 Link: http://lkml.kernel.org/n/tip-oebml055yyfm8yxmria09rja@git.kernel.org
37769
37770 arch/x86/kernel/head.c | 53 ++++++++++++++++++++++++++++++-----------------
37771 1 files changed, 34 insertions(+), 19 deletions(-)
37772
37773 commit 10eb1dabfb743fb22dcbcf186bb8d2192d2d55ea
37774 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
37775 Date: Wed Feb 27 17:05:46 2013 -0800
37776
37777 Upstream commit: 940da353a83e895ea600cb8ab17dceefb1bcb469
37778
37779 memstick: move the dereference below the NULL test
37780
37781 The dereference should be moved below the NULL test.
37782
37783 spatch with a semantic match is used to found this.
37784 (http://coccinelle.lip6.fr/)
37785
37786 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
37787 Cc: Maxim Levitsky <maximlevitsky@gmail.com>
37788 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
37789 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
37790
37791 drivers/memstick/host/r592.c | 3 ++-
37792 1 files changed, 2 insertions(+), 1 deletions(-)
37793
37794 commit 1a63cb1ca50a10748cbf766894ecedf34a89baa3
37795 Author: Xi Wang <xi.wang@gmail.com>
37796 Date: Wed Feb 27 17:05:21 2013 -0800
37797
37798 Upstream commit: df1778be1a33edffa51d094eeda87c858ded6560
37799
37800 sysctl: fix null checking in bin_dn_node_address()
37801
37802 The null check of `strchr() + 1' is broken, which is always non-null,
37803 leading to OOB read. Instead, check the result of strchr().
37804
37805 Signed-off-by: Xi Wang <xi.wang@gmail.com>
37806 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
37807 Cc: <stable@vger.kernel.org>
37808 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
37809 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
37810
37811 kernel/sysctl_binary.c | 3 ++-
37812 1 files changed, 2 insertions(+), 1 deletions(-)
37813
37814 commit 7ca96db0817416fd40761e7437d1939fc0731380
37815 Author: Tejun Heo <tj@kernel.org>
37816 Date: Wed Feb 27 17:03:34 2013 -0800
37817
37818 Upstream commit: 6cdae7416a1c45c2ce105a78187d9b7e8feb9e24
37819
37820 idr: fix a subtle bug in idr_get_next()
37821
37822 The iteration logic of idr_get_next() is borrowed mostly verbatim from
37823 idr_for_each(). It walks down the tree looking for the slot matching
37824 the current ID. If the matching slot is not found, the ID is
37825 incremented by the distance of single slot at the given level and
37826 repeats.
37827
37828 The implementation assumes that during the whole iteration id is aligned
37829 to the layer boundaries of the level closest to the leaf, which is true
37830 for all iterations starting from zero or an existing element and thus is
37831 fine for idr_for_each().
37832
37833 However, idr_get_next() may be given any point and if the starting id
37834 hits in the middle of a non-existent layer, increment to the next layer
37835 will end up skipping the same offset into it. For example, an IDR with
37836 IDs filled between [64, 127] would look like the following.
37837
37838 [ 0 64 ... ]
37839 /----/ |
37840 | |
37841 NULL [ 64 ... 127 ]
37842
37843 If idr_get_next() is called with 63 as the starting point, it will try
37844 to follow down the pointer from 0. As it is NULL, it will then try to
37845 proceed to the next slot in the same level by adding the slot distance
37846 at that level which is 64 - making the next try 127. It goes around the
37847 loop and finds and returns 127 skipping [64, 126].
37848
37849 Note that this bug also triggers in idr_for_each_entry() loop which
37850 deletes during iteration as deletions can make layers go away leaving
37851 the iteration with unaligned ID into missing layers.
37852
37853 Fix it by ensuring proceeding to the next slot doesn't carry over the
37854 unaligned offset - ie. use round_up(id + 1, slot_distance) instead of
37855 id += slot_distance.
37856
37857 Signed-off-by: Tejun Heo <tj@kernel.org>
37858 Reported-by: David Teigland <teigland@redhat.com>
37859 Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
37860 Cc: <stable@vger.kernel.org>
37861 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
37862 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
37863
37864 lib/idr.c | 9 ++++++++-
37865 1 files changed, 8 insertions(+), 1 deletions(-)
37866
37867 commit 745362f28034f54242ba2e64eaa7374ab9869613
37868 Author: Brad Spengler <spender@grsecurity.net>
37869 Date: Fri Mar 1 20:31:42 2013 -0500
37870
37871 Fix dentry use-after-free after failed complete_walk() with RBAC enabled
37872 Many thanks to zakalwe from #grsecurity for the report and debugging help
37873
37874 fs/namei.c | 8 +++-----
37875 1 files changed, 3 insertions(+), 5 deletions(-)
37876
37877 commit b53b3b14330920c6f7cfb74c8508a3026e1be620
37878 Author: Brad Spengler <spender@grsecurity.net>
37879 Date: Thu Feb 28 18:29:26 2013 -0500
37880
37881 Fix bad git merge
37882
37883 fs/namespace.c | 8 --------
37884 1 files changed, 0 insertions(+), 8 deletions(-)
37885
37886 commit 71886f69ea10fa22e593dba1bdbe5c0334c6fede
37887 Merge: 1cce1dd ab30472
37888 Author: Brad Spengler <spender@grsecurity.net>
37889 Date: Thu Feb 28 17:45:14 2013 -0500
37890
37891 Merge branch 'pax-test' into grsec-test
37892
37893 Conflicts:
37894 net/core/sock_diag.c
37895
37896 commit ab3047280e1dfb43f1b301a296123757b4ac4f6e
37897 Merge: 4b61d21 4c91a0e
37898 Author: Brad Spengler <spender@grsecurity.net>
37899 Date: Thu Feb 28 17:43:56 2013 -0500
37900
37901 Merge branch 'linux-3.8.y' into pax-test
37902
37903 commit 1cce1ddd17c584c80465521834c3faf1a7c607d7
37904 Author: Brad Spengler <spender@grsecurity.net>
37905 Date: Wed Feb 27 22:20:22 2013 -0500
37906
37907 add compiler.h to sysrq.h to fix compilation problem reported by micu on forums
37908
37909 include/linux/sysrq.h | 1 +
37910 1 files changed, 1 insertions(+), 0 deletions(-)
37911
37912 commit 9f1e7fe130803fde83eb903b575335f59cd2bd18
37913 Author: Brad Spengler <spender@grsecurity.net>
37914 Date: Wed Feb 27 17:52:31 2013 -0500
37915
37916 declare check_syslog_permissions() earlier in file, fix bug in syslog_action_restricted() in upstream kernel
37917
37918 kernel/printk.c | 12 +++++++-----
37919 1 files changed, 7 insertions(+), 5 deletions(-)
37920
37921 commit 11dd499888fa76f3466821ce4daa5e0c55e43d39
37922 Author: Brad Spengler <spender@grsecurity.net>
37923 Date: Wed Feb 27 17:23:46 2013 -0500
37924
37925 Fix upstream vulnerability from addition of a /dev/kmsg device
37926 while neglecting to add the same set of existing permission checks
37927 from do_syslog. This bit both dmesg_restrict and GRKERNSEC_DMESG.
37928 A temporary workaround without this patch would be to
37929 chmod 0600 /dev/kmsg (and is likely a good idea anyway).
37930
37931 Notified in #grsecurity IRC by Jason A. Donenfeld and Petr Matousek
37932 Initially reported to Redhat bugzilla by Christian Kujau:
37933 https://bugzilla.redhat.com/show_bug.cgi?id=903192
37934
37935 kernel/printk.c | 4 ++++
37936 1 files changed, 4 insertions(+), 0 deletions(-)
37937
37938 commit 66c04806f5660988c3cb4855e60de294e77e3d0e
37939 Author: David Howells <dhowells@redhat.com>
37940 Date: Thu Feb 21 12:00:25 2013 +0000
37941
37942 Upstream commit: fe9453a1dcb5fb146f9653267e78f4a558066f6f
37943
37944 KEYS: Revert one application of "Fix unreachable code" patch
37945
37946 A patch to fix some unreachable code in search_my_process_keyrings() got
37947 applied twice by two different routes upstream as commits e67eab39bee2
37948 and b010520ab3d2 (both "fix unreachable code").
37949
37950 Unfortunately, the second application removed something it shouldn't
37951 have and this wasn't detected by GIT. This is due to the patch not
37952 having sufficient lines of context to distinguish the two places of
37953 application.
37954
37955 The effect of this is relatively minor: inside the kernel, the keyring
37956 search routines may search multiple keyrings and then prioritise the
37957 errors if no keys or negative keys are found in any of them. With the
37958 extra deletion, the presence of a negative key in the thread keyring
37959 (causing ENOKEY) is incorrectly overridden by an error searching the
37960 process keyring.
37961
37962 So revert the second application of the patch.
37963
37964 Signed-off-by: David Howells <dhowells@redhat.com>
37965 Cc: Jiri Kosina <jkosina@suse.cz>
37966 Cc: Andrew Morton <akpm@linux-foundation.org>
37967 Cc: stable@vger.kernel.org
37968 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
37969
37970 security/keys/process_keys.c | 2 ++
37971 1 files changed, 2 insertions(+), 0 deletions(-)
37972
37973 commit 954b0c8a95b08c09c3d15ec38106ce403bf714da
37974 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
37975 Date: Thu Feb 21 16:42:43 2013 -0800
37976
37977 Upstream commit: 49deb4bc227cb9db5b8ebf9434367f8bed057c7a
37978
37979 configfs: move the dereference below the NULL test
37980
37981 The dereference should be moved below the NULL test.
37982
37983 spatch with a semantic match is used to found this.
37984 (http://coccinelle.lip6.fr/)
37985
37986 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
37987 Cc: Joel Becker <jlbec@evilplan.org>
37988 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
37989 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
37990
37991 fs/configfs/dir.c | 5 +++--
37992 1 files changed, 3 insertions(+), 2 deletions(-)
37993
37994 commit d16d42c4fdc8baca5816d75b4a115102bf3d3423
37995 Author: Nicolas Pitre <nicolas.pitre@linaro.org>
37996 Date: Sun Feb 24 20:06:09 2013 -0500
37997
37998 Upstream commit: a883b70d8e0a88278c0a1f80753b4dc99962b541
37999
38000 tty vt: fix character insertion overflow
38001
38002 Commit 81732c3b2fed ("tty vt: Fix line garbage in virtual console on
38003 command line edition") broke insert_char() in multiple ways. Then
38004 commit b1a925f44a3a ("tty vt: Fix a regression in command line edition")
38005 partially fixed it. However, the buffer being moved is still too large
38006 and overflowing beyond the end of the current line, corrupting existing
38007 characters on the next line.
38008
38009 Example test case:
38010
38011 echo -e "abc\nde\x1b[A\x1b[4h \x1b[4l\x1b[B"
38012
38013 Expected result:
38014
38015 ab c
38016 de
38017
38018 Current result:
38019
38020 ab c
38021 e
38022
38023 Needless to say that this is very annoying when inserting words in the
38024 middle of paragraphs with certain text editors.
38025
38026 Signed-off-by: Nicolas Pitre <nico@linaro.org>
38027 Cc: Jean-François Moine <moinejf@free.fr>
38028 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
38029 Cc: <stable@vger.kernel.org>
38030 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
38031
38032 drivers/tty/vt/vt.c | 2 +-
38033 1 files changed, 1 insertions(+), 1 deletions(-)
38034
38035 commit 6cda35071669b4aabde081bd039e0ffea36f997a
38036 Author: Robin Holt <holt@sgi.com>
38037 Date: Fri Feb 22 16:35:34 2013 -0800
38038
38039 Upstream commit: 751efd8610d3d7d67b7bdf7f62646edea7365dd7
38040
38041 mmu_notifier_unregister NULL Pointer deref and multiple ->release() callouts
38042
38043 There is a race condition between mmu_notifier_unregister() and
38044 __mmu_notifier_release().
38045
38046 Assume two tasks, one calling mmu_notifier_unregister() as a result of a
38047 filp_close() ->flush() callout (task A), and the other calling
38048 mmu_notifier_release() from an mmput() (task B).
38049
38050 A B
38051 t1 srcu_read_lock()
38052 t2 if (!hlist_unhashed())
38053 t3 srcu_read_unlock()
38054 t4 srcu_read_lock()
38055 t5 hlist_del_init_rcu()
38056 t6 synchronize_srcu()
38057 t7 srcu_read_unlock()
38058 t8 hlist_del_rcu() <--- NULL pointer deref.
38059
38060 Additionally, the list traversal in __mmu_notifier_release() is not
38061 protected by the by the mmu_notifier_mm->hlist_lock which can result in
38062 callouts to the ->release() notifier from both mmu_notifier_unregister()
38063 and __mmu_notifier_release().
38064
38065 -stable suggestions:
38066
38067 The stable trees prior to 3.7.y need commits 21a92735f660 and
38068 70400303ce0c cherry-picked in that order prior to cherry-picking this
38069 commit. The 3.7.y tree already has those two commits.
38070
38071 Signed-off-by: Robin Holt <holt@sgi.com>
38072 Cc: Andrea Arcangeli <aarcange@redhat.com>
38073 Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
38074 Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
38075 Cc: Avi Kivity <avi@redhat.com>
38076 Cc: Hugh Dickins <hughd@google.com>
38077 Cc: Marcelo Tosatti <mtosatti@redhat.com>
38078 Cc: Sagi Grimberg <sagig@mellanox.co.il>
38079 Cc: Haggai Eran <haggaie@mellanox.com>
38080 Cc: <stable@vger.kernel.org>
38081 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
38082 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
38083
38084 mm/mmu_notifier.c | 82 +++++++++++++++++++++++++++--------------------------
38085 1 files changed, 42 insertions(+), 40 deletions(-)
38086
38087 commit bf5167ed78ba6131c6874887f714bda50c2cab83
38088 Author: Mike Galbraith <bitbucket@online.de>
38089 Date: Mon Jan 28 12:19:25 2013 +0100
38090
38091 Upstream commit: e0a79f529d5ba2507486d498b25da40911d95cf6
38092
38093 sched: Fix select_idle_sibling() bouncing cow syndrome
38094
38095 If the previous CPU is cache affine and idle, select it.
38096
38097 The current implementation simply traverses the sd_llc domain,
38098 taking the first idle CPU encountered, which walks buddy pairs
38099 hand in hand over the package, inflicting excruciating pain.
38100
38101 1 tbench pair (worst case) in a 10 core + SMT package:
38102
38103 pre 15.22 MB/sec 1 procs
38104 post 252.01 MB/sec 1 procs
38105
38106 Signed-off-by: Mike Galbraith <bitbucket@online.de>
38107 Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
38108 Link: http://lkml.kernel.org/r/1359371965.5783.127.camel@marge.simpson.net
38109 Signed-off-by: Ingo Molnar <mingo@kernel.org>
38110
38111 kernel/sched/fair.c | 21 +++++++--------------
38112 1 files changed, 7 insertions(+), 14 deletions(-)
38113
38114 commit cf7c2d257836fdcb5d51ad142cbc56ac12f7a37c
38115 Author: Eric W. Biederman <ebiederm@xmission.com>
38116 Date: Fri Dec 28 18:58:39 2012 -0800
38117
38118 Upstream commit: c61a2810a2161986353705b44d9503e6bb079f4f
38119
38120 userns: Avoid recursion in put_user_ns
38121
38122 When freeing a deeply nested user namespace free_user_ns calls
38123 put_user_ns on it's parent which may in turn call free_user_ns again.
38124 When -fno-optimize-sibling-calls is passed to gcc one stack frame per
38125 user namespace is left on the stack, potentially overflowing the
38126 kernel stack. CONFIG_FRAME_POINTER forces -fno-optimize-sibling-calls
38127 so we can't count on gcc to optimize this code.
38128
38129 Remove struct kref and use a plain atomic_t. Making the code more
38130 flexible and easier to comprehend. Make the loop in free_user_ns
38131 explict to guarantee that the stack does not overflow with
38132 CONFIG_FRAME_POINTER enabled.
38133
38134 I have tested this fix with a simple program that uses unshare to
38135 create a deeply nested user namespace structure and then calls exit.
38136 With 1000 nesteuser namespaces before this change running my test
38137 program causes the kernel to die a horrible death. With 10,000,000
38138 nested user namespaces after this change my test program runs to
38139 completion and causes no harm.
38140
38141 Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
38142 Pointed-out-by: Vasily Kulikov <segoon@openwall.com>
38143 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
38144
38145 include/linux/user_namespace.h | 10 +++++-----
38146 kernel/user.c | 4 +---
38147 kernel/user_namespace.c | 17 +++++++++--------
38148 3 files changed, 15 insertions(+), 16 deletions(-)
38149
38150 commit 81501c7106ccc186c94806f4db954626295b5ebe
38151 Author: Brad Spengler <spender@grsecurity.net>
38152 Date: Tue Feb 26 17:12:30 2013 -0500
38153
38154 Pass the same flags to kern_path_create as the original function
38155
38156 fs/namei.c | 4 ++--
38157 1 files changed, 2 insertions(+), 2 deletions(-)
38158
38159 commit a677c8eee35afe48868f92c7d6745bfe809cd481
38160 Author: Al Viro <viro@zeniv.linux.org.uk>
38161 Date: Fri Feb 22 22:45:42 2013 -0500
38162
38163 Upstream commit: 9b40bc90abd126bcc5da5658059b8e72e285e559
38164
38165 get rid of unprotected dereferencing of mnt->mnt_ns
38166
38167 It's safe only under namespace_sem or vfsmount_lock; all places
38168 in fs/namespace.c that want mnt->mnt_ns->user_ns actually want to use
38169 current->nsproxy->mnt_ns->user_ns (note the calls of check_mnt() in
38170 there).
38171
38172 Cc: stable@vger.kernel.org
38173 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
38174
38175 fs/namespace.c | 29 +++++++++++++++++------------
38176 1 files changed, 17 insertions(+), 12 deletions(-)
38177
38178 commit 89298124d0c96dc34a60377e7a1308f8f532ff75
38179 Author: Greg Thelen <gthelen@google.com>
38180 Date: Fri Feb 22 16:36:01 2013 -0800
38181
38182 Upstream fix: 5f00110f7273f9ff04ac69a5f85bb535a4fd0987
38183
38184 tmpfs: fix use-after-free of mempolicy object
38185
38186 The tmpfs remount logic preserves filesystem mempolicy if the mpol=M
38187 option is not specified in the remount request. A new policy can be
38188 specified if mpol=M is given.
38189
38190 Before this patch remounting an mpol bound tmpfs without specifying
38191 mpol= mount option in the remount request would set the filesystem's
38192 mempolicy object to a freed mempolicy object.
38193
38194 To reproduce the problem boot a DEBUG_PAGEALLOC kernel and run:
38195 # mkdir /tmp/x
38196
38197 # mount -t tmpfs -o size=100M,mpol=interleave nodev /tmp/x
38198
38199 # grep /tmp/x /proc/mounts
38200 nodev /tmp/x tmpfs rw,relatime,size=102400k,mpol=interleave:0-3 0 0
38201
38202 # mount -o remount,size=200M nodev /tmp/x
38203
38204 # grep /tmp/x /proc/mounts
38205 nodev /tmp/x tmpfs rw,relatime,size=204800k,mpol=??? 0 0
38206 # note ? garbage in mpol=... output above
38207
38208 # dd if=/dev/zero of=/tmp/x/f count=1
38209 # panic here
38210
38211 Panic:
38212 BUG: unable to handle kernel NULL pointer dereference at (null)
38213 IP: [< (null)>] (null)
38214 [...]
38215 Oops: 0010 [#1] SMP DEBUG_PAGEALLOC
38216 Call Trace:
38217 mpol_shared_policy_init+0xa5/0x160
38218 shmem_get_inode+0x209/0x270
38219 shmem_mknod+0x3e/0xf0
38220 shmem_create+0x18/0x20
38221 vfs_create+0xb5/0x130
38222 do_last+0x9a1/0xea0
38223 path_openat+0xb3/0x4d0
38224 do_filp_open+0x42/0xa0
38225 do_sys_open+0xfe/0x1e0
38226 compat_sys_open+0x1b/0x20
38227 cstar_dispatch+0x7/0x1f
38228
38229 Non-debug kernels will not crash immediately because referencing the
38230 dangling mpol will not cause a fault. Instead the filesystem will
38231 reference a freed mempolicy object, which will cause unpredictable
38232 behavior.
38233
38234 The problem boils down to a dropped mpol reference below if
38235 shmem_parse_options() does not allocate a new mpol:
38236
38237 config = *sbinfo
38238 shmem_parse_options(data, &config, true)
38239 mpol_put(sbinfo->mpol)
38240 sbinfo->mpol = config.mpol /* BUG: saves unreferenced mpol */
38241
38242 This patch avoids the crash by not releasing the mempolicy if
38243 shmem_parse_options() doesn't create a new mpol.
38244
38245 How far back does this issue go? I see it in both 2.6.36 and 3.3. I did
38246 not look back further.
38247
38248 Signed-off-by: Greg Thelen <gthelen@google.com>
38249 Acked-by: Hugh Dickins <hughd@google.com>
38250 Cc: <stable@vger.kernel.org>
38251 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
38252 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
38253
38254 mm/shmem.c | 10 ++++++++--
38255 1 files changed, 8 insertions(+), 2 deletions(-)
38256
38257 commit 614943c76d9e49f12f3e1154f1dea80dc4bb2743
38258 Author: Brad Spengler <spender@grsecurity.net>
38259 Date: Sat Feb 23 11:08:05 2013 -0500
38260
38261 Userland can send a netlink message requesting SOCK_DIAG_BY_FAMILY
38262 with a family greater or equal then AF_MAX -- the array size of
38263 sock_diag_handlers[]. The current code does not test for this
38264 condition therefore is vulnerable to an out-of-bound access opening
38265 doors for a privilege escalation.
38266
38267 Signed-off-by: Mathias Krause <minipli@googlemail.com>
38268
38269 The sock_diag_lock_handler() and sock_diag_unlock_handler() actually
38270 make the code less readable. Get rid of them and make the lock usage
38271 and access to sock_diag_handlers[] clear on the first sight.
38272
38273 Signed-off-by: Mathias Krause <minipli@googlemail.com>
38274
38275 net/core/sock_diag.c | 27 ++++++++++-----------------
38276 1 files changed, 10 insertions(+), 17 deletions(-)
38277
38278 commit e8d44970f8ac5ceda7b0e3f2c2ab33cefb800990
38279 Author: Brad Spengler <spender@grsecurity.net>
38280 Date: Sat Feb 23 10:58:52 2013 -0500
38281
38282 Fix compilation failure reported by Hinnerk van Bruinehsen when CPU_USE_DOMAINS is not defined
38283
38284 arch/arm/include/asm/domain.h | 1 +
38285 1 files changed, 1 insertions(+), 0 deletions(-)
38286
38287 commit 7b729586eb81f344fdedf0942fab0acc738a6725
38288 Author: Brad Spengler <spender@grsecurity.net>
38289 Date: Fri Feb 22 19:02:51 2013 -0500
38290
38291 Add back capability check for user namespaces. They have not seen enough proper review and needlessly exposes additional attack surface for all users.
38292
38293 kernel/fork.c | 17 +++++++++++++++++
38294 1 files changed, 17 insertions(+), 0 deletions(-)
38295
38296 commit fadc560d0c486af88da83177735f5515e88acdcc
38297 Author: Brad Spengler <spender@grsecurity.net>
38298 Date: Thu Feb 21 23:06:48 2013 -0500
38299
38300 put is_hugetlbfs_mnt inside ifdefs
38301
38302 grsecurity/gracl.c | 2 ++
38303 1 files changed, 2 insertions(+), 0 deletions(-)
38304
38305 commit 8252176922d405484f986eb2cc350b7cd3ae586e
38306 Author: Brad Spengler <spender@grsecurity.net>
38307 Date: Thu Feb 21 23:02:07 2013 -0500
38308
38309 remove unused label
38310
38311 kernel/module.c | 1 -
38312 1 files changed, 0 insertions(+), 1 deletions(-)
38313
38314 commit dad4a980f0b625059e215d13da728aa7fd02a374
38315 Author: Brad Spengler <spender@grsecurity.net>
38316 Date: Thu Feb 21 23:00:52 2013 -0500
38317
38318 compile fix
38319
38320 fs/open.c | 2 +-
38321 1 files changed, 1 insertions(+), 1 deletions(-)
38322
38323 commit 13e3266c41b98a40f3d8a4a7fb8ee5c0983156b7
38324 Author: Brad Spengler <spender@grsecurity.net>
38325 Date: Thu Feb 21 22:57:49 2013 -0500
38326
38327 remove kmalloc_array_error for the same reasons as kcalloc_error
38328
38329 include/linux/slab.h | 9 ---------
38330 1 files changed, 0 insertions(+), 9 deletions(-)
38331
38332 commit 0c24df0e81ae880c4523cc78ff91609b9aa6133a
38333 Author: Brad Spengler <spender@grsecurity.net>
38334 Date: Thu Feb 21 22:49:35 2013 -0500
38335
38336 Initial port of grsecurity for Linux 3.8
38337
38338 Documentation/kernel-parameters.txt | 4 +
38339 Makefile | 10 +-
38340 arch/alpha/include/asm/cache.h | 4 +-
38341 arch/alpha/kernel/osf_sys.c | 14 +-
38342 arch/arm/include/asm/cache.h | 2 +
38343 arch/arm/include/asm/thread_info.h | 9 +-
38344 arch/arm/kernel/process.c | 4 +-
38345 arch/arm/kernel/ptrace.c | 9 +
38346 arch/arm/kernel/traps.c | 7 +-
38347 arch/arm/mm/fault.c | 27 +-
38348 arch/arm/mm/mmap.c | 6 +-
38349 arch/avr32/include/asm/cache.h | 4 +-
38350 arch/blackfin/include/asm/cache.h | 3 +-
38351 arch/cris/include/arch-v10/arch/cache.h | 3 +-
38352 arch/cris/include/arch-v32/arch/cache.h | 3 +-
38353 arch/frv/include/asm/cache.h | 3 +-
38354 arch/frv/mm/elf-fdpic.c | 7 +-
38355 arch/hexagon/include/asm/cache.h | 6 +-
38356 arch/ia64/include/asm/cache.h | 3 +-
38357 arch/ia64/kernel/sys_ia64.c | 3 +-
38358 arch/ia64/mm/hugetlbpage.c | 3 +-
38359 arch/m32r/include/asm/cache.h | 4 +-
38360 arch/m68k/include/asm/cache.h | 4 +-
38361 arch/microblaze/include/asm/cache.h | 3 +-
38362 arch/mips/include/asm/cache.h | 3 +-
38363 arch/mips/include/asm/thread_info.h | 9 +-
38364 arch/mips/kernel/ptrace.c | 9 +
38365 arch/mips/kernel/scall32-o32.S | 2 +-
38366 arch/mips/kernel/scall64-64.S | 2 +-
38367 arch/mips/kernel/scall64-n32.S | 2 +-
38368 arch/mips/kernel/scall64-o32.S | 2 +-
38369 arch/mips/mm/mmap.c | 3 +-
38370 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
38371 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
38372 arch/openrisc/include/asm/cache.h | 4 +-
38373 arch/parisc/include/asm/cache.h | 5 +-
38374 arch/parisc/kernel/sys_parisc.c | 19 +-
38375 arch/powerpc/include/asm/cache.h | 3 +-
38376 arch/powerpc/include/asm/thread_info.h | 8 +-
38377 arch/powerpc/kernel/process.c | 10 +-
38378 arch/powerpc/kernel/ptrace.c | 14 +
38379 arch/powerpc/kernel/traps.c | 5 +
38380 arch/powerpc/mm/slice.c | 8 +-
38381 arch/s390/include/asm/cache.h | 4 +-
38382 arch/score/include/asm/cache.h | 4 +-
38383 arch/sh/include/asm/cache.h | 3 +-
38384 arch/sh/mm/mmap.c | 6 +-
38385 arch/sparc/include/asm/cache.h | 4 +-
38386 arch/sparc/include/asm/thread_info_64.h | 9 +-
38387 arch/sparc/kernel/process_32.c | 6 +-
38388 arch/sparc/kernel/process_64.c | 8 +-
38389 arch/sparc/kernel/ptrace_64.c | 14 +
38390 arch/sparc/kernel/sys_sparc_64.c | 6 +-
38391 arch/sparc/kernel/syscalls.S | 8 +-
38392 arch/sparc/kernel/traps_32.c | 8 +-
38393 arch/sparc/kernel/traps_64.c | 28 +-
38394 arch/sparc/kernel/unaligned_64.c | 2 +-
38395 arch/sparc/mm/fault_64.c | 2 +-
38396 arch/sparc/mm/hugetlbpage.c | 3 +-
38397 arch/tile/include/asm/cache.h | 3 +-
38398 arch/um/include/asm/cache.h | 3 +-
38399 arch/unicore32/include/asm/cache.h | 6 +-
38400 arch/x86/Kconfig | 5 +-
38401 arch/x86/Kconfig.debug | 2 +-
38402 arch/x86/ia32/ia32_aout.c | 2 +
38403 arch/x86/include/asm/thread_info.h | 8 +-
38404 arch/x86/kernel/dumpstack.c | 8 +
38405 arch/x86/kernel/entry_32.S | 2 +-
38406 arch/x86/kernel/entry_64.S | 2 +-
38407 arch/x86/kernel/ioport.c | 13 +
38408 arch/x86/kernel/ptrace.c | 14 +
38409 arch/x86/kernel/smpboot.c | 3 +
38410 arch/x86/kernel/sys_i386_32.c | 14 +-
38411 arch/x86/kernel/sys_x86_64.c | 3 +-
38412 arch/x86/kernel/verify_cpu.S | 1 +
38413 arch/x86/kernel/vm86_32.c | 16 +
38414 arch/x86/mm/fault.c | 12 +-
38415 arch/x86/mm/hugetlbpage.c | 3 +-
38416 arch/x86/mm/init.c | 66 +-
38417 arch/x86/net/bpf_jit_comp.c | 126 +-
38418 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
38419 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
38420 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
38421 crypto/ablkcipher.c | 12 +-
38422 crypto/aead.c | 9 +-
38423 crypto/ahash.c | 2 +-
38424 crypto/blkcipher.c | 6 +-
38425 crypto/crypto_user.c | 38 +-
38426 crypto/pcompress.c | 3 +-
38427 crypto/rng.c | 2 +-
38428 crypto/shash.c | 3 +-
38429 drivers/block/cciss.c | 2 +
38430 drivers/char/Kconfig | 4 +-
38431 drivers/char/genrtc.c | 1 +
38432 drivers/char/mem.c | 17 +
38433 drivers/char/random.c | 12 +
38434 drivers/gpu/drm/drm_info.c | 4 +
38435 drivers/hid/hid-wiimote-debug.c | 2 +-
38436 drivers/media/radio/radio-cadet.c | 2 +-
38437 drivers/message/fusion/mptbase.c | 5 +
38438 drivers/net/phy/mdio-bitbang.c | 1 +
38439 drivers/pci/proc.c | 9 +
38440 drivers/rtc/rtc-dev.c | 3 +
38441 drivers/tty/sysrq.c | 2 +-
38442 drivers/tty/vt/keyboard.c | 22 +-
38443 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++--------
38444 drivers/xen/xenfs/xenstored.c | 5 +
38445 fs/attr.c | 1 +
38446 fs/autofs4/waitq.c | 9 +
38447 fs/binfmt_aout.c | 7 +
38448 fs/binfmt_elf.c | 6 +
38449 fs/btrfs/inode.c | 10 +-
38450 fs/btrfs/ioctl.c | 6 +-
38451 fs/compat.c | 18 +
38452 fs/coredump.c | 10 +-
38453 fs/debugfs/inode.c | 4 +
38454 fs/exec.c | 155 +-
38455 fs/ext2/balloc.c | 4 +-
38456 fs/ext3/balloc.c | 4 +-
38457 fs/ext4/balloc.c | 4 +-
38458 fs/fcntl.c | 5 +
38459 fs/file.c | 4 +
38460 fs/filesystems.c | 5 +
38461 fs/fs_struct.c | 26 +-
38462 fs/hugetlbfs/inode.c | 5 +-
38463 fs/namei.c | 269 ++-
38464 fs/namespace.c | 24 +
38465 fs/open.c | 38 +
38466 fs/pipe.c | 2 +-
38467 fs/proc/Kconfig | 10 +-
38468 fs/proc/array.c | 59 +-
38469 fs/proc/base.c | 168 +-
38470 fs/proc/cmdline.c | 4 +
38471 fs/proc/devices.c | 4 +
38472 fs/proc/fd.c | 17 +-
38473 fs/proc/inode.c | 17 +
38474 fs/proc/internal.h | 3 +
38475 fs/proc/kcore.c | 3 +
38476 fs/proc/proc_net.c | 12 +
38477 fs/proc/proc_sysctl.c | 43 +-
38478 fs/proc/root.c | 8 +
38479 fs/proc/task_mmu.c | 75 +-
38480 fs/readdir.c | 19 +
38481 fs/select.c | 2 +
38482 fs/seq_file.c | 12 +-
38483 fs/stat.c | 19 +-
38484 fs/sysfs/dir.c | 12 +
38485 fs/utimes.c | 7 +
38486 fs/xattr.c | 19 +-
38487 grsecurity/Kconfig | 1021 +++++
38488 grsecurity/Makefile | 38 +
38489 grsecurity/gracl.c | 4017 ++++++++++++++++++++
38490 grsecurity/gracl_alloc.c | 105 +
38491 grsecurity/gracl_cap.c | 110 +
38492 grsecurity/gracl_fs.c | 431 +++
38493 grsecurity/gracl_ip.c | 384 ++
38494 grsecurity/gracl_learn.c | 207 +
38495 grsecurity/gracl_res.c | 68 +
38496 grsecurity/gracl_segv.c | 299 ++
38497 grsecurity/gracl_shm.c | 40 +
38498 grsecurity/grsec_chdir.c | 19 +
38499 grsecurity/grsec_chroot.c | 357 ++
38500 grsecurity/grsec_disabled.c | 434 +++
38501 grsecurity/grsec_exec.c | 174 +
38502 grsecurity/grsec_fifo.c | 24 +
38503 grsecurity/grsec_fork.c | 23 +
38504 grsecurity/grsec_init.c | 283 ++
38505 grsecurity/grsec_link.c | 58 +
38506 grsecurity/grsec_log.c | 329 ++
38507 grsecurity/grsec_mem.c | 40 +
38508 grsecurity/grsec_mount.c | 62 +
38509 grsecurity/grsec_pax.c | 36 +
38510 grsecurity/grsec_ptrace.c | 30 +
38511 grsecurity/grsec_sig.c | 222 ++
38512 grsecurity/grsec_sock.c | 244 ++
38513 grsecurity/grsec_sysctl.c | 469 +++
38514 grsecurity/grsec_time.c | 16 +
38515 grsecurity/grsec_tpe.c | 73 +
38516 grsecurity/grsum.c | 61 +
38517 include/linux/capability.h | 5 +
38518 include/linux/cred.h | 3 +
38519 include/linux/fs.h | 10 +
38520 include/linux/fsnotify.h | 6 +
38521 include/linux/gracl.h | 319 ++
38522 include/linux/gralloc.h | 9 +
38523 include/linux/grdefs.h | 140 +
38524 include/linux/grinternal.h | 215 ++
38525 include/linux/grmsg.h | 111 +
38526 include/linux/grsecurity.h | 257 ++
38527 include/linux/grsock.h | 19 +
38528 include/linux/kallsyms.h | 14 +-
38529 include/linux/kmod.h | 2 +
38530 include/linux/netfilter/xt_gradm.h | 9 +
38531 include/linux/printk.h | 3 +-
38532 include/linux/proc_fs.h | 12 +
38533 include/linux/sched.h | 66 +-
38534 include/linux/security.h | 1 +
38535 include/linux/seq_file.h | 3 +
38536 include/linux/shm.h | 4 +
38537 include/linux/sysctl.h | 2 +
38538 include/linux/thread_info.h | 2 +
38539 include/linux/vermagic.h | 9 +-
38540 include/trace/events/fs.h | 53 +
38541 include/uapi/linux/personality.h | 1 +
38542 init/Kconfig | 5 +-
38543 init/main.c | 14 +
38544 ipc/mqueue.c | 1 +
38545 ipc/shm.c | 28 +
38546 kernel/capability.c | 39 +-
38547 kernel/cgroup.c | 2 +-
38548 kernel/compat.c | 1 +
38549 kernel/configs.c | 11 +
38550 kernel/cred.c | 109 +-
38551 kernel/exit.c | 10 +-
38552 kernel/fork.c | 24 +-
38553 kernel/futex.c | 1 +
38554 kernel/kallsyms.c | 9 +
38555 kernel/kcmp.c | 4 +
38556 kernel/kmod.c | 71 +-
38557 kernel/kprobes.c | 4 +-
38558 kernel/ksysfs.c | 2 +
38559 kernel/lockdep_proc.c | 10 +-
38560 kernel/module.c | 80 +-
38561 kernel/panic.c | 4 +-
38562 kernel/pid.c | 19 +-
38563 kernel/posix-timers.c | 8 +
38564 kernel/printk.c | 5 +
38565 kernel/ptrace.c | 20 +-
38566 kernel/resource.c | 10 +
38567 kernel/sched/core.c | 6 +-
38568 kernel/signal.c | 37 +-
38569 kernel/sys.c | 38 +-
38570 kernel/sysctl.c | 39 +-
38571 kernel/taskstats.c | 6 +
38572 kernel/time.c | 5 +
38573 kernel/time/timekeeping.c | 3 +
38574 kernel/time/timer_list.c | 12 +
38575 kernel/time/timer_stats.c | 10 +-
38576 lib/Kconfig.debug | 5 +-
38577 lib/is_single_threaded.c | 3 +
38578 lib/vsprintf.c | 35 +-
38579 localversion-grsec | 1 +
38580 mm/Kconfig | 4 +-
38581 mm/filemap.c | 1 +
38582 mm/kmemleak.c | 4 +-
38583 mm/mempolicy.c | 12 +-
38584 mm/migrate.c | 3 +-
38585 mm/mlock.c | 3 +
38586 mm/mmap.c | 62 +-
38587 mm/mprotect.c | 8 +
38588 mm/page_alloc.c | 6 +
38589 mm/process_vm_access.c | 6 +
38590 mm/shmem.c | 2 +-
38591 mm/slab.c | 2 +-
38592 mm/slub.c | 14 +-
38593 mm/vmalloc.c | 4 +
38594 mm/vmstat.c | 18 +-
38595 net/core/dev.c | 9 +
38596 net/core/sock_diag.c | 7 +
38597 net/ipv4/inet_hashtables.c | 5 +
38598 net/ipv4/ip_sockglue.c | 3 +-
38599 net/ipv4/tcp_input.c | 4 +-
38600 net/ipv4/tcp_ipv4.c | 24 +-
38601 net/ipv4/tcp_minisocks.c | 9 +-
38602 net/ipv4/tcp_timer.c | 11 +
38603 net/ipv4/udp.c | 24 +
38604 net/ipv6/tcp_ipv6.c | 23 +-
38605 net/ipv6/udp.c | 7 +
38606 net/netfilter/Kconfig | 10 +
38607 net/netfilter/Makefile | 1 +
38608 net/netfilter/nf_conntrack_core.c | 8 +
38609 net/netfilter/xt_gradm.c | 51 +
38610 net/netrom/af_netrom.c | 2 +-
38611 net/phonet/af_phonet.c | 4 +-
38612 net/sctp/proc.c | 3 +-
38613 net/socket.c | 62 +-
38614 net/sysctl_net.c | 2 +-
38615 net/unix/af_unix.c | 19 +
38616 security/Kconfig | 320 ++-
38617 security/apparmor/lsm.c | 2 +-
38618 security/commoncap.c | 29 +
38619 security/min_addr.c | 2 +
38620 security/security.c | 2 -
38621 security/selinux/hooks.c | 2 -
38622 security/yama/Kconfig | 2 +-
38623 tools/gcc/Makefile | 2 +-
38624 286 files changed, 15083 insertions(+), 2067 deletions(-)
38625
38626 commit 4b61d2188de70da9dc9b3e67fc0565077370eb27
38627 Author: Brad Spengler <spender@grsecurity.net>
38628 Date: Wed Feb 20 21:00:42 2013 -0500
38629
38630 Initial import of pax-linux-3.8-test3.patch
38631
38632 Documentation/dontdiff | 43 +-
38633 Documentation/kernel-parameters.txt | 7 +
38634 Makefile | 97 +-
38635 arch/alpha/include/asm/atomic.h | 10 +
38636 arch/alpha/include/asm/elf.h | 7 +
38637 arch/alpha/include/asm/pgalloc.h | 6 +
38638 arch/alpha/include/asm/pgtable.h | 11 +
38639 arch/alpha/kernel/module.c | 2 +-
38640 arch/alpha/kernel/osf_sys.c | 10 +-
38641 arch/alpha/mm/fault.c | 141 +-
38642 arch/arm/Kconfig | 2 +-
38643 arch/arm/include/asm/atomic.h | 421 +++-
38644 arch/arm/include/asm/cache.h | 3 +-
38645 arch/arm/include/asm/cacheflush.h | 2 +-
38646 arch/arm/include/asm/checksum.h | 14 +-
38647 arch/arm/include/asm/cmpxchg.h | 2 +
38648 arch/arm/include/asm/delay.h | 8 +-
38649 arch/arm/include/asm/domain.h | 32 +-
38650 arch/arm/include/asm/elf.h | 13 +-
38651 arch/arm/include/asm/fncpy.h | 2 +
38652 arch/arm/include/asm/futex.h | 10 +
38653 arch/arm/include/asm/kmap_types.h | 2 +-
38654 arch/arm/include/asm/mach/dma.h | 2 +-
38655 arch/arm/include/asm/mach/map.h | 7 +-
38656 arch/arm/include/asm/outercache.h | 2 +-
38657 arch/arm/include/asm/page.h | 2 +-
38658 arch/arm/include/asm/pgalloc.h | 22 +-
38659 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
38660 arch/arm/include/asm/pgtable-2level.h | 1 +
38661 arch/arm/include/asm/pgtable-3level-hwdef.h | 4 +
38662 arch/arm/include/asm/pgtable-3level.h | 2 +
38663 arch/arm/include/asm/pgtable.h | 56 +-
38664 arch/arm/include/asm/proc-fns.h | 2 +-
38665 arch/arm/include/asm/processor.h | 5 +-
38666 arch/arm/include/asm/smp.h | 2 +-
38667 arch/arm/include/asm/thread_info.h | 6 +-
38668 arch/arm/include/asm/uaccess.h | 92 +-
38669 arch/arm/include/uapi/asm/ptrace.h | 2 +-
38670 arch/arm/kernel/armksyms.c | 4 +-
38671 arch/arm/kernel/entry-armv.S | 107 +-
38672 arch/arm/kernel/entry-common.S | 41 +-
38673 arch/arm/kernel/entry-header.S | 60 +
38674 arch/arm/kernel/fiq.c | 2 +
38675 arch/arm/kernel/head.S | 6 +-
38676 arch/arm/kernel/hw_breakpoint.c | 2 +-
38677 arch/arm/kernel/module.c | 29 +-
38678 arch/arm/kernel/perf_event_cpu.c | 2 +-
38679 arch/arm/kernel/process.c | 10 +-
38680 arch/arm/kernel/setup.c | 22 +-
38681 arch/arm/kernel/smp.c | 2 +-
38682 arch/arm/kernel/traps.c | 8 +-
38683 arch/arm/kernel/vmlinux.lds.S | 20 +-
38684 arch/arm/lib/clear_user.S | 6 +-
38685 arch/arm/lib/copy_from_user.S | 6 +-
38686 arch/arm/lib/copy_page.S | 1 +
38687 arch/arm/lib/copy_to_user.S | 6 +-
38688 arch/arm/lib/csumpartialcopyuser.S | 4 +-
38689 arch/arm/lib/delay.c | 14 +-
38690 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
38691 arch/arm/mach-kirkwood/common.c | 19 +-
38692 arch/arm/mach-omap2/board-n8x0.c | 2 +-
38693 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
38694 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
38695 arch/arm/mach-ux500/include/mach/setup.h | 7 -
38696 arch/arm/mm/Kconfig | 3 +-
38697 arch/arm/mm/fault.c | 78 +
38698 arch/arm/mm/fault.h | 12 +
38699 arch/arm/mm/init.c | 41 +
38700 arch/arm/mm/ioremap.c | 4 +-
38701 arch/arm/mm/mmap.c | 36 +-
38702 arch/arm/mm/mmu.c | 186 +-
38703 arch/arm/mm/proc-v7-2level.S | 3 +
38704 arch/arm/plat-omap/sram.c | 2 +
38705 arch/arm/plat-orion/include/plat/addr-map.h | 2 +-
38706 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
38707 arch/arm64/kernel/debug-monitors.c | 2 +-
38708 arch/arm64/kernel/hw_breakpoint.c | 2 +-
38709 arch/avr32/include/asm/elf.h | 8 +-
38710 arch/avr32/include/asm/kmap_types.h | 4 +-
38711 arch/avr32/mm/fault.c | 27 +
38712 arch/frv/include/asm/atomic.h | 10 +
38713 arch/frv/include/asm/kmap_types.h | 2 +-
38714 arch/frv/mm/elf-fdpic.c | 7 +-
38715 arch/ia64/include/asm/atomic.h | 10 +
38716 arch/ia64/include/asm/elf.h | 7 +
38717 arch/ia64/include/asm/pgalloc.h | 12 +
38718 arch/ia64/include/asm/pgtable.h | 13 +-
38719 arch/ia64/include/asm/spinlock.h | 2 +-
38720 arch/ia64/include/asm/uaccess.h | 28 +-
38721 arch/ia64/kernel/err_inject.c | 2 +-
38722 arch/ia64/kernel/mca.c | 2 +-
38723 arch/ia64/kernel/module.c | 48 +-
38724 arch/ia64/kernel/palinfo.c | 2 +-
38725 arch/ia64/kernel/salinfo.c | 2 +-
38726 arch/ia64/kernel/sys_ia64.c | 13 +-
38727 arch/ia64/kernel/topology.c | 2 +-
38728 arch/ia64/kernel/vmlinux.lds.S | 2 +-
38729 arch/ia64/mm/fault.c | 32 +-
38730 arch/ia64/mm/hugetlbpage.c | 2 +-
38731 arch/ia64/mm/init.c | 13 +
38732 arch/m32r/lib/usercopy.c | 6 +
38733 arch/mips/include/asm/atomic.h | 14 +
38734 arch/mips/include/asm/elf.h | 11 +-
38735 arch/mips/include/asm/exec.h | 2 +-
38736 arch/mips/include/asm/page.h | 2 +-
38737 arch/mips/include/asm/pgalloc.h | 5 +
38738 arch/mips/kernel/binfmt_elfn32.c | 7 +
38739 arch/mips/kernel/binfmt_elfo32.c | 7 +
38740 arch/mips/kernel/process.c | 12 -
38741 arch/mips/mm/fault.c | 17 +
38742 arch/mips/mm/mmap.c | 51 +-
38743 arch/parisc/include/asm/atomic.h | 10 +
38744 arch/parisc/include/asm/elf.h | 7 +
38745 arch/parisc/include/asm/pgalloc.h | 6 +
38746 arch/parisc/include/asm/pgtable.h | 11 +
38747 arch/parisc/include/asm/uaccess.h | 4 +-
38748 arch/parisc/kernel/module.c | 50 +-
38749 arch/parisc/kernel/sys_parisc.c | 6 +-
38750 arch/parisc/kernel/traps.c | 4 +-
38751 arch/parisc/mm/fault.c | 140 +-
38752 arch/powerpc/include/asm/atomic.h | 10 +
38753 arch/powerpc/include/asm/elf.h | 19 +-
38754 arch/powerpc/include/asm/exec.h | 2 +-
38755 arch/powerpc/include/asm/kmap_types.h | 2 +-
38756 arch/powerpc/include/asm/mman.h | 2 +-
38757 arch/powerpc/include/asm/page.h | 8 +-
38758 arch/powerpc/include/asm/page_64.h | 7 +-
38759 arch/powerpc/include/asm/pgalloc-64.h | 7 +
38760 arch/powerpc/include/asm/pgtable.h | 1 +
38761 arch/powerpc/include/asm/pte-hash32.h | 1 +
38762 arch/powerpc/include/asm/reg.h | 1 +
38763 arch/powerpc/include/asm/uaccess.h | 142 +-
38764 arch/powerpc/kernel/exceptions-64e.S | 4 +-
38765 arch/powerpc/kernel/exceptions-64s.S | 2 +-
38766 arch/powerpc/kernel/module_32.c | 13 +-
38767 arch/powerpc/kernel/process.c | 55 -
38768 arch/powerpc/kernel/signal_32.c | 2 +-
38769 arch/powerpc/kernel/signal_64.c | 2 +-
38770 arch/powerpc/kernel/sysfs.c | 2 +-
38771 arch/powerpc/kernel/vdso.c | 5 +-
38772 arch/powerpc/lib/usercopy_64.c | 18 -
38773 arch/powerpc/mm/fault.c | 54 +-
38774 arch/powerpc/mm/mmap_64.c | 16 +
38775 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
38776 arch/powerpc/mm/numa.c | 2 +-
38777 arch/powerpc/mm/slice.c | 23 +-
38778 arch/powerpc/platforms/powermac/smp.c | 2 +-
38779 arch/s390/include/asm/atomic.h | 10 +
38780 arch/s390/include/asm/elf.h | 13 +-
38781 arch/s390/include/asm/exec.h | 2 +-
38782 arch/s390/include/asm/uaccess.h | 15 +-
38783 arch/s390/kernel/module.c | 22 +-
38784 arch/s390/kernel/process.c | 36 -
38785 arch/s390/mm/mmap.c | 24 +
38786 arch/score/include/asm/exec.h | 2 +-
38787 arch/score/kernel/process.c | 5 -
38788 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
38789 arch/sh/mm/mmap.c | 22 +-
38790 arch/sparc/include/asm/atomic_64.h | 106 +-
38791 arch/sparc/include/asm/cache.h | 2 +-
38792 arch/sparc/include/asm/elf_32.h | 7 +
38793 arch/sparc/include/asm/elf_64.h | 7 +
38794 arch/sparc/include/asm/pgalloc_32.h | 1 +
38795 arch/sparc/include/asm/pgalloc_64.h | 1 +
38796 arch/sparc/include/asm/pgtable_32.h | 15 +-
38797 arch/sparc/include/asm/pgtsrmmu.h | 5 +
38798 arch/sparc/include/asm/spinlock_64.h | 35 +-
38799 arch/sparc/include/asm/thread_info_32.h | 2 +
38800 arch/sparc/include/asm/thread_info_64.h | 2 +
38801 arch/sparc/include/asm/uaccess.h | 8 +
38802 arch/sparc/include/asm/uaccess_32.h | 27 +-
38803 arch/sparc/include/asm/uaccess_64.h | 19 +-
38804 arch/sparc/kernel/Makefile | 2 +-
38805 arch/sparc/kernel/sys_sparc_32.c | 2 +-
38806 arch/sparc/kernel/sys_sparc_64.c | 48 +-
38807 arch/sparc/kernel/sysfs.c | 2 +-
38808 arch/sparc/kernel/traps_64.c | 13 +-
38809 arch/sparc/lib/Makefile | 2 +-
38810 arch/sparc/lib/atomic_64.S | 136 +-
38811 arch/sparc/lib/ksyms.c | 6 +
38812 arch/sparc/mm/Makefile | 2 +-
38813 arch/sparc/mm/fault_32.c | 292 ++
38814 arch/sparc/mm/fault_64.c | 486 +++
38815 arch/sparc/mm/hugetlbpage.c | 21 +-
38816 arch/tile/include/asm/atomic_64.h | 10 +
38817 arch/tile/include/asm/uaccess.h | 4 +-
38818 arch/um/Makefile | 4 +
38819 arch/um/include/asm/kmap_types.h | 2 +-
38820 arch/um/include/asm/page.h | 3 +
38821 arch/um/include/asm/pgtable-3level.h | 1 +
38822 arch/um/kernel/process.c | 16 -
38823 arch/x86/Kconfig | 10 +-
38824 arch/x86/Kconfig.cpu | 6 +-
38825 arch/x86/Kconfig.debug | 6 +-
38826 arch/x86/Makefile | 10 +
38827 arch/x86/boot/Makefile | 3 +
38828 arch/x86/boot/bitops.h | 4 +-
38829 arch/x86/boot/boot.h | 4 +-
38830 arch/x86/boot/compressed/Makefile | 3 +
38831 arch/x86/boot/compressed/eboot.c | 2 -
38832 arch/x86/boot/compressed/head_32.S | 7 +-
38833 arch/x86/boot/compressed/head_64.S | 4 +-
38834 arch/x86/boot/compressed/misc.c | 4 +-
38835 arch/x86/boot/cpucheck.c | 28 +-
38836 arch/x86/boot/header.S | 6 +-
38837 arch/x86/boot/memory.c | 2 +-
38838 arch/x86/boot/video-vesa.c | 1 +
38839 arch/x86/boot/video.c | 2 +-
38840 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
38841 arch/x86/crypto/aesni-intel_asm.S | 31 +
38842 arch/x86/crypto/blowfish-x86_64-asm_64.S | 8 +
38843 arch/x86/crypto/camellia-x86_64-asm_64.S | 8 +
38844 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 8 +
38845 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 8 +
38846 arch/x86/crypto/salsa20-x86_64-asm_64.S | 5 +
38847 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 8 +
38848 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 5 +
38849 arch/x86/crypto/sha1_ssse3_asm.S | 3 +
38850 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 8 +
38851 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 5 +
38852 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
38853 arch/x86/ia32/ia32_signal.c | 14 +-
38854 arch/x86/ia32/ia32entry.S | 141 +-
38855 arch/x86/ia32/sys_ia32.c | 12 +-
38856 arch/x86/include/asm/alternative-asm.h | 39 +
38857 arch/x86/include/asm/alternative.h | 4 +-
38858 arch/x86/include/asm/apic.h | 2 +-
38859 arch/x86/include/asm/apm.h | 4 +-
38860 arch/x86/include/asm/atomic.h | 307 ++-
38861 arch/x86/include/asm/atomic64_32.h | 100 +
38862 arch/x86/include/asm/atomic64_64.h | 202 ++-
38863 arch/x86/include/asm/bitops.h | 2 +-
38864 arch/x86/include/asm/boot.h | 7 +-
38865 arch/x86/include/asm/cache.h | 5 +-
38866 arch/x86/include/asm/cacheflush.h | 2 +-
38867 arch/x86/include/asm/checksum_32.h | 12 +-
38868 arch/x86/include/asm/cmpxchg.h | 35 +
38869 arch/x86/include/asm/cpufeature.h | 4 +-
38870 arch/x86/include/asm/desc.h | 65 +-
38871 arch/x86/include/asm/desc_defs.h | 6 +
38872 arch/x86/include/asm/elf.h | 31 +-
38873 arch/x86/include/asm/emergency-restart.h | 2 +-
38874 arch/x86/include/asm/fpu-internal.h | 6 +-
38875 arch/x86/include/asm/futex.h | 16 +-
38876 arch/x86/include/asm/hw_irq.h | 4 +-
38877 arch/x86/include/asm/io.h | 13 +-
38878 arch/x86/include/asm/irqflags.h | 5 +
38879 arch/x86/include/asm/kprobes.h | 9 +-
38880 arch/x86/include/asm/local.h | 142 +-
38881 arch/x86/include/asm/mman.h | 15 +
38882 arch/x86/include/asm/mmu.h | 16 +-
38883 arch/x86/include/asm/mmu_context.h | 76 +-
38884 arch/x86/include/asm/module.h | 17 +-
38885 arch/x86/include/asm/page_64_types.h | 2 +-
38886 arch/x86/include/asm/paravirt.h | 44 +-
38887 arch/x86/include/asm/paravirt_types.h | 17 +-
38888 arch/x86/include/asm/pgalloc.h | 23 +
38889 arch/x86/include/asm/pgtable-2level.h | 2 +
38890 arch/x86/include/asm/pgtable-3level.h | 4 +
38891 arch/x86/include/asm/pgtable.h | 110 +-
38892 arch/x86/include/asm/pgtable_32.h | 14 +-
38893 arch/x86/include/asm/pgtable_32_types.h | 15 +-
38894 arch/x86/include/asm/pgtable_64.h | 19 +-
38895 arch/x86/include/asm/pgtable_64_types.h | 5 +
38896 arch/x86/include/asm/pgtable_types.h | 36 +-
38897 arch/x86/include/asm/processor.h | 39 +-
38898 arch/x86/include/asm/ptrace.h | 26 +-
38899 arch/x86/include/asm/realmode.h | 4 +-
38900 arch/x86/include/asm/reboot.h | 10 +-
38901 arch/x86/include/asm/rwsem.h | 60 +-
38902 arch/x86/include/asm/segment.h | 24 +-
38903 arch/x86/include/asm/smp.h | 14 +-
38904 arch/x86/include/asm/spinlock.h | 36 +-
38905 arch/x86/include/asm/stackprotector.h | 4 +-
38906 arch/x86/include/asm/stacktrace.h | 32 +-
38907 arch/x86/include/asm/switch_to.h | 4 +-
38908 arch/x86/include/asm/thread_info.h | 83 +-
38909 arch/x86/include/asm/uaccess.h | 96 +-
38910 arch/x86/include/asm/uaccess_32.h | 106 +-
38911 arch/x86/include/asm/uaccess_64.h | 232 +-
38912 arch/x86/include/asm/word-at-a-time.h | 2 +-
38913 arch/x86/include/asm/x86_init.h | 10 +-
38914 arch/x86/include/asm/xsave.h | 10 +-
38915 arch/x86/include/uapi/asm/e820.h | 2 +-
38916 arch/x86/kernel/Makefile | 2 +-
38917 arch/x86/kernel/acpi/sleep.c | 4 +
38918 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
38919 arch/x86/kernel/alternative.c | 65 +-
38920 arch/x86/kernel/apic/apic.c | 6 +-
38921 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
38922 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
38923 arch/x86/kernel/apic/es7000_32.c | 5 +-
38924 arch/x86/kernel/apic/io_apic.c | 8 +-
38925 arch/x86/kernel/apic/numaq_32.c | 3 +-
38926 arch/x86/kernel/apic/probe_32.c | 2 +-
38927 arch/x86/kernel/apic/summit_32.c | 2 +-
38928 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
38929 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
38930 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
38931 arch/x86/kernel/apm_32.c | 19 +-
38932 arch/x86/kernel/asm-offsets.c | 20 +
38933 arch/x86/kernel/asm-offsets_64.c | 1 +
38934 arch/x86/kernel/cpu/Makefile | 4 -
38935 arch/x86/kernel/cpu/amd.c | 2 +-
38936 arch/x86/kernel/cpu/common.c | 75 +-
38937 arch/x86/kernel/cpu/intel.c | 2 +-
38938 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
38939 arch/x86/kernel/cpu/mcheck/mce.c | 29 +-
38940 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
38941 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
38942 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
38943 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
38944 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
38945 arch/x86/kernel/cpu/perf_event.c | 4 +-
38946 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
38947 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
38948 arch/x86/kernel/cpuid.c | 2 +-
38949 arch/x86/kernel/crash.c | 4 +-
38950 arch/x86/kernel/doublefault_32.c | 8 +-
38951 arch/x86/kernel/dumpstack.c | 30 +-
38952 arch/x86/kernel/dumpstack_32.c | 34 +-
38953 arch/x86/kernel/dumpstack_64.c | 63 +-
38954 arch/x86/kernel/early_printk.c | 1 +
38955 arch/x86/kernel/entry_32.S | 354 ++-
38956 arch/x86/kernel/entry_64.S | 512 +++-
38957 arch/x86/kernel/ftrace.c | 14 +-
38958 arch/x86/kernel/head32.c | 4 +-
38959 arch/x86/kernel/head_32.S | 237 ++-
38960 arch/x86/kernel/head_64.S | 158 +-
38961 arch/x86/kernel/i386_ksyms_32.c | 8 +
38962 arch/x86/kernel/i387.c | 2 +-
38963 arch/x86/kernel/i8259.c | 2 +-
38964 arch/x86/kernel/ioport.c | 2 +-
38965 arch/x86/kernel/irq.c | 10 +-
38966 arch/x86/kernel/irq_32.c | 69 +-
38967 arch/x86/kernel/irq_64.c | 2 +-
38968 arch/x86/kernel/kdebugfs.c | 2 +-
38969 arch/x86/kernel/kgdb.c | 25 +-
38970 arch/x86/kernel/kprobes-opt.c | 12 +-
38971 arch/x86/kernel/kprobes.c | 30 +-
38972 arch/x86/kernel/kvm.c | 2 +-
38973 arch/x86/kernel/ldt.c | 31 +-
38974 arch/x86/kernel/machine_kexec_32.c | 6 +-
38975 arch/x86/kernel/microcode_core.c | 2 +-
38976 arch/x86/kernel/microcode_intel.c | 4 +-
38977 arch/x86/kernel/module.c | 76 +-
38978 arch/x86/kernel/msr.c | 2 +-
38979 arch/x86/kernel/nmi.c | 11 +
38980 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
38981 arch/x86/kernel/paravirt.c | 43 +-
38982 arch/x86/kernel/pci-iommu_table.c | 2 +-
38983 arch/x86/kernel/process.c | 57 +-
38984 arch/x86/kernel/process_32.c | 29 +-
38985 arch/x86/kernel/process_64.c | 15 +-
38986 arch/x86/kernel/ptrace.c | 25 +-
38987 arch/x86/kernel/pvclock.c | 8 +-
38988 arch/x86/kernel/reboot.c | 44 +-
38989 arch/x86/kernel/relocate_kernel_64.S | 4 +-
38990 arch/x86/kernel/setup.c | 14 +-
38991 arch/x86/kernel/setup_percpu.c | 27 +-
38992 arch/x86/kernel/signal.c | 15 +-
38993 arch/x86/kernel/smp.c | 2 +-
38994 arch/x86/kernel/smpboot.c | 15 +-
38995 arch/x86/kernel/step.c | 10 +-
38996 arch/x86/kernel/sys_i386_32.c | 247 ++
38997 arch/x86/kernel/sys_x86_64.c | 19 +-
38998 arch/x86/kernel/tboot.c | 14 +-
38999 arch/x86/kernel/time.c | 10 +-
39000 arch/x86/kernel/tls.c | 7 +-
39001 arch/x86/kernel/traps.c | 64 +-
39002 arch/x86/kernel/uprobes.c | 2 +-
39003 arch/x86/kernel/vm86_32.c | 6 +-
39004 arch/x86/kernel/vmlinux.lds.S | 148 +-
39005 arch/x86/kernel/vsyscall_64.c | 12 +-
39006 arch/x86/kernel/x8664_ksyms_64.c | 2 -
39007 arch/x86/kernel/x86_init.c | 8 +-
39008 arch/x86/kernel/xsave.c | 2 +
39009 arch/x86/kvm/cpuid.c | 21 +-
39010 arch/x86/kvm/emulate.c | 4 +-
39011 arch/x86/kvm/lapic.c | 2 +-
39012 arch/x86/kvm/paging_tmpl.h | 2 +-
39013 arch/x86/kvm/svm.c | 8 +
39014 arch/x86/kvm/vmx.c | 47 +-
39015 arch/x86/kvm/x86.c | 10 +-
39016 arch/x86/lguest/boot.c | 3 +-
39017 arch/x86/lib/atomic64_386_32.S | 164 +
39018 arch/x86/lib/atomic64_cx8_32.S | 103 +-
39019 arch/x86/lib/checksum_32.S | 100 +-
39020 arch/x86/lib/clear_page_64.S | 5 +-
39021 arch/x86/lib/cmpxchg16b_emu.S | 2 +
39022 arch/x86/lib/copy_page_64.S | 24 +-
39023 arch/x86/lib/copy_user_64.S | 47 +-
39024 arch/x86/lib/copy_user_nocache_64.S | 20 +-
39025 arch/x86/lib/csum-copy_64.S | 2 +
39026 arch/x86/lib/csum-wrappers_64.c | 4 +-
39027 arch/x86/lib/getuser.S | 68 +-
39028 arch/x86/lib/insn.c | 6 +-
39029 arch/x86/lib/iomap_copy_64.S | 2 +
39030 arch/x86/lib/memcpy_64.S | 18 +-
39031 arch/x86/lib/memmove_64.S | 34 +-
39032 arch/x86/lib/memset_64.S | 7 +-
39033 arch/x86/lib/mmx_32.c | 243 +-
39034 arch/x86/lib/msr-reg.S | 18 +-
39035 arch/x86/lib/putuser.S | 90 +-
39036 arch/x86/lib/rwlock.S | 42 +
39037 arch/x86/lib/rwsem.S | 6 +-
39038 arch/x86/lib/thunk_64.S | 2 +
39039 arch/x86/lib/usercopy_32.c | 376 ++-
39040 arch/x86/lib/usercopy_64.c | 25 +-
39041 arch/x86/mm/extable.c | 25 +-
39042 arch/x86/mm/fault.c | 555 +++-
39043 arch/x86/mm/gup.c | 2 +-
39044 arch/x86/mm/highmem_32.c | 4 +
39045 arch/x86/mm/hugetlbpage.c | 30 +-
39046 arch/x86/mm/init.c | 92 +-
39047 arch/x86/mm/init_32.c | 122 +-
39048 arch/x86/mm/init_64.c | 48 +-
39049 arch/x86/mm/iomap_32.c | 4 +
39050 arch/x86/mm/ioremap.c | 12 +-
39051 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
39052 arch/x86/mm/mmap.c | 41 +-
39053 arch/x86/mm/mmio-mod.c | 10 +-
39054 arch/x86/mm/pageattr-test.c | 2 +-
39055 arch/x86/mm/pageattr.c | 33 +-
39056 arch/x86/mm/pat.c | 12 +-
39057 arch/x86/mm/pf_in.c | 10 +-
39058 arch/x86/mm/pgtable.c | 137 +-
39059 arch/x86/mm/pgtable_32.c | 3 +
39060 arch/x86/mm/setup_nx.c | 7 +
39061 arch/x86/mm/tlb.c | 4 +
39062 arch/x86/net/bpf_jit.S | 14 +
39063 arch/x86/net/bpf_jit_comp.c | 37 +-
39064 arch/x86/oprofile/backtrace.c | 8 +-
39065 arch/x86/pci/amd_bus.c | 2 +-
39066 arch/x86/pci/mrst.c | 4 +-
39067 arch/x86/pci/pcbios.c | 144 +-
39068 arch/x86/platform/efi/efi_32.c | 19 +
39069 arch/x86/platform/efi/efi_stub_32.S | 64 +-
39070 arch/x86/platform/efi/efi_stub_64.S | 8 +
39071 arch/x86/platform/mrst/mrst.c | 6 +-
39072 arch/x86/platform/olpc/olpc_dt.c | 2 +-
39073 arch/x86/power/cpu.c | 4 +-
39074 arch/x86/realmode/init.c | 8 +-
39075 arch/x86/realmode/rm/Makefile | 3 +
39076 arch/x86/realmode/rm/header.S | 4 +-
39077 arch/x86/realmode/rm/trampoline_32.S | 12 +-
39078 arch/x86/realmode/rm/trampoline_64.S | 2 +-
39079 arch/x86/tools/relocs.c | 95 +-
39080 arch/x86/vdso/Makefile | 2 +-
39081 arch/x86/vdso/vdso32-setup.c | 23 +-
39082 arch/x86/vdso/vma.c | 29 +-
39083 arch/x86/xen/enlighten.c | 47 +-
39084 arch/x86/xen/mmu.c | 9 +
39085 arch/x86/xen/smp.c | 18 +-
39086 arch/x86/xen/xen-asm_32.S | 12 +-
39087 arch/x86/xen/xen-head.S | 11 +
39088 arch/x86/xen/xen-ops.h | 2 -
39089 block/blk-iopoll.c | 4 +-
39090 block/blk-map.c | 2 +-
39091 block/blk-softirq.c | 4 +-
39092 block/bsg.c | 12 +-
39093 block/compat_ioctl.c | 2 +-
39094 block/partitions/efi.c | 8 +-
39095 block/scsi_ioctl.c | 27 +-
39096 crypto/cryptd.c | 4 +-
39097 drivers/acpi/apei/cper.c | 8 +-
39098 drivers/acpi/ec_sys.c | 12 +-
39099 drivers/acpi/processor_driver.c | 2 +-
39100 drivers/ata/libata-core.c | 8 +-
39101 drivers/ata/pata_arasan_cf.c | 4 +-
39102 drivers/atm/adummy.c | 2 +-
39103 drivers/atm/ambassador.c | 8 +-
39104 drivers/atm/atmtcp.c | 14 +-
39105 drivers/atm/eni.c | 10 +-
39106 drivers/atm/firestream.c | 8 +-
39107 drivers/atm/fore200e.c | 14 +-
39108 drivers/atm/he.c | 18 +-
39109 drivers/atm/horizon.c | 4 +-
39110 drivers/atm/idt77252.c | 36 +-
39111 drivers/atm/iphase.c | 34 +-
39112 drivers/atm/lanai.c | 12 +-
39113 drivers/atm/nicstar.c | 46 +-
39114 drivers/atm/solos-pci.c | 4 +-
39115 drivers/atm/suni.c | 4 +-
39116 drivers/atm/uPD98402.c | 16 +-
39117 drivers/atm/zatm.c | 6 +-
39118 drivers/base/devtmpfs.c | 2 +-
39119 drivers/base/power/wakeup.c | 8 +-
39120 drivers/block/cciss.c | 28 +-
39121 drivers/block/cciss.h | 2 +-
39122 drivers/block/cpqarray.c | 28 +-
39123 drivers/block/cpqarray.h | 2 +-
39124 drivers/block/drbd/drbd_int.h | 6 +-
39125 drivers/block/drbd/drbd_main.c | 8 +-
39126 drivers/block/drbd/drbd_receiver.c | 18 +-
39127 drivers/block/loop.c | 2 +-
39128 drivers/cdrom/cdrom.c | 9 +-
39129 drivers/cdrom/gdrom.c | 1 -
39130 drivers/char/agp/frontend.c | 2 +-
39131 drivers/char/hpet.c | 2 +-
39132 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
39133 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
39134 drivers/char/mem.c | 41 +-
39135 drivers/char/nvram.c | 2 +-
39136 drivers/char/pcmcia/synclink_cs.c | 18 +-
39137 drivers/char/random.c | 8 +-
39138 drivers/char/sonypi.c | 9 +-
39139 drivers/char/tpm/tpm.c | 2 +-
39140 drivers/char/tpm/tpm_acpi.c | 3 +-
39141 drivers/char/tpm/tpm_eventlog.c | 7 +-
39142 drivers/char/virtio_console.c | 4 +-
39143 drivers/clocksource/arm_generic.c | 2 +-
39144 drivers/cpufreq/cpufreq.c | 2 +-
39145 drivers/cpufreq/cpufreq_stats.c | 2 +-
39146 drivers/dma/sh/shdma.c | 2 +-
39147 drivers/edac/edac_pci_sysfs.c | 20 +-
39148 drivers/edac/mce_amd.h | 2 +-
39149 drivers/firewire/core-card.c | 2 +-
39150 drivers/firewire/core-cdev.c | 3 +-
39151 drivers/firewire/core-transaction.c | 1 +
39152 drivers/firewire/core.h | 1 +
39153 drivers/firmware/dmi_scan.c | 7 +-
39154 drivers/firmware/efivars.c | 2 +-
39155 drivers/gpio/gpio-vr41xx.c | 2 +-
39156 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
39157 drivers/gpu/drm/drm_drv.c | 4 +-
39158 drivers/gpu/drm/drm_fops.c | 18 +-
39159 drivers/gpu/drm/drm_global.c | 14 +-
39160 drivers/gpu/drm/drm_info.c | 14 +-
39161 drivers/gpu/drm/drm_ioc32.c | 4 +-
39162 drivers/gpu/drm/drm_ioctl.c | 2 +-
39163 drivers/gpu/drm/drm_lock.c | 4 +-
39164 drivers/gpu/drm/drm_stub.c | 2 +-
39165 drivers/gpu/drm/i810/i810_dma.c | 8 +-
39166 drivers/gpu/drm/i810/i810_drv.h | 4 +-
39167 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
39168 drivers/gpu/drm/i915/i915_dma.c | 2 +-
39169 drivers/gpu/drm/i915/i915_drv.h | 6 +-
39170 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +-
39171 drivers/gpu/drm/i915/i915_irq.c | 22 +-
39172 drivers/gpu/drm/i915/intel_display.c | 9 +-
39173 drivers/gpu/drm/mga/mga_drv.h | 4 +-
39174 drivers/gpu/drm/mga/mga_irq.c | 8 +-
39175 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
39176 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
39177 drivers/gpu/drm/nouveau/nouveau_fence.h | 2 +-
39178 drivers/gpu/drm/nouveau/nouveau_gem.c | 2 +-
39179 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
39180 drivers/gpu/drm/r128/r128_cce.c | 2 +-
39181 drivers/gpu/drm/r128/r128_drv.h | 4 +-
39182 drivers/gpu/drm/r128/r128_irq.c | 4 +-
39183 drivers/gpu/drm/r128/r128_state.c | 4 +-
39184 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
39185 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
39186 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
39187 drivers/gpu/drm/radeon/radeon_ioc32.c | 2 +-
39188 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
39189 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
39190 drivers/gpu/drm/radeon/radeon_ttm.c | 4 +-
39191 drivers/gpu/drm/radeon/rs690.c | 4 +-
39192 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
39193 drivers/gpu/drm/via/via_drv.h | 4 +-
39194 drivers/gpu/drm/via/via_irq.c | 18 +-
39195 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
39196 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
39197 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
39198 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
39199 drivers/hid/hid-core.c | 4 +-
39200 drivers/hv/channel.c | 4 +-
39201 drivers/hv/hv.c | 2 +-
39202 drivers/hv/hyperv_vmbus.h | 2 +-
39203 drivers/hv/vmbus_drv.c | 4 +-
39204 drivers/hwmon/coretemp.c | 2 +-
39205 drivers/hwmon/sht15.c | 12 +-
39206 drivers/hwmon/via-cputemp.c | 2 +-
39207 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
39208 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
39209 drivers/ide/ide-cd.c | 2 +-
39210 drivers/infiniband/core/cm.c | 32 +-
39211 drivers/infiniband/core/fmr_pool.c | 20 +-
39212 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
39213 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
39214 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
39215 drivers/infiniband/hw/nes/nes.c | 4 +-
39216 drivers/infiniband/hw/nes/nes.h | 40 +-
39217 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
39218 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
39219 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
39220 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
39221 drivers/infiniband/hw/qib/qib.h | 1 +
39222 drivers/input/gameport/gameport.c | 4 +-
39223 drivers/input/input.c | 4 +-
39224 drivers/input/joystick/sidewinder.c | 1 +
39225 drivers/input/joystick/xpad.c | 4 +-
39226 drivers/input/mousedev.c | 2 +-
39227 drivers/input/serio/serio.c | 4 +-
39228 drivers/isdn/capi/capi.c | 10 +-
39229 drivers/isdn/gigaset/interface.c | 8 +-
39230 drivers/isdn/hardware/avm/b1.c | 4 +-
39231 drivers/isdn/i4l/isdn_tty.c | 22 +-
39232 drivers/isdn/icn/icn.c | 2 +-
39233 drivers/lguest/core.c | 10 +-
39234 drivers/lguest/x86/core.c | 12 +-
39235 drivers/lguest/x86/switcher_32.S | 27 +-
39236 drivers/md/bitmap.c | 2 +-
39237 drivers/md/dm-ioctl.c | 2 +-
39238 drivers/md/dm-raid1.c | 16 +-
39239 drivers/md/dm-stripe.c | 10 +-
39240 drivers/md/dm-table.c | 2 +-
39241 drivers/md/dm-thin-metadata.c | 4 +-
39242 drivers/md/dm.c | 16 +-
39243 drivers/md/md.c | 26 +-
39244 drivers/md/md.h | 6 +-
39245 drivers/md/persistent-data/dm-space-map.h | 1 +
39246 drivers/md/raid1.c | 4 +-
39247 drivers/md/raid10.c | 16 +-
39248 drivers/md/raid5.c | 10 +-
39249 drivers/media/dvb-core/dvbdev.c | 2 +-
39250 drivers/media/dvb-frontends/dib3000.h | 2 +-
39251 drivers/media/platform/omap/omap_vout.c | 11 +-
39252 drivers/media/platform/s5p-tv/mixer.h | 2 +-
39253 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
39254 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
39255 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
39256 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
39257 drivers/media/radio/radio-cadet.c | 2 +
39258 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
39259 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
39260 drivers/message/fusion/mptsas.c | 34 +-
39261 drivers/message/fusion/mptscsih.c | 19 +-
39262 drivers/message/i2o/i2o_proc.c | 51 +-
39263 drivers/message/i2o/iop.c | 8 +-
39264 drivers/mfd/janz-cmodio.c | 1 +
39265 drivers/misc/kgdbts.c | 4 +-
39266 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
39267 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
39268 drivers/misc/sgi-gru/gruhandles.c | 4 +-
39269 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
39270 drivers/misc/sgi-gru/grutables.h | 154 +-
39271 drivers/misc/sgi-xp/xp.h | 2 +-
39272 drivers/misc/sgi-xp/xpc.h | 3 +-
39273 drivers/misc/sgi-xp/xpc_main.c | 4 +-
39274 drivers/mmc/core/mmc_ops.c | 2 +-
39275 drivers/mmc/host/dw_mmc.h | 2 +-
39276 drivers/mmc/host/sdhci-s3c.c | 8 +-
39277 drivers/mtd/devices/doc2000.c | 2 +-
39278 drivers/mtd/nand/denali.c | 1 +
39279 drivers/mtd/nftlmount.c | 1 +
39280 drivers/net/ethernet/8390/ax88796.c | 4 +-
39281 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
39282 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
39283 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
39284 drivers/net/ethernet/broadcom/tg3.h | 1 +
39285 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
39286 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
39287 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
39288 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
39289 drivers/net/ethernet/faraday/ftmac100.c | 2 +
39290 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
39291 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
39292 drivers/net/ethernet/realtek/r8169.c | 8 +-
39293 drivers/net/ethernet/sfc/ptp.c | 2 +-
39294 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
39295 drivers/net/hyperv/hyperv_net.h | 2 +-
39296 drivers/net/hyperv/rndis_filter.c | 4 +-
39297 drivers/net/ieee802154/fakehard.c | 2 +-
39298 drivers/net/macvlan.c | 2 +-
39299 drivers/net/macvtap.c | 2 +-
39300 drivers/net/ppp/ppp_generic.c | 4 +-
39301 drivers/net/team/team.c | 2 +-
39302 drivers/net/tun.c | 5 +-
39303 drivers/net/usb/hso.c | 23 +-
39304 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
39305 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
39306 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
39307 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
39308 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
39309 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
39310 drivers/net/wireless/mac80211_hwsim.c | 32 +-
39311 drivers/net/wireless/rndis_wlan.c | 2 +-
39312 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
39313 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
39314 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
39315 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
39316 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
39317 drivers/oprofile/buffer_sync.c | 8 +-
39318 drivers/oprofile/event_buffer.c | 2 +-
39319 drivers/oprofile/oprof.c | 2 +-
39320 drivers/oprofile/oprofile_stats.c | 10 +-
39321 drivers/oprofile/oprofile_stats.h | 10 +-
39322 drivers/oprofile/oprofilefs.c | 2 +-
39323 drivers/oprofile/timer_int.c | 2 +-
39324 drivers/parport/procfs.c | 4 +-
39325 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
39326 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
39327 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
39328 drivers/pci/pcie/aspm.c | 6 +-
39329 drivers/pci/probe.c | 2 +-
39330 drivers/platform/x86/thinkpad_acpi.c | 70 +-
39331 drivers/pnp/pnpbios/bioscalls.c | 14 +-
39332 drivers/pnp/resource.c | 4 +-
39333 drivers/power/pda_power.c | 7 +-
39334 drivers/regulator/max8660.c | 6 +-
39335 drivers/regulator/max8973-regulator.c | 8 +-
39336 drivers/regulator/mc13892-regulator.c | 6 +-
39337 drivers/scsi/bfa/bfa.h | 2 +-
39338 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
39339 drivers/scsi/bfa/bfa_ioc.h | 4 +-
39340 drivers/scsi/hosts.c | 4 +-
39341 drivers/scsi/hpsa.c | 30 +-
39342 drivers/scsi/hpsa.h | 2 +-
39343 drivers/scsi/libfc/fc_exch.c | 50 +-
39344 drivers/scsi/libsas/sas_ata.c | 2 +-
39345 drivers/scsi/lpfc/lpfc.h | 8 +-
39346 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
39347 drivers/scsi/lpfc/lpfc_init.c | 6 +-
39348 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
39349 drivers/scsi/pmcraid.c | 20 +-
39350 drivers/scsi/pmcraid.h | 8 +-
39351 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
39352 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
39353 drivers/scsi/qla2xxx/qla_os.c | 6 +-
39354 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
39355 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
39356 drivers/scsi/scsi.c | 2 +-
39357 drivers/scsi/scsi_lib.c | 6 +-
39358 drivers/scsi/scsi_sysfs.c | 2 +-
39359 drivers/scsi/scsi_tgt_lib.c | 2 +-
39360 drivers/scsi/scsi_transport_fc.c | 8 +-
39361 drivers/scsi/scsi_transport_iscsi.c | 6 +-
39362 drivers/scsi/scsi_transport_srp.c | 6 +-
39363 drivers/scsi/sd.c | 2 +-
39364 drivers/scsi/sg.c | 2 +-
39365 drivers/spi/spi.c | 2 +-
39366 drivers/staging/octeon/ethernet-rx.c | 12 +-
39367 drivers/staging/octeon/ethernet.c | 8 +-
39368 drivers/staging/ramster/tmem.c | 54 +-
39369 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
39370 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
39371 drivers/staging/usbip/vhci.h | 2 +-
39372 drivers/staging/usbip/vhci_hcd.c | 6 +-
39373 drivers/staging/usbip/vhci_rx.c | 2 +-
39374 drivers/staging/vt6655/hostap.c | 7 +-
39375 drivers/staging/vt6656/hostap.c | 7 +-
39376 drivers/staging/zcache/tmem.c | 4 +-
39377 drivers/staging/zcache/tmem.h | 2 +
39378 drivers/target/target_core_device.c | 2 +-
39379 drivers/target/target_core_transport.c | 2 +-
39380 drivers/tty/cyclades.c | 6 +-
39381 drivers/tty/hvc/hvc_console.c | 14 +-
39382 drivers/tty/hvc/hvcs.c | 21 +-
39383 drivers/tty/ipwireless/tty.c | 27 +-
39384 drivers/tty/moxa.c | 2 +-
39385 drivers/tty/n_gsm.c | 4 +-
39386 drivers/tty/n_tty.c | 3 +-
39387 drivers/tty/pty.c | 4 +-
39388 drivers/tty/rocket.c | 6 +-
39389 drivers/tty/serial/kgdboc.c | 32 +-
39390 drivers/tty/serial/samsung.c | 9 +-
39391 drivers/tty/serial/serial_core.c | 8 +-
39392 drivers/tty/synclink.c | 34 +-
39393 drivers/tty/synclink_gt.c | 28 +-
39394 drivers/tty/synclinkmp.c | 34 +-
39395 drivers/tty/tty_io.c | 2 +-
39396 drivers/tty/tty_ldisc.c | 10 +-
39397 drivers/tty/tty_port.c | 22 +-
39398 drivers/uio/uio.c | 21 +-
39399 drivers/usb/atm/cxacru.c | 2 +-
39400 drivers/usb/atm/usbatm.c | 24 +-
39401 drivers/usb/core/devices.c | 6 +-
39402 drivers/usb/core/hcd.c | 4 +-
39403 drivers/usb/core/sysfs.c | 2 +-
39404 drivers/usb/core/usb.c | 2 +-
39405 drivers/usb/early/ehci-dbgp.c | 16 +-
39406 drivers/usb/gadget/u_serial.c | 22 +-
39407 drivers/usb/serial/console.c | 6 +-
39408 drivers/usb/wusbcore/wa-hc.h | 4 +-
39409 drivers/usb/wusbcore/wa-xfer.c | 2 +-
39410 drivers/video/aty/aty128fb.c | 2 +-
39411 drivers/video/fbcmap.c | 3 +-
39412 drivers/video/fbmem.c | 6 +-
39413 drivers/video/i810/i810_accel.c | 1 +
39414 drivers/video/udlfb.c | 32 +-
39415 drivers/video/uvesafb.c | 39 +-
39416 drivers/video/vesafb.c | 51 +-
39417 drivers/video/via/via_clock.h | 2 +-
39418 fs/9p/vfs_inode.c | 2 +-
39419 fs/Kconfig.binfmt | 2 +-
39420 fs/aio.c | 11 +-
39421 fs/autofs4/waitq.c | 2 +-
39422 fs/befs/linuxvfs.c | 2 +-
39423 fs/binfmt_aout.c | 23 +-
39424 fs/binfmt_elf.c | 604 ++++-
39425 fs/binfmt_flat.c | 6 +
39426 fs/bio.c | 6 +-
39427 fs/block_dev.c | 2 +-
39428 fs/btrfs/ctree.c | 9 +-
39429 fs/btrfs/relocation.c | 2 +-
39430 fs/btrfs/super.c | 2 +-
39431 fs/cachefiles/bind.c | 6 +-
39432 fs/cachefiles/daemon.c | 8 +-
39433 fs/cachefiles/internal.h | 12 +-
39434 fs/cachefiles/namei.c | 2 +-
39435 fs/cachefiles/proc.c | 12 +-
39436 fs/cachefiles/rdwr.c | 2 +-
39437 fs/ceph/dir.c | 2 +-
39438 fs/cifs/cifs_debug.c | 12 +-
39439 fs/cifs/cifsfs.c | 8 +-
39440 fs/cifs/cifsglob.h | 54 +-
39441 fs/cifs/link.c | 2 +-
39442 fs/cifs/misc.c | 4 +-
39443 fs/cifs/smb1ops.c | 80 +-
39444 fs/cifs/smb2ops.c | 84 +-
39445 fs/cifs/smb2pdu.c | 3 +-
39446 fs/coda/cache.c | 10 +-
39447 fs/compat.c | 6 +-
39448 fs/compat_binfmt_elf.c | 2 +
39449 fs/compat_ioctl.c | 8 +-
39450 fs/configfs/dir.c | 10 +-
39451 fs/coredump.c | 24 +-
39452 fs/dcache.c | 2 +-
39453 fs/ecryptfs/inode.c | 4 +-
39454 fs/ecryptfs/miscdev.c | 2 +-
39455 fs/ecryptfs/read_write.c | 4 +-
39456 fs/exec.c | 356 ++-
39457 fs/ext4/ext4.h | 20 +-
39458 fs/ext4/mballoc.c | 44 +-
39459 fs/fhandle.c | 3 +-
39460 fs/fifo.c | 22 +-
39461 fs/fs_struct.c | 8 +-
39462 fs/fscache/cookie.c | 36 +-
39463 fs/fscache/internal.h | 196 +-
39464 fs/fscache/object.c | 28 +-
39465 fs/fscache/operation.c | 30 +-
39466 fs/fscache/page.c | 110 +-
39467 fs/fscache/stats.c | 344 +-
39468 fs/fuse/cuse.c | 10 +-
39469 fs/fuse/dev.c | 2 +-
39470 fs/fuse/dir.c | 2 +-
39471 fs/gfs2/inode.c | 2 +-
39472 fs/hugetlbfs/inode.c | 13 +-
39473 fs/inode.c | 4 +-
39474 fs/jffs2/erase.c | 3 +-
39475 fs/jffs2/wbuf.c | 3 +-
39476 fs/jfs/super.c | 2 +-
39477 fs/libfs.c | 10 +-
39478 fs/lockd/clntproc.c | 4 +-
39479 fs/locks.c | 8 +-
39480 fs/namei.c | 15 +-
39481 fs/namespace.c | 2 +-
39482 fs/nfs/inode.c | 6 +-
39483 fs/nfsd/vfs.c | 6 +-
39484 fs/notify/fanotify/fanotify_user.c | 4 +-
39485 fs/notify/notification.c | 4 +-
39486 fs/ntfs/dir.c | 2 +-
39487 fs/ntfs/file.c | 4 +-
39488 fs/ocfs2/localalloc.c | 2 +-
39489 fs/ocfs2/ocfs2.h | 10 +-
39490 fs/ocfs2/suballoc.c | 12 +-
39491 fs/ocfs2/super.c | 20 +-
39492 fs/pipe.c | 33 +-
39493 fs/proc/array.c | 20 +
39494 fs/proc/kcore.c | 32 +-
39495 fs/proc/meminfo.c | 2 +-
39496 fs/proc/nommu.c | 2 +-
39497 fs/proc/self.c | 2 +-
39498 fs/proc/task_mmu.c | 39 +-
39499 fs/proc/task_nommu.c | 4 +-
39500 fs/quota/netlink.c | 4 +-
39501 fs/readdir.c | 2 +-
39502 fs/reiserfs/do_balan.c | 2 +-
39503 fs/reiserfs/procfs.c | 2 +-
39504 fs/reiserfs/reiserfs.h | 4 +-
39505 fs/seq_file.c | 2 +-
39506 fs/splice.c | 36 +-
39507 fs/sysfs/file.c | 10 +-
39508 fs/sysfs/symlink.c | 2 +-
39509 fs/udf/misc.c | 2 +-
39510 fs/xattr_acl.c | 4 +-
39511 fs/xfs/xfs_bmap.c | 2 +-
39512 fs/xfs/xfs_dir2_sf.c | 10 +-
39513 fs/xfs/xfs_ioctl.c | 2 +-
39514 fs/xfs/xfs_iops.c | 2 +-
39515 include/asm-generic/4level-fixup.h | 2 +
39516 include/asm-generic/atomic-long.h | 210 ++
39517 include/asm-generic/atomic.h | 2 +-
39518 include/asm-generic/atomic64.h | 12 +
39519 include/asm-generic/cache.h | 4 +-
39520 include/asm-generic/emergency-restart.h | 2 +-
39521 include/asm-generic/kmap_types.h | 4 +-
39522 include/asm-generic/local.h | 13 +
39523 include/asm-generic/pgtable-nopmd.h | 18 +-
39524 include/asm-generic/pgtable-nopud.h | 15 +-
39525 include/asm-generic/pgtable.h | 8 +
39526 include/asm-generic/vmlinux.lds.h | 10 +-
39527 include/crypto/algapi.h | 2 +-
39528 include/drm/drmP.h | 5 +-
39529 include/drm/drm_crtc_helper.h | 2 +-
39530 include/drm/ttm/ttm_memory.h | 2 +-
39531 include/linux/atmdev.h | 2 +-
39532 include/linux/binfmts.h | 1 +
39533 include/linux/blkdev.h | 2 +-
39534 include/linux/blktrace_api.h | 2 +-
39535 include/linux/cache.h | 4 +
39536 include/linux/cdrom.h | 1 -
39537 include/linux/cleancache.h | 2 +-
39538 include/linux/compiler-gcc4.h | 20 +
39539 include/linux/compiler.h | 72 +-
39540 include/linux/cpu.h | 2 +-
39541 include/linux/crypto.h | 6 +-
39542 include/linux/decompress/mm.h | 2 +-
39543 include/linux/dma-mapping.h | 2 +-
39544 include/linux/dmaengine.h | 4 +-
39545 include/linux/efi.h | 1 +
39546 include/linux/elf.h | 2 +
39547 include/linux/filter.h | 4 +
39548 include/linux/frontswap.h | 2 +-
39549 include/linux/fs.h | 3 +-
39550 include/linux/fs_struct.h | 2 +-
39551 include/linux/fscache-cache.h | 4 +-
39552 include/linux/fsnotify.h | 2 +-
39553 include/linux/ftrace_event.h | 2 +-
39554 include/linux/genhd.h | 2 +-
39555 include/linux/gfp.h | 12 +-
39556 include/linux/highmem.h | 12 +
39557 include/linux/i2c.h | 1 +
39558 include/linux/i2o.h | 2 +-
39559 include/linux/if_pppox.h | 2 +-
39560 include/linux/init.h | 33 +-
39561 include/linux/init_task.h | 7 +
39562 include/linux/interrupt.h | 8 +-
39563 include/linux/kgdb.h | 6 +-
39564 include/linux/kobject.h | 2 +-
39565 include/linux/kref.h | 2 +-
39566 include/linux/kvm_host.h | 4 +-
39567 include/linux/libata.h | 2 +-
39568 include/linux/list.h | 3 +
39569 include/linux/mm.h | 91 +-
39570 include/linux/mm_types.h | 22 +-
39571 include/linux/mmiotrace.h | 4 +-
39572 include/linux/mmzone.h | 2 +-
39573 include/linux/mod_devicetable.h | 4 +-
39574 include/linux/module.h | 55 +-
39575 include/linux/moduleloader.h | 18 +-
39576 include/linux/moduleparam.h | 4 +-
39577 include/linux/namei.h | 6 +-
39578 include/linux/netdevice.h | 3 +-
39579 include/linux/netfilter/ipset/ip_set.h | 2 +-
39580 include/linux/netfilter/nfnetlink.h | 2 +-
39581 include/linux/notifier.h | 3 +-
39582 include/linux/oprofile.h | 4 +-
39583 include/linux/perf_event.h | 10 +-
39584 include/linux/pipe_fs_i.h | 6 +-
39585 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
39586 include/linux/pm_runtime.h | 2 +-
39587 include/linux/poison.h | 4 +-
39588 include/linux/power/smartreflex.h | 2 +-
39589 include/linux/random.h | 5 +
39590 include/linux/reboot.h | 14 +-
39591 include/linux/regset.h | 3 +-
39592 include/linux/relay.h | 2 +-
39593 include/linux/rio.h | 2 +-
39594 include/linux/rmap.h | 4 +-
39595 include/linux/sched.h | 64 +-
39596 include/linux/seq_file.h | 1 +
39597 include/linux/skbuff.h | 12 +-
39598 include/linux/slab.h | 36 +-
39599 include/linux/slab_def.h | 33 +-
39600 include/linux/slob_def.h | 4 +-
39601 include/linux/slub_def.h | 10 +-
39602 include/linux/sonet.h | 2 +-
39603 include/linux/sunrpc/clnt.h | 8 +-
39604 include/linux/sunrpc/svc_rdma.h | 18 +-
39605 include/linux/sysrq.h | 2 +-
39606 include/linux/thread_info.h | 7 +
39607 include/linux/tty.h | 4 +-
39608 include/linux/tty_driver.h | 2 +-
39609 include/linux/tty_ldisc.h | 2 +-
39610 include/linux/types.h | 16 +
39611 include/linux/uaccess.h | 6 +-
39612 include/linux/unaligned/access_ok.h | 12 +-
39613 include/linux/usb.h | 2 +-
39614 include/linux/usb/renesas_usbhs.h | 2 +-
39615 include/linux/vermagic.h | 21 +-
39616 include/linux/vmalloc.h | 11 +-
39617 include/linux/vmstat.h | 20 +-
39618 include/media/v4l2-dev.h | 2 +-
39619 include/media/v4l2-ioctl.h | 1 -
39620 include/net/caif/cfctrl.h | 6 +-
39621 include/net/flow.h | 2 +-
39622 include/net/gro_cells.h | 6 +-
39623 include/net/inet_connection_sock.h | 2 +-
39624 include/net/inetpeer.h | 8 +-
39625 include/net/ip_fib.h | 2 +-
39626 include/net/ip_vs.h | 4 +-
39627 include/net/irda/ircomm_tty.h | 1 +
39628 include/net/iucv/af_iucv.h | 2 +-
39629 include/net/neighbour.h | 2 +-
39630 include/net/net_namespace.h | 6 +-
39631 include/net/netdma.h | 2 +-
39632 include/net/netlink.h | 2 +-
39633 include/net/netns/ipv4.h | 2 +-
39634 include/net/protocol.h | 4 +-
39635 include/net/sctp/sctp.h | 6 +-
39636 include/net/sctp/structs.h | 4 +-
39637 include/net/sock.h | 6 +-
39638 include/net/tcp.h | 8 +-
39639 include/net/xfrm.h | 4 +-
39640 include/rdma/iw_cm.h | 2 +-
39641 include/scsi/libfc.h | 3 +-
39642 include/scsi/scsi_device.h | 6 +-
39643 include/scsi/scsi_transport_fc.h | 3 +-
39644 include/sound/soc.h | 4 +-
39645 include/target/target_core_base.h | 2 +-
39646 include/trace/events/irq.h | 4 +-
39647 include/uapi/linux/a.out.h | 8 +
39648 include/uapi/linux/byteorder/little_endian.h | 24 +-
39649 include/uapi/linux/elf.h | 28 +
39650 include/uapi/linux/screen_info.h | 3 +-
39651 include/uapi/linux/sysctl.h | 6 +-
39652 include/uapi/linux/xattr.h | 4 +
39653 include/video/udlfb.h | 8 +-
39654 include/video/uvesafb.h | 1 +
39655 init/Kconfig | 2 +-
39656 init/Makefile | 3 +
39657 init/do_mounts.c | 14 +-
39658 init/do_mounts.h | 8 +-
39659 init/do_mounts_initrd.c | 22 +-
39660 init/do_mounts_md.c | 6 +-
39661 init/init_task.c | 4 +
39662 init/initramfs.c | 40 +-
39663 init/main.c | 78 +-
39664 ipc/msg.c | 11 +-
39665 ipc/sem.c | 11 +-
39666 ipc/shm.c | 17 +-
39667 kernel/acct.c | 2 +-
39668 kernel/audit.c | 8 +-
39669 kernel/auditsc.c | 4 +-
39670 kernel/capability.c | 3 +
39671 kernel/compat.c | 40 +-
39672 kernel/debug/debug_core.c | 16 +-
39673 kernel/debug/kdb/kdb_main.c | 4 +-
39674 kernel/events/core.c | 28 +-
39675 kernel/exit.c | 4 +-
39676 kernel/fork.c | 167 +-
39677 kernel/futex.c | 9 +
39678 kernel/gcov/base.c | 7 +-
39679 kernel/hrtimer.c | 4 +-
39680 kernel/jump_label.c | 5 +
39681 kernel/kallsyms.c | 39 +-
39682 kernel/kexec.c | 3 +-
39683 kernel/kmod.c | 2 +-
39684 kernel/kprobes.c | 8 +-
39685 kernel/lockdep.c | 7 +-
39686 kernel/module.c | 333 ++-
39687 kernel/mutex-debug.c | 12 +-
39688 kernel/mutex-debug.h | 4 +-
39689 kernel/mutex.c | 7 +-
39690 kernel/notifier.c | 17 +-
39691 kernel/panic.c | 3 +-
39692 kernel/pid.c | 2 +-
39693 kernel/posix-cpu-timers.c | 4 +-
39694 kernel/posix-timers.c | 20 +-
39695 kernel/power/process.c | 12 +-
39696 kernel/profile.c | 14 +-
39697 kernel/ptrace.c | 6 +-
39698 kernel/rcutiny.c | 4 +-
39699 kernel/rcutiny_plugin.h | 2 +-
39700 kernel/rcutorture.c | 56 +-
39701 kernel/rcutree.c | 72 +-
39702 kernel/rcutree.h | 24 +-
39703 kernel/rcutree_plugin.h | 18 +-
39704 kernel/rcutree_trace.c | 22 +-
39705 kernel/rtmutex-tester.c | 24 +-
39706 kernel/sched/auto_group.c | 4 +-
39707 kernel/sched/core.c | 2 +-
39708 kernel/sched/fair.c | 4 +-
39709 kernel/signal.c | 12 +-
39710 kernel/smp.c | 2 +-
39711 kernel/softirq.c | 16 +-
39712 kernel/srcu.c | 6 +-
39713 kernel/stop_machine.c | 2 +-
39714 kernel/sys.c | 12 +-
39715 kernel/sysctl.c | 37 +-
39716 kernel/sysctl_binary.c | 14 +-
39717 kernel/time/alarmtimer.c | 2 +-
39718 kernel/time/tick-broadcast.c | 2 +-
39719 kernel/time/timer_stats.c | 10 +-
39720 kernel/timer.c | 4 +-
39721 kernel/trace/blktrace.c | 6 +-
39722 kernel/trace/ftrace.c | 20 +-
39723 kernel/trace/ring_buffer.c | 76 +-
39724 kernel/trace/trace.c | 6 +-
39725 kernel/trace/trace_events.c | 25 +-
39726 kernel/trace/trace_mmiotrace.c | 8 +-
39727 kernel/trace/trace_output.c | 12 +-
39728 kernel/trace/trace_stack.c | 2 +-
39729 lib/Makefile | 2 +-
39730 lib/bitmap.c | 8 +-
39731 lib/bug.c | 2 +
39732 lib/debugobjects.c | 2 +-
39733 lib/devres.c | 4 +-
39734 lib/dma-debug.c | 4 +-
39735 lib/inflate.c | 2 +-
39736 lib/ioremap.c | 4 +-
39737 lib/list_debug.c | 89 +-
39738 lib/radix-tree.c | 2 +-
39739 lib/strncpy_from_user.c | 2 +-
39740 lib/strnlen_user.c | 2 +-
39741 lib/vsprintf.c | 12 +-
39742 mm/Kconfig | 6 +-
39743 mm/filemap.c | 2 +-
39744 mm/fremap.c | 5 +
39745 mm/highmem.c | 7 +-
39746 mm/hugetlb.c | 54 +
39747 mm/internal.h | 1 +
39748 mm/maccess.c | 4 +-
39749 mm/madvise.c | 41 +
39750 mm/memory-failure.c | 18 +-
39751 mm/memory.c | 404 ++-
39752 mm/mempolicy.c | 26 +
39753 mm/mlock.c | 16 +-
39754 mm/mmap.c | 573 +++-
39755 mm/mprotect.c | 138 +-
39756 mm/mremap.c | 44 +-
39757 mm/nommu.c | 11 +-
39758 mm/page-writeback.c | 2 +-
39759 mm/page_alloc.c | 14 +-
39760 mm/percpu.c | 2 +-
39761 mm/process_vm_access.c | 14 +-
39762 mm/rmap.c | 38 +-
39763 mm/shmem.c | 19 +-
39764 mm/slab.c | 104 +-
39765 mm/slab.h | 5 +-
39766 mm/slab_common.c | 9 +-
39767 mm/slob.c | 200 +-
39768 mm/slub.c | 98 +-
39769 mm/sparse-vmemmap.c | 4 +-
39770 mm/sparse.c | 2 +-
39771 mm/swap.c | 3 +
39772 mm/swapfile.c | 12 +-
39773 mm/util.c | 6 +
39774 mm/vmalloc.c | 82 +-
39775 mm/vmstat.c | 12 +-
39776 net/8021q/vlan.c | 5 +-
39777 net/9p/trans_fd.c | 2 +-
39778 net/atm/atm_misc.c | 8 +-
39779 net/atm/lec.h | 2 +-
39780 net/atm/proc.c | 6 +-
39781 net/atm/resources.c | 4 +-
39782 net/batman-adv/bat_iv_ogm.c | 8 +-
39783 net/batman-adv/hard-interface.c | 4 +-
39784 net/batman-adv/soft-interface.c | 4 +-
39785 net/batman-adv/types.h | 6 +-
39786 net/batman-adv/unicast.c | 2 +-
39787 net/bluetooth/hci_sock.c | 2 +-
39788 net/bluetooth/l2cap_core.c | 6 +-
39789 net/bluetooth/l2cap_sock.c | 12 +-
39790 net/bluetooth/rfcomm/sock.c | 4 +-
39791 net/bluetooth/rfcomm/tty.c | 10 +-
39792 net/bridge/netfilter/ebtables.c | 6 +-
39793 net/caif/cfctrl.c | 11 +-
39794 net/can/af_can.c | 2 +-
39795 net/can/gw.c | 6 +-
39796 net/compat.c | 34 +-
39797 net/core/datagram.c | 2 +-
39798 net/core/dev.c | 16 +-
39799 net/core/flow.c | 8 +-
39800 net/core/iovec.c | 4 +-
39801 net/core/rtnetlink.c | 2 +-
39802 net/core/scm.c | 8 +-
39803 net/core/sock.c | 24 +-
39804 net/decnet/sysctl_net_decnet.c | 4 +-
39805 net/ipv4/ah4.c | 2 +-
39806 net/ipv4/esp4.c | 2 +-
39807 net/ipv4/fib_frontend.c | 6 +-
39808 net/ipv4/fib_semantics.c | 2 +-
39809 net/ipv4/inetpeer.c | 4 +-
39810 net/ipv4/ip_fragment.c | 2 +-
39811 net/ipv4/ip_sockglue.c | 2 +-
39812 net/ipv4/ipcomp.c | 2 +-
39813 net/ipv4/ipconfig.c | 6 +-
39814 net/ipv4/netfilter/arp_tables.c | 12 +-
39815 net/ipv4/netfilter/ip_tables.c | 12 +-
39816 net/ipv4/ping.c | 2 +-
39817 net/ipv4/raw.c | 14 +-
39818 net/ipv4/route.c | 2 +-
39819 net/ipv4/tcp_input.c | 2 +-
39820 net/ipv4/tcp_probe.c | 2 +-
39821 net/ipv4/udp.c | 10 +-
39822 net/ipv6/addrconf.c | 2 +-
39823 net/ipv6/ip6_gre.c | 2 +-
39824 net/ipv6/ipv6_sockglue.c | 2 +-
39825 net/ipv6/netfilter/ip6_tables.c | 12 +-
39826 net/ipv6/raw.c | 19 +-
39827 net/ipv6/udp.c | 8 +-
39828 net/irda/ircomm/ircomm_tty.c | 18 +-
39829 net/iucv/af_iucv.c | 4 +-
39830 net/iucv/iucv.c | 2 +-
39831 net/key/af_key.c | 4 +-
39832 net/mac80211/cfg.c | 4 +-
39833 net/mac80211/ieee80211_i.h | 3 +-
39834 net/mac80211/iface.c | 14 +-
39835 net/mac80211/main.c | 2 +-
39836 net/mac80211/pm.c | 6 +-
39837 net/mac80211/rate.c | 2 +-
39838 net/mac80211/rc80211_pid_debugfs.c | 2 +-
39839 net/mac80211/util.c | 2 +-
39840 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
39841 net/netfilter/ipvs/ip_vs_core.c | 4 +-
39842 net/netfilter/ipvs/ip_vs_ctl.c | 10 +-
39843 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
39844 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
39845 net/netfilter/nfnetlink_log.c | 4 +-
39846 net/netfilter/xt_statistic.c | 8 +-
39847 net/netlink/af_netlink.c | 4 +-
39848 net/packet/af_packet.c | 12 +-
39849 net/phonet/pep.c | 6 +-
39850 net/phonet/socket.c | 2 +-
39851 net/rds/cong.c | 6 +-
39852 net/rds/ib.h | 2 +-
39853 net/rds/ib_cm.c | 2 +-
39854 net/rds/ib_recv.c | 4 +-
39855 net/rds/iw.h | 2 +-
39856 net/rds/iw_cm.c | 2 +-
39857 net/rds/iw_recv.c | 4 +-
39858 net/rds/tcp.c | 2 +-
39859 net/rds/tcp_send.c | 2 +-
39860 net/rxrpc/af_rxrpc.c | 2 +-
39861 net/rxrpc/ar-ack.c | 14 +-
39862 net/rxrpc/ar-call.c | 2 +-
39863 net/rxrpc/ar-connection.c | 2 +-
39864 net/rxrpc/ar-connevent.c | 2 +-
39865 net/rxrpc/ar-input.c | 4 +-
39866 net/rxrpc/ar-internal.h | 8 +-
39867 net/rxrpc/ar-local.c | 2 +-
39868 net/rxrpc/ar-output.c | 4 +-
39869 net/rxrpc/ar-peer.c | 2 +-
39870 net/rxrpc/ar-proc.c | 4 +-
39871 net/rxrpc/ar-transport.c | 2 +-
39872 net/rxrpc/rxkad.c | 4 +-
39873 net/sctp/ipv6.c | 2 +-
39874 net/sctp/protocol.c | 8 +-
39875 net/sctp/socket.c | 2 +
39876 net/socket.c | 34 +-
39877 net/sunrpc/sched.c | 4 +-
39878 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
39879 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
39880 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
39881 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
39882 net/tipc/link.c | 6 +-
39883 net/tipc/msg.c | 2 +-
39884 net/tipc/subscr.c | 2 +-
39885 net/wireless/wext-core.c | 19 +-
39886 net/xfrm/xfrm_policy.c | 16 +-
39887 net/xfrm/xfrm_state.c | 4 +-
39888 scripts/Makefile.build | 2 +-
39889 scripts/Makefile.clean | 3 +-
39890 scripts/Makefile.host | 28 +-
39891 scripts/basic/fixdep.c | 12 +-
39892 scripts/gcc-plugin.sh | 17 +
39893 scripts/link-vmlinux.sh | 2 +-
39894 scripts/mod/file2alias.c | 14 +-
39895 scripts/mod/modpost.c | 25 +-
39896 scripts/mod/modpost.h | 6 +-
39897 scripts/mod/sumversion.c | 2 +-
39898 scripts/pnmtologo.c | 6 +-
39899 security/Kconfig | 654 ++++-
39900 security/integrity/ima/ima.h | 4 +-
39901 security/integrity/ima/ima_api.c | 2 +-
39902 security/integrity/ima/ima_fs.c | 4 +-
39903 security/integrity/ima/ima_queue.c | 2 +-
39904 security/keys/compat.c | 2 +-
39905 security/keys/keyctl.c | 8 +-
39906 security/keys/keyring.c | 6 +-
39907 security/security.c | 9 +-
39908 security/selinux/hooks.c | 2 +-
39909 security/selinux/include/xfrm.h | 2 +-
39910 security/smack/smack_lsm.c | 2 +-
39911 security/tomoyo/tomoyo.c | 2 +-
39912 sound/aoa/codecs/onyx.c | 7 +-
39913 sound/aoa/codecs/onyx.h | 1 +
39914 sound/core/oss/pcm_oss.c | 18 +-
39915 sound/core/pcm_compat.c | 2 +-
39916 sound/core/pcm_native.c | 4 +-
39917 sound/core/seq/seq_device.c | 8 +-
39918 sound/drivers/mts64.c | 14 +-
39919 sound/drivers/opl4/opl4_lib.c | 2 +-
39920 sound/drivers/portman2x4.c | 3 +-
39921 sound/firewire/amdtp.c | 4 +-
39922 sound/firewire/amdtp.h | 2 +-
39923 sound/firewire/isight.c | 10 +-
39924 sound/firewire/scs1x.c | 8 +-
39925 sound/oss/sb_audio.c | 2 +-
39926 sound/oss/swarm_cs4297a.c | 6 +-
39927 sound/pci/ymfpci/ymfpci.h | 2 +-
39928 sound/pci/ymfpci/ymfpci_main.c | 12 +-
39929 tools/gcc/.gitignore | 1 +
39930 tools/gcc/Makefile | 43 +
39931 tools/gcc/checker_plugin.c | 171 +
39932 tools/gcc/colorize_plugin.c | 151 +
39933 tools/gcc/constify_plugin.c | 359 +++
39934 tools/gcc/generate_size_overflow_hash.sh | 94 +
39935 tools/gcc/kallocstat_plugin.c | 170 +
39936 tools/gcc/kernexec_plugin.c | 465 +++
39937 tools/gcc/latent_entropy_plugin.c | 321 ++
39938 tools/gcc/size_overflow_hash.data | 3713 ++++++++++++++++++++++
39939 tools/gcc/size_overflow_plugin.c | 1941 +++++++++++
39940 tools/gcc/stackleak_plugin.c | 327 ++
39941 tools/perf/util/include/asm/alternative-asm.h | 3 +
39942 virt/kvm/kvm_main.c | 32 +-
39943 1311 files changed, 26668 insertions(+), 6394 deletions(-)
39944 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
39945 Merge: 0949bd4 fc53d63
39946 Author: Brad Spengler <spender@grsecurity.net>
39947 Date: Thu Mar 22 19:03:44 2012 -0400
39948
39949 Merge branch 'pax-test' into grsec-test
39950
39951 commit fc53d6338964741b368070ec5c935bc579b8c2a6
39952 Author: Brad Spengler <spender@grsecurity.net>
39953 Date: Thu Mar 22 19:02:45 2012 -0400
39954
39955 Update to pax-linux-3.2.12-test33.patch
39956
39957 commit 0949bd46a6455b308f66ad7c993bfee62412db35
39958 Author: Brad Spengler <spender@grsecurity.net>
39959 Date: Thu Mar 22 16:56:09 2012 -0400
39960
39961 Use current_umask() instead of current->fs->umask
39962
39963 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
39964 Author: Brad Spengler <spender@grsecurity.net>
39965 Date: Wed Mar 21 19:42:42 2012 -0400
39966
39967 compile fix
39968
39969 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
39970 Author: Brad Spengler <spender@grsecurity.net>
39971 Date: Wed Mar 21 19:34:56 2012 -0400
39972
39973 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
39974 uses of domains with particular hash collisions
39975
39976 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
39977 Author: Brad Spengler <spender@grsecurity.net>
39978 Date: Tue Mar 20 20:25:49 2012 -0400
39979
39980 zero kernel_role
39981
39982 commit b00953b43c69238d181d21121ef1577c988d5f6b
39983 Author: Brad Spengler <spender@grsecurity.net>
39984 Date: Tue Mar 20 19:29:34 2012 -0400
39985
39986 zero real_root after releasing it
39987
39988 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
39989 Merge: b724f59 273f98e
39990 Author: Brad Spengler <spender@grsecurity.net>
39991 Date: Tue Mar 20 19:11:26 2012 -0400
39992
39993 Merge branch 'pax-test' into grsec-test
39994
39995 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
39996 Author: Brad Spengler <spender@grsecurity.net>
39997 Date: Tue Mar 20 19:10:52 2012 -0400
39998
39999 Temporary workaround for (most) size_overflow plugin false-positives
40000 Increase randomization for brk-managed heap to 21 bits
40001 Update to pax-linux-3.2.12-test32.patch
40002
40003 commit b724f59125304460c2af8bd4b02921993afbb5d3
40004 Author: Brad Spengler <spender@grsecurity.net>
40005 Date: Tue Mar 20 18:58:53 2012 -0400
40006
40007 compile fix
40008
40009 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
40010 Author: Brad Spengler <spender@grsecurity.net>
40011 Date: Tue Mar 20 18:52:23 2012 -0400
40012
40013 Require default and kernel role
40014
40015 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
40016 Author: Brad Spengler <spender@grsecurity.net>
40017 Date: Tue Mar 20 18:47:28 2012 -0400
40018
40019 Allow policies without special roles
40020 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
40021
40022 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
40023 Merge: 8e012dc f14661a
40024 Author: Brad Spengler <spender@grsecurity.net>
40025 Date: Mon Mar 19 18:06:59 2012 -0400
40026
40027 Merge branch 'pax-test' into grsec-test
40028
40029 Conflicts:
40030 fs/namei.c
40031
40032 commit f14661aaf202155c97f66626cea0269017bb7775
40033 Merge: eae671f 058b017
40034 Author: Brad Spengler <spender@grsecurity.net>
40035 Date: Mon Mar 19 18:05:44 2012 -0400
40036
40037 Merge branch 'linux-3.2.y' into pax-test
40038
40039 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
40040 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
40041 Date: Fri Mar 16 17:08:39 2012 -0700
40042
40043 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
40044
40045 According to the report from Slicky Devil, nilfs caused kernel oops at
40046 nilfs_load_super_block function during mount after he shrank the
40047 partition without resizing the filesystem:
40048
40049 BUG: unable to handle kernel NULL pointer dereference at 00000048
40050 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
40051 *pde = 00000000
40052 Oops: 0000 [#1] PREEMPT SMP
40053 ...
40054 Call Trace:
40055 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
40056 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
40057 [<c0226636>] mount_fs+0x36/0x180
40058 [<c023d961>] vfs_kern_mount+0x51/0xa0
40059 [<c023ddae>] do_kern_mount+0x3e/0xe0
40060 [<c023f189>] do_mount+0x169/0x700
40061 [<c023fa9b>] sys_mount+0x6b/0xa0
40062 [<c04abd1f>] sysenter_do_call+0x12/0x28
40063 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
40064 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
40065 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
40066 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
40067 CR2: 0000000000000048
40068
40069 This turned out due to a defect in an error path which runs if the
40070 calculated location of the secondary super block was invalid.
40071
40072 This patch fixes it and eliminates the reported oops.
40073
40074 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
40075 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
40076 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
40077 Cc: <stable@vger.kernel.org> [2.6.30+]
40078 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
40079 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40080
40081 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
40082 Author: Haogang Chen <haogangchen@gmail.com>
40083 Date: Fri Mar 16 17:08:38 2012 -0700
40084
40085 nilfs2: clamp ns_r_segments_percentage to [1, 99]
40086
40087 ns_r_segments_percentage is read from the disk. Bogus or malicious
40088 value could cause integer overflow and malfunction due to meaningless
40089 disk usage calculation. This patch reports error when mounting such
40090 bogus volumes.
40091
40092 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
40093 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
40094 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
40095 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40096
40097 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
40098 Author: Eric Dumazet <eric.dumazet@gmail.com>
40099 Date: Sat Mar 10 09:20:21 2012 +0000
40100
40101 tcp: fix syncookie regression
40102
40103 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
40104 added a serious regression on synflood handling.
40105
40106 Simon Kirby discovered a successful connection was delayed by 20 seconds
40107 before being responsive.
40108
40109 In my tests, I discovered that xmit frames were lost, and needed ~4
40110 retransmits and a socket dst rebuild before being really sent.
40111
40112 In case of syncookie initiated connection, we use a different path to
40113 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
40114
40115 As ip_queue_xmit() now depends on inet flow being setup, fix this by
40116 copying the temp flowi4 we use in cookie_v4_check().
40117
40118 Reported-by: Simon Kirby <sim@netnation.com>
40119 Bisected-by: Simon Kirby <sim@netnation.com>
40120 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
40121 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
40122 Signed-off-by: David S. Miller <davem@davemloft.net>
40123
40124 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
40125 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
40126 Date: Mon Mar 12 02:59:41 2012 +0000
40127
40128 tun: don't hold network namespace by tun sockets
40129
40130 v3: added previously removed sock_put() to the tun_release() callback, because
40131 sk_release_kernel() doesn't drop the socket reference.
40132
40133 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
40134 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
40135 call.
40136
40137 TUN was designed to destroy it's socket on network namesapce shutdown. But this
40138 will never happen for persistent device, because it's socket holds network
40139 namespace.
40140 This patch removes of holding network namespace by TUN socket and replaces it
40141 by creating socket in init_net and then changing it's net it to desired one. On
40142 shutdown socket is moved back to init_net prior to final put.
40143
40144 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
40145 Signed-off-by: David S. Miller <davem@davemloft.net>
40146
40147 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
40148 Author: Tyler Hicks <tyhicks@canonical.com>
40149 Date: Mon Dec 12 10:02:30 2011 -0600
40150
40151 vfs: Correctly set the dir i_mutex lockdep class
40152
40153 9a7aa12f3911853a introduced additional logic around setting the i_mutex
40154 lockdep class for directory inodes. The idea was that some filesystems
40155 may want their own special lockdep class for different directory
40156 inodes and calling unlock_new_inode() should not clobber one of
40157 those special classes.
40158
40159 I believe that the added conditional, around the *negated* return value
40160 of lockdep_match_class(), caused directory inodes to be placed in the
40161 wrong lockdep class.
40162
40163 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
40164 all inodes. If the filesystem did not change the class during inode
40165 initialization, then the conditional mentioned above was false and the
40166 directory inode was incorrectly left in the non-directory lockdep class.
40167 If the filesystem did set a special lockdep class, then the conditional
40168 mentioned above was true and that class was clobbered with
40169 i_mutex_dir_key.
40170
40171 This patch removes the negation from the conditional so that the i_mutex
40172 lockdep class is properly set for directory inodes. Special classes are
40173 preserved and directory inodes with unmodified classes are set with
40174 i_mutex_dir_key.
40175
40176 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
40177 Reviewed-by: Jan Kara <jack@suse.cz>
40178 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40179
40180 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
40181 Author: Jan Kara <jack@suse.cz>
40182 Date: Mon Feb 20 17:54:00 2012 +0100
40183
40184 udf: Fix deadlock in udf_release_file()
40185
40186 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
40187 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
40188 i_mutex is not needed in udf_release_file() anymore since protection by
40189 i_data_sem is enough to protect from races with write and truncate.
40190
40191 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
40192 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
40193 Signed-off-by: Jan Kara <jack@suse.cz>
40194 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40195
40196 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
40197 Author: Miklos Szeredi <mszeredi@suse.cz>
40198 Date: Tue Mar 6 13:56:33 2012 +0100
40199
40200 vfs: fix double put after complete_walk()
40201
40202 complete_walk() already puts nd->path, no need to do it again at cleanup time.
40203
40204 This would result in Oopses if triggered, apparently the codepath is not too
40205 well exercised.
40206
40207 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
40208 CC: stable@vger.kernel.org
40209 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40210
40211 commit 13885ba2b18400f3ef6540497d30f1af896605e5
40212 Author: Miklos Szeredi <mszeredi@suse.cz>
40213 Date: Tue Mar 6 13:56:34 2012 +0100
40214
40215 vfs: fix return value from do_last()
40216
40217 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
40218 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
40219 which is complete nonsense.
40220
40221 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
40222 CC: stable@vger.kernel.org
40223 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40224
40225 Conflicts:
40226
40227 fs/namei.c
40228
40229 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
40230 Author: Al Viro <viro@zeniv.linux.org.uk>
40231 Date: Sat Mar 10 17:07:28 2012 -0500
40232
40233 restore smp_mb() in unlock_new_inode()
40234
40235 wait_on_inode() doesn't have ->i_lock
40236
40237 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40238
40239 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
40240 Author: David S. Miller <davem@davemloft.net>
40241 Date: Tue Mar 13 18:19:51 2012 -0700
40242
40243 sparc32: Add -Av8 to assembler command line.
40244
40245 Newer version of binutils are more strict about specifying the
40246 correct options to enable certain classes of instructions.
40247
40248 The sparc32 build is done for v7 in order to support sun4c systems
40249 which lack hardware integer multiply and divide instructions.
40250
40251 So we have to pass -Av8 when building the assembler routines that
40252 use these instructions and get patched into the kernel when we find
40253 out that we have a v8 capable cpu.
40254
40255 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
40256 Signed-off-by: David S. Miller <davem@davemloft.net>
40257
40258 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
40259 Author: Thomas Gleixner <tglx@linutronix.de>
40260 Date: Fri Mar 9 20:55:10 2012 +0100
40261
40262 x86: Derandom delay_tsc for 64 bit
40263
40264 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
40265 delay_tsc() into a random delay generator for 64 bit. The reason is
40266 that it merged the mostly identical versions of delay_32.c and
40267 delay_64.c. Though the subtle difference of the result was:
40268
40269 static void delay_tsc(unsigned long loops)
40270 {
40271 - unsigned bclock, now;
40272 + unsigned long bclock, now;
40273
40274 Now the function uses rdtscl() which returns the lower 32bit of the
40275 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
40276 bit this fails when the lower 32bit are close to wrap around when
40277 bclock is read, because the following check
40278
40279 if ((now - bclock) >= loops)
40280 break;
40281
40282 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
40283 because the unsigned long (now - bclock) of these values results in
40284 0xffffffff00000001 which is definitely larger than the loops
40285 value. That explains Tvortkos observation:
40286
40287 "Because I am seeing udelay(500) (_occasionally_) being short, and
40288 that by delaying for some duration between 0us (yep) and 491us."
40289
40290 Make those variables explicitely u32 again, so this works for both 32
40291 and 64 bit.
40292
40293 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
40294 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
40295 Cc: stable@vger.kernel.org # >= 2.6.27
40296 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40297
40298 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
40299 Author: Al Viro <viro@ZenIV.linux.org.uk>
40300 Date: Thu Mar 8 17:51:19 2012 +0000
40301
40302 aio: fix the "too late munmap()" race
40303
40304 Current code has put_ioctx() called asynchronously from aio_fput_routine();
40305 that's done *after* we have killed the request that used to pin ioctx,
40306 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
40307 from progressing. As the result, we can end up with async call of
40308 put_ioctx() being the last one and possibly happening during exit_mmap()
40309 or elf_core_dump(), neither of which expects stray munmap() being done
40310 to them...
40311
40312 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
40313 with that, but that's all we care about - neither io_destroy() nor
40314 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
40315 does really_put_req(), so the ioctx teardown won't be done until then
40316 and we don't care about the contents of ioctx past that point.
40317
40318 Since actual freeing of these suckers is RCU-delayed, we don't need to
40319 bump ioctx refcount when request goes into list for async removal.
40320 All we need is rcu_read_lock held just over the ->ctx_lock-protected
40321 area in aio_fput_routine().
40322
40323 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40324 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
40325 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
40326 Cc: stable@vger.kernel.org
40327 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40328
40329 commit 002124c055afbf09b52226af65621999e8316448
40330 Author: Al Viro <viro@ZenIV.linux.org.uk>
40331 Date: Wed Mar 7 05:16:35 2012 +0000
40332
40333 aio: fix io_setup/io_destroy race
40334
40335 Have ioctx_alloc() return an extra reference, so that caller would drop it
40336 on success and not bother with re-grabbing it on failure exit. The current
40337 code is obviously broken - io_destroy() from another thread that managed
40338 to guess the address io_setup() would've returned would free ioctx right
40339 under us; gets especially interesting if aio_context_t * we pass to
40340 io_setup() points to PROT_READ mapping, so put_user() fails and we end
40341 up doing io_destroy() on kioctx another thread has just got freed...
40342
40343 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40344 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
40345 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
40346 Cc: stable@vger.kernel.org
40347 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40348
40349 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
40350 Author: Dan Carpenter <dan.carpenter@oracle.com>
40351 Date: Thu Mar 15 15:17:12 2012 -0700
40352
40353 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
40354
40355 strict_strtoul() writes a long but ->gamma_mode only has space to store an
40356 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
40357 well. I've changed it to use kstrtouint() instead.
40358
40359 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
40360 Acked-by: Inki Dae <inki.dae@samsung.com>
40361 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
40362 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
40363 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40364
40365 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
40366 Merge: e4b05b6 eae671f
40367 Author: Brad Spengler <spender@grsecurity.net>
40368 Date: Fri Mar 16 21:04:27 2012 -0400
40369
40370 Merge branch 'pax-test' into grsec-test
40371
40372 Conflicts:
40373 security/Kconfig
40374
40375 commit eae671fafe93f04685c04a089cc13efebc05d600
40376 Author: Brad Spengler <spender@grsecurity.net>
40377 Date: Fri Mar 16 20:58:01 2012 -0400
40378
40379 Update to pax-linux-3.2.11-test31.patch
40380 Introduction of the size_overflow plugin from Emese Revfy
40381 Many thanks to Emese for her hard work :)
40382
40383 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
40384 Merge: e55aa68 258c015
40385 Author: Brad Spengler <spender@grsecurity.net>
40386 Date: Thu Mar 15 20:59:19 2012 -0400
40387
40388 Merge branch 'pax-test' into grsec-test
40389
40390 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
40391 Author: Brad Spengler <spender@grsecurity.net>
40392 Date: Thu Mar 15 20:59:05 2012 -0400
40393
40394 fix ARM compilation
40395
40396 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
40397 Merge: 8f95ea9 55b7573
40398 Author: Brad Spengler <spender@grsecurity.net>
40399 Date: Wed Mar 14 19:33:41 2012 -0400
40400
40401 Merge branch 'pax-test' into grsec-test
40402
40403 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
40404 Author: Brad Spengler <spender@grsecurity.net>
40405 Date: Wed Mar 14 19:33:15 2012 -0400
40406
40407 Update to pax-linux-3.2.10-test28.patch
40408
40409 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
40410 Merge: c8786a2 886ac5e
40411 Author: Brad Spengler <spender@grsecurity.net>
40412 Date: Tue Mar 13 17:38:13 2012 -0400
40413
40414 Merge branch 'pax-test' into grsec-test
40415
40416 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
40417
40418 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
40419 Author: Brad Spengler <spender@grsecurity.net>
40420 Date: Tue Mar 13 17:37:44 2012 -0400
40421
40422 Update to pax-linux-3.2.10-test26.patch
40423
40424 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
40425 Merge: 219c982 c061fcf
40426 Author: Brad Spengler <spender@grsecurity.net>
40427 Date: Tue Mar 13 17:25:06 2012 -0400
40428
40429 Merge branch 'pax-test' into grsec-test
40430
40431 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
40432 Merge: 89373d2 3f4b3b2
40433 Author: Brad Spengler <spender@grsecurity.net>
40434 Date: Tue Mar 13 17:25:02 2012 -0400
40435
40436 Merge branch 'linux-3.2.y' into pax-test
40437
40438 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
40439 Merge: 54e19a3 89373d2
40440 Author: Brad Spengler <spender@grsecurity.net>
40441 Date: Mon Mar 12 17:23:57 2012 -0400
40442
40443 Merge branch 'pax-test' into grsec-test
40444
40445 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
40446 Merge: a778588 7459f11
40447 Author: Brad Spengler <spender@grsecurity.net>
40448 Date: Mon Mar 12 17:23:49 2012 -0400
40449
40450 Merge branch 'linux-3.2.y' into pax-test
40451
40452 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
40453 Merge: c4650f1 a778588
40454 Author: Brad Spengler <spender@grsecurity.net>
40455 Date: Mon Mar 12 16:51:25 2012 -0400
40456
40457 Merge branch 'pax-test' into grsec-test
40458
40459 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
40460 Author: Brad Spengler <spender@grsecurity.net>
40461 Date: Mon Mar 12 16:51:12 2012 -0400
40462
40463 Update to pax-linux-3.2.9-test24.patch
40464
40465 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
40466 Merge: fb2abee 1015790
40467 Author: Brad Spengler <spender@grsecurity.net>
40468 Date: Sun Mar 11 21:08:28 2012 -0400
40469
40470 Merge branch 'pax-test' into grsec-test
40471
40472 Conflicts:
40473 security/Kconfig
40474
40475 commit 101579028a736c224e590c7e12a7357018c424e1
40476 Author: Brad Spengler <spender@grsecurity.net>
40477 Date: Sun Mar 11 21:07:27 2012 -0400
40478
40479 Update to pax-linux-3.2.9-test22.patch
40480
40481 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
40482 Author: Brad Spengler <spender@grsecurity.net>
40483 Date: Sun Mar 11 11:02:17 2012 -0400
40484
40485 Allow 4096 CPUs
40486
40487 commit 96bae28cbe6a41d48e3b56e5904814096e956000
40488 Author: Brad Spengler <spender@grsecurity.net>
40489 Date: Sun Mar 11 10:25:58 2012 -0400
40490
40491 Use a per-cpu 48-bit counter instead of a global atomic64
40492 Initialize each counter to have the cpu number in the lower 16 bits
40493 instead of incrementing the counter each time by 1, perform the increments
40494 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
40495 any state
40496 idea from PaX Team
40497
40498 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
40499 Author: Brad Spengler <spender@grsecurity.net>
40500 Date: Sat Mar 10 20:33:12 2012 -0500
40501
40502 Special vnsec edition! :)
40503 Further reduce argv/env allowance for suid/sgid apps to 512KB
40504 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
40505 Clear 3GB personality on suid/sgid binaries
40506 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
40507 with the main purpose of throwing off program stack -> arg/env alignment
40508 Update documentation
40509
40510 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
40511 Author: Brad Spengler <spender@grsecurity.net>
40512 Date: Sat Mar 10 19:54:47 2012 -0500
40513
40514 Resolve skbuff.h warnings that turn into errors during compilation in
40515 the grsecurity directory with -Werror
40516
40517 commit 2023210ad43a944033fcacc660ce410888f562ee
40518 Merge: ece4383 5f66adf
40519 Author: Brad Spengler <spender@grsecurity.net>
40520 Date: Fri Mar 9 19:48:01 2012 -0500
40521
40522 Merge branch 'pax-test' into grsec-test
40523
40524 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
40525 Author: Brad Spengler <spender@grsecurity.net>
40526 Date: Fri Mar 9 19:47:06 2012 -0500
40527
40528 Add colorize plugin
40529
40530 commit ece4383e5e91c92d138c4df84225a70b552f4d69
40531 Merge: a366d0e ab4a5a1
40532 Author: Brad Spengler <spender@grsecurity.net>
40533 Date: Fri Mar 9 17:56:46 2012 -0500
40534
40535 Merge branch 'pax-test' into grsec-test
40536
40537 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
40538 Author: Brad Spengler <spender@grsecurity.net>
40539 Date: Fri Mar 9 17:56:26 2012 -0500
40540
40541 Update to pax-linux-3.2.9-test21.patch
40542
40543 commit a366d0ed963ce93fce10121c1100989d5f064e75
40544 Author: Mikulas Patocka <mpatocka@redhat.com>
40545 Date: Sun Mar 4 19:52:03 2012 -0500
40546
40547 mm: fix find_vma_prev
40548
40549 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
40550 management on PA-RISC.
40551
40552 After application of the patch, programs that allocate big arrays on the
40553 stack crash with segfault, for example, this will crash if compiled
40554 without optimization:
40555
40556 int main()
40557 {
40558 char array[200000];
40559 array[199999] = 0;
40560 return 0;
40561 }
40562
40563 The reason is that PA-RISC has up-growing stack and the stack is usually
40564 the last memory area. In the above example, a page fault happens above
40565 the stack.
40566
40567 Previously, if we passed too high address to find_vma_prev, it returned
40568 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
40569 change, it stores NULL in *pprev. Consequently, the stack area is not
40570 found and it is not expanded, as it used to be before the change.
40571
40572 This patch restores the old behavior and makes it return the last VMA in
40573 *pprev if the requested address is higher than address of any other VMA.
40574
40575 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
40576 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
40577 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40578
40579 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
40580 Author: Hugh Dickins <hughd@google.com>
40581 Date: Tue Mar 6 12:28:52 2012 -0800
40582
40583 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
40584
40585 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
40586 from shared anonymous: hoist the file case's -EINVAL up for both.
40587
40588 Signed-off-by: Hugh Dickins <hughd@google.com>
40589 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40590
40591 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
40592 Author: Al Viro <viro@ZenIV.linux.org.uk>
40593 Date: Mon Mar 5 06:38:42 2012 +0000
40594
40595 aout: move setup_arg_pages() prior to reading/mapping the binary
40596
40597 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40598 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40599
40600 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
40601 Author: Jan Beulich <JBeulich@suse.com>
40602 Date: Mon Mar 5 16:49:24 2012 +0000
40603
40604 vsprintf: make %pV handling compatible with kasprintf()
40605
40606 kasprintf() (and potentially other functions that I didn't run across so
40607 far) want to evaluate argument lists twice. Caring to do so for the
40608 primary list is obviously their job, but they can't reasonably be
40609 expected to check the format string for instances of %pV, which however
40610 need special handling too: On architectures like x86-64 (as opposed to
40611 e.g. ix86), using the same argument list twice doesn't produce the
40612 expected results, as an internally managed cursor gets updated during
40613 the first run.
40614
40615 Fix the problem by always acting on a copy of the original list when
40616 handling %pV.
40617
40618 Signed-off-by: Jan Beulich <jbeulich@suse.com>
40619 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40620
40621 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
40622 Author: Al Viro <viro@ZenIV.linux.org.uk>
40623 Date: Mon Mar 5 06:39:47 2012 +0000
40624
40625 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
40626
40627 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40628 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40629
40630 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
40631 Author: Christian König <deathsimple@vodafone.de>
40632 Date: Tue Feb 28 23:19:20 2012 +0100
40633
40634 drm/radeon: fix uninitialized variable
40635
40636 Without this fix the driver randomly treats
40637 textures as arrays and I'm really wondering
40638 why gcc isn't complaining about it.
40639
40640 Signed-off-by: Christian König <deathsimple@vodafone.de>
40641 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
40642 Signed-off-by: Dave Airlie <airlied@redhat.com>
40643
40644 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
40645 Author: H. Peter Anvin <hpa@zytor.com>
40646 Date: Fri Mar 2 10:43:48 2012 -0800
40647
40648 regset: Prevent null pointer reference on readonly regsets
40649
40650 The regset common infrastructure assumed that regsets would always
40651 have .get and .set methods, but not necessarily .active methods.
40652 Unfortunately people have since written regsets without .set methods.
40653
40654 Rather than putting in stub functions everywhere, handle regsets with
40655 null .get or .set methods explicitly.
40656
40657 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
40658 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
40659 Acked-by: Roland McGrath <roland@hack.frob.com>
40660 Cc: <stable@vger.kernel.org>
40661 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40662
40663 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
40664 Author: Brad Spengler <spender@grsecurity.net>
40665 Date: Mon Mar 5 18:12:57 2012 -0500
40666
40667 Fix compiler errors reported on forums
40668
40669 commit 1606774b48af24e6f99d99c624c0e447d4b66474
40670 Merge: 3127bd5 4ca2ffd
40671 Author: Brad Spengler <spender@grsecurity.net>
40672 Date: Mon Mar 5 17:31:35 2012 -0500
40673
40674 Merge branch 'pax-test' into grsec-test
40675
40676 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
40677 Author: Brad Spengler <spender@grsecurity.net>
40678 Date: Mon Mar 5 17:31:21 2012 -0500
40679
40680 Update to pax-linux-3.2.9-test20.patch
40681
40682 commit 3127bd581a292966b1057c7433219dac188c3720
40683 Author: Brad Spengler <spender@grsecurity.net>
40684 Date: Fri Mar 2 21:30:37 2012 -0500
40685
40686 Fix memory leak on logged exec_id check failure in /proc/pid/statm
40687 Thanks to Djalal Harouni for the report
40688
40689 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
40690 Merge: 0a56be8 9aa8288
40691 Author: Brad Spengler <spender@grsecurity.net>
40692 Date: Fri Mar 2 18:38:22 2012 -0500
40693
40694 Merge branch 'pax-test' into grsec-test
40695
40696 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
40697 Author: Brad Spengler <spender@grsecurity.net>
40698 Date: Fri Mar 2 18:37:43 2012 -0500
40699
40700 Update to pax-linux-3.2.9-test19.patch
40701
40702 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
40703 Merge: 9e66745 3f5c52a
40704 Author: Brad Spengler <spender@grsecurity.net>
40705 Date: Thu Mar 1 20:18:01 2012 -0500
40706
40707 Merge branch 'pax-test' into grsec-test
40708
40709 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
40710 Author: Brad Spengler <spender@grsecurity.net>
40711 Date: Thu Mar 1 20:16:56 2012 -0500
40712
40713 Update to pax-linux-3.2.9-test18.patch
40714
40715 commit ae53ec231d12719a36bf871f8c5841020ed692ee
40716 Merge: b255baf 44fb317
40717 Author: Brad Spengler <spender@grsecurity.net>
40718 Date: Thu Mar 1 20:15:31 2012 -0500
40719
40720 Merge branch 'linux-3.2.y' into pax-test
40721
40722 commit 9e667456c03eadea2f305be761abe4de9a5877a3
40723 Merge: 5e4e200 b255baf
40724 Author: Brad Spengler <spender@grsecurity.net>
40725 Date: Mon Feb 27 20:53:59 2012 -0500
40726
40727 Merge branch 'pax-test' into grsec-test
40728
40729 commit b255baf50365d39b406f43aab2c64745607baaa2
40730 Merge: 340ce90 1de504e
40731 Author: Brad Spengler <spender@grsecurity.net>
40732 Date: Mon Feb 27 20:53:29 2012 -0500
40733
40734 Merge branch 'linux-3.2.y' into pax-test
40735 Update to pax-linux-3.2.8-test17.patch
40736
40737 Conflicts:
40738 arch/x86/include/asm/i387.h
40739 arch/x86/kernel/process_32.c
40740 arch/x86/kernel/traps.c
40741
40742 commit 5e4e200ac530452884b625cb75de240e1e98c731
40743 Merge: 44306d7 340ce90
40744 Author: Brad Spengler <spender@grsecurity.net>
40745 Date: Mon Feb 27 18:02:13 2012 -0500
40746
40747 Merge branch 'pax-test' into grsec-test
40748
40749 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
40750 Author: Brad Spengler <spender@grsecurity.net>
40751 Date: Mon Feb 27 18:01:48 2012 -0500
40752
40753 Update to pax-linux-3.2.7-test17.patch
40754
40755 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
40756 Merge: 29d0b07 521c411
40757 Author: Brad Spengler <spender@grsecurity.net>
40758 Date: Sun Feb 26 19:04:15 2012 -0500
40759
40760 Merge branch 'pax-test' into grsec-test
40761
40762 Conflicts:
40763 Makefile
40764
40765 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
40766 Author: Brad Spengler <spender@grsecurity.net>
40767 Date: Sun Feb 26 19:03:33 2012 -0500
40768
40769 Update to pax-linux-3.2.7-test16.patch
40770
40771 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
40772 Author: Brad Spengler <spender@grsecurity.net>
40773 Date: Sun Feb 26 17:12:44 2012 -0500
40774
40775 fix typo
40776
40777 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
40778 Merge: f45b3be caa8f83
40779 Author: Brad Spengler <spender@grsecurity.net>
40780 Date: Sat Feb 25 20:59:27 2012 -0500
40781
40782 Merge branch 'pax-test' into grsec-test
40783
40784 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
40785 Author: Brad Spengler <spender@grsecurity.net>
40786 Date: Sat Feb 25 20:59:12 2012 -0500
40787
40788 Update to pax-linux-3.2.7-test15.patch
40789
40790 commit f45b3be34a345502a302e736af9a65742ddef7cb
40791 Merge: 62f35fd 9f1309b
40792 Author: Brad Spengler <spender@grsecurity.net>
40793 Date: Sat Feb 25 11:40:15 2012 -0500
40794
40795 Merge branch 'pax-test' into grsec-test
40796
40797 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
40798 Author: Brad Spengler <spender@grsecurity.net>
40799 Date: Sat Feb 25 11:39:57 2012 -0500
40800
40801 Update to pax-linux-3.2.7-test14.patch
40802
40803 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
40804 Author: Brad Spengler <spender@grsecurity.net>
40805 Date: Sat Feb 25 09:08:55 2012 -0500
40806
40807 We could log on attempted exploits of writing /proc/self/mem, but the current
40808 log function declares the access a read, so just swap the ordering for now
40809
40810 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
40811 Author: Brad Spengler <spender@grsecurity.net>
40812 Date: Sat Feb 25 08:46:14 2012 -0500
40813
40814 Log /proc/pid/mem attempts
40815
40816 commit 674471e581893a94d475acac3e3c4496209b3ac9
40817 Author: Brad Spengler <spender@grsecurity.net>
40818 Date: Sat Feb 25 08:15:00 2012 -0500
40819
40820 Make use of f_version for protecting /proc file structs (fine since we're not a directory
40821 or seq_file)
40822
40823 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
40824 Author: Brad Spengler <spender@grsecurity.net>
40825 Date: Fri Feb 24 20:02:19 2012 -0500
40826
40827 Fix ia64 compilation
40828
40829 commit 50dfea412fd395e0183c2ade368efa525d38b267
40830 Merge: 12db845 4c6f99b
40831 Author: Brad Spengler <spender@grsecurity.net>
40832 Date: Fri Feb 24 19:00:53 2012 -0500
40833
40834 Merge branch 'pax-test' into grsec-test
40835
40836 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
40837 Author: Brad Spengler <spender@grsecurity.net>
40838 Date: Fri Feb 24 19:00:36 2012 -0500
40839
40840 (6:57:09 PM) pipacs: but you can be proactive
40841 (Fix other-arch atomic64/REFCOUNT compilation failures)
40842
40843 commit 12db8453f6bb0a756f369c9151668ba1249bc478
40844 Author: Brad Spengler <spender@grsecurity.net>
40845 Date: Thu Feb 23 21:10:12 2012 -0500
40846
40847 Remove unnecessary copies, as suggested by solar
40848
40849 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
40850 Author: Brad Spengler <spender@grsecurity.net>
40851 Date: Thu Feb 23 20:59:35 2012 -0500
40852
40853 Make global_exec_counter static, as suggested by solar
40854
40855 commit e642091a475ebb3a30e81f85e7751233d0c2af43
40856 Author: Brad Spengler <spender@grsecurity.net>
40857 Date: Thu Feb 23 19:00:26 2012 -0500
40858
40859 sync with stable tree
40860
40861 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
40862 Author: Brad Spengler <spender@grsecurity.net>
40863 Date: Thu Feb 23 18:48:47 2012 -0500
40864
40865 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
40866 Remove handling of old kludge in chmod/fchmod
40867
40868 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
40869 Author: Brad Spengler <spender@grsecurity.net>
40870 Date: Thu Feb 23 18:18:49 2012 -0500
40871
40872 Apply umask checks to chmod/fchmod as well, as requested by sponsor
40873 Union the enforced umask with the existing one to produce minimal privilege
40874 Change umask type to u16
40875
40876 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
40877 Author: Brad Spengler <spender@grsecurity.net>
40878 Date: Wed Feb 22 18:16:11 2012 -0500
40879
40880 Add per-role umask enforcement to RBAC, requested by a sponsor
40881
40882 commit ad5ac943fe58199f1cc475912a39edb157acb77b
40883 Merge: dda0bb5 41722e3
40884 Author: Brad Spengler <spender@grsecurity.net>
40885 Date: Mon Feb 20 20:04:42 2012 -0500
40886
40887 Merge branch 'pax-test' into grsec-test
40888
40889 commit 41722e342e116d95f3d3556d66c97c888d752d39
40890 Author: Brad Spengler <spender@grsecurity.net>
40891 Date: Mon Feb 20 20:04:00 2012 -0500
40892
40893 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
40894 KERNEXEC plugin
40895
40896 commit dda0bb57137846a476a866c60db2681aaf6052c0
40897 Merge: 4fd554e d70927a
40898 Author: Brad Spengler <spender@grsecurity.net>
40899 Date: Mon Feb 20 20:01:41 2012 -0500
40900
40901 Merge branch 'pax-test' into grsec-test
40902
40903 commit d70927afec977d489a54c106a3c3ddc32e953050
40904 Merge: 1daebf1 9d0231c
40905 Author: Brad Spengler <spender@grsecurity.net>
40906 Date: Mon Feb 20 20:01:33 2012 -0500
40907
40908 Merge branch 'linux-3.2.y' into pax-test
40909
40910 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
40911 Author: Brad Spengler <spender@grsecurity.net>
40912 Date: Mon Feb 20 09:17:57 2012 -0500
40913
40914 Fix wrong logic on capability checks for switching roles, broke policies
40915 Thanks to Richard Kojedzinszky for reporting
40916
40917 commit 12f97d52ac603f24344f8d71569c412a307e9422
40918 Author: Brad Spengler <spender@grsecurity.net>
40919 Date: Thu Feb 16 21:20:10 2012 -0500
40920
40921 sparc64 compile fix
40922
40923 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
40924 Author: Brad Spengler <spender@grsecurity.net>
40925 Date: Thu Feb 16 18:38:32 2012 -0500
40926
40927 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
40928
40929 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
40930 Author: Brad Spengler <spender@grsecurity.net>
40931 Date: Thu Feb 16 18:18:01 2012 -0500
40932
40933 optimize the check a bit
40934
40935 commit 03159050f64989be44ae03be769cbed62a7cd2e5
40936 Author: Brad Spengler <spender@grsecurity.net>
40937 Date: Thu Feb 16 18:00:45 2012 -0500
40938
40939 smile VUPEN :D
40940 (limit argv+env to 1MB for suid/sgid binaries)
40941
40942 commit dd759d8800d225a397e4de49fe729c7d601298d2
40943 Author: Brad Spengler <spender@grsecurity.net>
40944 Date: Thu Feb 16 17:49:33 2012 -0500
40945
40946 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
40947
40948 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
40949 Author: Brad Spengler <spender@grsecurity.net>
40950 Date: Thu Feb 16 17:45:06 2012 -0500
40951
40952 Change the long long type for exec_id to the proper u64
40953
40954 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
40955 Author: Dan Carpenter <dan.carpenter@oracle.com>
40956 Date: Thu Feb 9 00:46:47 2012 +0000
40957
40958 isdn: type bug in isdn_net_header()
40959
40960 We use len to store the return value from eth_header(). eth_header()
40961 can return -ETH_HLEN (-14). We want to pass this back instead of
40962 truncating it to 65522 and returning that.
40963
40964 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
40965 Acked-by: Neil Horman <nhorman@tuxdriver.com>
40966 Signed-off-by: David S. Miller <davem@davemloft.net>
40967
40968 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
40969 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
40970 Date: Sat Feb 4 10:47:10 2012 +0100
40971
40972 exec: fix use-after-free bug in setup_new_exec()
40973
40974 Setting the task name is done within setup_new_exec() by accessing
40975 bprm->filename. However this happens after flush_old_exec().
40976 This may result in a use after free bug, flush_old_exec() may
40977 "complete" vfork_done, which will wake up the parent which in turn
40978 may free the passed in filename.
40979 To fix this add a new tcomm field in struct linux_binprm which
40980 contains the now early generated task name until it is used.
40981
40982 Fixes this bug on s390:
40983
40984 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
40985 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
40986 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
40987 Call Trace:
40988 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
40989 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
40990 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
40991 [<0000000000282b6c>] do_execve_common+0x410/0x514
40992 [<0000000000282cb6>] do_execve+0x46/0x58
40993 [<00000000005bce58>] kernel_execve+0x28/0x70
40994 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
40995 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
40996 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
40997 Last Breaking-Event-Address:
40998 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
40999
41000 Kernel panic - not syncing: Fatal exception: panic_on_oops
41001
41002 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
41003 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
41004 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41005
41006 commit d758ee9f5230893dabb5aab737b3109684bde196
41007 Author: Dan Carpenter <dan.carpenter@oracle.com>
41008 Date: Fri Feb 10 09:03:58 2012 +0100
41009
41010 relay: prevent integer overflow in relay_open()
41011
41012 "subbuf_size" and "n_subbufs" come from the user and they need to be
41013 capped to prevent an integer overflow.
41014
41015 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
41016 Cc: stable@kernel.org
41017 Signed-off-by: Jens Axboe <axboe@kernel.dk>
41018
41019 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
41020 Merge: b1baadf 1daebf1
41021 Author: Brad Spengler <spender@grsecurity.net>
41022 Date: Mon Feb 13 17:47:04 2012 -0500
41023
41024 Merge branch 'pax-test' into grsec-test
41025
41026 Conflicts:
41027 fs/proc/base.c
41028
41029 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
41030 Merge: 1413df2 c2db2e2
41031 Author: Brad Spengler <spender@grsecurity.net>
41032 Date: Mon Feb 13 17:45:54 2012 -0500
41033
41034 Merge branch 'linux-3.2.y' into pax-test
41035
41036 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
41037 Author: Brad Spengler <spender@grsecurity.net>
41038 Date: Sun Feb 12 16:44:05 2012 -0500
41039
41040 add missing declaration
41041
41042 commit 3981059c35e8463002517935c28f3d74b8e3703c
41043 Author: Brad Spengler <spender@grsecurity.net>
41044 Date: Sun Feb 12 16:36:04 2012 -0500
41045
41046 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
41047 in addition to existing checks (this handles the setresuid ruid = euid case)
41048
41049 commit 0beab03263c773f463412c350ad9064b44b6ede0
41050 Author: Brad Spengler <spender@grsecurity.net>
41051 Date: Sun Feb 12 16:13:40 2012 -0500
41052
41053 Revert setreuid changes when RBAC is enabled, breaks freeradius
41054 I'll fix the learning issue Lavish reported a different way through
41055 gradm modifications
41056
41057 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
41058
41059 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
41060 Author: Brad Spengler <spender@grsecurity.net>
41061 Date: Sat Feb 11 14:22:46 2012 -0500
41062
41063 copy exec_id on fork
41064
41065 commit 000c08e0890630086b2ed04084050ed856a7ec31
41066 Author: Brad Spengler <spender@grsecurity.net>
41067 Date: Fri Feb 10 20:00:36 2012 -0500
41068
41069 compile fix
41070
41071 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
41072 Author: Brad Spengler <spender@grsecurity.net>
41073 Date: Fri Feb 10 19:19:52 2012 -0500
41074
41075 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
41076 denies reading of sensitive /proc/pid entries where the file descriptor
41077 was opened in a different task than the one performing the read
41078
41079 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
41080 Author: Brad Spengler <spender@grsecurity.net>
41081 Date: Fri Feb 10 17:43:24 2012 -0500
41082
41083 Remove duplicate signal check
41084
41085 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
41086 Merge: 4eba97e 1413df2
41087 Author: Brad Spengler <spender@grsecurity.net>
41088 Date: Wed Feb 8 19:24:34 2012 -0500
41089
41090 Merge branch 'pax-test' into grsec-test
41091
41092 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
41093 Author: Brad Spengler <spender@grsecurity.net>
41094 Date: Wed Feb 8 19:24:08 2012 -0500
41095
41096 Merge changes from pax-linux-3.2.4-test11.patch
41097
41098 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
41099 Merge: 0e058dd 8dd90a2
41100 Author: Brad Spengler <spender@grsecurity.net>
41101 Date: Mon Feb 6 17:50:12 2012 -0500
41102
41103 Merge branch 'pax-test' into grsec-test
41104
41105 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
41106 Author: Brad Spengler <spender@grsecurity.net>
41107 Date: Mon Feb 6 17:49:07 2012 -0500
41108
41109 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
41110
41111 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
41112 Merge: 7e4169c 6133971
41113 Author: Brad Spengler <spender@grsecurity.net>
41114 Date: Mon Feb 6 17:48:57 2012 -0500
41115
41116 Merge branch 'linux-3.2.y' into pax-test
41117
41118 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
41119 Author: Brad Spengler <spender@grsecurity.net>
41120 Date: Sun Feb 5 19:24:45 2012 -0500
41121
41122 We now allow configurations with no PaX markings, giving the system no way to override the defaults
41123
41124 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
41125 Author: Brad Spengler <spender@grsecurity.net>
41126 Date: Sun Feb 5 10:01:23 2012 -0500
41127
41128 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
41129
41130 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
41131 Author: Brad Spengler <spender@grsecurity.net>
41132 Date: Sat Feb 4 21:01:16 2012 -0500
41133
41134 Improve security of ptrace-based monitoring/sandboxing
41135 See:
41136 http://article.gmane.org/gmane.linux.kernel.lsm/15156
41137
41138 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
41139 Author: Brad Spengler <spender@grsecurity.net>
41140 Date: Fri Feb 3 20:42:55 2012 -0500
41141
41142 fix typo
41143
41144 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
41145 Author: Brad Spengler <spender@grsecurity.net>
41146 Date: Fri Feb 3 20:25:38 2012 -0500
41147
41148 Reported by lavish on IRC:
41149 If a suid/sgid binary did not learn any setuid/setgid call during learning,
41150 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
41151 any restrictions on uid/gid changes. uid and gid can however be changed
41152 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
41153 euid/egid.
41154
41155 My fix:
41156 POSIX doesn't specify whether unprivileged users can perform the above
41157 setresuid/setresgid as an unprivileged user, though Linux has historically
41158 permitted them. Modify this behavior when RBAC is enabled to require
41159 CAP_SETUID/CAP_SETGID for these operations.
41160
41161 Thanks to Lavish for the report!
41162
41163 Conflicts:
41164
41165 kernel/sys.c
41166
41167 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
41168 Merge: ba586eb 7e4169c
41169 Author: Brad Spengler <spender@grsecurity.net>
41170 Date: Fri Feb 3 20:10:21 2012 -0500
41171
41172 Merge branch 'pax-test' into grsec-test
41173
41174 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
41175 Author: Brad Spengler <spender@grsecurity.net>
41176 Date: Fri Feb 3 20:10:05 2012 -0500
41177
41178 Merge changes from pax-linux-3.2.4-test9.patch
41179
41180 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
41181 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
41182 Date: Thu Feb 2 11:34:09 2012 +1030
41183
41184 Fix race in process_vm_rw_core
41185
41186 This fixes the race in process_vm_core found by Oleg (see
41187
41188 http://article.gmane.org/gmane.linux.kernel/1235667/
41189
41190 for details).
41191
41192 This has been updated since I last sent it as the creation of the new
41193 mm_access() function did almost exactly the same thing as parts of the
41194 previous version of this patch did.
41195
41196 In order to use mm_access() even when /proc isn't enabled, we move it to
41197 kernel/fork.c where other related process mm access functions already
41198 are.
41199
41200 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
41201 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41202
41203 Conflicts:
41204
41205 fs/proc/base.c
41206 mm/process_vm_access.c
41207
41208 commit b9194d60fb9fe579f5c34817ed822abde18939a0
41209 Author: Oleg Nesterov <oleg@redhat.com>
41210 Date: Tue Jan 31 17:15:11 2012 +0100
41211
41212 proc: make sure mem_open() doesn't pin the target's memory
41213
41214 Once /proc/pid/mem is opened, the memory can't be released until
41215 mem_release() even if its owner exits.
41216
41217 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
41218 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
41219 before access_remote_vm(), this verifies that this mm is still alive.
41220
41221 I am not sure what should mem_rw() return if atomic_inc_not_zero()
41222 fails. With this patch it returns zero to match the "mm == NULL" case,
41223 may be it should return -EINVAL like it did before e268337d.
41224
41225 Perhaps it makes sense to add the additional fatal_signal_pending()
41226 check into the main loop, to ensure we do not hold this memory if
41227 the target task was oom-killed.
41228
41229 Cc: stable@kernel.org
41230 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
41231 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41232
41233 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
41234 Author: Oleg Nesterov <oleg@redhat.com>
41235 Date: Tue Jan 31 17:14:38 2012 +0100
41236
41237 proc: mem_release() should check mm != NULL
41238
41239 mem_release() can hit mm == NULL, add the necessary check.
41240
41241 Cc: stable@kernel.org
41242 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
41243 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41244
41245 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
41246 Author: Oleg Nesterov <oleg@redhat.com>
41247 Date: Tue Jan 31 17:14:54 2012 +0100
41248
41249 note: redisabled mem_write
41250
41251 proc: unify mem_read() and mem_write()
41252
41253 No functional changes, cleanup and preparation.
41254
41255 mem_read() and mem_write() are very similar. Move this code into the
41256 new common helper, mem_rw(), which takes the additional "int write"
41257 argument.
41258
41259 Cc: stable@kernel.org
41260 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
41261 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41262
41263 Conflicts:
41264
41265 fs/proc/base.c
41266
41267 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
41268 Merge: 3903f01 01fee18
41269 Author: Brad Spengler <spender@grsecurity.net>
41270 Date: Fri Feb 3 19:50:40 2012 -0500
41271
41272 Merge branch 'pax-test' into grsec-test
41273
41274 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
41275 Author: Brad Spengler <spender@grsecurity.net>
41276 Date: Fri Feb 3 19:49:46 2012 -0500
41277
41278 Merge changes from pax-linux-3.2.4-test8.patch
41279
41280 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
41281 Merge: 201c0db 141936c
41282 Author: Brad Spengler <spender@grsecurity.net>
41283 Date: Fri Feb 3 19:49:01 2012 -0500
41284
41285 Merge branch 'linux-3.2.y' into pax-test
41286
41287 commit 3903f0172ecadf7a575ba3535402a1506133640a
41288 Author: Brad Spengler <spender@grsecurity.net>
41289 Date: Mon Jan 30 23:26:44 2012 -0500
41290
41291 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
41292
41293 We'll whitelist required directories for compatibility instead of requiring
41294 that people disable the feature entirely if they use SELinux, fuse, etc
41295
41296 Conflicts:
41297
41298 fs/sysfs/mount.c
41299
41300 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
41301 Author: Brad Spengler <spender@grsecurity.net>
41302 Date: Sun Jan 29 01:12:19 2012 -0500
41303
41304 perform RBAC check if TPE is on but match fails, matches previous behavior
41305
41306 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
41307 Author: Brad Spengler <spender@grsecurity.net>
41308 Date: Sat Jan 28 13:17:06 2012 -0500
41309
41310 log more information about the reason for a TPE denial for novice users, requested by a sponsor
41311
41312 commit efefd67008cbad8a8591e2484410966a300a39a5
41313 Author: Brad Spengler <spender@grsecurity.net>
41314 Date: Fri Jan 27 19:58:53 2012 -0500
41315
41316 merge upstream sha512 changes
41317
41318 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
41319 Author: Brad Spengler <spender@grsecurity.net>
41320 Date: Fri Jan 27 19:49:07 2012 -0500
41321
41322 drop lock on error in xfs_readlink
41323
41324 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
41325
41326 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
41327 Author: Li Wang <liwang@nudt.edu.cn>
41328 Date: Thu Jan 19 09:44:36 2012 +0800
41329
41330 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
41331
41332 ecryptfs_write() can enter an infinite loop when truncating a file to a
41333 size larger than 4G. This only happens on architectures where size_t is
41334 represented by 32 bits.
41335
41336 This was caused by a size_t overflow due to it incorrectly being used to
41337 store the result of a calculation which uses potentially large values of
41338 type loff_t.
41339
41340 [tyhicks@canonical.com: rewrite subject and commit message]
41341 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
41342 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
41343 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
41344 Cc: <stable@vger.kernel.org>
41345 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
41346
41347 commit a7607747d0f74f357d78bb796d70635dd05f46e8
41348 Author: Tyler Hicks <tyhicks@canonical.com>
41349 Date: Thu Jan 19 20:33:44 2012 -0600
41350
41351 eCryptfs: Check inode changes in setattr
41352
41353 Most filesystems call inode_change_ok() very early in ->setattr(), but
41354 eCryptfs didn't call it at all. It allowed the lower filesystem to make
41355 the call in its ->setattr() function. Then, eCryptfs would copy the
41356 appropriate inode attributes from the lower inode to the eCryptfs inode.
41357
41358 This patch changes that and actually calls inode_change_ok() on the
41359 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
41360 would happen earlier in ecryptfs_setattr(), but there are some possible
41361 inode initialization steps that must happen first.
41362
41363 Since the call was already being made on the lower inode, the change in
41364 functionality should be minimal, except for the case of a file extending
41365 truncate call. In that case, inode_newsize_ok() was never being
41366 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
41367 maximum file size errors early on, eCryptfs would encrypt zeroed pages
41368 and write them to the lower filesystem until the lower filesystem's
41369 write path caught the error in generic_write_checks(). This patch
41370 introduces a new function, called ecryptfs_inode_newsize_ok(), which
41371 checks if the new lower file size is within the appropriate limits when
41372 the truncate operation will be growing the lower file.
41373
41374 In summary this change prevents eCryptfs truncate operations (and the
41375 resulting page encryptions), which would exceed the lower filesystem
41376 limits or FSIZE rlimits, from ever starting.
41377
41378 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
41379 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
41380 Cc: <stable@vger.kernel.org>
41381
41382 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
41383 Author: Tyler Hicks <tyhicks@canonical.com>
41384 Date: Wed Jan 18 18:30:04 2012 -0600
41385
41386 eCryptfs: Make truncate path killable
41387
41388 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
41389 page, zeroes out the appropriate portions, and then encrypts the page
41390 before writing it to the lower filesystem. It was unkillable and due to
41391 the lack of sparse file support could result in tying up a large portion
41392 of system resources, while encrypting pages of zeros, with no way for
41393 the truncate operation to be stopped from userspace.
41394
41395 This patch adds the ability for ecryptfs_write() to detect a pending
41396 fatal signal and return as gracefully as possible. The intent is to
41397 leave the lower file in a useable state, while still allowing a user to
41398 break out of the encryption loop. If a pending fatal signal is detected,
41399 the eCryptfs inode size is updated to reflect the modified inode size
41400 and then -EINTR is returned.
41401
41402 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
41403 Cc: <stable@vger.kernel.org>
41404
41405 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
41406 Author: Tyler Hicks <tyhicks@canonical.com>
41407 Date: Tue Jan 24 10:02:22 2012 -0600
41408
41409 eCryptfs: Fix oops when printing debug info in extent crypto functions
41410
41411 If pages passed to the eCryptfs extent-based crypto functions are not
41412 mapped and the module parameter ecryptfs_verbosity=1 was specified at
41413 loading time, a NULL pointer dereference will occur.
41414
41415 Note that this wouldn't happen on a production system, as you wouldn't
41416 pass ecryptfs_verbosity=1 on a production system. It leaks private
41417 information to the system logs and is for debugging only.
41418
41419 The debugging info printed in these messages is no longer very useful
41420 and rather than doing a kmap() in these debugging paths, it will be
41421 better to simply remove the debugging paths completely.
41422
41423 https://launchpad.net/bugs/913651
41424
41425 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
41426 Reported-by: Daniel DeFreez
41427 Cc: <stable@vger.kernel.org>
41428
41429 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
41430 Author: Tyler Hicks <tyhicks@canonical.com>
41431 Date: Thu Jan 12 11:30:44 2012 +0100
41432
41433 eCryptfs: Sanitize write counts of /dev/ecryptfs
41434
41435 A malicious count value specified when writing to /dev/ecryptfs may
41436 result in a a very large kernel memory allocation.
41437
41438 This patch peeks at the specified packet payload size, adds that to the
41439 size of the packet headers and compares the result with the write count
41440 value. The resulting maximum memory allocation size is approximately 532
41441 bytes.
41442
41443 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
41444 Reported-by: Sasha Levin <levinsasha928@gmail.com>
41445 Cc: <stable@vger.kernel.org>
41446
41447 commit 96dcb7282d323813181a1791f51c0ab7696b675b
41448 Merge: 6c09fa5 201c0db
41449 Author: Brad Spengler <spender@grsecurity.net>
41450 Date: Fri Jan 27 19:44:15 2012 -0500
41451
41452 Merge branch 'pax-test' into grsec-test
41453
41454 commit 201c0dbf177527367676028151e36d340923f033
41455 Author: Brad Spengler <spender@grsecurity.net>
41456 Date: Fri Jan 27 19:43:24 2012 -0500
41457
41458 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
41459 on loading modules with empty sections
41460
41461 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
41462 Author: Brad Spengler <spender@grsecurity.net>
41463 Date: Fri Jan 27 19:42:13 2012 -0500
41464
41465 compile fix
41466
41467 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
41468 Author: Brad Spengler <spender@grsecurity.net>
41469 Date: Fri Jan 27 19:39:28 2012 -0500
41470
41471 use LSM flags instead of duplicating checks
41472
41473 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
41474 Merge: 44b9f11 558718b
41475 Author: Brad Spengler <spender@grsecurity.net>
41476 Date: Fri Jan 27 18:56:23 2012 -0500
41477
41478 Merge branch 'pax-test' into grsec-test
41479
41480 commit 558718b2217beff69edf60f34a6f9893d910e9ac
41481 Author: Brad Spengler <spender@grsecurity.net>
41482 Date: Fri Jan 27 18:56:04 2012 -0500
41483
41484 Merge changes from pax-linux-3.2.2-test6.patch
41485
41486 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
41487 Author: Brad Spengler <spender@grsecurity.net>
41488 Date: Fri Jan 27 18:53:55 2012 -0500
41489
41490 don't increase the size of task_struct when unnecessary
41491 change ptrace_readexec log message
41492
41493 commit a9c9626e054adb885883aa64f85506852894dd33
41494 Author: Brad Spengler <spender@grsecurity.net>
41495 Date: Fri Jan 27 18:16:28 2012 -0500
41496
41497 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
41498 the protection applies to all unreadable binaries.
41499
41500 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
41501 Merge: 7b3f3af 05a1349
41502 Author: Brad Spengler <spender@grsecurity.net>
41503 Date: Wed Jan 25 20:52:09 2012 -0500
41504
41505 Merge branch 'pax-test' into grsec-test
41506
41507 Conflicts:
41508 block/scsi_ioctl.c
41509 drivers/scsi/sd.c
41510 fs/proc/base.c
41511
41512 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
41513 Author: Brad Spengler <spender@grsecurity.net>
41514 Date: Wed Jan 25 20:47:36 2012 -0500
41515
41516 Resync with pax-linux-3.2.2-test5.patch
41517
41518 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
41519 Merge: c6d443d 3499d64
41520 Author: Brad Spengler <spender@grsecurity.net>
41521 Date: Wed Jan 25 20:45:16 2012 -0500
41522
41523 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
41524
41525 Conflicts:
41526 ipc/shm.c
41527
41528 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
41529 Author: Brad Spengler <spender@grsecurity.net>
41530 Date: Tue Jan 24 19:42:01 2012 -0500
41531
41532 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
41533 (may be changed if it breaks some userland), the other has its own
41534 config option
41535
41536 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
41537 the syscall or /proc/sys.
41538
41539 Second feature requires read access to a suid/sgid binary in order
41540 to ptrace it, preventing infoleaking of binaries in situations where
41541 the admin has specified 4711 or 2711 perms. Feature has been
41542 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
41543 a sysctl entry of ptrace_readexec
41544
41545 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
41546 Author: Brad Spengler <spender@grsecurity.net>
41547 Date: Sun Jan 22 14:37:10 2012 -0500
41548
41549 Compilation fixes
41550
41551 commit cd400e21c7c352baba47d6f375297a7847afb33a
41552 Author: Brad Spengler <spender@grsecurity.net>
41553 Date: Sun Jan 22 14:20:27 2012 -0500
41554
41555 Initial port of grsecurity 2.2.2 for Linux 3.2.1
41556 Note that the new syscalls added to this kernel for remote process read/write
41557 are subject to ptrace hardening/other relevant RBAC features
41558 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
41559 as well
41560 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
41561 you should be using a version of gcc with plugin support
41562
41563 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
41564 Author: Brad Spengler <spender@grsecurity.net>
41565 Date: Sun Jan 22 11:47:31 2012 -0500
41566
41567 Import pax-linux-3.2.1-test5.patch
41568 commit bfd7db842f835f9837cd43644459b3a95b0b488d
41569 Author: Brad Spengler <spender@grsecurity.net>
41570 Date: Sun Jan 22 11:02:02 2012 -0500
41571
41572 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
41573 instead of returning -EACCES
41574 thanks to Wraith from irc for the report
41575
41576 commit 873ac13576506cd48ddb527c2540f274e249da50
41577 Merge: 34083dd 8a44fcc
41578 Author: Brad Spengler <spender@grsecurity.net>
41579 Date: Fri Jan 20 18:04:02 2012 -0500
41580
41581 Merge branch 'pax-test' into grsec-test
41582
41583 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
41584 Author: Brad Spengler <spender@grsecurity.net>
41585 Date: Fri Jan 20 18:02:15 2012 -0500
41586
41587 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
41588 Denies executable shared memory when MPROTECT is active
41589 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
41590
41591 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
41592 Author: Brad Spengler <spender@grsecurity.net>
41593 Date: Thu Jan 19 20:23:14 2012 -0500
41594
41595 Introduce new GRKERNSEC_SETXID implementation
41596 We're not able to change the credentials of other threads in the process until at most
41597 one syscall after the first thread does it, since we mark the threads as needing rescheduling
41598 and such work occurs on syscall exit.
41599 This does however ensure that we're only modifying the current task's credentials
41600 which upholds RCU expectations
41601
41602 Many thanks to corsac for testing
41603
41604 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
41605 Author: Brad Spengler <spender@grsecurity.net>
41606 Date: Thu Jan 19 17:42:48 2012 -0500
41607
41608 Simplify backport
41609
41610 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
41611 Author: Brad Spengler <spender@grsecurity.net>
41612 Date: Thu Jan 19 17:08:16 2012 -0500
41613
41614 Commit the latest silent fix for a local privilege escalation from Linus
41615 Also disable writing to /proc/pid/mem
41616 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
41617
41618 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
41619 Merge: 0394a3f 7e6299b
41620 Author: Brad Spengler <spender@grsecurity.net>
41621 Date: Wed Jan 18 20:22:09 2012 -0500
41622
41623 Merge branch 'pax-test' into grsec-test
41624
41625 commit 7e6299b4733c082dde930375dd207b63237751ec
41626 Merge: 83555fb 9bb1282
41627 Author: Brad Spengler <spender@grsecurity.net>
41628 Date: Wed Jan 18 20:21:37 2012 -0500
41629
41630 Merge branch 'linux-3.1.y' into pax-test
41631
41632 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
41633 Author: Jesper Juhl <jj@chaosbits.net>
41634 Date: Sun Jan 8 22:44:29 2012 +0100
41635
41636 audit: always follow va_copy() with va_end()
41637
41638 A call to va_copy() should always be followed by a call to va_end() in
41639 the same function. In kernel/autit.c::audit_log_vformat() this is not
41640 always done. This patch makes sure va_end() is always called.
41641
41642 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
41643 Cc: Al Viro <viro@zeniv.linux.org.uk>
41644 Cc: Eric Paris <eparis@redhat.com>
41645 Cc: Andrew Morton <akpm@linux-foundation.org>
41646 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41647
41648 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
41649 Author: Andi Kleen <ak@linux.intel.com>
41650 Date: Thu Jan 12 17:20:30 2012 -0800
41651
41652 panic: don't print redundant backtraces on oops
41653
41654 When an oops causes a panic and panic prints another backtrace it's pretty
41655 common to have the original oops data be scrolled away on a 80x50 screen.
41656
41657 The second backtrace is quite redundant and not needed anyways.
41658
41659 So don't print the panic backtrace when oops_in_progress is true.
41660
41661 [akpm@linux-foundation.org: add comment]
41662 Signed-off-by: Andi Kleen <ak@linux.intel.com>
41663 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
41664 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
41665 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41666
41667 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
41668 Author: Miklos Szeredi <mszeredi@suse.cz>
41669 Date: Thu Jan 12 17:59:46 2012 +0100
41670
41671 fsnotify: don't BUG in fsnotify_destroy_mark()
41672
41673 Removing the parent of a watched file results in "kernel BUG at
41674 fs/notify/mark.c:139".
41675
41676 To reproduce
41677
41678 add "-w /tmp/audit/dir/watched_file" to audit.rules
41679 rm -rf /tmp/audit/dir
41680
41681 This is caused by fsnotify_destroy_mark() being called without an
41682 extra reference taken by the caller.
41683
41684 Reported by Francesco Cosoleto here:
41685
41686 https://bugzilla.novell.com/show_bug.cgi?id=689860
41687
41688 Fix by removing the BUG_ON and adding a comment about not accessing mark after
41689 the iput.
41690
41691 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
41692 CC: stable@vger.kernel.org
41693 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41694
41695 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
41696 Author: Paolo Bonzini <pbonzini@redhat.com>
41697 Date: Thu Jan 12 16:01:28 2012 +0100
41698
41699 block: fail SCSI passthrough ioctls on partition devices
41700
41701 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
41702 will pass the command to the underlying block device. This is
41703 well-known, but it is also a large security problem when (via Unix
41704 permissions, ACLs, SELinux or a combination thereof) a program or user
41705 needs to be granted access only to part of the disk.
41706
41707 This patch lets partitions forward a small set of harmless ioctls;
41708 others are logged with printk so that we can see which ioctls are
41709 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
41710 Of course it was being sent to a (partition on a) hard disk, so it would
41711 have failed with ENOTTY and the patch isn't changing anything in
41712 practice. Still, I'm treating it specially to avoid spamming the logs.
41713
41714 In principle, this restriction should include programs running with
41715 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
41716 /dev/sdb, it still should not be able to read/write outside the
41717 boundaries of /dev/sda2 independent of the capabilities. However, for
41718 now programs with CAP_SYS_RAWIO will still be allowed to send the
41719 ioctls. Their actions will still be logged.
41720
41721 This patch does not affect the non-libata IDE driver. That driver
41722 however already tests for bd != bd->bd_contains before issuing some
41723 ioctl; it could be restricted further to forbid these ioctls even for
41724 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
41725
41726 Cc: linux-scsi@vger.kernel.org
41727 Cc: Jens Axboe <axboe@kernel.dk>
41728 Cc: James Bottomley <JBottomley@parallels.com>
41729 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
41730 [ Make it also print the command name when warning - Linus ]
41731 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41732
41733 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
41734 Author: Paolo Bonzini <pbonzini@redhat.com>
41735 Date: Thu Jan 12 16:01:27 2012 +0100
41736
41737 block: add and use scsi_blk_cmd_ioctl
41738
41739 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
41740
41741 The function will then be enhanced to detect partition block devices
41742 and, in that case, subject the ioctls to whitelisting.
41743
41744 Cc: linux-scsi@vger.kernel.org
41745 Cc: Jens Axboe <axboe@kernel.dk>
41746 Cc: James Bottomley <JBottomley@parallels.com>
41747 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
41748 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41749
41750 commit 97a79814903fc350e1d13704ea31528a42705401
41751 Author: Kees Cook <keescook@chromium.org>
41752 Date: Sat Jan 7 10:41:04 2012 -0800
41753
41754 audit: treat s_id as an untrusted string
41755
41756 The use of s_id should go through the untrusted string path, just to be
41757 extra careful.
41758
41759 Signed-off-by: Kees Cook <keescook@chromium.org>
41760 Acked-by: Mimi Zohar <zohar@us.ibm.com>
41761 Signed-off-by: Eric Paris <eparis@redhat.com>
41762
41763 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
41764 Author: Xi Wang <xi.wang@gmail.com>
41765 Date: Tue Dec 20 18:39:41 2011 -0500
41766
41767 audit: fix signedness bug in audit_log_execve_info()
41768
41769 In the loop, a size_t "len" is used to hold the return value of
41770 audit_log_single_execve_arg(), which returns -1 on error. In that
41771 case the error handling (len <= 0) will be bypassed since "len" is
41772 unsigned, and the loop continues with (p += len) being wrapped.
41773 Change the type of "len" to signed int to fix the error handling.
41774
41775 size_t len;
41776 ...
41777 for (...) {
41778 len = audit_log_single_execve_arg(...);
41779 if (len <= 0)
41780 break;
41781 p += len;
41782 }
41783
41784 Signed-off-by: Xi Wang <xi.wang@gmail.com>
41785 Signed-off-by: Eric Paris <eparis@redhat.com>
41786
41787 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
41788 Author: Dan Carpenter <dan.carpenter@oracle.com>
41789 Date: Tue Jan 17 03:28:51 2012 -0300
41790
41791 [media] ds3000: using logical && instead of bitwise &
41792
41793 The intent here was to test if the FE_HAS_LOCK was set. The current
41794 test is equivalent to "if (status) { ..."
41795
41796 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
41797 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
41798
41799 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
41800 Author: Brad Spengler <spender@grsecurity.net>
41801 Date: Mon Jan 16 13:10:38 2012 -0500
41802
41803 Ignore the 0 signal for protected task RBAC checks
41804
41805 commit d513acd55f7a683f6e146a4f570cdb63300479ab
41806 Author: Brad Spengler <spender@grsecurity.net>
41807 Date: Mon Jan 16 11:56:13 2012 -0500
41808
41809 whitespace cleanup
41810
41811 commit ced261c4b82818c700aff8487f647f6f3e5b5122
41812 Merge: d48751f 83555fb
41813 Author: Brad Spengler <spender@grsecurity.net>
41814 Date: Fri Jan 13 20:12:54 2012 -0500
41815
41816 Merge branch 'pax-test' into grsec-test
41817
41818 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
41819 Merge: fcd8129 93dad39
41820 Author: Brad Spengler <spender@grsecurity.net>
41821 Date: Fri Jan 13 20:12:43 2012 -0500
41822
41823 Merge branch 'linux-3.1.y' into pax-test
41824
41825 commit d48751f3919ae855fda0ff6c149db82442329253
41826 Author: Brad Spengler <spender@grsecurity.net>
41827 Date: Wed Jan 11 19:05:47 2012 -0500
41828
41829 Call our own set_user when forcing change to new id
41830
41831 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
41832 Merge: e6578ff fcd8129
41833 Author: Brad Spengler <spender@grsecurity.net>
41834 Date: Tue Jan 10 16:00:10 2012 -0500
41835
41836 Merge branch 'pax-test' into grsec-test
41837
41838 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
41839 Author: Brad Spengler <spender@grsecurity.net>
41840 Date: Tue Jan 10 15:58:43 2012 -0500
41841
41842 Merge changes from pax-linux-3.1.8-test23.patch
41843
41844 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
41845 Merge: 8859ec3 a120549
41846 Author: Brad Spengler <spender@grsecurity.net>
41847 Date: Fri Jan 6 21:45:56 2012 -0500
41848
41849 Merge branch 'pax-test' into grsec-test
41850
41851 commit a12054967a77090de1caa07c41e694a77db4e237
41852 Author: Brad Spengler <spender@grsecurity.net>
41853 Date: Fri Jan 6 21:45:30 2012 -0500
41854
41855 Merge changes from pax-linux-3.1.8-test22.patch
41856
41857 commit 8859ec32f9815c274df65448f9f2960176c380d3
41858 Merge: a5016b4 ddd4114
41859 Author: Brad Spengler <spender@grsecurity.net>
41860 Date: Fri Jan 6 21:26:08 2012 -0500
41861
41862 Merge branch 'pax-test' into grsec-test
41863
41864 Conflicts:
41865 fs/binfmt_elf.c
41866 security/Kconfig
41867
41868 commit ddd41147e158a79704983a409b7433eba797cf66
41869 Author: Brad Spengler <spender@grsecurity.net>
41870 Date: Fri Jan 6 21:12:42 2012 -0500
41871
41872 Resync with PaX patch (whitespace difference)
41873
41874 commit 29e569df8205c5f0e043fe4803aa984406c8b118
41875 Author: Brad Spengler <spender@grsecurity.net>
41876 Date: Fri Jan 6 21:09:47 2012 -0500
41877
41878 Merge changes from pax-linux-3.1.8-test21.patch
41879
41880 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
41881 Merge: 0124c92 04231d5
41882 Author: Brad Spengler <spender@grsecurity.net>
41883 Date: Fri Jan 6 18:52:20 2012 -0500
41884
41885 Merge branch 'pax-test' into grsec-test
41886
41887 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
41888 Merge: 7bdddeb a919904
41889 Author: Brad Spengler <spender@grsecurity.net>
41890 Date: Fri Jan 6 18:51:50 2012 -0500
41891
41892 Merge branch 'linux-3.1.y' into pax-test
41893
41894 Conflicts:
41895 include/net/flow.h
41896
41897 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
41898 Author: Brad Spengler <spender@grsecurity.net>
41899 Date: Fri Jan 6 18:33:05 2012 -0500
41900
41901 Make GRKERNSEC_SETXID option compatible with credential debugging
41902
41903 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
41904 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
41905 Date: Wed Dec 28 15:57:11 2011 -0800
41906
41907 mm/mempolicy.c: refix mbind_range() vma issue
41908
41909 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
41910 slightly incorrect fix.
41911
41912 Why? Think following case.
41913
41914 1. map 4 pages of a file at offset 0
41915
41916 [0123]
41917
41918 2. map 2 pages just after the first mapping of the same file but with
41919 page offset 2
41920
41921 [0123][23]
41922
41923 3. mbind() 2 pages from the first mapping at offset 2.
41924 mbind_range() should treat new vma is,
41925
41926 [0123][23]
41927 |23|
41928 mbind vma
41929
41930 but it does
41931
41932 [0123][23]
41933 |01|
41934 mbind vma
41935
41936 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
41937
41938 This patch fixes it.
41939
41940 [testcase]
41941 test result - before the patch
41942
41943 case4: 126: test failed. expect '2,4', actual '2,2,2'
41944 case5: passed
41945 case6: passed
41946 case7: passed
41947 case8: passed
41948 case_n: 246: test failed. expect '4,2', actual '1,4'
41949
41950 ------------[ cut here ]------------
41951 kernel BUG at mm/filemap.c:135!
41952 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
41953
41954 (snip long bug on messages)
41955
41956 test result - after the patch
41957
41958 case4: passed
41959 case5: passed
41960 case6: passed
41961 case7: passed
41962 case8: passed
41963 case_n: passed
41964
41965 source: mbind_vma_test.c
41966 ============================================================
41967 #include <numaif.h>
41968 #include <numa.h>
41969 #include <sys/mman.h>
41970 #include <stdio.h>
41971 #include <unistd.h>
41972 #include <stdlib.h>
41973 #include <string.h>
41974
41975 static unsigned long pagesize;
41976 void* mmap_addr;
41977 struct bitmask *nmask;
41978 char buf[1024];
41979 FILE *file;
41980 char retbuf[10240] = "";
41981 int mapped_fd;
41982
41983 char *rubysrc = "ruby -e '\
41984 pid = %d; \
41985 vstart = 0x%llx; \
41986 vend = 0x%llx; \
41987 s = `pmap -q #{pid}`; \
41988 rary = []; \
41989 s.each_line {|line|; \
41990 ary=line.split(\" \"); \
41991 addr = ary[0].to_i(16); \
41992 if(vstart <= addr && addr < vend) then \
41993 rary.push(ary[1].to_i()/4); \
41994 end; \
41995 }; \
41996 print rary.join(\",\"); \
41997 '";
41998
41999 void init(void)
42000 {
42001 void* addr;
42002 char buf[128];
42003
42004 nmask = numa_allocate_nodemask();
42005 numa_bitmask_setbit(nmask, 0);
42006
42007 pagesize = getpagesize();
42008
42009 sprintf(buf, "%s", "mbind_vma_XXXXXX");
42010 mapped_fd = mkstemp(buf);
42011 if (mapped_fd == -1)
42012 perror("mkstemp "), exit(1);
42013 unlink(buf);
42014
42015 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
42016 perror("lseek "), exit(1);
42017 if (write(mapped_fd, "\0", 1) < 0)
42018 perror("write "), exit(1);
42019
42020 addr = mmap(NULL, pagesize*8, PROT_NONE,
42021 MAP_SHARED, mapped_fd, 0);
42022 if (addr == MAP_FAILED)
42023 perror("mmap "), exit(1);
42024
42025 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
42026 perror("mprotect "), exit(1);
42027
42028 mmap_addr = addr + pagesize;
42029
42030 /* make page populate */
42031 memset(mmap_addr, 0, pagesize*6);
42032 }
42033
42034 void fin(void)
42035 {
42036 void* addr = mmap_addr - pagesize;
42037 munmap(addr, pagesize*8);
42038
42039 memset(buf, 0, sizeof(buf));
42040 memset(retbuf, 0, sizeof(retbuf));
42041 }
42042
42043 void mem_bind(int index, int len)
42044 {
42045 int err;
42046
42047 err = mbind(mmap_addr+pagesize*index, pagesize*len,
42048 MPOL_BIND, nmask->maskp, nmask->size, 0);
42049 if (err)
42050 perror("mbind "), exit(err);
42051 }
42052
42053 void mem_interleave(int index, int len)
42054 {
42055 int err;
42056
42057 err = mbind(mmap_addr+pagesize*index, pagesize*len,
42058 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
42059 if (err)
42060 perror("mbind "), exit(err);
42061 }
42062
42063 void mem_unbind(int index, int len)
42064 {
42065 int err;
42066
42067 err = mbind(mmap_addr+pagesize*index, pagesize*len,
42068 MPOL_DEFAULT, NULL, 0, 0);
42069 if (err)
42070 perror("mbind "), exit(err);
42071 }
42072
42073 void Assert(char *expected, char *value, char *name, int line)
42074 {
42075 if (strcmp(expected, value) == 0) {
42076 fprintf(stderr, "%s: passed\n", name);
42077 return;
42078 }
42079 else {
42080 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
42081 name, line,
42082 expected, value);
42083 // exit(1);
42084 }
42085 }
42086
42087 /*
42088 AAAA
42089 PPPPPPNNNNNN
42090 might become
42091 PPNNNNNNNNNN
42092 case 4 below
42093 */
42094 void case4(void)
42095 {
42096 init();
42097 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
42098
42099 mem_bind(0, 4);
42100 mem_unbind(2, 2);
42101
42102 file = popen(buf, "r");
42103 fread(retbuf, sizeof(retbuf), 1, file);
42104 Assert("2,4", retbuf, "case4", __LINE__);
42105
42106 fin();
42107 }
42108
42109 /*
42110 AAAA
42111 PPPPPPNNNNNN
42112 might become
42113 PPPPPPPPPPNN
42114 case 5 below
42115 */
42116 void case5(void)
42117 {
42118 init();
42119 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
42120
42121 mem_bind(0, 2);
42122 mem_bind(2, 2);
42123
42124 file = popen(buf, "r");
42125 fread(retbuf, sizeof(retbuf), 1, file);
42126 Assert("4,2", retbuf, "case5", __LINE__);
42127
42128 fin();
42129 }
42130
42131 /*
42132 AAAA
42133 PPPPNNNNXXXX
42134 might become
42135 PPPPPPPPPPPP 6
42136 */
42137 void case6(void)
42138 {
42139 init();
42140 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
42141
42142 mem_bind(0, 2);
42143 mem_bind(4, 2);
42144 mem_bind(2, 2);
42145
42146 file = popen(buf, "r");
42147 fread(retbuf, sizeof(retbuf), 1, file);
42148 Assert("6", retbuf, "case6", __LINE__);
42149
42150 fin();
42151 }
42152
42153 /*
42154 AAAA
42155 PPPPNNNNXXXX
42156 might become
42157 PPPPPPPPXXXX 7
42158 */
42159 void case7(void)
42160 {
42161 init();
42162 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
42163
42164 mem_bind(0, 2);
42165 mem_interleave(4, 2);
42166 mem_bind(2, 2);
42167
42168 file = popen(buf, "r");
42169 fread(retbuf, sizeof(retbuf), 1, file);
42170 Assert("4,2", retbuf, "case7", __LINE__);
42171
42172 fin();
42173 }
42174
42175 /*
42176 AAAA
42177 PPPPNNNNXXXX
42178 might become
42179 PPPPNNNNNNNN 8
42180 */
42181 void case8(void)
42182 {
42183 init();
42184 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
42185
42186 mem_bind(0, 2);
42187 mem_interleave(4, 2);
42188 mem_interleave(2, 2);
42189
42190 file = popen(buf, "r");
42191 fread(retbuf, sizeof(retbuf), 1, file);
42192 Assert("2,4", retbuf, "case8", __LINE__);
42193
42194 fin();
42195 }
42196
42197 void case_n(void)
42198 {
42199 init();
42200 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
42201
42202 /* make redundunt mappings [0][1234][34][7] */
42203 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
42204 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
42205
42206 /* Expect to do nothing. */
42207 mem_unbind(2, 2);
42208
42209 file = popen(buf, "r");
42210 fread(retbuf, sizeof(retbuf), 1, file);
42211 Assert("4,2", retbuf, "case_n", __LINE__);
42212
42213 fin();
42214 }
42215
42216 int main(int argc, char** argv)
42217 {
42218 case4();
42219 case5();
42220 case6();
42221 case7();
42222 case8();
42223 case_n();
42224
42225 return 0;
42226 }
42227 =============================================================
42228
42229 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
42230 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
42231 Cc: Minchan Kim <minchan.kim@gmail.com>
42232 Cc: Caspar Zhang <caspar@casparzhang.com>
42233 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
42234 Cc: Christoph Lameter <cl@linux.com>
42235 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
42236 Cc: Mel Gorman <mel@csn.ul.ie>
42237 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
42238 Cc: <stable@vger.kernel.org> [3.1.x]
42239 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
42240 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
42241
42242 commit f3a1082005781777086df235049f8c0b7efe524e
42243 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
42244 Date: Tue Dec 27 22:32:41 2011 -0500
42245
42246 packet: fix possible dev refcnt leak when bind fail
42247
42248 If bind is fail when bind is called after set PACKET_FANOUT
42249 sock option, the dev refcnt will leak.
42250
42251 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
42252 Signed-off-by: David S. Miller <davem@davemloft.net>
42253
42254 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
42255 Author: Haogang Chen <haogangchen@gmail.com>
42256 Date: Mon Dec 19 17:11:56 2011 -0800
42257
42258 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
42259
42260 There is a potential integer overflow in nilfs_ioctl_clean_segments().
42261 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
42262 call to vmalloc() will allocate a buffer smaller than expected, which
42263 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
42264 lfs_clean_segments().
42265
42266 The following check does not prevent the overflow because nsegs is also
42267 controlled by the userspace and could be very large.
42268
42269 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
42270 goto out_free;
42271
42272 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
42273 returns -EINVAL when overflow.
42274
42275 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
42276 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
42277 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
42278 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
42279
42280 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
42281 Author: Kautuk Consul <consul.kautuk@gmail.com>
42282 Date: Mon Dec 19 17:12:04 2011 -0800
42283
42284 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
42285
42286 Static storage is not required for the struct vmap_area in
42287 __get_vm_area_node.
42288
42289 Removing "static" to store this variable on the stack instead.
42290
42291 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
42292 Acked-by: David Rientjes <rientjes@google.com>
42293 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
42294 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
42295
42296 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
42297 Author: Michel Lespinasse <walken@google.com>
42298 Date: Mon Dec 19 17:12:06 2011 -0800
42299
42300 binary_sysctl(): fix memory leak
42301
42302 binary_sysctl() calls sysctl_getname() which allocates from names_cache
42303 slab usin __getname()
42304
42305 The matching function to free the name is __putname(), and not putname()
42306 which should be used only to match getname() allocations.
42307
42308 This is because when auditing is enabled, putname() calls audit_putname
42309 *instead* (not in addition) to __putname(). Then, if a syscall is in
42310 progress, audit_putname does not release the name - instead, it expects
42311 the name to get released when the syscall completes, but that will happen
42312 only if audit_getname() was called previously, i.e. if the name was
42313 allocated with getname() rather than the naked __getname(). So,
42314 __getname() followed by putname() ends up leaking memory.
42315
42316 Signed-off-by: Michel Lespinasse <walken@google.com>
42317 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
42318 Cc: Christoph Hellwig <hch@infradead.org>
42319 Cc: Eric Paris <eparis@redhat.com>
42320 Cc: <stable@vger.kernel.org>
42321 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
42322 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
42323
42324 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
42325 Author: Sean Hefty <sean.hefty@intel.com>
42326 Date: Tue Dec 6 21:17:11 2011 +0000
42327
42328 RDMA/cma: Verify private data length
42329
42330 private_data_len is defined as a u8. If the user specifies a large
42331 private_data size (> 220 bytes), we will calculate a total length that
42332 exceeds 255, resulting in private_data_len wrapping back to 0. This
42333 can lead to overwriting random kernel memory. Avoid this by verifying
42334 that the resulting size fits into a u8.
42335
42336 Reported-by: B. Thery <benjamin.thery@bull.net>
42337 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
42338 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
42339 Signed-off-by: Roland Dreier <roland@purestorage.com>
42340
42341 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
42342 Author: Xi Wang <xi.wang@gmail.com>
42343 Date: Sun Dec 11 23:40:56 2011 -0800
42344
42345 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
42346
42347 The error check (intr_status < 0) didn't work because intr_status is
42348 a u8. Change its type to signed int.
42349
42350 Signed-off-by: Xi Wang <xi.wang@gmail.com>
42351 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
42352
42353 commit e27f34e383d7863b2528a63b81b23db09781f6b6
42354 Author: Xi Wang <xi.wang@gmail.com>
42355 Date: Fri Dec 16 12:44:15 2011 +0000
42356
42357 sctp: fix incorrect overflow check on autoclose
42358
42359 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
42360 limiting the autoclose value. If userspace passes in -1 on 32-bit
42361 platform, the overflow check didn't work and autoclose would be set
42362 to 0xffffffff.
42363
42364 This patch defines a max_autoclose (in seconds) for limiting the value
42365 and exposes it through sysctl, with the following intentions.
42366
42367 1) Avoid overflowing autoclose * HZ.
42368
42369 2) Keep the default autoclose bound consistent across 32- and 64-bit
42370 platforms (INT_MAX / HZ in this patch).
42371
42372 3) Keep the autoclose value consistent between setsockopt() and
42373 getsockopt() calls.
42374
42375 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
42376 Signed-off-by: Xi Wang <xi.wang@gmail.com>
42377 Signed-off-by: David S. Miller <davem@davemloft.net>
42378
42379 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
42380 Author: Xi Wang <xi.wang@gmail.com>
42381 Date: Wed Dec 21 05:18:33 2011 -0500
42382
42383 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
42384
42385 Commit e133e737 didn't correctly fix the integer overflow issue.
42386
42387 - unsigned int required_size;
42388 + u64 required_size;
42389 ...
42390 required_size = mode_cmd->pitch * mode_cmd->height;
42391 - if (unlikely(required_size > dev_priv->vram_size)) {
42392 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
42393
42394 Note that both pitch and height are u32. Their product is still u32 and
42395 would overflow before being assigned to required_size. A correct way is
42396 to convert pitch and height to u64 before the multiplication.
42397
42398 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
42399
42400 This patch calls the existing vmw_kms_validate_mode_vram() for
42401 validation.
42402
42403 Signed-off-by: Xi Wang <xi.wang@gmail.com>
42404 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
42405 Signed-off-by: Dave Airlie <airlied@redhat.com>
42406
42407 Conflicts:
42408
42409 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
42410
42411 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
42412 Author: Xi Wang <xi.wang@gmail.com>
42413 Date: Thu Dec 22 13:35:22 2011 +0000
42414
42415 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
42416
42417 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
42418 cause a kernel oops due to insufficient bounds checking.
42419
42420 if (count > 1<<30) {
42421 /* Enforce a limit to prevent overflow */
42422 return -EINVAL;
42423 }
42424 count = roundup_pow_of_two(count);
42425 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
42426
42427 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
42428
42429 ... + (count * sizeof(struct rps_dev_flow))
42430
42431 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
42432 32 bits.
42433
42434 This patch replaces the magic number (1 << 30) with a symbolic bound.
42435
42436 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
42437 Signed-off-by: Xi Wang <xi.wang@gmail.com>
42438 Signed-off-by: David S. Miller <davem@davemloft.net>
42439
42440 commit 648188958672024b616c42c1f6c98c8cfc85619d
42441 Author: Xi Wang <xi.wang@gmail.com>
42442 Date: Fri Dec 30 10:40:17 2011 -0500
42443
42444 netfilter: ctnetlink: fix timeout calculation
42445
42446 The sanity check (timeout < 0) never works; the dividend is unsigned
42447 and so is the division, which should have been a signed division.
42448
42449 long timeout = (ct->timeout.expires - jiffies) / HZ;
42450 if (timeout < 0)
42451 timeout = 0;
42452
42453 This patch converts the time values to signed for the division.
42454
42455 Signed-off-by: Xi Wang <xi.wang@gmail.com>
42456 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
42457
42458 commit ab03a0973cee73f88655ff4981812ad316a6cd59
42459 Merge: 76f82df 7bdddeb
42460 Author: Brad Spengler <spender@grsecurity.net>
42461 Date: Tue Jan 3 17:42:50 2012 -0500
42462
42463 Merge branch 'pax-test' into grsec-test
42464
42465 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
42466 Merge: 3e59cb5 55cc81a
42467 Author: Brad Spengler <spender@grsecurity.net>
42468 Date: Tue Jan 3 17:42:36 2012 -0500
42469
42470 Merge branch 'linux-3.1.y' into pax-test
42471
42472 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
42473 Author: Brad Spengler <spender@grsecurity.net>
42474 Date: Thu Dec 22 20:15:02 2011 -0500
42475
42476 Only further restrict futex targeting another process -- our modified
42477 permission check also happened to allow a case where a process retaining
42478 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
42479 being non-zero (reported on forums by ben_w)
42480
42481 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
42482 Merge: 97c16f0 3e59cb5
42483 Author: Brad Spengler <spender@grsecurity.net>
42484 Date: Thu Dec 22 19:11:06 2011 -0500
42485
42486 Merge branch 'pax-test' into grsec-test
42487
42488 Conflicts:
42489 fs/hfs/btree.c
42490
42491 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
42492 Merge: 285eb4e c26f60b
42493 Author: Brad Spengler <spender@grsecurity.net>
42494 Date: Thu Dec 22 19:09:57 2011 -0500
42495
42496 Merge branch 'linux-3.1.y' into pax-test
42497
42498 Conflicts:
42499 arch/x86/kernel/process.c
42500
42501 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
42502 Author: Brad Spengler <spender@grsecurity.net>
42503 Date: Mon Dec 19 21:54:01 2011 -0500
42504
42505 Add new option: "Enforce consistent multithreaded privileges"
42506
42507 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
42508 Author: Brad Spengler <spender@grsecurity.net>
42509 Date: Wed Dec 7 19:58:31 2011 -0500
42510
42511 Remove harmless duplicate code -- exec_file would be null already so the
42512 second check would never pass.
42513
42514 commit 4e3304e94aa72737810bc50169519af157dce4ce
42515 Author: Brad Spengler <spender@grsecurity.net>
42516 Date: Wed Dec 7 19:50:39 2011 -0500
42517
42518 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
42519 depended on for attaching to a thread. Entries exist in /proc for
42520 threads, but are not visible in a readdir.
42521
42522 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
42523 Author: Brad Spengler <spender@grsecurity.net>
42524 Date: Sun Dec 4 18:03:28 2011 -0500
42525
42526 Put the already-walked path if in RCU-walk mode
42527
42528 commit ec7ae36b7159f10649709779443a988662965d66
42529 Author: Brad Spengler <spender@grsecurity.net>
42530 Date: Sun Dec 4 17:35:21 2011 -0500
42531
42532 Fix memory leak introduced by recent (unpublished) commit
42533 75ab998b94a29d464518d6d501bdde3fbfcbfa14
42534
42535 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
42536 Author: Brad Spengler <spender@grsecurity.net>
42537 Date: Sun Dec 4 13:56:10 2011 -0500
42538
42539 Explicitly check size copied to userland in override_release to silence gcc
42540
42541 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
42542 Author: Brad Spengler <spender@grsecurity.net>
42543 Date: Sun Dec 4 13:54:02 2011 -0500
42544
42545 Initialize variable to silence erroneous gcc warning
42546
42547 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
42548 Author: Brad Spengler <spender@grsecurity.net>
42549 Date: Sun Dec 4 13:47:47 2011 -0500
42550
42551 Future-proof other potential RCU-aware locations where we can log.
42552
42553 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
42554 Author: Brad Spengler <spender@grsecurity.net>
42555 Date: Sun Dec 4 13:02:54 2011 -0500
42556
42557 Fix freeze reported by 'vs' on the forums. Bug occurred due to
42558 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
42559 in generic_permission() was in the task's effective set but disallowed by
42560 RBAC, would block when acquiring locks resulting in the freeze.
42561
42562 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
42563 as being required when CAP_DAC_OVERRIDE is present (consistent with
42564 older patches).
42565
42566 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
42567 Author: Xi Wang <xi.wang@gmail.com>
42568 Date: Tue Nov 29 09:26:30 2011 +0000
42569
42570 sctp: better integer overflow check in sctp_auth_create_key()
42571
42572 The check from commit 30c2235c is incomplete and cannot prevent
42573 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
42574 left-hand side of the check (INT_MAX - key_len), which is unsigned,
42575 becomes 0xffffffff (UINT_MAX) and bypasses the check.
42576
42577 However this shouldn't be a security issue. The function is called
42578 from the following two code paths:
42579
42580 1) setsockopt()
42581
42582 2) sctp_auth_asoc_set_secret()
42583
42584 In case (1), sca_keylength is never going to exceed 65535 since it's
42585 bounded by a u16 from the user API. As such, the key length will
42586 never overflow.
42587
42588 In case (2), sca_keylength is computed based on the user key (1 short)
42589 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
42590 will not overflow.
42591
42592 In other words, this overflow check is not really necessary. Just
42593 make it more correct.
42594
42595 Signed-off-by: Xi Wang <xi.wang@gmail.com>
42596 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
42597 Signed-off-by: David S. Miller <davem@davemloft.net>
42598
42599 commit e565e28c3635a1d50f80541fbf6b606d742fec76
42600 Author: Josh Boyer <jwboyer@redhat.com>
42601 Date: Fri Aug 19 14:50:26 2011 -0400
42602
42603 fs/minix: Verify bitmap block counts before mounting
42604
42605 Newer versions of MINIX can create filesystems that allocate an extra
42606 bitmap block. Mounting of this succeeds, but doing a statfs call will
42607 result in an oops in count_free because of a negative number being used
42608 for the bh index.
42609
42610 Avoid this by verifying the number of allocated blocks at mount time,
42611 erroring out if there are not enough and make statfs ignore the extras
42612 if there are too many.
42613
42614 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
42615
42616 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
42617 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
42618
42619 commit 6e134e398ec1a3f428261680e83df4319e64bed9
42620 Author: Julia Lawall <julia@diku.dk>
42621 Date: Tue Nov 15 14:53:11 2011 -0800
42622
42623 drivers/gpu/vga/vgaarb.c: add missing kfree
42624
42625 kbuf is a buffer that is local to this function, so all of the error paths
42626 leaving the function should release it.
42627
42628 Signed-off-by: Julia Lawall <julia@diku.dk>
42629 Cc: Jesper Juhl <jj@chaosbits.net>
42630 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
42631 Signed-off-by: Dave Airlie <airlied@redhat.com>
42632
42633 commit 2b9057b321e36860e8d63985b5c4e496f254b717
42634 Author: Brad Spengler <spender@grsecurity.net>
42635 Date: Sat Dec 3 21:33:28 2011 -0500
42636
42637 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
42638
42639 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
42640 Author: Brad Spengler <spender@grsecurity.net>
42641 Date: Sat Dec 3 21:29:37 2011 -0500
42642
42643 Import pax-linux-3.1.4-test18.patch
42644
42645 commit 285eb4ea45d853ae00426b3315a61c1368080dad
42646 Author: Brad Spengler <spender@grsecurity.net>
42647 Date: Sat Dec 10 18:33:46 2011 -0500
42648
42649 Import changes from pax-linux-3.1.5-test20.patch
42650
42651 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
42652 Author: Brad Spengler <spender@grsecurity.net>
42653 Date: Thu Dec 8 20:55:54 2011 -0500
42654
42655 Import changes from pax-linux-3.1.4-test19.patch
42656
42657 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
42658 Author: Brad Spengler <spender@grsecurity.net>
42659 Date: Sat Dec 3 21:29:37 2011 -0500
42660
42661 Import pax-linux-3.1.4-test18.patch
42662 commit 4c61dba17c53d0a775c77aed0c0ddb15a12daa3c
42663 Merge: c3ccfb2 777e08c
42664 Author: Brad Spengler <spender@grsecurity.net>
42665 Date: Sun Sep 8 19:49:04 2013 -0400
42666
42667 Merge branch 'pax-test' into grsec-test
42668
42669 commit 777e08c6a87ef43439f4431d8d458732ca5e17c6
42670 Author: Brad Spengler <spender@grsecurity.net>
42671 Date: Sun Sep 8 19:47:32 2013 -0400
42672
42673 Update to pax-linux-3.10.11-test26.patch:
42674 - reworked __SC_LONG to care about only int and smaller types, this eliminates size overflow false positives reported by hunger
42675 - fixed an uninitialized read in splice, reported by hunger
42676
42677 fs/splice.c | 1 +
42678 include/linux/syscalls.h | 14 +-
42679 tools/gcc/size_overflow_hash.data | 426 +++++++++++++++++++++----------------
42680 3 files changed, 247 insertions(+), 194 deletions(-)
42681
42682 commit 5c3161364270c842d901789faac731f79a9f9cd6
42683 Merge: cf9c476 85cdabb
42684 Author: Brad Spengler <spender@grsecurity.net>
42685 Date: Sun Sep 8 19:24:25 2013 -0400
42686
42687 Merge branch 'linux-3.10.y' into pax-test
42688
42689 commit c3ccfb29794a03413095422100ce90d40ef7df0f
42690 Author: Jakob Bornecrantz <jakob@vmware.com>
42691 Date: Thu Aug 29 02:32:53 2013 +0200
42692
42693 Upstream commit: 6e4dcff3adbf25acb87e74500a58e3c07bdec40f
42694
42695 drm/vmwgfx: Split GMR2_REMAP commands if they are to large
42696
42697 This fixes the piglit test texturing/max-texture-size
42698 causing the VM to die due to a too large SVGA command.
42699
42700 Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
42701 Reviewed-by: Biran Paul <brianp@vmware.com>
42702 Reviewed-by: Zack Rusin <zackr@vmware.com>
42703 Cc: stable@vger.kernel.org
42704 Signed-off-by: Dave Airlie <airlied@gmail.com>
42705
42706 drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c | 58 +++++++++++++++++++++++-----------
42707 1 files changed, 39 insertions(+), 19 deletions(-)
42708
42709 commit d260badf708d6aa16c44f56f54727532dcae826e
42710 Author: Daniel Borkmann <dborkman@redhat.com>
42711 Date: Tue Sep 3 19:29:12 2013 +0200
42712
42713 Upstream commit: 3a1c756590633c0e86df606e5c618c190926a0df
42714
42715 net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv
42716
42717 In tcp_v6_do_rcv() code, when processing pkt options, we soley work
42718 on our skb clone opt_skb that we've created earlier before entering
42719 tcp_rcv_established() on our way. However, only in condition ...
42720
42721 if (np->rxopt.bits.rxtclass)
42722 np->rcv_tclass = ipv6_get_dsfield(ipv6_hdr(skb));
42723
42724 ... we work on skb itself. As we extract every other information out
42725 of opt_skb in ipv6_pktoptions path, this seems wrong, since skb can
42726 already be released by tcp_rcv_established() earlier on. When we try
42727 to access it in ipv6_hdr(), we will dereference freed skb.
42728
42729 [ Bug added by commit 4c507d2897bd9b ("net: implement IP_RECVTOS for
42730 IP_PKTOPTIONS") ]
42731
42732 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
42733 Cc: Eric Dumazet <eric.dumazet@gmail.com>
42734 Acked-by: Eric Dumazet <edumazet@google.com>
42735 Acked-by: Jiri Benc <jbenc@redhat.com>
42736 Signed-off-by: David S. Miller <davem@davemloft.net>
42737
42738 net/ipv6/tcp_ipv6.c | 2 +-
42739 1 files changed, 1 insertions(+), 1 deletions(-)
42740
42741 commit ee3db7a4fb3619d70b8e0c1a8de07402a67e8d31
42742 Author: Dan Carpenter <dan.carpenter@oracle.com>
42743 Date: Thu Aug 29 11:47:00 2013 +0300
42744
42745 Upstream commit: 0d63c27d9e879a0b54eb405636d60ab12040ca46
42746
42747 mISDN: return -EINVAL on error in dsp_control_req()
42748
42749 If skb->len is too short then we should return an error. Otherwise we
42750 read beyond the end of skb->data for several bytes.
42751
42752 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
42753 Signed-off-by: David S. Miller <davem@davemloft.net>
42754
42755 drivers/isdn/mISDN/dsp_core.c | 4 +++-
42756 1 files changed, 3 insertions(+), 1 deletions(-)
42757
42758 commit af7c2bc789c8fe5ef7474f22dacf212be22fd0af
42759 Author: Brad Spengler <spender@grsecurity.net>
42760 Date: Thu Sep 5 19:36:23 2013 -0400
42761
42762 fix dependencies for GRKERNSEC_ROFS / GRKERNSEC_DENYUSB
42763
42764 grsecurity/Kconfig | 3 ++-
42765 1 files changed, 2 insertions(+), 1 deletions(-)
42766
42767 commit da68dbcd96c617923a0aedb177d36b2701f9c858
42768 Author: Brad Spengler <spender@grsecurity.net>
42769 Date: Thu Sep 5 19:17:02 2013 -0400
42770
42771 Allow the deny_new_usb sysctl to be toggled off by a user with
42772 CAP_SYS_ADMIN. This allows for more inventive uses of the feature
42773 that would be impossible otherwise (like toggling it while the screen is
42774 locked, etc)
42775
42776 grsecurity/grsec_sysctl.c | 4 +---
42777 1 files changed, 1 insertions(+), 3 deletions(-)
42778
42779 commit ce0e893adc830ee110f97071cc17e661fb35ae3d
42780 Author: Brad Spengler <spender@grsecurity.net>
42781 Date: Thu Sep 5 18:41:49 2013 -0400
42782
42783 Add a new GRKERNSEC_DENYUSB_FORCE option that achieves what
42784 GRKERNSEC_DENYUSB does without the need for a sysctl toggle, for
42785 users who know they want the functionality but don't want to bother
42786 with modifying init scripts
42787
42788 Also eliminate reset_security_ops() as a ROP target when
42789 SECURITY_SELINUX_DISABLE is disabled as it's the only user
42790
42791 grsecurity/Kconfig | 17 ++++++++++++++++-
42792 grsecurity/grsec_init.c | 3 +++
42793 grsecurity/grsec_sysctl.c | 2 +-
42794 security/security.c | 4 ++++
42795 4 files changed, 24 insertions(+), 2 deletions(-)
42796
42797 commit 0d5ca3a057ae48b5fdccb2f0a7a841a5cc76d3dd
42798 Merge: 7ee3899 cf9c476
42799 Author: Brad Spengler <spender@grsecurity.net>
42800 Date: Sun Sep 1 13:56:57 2013 -0400
42801
42802 Merge branch 'pax-test' into grsec-test
42803
42804 commit cf9c47690fa0f3da590de766ea8c6a543984ee3c
42805 Author: Brad Spengler <spender@grsecurity.net>
42806 Date: Sun Sep 1 13:56:16 2013 -0400
42807
42808 Update to pax-linux-3.10.10-test25.patch:
42809 - fixed a few more REFCOUNT false positives, by Mathias Krause <minipli@googlemail.com>
42810 - got inet_getid and ipv6_select_ident rid of the cmpxchg loop
42811
42812 block/blk-cgroup.c | 4 ++--
42813 drivers/video/hyperv_fb.c | 4 ++--
42814 fs/namespace.c | 4 ++--
42815 include/net/inetpeer.h | 13 +++++--------
42816 kernel/trace/trace_clock.c | 4 ++--
42817 net/ipv6/output_core.c | 15 ++++++---------
42818 net/sunrpc/auth_gss/svcauth_gss.c | 4 ++--
42819 7 files changed, 21 insertions(+), 27 deletions(-)
42820
42821 commit 7ee3899312d611b85cadd3eda173f7a3952bb8aa
42822 Merge: fd0338c 2bdeae7
42823 Author: Brad Spengler <spender@grsecurity.net>
42824 Date: Sat Aug 31 22:07:38 2013 -0400
42825
42826 Merge branch 'pax-test' into grsec-test
42827
42828 commit 2bdeae76eab5c34e4b88c7090a435b969037a3c1
42829 Author: Brad Spengler <spender@grsecurity.net>
42830 Date: Sat Aug 31 22:06:55 2013 -0400
42831
42832 Update to pax-linux-3.10.10-test24.patch:
42833 - fixed a REFCOUNT false positive, by Mathias Krause <minipli@googlemail.com>
42834 - fixed a bunch more after a quick audit of atomic_inc_return users
42835
42836 drivers/acpi/apei/ghes.c | 4 ++--
42837 drivers/ata/libata-core.c | 4 ++--
42838 drivers/ata/libata-scsi.c | 2 +-
42839 drivers/ata/libata.h | 2 +-
42840 drivers/block/drbd/drbd_nl.c | 4 ++--
42841 drivers/crypto/hifn_795x.c | 4 ++--
42842 drivers/edac/edac_device.c | 4 ++--
42843 drivers/edac/edac_pci.c | 4 ++--
42844 drivers/firewire/core-card.c | 4 ++--
42845 drivers/hv/hv_balloon.c | 18 +++++++++---------
42846 drivers/infiniband/hw/mlx4/mad.c | 2 +-
42847 drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
42848 drivers/input/misc/ims-pcu.c | 4 ++--
42849 drivers/input/serio/serio_raw.c | 4 ++--
42850 drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
42851 drivers/media/radio/radio-maxiradio.c | 2 +-
42852 drivers/media/radio/radio-shark.c | 2 +-
42853 drivers/media/radio/radio-shark2.c | 2 +-
42854 drivers/media/radio/radio-si476x.c | 2 +-
42855 drivers/media/rc/rc-main.c | 4 ++--
42856 drivers/media/v4l2-core/v4l2-device.c | 4 ++--
42857 drivers/net/usb/sierra_net.c | 4 ++--
42858 drivers/pci/hotplug/pciehp_hpc.c | 4 +---
42859 drivers/regulator/core.c | 4 ++--
42860 drivers/scsi/fcoe/fcoe_sysfs.c | 12 ++++++------
42861 drivers/staging/android/timed_output.c | 6 +++---
42862 drivers/staging/media/solo6x10/solo6x10-p2m.c | 2 +-
42863 drivers/staging/media/solo6x10/solo6x10.h | 2 +-
42864 drivers/target/sbp/sbp_target.c | 4 ++--
42865 drivers/tty/hvc/hvsi.c | 12 ++++++------
42866 drivers/tty/hvc/hvsi_lib.c | 6 +++---
42867 drivers/tty/serial/ioc4_serial.c | 6 +++---
42868 drivers/tty/serial/msm_serial.c | 4 ++--
42869 drivers/usb/misc/appledisplay.c | 4 ++--
42870 fs/afs/inode.c | 4 ++--
42871 fs/btrfs/delayed-inode.c | 6 +++---
42872 fs/btrfs/delayed-inode.h | 4 ++--
42873 fs/fscache/cookie.c | 4 ++--
42874 include/media/v4l2-device.h | 2 +-
42875 net/ceph/messenger.c | 4 ++--
42876 net/core/netpoll.c | 4 ++--
42877 net/xfrm/xfrm_state.c | 4 ++--
42878 security/selinux/avc.c | 6 +++---
42879 43 files changed, 93 insertions(+), 95 deletions(-)
42880
42881 commit fd0338c8877c47789a9cc61f3a26c83e68aa3d37
42882 Merge: 1bdf7ec 85099d2
42883 Author: Brad Spengler <spender@grsecurity.net>
42884 Date: Sat Aug 31 21:07:29 2013 -0400
42885
42886 Merge branch 'pax-test' into grsec-test
42887
42888 commit 85099d220fb014b6e4c6ffe18a55b20c61f6daed
42889 Author: Brad Spengler <spender@grsecurity.net>
42890 Date: Sat Aug 31 21:06:55 2013 -0400
42891
42892 Update to pax-linux-3.10.10-test23.patch:
42893 - added the necessary atomic_unchecked_t conversion for mips
42894 - audited and fixed arm and sparc for proper atomic_unchecked_t usage
42895
42896 arch/arm/kvm/arm.c | 8 ++++----
42897 arch/arm/mm/context.c | 10 +++++-----
42898 arch/mips/kernel/irq.c | 6 +++---
42899 arch/mips/kernel/sync-r4k.c | 24 ++++++++++++------------
42900 arch/mips/sgi-ip27/ip27-nmi.c | 6 +++---
42901 arch/sparc/kernel/smp_64.c | 12 ++++++------
42902 arch/sparc/kernel/traps_64.c | 14 +++++++-------
42903 arch/sparc/mm/init_64.c | 10 +++++-----
42904 8 files changed, 45 insertions(+), 45 deletions(-)
42905
42906 commit 1bdf7ec39027ffd7c3099b78ff20c39295448b34
42907 Merge: 995a168 38ee86c
42908 Author: Brad Spengler <spender@grsecurity.net>
42909 Date: Fri Aug 30 19:23:36 2013 -0400
42910
42911 Merge branch 'pax-test' into grsec-test
42912
42913 commit 38ee86c05df0f8db582df8776b9f23f317d42bbb
42914 Author: Brad Spengler <spender@grsecurity.net>
42915 Date: Fri Aug 30 19:23:11 2013 -0400
42916
42917 Update to pax-linux-3.10.10-test22.patch:
42918 - fixed !REFCOUNT/mips compilation, by Corey Minyard <cminyard@mvista.com>
42919 - fixed a few more format strings
42920
42921 arch/mips/include/asm/atomic.h | 20 ++++++++++++++++----
42922 drivers/md/bcache/super.c | 2 +-
42923 drivers/net/wireless/iwlwifi/dvm/main.c | 3 +--
42924 drivers/pci/hotplug/pciehp_hpc.c | 2 +-
42925 drivers/platform/x86/wmi.c | 2 +-
42926 drivers/scsi/sd.c | 2 +-
42927 drivers/vfio/vfio.c | 4 ++--
42928 fs/ntfs/super.c | 6 +++---
42929 include/linux/workqueue.h | 6 +++---
42930 net/mac80211/main.c | 2 +-
42931 sound/pci/hda/hda_codec.c | 8 ++------
42932 11 files changed, 32 insertions(+), 25 deletions(-)
42933
42934 commit 995a16841e2097c3a9dfc652e856469679c4a0ba
42935 Author: Brad Spengler <spender@grsecurity.net>
42936 Date: Fri Aug 30 17:11:11 2013 -0400
42937
42938 fix compilation with GRKERNSEC_DENYUSB as reported by slashbeast
42939
42940 grsecurity/grsec_sysctl.c | 7 ++++---
42941 1 files changed, 4 insertions(+), 3 deletions(-)
42942
42943 commit 8ba1cc35ec5216383369ddf3ef2cde5e4aaacb57
42944 Merge: be2497c 1052971
42945 Author: Brad Spengler <spender@grsecurity.net>
42946 Date: Thu Aug 29 20:44:29 2013 -0400
42947
42948 Merge branch 'pax-test' into grsec-test
42949
42950 Conflicts:
42951 include/linux/sched.h
42952
42953 commit 10529710192fe7f7d42ad7bb1dfef2143cca8ad2
42954 Merge: e902dad 8bf3379
42955 Author: Brad Spengler <spender@grsecurity.net>
42956 Date: Thu Aug 29 20:39:50 2013 -0400
42957
42958 Update to pax-linux-3.10.10-test21.patch
42959
42960 Merge branch 'linux-3.10.y' into pax-test
42961
42962 Conflicts:
42963 arch/x86/kernel/sys_x86_64.c
42964 arch/x86/mm/mmap.c
42965 include/linux/sched.h
42966
42967 commit be2497c1b629a5ad604a8b0ec265ef5d801c7de8
42968 Merge: 081c22b e902dad
42969 Author: Brad Spengler <spender@grsecurity.net>
42970 Date: Wed Aug 28 20:52:44 2013 -0400
42971
42972 Merge branch 'pax-test' into grsec-test
42973
42974 commit e902dad6b609a176f58c1b9393b3a98f14bd4b74
42975 Author: Brad Spengler <spender@grsecurity.net>
42976 Date: Wed Aug 28 20:51:21 2013 -0400
42977
42978 Update to pax-linux-3.10.9-test21.patch:
42979 - removed unnecessary type cast in do_PrefetchAbort, noticed by spender
42980 - since pax_report_refcount_overflow disables preemption inside, no need to do it explicitly in do_ov
42981 - fixed a REFCOUNT false positive in UHID
42982 - inspired by Dan Carpenter's recent fix (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=909bd5926d474e275599094acad986af79671ac9)
42983 Emese Revfy wrote a gcc plugin to find other instances of the same error, here's the fallout
42984 (come to the 10th H2HC if you want to learn about the magic behind this and other plugins):
42985 - icmpv6_filter: no memory corruption, probably just some logical error in the caller
42986 - dccp_new/dccp_packet/dccp_error: probably remote kernel stack overflow (12 byte network data overwriting a local ptr variable)
42987 - gigaset_brkchars: causes DMA on the kernel stack, some archs don't like it (more of this is to come)
42988 - isdn_ioctl/IIOCDBGVAR: kernel heap address leak (by design), restricted to CAP_SYS_RAWIO now
42989 - __dwc3_gadget_ep_enable: probably forgotten memset, seems harmless
42990 - lowpan_header_create: leaks 3 bytes of a kernel heap address over the network
42991
42992 arch/arm/mm/fault.c | 2 +-
42993 arch/mips/kernel/traps.c | 2 --
42994 drivers/hid/uhid.c | 6 +++---
42995 drivers/isdn/gigaset/usb-gigaset.c | 2 +-
42996 drivers/isdn/i4l/isdn_common.c | 2 ++
42997 drivers/net/wireless/hostap/hostap_ioctl.c | 4 ++--
42998 drivers/usb/dwc3/gadget.c | 2 --
42999 net/ieee802154/6lowpan.c | 2 +-
43000 net/ipv6/raw.c | 2 +-
43001 net/netfilter/nf_conntrack_proto_dccp.c | 6 +++---
43002 10 files changed, 14 insertions(+), 16 deletions(-)
43003
43004 commit 081c22b436d4d4ac8c9ef7c3f3b9587cfb02d804
43005 Author: Brad Spengler <spender@grsecurity.net>
43006 Date: Wed Aug 28 20:42:39 2013 -0400
43007
43008 add export of gr_handle_new_usb()
43009
43010 grsecurity/grsec_usb.c | 2 ++
43011 1 files changed, 2 insertions(+), 0 deletions(-)
43012
43013 commit 2e708ca9984ef74536d1d9b1d4e6e73d27561ed6
43014 Author: Brad Spengler <spender@grsecurity.net>
43015 Date: Wed Aug 28 19:24:47 2013 -0400
43016
43017 Add new GRKERNSEC_DENYUSB feature that I've been sitting on for a bit
43018 Kees' recent findings are motivation enough to publish it
43019
43020 drivers/usb/core/hub.c | 5 +++++
43021 grsecurity/Kconfig | 20 ++++++++++++++++++++
43022 grsecurity/Makefile | 3 ++-
43023 grsecurity/grsec_init.c | 1 +
43024 grsecurity/grsec_sysctl.c | 11 +++++++++++
43025 grsecurity/grsec_usb.c | 13 +++++++++++++
43026 include/linux/grinternal.h | 1 +
43027 include/linux/grsecurity.h | 2 ++
43028 8 files changed, 55 insertions(+), 1 deletions(-)
43029
43030 commit 8044382257ec75a03f3d784ce048ef14e94b90ca
43031 Author: Kees Cook <keescook@chromium.org>
43032 Date: Wed Aug 14 09:35:07 2013 -0700
43033
43034 HID: zeroplus: validate output report details
43035
43036 The zeroplus HID driver was not checking the size of allocated values
43037 in fields it used. A HID device could send a malicious output report
43038 that would cause the driver to write beyond the output report allocation
43039 during initialization, causing a heap overflow:
43040
43041 [ 1442.728680] usb 1-1: New USB device found, idVendor=0c12, idProduct=0005
43042 ...
43043 [ 1466.243173] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
43044
43045 CVE-2013-2889
43046
43047 Signed-off-by: Kees Cook <keescook@chromium.org>
43048 Cc: stable@kernel.org
43049
43050 drivers/hid/hid-zpff.c | 14 ++------------
43051 1 files changed, 2 insertions(+), 12 deletions(-)
43052
43053 commit 1ead832874dde8c45c3d4c8c704f2cd7ad6a328f
43054 Author: Kees Cook <keescook@chromium.org>
43055 Date: Wed Aug 14 14:36:15 2013 -0700
43056
43057 HID: provide a helper for validating hid reports
43058
43059 Many drivers need to validate the characteristics of their HID report
43060 during initialization to avoid misusing the reports. This adds a common
43061 helper to perform validation of the report, its field count, and the
43062 value count within the fields.
43063
43064 Signed-off-by: Kees Cook <keescook@chromium.org>
43065 Cc: stable@kernel.org
43066
43067 drivers/hid/hid-core.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
43068 include/linux/hid.h | 4 +++
43069 2 files changed, 54 insertions(+), 0 deletions(-)
43070
43071 commit 270ba9096ddecdc3cf6c4d76e6892184820116be
43072 Author: Kees Cook <keescook@chromium.org>
43073 Date: Wed Aug 14 09:14:34 2013 -0700
43074
43075 HID: steelseries: validate output report details
43076
43077 A HID device could send a malicious output report that would cause the
43078 steelseries HID driver to write beyond the output report allocation
43079 during initialization, causing a heap overflow:
43080
43081 [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410
43082 ...
43083 [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten
43084
43085 CVE-2013-2891
43086
43087 Signed-off-by: Kees Cook <keescook@chromium.org>
43088 Cc: stable@kernel.org
43089
43090 drivers/hid/hid-steelseries.c | 5 +++++
43091 1 files changed, 5 insertions(+), 0 deletions(-)
43092
43093 commit 366e6cf394366e4bb2598e5d3763c6ca53fb7248
43094 Author: Kees Cook <keescook@chromium.org>
43095 Date: Wed Aug 14 08:49:21 2013 -0700
43096
43097 HID: pantherlord: validate output report details
43098
43099 A HID device could send a malicious output report that would cause the
43100 pantherlord HID driver to write beyond the output report allocation
43101 during initialization, causing a heap overflow:
43102
43103 [ 310.939483] usb 1-1: New USB device found, idVendor=0e8f, idProduct=0003
43104 ...
43105 [ 315.980774] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
43106
43107 CVE-2013-2892
43108
43109 Signed-off-by: Kees Cook <keescook@chromium.org>
43110 Cc: stable@kernel.org
43111
43112 drivers/hid/hid-pl.c | 10 ++++++++--
43113 1 files changed, 8 insertions(+), 2 deletions(-)
43114
43115 commit 60115e8108e508060815bce5ef9504233c81898c
43116 Author: Kees Cook <keescook@chromium.org>
43117 Date: Tue Aug 13 16:49:01 2013 -0700
43118
43119 HID: LG: validate HID output report details
43120
43121 A HID device could send a malicious output report that would cause the
43122 lg, lg3, and lg4 HID drivers to write beyond the output report allocation
43123 during an event, causing a heap overflow:
43124
43125 [ 325.245240] usb 1-1: New USB device found, idVendor=046d, idProduct=c287
43126 ...
43127 [ 414.518960] BUG kmalloc-4096 (Not tainted): Redzone overwritten
43128
43129 Additionally, while lg2 did correctly validate the report details, it was
43130 cleaned up and shortened.
43131
43132 CVE-2013-2893
43133
43134 Signed-off-by: Kees Cook <keescook@chromium.org>
43135 Cc: stable@kernel.org
43136
43137 drivers/hid/hid-lg2ff.c | 19 +++----------------
43138 drivers/hid/hid-lg3ff.c | 29 ++++++-----------------------
43139 drivers/hid/hid-lg4ff.c | 20 +-------------------
43140 drivers/hid/hid-lgff.c | 17 ++---------------
43141 4 files changed, 12 insertions(+), 73 deletions(-)
43142
43143 commit 1814f6ffbd0d5feccce1f03e8cc17882528e8a9f
43144 Author: Kees Cook <keescook@chromium.org>
43145 Date: Thu Aug 15 23:21:23 2013 -0700
43146
43147 HID: lenovo-tpkbd: validate output report details
43148
43149 A HID device could send a malicious output report that would cause the
43150 lenovo-tpkbd HID driver to write just beyond the output report allocation
43151 during initialization, causing a heap overflow:
43152
43153 [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009
43154 ...
43155 [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
43156
43157 CVE-2013-2894
43158
43159 Signed-off-by: Kees Cook <keescook@chromium.org>
43160 Cc: stable@kernel.org
43161
43162 drivers/hid/hid-lenovo-tpkbd.c | 5 +++++
43163 1 files changed, 5 insertions(+), 0 deletions(-)
43164
43165 commit 38627769bb2b9a550e251b2caf1babda7566fb4a
43166 Author: Kees Cook <keescook@chromium.org>
43167 Date: Thu Aug 15 23:45:03 2013 -0700
43168
43169 HID: logitech-dj: validate output report details
43170
43171 A HID device could send a malicious output report that would cause the
43172 logitech-dj HID driver to leak kernel memory contents to the device, or
43173 trigger a NULL dereference during initialization:
43174
43175 [ 304.424553] usb 1-1: New USB device found, idVendor=046d, idProduct=c52b
43176 ...
43177 [ 304.780467] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
43178 [ 304.781409] IP: [<ffffffff815d50aa>] logi_dj_recv_send_report.isra.11+0x1a/0x90
43179
43180 CVE-2013-2895
43181
43182 Signed-off-by: Kees Cook <keescook@chromium.org>
43183 Cc: stable@kernel.org
43184
43185 drivers/hid/hid-logitech-dj.c | 12 ++++++++++--
43186 1 files changed, 10 insertions(+), 2 deletions(-)
43187
43188 commit db334388c9d3f95aeb6aacdcec72169b6edd6f07
43189 Author: Kees Cook <keescook@chromium.org>
43190 Date: Fri Aug 16 00:18:15 2013 -0700
43191
43192 HID: ntrig: validate feature report details
43193
43194 A HID device could send a malicious feature report that would cause the
43195 ntrig HID driver to trigger a NULL dereference during initialization:
43196
43197 [57383.031190] usb 3-1: New USB device found, idVendor=1b96, idProduct=0001
43198 ...
43199 [57383.315193] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
43200 [57383.315308] IP: [<ffffffffa08102de>] ntrig_probe+0x25e/0x420 [hid_ntrig]
43201
43202 CVE-2013-2896
43203
43204 Signed-off-by: Kees Cook <keescook@chromium.org>
43205 Cc: stable@kernel.org
43206
43207 drivers/hid/hid-ntrig.c | 3 ++-
43208 1 files changed, 2 insertions(+), 1 deletions(-)
43209
43210 commit 86adcfe96ceefd7d64593a493abe07c155bb8f88
43211 Author: Kees Cook <keescook@chromium.org>
43212 Date: Fri Aug 16 00:11:32 2013 -0700
43213
43214 HID: multitouch: validate feature report details
43215
43216 When working on report indexes, always validate that they are in bounds.
43217 Without this, a HID device could report a malicious feature report that
43218 could trick the driver into a heap overflow:
43219
43220 [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500
43221 ...
43222 [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
43223
43224 CVE-2013-2897
43225
43226 Signed-off-by: Kees Cook <keescook@chromium.org>
43227 Cc: stable@kernel.org
43228
43229 drivers/hid/hid-multitouch.c | 25 ++++++++++++++++++++-----
43230 1 files changed, 20 insertions(+), 5 deletions(-)
43231
43232 commit 813f51e0881e4ea6d221da828b1cced02ad9694d
43233 Author: Kees Cook <keescook@chromium.org>
43234 Date: Fri Aug 16 08:12:45 2013 -0700
43235
43236 HID: sensor-hub: validate feature report details
43237
43238 A HID device could send a malicious feature report that would cause the
43239 sensor-hub HID driver to read past the end of heap allocation, leaking
43240 kernel memory contents to the caller.
43241
43242 CVE-2013-2898
43243
43244 Signed-off-by: Kees Cook <keescook@chromium.org>
43245 Cc: stable@kernel.org
43246
43247 drivers/hid/hid-sensor-hub.c | 3 ++-
43248 1 files changed, 2 insertions(+), 1 deletions(-)
43249
43250 commit 6ed7d602e322c67adcfa3ebe79ca2c4a3376330c
43251 Author: Kees Cook <keescook@chromium.org>
43252 Date: Fri Aug 16 08:05:10 2013 -0700
43253
43254 HID: picolcd_core: validate output report details
43255
43256 A HID device could send a malicious output report that would cause the
43257 picolcd HID driver to trigger a NULL dereference during attr file writing.
43258
43259 CVE-2013-2899
43260
43261 Signed-off-by: Kees Cook <keescook@chromium.org>
43262 Cc: stable@kernel.org
43263
43264 drivers/hid/hid-picolcd_core.c | 2 +-
43265 1 files changed, 1 insertions(+), 1 deletions(-)
43266
43267 commit 95e3cfb5a995dabe45b98cafb77e59d074de151f
43268 Author: Kees Cook <keescook@chromium.org>
43269 Date: Fri Aug 16 08:09:54 2013 -0700
43270
43271 HID: check for NULL field when setting values
43272
43273 Defensively check that the field to be worked on is not NULL.
43274
43275 Signed-off-by: Kees Cook <keescook@chromium.org>
43276 Cc: stable@kernel.org
43277
43278 drivers/hid/hid-core.c | 7 ++++++-
43279 1 files changed, 6 insertions(+), 1 deletions(-)
43280
43281 commit 96a55ce1b2f3af376c400a02059174e79ce4399c
43282 Author: Brad Spengler <spender@grsecurity.net>
43283 Date: Wed Aug 28 18:09:18 2013 -0400
43284
43285 http://marc.info/?l=linux-input&m=137772180514608&q=raw
43286
43287 From: Kees Cook <keescook@chromium.org>
43288
43289 The "Report ID" field of a HID report is used to build indexes of
43290 reports. The kernel's index of these is limited to 256 entries, so any
43291 malicious device that sets a Report ID greater than 255 will trigger
43292 memory corruption on the host:
43293
43294 [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878
43295 [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b
43296
43297 CVE-2013-2888
43298
43299 Signed-off-by: Kees Cook <keescook@chromium.org>
43300 Cc: stable@kernel.org
43301 ---
43302 drivers/hid/hid-core.c | 10 +++++++---
43303 include/linux/hid.h | 4 +++-
43304 2 files changed, 10 insertions(+), 4 deletions(-)
43305
43306 drivers/hid/hid-core.c | 10 +++++++---
43307 include/linux/hid.h | 4 +++-
43308 2 files changed, 10 insertions(+), 4 deletions(-)
43309
43310 commit eb1106eef5f17bfda833ca3cf89e315919173257
43311 Author: Dan Carpenter <dan.carpenter@oracle.com>
43312 Date: Fri Aug 9 12:52:31 2013 +0300
43313
43314 Upstream commit: 909bd5926d474e275599094acad986af79671ac9
43315
43316 Hostap: copying wrong data prism2_ioctl_giwaplist()
43317
43318 We want the data stored in "addr" and "qual", but the extra ampersands
43319 mean we are copying stack data instead.
43320
43321 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
43322 Cc: stable@vger.kernel.org
43323 Signed-off-by: John W. Linville <linville@tuxdriver.com>
43324
43325 drivers/net/wireless/hostap/hostap_ioctl.c | 4 ++--
43326 1 files changed, 2 insertions(+), 2 deletions(-)
43327
43328 commit b12fdddbc01b0d855dd56fa6fea6b4100aae7af4
43329 Author: Brad Spengler <spender@grsecurity.net>
43330 Date: Wed Aug 28 17:01:21 2013 -0400
43331
43332 fix typo in ipv6 backport
43333
43334 net/ipv6/addrconf.c | 2 +-
43335 1 files changed, 1 insertions(+), 1 deletions(-)
43336
43337 commit b42367d45ce67de82c38c5c7cb6f4cf521cca2f4
43338 Author: Andy Lutomirski <luto@amacapital.net>
43339 Date: Thu Aug 22 11:39:15 2013 -0700
43340
43341 Upstream commit: d661684cf6820331feae71146c35da83d794467e
43342
43343 net: Check the correct namespace when spoofing pid over SCM_RIGHTS
43344
43345 This is a security bug.
43346
43347 The follow-up will fix nsproxy to discourage this type of issue from
43348 happening again.
43349
43350 Cc: stable@vger.kernel.org
43351 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
43352 Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
43353 Signed-off-by: David S. Miller <davem@davemloft.net>
43354
43355 net/core/scm.c | 2 +-
43356 1 files changed, 1 insertions(+), 1 deletions(-)
43357
43358 commit 10b2e7e1f75d1da2e0bbe0bff04233ea2ec1bed9
43359 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
43360 Date: Fri Aug 16 13:02:27 2013 +0200
43361
43362 Upstream commit: 4b08a8f1bd8cb4541c93ec170027b4d0782dab52
43363
43364 ipv6: remove max_addresses check from ipv6_create_tempaddr
43365
43366 Because of the max_addresses check attackers were able to disable privacy
43367 extensions on an interface by creating enough autoconfigured addresses:
43368
43369 <http://seclists.org/oss-sec/2012/q4/292>
43370
43371 But the check is not actually needed: max_addresses protects the
43372 kernel to install too many ipv6 addresses on an interface and guards
43373 addrconf_prefix_rcv to install further addresses as soon as this limit
43374 is reached. We only generate temporary addresses in direct response of
43375 a new address showing up. As soon as we filled up the maximum number of
43376 addresses of an interface, we stop installing more addresses and thus
43377 also stop generating more temp addresses.
43378
43379 Even if the attacker tries to generate a lot of temporary addresses
43380 by announcing a prefix and removing it again (lifetime == 0) we won't
43381 install more temp addresses, because the temporary addresses do count
43382 to the maximum number of addresses, thus we would stop installing new
43383 autoconfigured addresses when the limit is reached.
43384
43385 This patch fixes CVE-2013-0343 (but other layer-2 attacks are still
43386 possible).
43387
43388 Thanks to Ding Tianhong to bring this topic up again.
43389
43390 Cc: Ding Tianhong <dingtianhong@huawei.com>
43391 Cc: George Kargiotakis <kargig@void.gr>
43392 Cc: P J P <ppandit@redhat.com>
43393 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
43394 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
43395 Acked-by: Ding Tianhong <dingtianhong@huawei.com>
43396 Signed-off-by: David S. Miller <davem@davemloft.net>
43397
43398 Conflicts:
43399
43400 net/ipv6/addrconf.c
43401
43402 net/ipv6/addrconf.c | 10 ++++------
43403 1 files changed, 4 insertions(+), 6 deletions(-)
43404
43405 commit 8333e0981469a226a47d0142ff31090a48db95a4
43406 Author: David Vrabel <david.vrabel@citrix.com>
43407 Date: Thu Aug 15 13:21:06 2013 +0100
43408
43409 Upstream commit: 84ca7a8e45dafb49cd5ca90a343ba033e2885c17
43410
43411 xen/events: initialize local per-cpu mask for all possible events
43412
43413 The sizeof() argument in init_evtchn_cpu_bindings() is incorrect
43414 resulting in only the first 64 (or 32 in 32-bit guests) ports having
43415 their bindings being initialized to VCPU 0.
43416
43417 In most cases this does not cause a problem as request_irq() will set
43418 the irq affinity which will set the correct local per-cpu mask.
43419 However, if the request_irq() is called on a VCPU other than 0, there
43420 is a window between the unmasking of the event and the affinity being
43421 set were an event may be lost because it is not locally unmasked on
43422 any VCPU. If request_irq() is called on VCPU 0 then local irqs are
43423 disabled during the window and the race does not occur.
43424
43425 Fix this by initializing all NR_EVENT_CHANNEL bits in the local
43426 per-cpu masks.
43427
43428 Signed-off-by: David Vrabel <david.vrabel@citrix.com>
43429 Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
43430 CC: stable@vger.kernel.org
43431
43432 drivers/xen/events.c | 2 +-
43433 1 files changed, 1 insertions(+), 1 deletions(-)
43434
43435 commit 2a9a83768433937a2b7a97001ba1627156c0efed
43436 Author: Roland Dreier <roland@purestorage.com>
43437 Date: Mon Aug 5 17:55:01 2013 -0700
43438
43439 Upstream commit: 35dc248383bbab0a7203fca4d722875bc81ef091
43440
43441 [SCSI] sg: Fix user memory corruption when SG_IO is interrupted by a signal
43442
43443 There is a nasty bug in the SCSI SG_IO ioctl that in some circumstances
43444 leads to one process writing data into the address space of some other
43445 random unrelated process if the ioctl is interrupted by a signal.
43446 What happens is the following:
43447
43448 - A process issues an SG_IO ioctl with direction DXFER_FROM_DEV (ie the
43449 underlying SCSI command will transfer data from the SCSI device to
43450 the buffer provided in the ioctl)
43451
43452 - Before the command finishes, a signal is sent to the process waiting
43453 in the ioctl. This will end up waking up the sg_ioctl() code:
43454
43455 result = wait_event_interruptible(sfp->read_wait,
43456 (srp_done(sfp, srp) || sdp->detached));
43457
43458 but neither srp_done() nor sdp->detached is true, so we end up just
43459 setting srp->orphan and returning to userspace:
43460
43461 srp->orphan = 1;
43462 write_unlock_irq(&sfp->rq_list_lock);
43463 return result; /* -ERESTARTSYS because signal hit process */
43464
43465 At this point the original process is done with the ioctl and
43466 blithely goes ahead handling the signal, reissuing the ioctl, etc.
43467
43468 - Eventually, the SCSI command issued by the first ioctl finishes and
43469 ends up in sg_rq_end_io(). At the end of that function, we run through:
43470
43471 write_lock_irqsave(&sfp->rq_list_lock, iflags);
43472 if (unlikely(srp->orphan)) {
43473 if (sfp->keep_orphan)
43474 srp->sg_io_owned = 0;
43475 else
43476 done = 0;
43477 }
43478 srp->done = done;
43479 write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
43480
43481 if (likely(done)) {
43482 /* Now wake up any sg_read() that is waiting for this
43483 * packet.
43484 */
43485 wake_up_interruptible(&sfp->read_wait);
43486 kill_fasync(&sfp->async_qp, SIGPOLL, POLL_IN);
43487 kref_put(&sfp->f_ref, sg_remove_sfp);
43488 } else {
43489 INIT_WORK(&srp->ew.work, sg_rq_end_io_usercontext);
43490 schedule_work(&srp->ew.work);
43491 }
43492
43493 Since srp->orphan *is* set, we set done to 0 (assuming the
43494 userspace app has not set keep_orphan via an SG_SET_KEEP_ORPHAN
43495 ioctl), and therefore we end up scheduling sg_rq_end_io_usercontext()
43496 to run in a workqueue.
43497
43498 - In workqueue context we go through sg_rq_end_io_usercontext() ->
43499 sg_finish_rem_req() -> blk_rq_unmap_user() -> ... ->
43500 bio_uncopy_user() -> __bio_copy_iov() -> copy_to_user().
43501
43502 The key point here is that we are doing copy_to_user() on a
43503 workqueue -- that is, we're on a kernel thread with current->mm
43504 equal to whatever random previous user process was scheduled before
43505 this kernel thread. So we end up copying whatever data the SCSI
43506 command returned to the virtual address of the buffer passed into
43507 the original ioctl, but it's quite likely we do this copying into a
43508 different address space!
43509
43510 As suggested by James Bottomley <James.Bottomley@hansenpartnership.com>,
43511 add a check for current->mm (which is NULL if we're on a kernel thread
43512 without a real userspace address space) in bio_uncopy_user(), and skip
43513 the copy if we're on a kernel thread.
43514
43515 There's no reason that I can think of for any caller of bio_uncopy_user()
43516 to want to do copying on a kernel thread with a random active userspace
43517 address space.
43518
43519 Huge thanks to Costa Sapuntzakis <costa@purestorage.com> for the
43520 original pointer to this bug in the sg code.
43521
43522 Signed-off-by: Roland Dreier <roland@purestorage.com>
43523 Tested-by: David Milburn <dmilburn@redhat.com>
43524 Cc: Jens Axboe <axboe@kernel.dk>
43525 Cc: <stable@vger.kernel.org>
43526 Signed-off-by: James Bottomley <JBottomley@Parallels.com>
43527
43528 fs/bio.c | 20 +++++++++++++++-----
43529 1 files changed, 15 insertions(+), 5 deletions(-)
43530
43531 commit e6fe57dee152671afd618d6bc8cbf23155be6c34
43532 Merge: cdc8f7d f2095a4
43533 Author: Brad Spengler <spender@grsecurity.net>
43534 Date: Tue Aug 27 18:13:35 2013 -0400
43535
43536 Merge branch 'pax-test' into grsec-test
43537
43538 Conflicts:
43539 arch/arm/mm/fault.c
43540 security/Kconfig
43541
43542 commit f2095a4787f7d332e5919f0bd00f8de6021ad612
43543 Author: Brad Spengler <spender@grsecurity.net>
43544 Date: Tue Aug 27 18:08:23 2013 -0400
43545
43546 Update to pax-linux-3.10.9-test20.patch:
43547 - removed unnecessary mark_sym_for_renaming calls from the gcc plugins, reported by Emese Revfy
43548 - made some KERNEXEC/UDEREF induced fault handling on arm more robust (IFAR isn't always set on v7), by Corey Minyard <cminyard@mvista.com>
43549 - converted some mips atomic accessor macros to functions in preparation of REFCOUNT support, by Corey Minyard <cminyard@mvista.com>
43550 - __copy_from_user_inatomic on amd64 will now return unsigned long like other userland accessors do
43551 - added REFCOUNT support for mips, by Corey Minyard <cminyard@mvista.com>
43552 - fixed arm compilation with UDEREF disabled, reported by fabled (http://forums.grsecurity.net/viewtopic.php?f=1&t=3720)
43553 - fixed early boot panic due to a INVCPID/PCID mismatch, reported by Patrick McLean (https://bugs.gentoo.org/show_bug.cgi?id=482010)
43554
43555 arch/arm/mm/fault.c | 11 +-
43556 arch/mips/include/asm/atomic.h | 722 +++++++++++++++++++++++++++++++++++--
43557 arch/mips/kernel/traps.c | 14 +-
43558 arch/x86/include/asm/tlbflush.h | 4 +
43559 arch/x86/include/asm/uaccess_64.h | 2 +-
43560 fs/ntfs/file.c | 2 +-
43561 kernel/events/internal.h | 4 +-
43562 kernel/events/uprobes.c | 2 +-
43563 kernel/futex.c | 2 +-
43564 mm/filemap.c | 8 +-
43565 security/Kconfig | 2 +-
43566 tools/gcc/kernexec_plugin.c | 18 +-
43567 tools/gcc/latent_entropy_plugin.c | 26 +-
43568 tools/gcc/size_overflow_plugin.c | 3 +-
43569 14 files changed, 750 insertions(+), 70 deletions(-)
43570
43571 commit cdc8f7d7a0d09f5ccec1717d1378ac284b5bb4e9
43572 Merge: 5a9ae57 745975e
43573 Author: Brad Spengler <spender@grsecurity.net>
43574 Date: Mon Aug 26 20:27:33 2013 -0400
43575
43576 Merge branch 'pax-test' into grsec-test
43577
43578 commit 745975e3b3b74b64e00e85778f9a22714d1274f2
43579 Author: Brad Spengler <spender@grsecurity.net>
43580 Date: Mon Aug 26 20:26:33 2013 -0400
43581
43582 Fix compilation when UDEREF is enabled and KERNEXEC is disabled,
43583 as reported by fabled on the forums:
43584 http://forums.grsecurity.net/viewtopic.php?f=1&t=3720
43585
43586 arch/arm/include/asm/pgtable.h | 4 +---
43587 1 files changed, 1 insertions(+), 3 deletions(-)
43588
43589 commit 5a9ae577def10802fc8ad6957f05ce2a180dfa36
43590 Merge: 486ec00 f68df21
43591 Author: Brad Spengler <spender@grsecurity.net>
43592 Date: Tue Aug 20 20:15:20 2013 -0400
43593
43594 Merge branch 'pax-test' into grsec-test
43595
43596 commit f68df215c8bf7fada2710c14b3f3a0ea53fd9e43
43597 Author: Brad Spengler <spender@grsecurity.net>
43598 Date: Tue Aug 20 20:14:50 2013 -0400
43599
43600 Update to pax-linux-3.10.9-test18.patch:
43601 - fixed missing export of cpu_pgd, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=481786)
43602 - fixed UDEREF regression on !PCID processors, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=481790)
43603 - forward port to 3.10.9
43604
43605 arch/x86/kernel/entry_64.S | 18 +++++++++---------
43606 arch/x86/kernel/i386_ksyms_32.c | 4 ++++
43607 arch/x86/kernel/x8664_ksyms_64.c | 4 ++++
43608 3 files changed, 17 insertions(+), 9 deletions(-)
43609
43610 commit 486ec00945b5dd8826f625e4af8995c5c8cb2a6f
43611 Merge: f47a293 d8fed0e
43612 Author: Brad Spengler <spender@grsecurity.net>
43613 Date: Tue Aug 20 20:12:47 2013 -0400
43614
43615 Merge branch 'pax-test' into grsec-test
43616
43617 commit d8fed0eba89a7607afe296c0caf17bc72311d6e9
43618 Merge: f6ace8e 0a4b6d4
43619 Author: Brad Spengler <spender@grsecurity.net>
43620 Date: Tue Aug 20 20:12:33 2013 -0400
43621
43622 Merge branch 'linux-3.10.y' into pax-test
43623
43624 commit f47a293a1440da2a3e2c239d43d636e37ca74f10
43625 Merge: f1e8ec7 f6ace8e
43626 Author: Brad Spengler <spender@grsecurity.net>
43627 Date: Tue Aug 20 18:20:05 2013 -0400
43628
43629 Merge branch 'pax-test' into grsec-test
43630
43631 Conflicts:
43632 arch/arm/kernel/perf_event.c
43633 include/linux/sched.h
43634
43635 commit f6ace8e1804aadc296bec38b4c4a2d711b9e7c72
43636 Merge: b4fa847 6f54059
43637 Author: Brad Spengler <spender@grsecurity.net>
43638 Date: Tue Aug 20 18:18:02 2013 -0400
43639
43640 Update to pax-linux-3.10.8-test18.patch
43641
43642 Merge branch 'linux-3.10.y' into pax-test
43643
43644 Conflicts:
43645 arch/x86/kernel/sys_x86_64.c
43646 arch/x86/mm/mmap.c
43647 include/linux/sched.h
43648
43649 commit f1e8ec79b6019ca0aa6a6cdde5668c1bbd9f51ca
43650 Merge: 6f88011 b4fa847
43651 Author: Brad Spengler <spender@grsecurity.net>
43652 Date: Tue Aug 20 18:05:12 2013 -0400
43653
43654 Merge branch 'pax-test' into grsec-test
43655
43656 commit b4fa84790ec760430818ab9b74a8b5acc6b40e63
43657 Author: Brad Spengler <spender@grsecurity.net>
43658 Date: Tue Aug 20 18:04:14 2013 -0400
43659
43660 Update to pax-linux-3.10.7-test18.patch:
43661 - reverted constification of zcache, problem reported by Marcin Mirosław (https://bugs.gentoo.org/show_bug.cgi?id=481752)
43662 - fixed a UDEREF resume regression due to the constification of clone_pgd_mask
43663 - fixed suspend/resume regression due to the recent constification of mmu_cr4_features, reported by Mathias Krause
43664
43665 arch/arm/kernel/process.c | 2 +-
43666 arch/x86/include/asm/processor.h | 25 ++-----------------------
43667 arch/x86/kernel/cpu/common.c | 4 ++++
43668 arch/x86/kernel/setup.c | 36 ++++++++++++++++++++++++++++++++++++
43669 drivers/staging/zcache/tmem.c | 4 ++--
43670 drivers/staging/zcache/tmem.h | 6 ++----
43671 6 files changed, 47 insertions(+), 30 deletions(-)
43672
43673 commit 6f88011297cb3b1b79ff4d96f8a9b8e2ed5a025f
43674 Author: Brad Spengler <spender@grsecurity.net>
43675 Date: Mon Aug 19 22:10:04 2013 -0400
43676
43677 fix bad git merge (call to __cpu_disable_lazy_restore was duplicated)
43678 as reported by pipacs
43679
43680 arch/x86/kernel/smpboot.c | 3 ---
43681 1 files changed, 0 insertions(+), 3 deletions(-)
43682
43683 commit 07f718e061bc4696b64a98ac1cf56e9ca1275dc3
43684 Merge: 6eba999 5de93c8
43685 Author: Brad Spengler <spender@grsecurity.net>
43686 Date: Sun Aug 18 22:03:19 2013 -0400
43687
43688 Merge branch 'pax-test' into grsec-test
43689
43690 commit 5de93c8e2a86865f7a2d62dbcf8702dbf12494db
43691 Author: Brad Spengler <spender@grsecurity.net>
43692 Date: Sun Aug 18 22:02:47 2013 -0400
43693
43694 Update to pax-linux-3.10.7-test15.patch:
43695 - fixed more PCID fallout, reported by spender, Negres and GBit (http://forums.grsecurity.net/viewtopic.php?f=3&t=3705)
43696 - fixed some new REFCOUNT false positives, caught by inspection
43697
43698 arch/x86/kernel/cpu/common.c | 5 +++--
43699 arch/x86/kernel/entry_64.S | 11 +++++++----
43700 fs/ceph/super.c | 4 ++--
43701 mm/backing-dev.c | 4 ++--
43702 4 files changed, 14 insertions(+), 10 deletions(-)
43703
43704 commit 94c119587c76723c1072237b98fff9886ccb7689
43705 Author: Brad Spengler <spender@grsecurity.net>
43706 Date: Sun Aug 18 20:49:39 2013 -0400
43707
43708 fix pipacs' DEMORGAN typo
43709
43710 arch/x86/include/asm/tlbflush.h | 2 +-
43711 1 files changed, 1 insertions(+), 1 deletions(-)
43712
43713 commit 6eba999a3263c2ed3f7e87222a5c9c55315c7f00
43714 Merge: df347f6 64a293e
43715 Author: Brad Spengler <spender@grsecurity.net>
43716 Date: Sun Aug 18 18:13:04 2013 -0400
43717
43718 Merge branch 'pax-test' into grsec-test
43719
43720 commit 64a293ebd17bf4a7ce6bd921ed879673e79fe128
43721 Author: Brad Spengler <spender@grsecurity.net>
43722 Date: Sun Aug 18 18:12:37 2013 -0400
43723
43724 Update to pax-linux-3.10.7-test14.patch:
43725 - fixed compile error introduced by the previous PCID change
43726 - fixed timer_create kernel stack leak, reported by Roman Žilka (https://bugs.gentoo.org/show_bug.cgi?id=470214)
43727
43728 arch/x86/include/asm/tlbflush.h | 2 +-
43729 kernel/posix-timers.c | 2 +-
43730 2 files changed, 2 insertions(+), 2 deletions(-)
43731
43732 commit df347f6db6cc0aaa40406d8a8b7284b7c15bc685
43733 Merge: d8efbc5 e11b314
43734 Author: Brad Spengler <spender@grsecurity.net>
43735 Date: Sun Aug 18 08:15:00 2013 -0400
43736
43737 Merge branch 'pax-test' into grsec-test
43738
43739 commit e11b314734c5b7317f5468be75305ad812e78c2b
43740 Author: Brad Spengler <spender@grsecurity.net>
43741 Date: Sun Aug 18 08:14:26 2013 -0400
43742
43743 Update to pax-linux-3.10.7-test13.patch:
43744 - always enable the use of PCID and INVPCID when available in the CPU
43745 - kvm guest kernels can use these features even if the host kernel lacks UDEREF
43746
43747 arch/x86/include/asm/tlbflush.h | 69 ++++++++++++++++++++++----------------
43748 arch/x86/kernel/cpu/common.c | 48 +++++++++++++++++----------
43749 2 files changed, 70 insertions(+), 47 deletions(-)
43750
43751 commit d8efbc54f5c8aba589d4d12eed9257a754a67de8
43752 Author: Brad Spengler <spender@grsecurity.net>
43753 Date: Sat Aug 17 12:00:20 2013 -0400
43754
43755 make kallsyms_lookup_size_offset available to approved source files
43756
43757 include/linux/kallsyms.h | 3 +++
43758 1 files changed, 3 insertions(+), 0 deletions(-)
43759
43760 commit 6c8feffa95ce2db280160015027b52bb41a344c8
43761 Merge: dbf6930 0bb1c2b
43762 Author: Brad Spengler <spender@grsecurity.net>
43763 Date: Sat Aug 17 11:57:50 2013 -0400
43764
43765 Merge branch 'pax-test' into grsec-test
43766
43767 commit 0bb1c2b2d9ba9a15fb504d47270499e8e2764106
43768 Author: Brad Spengler <spender@grsecurity.net>
43769 Date: Sat Aug 17 11:56:43 2013 -0400
43770
43771 Update to pax-linux-3.10.7-test12.patch:
43772 - fixed superfluous initializer in __native_flush_tlb_single, reported by Mathias Krause
43773 - fixed some arm compile problems
43774
43775 arch/x86/include/asm/tlbflush.h | 2 +-
43776 drivers/clocksource/bcm_kona_timer.c | 2 +-
43777 kernel/signal.c | 4 ++++
43778 3 files changed, 6 insertions(+), 2 deletions(-)
43779
43780 commit dbf69305ad4f8a037aae95af90f9201f556dcb48
43781 Author: Brad Spengler <spender@grsecurity.net>
43782 Date: Sat Aug 17 11:18:09 2013 -0400
43783
43784 allow use of kallsyms_lookup_name to approved source files
43785
43786 include/linux/kallsyms.h | 1 +
43787 1 files changed, 1 insertions(+), 0 deletions(-)
43788
43789 commit a566c5f4dec33f410678c257e95ab6726ce8e4f9
43790 Merge: 68bd16f f562e3e
43791 Author: Brad Spengler <spender@grsecurity.net>
43792 Date: Sat Aug 17 10:35:02 2013 -0400
43793
43794 Merge branch 'pax-test' into grsec-test
43795
43796 commit f562e3ef7737ea8d80431a722479b36a12504ace
43797 Author: Brad Spengler <spender@grsecurity.net>
43798 Date: Sat Aug 17 10:34:51 2013 -0400
43799
43800 add uderef_64.c
43801
43802 arch/x86/mm/uderef_64.c | 37 +++++++++++++++++++++++++++++++++++++
43803 1 files changed, 37 insertions(+), 0 deletions(-)
43804
43805 commit 68bd16fce3cf51c4c407e2ac6bc3db0629783622
43806 Author: Asbjoern Sloth Toennesen <ast@fiberby.net>
43807 Date: Mon Aug 12 16:30:09 2013 +0000
43808
43809 Upstream commit: 3e805ad288c524bb65aad3f1e004402223d3d504
43810
43811 rtnetlink: rtnl_bridge_getlink: Call nlmsg_find_attr() with ifinfomsg header
43812
43813 Fix the iproute2 command `bridge vlan show`, after switching from
43814 rtgenmsg to ifinfomsg.
43815
43816 Let's start with a little history:
43817
43818 Feb 20: Vlad Yasevich got his VLAN-aware bridge patchset included in
43819 the 3.9 merge window.
43820 In the kernel commit 6cbdceeb, he added attribute support to
43821 bridge GETLINK requests sent with rtgenmsg.
43822
43823 Mar 6th: Vlad got this iproute2 reference implementation of the bridge
43824 vlan netlink interface accepted (iproute2 9eff0e5c)
43825
43826 Apr 25th: iproute2 switched from using rtgenmsg to ifinfomsg (63338dca)
43827 http://patchwork.ozlabs.org/patch/239602/
43828 http://marc.info/?t=136680900700007
43829
43830 Apr 28th: Linus released 3.9
43831
43832 Apr 30th: Stephen released iproute2 3.9.0
43833
43834 The `bridge vlan show` command haven't been working since the switch to
43835 ifinfomsg, or in a released version of iproute2. Since the kernel side
43836 only supports rtgenmsg, which iproute2 switched away from just prior to
43837 the iproute2 3.9.0 release.
43838
43839 I haven't been able to find any documentation, about neither rtgenmsg
43840 nor ifinfomsg, and in which situation to use which, but kernel commit
43841 88c5b5ce seams to suggest that ifinfomsg should be used.
43842
43843 Fixing this in kernel will break compatibility, but I doubt that anybody
43844 have been using it due to this bug in the user space reference
43845 implementation, at least not without noticing this bug. That said the
43846 functionality is still fully functional in 3.9, when reversing iproute2
43847 commit 63338dca.
43848
43849 This could also be fixed in iproute2, but thats an ugly patch that would
43850 reintroduce rtgenmsg in iproute2, and from searching in netdev it seams
43851 like rtgenmsg usage is discouraged. I'm assuming that the only reason
43852 that Vlad implemented the kernel side to use rtgenmsg, was because
43853 iproute2 was using it at the time.
43854
43855 Signed-off-by: Asbjoern Sloth Toennesen <ast@fiberby.net>
43856 Reviewed-by: Vlad Yasevich <vyasevich@gmail.com>
43857 Signed-off-by: David S. Miller <davem@davemloft.net>
43858
43859 net/core/rtnetlink.c | 2 +-
43860 1 files changed, 1 insertions(+), 1 deletions(-)
43861
43862 commit 8c7bc5bafddddff55ed4687203a977e96f72540a
43863 Author: Johannes Berg <johannes.berg@intel.com>
43864 Date: Tue Aug 13 09:04:05 2013 +0200
43865
43866 Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db
43867
43868 genetlink: fix family dump race
43869
43870 When dumping generic netlink families, only the first dump call
43871 is locked with genl_lock(), which protects the list of families,
43872 and thus subsequent calls can access the data without locking,
43873 racing against family addition/removal. This can cause a crash.
43874 Fix it - the locking needs to be conditional because the first
43875 time around it's already locked.
43876
43877 A similar bug was reported to me on an old kernel (3.4.47) but
43878 the exact scenario that happened there is no longer possible,
43879 on those kernels the first round wasn't locked either. Looking
43880 at the current code I found the race described above, which had
43881 also existed on the old kernel.
43882
43883 Cc: stable@vger.kernel.org
43884 Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
43885 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
43886 Signed-off-by: David S. Miller <davem@davemloft.net>
43887
43888 net/netlink/genetlink.c | 7 +++++++
43889 1 files changed, 7 insertions(+), 0 deletions(-)
43890
43891 commit 0aef405c4f269d1e35abb5393cee4e7d452ed4bb
43892 Author: Daniel Borkmann <dborkman@redhat.com>
43893 Date: Fri Aug 9 16:25:21 2013 +0200
43894
43895 Upstream commit: 771085d6bf3c52de29fc213e5bad07a82e57c23e
43896
43897 net: sctp: sctp_transport_destroy{, _rcu}: fix potential pointer corruption
43898
43899 Probably this one is quite unlikely to be triggered, but it's more safe
43900 to do the call_rcu() at the end after we have dropped the reference on
43901 the asoc and freed sctp packet chunks. The reason why is because in
43902 sctp_transport_destroy_rcu() the transport is being kfree()'d, and if
43903 we're unlucky enough we could run into corrupted pointers. Probably
43904 that's more of theoretical nature, but it's safer to have this simple fix.
43905
43906 Introduced by commit 8c98653f ("sctp: sctp_close: fix release of bindings
43907 for deferred call_rcu's"). I also did the 8c98653f regression test and
43908 it's fine that way.
43909
43910 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
43911 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
43912 Signed-off-by: David S. Miller <davem@davemloft.net>
43913
43914 net/sctp/transport.c | 4 ++--
43915 1 files changed, 2 insertions(+), 2 deletions(-)
43916
43917 commit 3925eab5483946fd746575a46f97bee9d566bb77
43918 Author: Stephane Grosjean <s.grosjean@peak-system.com>
43919 Date: Fri Aug 9 11:44:06 2013 +0200
43920
43921 Upstream commit: 3c322a56b01695df15c70bfdc2d02e0ccd80654e
43922
43923 can: pcan_usb: fix wrong memcpy() bytes length
43924
43925 Fix possibly wrong memcpy() bytes length since some CAN records received from
43926 PCAN-USB could define a DLC field in range [9..15].
43927 In that case, the real DLC value MUST be used to move forward the record pointer
43928 but, only 8 bytes max. MUST be copied into the data field of the struct
43929 can_frame object of the skb given to the network core.
43930
43931 Cc: linux-stable <stable@vger.kernel.org>
43932 Signed-off-by: Stephane Grosjean <s.grosjean@peak-system.com>
43933 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
43934 Signed-off-by: David S. Miller <davem@davemloft.net>
43935
43936 drivers/net/can/usb/peak_usb/pcan_usb.c | 2 +-
43937 1 files changed, 1 insertions(+), 1 deletions(-)
43938
43939 commit c1ac6642baae4a400d1f87115024d1bb1ef53598
43940 Author: Linus Lüssing <linus.luessing@web.de>
43941 Date: Tue Aug 6 20:21:15 2013 +0200
43942
43943 Upstream commit: 9d2c9488cedb666bc8206fbdcdc1575e0fbc5929
43944
43945 batman-adv: fix potential kernel paging errors for unicast transmissions
43946
43947 There are several functions which might reallocate skb data. Currently
43948 some places keep reusing their old ethhdr pointer regardless of whether
43949 they became invalid after such a reallocation or not. This potentially
43950 leads to kernel paging errors.
43951
43952 This patch fixes these by refetching the ethdr pointer after the
43953 potential reallocations.
43954
43955 Signed-off-by: Linus Lüssing <linus.luessing@web.de>
43956 Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
43957 Signed-off-by: Antonio Quartulli <ordex@autistici.org>
43958
43959 net/batman-adv/bridge_loop_avoidance.c | 2 ++
43960 net/batman-adv/gateway_client.c | 13 ++++++++++++-
43961 net/batman-adv/gateway_client.h | 3 +--
43962 net/batman-adv/soft-interface.c | 9 ++++++++-
43963 net/batman-adv/unicast.c | 13 ++++++++++---
43964 5 files changed, 33 insertions(+), 7 deletions(-)
43965
43966 commit d11ebb55757d366b2e445dea5a96e3ef1b4d22eb
43967 Author: Yuchung Cheng <ycheng@google.com>
43968 Date: Fri Aug 9 17:21:27 2013 -0700
43969
43970 Upstream commit: 356d7d88e088687b6578ca64601b0a2c9d145296
43971
43972 netfilter: nf_conntrack: fix tcp_in_window for Fast Open
43973
43974 Currently the conntrack checks if the ending sequence of a packet
43975 falls within the observed receive window. However it does so even
43976 if it has not observe any packet from the remote yet and uses an
43977 uninitialized receive window (td_maxwin).
43978
43979 If a connection uses Fast Open to send a SYN-data packet which is
43980 dropped afterward in the network. The subsequent SYNs retransmits
43981 will all fail this check and be discarded, leading to a connection
43982 timeout. This is because the SYN retransmit does not contain data
43983 payload so
43984
43985 end == initial sequence number (isn) + 1
43986 sender->td_end == isn + syn_data_len
43987 receiver->td_maxwin == 0
43988
43989 The fix is to only apply this check after td_maxwin is initialized.
43990
43991 Reported-by: Michael Chan <mcfchan@stanford.edu>
43992 Signed-off-by: Yuchung Cheng <ycheng@google.com>
43993 Acked-by: Eric Dumazet <edumazet@google.com>
43994 Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
43995 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
43996
43997 net/netfilter/nf_conntrack_proto_tcp.c | 12 ++++++++----
43998 1 files changed, 8 insertions(+), 4 deletions(-)
43999
44000 commit 94462727d1f151aa2e3f7fbf0dedb19d8545d2ec
44001 Author: Dan Carpenter <dan.carpenter@oracle.com>
44002 Date: Thu Aug 1 12:36:57 2013 +0300
44003
44004 Upstream commit: e4d091d7bf787cd303383725b8071d0bae76f981
44005
44006 netfilter: nfnetlink_{log,queue}: fix information leaks in netlink message
44007
44008 These structs have a "_pad" member. Also the "phw" structs have an 8
44009 byte "hw_addr[]" array but sometimes only the first 6 bytes are
44010 initialized.
44011
44012 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
44013 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
44014
44015 net/netfilter/nfnetlink_log.c | 6 +++++-
44016 net/netfilter/nfnetlink_queue_core.c | 5 ++++-
44017 2 files changed, 9 insertions(+), 2 deletions(-)
44018
44019 commit c5b469d0a0b480a8b2dcac9b4e6532c0ac17f81f
44020 Author: Pablo Neira Ayuso <pablo@netfilter.org>
44021 Date: Thu Jul 25 10:46:46 2013 +0200
44022
44023 Upstream commit: a206bcb3b02025b23137f3228109d72e0f835c05
44024
44025 netfilter: xt_TCPOPTSTRIP: fix possible off by one access
44026
44027 Fix a possible off by one access since optlen()
44028 touches opt[offset+1] unsafely when i == tcp_hdrlen(skb) - 1.
44029
44030 This patch replaces tcp_hdrlen() by the local variable tcp_hdrlen
44031 that stores the TCP header length, to save some cycles.
44032
44033 Reported-by: Julian Anastasov <ja@ssi.bg>
44034 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
44035
44036 net/netfilter/xt_TCPOPTSTRIP.c | 10 ++++++----
44037 1 files changed, 6 insertions(+), 4 deletions(-)
44038
44039 commit 4634def261cf5f635bc60afe8a6ad436b3ec151e
44040 Author: Pablo Neira Ayuso <pablo@netfilter.org>
44041 Date: Thu Jul 25 10:37:49 2013 +0200
44042
44043 Upstream commit: 71ffe9c77dd7a2b62207953091efa8dafec958dd
44044
44045 netfilter: xt_TCPMSS: fix handling of malformed TCP header and options
44046
44047 Make sure the packet has enough room for the TCP header and
44048 that it is not malformed.
44049
44050 While at it, store tcph->doff*4 in a variable, as it is used
44051 several times.
44052
44053 This patch also fixes a possible off by one in case of malformed
44054 TCP options.
44055
44056 Reported-by: Julian Anastasov <ja@ssi.bg>
44057 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
44058
44059 net/netfilter/xt_TCPMSS.c | 28 ++++++++++++++++------------
44060 1 files changed, 16 insertions(+), 12 deletions(-)
44061
44062 commit dc552b7b377b8b0cba23513ee09a2341d6714ae8
44063 Author: Dave Jones <davej@redhat.com>
44064 Date: Fri Aug 9 11:16:34 2013 -0700
44065
44066 Upstream commit: d06f5187469eee1b2932c02fd093d113cfc60d5e
44067
44068 8139cp: Fix skb leak in rx_status_loop failure path.
44069
44070 Introduced in cf3c4c03060b688cbc389ebc5065ebcce5653e96
44071 ("8139cp: Add dma_mapping_error checking")
44072
44073 Signed-off-by: Dave Jones <davej@redhat.com>
44074 Signed-off-by: David S. Miller <davem@davemloft.net>
44075
44076 drivers/net/ethernet/realtek/8139cp.c | 1 +
44077 1 files changed, 1 insertions(+), 0 deletions(-)
44078
44079 commit 227b279491a0bbcc70ca3654f34903282c378600
44080 Author: Timo Teräs <timo.teras@iki.fi>
44081 Date: Tue Aug 6 13:45:43 2013 +0300
44082
44083 Upstream commit: 77a482bdb2e68d13fae87541b341905ba70d572b
44084
44085 ip_gre: fix ipgre_header to return correct offset
44086
44087 Fix ipgre_header() (header_ops->create) to return the correct
44088 amount of bytes pushed. Most callers of dev_hard_header() seem
44089 to care only if it was success, but af_packet.c uses it as
44090 offset to the skb to copy from userspace only once. In practice
44091 this fixes packet socket sendto()/sendmsg() to gre tunnels.
44092
44093 Regression introduced in c54419321455631079c7d6e60bc732dd0c5914c5
44094 ("GRE: Refactor GRE tunneling code.")
44095
44096 Cc: Pravin B Shelar <pshelar@nicira.com>
44097 Signed-off-by: Timo Teräs <timo.teras@iki.fi>
44098 Acked-by: Eric Dumazet <edumazet@google.com>
44099 Signed-off-by: David S. Miller <davem@davemloft.net>
44100
44101 net/ipv4/ip_gre.c | 2 +-
44102 1 files changed, 1 insertions(+), 1 deletions(-)
44103
44104 commit 4b37d11c0ebb440d9335861ce8f1e690a34c10fb
44105 Author: Eric Dumazet <edumazet@google.com>
44106 Date: Mon Aug 5 11:18:49 2013 -0700
44107
44108 Upstream commit: aab515d7c32a34300312416c50314e755ea6f765
44109
44110 fib_trie: remove potential out of bound access
44111
44112 AddressSanitizer [1] dynamic checker pointed a potential
44113 out of bound access in leaf_walk_rcu()
44114
44115 We could allocate one more slot in tnode_new() to leave the prefetch()
44116 in-place but it looks not worth the pain.
44117
44118 Bug added in commit 82cfbb008572b ("[IPV4] fib_trie: iterator recode")
44119
44120 [1] :
44121 https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel
44122
44123 Reported-by: Andrey Konovalov <andreyknvl@google.com>
44124 Signed-off-by: Eric Dumazet <edumazet@google.com>
44125 Cc: Dmitry Vyukov <dvyukov@google.com>
44126 Signed-off-by: David S. Miller <davem@davemloft.net>
44127
44128 net/ipv4/fib_trie.c | 5 +----
44129 1 files changed, 1 insertions(+), 4 deletions(-)
44130
44131 commit 3928184d65fdaf3eef446f0e6c5f305352c1fd02
44132 Author: Daniel Borkmann <dborkman@redhat.com>
44133 Date: Mon Aug 5 12:49:35 2013 +0200
44134
44135 Upstream commit: 7921895a5e852fc99de347bc0600659997de9298
44136
44137 net: esp{4,6}: fix potential MTU calculation overflows
44138
44139 Commit 91657eafb ("xfrm: take net hdr len into account for esp payload
44140 size calculation") introduced a possible interger overflow in
44141 esp{4,6}_get_mtu() handlers in case of x->props.mode equals
44142 XFRM_MODE_TUNNEL. Thus, the following expression will overflow
44143
44144 unsigned int net_adj;
44145 ...
44146 <case ipv{4,6} XFRM_MODE_TUNNEL>
44147 net_adj = 0;
44148 ...
44149 return ((mtu - x->props.header_len - crypto_aead_authsize(esp->aead) -
44150 net_adj) & ~(align - 1)) + (net_adj - 2);
44151
44152 where (net_adj - 2) would be evaluated as <foo> + (0 - 2) in an unsigned
44153 context. Fix it by simply removing brackets as those operations here
44154 do not need to have special precedence.
44155
44156 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
44157 Cc: Benjamin Poirier <bpoirier@suse.de>
44158 Cc: Steffen Klassert <steffen.klassert@secunet.com>
44159 Acked-by: Benjamin Poirier <bpoirier@suse.de>
44160 Signed-off-by: David S. Miller <davem@davemloft.net>
44161
44162 net/ipv4/esp4.c | 2 +-
44163 net/ipv6/esp6.c | 2 +-
44164 2 files changed, 2 insertions(+), 2 deletions(-)
44165
44166 commit f02bce292d1c2fe610be509c96593e70b3de387b
44167 Author: Julia Lawall <Julia.Lawall@lip6.fr>
44168 Date: Mon Aug 5 16:47:38 2013 +0200
44169
44170 Upstream commit: d9af2d67e490b48f0d36f448d34e7bab9425f142
44171
44172 net/vmw_vsock/af_vsock.c: drop unneeded semicolon
44173
44174 Drop the semicolon at the end of the list_for_each_entry loop header.
44175
44176 Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
44177 Signed-off-by: David S. Miller <davem@davemloft.net>
44178
44179 net/vmw_vsock/af_vsock.c | 2 +-
44180 1 files changed, 1 insertions(+), 1 deletions(-)
44181
44182 commit 4b62f0cbc3f949056e8bbe0af036acfc20e8e049
44183 Author: Tiger Yang <tiger.yang@oracle.com>
44184 Date: Tue Aug 13 16:00:58 2013 -0700
44185
44186 Upstream commit: c7dd3392ad469e6ba125170ad29f881bed85b678
44187
44188 ocfs2: fix NULL pointer dereference in ocfs2_duplicate_clusters_by_page
44189
44190 Since ocfs2_cow_file_pos will invoke ocfs2_refcount_icow with a NULL as
44191 the struct file pointer, it finally result in a null pointer dereference
44192 in ocfs2_duplicate_clusters_by_page.
44193
44194 This patch replace file pointer with inode pointer in
44195 cow_duplicate_clusters to fix this issue.
44196
44197 [jeff.liu@oracle.com: rebased patch against linux-next tree]
44198 Signed-off-by: Tiger Yang <tiger.yang@oracle.com>
44199 Signed-off-by: Jie Liu <jeff.liu@oracle.com>
44200 Cc: Joel Becker <jlbec@evilplan.org>
44201 Cc: Mark Fasheh <mfasheh@suse.com>
44202 Acked-by: Tao Ma <tm@tao.ma>
44203 Tested-by: David Weber <wb@munzinger.de>
44204 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
44205 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
44206
44207 fs/ocfs2/aops.c | 2 +-
44208 fs/ocfs2/file.c | 6 ++--
44209 fs/ocfs2/move_extents.c | 2 +-
44210 fs/ocfs2/refcounttree.c | 53 +++++++---------------------------------------
44211 fs/ocfs2/refcounttree.h | 6 ++--
44212 5 files changed, 16 insertions(+), 53 deletions(-)
44213
44214 commit 433bf493c7472435b328b2bc85b6e54f6dd3d0d3
44215 Author: Dan Carpenter <dan.carpenter@oracle.com>
44216 Date: Thu Aug 15 15:52:57 2013 +0300
44217
44218 Upstream commit: 15718ea0d844e4816dbd95d57a8a0e3e264ba90e
44219
44220 tun: signedness bug in tun_get_user()
44221
44222 The recent fix d9bf5f1309 "tun: compare with 0 instead of total_len" is
44223 not totally correct. Because "len" and "sizeof()" are size_t type, that
44224 means they are never less than zero.
44225
44226 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
44227 Acked-by: Michael S. Tsirkin <mst@redhat.com>
44228 Acked-by: Neil Horman <nhorman@tuxdriver.com>
44229 Signed-off-by: David S. Miller <davem@davemloft.net>
44230
44231 drivers/net/tun.c | 6 ++++--
44232 1 files changed, 4 insertions(+), 2 deletions(-)
44233
44234 commit 26ad267ddda451919357965a0cf271ca24d1bcf2
44235 Author: Weiping Pan <wpan@redhat.com>
44236 Date: Tue Aug 13 21:46:56 2013 +0800
44237
44238 Upstream commit: d9bf5f130946695063469749bfd190087b7fad39
44239
44240 tun: compare with 0 instead of total_len
44241
44242 Since we set "len = total_len" in the beginning of tun_get_user(),
44243 so we should compare the new len with 0, instead of total_len,
44244 or the if statement always returns false.
44245
44246 Signed-off-by: Weiping Pan <wpan@redhat.com>
44247 Signed-off-by: David S. Miller <davem@davemloft.net>
44248
44249 drivers/net/tun.c | 4 ++--
44250 1 files changed, 2 insertions(+), 2 deletions(-)
44251
44252 commit 70023d3ea40fae8b6b6a142a7a5c3db0bcc283f9
44253 Author: Guenter Roeck <linux@roeck-us.net>
44254 Date: Fri Aug 16 20:50:55 2013 -0700
44255
44256 Upstream commit: 215b28a5308f3d332df2ee09ef11fda45d7e4a92
44257
44258 s390: Fix broken build
44259
44260 Fix this build error:
44261
44262 In file included from fs/exec.c:61:0:
44263 arch/s390/include/asm/tlb.h:35:23: error: expected identifier or '(' before 'unsigned'
44264 arch/s390/include/asm/tlb.h:36:1: warning: no semicolon at end of struct or union [enabled by default]
44265 arch/s390/include/asm/tlb.h: In function 'tlb_gather_mmu':
44266 arch/s390/include/asm/tlb.h:57:5: error: 'struct mmu_gather' has no member named 'end'
44267
44268 Broken due to commit 2b047252d0 ("Fix TLB gather virtual address range
44269 invalidation corner cases").
44270
44271 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
44272 Cc: stable@vger.kernel.org
44273 Signed-off-by: Guenter Roeck <linux@roeck-us.net>
44274 [ Oh well. We had build testing for ppc amd um, but no s390 - Linus ]
44275 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
44276
44277 arch/s390/include/asm/tlb.h | 2 +-
44278 1 files changed, 1 insertions(+), 1 deletions(-)
44279
44280 commit 4e57312c2de2a25ddb181d129dafbc0251062c33
44281 Author: Linus Torvalds <torvalds@linux-foundation.org>
44282 Date: Thu Aug 15 11:42:25 2013 -0700
44283
44284 Upstream commit: 2b047252d087be7f2ba088b4933cd904f92e6fce
44285
44286 Fix TLB gather virtual address range invalidation corner cases
44287
44288 Ben Tebulin reported:
44289
44290 "Since v3.7.2 on two independent machines a very specific Git
44291 repository fails in 9/10 cases on git-fsck due to an SHA1/memory
44292 failures. This only occurs on a very specific repository and can be
44293 reproduced stably on two independent laptops. Git mailing list ran
44294 out of ideas and for me this looks like some very exotic kernel issue"
44295
44296 and bisected the failure to the backport of commit 53a59fc67f97 ("mm:
44297 limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT").
44298
44299 That commit itself is not actually buggy, but what it does is to make it
44300 much more likely to hit the partial TLB invalidation case, since it
44301 introduces a new case in tlb_next_batch() that previously only ever
44302 happened when running out of memory.
44303
44304 The real bug is that the TLB gather virtual memory range setup is subtly
44305 buggered. It was introduced in commit 597e1c3580b7 ("mm/mmu_gather:
44306 enable tlb flush range in generic mmu_gather"), and the range handling
44307 was already fixed at least once in commit e6c495a96ce0 ("mm: fix the TLB
44308 range flushed when __tlb_remove_page() runs out of slots"), but that fix
44309 was not complete.
44310
44311 The problem with the TLB gather virtual address range is that it isn't
44312 set up by the initial tlb_gather_mmu() initialization (which didn't get
44313 the TLB range information), but it is set up ad-hoc later by the
44314 functions that actually flush the TLB. And so any such case that forgot
44315 to update the TLB range entries would potentially miss TLB invalidates.
44316
44317 Rather than try to figure out exactly which particular ad-hoc range
44318 setup was missing (I personally suspect it's the hugetlb case in
44319 zap_huge_pmd(), which didn't have the same logic as zap_pte_range()
44320 did), this patch just gets rid of the problem at the source: make the
44321 TLB range information available to tlb_gather_mmu(), and initialize it
44322 when initializing all the other tlb gather fields.
44323
44324 This makes the patch larger, but conceptually much simpler. And the end
44325 result is much more understandable; even if you want to play games with
44326 partial ranges when invalidating the TLB contents in chunks, now the
44327 range information is always there, and anybody who doesn't want to
44328 bother with it won't introduce subtle bugs.
44329
44330 Ben verified that this fixes his problem.
44331
44332 Reported-bisected-and-tested-by: Ben Tebulin <tebulin@googlemail.com>
44333 Build-testing-by: Stephen Rothwell <sfr@canb.auug.org.au>
44334 Build-testing-by: Richard Weinberger <richard.weinberger@gmail.com>
44335 Reviewed-by: Michal Hocko <mhocko@suse.cz>
44336 Acked-by: Peter Zijlstra <peterz@infradead.org>
44337 Cc: stable@vger.kernel.org
44338 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
44339
44340 arch/arm/include/asm/tlb.h | 7 +++++--
44341 arch/arm64/include/asm/tlb.h | 7 +++++--
44342 arch/ia64/include/asm/tlb.h | 9 ++++++---
44343 arch/s390/include/asm/tlb.h | 8 ++++++--
44344 arch/sh/include/asm/tlb.h | 6 ++++--
44345 arch/um/include/asm/tlb.h | 6 ++++--
44346 fs/exec.c | 4 ++--
44347 include/asm-generic/tlb.h | 2 +-
44348 mm/hugetlb.c | 2 +-
44349 mm/memory.c | 36 +++++++++++++++++++++---------------
44350 mm/mmap.c | 4 ++--
44351 11 files changed, 57 insertions(+), 34 deletions(-)
44352
44353 commit 771ed01c6027772eca1a0df8de65043e7f0d94f8
44354 Merge: 5568c80 ffceabf
44355 Author: Brad Spengler <spender@grsecurity.net>
44356 Date: Sat Aug 17 09:11:41 2013 -0400
44357
44358 Merge branch 'pax-test' into grsec-test
44359
44360 commit ffceabfcc65c60109ba5fca694d78d4dc7047809
44361 Author: Brad Spengler <spender@grsecurity.net>
44362 Date: Sat Aug 17 09:10:44 2013 -0400
44363
44364 Update to pax-linux-3.10.7-test11.patch:
44365 - simplified some arm code
44366 - disabled preemption when calling show_regs, reported by Corey Minyard
44367 - added PCID based support for UDEREF on amd64 (blog will have more details)
44368 - requires Westmere/Sandy Bridge/Ivy Bridge/Haswell/etc
44369 - nopcid turns it off
44370 - by default a strong form of UDEREF is used under PCID
44371 - pax_weakuderef switches to the older, less secure UDEREF
44372 - fixed several bugs that would also have manifested under SMAP
44373 - INVPCID is used when available (Haswell)
44374 - added a few more return insn instrumentation in new amd64 crypto code
44375
44376 Documentation/kernel-parameters.txt | 7 +
44377 arch/arm/include/asm/uaccess.h | 3 +
44378 arch/x86/crypto/blowfish-avx2-asm_64.S | 6 +
44379 arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 ++
44380 arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 ++
44381 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +
44382 arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +
44383 arch/x86/crypto/serpent-avx2-asm_64.S | 9 ++
44384 arch/x86/crypto/sha256-avx-asm.S | 2 +
44385 arch/x86/crypto/sha256-avx2-asm.S | 2 +
44386 arch/x86/crypto/sha256-ssse3-asm.S | 2 +
44387 arch/x86/crypto/sha512-avx-asm.S | 2 +
44388 arch/x86/crypto/sha512-avx2-asm.S | 2 +
44389 arch/x86/crypto/sha512-ssse3-asm.S | 2 +
44390 arch/x86/crypto/twofish-avx2-asm_64.S | 8 ++
44391 arch/x86/ia32/ia32_signal.c | 2 +-
44392 arch/x86/ia32/ia32entry.S | 24 ++++-
44393 arch/x86/include/asm/cpufeature.h | 3 +-
44394 arch/x86/include/asm/fpu-internal.h | 2 +
44395 arch/x86/include/asm/futex.h | 4 +
44396 arch/x86/include/asm/mmu_context.h | 80 +++++++++++---
44397 arch/x86/include/asm/pgtable.h | 10 +-
44398 arch/x86/include/asm/processor.h | 15 +++-
44399 arch/x86/include/asm/segment.h | 5 +-
44400 arch/x86/include/asm/smap.h | 64 +++++++++++-
44401 arch/x86/include/asm/tlbflush.h | 63 +++++++++--
44402 arch/x86/include/asm/uaccess.h | 18 +++-
44403 arch/x86/include/asm/xsave.h | 4 +
44404 arch/x86/kernel/cpu/common.c | 38 +++++++
44405 arch/x86/kernel/entry_32.S | 2 +-
44406 arch/x86/kernel/entry_64.S | 152 +++++++++++++++++++++++---
44407 arch/x86/kernel/head_32.S | 2 +-
44408 arch/x86/kernel/head_64.S | 8 +-
44409 arch/x86/kernel/process_64.c | 5 +
44410 arch/x86/kernel/setup.c | 8 +-
44411 arch/x86/kernel/signal.c | 4 +-
44412 arch/x86/kernel/smpboot.c | 15 ++-
44413 arch/x86/lib/copy_user_64.S | 50 +--------
44414 arch/x86/lib/copy_user_nocache_64.S | 2 +
44415 arch/x86/lib/csum-wrappers_64.c | 11 ++-
44416 arch/x86/lib/memcpy_64.S | 4 +-
44417 arch/x86/lib/memmove_64.S | 2 +-
44418 arch/x86/lib/memset_64.S | 4 +-
44419 arch/x86/lib/usercopy_64.c | 5 +-
44420 arch/x86/mm/Makefile | 4 +
44421 arch/x86/mm/fault.c | 29 ++++--
44422 arch/x86/mm/init.c | 7 +-
44423 arch/x86/mm/init_64.c | 9 ++-
44424 arch/x86/mm/pageattr.c | 2 +-
44425 arch/x86/mm/pgtable.c | 3 +
44426 arch/x86/platform/efi/efi_32.c | 2 +-
44427 arch/x86/platform/efi/efi_64.c | 2 +-
44428 arch/x86/realmode/rm/trampoline_64.S | 1 +
44429 fs/exec.c | 2 +
44430 include/asm-generic/uaccess.h | 8 ++
44431 include/linux/compat.h | 1 +
44432 include/linux/preempt.h | 19 +++
44433 include/linux/signal.h | 1 +
44434 include/linux/smp.h | 2 +
44435 init/main.c | 14 ++-
44436 kernel/signal.c | 16 +++
44437 security/Kconfig | 5 +
44438 tools/lib/lk/Makefile | 2 +-
44439 tools/perf/Makefile | 2 +-
44440 64 files changed, 673 insertions(+), 136 deletions(-)
44441
44442 commit 5568c8059e78d6d002815409df4e90c83b3b08a8
44443 Author: Brad Spengler <spender@grsecurity.net>
44444 Date: Sat Aug 17 08:58:34 2013 -0400
44445
44446 Fix two harmless compiler warnings
44447
44448 arch/arm/kernel/process.c | 4 ++--
44449 fs/exec.c | 2 +-
44450 2 files changed, 3 insertions(+), 3 deletions(-)
44451
44452 commit e4a41a3eef8c6bdebdbe273cc0fbe372bcb62806
44453 Author: Brad Spengler <spender@grsecurity.net>
44454 Date: Fri Aug 16 22:55:24 2013 -0400
44455
44456 Upstream commit: c95eb3184ea1a3a2551df57190c81da695e2144b
44457
44458 arch/arm/kernel/perf_event.c | 5 ++++-
44459 1 files changed, 4 insertions(+), 1 deletions(-)
44460
44461 commit 3637bc893b57a227b01852fe34685ab237285b10
44462 Author: Stephen Boyd <sboyd@codeaurora.org>
44463 Date: Wed Aug 7 16:18:08 2013 -0700
44464
44465 Upstream commit: b88a2595b6d8aedbd275c07dfa784657b4f757eb
44466
44467 perf/arm: Fix armpmu_map_hw_event()
44468
44469 Fix constraint check in armpmu_map_hw_event().
44470
44471 Reported-and-tested-by: Vince Weaver <vincent.weaver@maine.edu>
44472 Cc: <stable@kernel.org>
44473 Signed-off-by: Ingo Molnar <mingo@kernel.org>
44474 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
44475
44476 arch/arm/kernel/perf_event.c | 7 ++++++-
44477 1 files changed, 6 insertions(+), 1 deletions(-)
44478
44479 commit 11802e1f961a088c39af58d1c1b14d861eedfb35
44480 Author: Brad Spengler <spender@grsecurity.net>
44481 Date: Fri Aug 16 22:53:30 2013 -0400
44482
44483 More ARM backports
44484
44485 arch/arm/kernel/entry-armv.S | 3 ++-
44486 arch/arm/kernel/fiq.c | 8 ++------
44487 2 files changed, 4 insertions(+), 7 deletions(-)
44488
44489 commit bf89938c71ddbd6efb2c2e43bf4f3f99fef623ea
44490 Author: Brad Spengler <spender@grsecurity.net>
44491 Date: Fri Aug 16 22:46:01 2013 -0400
44492
44493 Fix HIDESYM compatibility with kprobes, as reported by feandil at:
44494 http://forums.grsecurity.net/viewtopic.php?t=3701&p=13376#p13376
44495
44496 include/linux/kallsyms.h | 2 +-
44497 kernel/kprobes.c | 3 +++
44498 2 files changed, 4 insertions(+), 1 deletions(-)
44499
44500 commit 3d1cf88bbdbe4c0e83dd7d731ecaf1741209d6b7
44501 Author: yonghua zheng <younghua.zheng@gmail.com>
44502 Date: Tue Aug 13 16:01:03 2013 -0700
44503
44504 fs/proc/task_mmu.c: fix buffer overflow in add_page_map()
44505
44506 Recently we met quite a lot of random kernel panic issues after enabling
44507 CONFIG_PROC_PAGE_MONITOR. After debuggind we found this has something
44508 to do with following bug in pagemap:
44509
44510 In struct pagemapread:
44511
44512 struct pagemapread {
44513 int pos, len;
44514 pagemap_entry_t *buffer;
44515 bool v2;
44516 };
44517
44518 pos is number of PM_ENTRY_BYTES in buffer, but len is the size of
44519 buffer, it is a mistake to compare pos and len in add_page_map() for
44520 checking buffer is full or not, and this can lead to buffer overflow and
44521 random kernel panic issue.
44522
44523 Correct len to be total number of PM_ENTRY_BYTES in buffer.
44524
44525 [akpm@linux-foundation.org: document pagemapread.pos and .len units, fix PM_ENTRY_BYTES definition]
44526 Signed-off-by: Yonghua Zheng <younghua.zheng@gmail.com>
44527 Cc: <stable@vger.kernel.org>
44528 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
44529 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
44530
44531 Conflicts:
44532
44533 fs/proc/task_mmu.c
44534
44535 fs/proc/task_mmu.c | 8 ++++----
44536 1 files changed, 4 insertions(+), 4 deletions(-)
44537
44538 commit 0a3dac834746de241c10d4978bf61b4f146ba89d
44539 Merge: dc19474 e12de30
44540 Author: Brad Spengler <spender@grsecurity.net>
44541 Date: Fri Aug 16 17:39:01 2013 -0400
44542
44543 Merge branch 'pax-test' into grsec-test
44544
44545 commit e12de30aa6b575fc3c9f5cd098dd03623598cb33
44546 Author: Brad Spengler <spender@grsecurity.net>
44547 Date: Fri Aug 16 17:34:47 2013 -0400
44548
44549 Update to pax-linux-3.10.7-test9.patch:
44550 - Emese fixed a size overflow false positive reported by Sven Vermeulen
44551 - fixed some arm compile problems reported by spender
44552 - added empty unchecked wrappers for local_t accessors on mips, by Corey Minyard <cminyard@mvista.com>
44553 eventually we'll have full REFCOUNT support on mips
44554
44555 arch/arm/kernel/process.c | 5 ++-
44556 arch/arm/mm/Kconfig | 2 +-
44557 arch/arm/mm/fault.c | 3 ++
44558 arch/mips/include/asm/local.h | 57 +++++++++++++++++++++++++++++++++++++++++
44559 mm/internal.h | 2 +-
44560 5 files changed, 65 insertions(+), 4 deletions(-)
44561
44562 commit dc19474d0ea6ea3c939544ae5f906067b1784a10
44563 Merge: 51b78c0 82266f9
44564 Author: Brad Spengler <spender@grsecurity.net>
44565 Date: Thu Aug 15 21:47:37 2013 -0400
44566
44567 Merge branch 'pax-test' into grsec-test
44568
44569 commit 82266f90a3f87ab5017329fb539aebf94c42253a
44570 Author: Brad Spengler <spender@grsecurity.net>
44571 Date: Thu Aug 15 21:14:47 2013 -0400
44572
44573 Update to pax-linux-3.10.7-test9.patch
44574
44575 arch/arm/kernel/process.c | 6 ++----
44576 1 files changed, 2 insertions(+), 4 deletions(-)
44577
44578 commit 51b78c06d1f41614f593cd36456b4af559e9d7fa
44579 Merge: e32d904 cb77ead
44580 Author: Brad Spengler <spender@grsecurity.net>
44581 Date: Thu Aug 15 20:53:45 2013 -0400
44582
44583 Merge branch 'pax-test' into grsec-test
44584
44585 Conflicts:
44586 security/Kconfig
44587
44588 commit cb77ead0eccb5abb75f7e437a3725d0254558ccd
44589 Merge: 13675b8 519be45
44590 Author: Brad Spengler <spender@grsecurity.net>
44591 Date: Thu Aug 15 20:50:47 2013 -0400
44592
44593 Update to pax-linux-3.10.7-test8.patch
44594
44595 Merge branch 'linux-3.10.y' into pax-test
44596
44597 commit e32d904b87292288e74e2637b900fd1115687b8e
44598 Author: Brad Spengler <spender@grsecurity.net>
44599 Date: Sat Aug 10 09:41:40 2013 -0400
44600
44601 propagate the threadstack offset through to the topdown/bottomup allocators
44602 on sparc64 hugepages
44603
44604 arch/sparc/mm/hugetlbpage.c | 12 ++++++++----
44605 1 files changed, 8 insertions(+), 4 deletions(-)
44606
44607 commit cefa30759f6c977fff5cc1634ecfbfe0ee44391c
44608 Author: Oleg Nesterov <oleg@redhat.com>
44609 Date: Thu Aug 8 18:55:32 2013 +0200
44610
44611 Upstream commit: 8742f229b635bf1c1c84a3dfe5e47c814c20b5c8
44612
44613 another local DoS found in reaction to the one I reported,
44614 we don't allow unpriv user ns use so this doesn't matter much to us
44615
44616 userns: limit the maximum depth of user_namespace->parent chain
44617
44618 Ensure that user_namespace->parent chain can't grow too much.
44619 Currently we use the hardroded 32 as limit.
44620
44621 Reported-by: Andy Lutomirski <luto@amacapital.net>
44622 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
44623 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
44624
44625 include/linux/user_namespace.h | 1 +
44626 kernel/user_namespace.c | 4 ++++
44627 2 files changed, 5 insertions(+), 0 deletions(-)
44628
44629 commit 223ac007ef18bf3a5095ba0a56675c1f16200149
44630 Merge: 1c92de4 13675b8
44631 Author: Brad Spengler <spender@grsecurity.net>
44632 Date: Thu Aug 8 20:45:24 2013 -0400
44633
44634 Merge branch 'pax-test' into grsec-test
44635
44636 Conflicts:
44637 security/Kconfig
44638
44639 commit 13675b848cf02bffd26924b2b84d927095bc253d
44640 Author: Brad Spengler <spender@grsecurity.net>
44641 Date: Thu Aug 8 20:43:52 2013 -0400
44642
44643 Update to pax-linux-3.10.5-test8.patch:
44644 - Emese fixed a size overflow false positive, reported by markusle (http://forums.grsecurity.net/viewtopic.php?f=3&t=3692)
44645 - fixed the use of PXN for 2-level pages tables on arm, by Corey Minyard <cminyard@mvista.com>
44646 - added PAGEEXEC/XI violation reporting on mips, by Corey Minyard <cminyard@mvista.com>
44647
44648 arch/arm/include/asm/pgtable-2level.h | 4 +++-
44649 arch/arm/mm/proc-v7-2level.S | 3 ---
44650 arch/mips/mm/fault.c | 8 ++++++++
44651 arch/x86/include/asm/processor.h | 3 ++-
44652 include/linux/math64.h | 2 +-
44653 security/Kconfig | 2 --
44654 6 files changed, 14 insertions(+), 8 deletions(-)
44655
44656 commit 1c92de4b8811c330af033c31d83c9c45e3d064b2
44657 Merge: e65aa3d 1660f49
44658 Author: Brad Spengler <spender@grsecurity.net>
44659 Date: Mon Aug 5 18:50:45 2013 -0400
44660
44661 Merge branch 'pax-test' into grsec-test
44662
44663 commit 1660f496848b8400d263f7920989dae15e72185a
44664 Merge: 7f91ba1 dc51cd2
44665 Author: Brad Spengler <spender@grsecurity.net>
44666 Date: Mon Aug 5 18:50:12 2013 -0400
44667
44668 Update to pax-linux-3.10.5-test7.patch
44669
44670 Merge branch 'linux-3.10.y' into pax-test
44671
44672 Conflicts:
44673 arch/x86/kernel/head_64.S
44674 mm/mempolicy.c
44675
44676 commit e65aa3dd447115cb79b4815bc1ceac7b3cacef15
44677 Author: Brad Spengler <spender@grsecurity.net>
44678 Date: Mon Aug 5 17:58:42 2013 -0400
44679
44680 Disable RANDKSTACK for a VirtualBox host as mentioned on the
44681 gentoo-hardened bugzilla:
44682 https://bugs.gentoo.org/show_bug.cgi?id=382793
44683
44684 security/Kconfig | 2 +-
44685 1 files changed, 1 insertions(+), 1 deletions(-)
44686
44687 commit 60d8cffd7740fd1d527790caf9a24a35d8c45858
44688 Author: Dan Carpenter <dan.carpenter@oracle.com>
44689 Date: Tue Jul 30 13:23:39 2013 +0300
44690
44691 Upstream commit: 8cb3b9c3642c0263d48f31d525bcee7170eedc20
44692
44693 net_sched: info leak in atm_tc_dump_class()
44694
44695 The "pvc" struct has a hole after pvc.sap_family which is not cleared.
44696
44697 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
44698 Reviewed-by: Jiri Pirko <jiri@resnulli.us>
44699 Signed-off-by: David S. Miller <davem@davemloft.net>
44700
44701 net/sched/sch_atm.c | 1 +
44702 1 files changed, 1 insertions(+), 0 deletions(-)
44703
44704 commit 50d20ebce56b6e0b9622685930e007e46c7c04bb
44705 Author: Daniel Borkmann <dborkman@redhat.com>
44706 Date: Fri Aug 2 11:32:43 2013 +0200
44707
44708 Upstream commit: 446266b0c742a2c9ee8f0dce759a0117bce58a86
44709
44710 net: rtm_to_ifaddr: free ifa if ifa_cacheinfo processing fails
44711
44712 Commit 5c766d642 ("ipv4: introduce address lifetime") leaves the ifa
44713 resource that was allocated via inet_alloc_ifa() unfreed when returning
44714 the function with -EINVAL. Thus, free it first via inet_free_ifa().
44715
44716 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
44717 Reviewed-by: Jiri Pirko <jiri@resnulli.us>
44718 Signed-off-by: David S. Miller <davem@davemloft.net>
44719
44720 net/ipv4/devinet.c | 4 +++-
44721 1 files changed, 3 insertions(+), 1 deletions(-)
44722
44723 commit 0acaba4eea12097cc59bc61a46ba1ef4a468b260
44724 Author: Himanshu Madhani <himanshu.madhani@qlogic.com>
44725 Date: Fri Aug 2 23:15:56 2013 -0400
44726
44727 Upstream commit: f91bbcb0b82186b4d5669021b142c263b66505e1
44728
44729 qlcnic: Free up memory in error path.
44730
44731 Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
44732 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
44733 Signed-off-by: David S. Miller <davem@davemloft.net>
44734
44735 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 6 +++---
44736 1 files changed, 3 insertions(+), 3 deletions(-)
44737
44738 commit 3626ec32c8b24cb38b8db2a1b2f5430bd898408a
44739 Author: Shahed Shaikh <shahed.shaikh@qlogic.com>
44740 Date: Fri Aug 2 23:15:54 2013 -0400
44741
44742 Upstream commit: 4a99ab56cea66f9f67b9d07ace5cd40a336c8e6f
44743
44744 qlcnic: Fix MAC address filter issue on 82xx adapter
44745
44746 Driver was passing the address of a pointer instead of
44747 the pointer itself.
44748
44749 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
44750 Signed-off-by: David S. Miller <davem@davemloft.net>
44751
44752 drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 2 +-
44753 1 files changed, 1 insertions(+), 1 deletions(-)
44754
44755 commit 5570df953d6c143e05f1d60d9c23210e60dbbe81
44756 Author: Brad Spengler <spender@grsecurity.net>
44757 Date: Mon Aug 5 17:26:40 2013 -0400
44758
44759 Move user namespace capability check to shared create_user_ns code so we
44760 cover unshare() as well.
44761
44762 Also kill a trivial 1-line, 22-character upstream kernel DoS, thanks to
44763 user namespaces!
44764
44765 kernel/fork.c | 17 -----------------
44766 kernel/user_namespace.c | 24 ++++++++++++++++++++++--
44767 2 files changed, 22 insertions(+), 19 deletions(-)
44768
44769 commit 97112fe30de4ca84e79c82ebfa2353b9c9988ca1
44770 Author: Brad Spengler <spender@grsecurity.net>
44771 Date: Mon Aug 5 16:05:41 2013 -0400
44772
44773 silence a warning on older gcc
44774
44775 grsecurity/gracl.c | 2 +-
44776 1 files changed, 1 insertions(+), 1 deletions(-)
44777
44778 commit b8966a5d577e9220fbc63306eee978f819f24e2e
44779 Author: Brad Spengler <spender@grsecurity.net>
44780 Date: Sat Aug 3 08:31:08 2013 -0400
44781
44782 we only care about mmaps of the beginning of an ELF, filter out
44783 all others as suggested by pipacs
44784
44785 mm/mmap.c | 2 +-
44786 1 files changed, 1 insertions(+), 1 deletions(-)
44787
44788 commit 8aea9fe5866dec3c847a34f743f343e18cf1cdcb
44789 Author: Brad Spengler <spender@grsecurity.net>
44790 Date: Fri Aug 2 23:54:51 2013 -0400
44791
44792 add include
44793
44794 grsecurity/grsec_log.c | 1 +
44795 1 files changed, 1 insertions(+), 0 deletions(-)
44796
44797 commit d48425ef8cb3761ab6130e52f1f8e401f5b5a295
44798 Author: Brad Spengler <spender@grsecurity.net>
44799 Date: Fri Aug 2 23:49:13 2013 -0400
44800
44801 fix compilation
44802
44803 include/linux/grinternal.h | 3 ++-
44804 1 files changed, 2 insertions(+), 1 deletions(-)
44805
44806 commit 1704c23fdc55b68f512dc9927940e72237f3f43e
44807 Author: Brad Spengler <spender@grsecurity.net>
44808 Date: Fri Aug 2 23:34:35 2013 -0400
44809
44810 Improve PaX reporting (tells when anon mapping is stack or heap)
44811 Remove textrel logging option, combine into rwx logging option
44812 Enhance RWX logging option to display when PT_GNU_STACK-enabled library
44813 is loaded under an MPROTECTed binary
44814 Enhance RWX mprotect logging to display stack/heap instead of just
44815 anon mapping
44816
44817 fs/binfmt_elf.c | 37 +++++++++++++++++++++++++++++++++++++
44818 fs/exec.c | 4 ++++
44819 grsecurity/Kconfig | 21 +++++----------------
44820 grsecurity/grsec_init.c | 4 ----
44821 grsecurity/grsec_log.c | 14 ++++++++++++++
44822 grsecurity/grsec_pax.c | 19 ++++++++++++++-----
44823 grsecurity/grsec_sysctl.c | 9 ---------
44824 include/linux/binfmts.h | 1 +
44825 include/linux/grinternal.h | 2 +-
44826 include/linux/grmsg.h | 3 ++-
44827 include/linux/grsecurity.h | 3 ++-
44828 mm/mmap.c | 7 +++++++
44829 mm/mprotect.c | 2 +-
44830 13 files changed, 88 insertions(+), 38 deletions(-)
44831
44832 commit faf81c100c8565524e21c9af780a0ad2ce3fd925
44833 Author: Brad Spengler <spender@grsecurity.net>
44834 Date: Thu Aug 1 18:52:02 2013 -0400
44835
44836 add missing #define
44837
44838 grsecurity/gracl.c | 1 +
44839 1 files changed, 1 insertions(+), 0 deletions(-)
44840
44841 commit e87232d1fcb4da72df971cbc623aac6c9b3871a0
44842 Author: Brad Spengler <spender@grsecurity.net>
44843 Date: Thu Aug 1 18:43:53 2013 -0400
44844
44845 fix compilation for !COMPAT as reported on the forums
44846
44847 grsecurity/gracl.c | 195 ++++++++++++++++++++++++++--------------------------
44848 1 files changed, 97 insertions(+), 98 deletions(-)
44849
44850 commit 65c9b9c6c42939dc55be1b8842e7c2e05733056c
44851 Merge: 65019c9 7f91ba1
44852 Author: Brad Spengler <spender@grsecurity.net>
44853 Date: Wed Jul 31 17:47:31 2013 -0400
44854
44855 Merge branch 'pax-test' into grsec-test
44856
44857 commit 65019c9bd05f860437071cbf00e2027fd2d68615
44858 Author: Brad Spengler <spender@grsecurity.net>
44859 Date: Wed Jul 31 17:47:20 2013 -0400
44860
44861 Revert "revert recent PaX change that causes boot failures with 32bit userland"
44862
44863 This reverts commit 23278a1ee1c7738dd1e7005241394d32b82196e4.
44864
44865 arch/x86/include/asm/processor.h | 4 ++--
44866 arch/x86/kernel/cpu/common.c | 2 +-
44867 arch/x86/kernel/process_64.c | 2 +-
44868 arch/x86/kernel/smpboot.c | 2 +-
44869 arch/x86/xen/smp.c | 2 +-
44870 5 files changed, 6 insertions(+), 6 deletions(-)
44871
44872 commit 7f91ba11122fcaa96fc2dca42bddcd5f8db3b945
44873 Author: Brad Spengler <spender@grsecurity.net>
44874 Date: Wed Jul 31 17:46:00 2013 -0400
44875
44876 Update to pax-linux-3.10.4-test7.patch:
44877 - added a few more missing format strings
44878 - added reporting of mismatched MPROTECT/EMUTRAMP flags between libraries and the main executable
44879 - reverted the recent amd64 kstack alignment fix, it'll be done the harder way another time
44880 - fixed a UDEREF/i386 regression, __get_user_8 would always fail
44881
44882 arch/x86/include/asm/processor.h | 4 +-
44883 arch/x86/kernel/cpu/common.c | 2 +-
44884 arch/x86/kernel/dumpstack.c | 2 +-
44885 arch/x86/kernel/process_64.c | 2 +-
44886 arch/x86/kernel/reboot_fixups_32.c | 2 +-
44887 arch/x86/kernel/smpboot.c | 2 +-
44888 arch/x86/lib/getuser.S | 4 +-
44889 arch/x86/xen/smp.c | 2 +-
44890 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 8 ++--
44891 drivers/video/backlight/backlight.c | 2 +-
44892 drivers/video/backlight/lcd.c | 2 +-
44893 fs/binfmt_elf.c | 51 +++++++++++++++++++++++++---
44894 fs/exec.c | 50 +++++++++++++--------------
44895 include/linux/sched.h | 2 +
44896 14 files changed, 88 insertions(+), 47 deletions(-)
44897
44898 commit 043130da54cb7cc8dc44e0ce889d426e889a0532
44899 Author: Brad Spengler <spender@grsecurity.net>
44900 Date: Wed Jul 31 16:26:58 2013 -0400
44901
44902 compile fix for !COMPAT as mentioned on forums
44903
44904 grsecurity/gracl.c | 2 ++
44905 1 files changed, 2 insertions(+), 0 deletions(-)
44906
44907 commit ed0a195abd4e41c2449a020a53a19c74dc866d78
44908 Author: Brad Spengler <spender@grsecurity.net>
44909 Date: Tue Jul 30 22:33:14 2013 -0400
44910
44911 perform compat conversion of rlimit infinity
44912
44913 grsecurity/gracl_compat.c | 10 ++++++++--
44914 1 files changed, 8 insertions(+), 2 deletions(-)
44915
44916 commit a99c1b9f31678c1c72a63bea65aed1b2d3205259
44917 Author: Brad Spengler <spender@grsecurity.net>
44918 Date: Tue Jul 30 22:21:40 2013 -0400
44919
44920 remove debugging
44921
44922 grsecurity/gracl_compat.c | 44 +++++++++++---------------------------------
44923 1 files changed, 11 insertions(+), 33 deletions(-)
44924
44925 commit e75b3f504692b97960a7530ad0855d91441d79c0
44926 Author: Brad Spengler <spender@grsecurity.net>
44927 Date: Tue Jul 30 22:20:32 2013 -0400
44928
44929 eliminate compat_dev_t
44930
44931 include/linux/gracl_compat.h | 4 ++--
44932 1 files changed, 2 insertions(+), 2 deletions(-)
44933
44934 commit e5abbaf95313066a724e1a843d4fc902a9a6450e
44935 Author: Brad Spengler <spender@grsecurity.net>
44936 Date: Tue Jul 30 22:13:22 2013 -0400
44937
44938 fix compat rlimit size
44939
44940 grsecurity/gracl_compat.c | 68 +++++++++++++++++++++++++++++-------------
44941 include/linux/gracl_compat.h | 4 +-
44942 2 files changed, 49 insertions(+), 23 deletions(-)
44943
44944 commit 877d6c2f8b3518ff39601084560bb33c58d35a1f
44945 Author: Brad Spengler <spender@grsecurity.net>
44946 Date: Tue Jul 30 21:20:18 2013 -0400
44947
44948 compile fix
44949
44950 grsecurity/gracl.c | 4 ++--
44951 1 files changed, 2 insertions(+), 2 deletions(-)
44952
44953 commit a2062eae8d1dc48d338480e599fedee2dc5e2f98
44954 Author: Brad Spengler <spender@grsecurity.net>
44955 Date: Tue Jul 30 21:14:29 2013 -0400
44956
44957 copy correct pointer size in new compat code
44958
44959 grsecurity/gracl.c | 8 ++++----
44960 grsecurity/gracl_compat.c | 4 ++--
44961 2 files changed, 6 insertions(+), 6 deletions(-)
44962
44963 commit 23278a1ee1c7738dd1e7005241394d32b82196e4
44964 Author: Brad Spengler <spender@grsecurity.net>
44965 Date: Tue Jul 30 19:48:58 2013 -0400
44966
44967 revert recent PaX change that causes boot failures with 32bit userland
44968
44969 arch/x86/include/asm/processor.h | 4 ++--
44970 arch/x86/kernel/cpu/common.c | 2 +-
44971 arch/x86/kernel/process_64.c | 2 +-
44972 arch/x86/kernel/smpboot.c | 2 +-
44973 arch/x86/xen/smp.c | 2 +-
44974 5 files changed, 6 insertions(+), 6 deletions(-)
44975
44976 commit ec27f71a813656fea8ab37faecb2b485fe99d08e
44977 Merge: 3a11bcf 05f0a61
44978 Author: Brad Spengler <spender@grsecurity.net>
44979 Date: Tue Jul 30 19:42:21 2013 -0400
44980
44981 Merge branch 'pax-test' into grsec-test
44982
44983 commit 05f0a610373fa95df838f97c3fcfb59a3d79c5b8
44984 Author: Brad Spengler <spender@grsecurity.net>
44985 Date: Tue Jul 30 19:41:44 2013 -0400
44986
44987 Update to pax-linux-3.10.4-test6.patch:
44988 - fixed some size_overflow false positives on i386 caused by __SC_LONG, reported by spender
44989
44990 include/linux/syscalls.h | 8 ++++++--
44991 1 files changed, 6 insertions(+), 2 deletions(-)
44992
44993 commit 3a11bcfcc738ed5dbf0d56713db872ed36351a26
44994 Author: Brad Spengler <spender@grsecurity.net>
44995 Date: Tue Jul 30 19:15:50 2013 -0400
44996
44997 compile fix
44998
44999 grsecurity/gracl_compat.c | 6 ++++++
45000 1 files changed, 6 insertions(+), 0 deletions(-)
45001
45002 commit 1dbd99b5cb0b6757eadf22309501e7fdd84f5de7
45003 Author: Brad Spengler <spender@grsecurity.net>
45004 Date: Tue Jul 30 19:12:46 2013 -0400
45005
45006 remove BUILD_BUG_ONs
45007
45008 grsecurity/gracl_compat.c | 20 --------------------
45009 1 files changed, 0 insertions(+), 20 deletions(-)
45010
45011 commit a283b21cbd77622383a1dcb1f7bf1080db3bae88
45012 Author: Brad Spengler <spender@grsecurity.net>
45013 Date: Tue Jul 30 00:18:36 2013 -0400
45014
45015 compile fixes
45016
45017 grsecurity/gracl_compat.c | 8 ++++----
45018 include/linux/gracl_compat.h | 2 +-
45019 2 files changed, 5 insertions(+), 5 deletions(-)
45020
45021 commit 8b744005f8bae565e24c1fd88af77e6e619b9434
45022 Author: Brad Spengler <spender@grsecurity.net>
45023 Date: Tue Jul 30 00:16:42 2013 -0400
45024
45025 compile fixes
45026
45027 grsecurity/gracl.c | 4 ++--
45028 grsecurity/gracl_compat.c | 2 +-
45029 2 files changed, 3 insertions(+), 3 deletions(-)
45030
45031 commit 5cd86afa393bf9bf38c2e9063191709ac2beff2c
45032 Author: Brad Spengler <spender@grsecurity.net>
45033 Date: Tue Jul 30 00:13:51 2013 -0400
45034
45035 compile fixes
45036
45037 grsecurity/gracl.c | 8 ++++----
45038 1 files changed, 4 insertions(+), 4 deletions(-)
45039
45040 commit b93b829afcc98b6108b18d99ff63c53642d0b951
45041 Author: Brad Spengler <spender@grsecurity.net>
45042 Date: Tue Jul 30 00:11:03 2013 -0400
45043
45044 compile fixes
45045
45046 grsecurity/gracl_compat.c | 3 +++
45047 1 files changed, 3 insertions(+), 0 deletions(-)
45048
45049 commit 7da096415fa633c4ad2b1f74bd43d3a58a63b5c0
45050 Author: Brad Spengler <spender@grsecurity.net>
45051 Date: Tue Jul 30 00:08:21 2013 -0400
45052
45053 more compile fixes
45054
45055 grsecurity/gracl.c | 28 ++++++++++++++--------------
45056 1 files changed, 14 insertions(+), 14 deletions(-)
45057
45058 commit 6c1fd80e19f1449b6895f1ed77f23f1245470b3b
45059 Author: Brad Spengler <spender@grsecurity.net>
45060 Date: Mon Jul 29 23:59:50 2013 -0400
45061
45062 more compile fixes
45063
45064 grsecurity/gracl.c | 10 +++++++++-
45065 1 files changed, 9 insertions(+), 1 deletions(-)
45066
45067 commit 89dda536f276dd4bb55fa0f9ea8980ac8b750d29
45068 Author: Brad Spengler <spender@grsecurity.net>
45069 Date: Mon Jul 29 23:56:47 2013 -0400
45070
45071 additional compile fixes
45072
45073 grsecurity/gracl.c | 59 +++++++++++++++++++++++++++++++++++++++++++--------
45074 1 files changed, 49 insertions(+), 10 deletions(-)
45075
45076 commit ac695a081d1124fb28bec46814535d34c5e40611
45077 Author: Brad Spengler <spender@grsecurity.net>
45078 Date: Mon Jul 29 23:47:15 2013 -0400
45079
45080 fix typo
45081
45082 grsecurity/gracl.c | 2 +-
45083 1 files changed, 1 insertions(+), 1 deletions(-)
45084
45085 commit d95dd21a8d6d00c5cf34fee3f45dd914b6da6093
45086 Author: Brad Spengler <spender@grsecurity.net>
45087 Date: Mon Jul 29 23:46:59 2013 -0400
45088
45089 compile fixes
45090
45091 grsecurity/gracl.c | 53 ++++++++++++++++++++++++++++++++++++++-------------
45092 1 files changed, 39 insertions(+), 14 deletions(-)
45093
45094 commit 82631f451cc7432b6c5578cf8d24155473feb25c
45095 Author: Brad Spengler <spender@grsecurity.net>
45096 Date: Mon Jul 29 23:22:44 2013 -0400
45097
45098 Initial commit of compat RBAC loading
45099 Permits 32bit gradm to load policy for a 64bit kernel
45100
45101 Also removed code duplication for copying strings into the kernel
45102
45103 Work performed as part of sponsorship
45104
45105 grsecurity/Makefile | 4 +
45106 grsecurity/gracl.c | 315 +++++++++++++++++++++++-------------------
45107 grsecurity/gracl_compat.c | 270 ++++++++++++++++++++++++++++++++++++
45108 include/linux/gracl_compat.h | 156 +++++++++++++++++++++
45109 4 files changed, 603 insertions(+), 142 deletions(-)
45110
45111 commit 84c4a433dfb096e4a1162ee5e68025122c70b421
45112 Merge: c9d3ed3 9fe5897
45113 Author: Brad Spengler <spender@grsecurity.net>
45114 Date: Mon Jul 29 17:08:56 2013 -0400
45115
45116 Merge branch 'pax-test' into grsec-test
45117
45118 commit 9fe58978938e357642885866ca48090a7753d403
45119 Merge: 8f693ad 6f7bb6b
45120 Author: Brad Spengler <spender@grsecurity.net>
45121 Date: Mon Jul 29 17:08:43 2013 -0400
45122
45123 Merge branch 'linux-3.10.y' into pax-test
45124
45125 commit c9d3ed33c5370bbacfadf86f6a1566828a3d7775
45126 Merge: d5e5bfd 8f693ad
45127 Author: Brad Spengler <spender@grsecurity.net>
45128 Date: Sun Jul 28 10:03:08 2013 -0400
45129
45130 Merge branch 'pax-test' into grsec-test
45131
45132 commit 8f693ade9b3e448f92706d34148b00a087637f70
45133 Author: Brad Spengler <spender@grsecurity.net>
45134 Date: Sun Jul 28 10:02:16 2013 -0400
45135
45136 Update to pax-linux-3.10.3-test5.patch:
45137 - fixed amd64 kstack alignment (caught by some crazy codegen by clang/llvm)
45138 - fixed handling of faulting userland accesses for UDEREF/arm, from spender
45139 - updated the size overflow hash table, from Emese
45140
45141 arch/arm/kernel/entry-armv.S | 3 +-
45142 arch/x86/include/asm/processor.h | 4 +-
45143 arch/x86/kernel/cpu/common.c | 2 +-
45144 arch/x86/kernel/process_64.c | 2 +-
45145 arch/x86/kernel/smpboot.c | 2 +-
45146 arch/x86/xen/smp.c | 2 +-
45147 tools/gcc/size_overflow_hash.data | 553 +++++++++++++++++++++++++++++++++----
45148 7 files changed, 513 insertions(+), 55 deletions(-)
45149
45150 commit d5e5bfd6ecc1fc7e86d070df8eb0ce8d0643c558
45151 Merge: 19e077b 8a8a0d0
45152 Author: Brad Spengler <spender@grsecurity.net>
45153 Date: Thu Jul 25 21:05:18 2013 -0400
45154
45155 Merge branch 'pax-test' into grsec-test
45156
45157 commit 8a8a0d0b22a86bf65302d03bb6732e42bc0a2e56
45158 Author: Brad Spengler <spender@grsecurity.net>
45159 Date: Thu Jul 25 21:04:09 2013 -0400
45160
45161 Update to pax-linux-3.10.3-test4.patch:
45162 - introduced per-slab object sanitization, contributed by Mathias Krause and secunet.
45163 this is finer grained sanitization than the existing per-page based approach (which
45164 is still done) at a somewhat higher performance cost. the pax_sanitize_slab command
45165 line option can be used to enable/disable it on boot (it's enabled by default when
45166 CONFIG_PAX_MEMORY_SANITIZE is enabled).
45167
45168 Documentation/kernel-parameters.txt | 4 ++++
45169 fs/buffer.c | 2 +-
45170 fs/dcache.c | 3 ++-
45171 include/linux/slab.h | 7 +++++++
45172 include/linux/slab_def.h | 4 ++++
45173 kernel/fork.c | 2 +-
45174 mm/rmap.c | 6 ++++--
45175 mm/slab.c | 27 +++++++++++++++++++++++++++
45176 mm/slab.h | 12 +++++++++++-
45177 mm/slab_common.c | 14 ++++++++++++++
45178 mm/slob.c | 5 +++++
45179 mm/slub.c | 11 +++++++++++
45180 net/core/skbuff.c | 6 ++++--
45181 security/Kconfig | 23 +++++++++++++++++------
45182 14 files changed, 112 insertions(+), 14 deletions(-)
45183
45184 commit 19e077bfff54ca211d0142c07cb6dd88069a390c
45185 Merge: 960ec51 c8f7f51
45186 Author: Brad Spengler <spender@grsecurity.net>
45187 Date: Thu Jul 25 19:53:34 2013 -0400
45188
45189 Merge branch 'pax-test' into grsec-test
45190
45191 commit c8f7f51591207b82530214300e86277028919286
45192 Merge: d5142e3 81a4648
45193 Author: Brad Spengler <spender@grsecurity.net>
45194 Date: Thu Jul 25 19:52:29 2013 -0400
45195
45196 Update to pax-linux-3.10.3-test3.patch:
45197 - fixed some compile issues reported by Michael Tremer and spender
45198 - fixed an i386 regression with the lower address space gap on i386, reported by cnu
45199
45200 Merge branch 'linux-3.10.y' into pax-test
45201
45202 Conflicts:
45203 kernel/time/tick-broadcast.c
45204
45205 commit 960ec51ab2142544fbae563d4fd5744775408965
45206 Author: Al Viro <viro@zeniv.linux.org.uk>
45207 Date: Sat Jul 20 03:13:55 2013 +0400
45208
45209 Upstream commit: acfec9a5a892f98461f52ed5770de99a3e571ae2
45210
45211 livelock avoidance in sget()
45212
45213 Eric Sandeen has found a nasty livelock in sget() - take a mount(2) about
45214 to fail. The superblock is on ->fs_supers, ->s_umount is held exclusive,
45215 ->s_active is 1. Along comes two more processes, trying to mount the same
45216 thing; sget() in each is picking that superblock, bumping ->s_count and
45217 trying to grab ->s_umount. ->s_active is 3 now. Original mount(2)
45218 finally gets to deactivate_locked_super() on failure; ->s_active is 2,
45219 superblock is still ->fs_supers because shutdown will *not* happen until
45220 ->s_active hits 0. ->s_umount is dropped and now we have two processes
45221 chasing each other:
45222 s_active = 2, A acquired ->s_umount, B blocked
45223 A sees that the damn thing is stillborn, does deactivate_locked_super()
45224 s_active = 1, A drops ->s_umount, B gets it
45225 A restarts the search and finds the same superblock. And bumps it ->s_active.
45226 s_active = 2, B holds ->s_umount, A blocked on trying to get it
45227 ... and we are in the earlier situation with A and B switched places.
45228
45229 The root cause, of course, is that ->s_active should not grow until we'd
45230 got MS_BORN. Then failing ->mount() will have deactivate_locked_super()
45231 shut the damn thing down. Fortunately, it's easy to do - the key point
45232 is that grab_super() is called only for superblocks currently on ->fs_supers,
45233 so it can bump ->s_count and grab ->s_umount first, then check MS_BORN and
45234 bump ->s_active; we must never increment ->s_count for superblocks past
45235 ->kill_sb(), but grab_super() is never called for those.
45236
45237 The bug is pretty old; we would've caught it by now, if not for accidental
45238 exclusion between sget() for block filesystems; the things like cgroup or
45239 e.g. mtd-based filesystems don't have anything of that sort, so they get
45240 bitten. The right way to deal with that is obviously to fix sget()...
45241
45242 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
45243
45244 fs/super.c | 25 ++++++++++---------------
45245 1 files changed, 10 insertions(+), 15 deletions(-)
45246
45247 commit 3540cebbbfa4aef94527ad3e0e49097848147fb9
45248 Merge: ab95b58 d5142e3
45249 Author: Brad Spengler <spender@grsecurity.net>
45250 Date: Sun Jul 21 22:47:46 2013 -0400
45251
45252 Merge branch 'pax-test' into grsec-test
45253
45254 commit d5142e31785f8c32c7338c51fcc27313bdd4a84e
45255 Merge: f36ae8c 0f4a56e
45256 Author: Brad Spengler <spender@grsecurity.net>
45257 Date: Sun Jul 21 22:47:34 2013 -0400
45258
45259 Merge branch 'linux-3.10.y' into pax-test
45260
45261 commit ab95b5842899d61ff5c30f4582e72029b3155be8
45262 Author: Brad Spengler <spender@grsecurity.net>
45263 Date: Sun Jul 21 22:28:40 2013 -0400
45264
45265 compile fix with constification reported by Michael Tremer
45266
45267 drivers/gpu/host1x/drm/dc.c | 2 +-
45268 1 files changed, 1 insertions(+), 1 deletions(-)
45269
45270 commit 817cd2d1e7a55720326599dd8f542578eef30927
45271 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
45272 Date: Fri Jul 12 23:46:33 2013 +0200
45273
45274 Upstream commit: 307f2fb95e9b96b3577916e73d92e104f8f26494
45275
45276 ipv6: only static routes qualify for equal cost multipathing
45277
45278 Static routes in this case are non-expiring routes which did not get
45279 configured by autoconf or by icmpv6 redirects.
45280
45281 To make sure we actually get an ecmp route while searching for the first
45282 one in this fib6_node's leafs, also make sure it matches the ecmp route
45283 assumptions.
45284
45285 v2:
45286 a) Removed RTF_EXPIRE check in dst.from chain. The check of RTF_ADDRCONF
45287 already ensures that this route, even if added again without
45288 RTF_EXPIRES (in case of a RA announcement with infinite timeout),
45289 does not cause the rt6i_nsiblings logic to go wrong if a later RA
45290 updates the expiration time later.
45291
45292 v3:
45293 a) Allow RTF_EXPIRES routes to enter the ecmp route set. We have to do so,
45294 because an pmtu event could update the RTF_EXPIRES flag and we would
45295 not count this route, if another route joins this set. We now filter
45296 only for RTF_GATEWAY|RTF_ADDRCONF|RTF_DYNAMIC, which are flags that
45297 don't get changed after rt6_info construction.
45298
45299 Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
45300 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
45301 Signed-off-by: David S. Miller <davem@davemloft.net>
45302
45303 net/ipv6/ip6_fib.c | 15 +++++++++++----
45304 1 files changed, 11 insertions(+), 4 deletions(-)
45305
45306 commit 77db8196d51b043e2e2d124094da101b0f01bccb
45307 Author: Dan Carpenter <dan.carpenter@oracle.com>
45308 Date: Fri Jul 12 09:39:03 2013 +0300
45309
45310 Upstream commit: b2781e1021525649c0b33fffd005ef219da33926
45311
45312 svcrdma: underflow issue in decode_write_list()
45313
45314 My static checker marks everything from ntohl() as untrusted and it
45315 complains we could have an underflow problem doing:
45316
45317 return (u32 *)&ary->wc_array[nchunks];
45318
45319 Also on 32 bit systems the upper bound check could overflow.
45320
45321 Cc: stable@vger.kernel.org
45322 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
45323 Signed-off-by: J. Bruce Fields <bfields@redhat.com>
45324
45325 net/sunrpc/xprtrdma/svc_rdma_marshal.c | 20 ++++++++++++++------
45326 1 files changed, 14 insertions(+), 6 deletions(-)
45327
45328 commit 926473317fd7953137ef97835edd36dabc584b01
45329 Author: Brad Spengler <spender@grsecurity.net>
45330 Date: Wed Jul 17 21:29:02 2013 -0400
45331
45332 add missing asm/pgtable.h include, reported by Michael Tremer
45333
45334 drivers/clk/socfpga/clk.c | 1 +
45335 1 files changed, 1 insertions(+), 0 deletions(-)
45336
45337 commit c592ae0001b31932ef1491784dfa374058797c66
45338 Author: Brad Spengler <spender@grsecurity.net>
45339 Date: Tue Jul 16 20:40:24 2013 -0400
45340
45341 allow viewing of ecryptfs version under SYSFS_RESTRICT
45342
45343 fs/sysfs/dir.c | 2 +-
45344 1 files changed, 1 insertions(+), 1 deletions(-)
45345
45346 commit 36db325ef3b07ea8cdb47f549e706e5d71398e14
45347 Merge: 9c96441 f36ae8c
45348 Author: Brad Spengler <spender@grsecurity.net>
45349 Date: Sun Jul 14 19:23:13 2013 -0400
45350
45351 Merge branch 'pax-test' into grsec-test
45352
45353 commit f36ae8c741ae32b1caff10825be12c327792c925
45354 Author: Brad Spengler <spender@grsecurity.net>
45355 Date: Sun Jul 14 19:22:15 2013 -0400
45356
45357 Update to pax-linux-3.10-test2.patch:
45358 - spender fixed a compile regression in a recent arm/UDEREF change, reported by Michael Tremer
45359 - spender fixed arm/KERNEXEC for v5 and older CPUs, reported by Michael Tremer
45360 - spender fixed a new CONSTIFY victim on arm, reported by Michael Tremer
45361 - spender fixed an madvise regression, reported by Peter Keel
45362 - spender fixed a SLAB regression, reported by Thorsten (http://forums.grsecurity.net/viewtopic.php?f=3&t=3614) and Jens (http://forums.grsecurity.net/viewtopic.php?f=1&t=3616)
45363 - fixed a headers_install regression, reported by Mathias Krause
45364 - fixed a SLOB compile regression, reported by Mathias Krause
45365
45366 arch/arm/include/asm/uaccess.h | 4 ++--
45367 arch/arm/mm/mmu.c | 15 +++++++++++++--
45368 drivers/clk/socfpga/clk.c | 6 ++++--
45369 mm/madvise.c | 4 ++--
45370 mm/slab.c | 4 ++--
45371 mm/slob.c | 4 ++--
45372 scripts/headers_install.sh | 2 +-
45373 7 files changed, 26 insertions(+), 13 deletions(-)
45374
45375 commit 9c9644156a49637050741d9165df79174e59b0ef
45376 Author: Brad Spengler <spender@grsecurity.net>
45377 Date: Sun Jul 14 19:19:54 2013 -0400
45378
45379 Fix sparc64 compilation, reported by Blake Self
45380
45381 arch/sparc/kernel/sys_sparc_64.c | 4 ++--
45382 1 files changed, 2 insertions(+), 2 deletions(-)
45383
45384 commit 7bcd3db081454768542c3d741bcf32cd61a50cf5
45385 Author: Brad Spengler <spender@grsecurity.net>
45386 Date: Sun Jul 14 11:49:17 2013 -0400
45387
45388 Update PaX fix, just return the error
45389
45390 mm/madvise.c | 15 +++++++--------
45391 1 files changed, 7 insertions(+), 8 deletions(-)
45392
45393 commit a10e377d0eddd37e8a3665b135e546ab03d9d171
45394 Author: Brad Spengler <spender@grsecurity.net>
45395 Date: Sun Jul 14 11:36:00 2013 -0400
45396
45397 Fix madvise oops reported by Peter Keel
45398
45399 mm/madvise.c | 11 ++++++-----
45400 1 files changed, 6 insertions(+), 5 deletions(-)
45401
45402 commit 08c5adca34d408772255b313f90d82c250c1d967
45403 Author: Brad Spengler <spender@grsecurity.net>
45404 Date: Sun Jul 14 11:26:34 2013 -0400
45405
45406 don't make high vector mapping non-present on old ARM architectures, no
45407 point in emulating some vector entries when the processor doesn't even support XN
45408
45409 arch/arm/mm/mmu.c | 7 +++++--
45410 1 files changed, 5 insertions(+), 2 deletions(-)
45411
45412 commit 2b40781d4197a89a003616af584884e36361c5b2
45413 Author: Brad Spengler <spender@grsecurity.net>
45414 Date: Sun Jul 14 09:51:58 2013 -0400
45415
45416 Temporary compile fix for code incorrectly modifying const data
45417 Wrap a cast version of the code with open/close
45418
45419 Thanks to Michael Tremer for the report
45420
45421 drivers/clk/socfpga/clk.c | 6 ++++--
45422 1 files changed, 4 insertions(+), 2 deletions(-)
45423
45424 commit a8258c1b4098c396cd4ea719e20858182feac1c1
45425 Author: Brad Spengler <spender@grsecurity.net>
45426 Date: Sun Jul 14 09:41:16 2013 -0400
45427
45428 Fix missing right parens in pipacs' "improvement" of my ARM code ;)
45429 Thanks to Michael Tremer for reporting
45430
45431 arch/arm/include/asm/uaccess.h | 4 ++--
45432 1 files changed, 2 insertions(+), 2 deletions(-)
45433
45434 commit 8542e1e973be7cc9a009d2ada8033576b2890e6f
45435 Merge: 86f446e 2577f8e
45436 Author: Brad Spengler <spender@grsecurity.net>
45437 Date: Sat Jul 13 20:46:58 2013 -0400
45438
45439 Merge branch 'pax-test' into grsec-test
45440
45441 Conflicts:
45442 mm/memcontrol.c
45443
45444 commit 2577f8e4ec41efb347706a59c6838de20f0c90da
45445 Merge: 75a36f0 cb5d8be
45446 Author: Brad Spengler <spender@grsecurity.net>
45447 Date: Sat Jul 13 20:43:42 2013 -0400
45448
45449 Merge branch 'linux-3.10.y' into pax-test
45450
45451 Conflicts:
45452 crypto/algapi.c
45453 drivers/block/nbd.c
45454
45455 commit 86f446e9d5c6b475d2e9360cc04f4361ad1b19b8
45456 Author: Brad Spengler <spender@grsecurity.net>
45457 Date: Fri Jul 12 23:02:11 2013 -0400
45458
45459 we always want the vector page to be noaccess for userland
45460 therefore, when kernexec is disabled, instead of L_PTE_USER | L_PTE_RDONLY
45461 which turns into supervisor rwx, userland rx, we instead omit that entirely,
45462 leaving it as supervisor rwx only
45463
45464 Fixes booting on ARMv5 and earlier, which need to write directly
45465 to the high vector mapping via set_tls when context switching
45466
45467 Thanks to Michael Tremer for the bugreport
45468
45469 arch/arm/mm/mmu.c | 12 ++++++++++--
45470 1 files changed, 10 insertions(+), 2 deletions(-)
45471
45472 commit 90cd0827eef656ec884f19c977873fefe2f2e47d
45473 Author: Cong Wang <amwang@redhat.com>
45474 Date: Sat Jun 29 12:02:59 2013 +0800
45475
45476 Upstream commit: 6c734fb8592f6768170e48e7102cb2f0a1bb9759
45477
45478 gre: fix a regression in ioctl
45479
45480 When testing GRE tunnel, I got:
45481
45482 # ip tunnel show
45483 get tunnel gre0 failed: Invalid argument
45484 get tunnel gre1 failed: Invalid argument
45485
45486 This is a regression introduced by commit c54419321455631079c7d
45487 ("GRE: Refactor GRE tunneling code.") because previously we
45488 only check the parameters for SIOCADDTUNNEL and SIOCCHGTUNNEL,
45489 after that commit, the check is moved for all commands.
45490
45491 So, just check for SIOCADDTUNNEL and SIOCCHGTUNNEL.
45492
45493 After this patch I got:
45494
45495 # ip tunnel show
45496 gre0: gre/ip remote any local any ttl inherit nopmtudisc
45497 gre1: gre/ip remote 192.168.122.101 local 192.168.122.45 ttl inherit
45498
45499 Cc: Pravin B Shelar <pshelar@nicira.com>
45500 Cc: "David S. Miller" <davem@davemloft.net>
45501 Signed-off-by: Cong Wang <amwang@redhat.com>
45502 Signed-off-by: David S. Miller <davem@davemloft.net>
45503
45504 net/ipv4/ip_gre.c | 9 +++++----
45505 1 files changed, 5 insertions(+), 4 deletions(-)
45506
45507 commit 50d4e90ec8da630eac8840da9c53b8738a2f98b5
45508 Author: Cong Wang <amwang@redhat.com>
45509 Date: Sat Jun 29 13:00:57 2013 +0800
45510
45511 Upstream commit: ab6c7a0a43c2eaafa57583822b619b22637b49c7
45512
45513 vti: remove duplicated code to fix a memory leak
45514
45515 vti module allocates dev->tstats twice: in vti_fb_tunnel_init()
45516 and in vti_tunnel_init(), this lead to a memory leak of
45517 dev->tstats.
45518
45519 Just remove the duplicated operations in vti_fb_tunnel_init().
45520
45521 (candidate for -stable)
45522
45523 Cc: Stephen Hemminger <stephen@networkplumber.org>
45524 Cc: Saurabh Mohan <saurabh.mohan@vyatta.com>
45525 Cc: "David S. Miller" <davem@davemloft.net>
45526 Signed-off-by: Cong Wang <amwang@redhat.com>
45527 Acked-by: Stephen Hemminger <stephen@networkplumber.org>
45528 Signed-off-by: David S. Miller <davem@davemloft.net>
45529
45530 net/ipv4/ip_vti.c | 7 -------
45531 1 files changed, 0 insertions(+), 7 deletions(-)
45532
45533 commit af9e57897a8fab9bbeceb984bd0aeaedb36aefcd
45534 Author: Michal Schmidt <mschmidt@redhat.com>
45535 Date: Mon Jul 1 17:23:05 2013 +0200
45536
45537 Upstream commit: 058eec4116935c5640299913e1e0715e87ec622a
45538
45539 bnx2x: remove zeroing of dump data buffer
45540
45541 There is no need to initialize the dump data with zeros.
45542 data is allocated with vzalloc, so it's already zero-filled.
45543
45544 More importantly, the memset is harmful, because dump->len (the length
45545 requested by userspace) can be bigger than the allocated buffer (whose
45546 size is determined by asking the driver's .get_dump_flag method).
45547
45548 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
45549 Signed-off-by: David S. Miller <davem@davemloft.net>
45550
45551 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 --
45552 1 files changed, 0 insertions(+), 2 deletions(-)
45553
45554 commit c771072b72c261f9bddd6734dca6979c1b96e7df
45555 Author: Michal Schmidt <mschmidt@redhat.com>
45556 Date: Mon Jul 1 17:23:06 2013 +0200
45557
45558 Upstream commit: 5bb680d6cbe36de9d7ba12b05f845c91a8692318
45559
45560 bnx2x: fix dump flag handling
45561
45562 bnx2x interprets the dump flag as an index of a register preset.
45563 It is important to validate the index to avoid out of bounds
45564 memory accesses.
45565
45566 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
45567 Signed-off-by: David S. Miller <davem@davemloft.net>
45568
45569 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 3 +++
45570 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 ++
45571 2 files changed, 5 insertions(+), 0 deletions(-)
45572
45573 commit aed315c8fad9b2044143b46b239574b1b72135ce
45574 Author: Michal Schmidt <mschmidt@redhat.com>
45575 Date: Mon Jul 1 17:23:30 2013 +0200
45576
45577 Upstream commit: c590b5e2f05b5e98e614382582b7ae4cddb37599
45578
45579 ethtool: make .get_dump_data() harder to misuse by drivers
45580
45581 As the patch "bnx2x: remove zeroing of dump data buffer" showed,
45582 it is too easy implement .get_dump_data incorrectly in a driver.
45583
45584 Let's make sure drivers cannot get confused by userspace requesting
45585 a too big dump.
45586
45587 Also WARN if the driver sets dump->len to something weird and make
45588 sure the length reported to userspace is the actual length of data
45589 copied to userspace.
45590
45591 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
45592 Reviewed-by: Ben Hutchings <ben@decadent.org.uk>
45593 Signed-off-by: David S. Miller <davem@davemloft.net>
45594
45595 net/core/ethtool.c | 21 ++++++++++++++++++++-
45596 1 files changed, 20 insertions(+), 1 deletions(-)
45597
45598 commit 5c57991e66216e386dcc875d34c33f0edd038569
45599 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
45600 Date: Tue Jul 2 09:02:07 2013 +0800
45601
45602 Upstream commit: e1558a93b61962710733dc8c11a2bc765607f1cd
45603
45604 l2tp: add missing .owner to struct pppox_proto
45605
45606 Add missing .owner of struct pppox_proto. This prevents the
45607 module from being removed from underneath its users.
45608
45609 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
45610 Signed-off-by: David S. Miller <davem@davemloft.net>
45611
45612 net/l2tp/l2tp_ppp.c | 3 ++-
45613 1 files changed, 2 insertions(+), 1 deletions(-)
45614
45615 commit 4613b8adae32cc774bb727d2ec71f3d0bd7ff1c4
45616 Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
45617 Date: Sun Jun 30 14:37:11 2013 +1000
45618
45619 Upstream commit: 7cc47d139f9a815a91bd9e7377063238c69a0423
45620
45621 cxgb3: Missing rtnl lock in error recovery
45622
45623 When exercising error injection on IBM pseries machine, I hit the
45624 following warning:
45625
45626 [ 251.450043] RTAS: event: 89, Type: Platform Error, Severity: 2
45627 [ 253.549822] cxgb3 0006:01:00.0: enabling device (0140 -> 0142)
45628 [ 253.713560] cxgb3 0006:01:00.0: adapter recovering, PEX ERR 0x100
45629 [ 254.895437] RTNL: assertion failed at net/core/dev.c (2031)
45630 [ 254.895467] CPU: 6 PID: 5449 Comm: eehd Tainted: G W 3.10.0-rc7-00157-gea461ab #19
45631 [ 254.895474] Call Trace:
45632 [ 254.895483] [c000000fac56f7d0] [c000000000014dcc] .show_stack+0x7c/0x1f0 (unreliable)
45633 [ 254.895493] [c000000fac56f8a0] [c0000000007ba318] .dump_stack+0x28/0x3c
45634 [ 254.895500] [c000000fac56f910] [c0000000006c0384] .netif_set_real_num_tx_queues+0x224/0x230
45635 [ 254.895515] [c000000fac56f9b0] [d00000000ef35510] .cxgb_open+0x80/0x3f0 [cxgb3]
45636 [ 254.895525] [c000000fac56fa50] [d00000000ef35914] .t3_resume_ports+0x94/0x100 [cxgb3]
45637 [ 254.895533] [c000000fac56fae0] [c00000000005fc8c] .eeh_report_resume+0x8c/0xd0
45638 [ 254.895539] [c000000fac56fb60] [c00000000005e9fc] .eeh_pe_dev_traverse+0x9c/0x190
45639 [ 254.895545] [c000000fac56fc10] [c000000000060000] .eeh_handle_event+0x110/0x330
45640 [ 254.895551] [c000000fac56fca0] [c000000000060350] .eeh_event_handler+0x130/0x1a0
45641 [ 254.895558] [c000000fac56fd30] [c0000000000ad758] .kthread+0xe8/0xf0
45642 [ 254.895566] [c000000fac56fe30] [c00000000000a05c] .ret_from_kernel_thread+0x5c/0x80
45643
45644 It appears that t3_resume_ports() is called with the rtnl_lock held from
45645 the fatal error task but not from the PCI error callbacks. This fixes it.
45646
45647 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
45648 Signed-off-by: David S. Miller <davem@davemloft.net>
45649
45650 drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 2 ++
45651 1 files changed, 2 insertions(+), 0 deletions(-)
45652
45653 commit ea8f4222cddf3250dbcfc7db0437ebf74c352370
45654 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
45655 Date: Mon Jul 1 20:21:30 2013 +0200
45656
45657 Upstream commit: 8822b64a0fa64a5dd1dfcf837c5b0be83f8c05d1
45658
45659 ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET pending data
45660
45661 We accidentally call down to ip6_push_pending_frames when uncorking
45662 pending AF_INET data on a ipv6 socket. This results in the following
45663 splat (from Dave Jones):
45664
45665 skbuff: skb_under_panic: text:ffffffff816765f6 len:48 put:40 head:ffff88013deb6df0 data:ffff88013deb6dec tail:0x2c end:0xc0 dev:<NULL>
45666 ------------[ cut here ]------------
45667 kernel BUG at net/core/skbuff.c:126!
45668 invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
45669 Modules linked in: dccp_ipv4 dccp 8021q garp bridge stp dlci mpoa snd_seq_dummy sctp fuse hidp tun bnep nfnetlink scsi_transport_iscsi rfcomm can_raw can_bcm af_802154 appletalk caif_socket can caif ipt_ULOG x25 rose af_key pppoe pppox ipx phonet irda llc2 ppp_generic slhc p8023 psnap p8022 llc crc_ccitt atm bluetooth
45670 +netrom ax25 nfc rfkill rds af_rxrpc coretemp hwmon kvm_intel kvm crc32c_intel snd_hda_codec_realtek ghash_clmulni_intel microcode pcspkr snd_hda_codec_hdmi snd_hda_intel snd_hda_codec snd_hwdep usb_debug snd_seq snd_seq_device snd_pcm e1000e snd_page_alloc snd_timer ptp snd pps_core soundcore xfs libcrc32c
45671 CPU: 2 PID: 8095 Comm: trinity-child2 Not tainted 3.10.0-rc7+ #37
45672 task: ffff8801f52c2520 ti: ffff8801e6430000 task.ti: ffff8801e6430000
45673 RIP: 0010:[<ffffffff816e759c>] [<ffffffff816e759c>] skb_panic+0x63/0x65
45674 RSP: 0018:ffff8801e6431de8 EFLAGS: 00010282
45675 RAX: 0000000000000086 RBX: ffff8802353d3cc0 RCX: 0000000000000006
45676 RDX: 0000000000003b90 RSI: ffff8801f52c2ca0 RDI: ffff8801f52c2520
45677 RBP: ffff8801e6431e08 R08: 0000000000000000 R09: 0000000000000000
45678 R10: 0000000000000001 R11: 0000000000000001 R12: ffff88022ea0c800
45679 R13: ffff88022ea0cdf8 R14: ffff8802353ecb40 R15: ffffffff81cc7800
45680 FS: 00007f5720a10740(0000) GS:ffff880244c00000(0000) knlGS:0000000000000000
45681 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
45682 CR2: 0000000005862000 CR3: 000000022843c000 CR4: 00000000001407e0
45683 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
45684 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
45685 Stack:
45686 ffff88013deb6dec 000000000000002c 00000000000000c0 ffffffff81a3f6e4
45687 ffff8801e6431e18 ffffffff8159a9aa ffff8801e6431e90 ffffffff816765f6
45688 ffffffff810b756b 0000000700000002 ffff8801e6431e40 0000fea9292aa8c0
45689 Call Trace:
45690 [<ffffffff8159a9aa>] skb_push+0x3a/0x40
45691 [<ffffffff816765f6>] ip6_push_pending_frames+0x1f6/0x4d0
45692 [<ffffffff810b756b>] ? mark_held_locks+0xbb/0x140
45693 [<ffffffff81694919>] udp_v6_push_pending_frames+0x2b9/0x3d0
45694 [<ffffffff81694660>] ? udplite_getfrag+0x20/0x20
45695 [<ffffffff8162092a>] udp_lib_setsockopt+0x1aa/0x1f0
45696 [<ffffffff811cc5e7>] ? fget_light+0x387/0x4f0
45697 [<ffffffff816958a4>] udpv6_setsockopt+0x34/0x40
45698 [<ffffffff815949f4>] sock_common_setsockopt+0x14/0x20
45699 [<ffffffff81593c31>] SyS_setsockopt+0x71/0xd0
45700 [<ffffffff816f5d54>] tracesys+0xdd/0xe2
45701 Code: 00 00 48 89 44 24 10 8b 87 d8 00 00 00 48 89 44 24 08 48 8b 87 e8 00 00 00 48 c7 c7 c0 04 aa 81 48 89 04 24 31 c0 e8 e1 7e ff ff <0f> 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55
45702 RIP [<ffffffff816e759c>] skb_panic+0x63/0x65
45703 RSP <ffff8801e6431de8>
45704
45705 This patch adds a check if the pending data is of address family AF_INET
45706 and directly calls udp_push_ending_frames from udp_v6_push_pending_frames
45707 if that is the case.
45708
45709 This bug was found by Dave Jones with trinity.
45710
45711 (Also move the initialization of fl6 below the AF_INET check, even if
45712 not strictly necessary.)
45713
45714 Cc: Dave Jones <davej@redhat.com>
45715 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
45716 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
45717 Signed-off-by: David S. Miller <davem@davemloft.net>
45718
45719 include/net/udp.h | 1 +
45720 net/ipv4/udp.c | 3 ++-
45721 net/ipv6/udp.c | 7 ++++++-
45722 3 files changed, 9 insertions(+), 2 deletions(-)
45723
45724 commit cd83094a85d9bbd5a67332156407d53cf8835432
45725 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
45726 Date: Tue Jul 2 08:04:05 2013 +0200
45727
45728 Upstream commit: 75a493e60ac4bbe2e977e7129d6d8cbb0dd236be
45729
45730 ipv6: ip6_append_data_mtu did not care about pmtudisc and frag_size
45731
45732 If the socket had an IPV6_MTU value set, ip6_append_data_mtu lost track
45733 of this when appending the second frame on a corked socket. This results
45734 in the following splat:
45735
45736 [37598.993962] ------------[ cut here ]------------
45737 [37598.994008] kernel BUG at net/core/skbuff.c:2064!
45738 [37598.994008] invalid opcode: 0000 [#1] SMP
45739 [37598.994008] Modules linked in: tcp_lp uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media vfat fat usb_storage fuse ebtable_nat xt_CHECKSUM bridge stp llc ipt_MASQUERADE nf_conntrack_netbios_ns nf_conntrack_broadcast ip6table_mangle ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 iptable_nat
45740 +nf_nat_ipv4 nf_nat iptable_mangle nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ebtable_filter ebtables ip6table_filter ip6_tables be2iscsi iscsi_boot_sysfs bnx2i cnic uio cxgb4i cxgb4 cxgb3i cxgb3 mdio libcxgbi ib_iser rdma_cm ib_addr iw_cm ib_cm ib_sa ib_mad ib_core iscsi_tcp libiscsi_tcp libiscsi
45741 +scsi_transport_iscsi rfcomm bnep iTCO_wdt iTCO_vendor_support snd_hda_codec_conexant arc4 iwldvm mac80211 snd_hda_intel acpi_cpufreq mperf coretemp snd_hda_codec microcode cdc_wdm cdc_acm
45742 [37598.994008] snd_hwdep cdc_ether snd_seq snd_seq_device usbnet mii joydev btusb snd_pcm bluetooth i2c_i801 e1000e lpc_ich mfd_core ptp iwlwifi pps_core snd_page_alloc mei cfg80211 snd_timer thinkpad_acpi snd tpm_tis soundcore rfkill tpm tpm_bios vhost_net tun macvtap macvlan kvm_intel kvm uinput binfmt_misc
45743 +dm_crypt i915 i2c_algo_bit drm_kms_helper drm i2c_core wmi video
45744 [37598.994008] CPU 0
45745 [37598.994008] Pid: 27320, comm: t2 Not tainted 3.9.6-200.fc18.x86_64 #1 LENOVO 27744PG/27744PG
45746 [37598.994008] RIP: 0010:[<ffffffff815443a5>] [<ffffffff815443a5>] skb_copy_and_csum_bits+0x325/0x330
45747 [37598.994008] RSP: 0018:ffff88003670da18 EFLAGS: 00010202
45748 [37598.994008] RAX: ffff88018105c018 RBX: 0000000000000004 RCX: 00000000000006c0
45749 [37598.994008] RDX: ffff88018105a6c0 RSI: ffff88018105a000 RDI: ffff8801e1b0aa00
45750 [37598.994008] RBP: ffff88003670da78 R08: 0000000000000000 R09: ffff88018105c040
45751 [37598.994008] R10: ffff8801e1b0aa00 R11: 0000000000000000 R12: 000000000000fff8
45752 [37598.994008] R13: 00000000000004fc R14: 00000000ffff0504 R15: 0000000000000000
45753 [37598.994008] FS: 00007f28eea59740(0000) GS:ffff88023bc00000(0000) knlGS:0000000000000000
45754 [37598.994008] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
45755 [37598.994008] CR2: 0000003d935789e0 CR3: 00000000365cb000 CR4: 00000000000407f0
45756 [37598.994008] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
45757 [37598.994008] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
45758 [37598.994008] Process t2 (pid: 27320, threadinfo ffff88003670c000, task ffff88022c162ee0)
45759 [37598.994008] Stack:
45760 [37598.994008] ffff88022e098a00 ffff88020f973fc0 0000000000000008 00000000000004c8
45761 [37598.994008] ffff88020f973fc0 00000000000004c4 ffff88003670da78 ffff8801e1b0a200
45762 [37598.994008] 0000000000000018 00000000000004c8 ffff88020f973fc0 00000000000004c4
45763 [37598.994008] Call Trace:
45764 [37598.994008] [<ffffffff815fc21f>] ip6_append_data+0xccf/0xfe0
45765 [37598.994008] [<ffffffff8158d9f0>] ? ip_copy_metadata+0x1a0/0x1a0
45766 [37598.994008] [<ffffffff81661f66>] ? _raw_spin_lock_bh+0x16/0x40
45767 [37598.994008] [<ffffffff8161548d>] udpv6_sendmsg+0x1ed/0xc10
45768 [37598.994008] [<ffffffff812a2845>] ? sock_has_perm+0x75/0x90
45769 [37598.994008] [<ffffffff815c3693>] inet_sendmsg+0x63/0xb0
45770 [37598.994008] [<ffffffff812a2973>] ? selinux_socket_sendmsg+0x23/0x30
45771 [37598.994008] [<ffffffff8153a450>] sock_sendmsg+0xb0/0xe0
45772 [37598.994008] [<ffffffff810135d1>] ? __switch_to+0x181/0x4a0
45773 [37598.994008] [<ffffffff8153d97d>] sys_sendto+0x12d/0x180
45774 [37598.994008] [<ffffffff810dfb64>] ? __audit_syscall_entry+0x94/0xf0
45775 [37598.994008] [<ffffffff81020ed1>] ? syscall_trace_enter+0x231/0x240
45776 [37598.994008] [<ffffffff8166a7e7>] tracesys+0xdd/0xe2
45777 [37598.994008] Code: fe 07 00 00 48 c7 c7 04 28 a6 81 89 45 a0 4c 89 4d b8 44 89 5d a8 e8 1b ac b1 ff 44 8b 5d a8 4c 8b 4d b8 8b 45 a0 e9 cf fe ff ff <0f> 0b 66 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48 89 e5 48
45778 [37598.994008] RIP [<ffffffff815443a5>] skb_copy_and_csum_bits+0x325/0x330
45779 [37598.994008] RSP <ffff88003670da18>
45780 [37599.007323] ---[ end trace d69f6a17f8ac8eee ]---
45781
45782 While there, also check if path mtu discovery is activated for this
45783 socket. The logic was adapted from ip6_append_data when first writing
45784 on the corked socket.
45785
45786 This bug was introduced with commit
45787 0c1833797a5a6ec23ea9261d979aa18078720b74 ("ipv6: fix incorrect ipsec
45788 fragment").
45789
45790 v2:
45791 a) Replace IPV6_PMTU_DISC_DO with IPV6_PMTUDISC_PROBE.
45792 b) Don't pass ipv6_pinfo to ip6_append_data_mtu (suggestion by Gao
45793 feng, thanks!).
45794 c) Change mtu to unsigned int, else we get a warning about
45795 non-matching types because of the min()-macro type-check.
45796
45797 Acked-by: Gao feng <gaofeng@cn.fujitsu.com>
45798 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
45799 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
45800 Signed-off-by: David S. Miller <davem@davemloft.net>
45801
45802 net/ipv6/ip6_output.c | 16 ++++++++++------
45803 1 files changed, 10 insertions(+), 6 deletions(-)
45804
45805 commit 23151ca7ca80e58d2616dac7be9fd62943c9a72c
45806 Author: Michael S. Tsirkin <mst@redhat.com>
45807 Date: Sun Jul 7 14:26:53 2013 +0300
45808
45809 Upstream commit: dd7633ecd553a5e304d349aa6f8eb8a0417098c5
45810
45811 vhost-net: fix use-after-free in vhost_net_flush
45812
45813 vhost_net_ubuf_put_and_wait has a confusing name:
45814 it will actually also free it's argument.
45815 Thus since commit 1280c27f8e29acf4af2da914e80ec27c3dbd5c01
45816 "vhost-net: flush outstanding DMAs on memory change"
45817 vhost_net_flush tries to use the argument after passing it
45818 to vhost_net_ubuf_put_and_wait, this results
45819 in use after free.
45820 To fix, don't free the argument in vhost_net_ubuf_put_and_wait,
45821 add an new API for callers that want to free ubufs.
45822
45823 Acked-by: Asias He <asias@redhat.com>
45824 Acked-by: Jason Wang <jasowang@redhat.com>
45825 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
45826 Signed-off-by: David S. Miller <davem@davemloft.net>
45827
45828 drivers/vhost/net.c | 9 +++++++--
45829 1 files changed, 7 insertions(+), 2 deletions(-)
45830
45831 commit 088806db74ac2f08c106202bc5498585a9ee529f
45832 Author: Michal Hocko <mhocko@suse.cz>
45833 Date: Mon Jul 8 16:00:29 2013 -0700
45834
45835 Upstream commit: f37a96914d1aea10fed8d9af10251f0b9caea31b
45836
45837 memcg, kmem: fix reference count handling on the error path
45838
45839 mem_cgroup_css_online calls mem_cgroup_put if memcg_init_kmem fails.
45840 This is not correct because only memcg_propagate_kmem takes an
45841 additional reference while mem_cgroup_sockets_init is allowed to fail as
45842 well (although no current implementation fails) but it doesn't take any
45843 reference. This all suggests that it should be memcg_propagate_kmem
45844 that should clean up after itself so this patch moves mem_cgroup_put
45845 over there.
45846
45847 Unfortunately this is not that easy (as pointed out by Li Zefan) because
45848 memcg_kmem_mark_dead marks the group dead (KMEM_ACCOUNTED_DEAD) if it is
45849 marked active (KMEM_ACCOUNTED_ACTIVE) which is the case even if
45850 memcg_propagate_kmem fails so the additional reference is dropped in
45851 that case in kmem_cgroup_destroy which means that the reference would be
45852 dropped two times.
45853
45854 The easiest way then would be to simply remove mem_cgrroup_put from
45855 mem_cgroup_css_online and rely on kmem_cgroup_destroy doing the right
45856 thing.
45857
45858 Signed-off-by: Michal Hocko <mhocko@suse.cz>
45859 Signed-off-by: Li Zefan <lizefan@huawei.com>
45860 Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
45861 Cc: Hugh Dickins <hughd@google.com>
45862 Cc: Tejun Heo <tj@kernel.org>
45863 Cc: Glauber Costa <glommer@openvz.org>
45864 Cc: Johannes Weiner <hannes@cmpxchg.org>
45865 Cc: <stable@vger.kernel.org> [3.8]
45866 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
45867 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
45868
45869 mm/memcontrol.c | 8 --------
45870 1 files changed, 0 insertions(+), 8 deletions(-)
45871
45872 commit 08bfb6e700d13886ed722c2236e1ec10f03a95df
45873 Author: Michal Hocko <mhocko@suse.cz>
45874 Date: Mon Jul 8 16:00:27 2013 -0700
45875
45876 Upstream commit: fa460c2d37870e0a6f94c70e8b76d05ca11b6db0
45877
45878 Revert "memcg: avoid dangling reference count in creation failure"
45879
45880 This reverts commit e4715f01be697a.
45881
45882 mem_cgroup_put is hierarchy aware so mem_cgroup_put(memcg) already drops
45883 an additional reference from all parents so the additional
45884 mem_cgrroup_put(parent) potentially causes use-after-free.
45885
45886 Signed-off-by: Michal Hocko <mhocko@suse.cz>
45887 Signed-off-by: Li Zefan <lizefan@huawei.com>
45888 Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
45889 Cc: Hugh Dickins <hughd@google.com>
45890 Cc: Tejun Heo <tj@kernel.org>
45891 Cc: Glauber Costa <glommer@openvz.org>
45892 Cc: Johannes Weiner <hannes@cmpxchg.org>
45893 Cc: <stable@vger.kernel.org> [3.9+]
45894 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
45895 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
45896
45897 mm/memcontrol.c | 2 --
45898 1 files changed, 0 insertions(+), 2 deletions(-)
45899
45900 commit 3267ec559f48327a1836eccecd53215afc5810d0
45901 Author: Tyler Hicks <tyhicks@canonical.com>
45902 Date: Thu Jun 20 13:13:59 2013 -0700
45903
45904 Upstream commit: 2cb33cac622afde897aa02d3dcd9fbba8bae839e
45905
45906 libceph: Fix NULL pointer dereference in auth client code
45907
45908 A malicious monitor can craft an auth reply message that could cause a
45909 NULL function pointer dereference in the client's kernel.
45910
45911 To prevent this, the auth_none protocol handler needs an empty
45912 ceph_auth_client_ops->build_request() function.
45913
45914 CVE-2013-1059
45915
45916 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
45917 Reported-by: Chanam Park <chanam.park@hkpco.kr>
45918 Reviewed-by: Seth Arnold <seth.arnold@canonical.com>
45919 Reviewed-by: Sage Weil <sage@inktank.com>
45920 Cc: stable@vger.kernel.org
45921
45922 net/ceph/auth_none.c | 6 ++++++
45923 1 files changed, 6 insertions(+), 0 deletions(-)
45924
45925 commit cdfeb4049e7cb38702215b2c356ce0407974ac79
45926 Author: Eric Paris <eparis@redhat.com>
45927 Date: Wed Jul 3 15:08:29 2013 -0700
45928
45929 Upstream commit: b57922b6c76c3ee401bb32fd3f298409dd6e6a53
45930
45931 fork: reorder permissions when violating number of processes limits
45932
45933 When a task is attempting to violate the RLIMIT_NPROC limit we have a
45934 check to see if the task is sufficiently priviledged. The check first
45935 looks at CAP_SYS_ADMIN, then CAP_SYS_RESOURCE, then if the task is uid=0.
45936
45937 A result is that tasks which are allowed by the uid=0 check are first
45938 checked against the security subsystem. This results in the security
45939 subsystem auditting a denial for sys_admin and sys_resource and then the
45940 task passing the uid=0 check.
45941
45942 This patch rearranges the code to first check uid=0, since if we pass that
45943 we shouldn't hit the security system at all. We then check sys_resource,
45944 since it is the smallest capability which will solve the problem. Lastly
45945 we check the fallback everything cap_sysadmin. We don't want to give this
45946 capability many places since it is so powerful.
45947
45948 This will eliminate many of the false positive/needless denial messages we
45949 get when a root task tries to violate the nproc limit. (note that
45950 kthreads count against root, so on a sufficiently large machine we can
45951 actually get past the default limits before any userspace tasks are
45952 launched.)
45953
45954 Signed-off-by: Eric Paris <eparis@redhat.com>
45955 Cc: Al Viro <viro@zeniv.linux.org.uk>
45956 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
45957 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
45958
45959 kernel/fork.c | 4 ++--
45960 1 files changed, 2 insertions(+), 2 deletions(-)
45961
45962 commit 08c87e049c8a50707908785d950fd48c334f4c09
45963 Author: Chen Gang <gang.chen@asianux.com>
45964 Date: Sat Jun 22 13:26:09 2013 +0800
45965
45966 Upstream commit: f118e9abddfae94d7ef88858159d7556e1c2f7f6
45967
45968 arch: sparc: kernel: check the memory length before use strcpy().
45969
45970 For the related next strcpy(), the destination length is less than 512,
45971 but the source maximize length may be 'OPROMMAXPARAM' (4096) which is
45972 more than 512.
45973
45974 One work flow may:
45975 openprom_sunos_ioctl() -> if (cmd == OPROMSETOPT)
45976 getstrings() -> will alloc buffer with size 'OPROMMAXPARAM'.
45977 opromsetopt() -> devide the buffer into 'var' and 'value'
45978 of_set_property() -> pass
45979 prom_setprop() -> pass
45980 ldom_set_var()
45981
45982 And do not mind the additional 4 alignment buffer increasing, since
45983 'sizeof(pkt) - sizeof(pkt.header)' is 4 alignment at least.
45984
45985 Signed-off-by: Chen Gang <gang.chen@asianux.com>
45986 Signed-off-by: David S. Miller <davem@davemloft.net>
45987
45988 arch/sparc/kernel/ds.c | 10 ++++++++++
45989 1 files changed, 10 insertions(+), 0 deletions(-)
45990
45991 commit 0f5d7e1171c65a8d4e9186b3656e1206121efb13
45992 Author: Brad Spengler <spender@grsecurity.net>
45993 Date: Fri Jul 12 20:38:45 2013 -0400
45994
45995 Fix SLAB boot errors due to PAX_USERCOPY reported on the forums
45996
45997 Unlike slub, slab can initally create two of the kmalloc_caches
45998 which will be used later for generic kmallocs of their particular
45999 aligned size (since the later loop in the unified allocator code
46000 skips any already-existing kmalloc_caches)
46001
46002 mm/slab.c | 4 ++--
46003 1 files changed, 2 insertions(+), 2 deletions(-)
46004
46005 commit 7afc9d07a4c0a676aa5c4ac2b30882f60be6bae3
46006 Author: Brad Spengler <spender@grsecurity.net>
46007 Date: Tue Jul 9 22:04:59 2013 -0400
46008
46009 compile fixes
46010
46011 fs/exec.c | 2 +-
46012 mm/mmap.c | 4 ++--
46013 2 files changed, 3 insertions(+), 3 deletions(-)
46014
46015 commit e2d027c7e0f106be683c0c72482b8285daefcbe6
46016 Author: Brad Spengler <spender@grsecurity.net>
46017 Date: Tue Jul 9 20:58:40 2013 -0400
46018
46019 commit successful merges
46020
46021 Documentation/kernel-parameters.txt | 4 +
46022 Makefile | 8 +-
46023 arch/alpha/include/asm/cache.h | 4 +-
46024 arch/alpha/kernel/osf_sys.c | 12 +-
46025 arch/arm/include/asm/thread_info.h | 3 +-
46026 arch/arm/kernel/ptrace.c | 9 +
46027 arch/arm/kernel/traps.c | 7 +-
46028 arch/arm/mm/fault.c | 29 +-
46029 arch/arm/mm/mmap.c | 8 +-
46030 arch/avr32/include/asm/cache.h | 4 +-
46031 arch/blackfin/include/asm/cache.h | 3 +-
46032 arch/cris/include/arch-v10/arch/cache.h | 3 +-
46033 arch/cris/include/arch-v32/arch/cache.h | 3 +-
46034 arch/frv/include/asm/cache.h | 3 +-
46035 arch/frv/mm/elf-fdpic.c | 4 +-
46036 arch/hexagon/include/asm/cache.h | 6 +-
46037 arch/ia64/include/asm/cache.h | 3 +-
46038 arch/ia64/kernel/sys_ia64.c | 2 +
46039 arch/ia64/mm/hugetlbpage.c | 2 +
46040 arch/m32r/include/asm/cache.h | 4 +-
46041 arch/m68k/include/asm/cache.h | 4 +-
46042 arch/metag/mm/hugetlbpage.c | 1 +
46043 arch/microblaze/include/asm/cache.h | 3 +-
46044 arch/mips/include/asm/cache.h | 3 +-
46045 arch/mips/include/asm/thread_info.h | 9 +-
46046 arch/mips/kernel/ptrace.c | 9 +
46047 arch/mips/kernel/scall32-o32.S | 2 +-
46048 arch/mips/kernel/scall64-64.S | 2 +-
46049 arch/mips/kernel/scall64-n32.S | 2 +-
46050 arch/mips/kernel/scall64-o32.S | 2 +-
46051 arch/mips/mm/mmap.c | 4 +-
46052 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
46053 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
46054 arch/openrisc/include/asm/cache.h | 4 +-
46055 arch/parisc/include/asm/cache.h | 5 +-
46056 arch/parisc/kernel/sys_parisc.c | 17 +-
46057 arch/powerpc/include/asm/cache.h | 3 +-
46058 arch/powerpc/kernel/process.c | 10 +-
46059 arch/powerpc/kernel/ptrace.c | 14 +
46060 arch/powerpc/kernel/traps.c | 5 +
46061 arch/s390/include/asm/cache.h | 4 +-
46062 arch/score/include/asm/cache.h | 4 +-
46063 arch/sh/include/asm/cache.h | 3 +-
46064 arch/sh/mm/mmap.c | 6 +-
46065 arch/sparc/include/asm/cache.h | 4 +-
46066 arch/sparc/include/asm/thread_info_64.h | 9 +-
46067 arch/sparc/kernel/process_32.c | 6 +-
46068 arch/sparc/kernel/process_64.c | 4 +-
46069 arch/sparc/kernel/ptrace_64.c | 14 +
46070 arch/sparc/kernel/sys_sparc_64.c | 8 +-
46071 arch/sparc/kernel/syscalls.S | 8 +-
46072 arch/sparc/kernel/traps_32.c | 8 +-
46073 arch/sparc/kernel/traps_64.c | 28 +-
46074 arch/sparc/kernel/unaligned_64.c | 2 +-
46075 arch/sparc/mm/fault_64.c | 2 +-
46076 arch/sparc/mm/hugetlbpage.c | 3 +-
46077 arch/tile/include/asm/cache.h | 3 +-
46078 arch/tile/mm/hugetlbpage.c | 2 +
46079 arch/um/defconfig | 1 -
46080 arch/um/include/asm/cache.h | 3 +-
46081 arch/unicore32/include/asm/cache.h | 6 +-
46082 arch/x86/Kconfig | 5 +-
46083 arch/x86/ia32/ia32_aout.c | 2 +
46084 arch/x86/include/asm/thread_info.h | 8 +-
46085 arch/x86/kernel/dumpstack.c | 8 +
46086 arch/x86/kernel/entry_32.S | 2 +-
46087 arch/x86/kernel/entry_64.S | 2 +-
46088 arch/x86/kernel/ioport.c | 13 +
46089 arch/x86/kernel/ptrace.c | 14 +
46090 arch/x86/kernel/signal.c | 9 +-
46091 arch/x86/kernel/smpboot.c | 3 +
46092 arch/x86/kernel/sys_i386_32.c | 9 +-
46093 arch/x86/kernel/sys_x86_64.c | 8 +-
46094 arch/x86/kernel/verify_cpu.S | 1 +
46095 arch/x86/kernel/vm86_32.c | 1 +
46096 arch/x86/mm/fault.c | 12 +-
46097 arch/x86/mm/hugetlbpage.c | 15 +-
46098 arch/x86/mm/init.c | 66 +-
46099 arch/x86/net/bpf_jit_comp.c | 129 +-
46100 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
46101 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
46102 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
46103 drivers/block/cciss.c | 2 +
46104 drivers/block/cpqarray.c | 1 +
46105 drivers/cdrom/cdrom.c | 4 +-
46106 drivers/char/Kconfig | 4 +-
46107 drivers/char/genrtc.c | 1 +
46108 drivers/char/mem.c | 17 +
46109 drivers/char/mwave/tp3780i.c | 1 +
46110 drivers/char/random.c | 12 +
46111 drivers/gpu/drm/drm_info.c | 4 +
46112 drivers/hid/hid-wiimote-debug.c | 2 +-
46113 drivers/media/radio/radio-cadet.c | 2 +-
46114 drivers/message/fusion/mptbase.c | 9 +
46115 drivers/net/bonding/bond_main.c | 2 +-
46116 drivers/net/phy/mdio-bitbang.c | 1 +
46117 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
46118 drivers/pci/proc.c | 9 +
46119 drivers/rtc/rtc-dev.c | 3 +
46120 drivers/tty/sysrq.c | 2 +-
46121 drivers/tty/vt/keyboard.c | 22 +-
46122 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++++------------
46123 drivers/xen/xenfs/xenstored.c | 5 +
46124 fs/attr.c | 1 +
46125 fs/autofs4/waitq.c | 9 +
46126 fs/binfmt_aout.c | 7 +
46127 fs/binfmt_elf.c | 8 +-
46128 fs/btrfs/ioctl.c | 6 +-
46129 fs/compat.c | 20 +-
46130 fs/coredump.c | 9 +-
46131 fs/debugfs/inode.c | 4 +
46132 fs/exec.c | 184 ++-
46133 fs/ext2/balloc.c | 4 +-
46134 fs/ext3/balloc.c | 4 +-
46135 fs/ext4/resize.c | 17 +-
46136 fs/fcntl.c | 5 +
46137 fs/file.c | 4 +
46138 fs/filesystems.c | 4 +
46139 fs/fs_struct.c | 13 +-
46140 fs/hugetlbfs/inode.c | 5 +-
46141 fs/namei.c | 234 ++-
46142 fs/namespace.c | 16 +
46143 fs/notify/fanotify/fanotify_user.c | 1 +
46144 fs/open.c | 38 +
46145 fs/proc/Kconfig | 10 +-
46146 fs/proc/array.c | 59 +-
46147 fs/proc/base.c | 168 ++-
46148 fs/proc/cmdline.c | 4 +
46149 fs/proc/devices.c | 4 +
46150 fs/proc/fd.c | 17 +-
46151 fs/proc/inode.c | 4 +
46152 fs/proc/kcore.c | 3 +
46153 fs/proc/proc_net.c | 12 +
46154 fs/proc/proc_sysctl.c | 43 +-
46155 fs/proc/root.c | 8 +
46156 fs/proc/task_mmu.c | 75 +-
46157 fs/readdir.c | 19 +
46158 fs/select.c | 2 +
46159 fs/seq_file.c | 12 +-
46160 fs/stat.c | 19 +-
46161 fs/sysfs/dir.c | 12 +
46162 fs/utimes.c | 7 +
46163 fs/xattr.c | 19 +-
46164 include/linux/capability.h | 5 +
46165 include/linux/cred.h | 3 +
46166 include/linux/fs.h | 10 +
46167 include/linux/fsnotify.h | 6 +
46168 include/linux/kallsyms.h | 14 +-
46169 include/linux/kmod.h | 2 +
46170 include/linux/mm.h | 1 +
46171 include/linux/perf_event.h | 13 +-
46172 include/linux/printk.h | 3 +-
46173 include/linux/sched.h | 24 +-
46174 include/linux/security.h | 1 +
46175 include/linux/seq_file.h | 3 +
46176 include/linux/shm.h | 4 +
46177 include/linux/skbuff.h | 3 +
46178 include/linux/slab.h | 9 -
46179 include/linux/sysctl.h | 2 +
46180 include/linux/thread_info.h | 2 +
46181 include/linux/uidgid.h | 5 +
46182 include/linux/vermagic.h | 9 +-
46183 include/uapi/linux/personality.h | 1 +
46184 init/Kconfig | 3 +-
46185 init/main.c | 14 +
46186 ipc/mqueue.c | 1 +
46187 ipc/shm.c | 28 +
46188 kernel/capability.c | 39 +-
46189 kernel/cgroup.c | 2 +-
46190 kernel/compat.c | 1 +
46191 kernel/configs.c | 11 +
46192 kernel/cred.c | 110 +-
46193 kernel/events/core.c | 14 +-
46194 kernel/exit.c | 10 +-
46195 kernel/fork.c | 41 +-
46196 kernel/futex.c | 1 +
46197 kernel/kallsyms.c | 9 +
46198 kernel/kcmp.c | 4 +
46199 kernel/kmod.c | 64 +-
46200 kernel/kprobes.c | 4 +-
46201 kernel/ksysfs.c | 2 +
46202 kernel/lockdep_proc.c | 10 +-
46203 kernel/module.c | 81 +-
46204 kernel/panic.c | 2 +-
46205 kernel/pid.c | 19 +-
46206 kernel/posix-timers.c | 7 +
46207 kernel/printk.c | 5 +
46208 kernel/ptrace.c | 20 +-
46209 kernel/resource.c | 10 +
46210 kernel/sched/core.c | 6 +-
46211 kernel/signal.c | 37 +-
46212 kernel/sys.c | 45 +-
46213 kernel/sysctl.c | 70 +-
46214 kernel/taskstats.c | 6 +
46215 kernel/time.c | 5 +
46216 kernel/time/timekeeping.c | 1 +
46217 kernel/time/timer_list.c | 12 +
46218 kernel/time/timer_stats.c | 10 +-
46219 lib/Kconfig.debug | 5 +-
46220 lib/is_single_threaded.c | 3 +
46221 mm/Kconfig | 4 +-
46222 mm/filemap.c | 1 +
46223 mm/kmemleak.c | 4 +-
46224 mm/mempolicy.c | 12 +-
46225 mm/migrate.c | 3 +-
46226 mm/mlock.c | 3 +
46227 mm/mmap.c | 63 +-
46228 mm/mprotect.c | 8 +
46229 mm/process_vm_access.c | 6 +
46230 mm/slab.c | 2 +-
46231 mm/slub.c | 14 +-
46232 mm/vmalloc.c | 4 +
46233 mm/vmstat.c | 18 +-
46234 net/core/dev_ioctl.c | 4 +
46235 net/core/sock_diag.c | 7 +
46236 net/ipv4/inet_hashtables.c | 5 +
46237 net/ipv4/ip_sockglue.c | 3 +-
46238 net/ipv4/tcp_input.c | 4 +-
46239 net/ipv4/tcp_ipv4.c | 24 +-
46240 net/ipv4/tcp_minisocks.c | 9 +-
46241 net/ipv4/tcp_timer.c | 11 +
46242 net/ipv4/udp.c | 24 +
46243 net/ipv6/tcp_ipv6.c | 23 +-
46244 net/ipv6/udp.c | 4 +
46245 net/netfilter/Kconfig | 10 +
46246 net/netfilter/Makefile | 1 +
46247 net/netfilter/nf_conntrack_core.c | 8 +
46248 net/netrom/af_netrom.c | 1 -
46249 net/phonet/af_phonet.c | 2 +-
46250 net/sctp/proc.c | 3 +-
46251 net/socket.c | 66 +-
46252 net/sysctl_net.c | 2 +-
46253 net/unix/af_unix.c | 31 +-
46254 security/Kconfig | 343 +++-
46255 security/apparmor/Kconfig | 9 +
46256 security/apparmor/apparmorfs.c | 231 ++
46257 security/commoncap.c | 29 +
46258 security/min_addr.c | 2 +
46259 security/security.c | 2 -
46260 security/selinux/hooks.c | 2 -
46261 security/tomoyo/mount.c | 4 +
46262 security/yama/Kconfig | 2 +-
46263 242 files changed, 4385 insertions(+), 2042 deletions(-)
46264
46265 commit 043a378c0f72ed92cc30182c48abce39867ac93f
46266 Author: Brad Spengler <spender@grsecurity.net>
46267 Date: Tue Jul 9 20:57:40 2013 -0400
46268
46269 Commit merge of new files and rejected patches
46270
46271 arch/arm/include/asm/thread_info.h | 6 +-
46272 arch/arm/kernel/process.c | 4 +-
46273 arch/powerpc/include/asm/thread_info.h | 7 +-
46274 arch/powerpc/mm/slice.c | 2 +-
46275 arch/sparc/kernel/process_64.c | 4 +-
46276 arch/x86/kernel/vm86_32.c | 15 +
46277 fs/coredump.c | 1 +
46278 fs/ext4/balloc.c | 4 +-
46279 fs/namei.c | 7 +
46280 fs/namespace.c | 8 +
46281 fs/pipe.c | 2 +-
46282 fs/proc/inode.c | 13 +
46283 fs/proc/internal.h | 3 +
46284 grsecurity/Kconfig | 1054 +++++++++
46285 grsecurity/Makefile | 38 +
46286 grsecurity/gracl.c | 4073 ++++++++++++++++++++++++++++++++
46287 grsecurity/gracl_alloc.c | 105 +
46288 grsecurity/gracl_cap.c | 110 +
46289 grsecurity/gracl_fs.c | 431 ++++
46290 grsecurity/gracl_ip.c | 387 +++
46291 grsecurity/gracl_learn.c | 207 ++
46292 grsecurity/gracl_res.c | 68 +
46293 grsecurity/gracl_segv.c | 305 +++
46294 grsecurity/gracl_shm.c | 40 +
46295 grsecurity/grsec_chdir.c | 19 +
46296 grsecurity/grsec_chroot.c | 370 +++
46297 grsecurity/grsec_disabled.c | 434 ++++
46298 grsecurity/grsec_exec.c | 187 ++
46299 grsecurity/grsec_fifo.c | 24 +
46300 grsecurity/grsec_fork.c | 23 +
46301 grsecurity/grsec_init.c | 283 +++
46302 grsecurity/grsec_link.c | 58 +
46303 grsecurity/grsec_log.c | 326 +++
46304 grsecurity/grsec_mem.c | 40 +
46305 grsecurity/grsec_mount.c | 62 +
46306 grsecurity/grsec_pax.c | 36 +
46307 grsecurity/grsec_ptrace.c | 30 +
46308 grsecurity/grsec_sig.c | 246 ++
46309 grsecurity/grsec_sock.c | 244 ++
46310 grsecurity/grsec_sysctl.c | 469 ++++
46311 grsecurity/grsec_time.c | 16 +
46312 grsecurity/grsec_tpe.c | 73 +
46313 grsecurity/grsum.c | 61 +
46314 include/linux/gracl.h | 319 +++
46315 include/linux/gralloc.h | 9 +
46316 include/linux/grdefs.h | 140 ++
46317 include/linux/grinternal.h | 227 ++
46318 include/linux/grmsg.h | 112 +
46319 include/linux/grsecurity.h | 241 ++
46320 include/linux/grsock.h | 19 +
46321 include/linux/netfilter/xt_gradm.h | 9 +
46322 include/linux/proc_fs.h | 13 +
46323 include/linux/sched.h | 48 +-
46324 include/trace/events/fs.h | 53 +
46325 kernel/kmod.c | 7 +-
46326 kernel/panic.c | 2 +-
46327 kernel/posix-timers.c | 1 +
46328 kernel/time/timekeeping.c | 2 +
46329 lib/Kconfig.debug | 2 +-
46330 lib/vsprintf.c | 31 +
46331 localversion-grsec | 1 +
46332 mm/mmap.c | 13 +-
46333 mm/shmem.c | 2 +-
46334 net/core/net-procfs.c | 5 +
46335 net/ipv6/udp.c | 3 +
46336 net/netfilter/xt_gradm.c | 51 +
46337 66 files changed, 11184 insertions(+), 21 deletions(-)
46338
46339 commit 75a36f058b5abbc82f9b94ba5576eef4b40cd5d6
46340 Author: Brad Spengler <spender@grsecurity.net>
46341 Date: Tue Jul 9 17:35:47 2013 -0400
46342
46343 Initial import of pax-linux-3.10-test1.patch
46344
46345 Documentation/dontdiff | 46 +-
46346 Documentation/kernel-parameters.txt | 12 +
46347 Makefile | 100 +-
46348 arch/alpha/include/asm/atomic.h | 10 +
46349 arch/alpha/include/asm/elf.h | 7 +
46350 arch/alpha/include/asm/pgalloc.h | 6 +
46351 arch/alpha/include/asm/pgtable.h | 11 +
46352 arch/alpha/kernel/module.c | 2 +-
46353 arch/alpha/kernel/osf_sys.c | 8 +-
46354 arch/alpha/mm/fault.c | 141 +-
46355 arch/arm/Kconfig | 2 +-
46356 arch/arm/include/asm/atomic.h | 444 ++-
46357 arch/arm/include/asm/cache.h | 5 +-
46358 arch/arm/include/asm/cacheflush.h | 2 +-
46359 arch/arm/include/asm/checksum.h | 14 +-
46360 arch/arm/include/asm/cmpxchg.h | 2 +
46361 arch/arm/include/asm/domain.h | 33 +-
46362 arch/arm/include/asm/elf.h | 13 +-
46363 arch/arm/include/asm/fncpy.h | 2 +
46364 arch/arm/include/asm/futex.h | 10 +
46365 arch/arm/include/asm/kmap_types.h | 2 +-
46366 arch/arm/include/asm/mach/dma.h | 2 +-
46367 arch/arm/include/asm/mach/map.h | 7 +-
46368 arch/arm/include/asm/outercache.h | 2 +-
46369 arch/arm/include/asm/page.h | 2 +-
46370 arch/arm/include/asm/pgalloc.h | 22 +-
46371 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
46372 arch/arm/include/asm/pgtable-2level.h | 1 +
46373 arch/arm/include/asm/pgtable-3level-hwdef.h | 2 +
46374 arch/arm/include/asm/pgtable-3level.h | 2 +
46375 arch/arm/include/asm/pgtable.h | 56 +-
46376 arch/arm/include/asm/proc-fns.h | 2 +-
46377 arch/arm/include/asm/processor.h | 5 +-
46378 arch/arm/include/asm/psci.h | 2 +-
46379 arch/arm/include/asm/smp.h | 2 +-
46380 arch/arm/include/asm/thread_info.h | 6 +-
46381 arch/arm/include/asm/uaccess.h | 92 +-
46382 arch/arm/include/uapi/asm/ptrace.h | 2 +-
46383 arch/arm/kernel/armksyms.c | 8 +-
46384 arch/arm/kernel/entry-armv.S | 107 +-
46385 arch/arm/kernel/entry-common.S | 41 +-
46386 arch/arm/kernel/entry-header.S | 60 +
46387 arch/arm/kernel/fiq.c | 2 +
46388 arch/arm/kernel/head.S | 6 +-
46389 arch/arm/kernel/hw_breakpoint.c | 2 +-
46390 arch/arm/kernel/module.c | 29 +-
46391 arch/arm/kernel/patch.c | 2 +
46392 arch/arm/kernel/perf_event_cpu.c | 2 +-
46393 arch/arm/kernel/process.c | 14 +-
46394 arch/arm/kernel/psci.c | 2 +-
46395 arch/arm/kernel/setup.c | 22 +-
46396 arch/arm/kernel/signal.c | 24 +-
46397 arch/arm/kernel/smp.c | 2 +-
46398 arch/arm/kernel/traps.c | 15 +-
46399 arch/arm/kernel/vmlinux.lds.S | 22 +-
46400 arch/arm/lib/clear_user.S | 6 +-
46401 arch/arm/lib/copy_from_user.S | 6 +-
46402 arch/arm/lib/copy_page.S | 1 +
46403 arch/arm/lib/copy_to_user.S | 6 +-
46404 arch/arm/lib/csumpartialcopyuser.S | 4 +-
46405 arch/arm/lib/delay.c | 2 +-
46406 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
46407 arch/arm/mach-kirkwood/common.c | 19 +-
46408 arch/arm/mach-omap2/board-n8x0.c | 2 +-
46409 arch/arm/mach-omap2/gpmc.c | 22 +-
46410 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
46411 arch/arm/mach-omap2/omap_device.c | 4 +-
46412 arch/arm/mach-omap2/omap_device.h | 4 +-
46413 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
46414 arch/arm/mach-omap2/wd_timer.c | 6 +-
46415 arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +-
46416 arch/arm/mach-ux500/setup.h | 7 -
46417 arch/arm/mm/Kconfig | 3 +-
46418 arch/arm/mm/alignment.c | 8 +
46419 arch/arm/mm/fault.c | 91 +
46420 arch/arm/mm/fault.h | 12 +
46421 arch/arm/mm/init.c | 41 +
46422 arch/arm/mm/ioremap.c | 4 +-
46423 arch/arm/mm/mmap.c | 30 +-
46424 arch/arm/mm/mmu.c | 187 +-
46425 arch/arm/mm/proc-v7-2level.S | 3 +
46426 arch/arm/plat-omap/sram.c | 2 +
46427 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
46428 arch/arm64/kernel/debug-monitors.c | 2 +-
46429 arch/arm64/kernel/hw_breakpoint.c | 2 +-
46430 arch/avr32/include/asm/elf.h | 8 +-
46431 arch/avr32/include/asm/kmap_types.h | 4 +-
46432 arch/avr32/mm/fault.c | 27 +
46433 arch/frv/include/asm/atomic.h | 10 +
46434 arch/frv/include/asm/kmap_types.h | 2 +-
46435 arch/frv/mm/elf-fdpic.c | 3 +-
46436 arch/ia64/include/asm/atomic.h | 10 +
46437 arch/ia64/include/asm/elf.h | 7 +
46438 arch/ia64/include/asm/pgalloc.h | 12 +
46439 arch/ia64/include/asm/pgtable.h | 13 +-
46440 arch/ia64/include/asm/spinlock.h | 2 +-
46441 arch/ia64/include/asm/uaccess.h | 26 +-
46442 arch/ia64/kernel/err_inject.c | 2 +-
46443 arch/ia64/kernel/mca.c | 2 +-
46444 arch/ia64/kernel/module.c | 48 +-
46445 arch/ia64/kernel/palinfo.c | 2 +-
46446 arch/ia64/kernel/salinfo.c | 2 +-
46447 arch/ia64/kernel/sys_ia64.c | 7 +
46448 arch/ia64/kernel/topology.c | 2 +-
46449 arch/ia64/kernel/vmlinux.lds.S | 2 +-
46450 arch/ia64/mm/fault.c | 32 +-
46451 arch/ia64/mm/init.c | 13 +
46452 arch/m32r/lib/usercopy.c | 6 +
46453 arch/mips/include/asm/atomic.h | 14 +
46454 arch/mips/include/asm/elf.h | 11 +-
46455 arch/mips/include/asm/exec.h | 2 +-
46456 arch/mips/include/asm/page.h | 2 +-
46457 arch/mips/include/asm/pgalloc.h | 5 +
46458 arch/mips/kernel/binfmt_elfn32.c | 7 +
46459 arch/mips/kernel/binfmt_elfo32.c | 7 +
46460 arch/mips/kernel/process.c | 12 -
46461 arch/mips/mm/fault.c | 17 +
46462 arch/mips/mm/mmap.c | 51 +-
46463 arch/parisc/include/asm/atomic.h | 10 +
46464 arch/parisc/include/asm/elf.h | 7 +
46465 arch/parisc/include/asm/pgalloc.h | 6 +
46466 arch/parisc/include/asm/pgtable.h | 11 +
46467 arch/parisc/include/asm/uaccess.h | 4 +-
46468 arch/parisc/kernel/module.c | 50 +-
46469 arch/parisc/kernel/sys_parisc.c | 9 +-
46470 arch/parisc/kernel/traps.c | 4 +-
46471 arch/parisc/mm/fault.c | 140 +-
46472 arch/powerpc/include/asm/atomic.h | 10 +
46473 arch/powerpc/include/asm/elf.h | 19 +-
46474 arch/powerpc/include/asm/exec.h | 2 +-
46475 arch/powerpc/include/asm/kmap_types.h | 2 +-
46476 arch/powerpc/include/asm/mman.h | 2 +-
46477 arch/powerpc/include/asm/page.h | 8 +-
46478 arch/powerpc/include/asm/page_64.h | 7 +-
46479 arch/powerpc/include/asm/pgalloc-64.h | 7 +
46480 arch/powerpc/include/asm/pgtable.h | 1 +
46481 arch/powerpc/include/asm/pte-hash32.h | 1 +
46482 arch/powerpc/include/asm/reg.h | 1 +
46483 arch/powerpc/include/asm/smp.h | 2 +-
46484 arch/powerpc/include/asm/uaccess.h | 140 +-
46485 arch/powerpc/kernel/exceptions-64e.S | 4 +-
46486 arch/powerpc/kernel/exceptions-64s.S | 2 +-
46487 arch/powerpc/kernel/module_32.c | 13 +-
46488 arch/powerpc/kernel/process.c | 55 -
46489 arch/powerpc/kernel/signal_32.c | 2 +-
46490 arch/powerpc/kernel/signal_64.c | 2 +-
46491 arch/powerpc/kernel/sysfs.c | 2 +-
46492 arch/powerpc/kernel/vdso.c | 5 +-
46493 arch/powerpc/lib/usercopy_64.c | 18 -
46494 arch/powerpc/mm/fault.c | 54 +-
46495 arch/powerpc/mm/mmap_64.c | 16 +
46496 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
46497 arch/powerpc/mm/numa.c | 2 +-
46498 arch/powerpc/mm/slice.c | 13 +-
46499 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
46500 arch/powerpc/platforms/powermac/smp.c | 2 +-
46501 arch/s390/include/asm/atomic.h | 10 +
46502 arch/s390/include/asm/elf.h | 13 +-
46503 arch/s390/include/asm/exec.h | 2 +-
46504 arch/s390/include/asm/uaccess.h | 15 +-
46505 arch/s390/kernel/module.c | 22 +-
46506 arch/s390/kernel/process.c | 36 -
46507 arch/s390/mm/mmap.c | 24 +
46508 arch/score/include/asm/exec.h | 2 +-
46509 arch/score/kernel/process.c | 5 -
46510 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
46511 arch/sh/mm/mmap.c | 22 +-
46512 arch/sparc/include/asm/atomic_64.h | 106 +-
46513 arch/sparc/include/asm/cache.h | 2 +-
46514 arch/sparc/include/asm/elf_32.h | 7 +
46515 arch/sparc/include/asm/elf_64.h | 7 +
46516 arch/sparc/include/asm/pgalloc_32.h | 1 +
46517 arch/sparc/include/asm/pgalloc_64.h | 1 +
46518 arch/sparc/include/asm/pgtable_32.h | 15 +-
46519 arch/sparc/include/asm/pgtsrmmu.h | 5 +
46520 arch/sparc/include/asm/spinlock_64.h | 35 +-
46521 arch/sparc/include/asm/thread_info_32.h | 2 +
46522 arch/sparc/include/asm/thread_info_64.h | 2 +
46523 arch/sparc/include/asm/uaccess.h | 1 +
46524 arch/sparc/include/asm/uaccess_32.h | 27 +-
46525 arch/sparc/include/asm/uaccess_64.h | 19 +-
46526 arch/sparc/kernel/Makefile | 2 +-
46527 arch/sparc/kernel/prom_common.c | 2 +-
46528 arch/sparc/kernel/sys_sparc_32.c | 2 +-
46529 arch/sparc/kernel/sys_sparc_64.c | 48 +-
46530 arch/sparc/kernel/sysfs.c | 2 +-
46531 arch/sparc/kernel/traps_64.c | 13 +-
46532 arch/sparc/lib/Makefile | 2 +-
46533 arch/sparc/lib/atomic_64.S | 136 +-
46534 arch/sparc/lib/ksyms.c | 6 +
46535 arch/sparc/mm/Makefile | 2 +-
46536 arch/sparc/mm/fault_32.c | 292 +
46537 arch/sparc/mm/fault_64.c | 486 ++
46538 arch/sparc/mm/hugetlbpage.c | 21 +-
46539 arch/tile/include/asm/atomic_64.h | 10 +
46540 arch/tile/include/asm/uaccess.h | 4 +-
46541 arch/um/Makefile | 4 +
46542 arch/um/include/asm/kmap_types.h | 2 +-
46543 arch/um/include/asm/page.h | 3 +
46544 arch/um/include/asm/pgtable-3level.h | 1 +
46545 arch/um/kernel/process.c | 16 -
46546 arch/x86/Kconfig | 10 +-
46547 arch/x86/Kconfig.cpu | 6 +-
46548 arch/x86/Kconfig.debug | 4 +-
46549 arch/x86/Makefile | 10 +
46550 arch/x86/boot/Makefile | 3 +
46551 arch/x86/boot/bitops.h | 4 +-
46552 arch/x86/boot/boot.h | 4 +-
46553 arch/x86/boot/compressed/Makefile | 3 +
46554 arch/x86/boot/compressed/eboot.c | 2 -
46555 arch/x86/boot/compressed/efi_stub_32.S | 16 +-
46556 arch/x86/boot/compressed/head_32.S | 7 +-
46557 arch/x86/boot/compressed/head_64.S | 8 +-
46558 arch/x86/boot/compressed/misc.c | 4 +-
46559 arch/x86/boot/cpucheck.c | 28 +-
46560 arch/x86/boot/header.S | 6 +-
46561 arch/x86/boot/memory.c | 2 +-
46562 arch/x86/boot/video-vesa.c | 1 +
46563 arch/x86/boot/video.c | 2 +-
46564 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
46565 arch/x86/crypto/aesni-intel_asm.S | 22 +
46566 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
46567 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
46568 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
46569 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 9 +
46570 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
46571 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 +
46572 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
46573 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
46574 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 9 +
46575 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
46576 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
46577 arch/x86/ia32/ia32_signal.c | 14 +-
46578 arch/x86/ia32/ia32entry.S | 141 +-
46579 arch/x86/ia32/sys_ia32.c | 4 +-
46580 arch/x86/include/asm/alternative-asm.h | 39 +
46581 arch/x86/include/asm/alternative.h | 4 +-
46582 arch/x86/include/asm/apic.h | 2 +-
46583 arch/x86/include/asm/apm.h | 4 +-
46584 arch/x86/include/asm/atomic.h | 307 +-
46585 arch/x86/include/asm/atomic64_32.h | 100 +
46586 arch/x86/include/asm/atomic64_64.h | 202 +-
46587 arch/x86/include/asm/bitops.h | 4 +-
46588 arch/x86/include/asm/boot.h | 7 +-
46589 arch/x86/include/asm/cache.h | 5 +-
46590 arch/x86/include/asm/cacheflush.h | 2 +-
46591 arch/x86/include/asm/checksum_32.h | 12 +-
46592 arch/x86/include/asm/cmpxchg.h | 35 +
46593 arch/x86/include/asm/compat.h | 2 +-
46594 arch/x86/include/asm/cpufeature.h | 4 +-
46595 arch/x86/include/asm/desc.h | 67 +-
46596 arch/x86/include/asm/desc_defs.h | 6 +
46597 arch/x86/include/asm/div64.h | 2 +-
46598 arch/x86/include/asm/elf.h | 31 +-
46599 arch/x86/include/asm/emergency-restart.h | 2 +-
46600 arch/x86/include/asm/fpu-internal.h | 6 +-
46601 arch/x86/include/asm/futex.h | 16 +-
46602 arch/x86/include/asm/hw_irq.h | 4 +-
46603 arch/x86/include/asm/i8259.h | 2 +-
46604 arch/x86/include/asm/io.h | 21 +-
46605 arch/x86/include/asm/irqflags.h | 5 +
46606 arch/x86/include/asm/kprobes.h | 9 +-
46607 arch/x86/include/asm/local.h | 142 +-
46608 arch/x86/include/asm/mman.h | 15 +
46609 arch/x86/include/asm/mmu.h | 16 +-
46610 arch/x86/include/asm/mmu_context.h | 76 +-
46611 arch/x86/include/asm/module.h | 17 +-
46612 arch/x86/include/asm/nmi.h | 6 +-
46613 arch/x86/include/asm/page.h | 1 +
46614 arch/x86/include/asm/page_64.h | 4 +-
46615 arch/x86/include/asm/paravirt.h | 46 +-
46616 arch/x86/include/asm/paravirt_types.h | 17 +-
46617 arch/x86/include/asm/pgalloc.h | 23 +
46618 arch/x86/include/asm/pgtable-2level.h | 2 +
46619 arch/x86/include/asm/pgtable-3level.h | 4 +
46620 arch/x86/include/asm/pgtable.h | 122 +-
46621 arch/x86/include/asm/pgtable_32.h | 14 +-
46622 arch/x86/include/asm/pgtable_32_types.h | 15 +-
46623 arch/x86/include/asm/pgtable_64.h | 19 +-
46624 arch/x86/include/asm/pgtable_64_types.h | 5 +
46625 arch/x86/include/asm/pgtable_types.h | 36 +-
46626 arch/x86/include/asm/processor.h | 39 +-
46627 arch/x86/include/asm/ptrace.h | 26 +-
46628 arch/x86/include/asm/realmode.h | 4 +-
46629 arch/x86/include/asm/reboot.h | 10 +-
46630 arch/x86/include/asm/rwsem.h | 60 +-
46631 arch/x86/include/asm/segment.h | 24 +-
46632 arch/x86/include/asm/smp.h | 14 +-
46633 arch/x86/include/asm/spinlock.h | 36 +-
46634 arch/x86/include/asm/stackprotector.h | 4 +-
46635 arch/x86/include/asm/stacktrace.h | 32 +-
46636 arch/x86/include/asm/switch_to.h | 4 +-
46637 arch/x86/include/asm/thread_info.h | 83 +-
46638 arch/x86/include/asm/uaccess.h | 96 +-
46639 arch/x86/include/asm/uaccess_32.h | 106 +-
46640 arch/x86/include/asm/uaccess_64.h | 232 +-
46641 arch/x86/include/asm/word-at-a-time.h | 2 +-
46642 arch/x86/include/asm/x86_init.h | 10 +-
46643 arch/x86/include/asm/xsave.h | 10 +-
46644 arch/x86/include/uapi/asm/e820.h | 2 +-
46645 arch/x86/kernel/Makefile | 2 +-
46646 arch/x86/kernel/acpi/boot.c | 4 +-
46647 arch/x86/kernel/acpi/sleep.c | 4 +
46648 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
46649 arch/x86/kernel/alternative.c | 65 +-
46650 arch/x86/kernel/apic/apic.c | 4 +-
46651 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
46652 arch/x86/kernel/apic/apic_noop.c | 2 +-
46653 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
46654 arch/x86/kernel/apic/es7000_32.c | 5 +-
46655 arch/x86/kernel/apic/io_apic.c | 8 +-
46656 arch/x86/kernel/apic/numaq_32.c | 3 +-
46657 arch/x86/kernel/apic/probe_32.c | 2 +-
46658 arch/x86/kernel/apic/summit_32.c | 2 +-
46659 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
46660 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
46661 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
46662 arch/x86/kernel/apm_32.c | 19 +-
46663 arch/x86/kernel/asm-offsets.c | 20 +
46664 arch/x86/kernel/asm-offsets_64.c | 1 +
46665 arch/x86/kernel/cpu/Makefile | 4 -
46666 arch/x86/kernel/cpu/amd.c | 2 +-
46667 arch/x86/kernel/cpu/common.c | 75 +-
46668 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
46669 arch/x86/kernel/cpu/mcheck/mce.c | 33 +-
46670 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
46671 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
46672 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
46673 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
46674 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
46675 arch/x86/kernel/cpu/perf_event.c | 8 +-
46676 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
46677 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 4 +-
46678 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
46679 arch/x86/kernel/cpuid.c | 2 +-
46680 arch/x86/kernel/crash.c | 4 +-
46681 arch/x86/kernel/crash_dump_64.c | 2 +-
46682 arch/x86/kernel/doublefault_32.c | 8 +-
46683 arch/x86/kernel/dumpstack.c | 28 +-
46684 arch/x86/kernel/dumpstack_32.c | 34 +-
46685 arch/x86/kernel/dumpstack_64.c | 61 +-
46686 arch/x86/kernel/e820.c | 4 +-
46687 arch/x86/kernel/early_printk.c | 1 +
46688 arch/x86/kernel/entry_32.S | 354 +-
46689 arch/x86/kernel/entry_64.S | 548 ++-
46690 arch/x86/kernel/ftrace.c | 14 +-
46691 arch/x86/kernel/head64.c | 13 +-
46692 arch/x86/kernel/head_32.S | 237 +-
46693 arch/x86/kernel/head_64.S | 143 +-
46694 arch/x86/kernel/i386_ksyms_32.c | 8 +
46695 arch/x86/kernel/i387.c | 2 +-
46696 arch/x86/kernel/i8259.c | 10 +-
46697 arch/x86/kernel/io_delay.c | 2 +-
46698 arch/x86/kernel/ioport.c | 2 +-
46699 arch/x86/kernel/irq.c | 8 +-
46700 arch/x86/kernel/irq_32.c | 69 +-
46701 arch/x86/kernel/irq_64.c | 2 +-
46702 arch/x86/kernel/kdebugfs.c | 2 +-
46703 arch/x86/kernel/kgdb.c | 25 +-
46704 arch/x86/kernel/kprobes/core.c | 30 +-
46705 arch/x86/kernel/kprobes/opt.c | 16 +-
46706 arch/x86/kernel/kvm.c | 2 +-
46707 arch/x86/kernel/ldt.c | 31 +-
46708 arch/x86/kernel/machine_kexec_32.c | 6 +-
46709 arch/x86/kernel/microcode_core.c | 2 +-
46710 arch/x86/kernel/microcode_intel.c | 4 +-
46711 arch/x86/kernel/module.c | 76 +-
46712 arch/x86/kernel/msr.c | 2 +-
46713 arch/x86/kernel/nmi.c | 19 +-
46714 arch/x86/kernel/nmi_selftest.c | 4 +-
46715 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
46716 arch/x86/kernel/paravirt.c | 43 +-
46717 arch/x86/kernel/pci-calgary_64.c | 2 +-
46718 arch/x86/kernel/pci-iommu_table.c | 2 +-
46719 arch/x86/kernel/pci-swiotlb.c | 2 +-
46720 arch/x86/kernel/process.c | 55 +-
46721 arch/x86/kernel/process_32.c | 29 +-
46722 arch/x86/kernel/process_64.c | 15 +-
46723 arch/x86/kernel/ptrace.c | 25 +-
46724 arch/x86/kernel/pvclock.c | 8 +-
46725 arch/x86/kernel/reboot.c | 44 +-
46726 arch/x86/kernel/relocate_kernel_64.S | 2 +
46727 arch/x86/kernel/setup.c | 21 +-
46728 arch/x86/kernel/setup_percpu.c | 29 +-
46729 arch/x86/kernel/signal.c | 15 +-
46730 arch/x86/kernel/smp.c | 2 +-
46731 arch/x86/kernel/smpboot.c | 15 +-
46732 arch/x86/kernel/step.c | 10 +-
46733 arch/x86/kernel/sys_i386_32.c | 184 +
46734 arch/x86/kernel/sys_x86_64.c | 22 +-
46735 arch/x86/kernel/tboot.c | 14 +-
46736 arch/x86/kernel/time.c | 10 +-
46737 arch/x86/kernel/tls.c | 7 +-
46738 arch/x86/kernel/traps.c | 64 +-
46739 arch/x86/kernel/uprobes.c | 4 +-
46740 arch/x86/kernel/vm86_32.c | 6 +-
46741 arch/x86/kernel/vmlinux.lds.S | 148 +-
46742 arch/x86/kernel/vsyscall_64.c | 12 +-
46743 arch/x86/kernel/x8664_ksyms_64.c | 2 -
46744 arch/x86/kernel/x86_init.c | 8 +-
46745 arch/x86/kernel/xsave.c | 2 +
46746 arch/x86/kvm/cpuid.c | 21 +-
46747 arch/x86/kvm/emulate.c | 4 +-
46748 arch/x86/kvm/lapic.c | 2 +-
46749 arch/x86/kvm/paging_tmpl.h | 2 +-
46750 arch/x86/kvm/svm.c | 8 +
46751 arch/x86/kvm/vmx.c | 61 +-
46752 arch/x86/kvm/x86.c | 8 +-
46753 arch/x86/lguest/boot.c | 3 +-
46754 arch/x86/lib/atomic64_386_32.S | 164 +
46755 arch/x86/lib/atomic64_cx8_32.S | 103 +-
46756 arch/x86/lib/checksum_32.S | 100 +-
46757 arch/x86/lib/clear_page_64.S | 5 +-
46758 arch/x86/lib/cmpxchg16b_emu.S | 2 +
46759 arch/x86/lib/copy_page_64.S | 24 +-
46760 arch/x86/lib/copy_user_64.S | 47 +-
46761 arch/x86/lib/copy_user_nocache_64.S | 20 +-
46762 arch/x86/lib/csum-copy_64.S | 2 +
46763 arch/x86/lib/csum-wrappers_64.c | 4 +-
46764 arch/x86/lib/getuser.S | 70 +-
46765 arch/x86/lib/insn.c | 6 +-
46766 arch/x86/lib/iomap_copy_64.S | 2 +
46767 arch/x86/lib/memcpy_64.S | 18 +-
46768 arch/x86/lib/memmove_64.S | 34 +-
46769 arch/x86/lib/memset_64.S | 7 +-
46770 arch/x86/lib/mmx_32.c | 243 +-
46771 arch/x86/lib/msr-reg.S | 18 +-
46772 arch/x86/lib/putuser.S | 90 +-
46773 arch/x86/lib/rwlock.S | 42 +
46774 arch/x86/lib/rwsem.S | 6 +-
46775 arch/x86/lib/thunk_64.S | 2 +
46776 arch/x86/lib/usercopy_32.c | 363 +-
46777 arch/x86/lib/usercopy_64.c | 13 +-
46778 arch/x86/mm/extable.c | 25 +-
46779 arch/x86/mm/fault.c | 556 ++-
46780 arch/x86/mm/gup.c | 2 +-
46781 arch/x86/mm/highmem_32.c | 4 +
46782 arch/x86/mm/hugetlbpage.c | 30 +-
46783 arch/x86/mm/init.c | 98 +-
46784 arch/x86/mm/init_32.c | 113 +-
46785 arch/x86/mm/init_64.c | 38 +-
46786 arch/x86/mm/iomap_32.c | 4 +
46787 arch/x86/mm/ioremap.c | 15 +-
46788 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
46789 arch/x86/mm/mmap.c | 41 +-
46790 arch/x86/mm/mmio-mod.c | 10 +-
46791 arch/x86/mm/numa.c | 2 +-
46792 arch/x86/mm/pageattr-test.c | 2 +-
46793 arch/x86/mm/pageattr.c | 33 +-
46794 arch/x86/mm/pat.c | 12 +-
46795 arch/x86/mm/pat_rbtree.c | 2 +-
46796 arch/x86/mm/pf_in.c | 10 +-
46797 arch/x86/mm/pgtable.c | 137 +-
46798 arch/x86/mm/pgtable_32.c | 3 +
46799 arch/x86/mm/physaddr.c | 4 +-
46800 arch/x86/mm/setup_nx.c | 7 +
46801 arch/x86/mm/tlb.c | 4 +
46802 arch/x86/net/bpf_jit.S | 14 +
46803 arch/x86/net/bpf_jit_comp.c | 37 +-
46804 arch/x86/oprofile/backtrace.c | 8 +-
46805 arch/x86/oprofile/nmi_int.c | 8 +-
46806 arch/x86/oprofile/op_model_amd.c | 8 +-
46807 arch/x86/oprofile/op_model_ppro.c | 7 +-
46808 arch/x86/oprofile/op_x86_model.h | 2 +-
46809 arch/x86/pci/amd_bus.c | 2 +-
46810 arch/x86/pci/irq.c | 8 +-
46811 arch/x86/pci/mrst.c | 4 +-
46812 arch/x86/pci/pcbios.c | 144 +-
46813 arch/x86/platform/efi/efi_32.c | 24 +
46814 arch/x86/platform/efi/efi_64.c | 10 +
46815 arch/x86/platform/efi/efi_stub_32.S | 64 +-
46816 arch/x86/platform/efi/efi_stub_64.S | 8 +
46817 arch/x86/platform/mrst/mrst.c | 6 +-
46818 arch/x86/platform/olpc/olpc_dt.c | 2 +-
46819 arch/x86/power/cpu.c | 11 +-
46820 arch/x86/realmode/init.c | 10 +-
46821 arch/x86/realmode/rm/Makefile | 3 +
46822 arch/x86/realmode/rm/header.S | 4 +-
46823 arch/x86/realmode/rm/trampoline_32.S | 12 +-
46824 arch/x86/realmode/rm/trampoline_64.S | 2 +-
46825 arch/x86/tools/Makefile | 2 +-
46826 arch/x86/tools/relocs.c | 94 +-
46827 arch/x86/um/tls_32.c | 2 +-
46828 arch/x86/vdso/Makefile | 2 +-
46829 arch/x86/vdso/vdso32-setup.c | 23 +-
46830 arch/x86/vdso/vma.c | 29 +-
46831 arch/x86/xen/enlighten.c | 47 +-
46832 arch/x86/xen/mmu.c | 9 +
46833 arch/x86/xen/smp.c | 18 +-
46834 arch/x86/xen/xen-asm_32.S | 12 +-
46835 arch/x86/xen/xen-head.S | 11 +
46836 arch/x86/xen/xen-ops.h | 2 -
46837 block/blk-iopoll.c | 4 +-
46838 block/blk-map.c | 2 +-
46839 block/blk-softirq.c | 4 +-
46840 block/bsg.c | 12 +-
46841 block/compat_ioctl.c | 2 +-
46842 block/genhd.c | 11 +-
46843 block/partitions/efi.c | 8 +-
46844 block/scsi_ioctl.c | 27 +-
46845 crypto/algapi.c | 2 +-
46846 crypto/cryptd.c | 4 +-
46847 crypto/pcrypt.c | 6 +-
46848 drivers/acpi/apei/apei-internal.h | 2 +-
46849 drivers/acpi/apei/cper.c | 8 +-
46850 drivers/acpi/bgrt.c | 6 +-
46851 drivers/acpi/blacklist.c | 4 +-
46852 drivers/acpi/ec_sys.c | 12 +-
46853 drivers/acpi/processor_idle.c | 2 +-
46854 drivers/acpi/sysfs.c | 4 +-
46855 drivers/ata/libahci.c | 2 +-
46856 drivers/ata/libata-core.c | 8 +-
46857 drivers/ata/pata_arasan_cf.c | 4 +-
46858 drivers/atm/adummy.c | 2 +-
46859 drivers/atm/ambassador.c | 8 +-
46860 drivers/atm/atmtcp.c | 14 +-
46861 drivers/atm/eni.c | 10 +-
46862 drivers/atm/firestream.c | 8 +-
46863 drivers/atm/fore200e.c | 14 +-
46864 drivers/atm/he.c | 18 +-
46865 drivers/atm/horizon.c | 4 +-
46866 drivers/atm/idt77252.c | 36 +-
46867 drivers/atm/iphase.c | 34 +-
46868 drivers/atm/lanai.c | 12 +-
46869 drivers/atm/nicstar.c | 46 +-
46870 drivers/atm/solos-pci.c | 4 +-
46871 drivers/atm/suni.c | 4 +-
46872 drivers/atm/uPD98402.c | 16 +-
46873 drivers/atm/zatm.c | 6 +-
46874 drivers/base/attribute_container.c | 2 +-
46875 drivers/base/bus.c | 4 +-
46876 drivers/base/devtmpfs.c | 8 +-
46877 drivers/base/node.c | 2 +-
46878 drivers/base/power/domain.c | 4 +-
46879 drivers/base/power/sysfs.c | 2 +-
46880 drivers/base/power/wakeup.c | 8 +-
46881 drivers/base/syscore.c | 4 +-
46882 drivers/block/cciss.c | 28 +-
46883 drivers/block/cciss.h | 2 +-
46884 drivers/block/cpqarray.c | 28 +-
46885 drivers/block/cpqarray.h | 2 +-
46886 drivers/block/drbd/drbd_int.h | 6 +-
46887 drivers/block/drbd/drbd_main.c | 8 +-
46888 drivers/block/drbd/drbd_receiver.c | 22 +-
46889 drivers/block/loop.c | 2 +-
46890 drivers/block/nbd.c | 2 +-
46891 drivers/block/pktcdvd.c | 2 +-
46892 drivers/cdrom/cdrom.c | 11 +-
46893 drivers/cdrom/gdrom.c | 1 -
46894 drivers/char/agp/compat_ioctl.c | 2 +-
46895 drivers/char/agp/frontend.c | 4 +-
46896 drivers/char/hpet.c | 2 +-
46897 drivers/char/hw_random/intel-rng.c | 2 +-
46898 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
46899 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
46900 drivers/char/mem.c | 45 +-
46901 drivers/char/nvram.c | 2 +-
46902 drivers/char/pcmcia/synclink_cs.c | 18 +-
46903 drivers/char/random.c | 10 +-
46904 drivers/char/sonypi.c | 9 +-
46905 drivers/char/tpm/tpm_acpi.c | 3 +-
46906 drivers/char/tpm/tpm_eventlog.c | 7 +-
46907 drivers/char/virtio_console.c | 4 +-
46908 drivers/clk/clk-composite.c | 2 +-
46909 drivers/clocksource/arm_arch_timer.c | 2 +-
46910 drivers/clocksource/metag_generic.c | 2 +-
46911 drivers/cpufreq/acpi-cpufreq.c | 20 +-
46912 drivers/cpufreq/cpufreq.c | 9 +-
46913 drivers/cpufreq/cpufreq_governor.c | 6 +-
46914 drivers/cpufreq/cpufreq_governor.h | 2 +-
46915 drivers/cpufreq/cpufreq_ondemand.c | 8 +-
46916 drivers/cpufreq/cpufreq_stats.c | 2 +-
46917 drivers/cpufreq/p4-clockmod.c | 12 +-
46918 drivers/cpufreq/sparc-us3-cpufreq.c | 69 +-
46919 drivers/cpufreq/speedstep-centrino.c | 7 +-
46920 drivers/cpuidle/cpuidle.c | 2 +-
46921 drivers/cpuidle/governor.c | 4 +-
46922 drivers/cpuidle/sysfs.c | 2 +-
46923 drivers/devfreq/devfreq.c | 6 +-
46924 drivers/dma/sh/shdma.c | 2 +-
46925 drivers/edac/edac_mc_sysfs.c | 12 +-
46926 drivers/edac/edac_pci_sysfs.c | 22 +-
46927 drivers/edac/mce_amd.h | 2 +-
46928 drivers/firewire/core-card.c | 2 +-
46929 drivers/firewire/core-device.c | 2 +-
46930 drivers/firewire/core-transaction.c | 1 +
46931 drivers/firewire/core.h | 1 +
46932 drivers/firmware/dmi-id.c | 2 +-
46933 drivers/firmware/dmi_scan.c | 7 +-
46934 drivers/firmware/efi/efi.c | 12 +-
46935 drivers/firmware/efi/efivars.c | 2 +-
46936 drivers/firmware/google/memconsole.c | 4 +-
46937 drivers/gpio/gpio-ich.c | 2 +-
46938 drivers/gpio/gpio-vr41xx.c | 2 +-
46939 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
46940 drivers/gpu/drm/drm_drv.c | 6 +-
46941 drivers/gpu/drm/drm_fops.c | 18 +-
46942 drivers/gpu/drm/drm_global.c | 14 +-
46943 drivers/gpu/drm/drm_info.c | 14 +-
46944 drivers/gpu/drm/drm_ioc32.c | 13 +-
46945 drivers/gpu/drm/drm_ioctl.c | 2 +-
46946 drivers/gpu/drm/drm_lock.c | 4 +-
46947 drivers/gpu/drm/drm_stub.c | 2 +-
46948 drivers/gpu/drm/drm_sysfs.c | 2 +-
46949 drivers/gpu/drm/i810/i810_dma.c | 8 +-
46950 drivers/gpu/drm/i810/i810_drv.h | 4 +-
46951 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
46952 drivers/gpu/drm/i915/i915_dma.c | 2 +-
46953 drivers/gpu/drm/i915/i915_drv.h | 4 +-
46954 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +-
46955 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
46956 drivers/gpu/drm/i915/i915_irq.c | 22 +-
46957 drivers/gpu/drm/i915/intel_display.c | 26 +-
46958 drivers/gpu/drm/mga/mga_drv.h | 4 +-
46959 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
46960 drivers/gpu/drm/mga/mga_irq.c | 8 +-
46961 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
46962 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
46963 drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
46964 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
46965 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
46966 drivers/gpu/drm/qxl/qxl_ttm.c | 38 +-
46967 drivers/gpu/drm/r128/r128_cce.c | 2 +-
46968 drivers/gpu/drm/r128/r128_drv.h | 4 +-
46969 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
46970 drivers/gpu/drm/r128/r128_irq.c | 4 +-
46971 drivers/gpu/drm/r128/r128_state.c | 4 +-
46972 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
46973 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
46974 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
46975 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
46976 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
46977 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
46978 drivers/gpu/drm/radeon/radeon_ttm.c | 57 +-
46979 drivers/gpu/drm/radeon/rs690.c | 4 +-
46980 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
46981 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
46982 drivers/gpu/drm/udl/udl_fb.c | 1 -
46983 drivers/gpu/drm/via/via_drv.h | 4 +-
46984 drivers/gpu/drm/via/via_irq.c | 18 +-
46985 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
46986 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
46987 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 +-
46988 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
46989 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
46990 drivers/hid/hid-core.c | 4 +-
46991 drivers/hv/channel.c | 4 +-
46992 drivers/hv/hv.c | 2 +-
46993 drivers/hv/hyperv_vmbus.h | 2 +-
46994 drivers/hv/vmbus_drv.c | 4 +-
46995 drivers/hwmon/acpi_power_meter.c | 4 +-
46996 drivers/hwmon/applesmc.c | 2 +-
46997 drivers/hwmon/asus_atk0110.c | 10 +-
46998 drivers/hwmon/coretemp.c | 2 +-
46999 drivers/hwmon/ibmaem.c | 2 +-
47000 drivers/hwmon/iio_hwmon.c | 2 +-
47001 drivers/hwmon/pmbus/pmbus_core.c | 10 +-
47002 drivers/hwmon/sht15.c | 12 +-
47003 drivers/hwmon/via-cputemp.c | 2 +-
47004 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
47005 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
47006 drivers/i2c/i2c-dev.c | 2 +-
47007 drivers/ide/ide-cd.c | 2 +-
47008 drivers/iio/industrialio-core.c | 2 +-
47009 drivers/infiniband/core/cm.c | 32 +-
47010 drivers/infiniband/core/fmr_pool.c | 20 +-
47011 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
47012 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
47013 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
47014 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
47015 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
47016 drivers/infiniband/hw/nes/nes.c | 4 +-
47017 drivers/infiniband/hw/nes/nes.h | 40 +-
47018 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
47019 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
47020 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
47021 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
47022 drivers/infiniband/hw/qib/qib.h | 1 +
47023 drivers/input/gameport/gameport.c | 4 +-
47024 drivers/input/input.c | 4 +-
47025 drivers/input/joystick/sidewinder.c | 1 +
47026 drivers/input/joystick/xpad.c | 4 +-
47027 drivers/input/mouse/psmouse.h | 2 +-
47028 drivers/input/mousedev.c | 2 +-
47029 drivers/input/serio/serio.c | 4 +-
47030 drivers/iommu/iommu.c | 2 +-
47031 drivers/iommu/irq_remapping.c | 12 +-
47032 drivers/irqchip/irq-gic.c | 4 +-
47033 drivers/isdn/capi/capi.c | 10 +-
47034 drivers/isdn/gigaset/interface.c | 8 +-
47035 drivers/isdn/hardware/avm/b1.c | 4 +-
47036 drivers/isdn/i4l/isdn_tty.c | 22 +-
47037 drivers/isdn/icn/icn.c | 2 +-
47038 drivers/leds/leds-clevo-mail.c | 2 +-
47039 drivers/leds/leds-ss4200.c | 2 +-
47040 drivers/lguest/core.c | 10 +-
47041 drivers/lguest/page_tables.c | 2 +-
47042 drivers/lguest/x86/core.c | 12 +-
47043 drivers/lguest/x86/switcher_32.S | 27 +-
47044 drivers/md/bcache/closure.h | 2 +-
47045 drivers/md/bitmap.c | 2 +-
47046 drivers/md/dm-ioctl.c | 2 +-
47047 drivers/md/dm-raid1.c | 16 +-
47048 drivers/md/dm-stripe.c | 10 +-
47049 drivers/md/dm-table.c | 2 +-
47050 drivers/md/dm-thin-metadata.c | 4 +-
47051 drivers/md/dm.c | 16 +-
47052 drivers/md/md.c | 26 +-
47053 drivers/md/md.h | 6 +-
47054 drivers/md/persistent-data/dm-space-map.h | 1 +
47055 drivers/md/raid1.c | 4 +-
47056 drivers/md/raid10.c | 16 +-
47057 drivers/md/raid5.c | 10 +-
47058 drivers/media/dvb-core/dvbdev.c | 2 +-
47059 drivers/media/dvb-frontends/dib3000.h | 2 +-
47060 drivers/media/pci/cx88/cx88-video.c | 6 +-
47061 drivers/media/platform/omap/omap_vout.c | 11 +-
47062 drivers/media/platform/s5p-tv/mixer.h | 2 +-
47063 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
47064 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
47065 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
47066 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
47067 drivers/media/radio/radio-cadet.c | 2 +
47068 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
47069 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
47070 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +-
47071 drivers/media/v4l2-core/v4l2-ioctl.c | 11 +-
47072 drivers/message/fusion/mptsas.c | 34 +-
47073 drivers/message/fusion/mptscsih.c | 19 +-
47074 drivers/message/i2o/i2o_proc.c | 51 +-
47075 drivers/message/i2o/iop.c | 8 +-
47076 drivers/mfd/janz-cmodio.c | 1 +
47077 drivers/mfd/twl4030-irq.c | 9 +-
47078 drivers/mfd/twl6030-irq.c | 10 +-
47079 drivers/misc/c2port/core.c | 4 +-
47080 drivers/misc/kgdbts.c | 4 +-
47081 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
47082 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
47083 drivers/misc/sgi-gru/gruhandles.c | 4 +-
47084 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
47085 drivers/misc/sgi-gru/grutables.h | 154 +-
47086 drivers/misc/sgi-xp/xp.h | 2 +-
47087 drivers/misc/sgi-xp/xpc.h | 3 +-
47088 drivers/misc/sgi-xp/xpc_main.c | 4 +-
47089 drivers/mmc/core/mmc_ops.c | 2 +-
47090 drivers/mmc/host/dw_mmc.h | 2 +-
47091 drivers/mmc/host/sdhci-s3c.c | 8 +-
47092 drivers/mtd/nand/denali.c | 1 +
47093 drivers/mtd/nftlmount.c | 1 +
47094 drivers/mtd/sm_ftl.c | 2 +-
47095 drivers/net/bonding/bond_main.c | 2 +-
47096 drivers/net/ethernet/8390/ax88796.c | 4 +-
47097 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
47098 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
47099 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
47100 drivers/net/ethernet/broadcom/tg3.h | 1 +
47101 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
47102 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
47103 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
47104 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
47105 drivers/net/ethernet/faraday/ftmac100.c | 2 +
47106 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
47107 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
47108 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +-
47109 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +-
47110 drivers/net/ethernet/realtek/r8169.c | 8 +-
47111 drivers/net/ethernet/sfc/ptp.c | 2 +-
47112 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
47113 drivers/net/hyperv/hyperv_net.h | 2 +-
47114 drivers/net/hyperv/rndis_filter.c | 4 +-
47115 drivers/net/ieee802154/fakehard.c | 2 +-
47116 drivers/net/macvlan.c | 18 +-
47117 drivers/net/macvtap.c | 2 +-
47118 drivers/net/ppp/ppp_generic.c | 4 +-
47119 drivers/net/slip/slhc.c | 2 +-
47120 drivers/net/team/team.c | 2 +-
47121 drivers/net/tun.c | 5 +-
47122 drivers/net/usb/hso.c | 23 +-
47123 drivers/net/vxlan.c | 2 +-
47124 drivers/net/wireless/at76c50x-usb.c | 2 +-
47125 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
47126 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
47127 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
47128 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
47129 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
47130 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
47131 drivers/net/wireless/mac80211_hwsim.c | 32 +-
47132 drivers/net/wireless/rndis_wlan.c | 2 +-
47133 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
47134 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
47135 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
47136 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
47137 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
47138 drivers/oprofile/buffer_sync.c | 8 +-
47139 drivers/oprofile/event_buffer.c | 2 +-
47140 drivers/oprofile/oprof.c | 2 +-
47141 drivers/oprofile/oprofile_files.c | 2 +-
47142 drivers/oprofile/oprofile_stats.c | 10 +-
47143 drivers/oprofile/oprofile_stats.h | 10 +-
47144 drivers/oprofile/oprofilefs.c | 2 +-
47145 drivers/oprofile/timer_int.c | 2 +-
47146 drivers/parport/procfs.c | 4 +-
47147 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
47148 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
47149 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
47150 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
47151 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
47152 drivers/pci/hotplug/pciehp_core.c | 2 +-
47153 drivers/pci/pci-sysfs.c | 6 +-
47154 drivers/pci/pci.h | 2 +-
47155 drivers/pci/pcie/aspm.c | 6 +-
47156 drivers/pci/probe.c | 2 +-
47157 drivers/platform/x86/chromeos_laptop.c | 2 +-
47158 drivers/platform/x86/msi-laptop.c | 14 +-
47159 drivers/platform/x86/sony-laptop.c | 2 +-
47160 drivers/platform/x86/thinkpad_acpi.c | 70 +-
47161 drivers/pnp/pnpbios/bioscalls.c | 14 +-
47162 drivers/pnp/resource.c | 4 +-
47163 drivers/power/pda_power.c | 7 +-
47164 drivers/power/power_supply.h | 4 +-
47165 drivers/power/power_supply_core.c | 7 +-
47166 drivers/power/power_supply_sysfs.c | 6 +-
47167 drivers/regulator/max8660.c | 6 +-
47168 drivers/regulator/max8973-regulator.c | 8 +-
47169 drivers/regulator/mc13892-regulator.c | 6 +-
47170 drivers/rtc/rtc-cmos.c | 4 +-
47171 drivers/rtc/rtc-ds1307.c | 2 +-
47172 drivers/rtc/rtc-m48t59.c | 4 +-
47173 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
47174 drivers/scsi/bfa/bfa_ioc.h | 4 +-
47175 drivers/scsi/hosts.c | 4 +-
47176 drivers/scsi/hpsa.c | 30 +-
47177 drivers/scsi/hpsa.h | 2 +-
47178 drivers/scsi/libfc/fc_exch.c | 50 +-
47179 drivers/scsi/libsas/sas_ata.c | 2 +-
47180 drivers/scsi/lpfc/lpfc.h | 8 +-
47181 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
47182 drivers/scsi/lpfc/lpfc_init.c | 6 +-
47183 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
47184 drivers/scsi/pmcraid.c | 20 +-
47185 drivers/scsi/pmcraid.h | 8 +-
47186 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
47187 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
47188 drivers/scsi/qla2xxx/qla_os.c | 6 +-
47189 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
47190 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
47191 drivers/scsi/scsi.c | 2 +-
47192 drivers/scsi/scsi_lib.c | 6 +-
47193 drivers/scsi/scsi_sysfs.c | 2 +-
47194 drivers/scsi/scsi_tgt_lib.c | 2 +-
47195 drivers/scsi/scsi_transport_fc.c | 8 +-
47196 drivers/scsi/scsi_transport_iscsi.c | 6 +-
47197 drivers/scsi/scsi_transport_srp.c | 6 +-
47198 drivers/scsi/sd.c | 2 +-
47199 drivers/scsi/sg.c | 2 +-
47200 drivers/spi/spi.c | 2 +-
47201 drivers/staging/media/solo6x10/solo6x10-core.c | 2 +-
47202 drivers/staging/octeon/ethernet-rx.c | 12 +-
47203 drivers/staging/octeon/ethernet.c | 8 +-
47204 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
47205 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
47206 drivers/staging/usbip/vhci.h | 2 +-
47207 drivers/staging/usbip/vhci_hcd.c | 6 +-
47208 drivers/staging/usbip/vhci_rx.c | 2 +-
47209 drivers/staging/vt6655/hostap.c | 7 +-
47210 drivers/staging/vt6656/hostap.c | 7 +-
47211 drivers/staging/zcache/tmem.c | 4 +-
47212 drivers/staging/zcache/tmem.h | 2 +
47213 drivers/target/target_core_device.c | 2 +-
47214 drivers/target/target_core_transport.c | 2 +-
47215 drivers/tty/cyclades.c | 6 +-
47216 drivers/tty/hvc/hvc_console.c | 14 +-
47217 drivers/tty/hvc/hvcs.c | 21 +-
47218 drivers/tty/ipwireless/tty.c | 27 +-
47219 drivers/tty/moxa.c | 2 +-
47220 drivers/tty/n_gsm.c | 4 +-
47221 drivers/tty/n_tty.c | 3 +-
47222 drivers/tty/pty.c | 4 +-
47223 drivers/tty/rocket.c | 6 +-
47224 drivers/tty/serial/kgdboc.c | 32 +-
47225 drivers/tty/serial/samsung.c | 9 +-
47226 drivers/tty/serial/serial_core.c | 8 +-
47227 drivers/tty/synclink.c | 34 +-
47228 drivers/tty/synclink_gt.c | 28 +-
47229 drivers/tty/synclinkmp.c | 34 +-
47230 drivers/tty/tty_io.c | 2 +-
47231 drivers/tty/tty_ldisc.c | 10 +-
47232 drivers/tty/tty_port.c | 22 +-
47233 drivers/uio/uio.c | 21 +-
47234 drivers/usb/atm/cxacru.c | 2 +-
47235 drivers/usb/atm/usbatm.c | 24 +-
47236 drivers/usb/core/devices.c | 6 +-
47237 drivers/usb/core/hcd.c | 4 +-
47238 drivers/usb/core/message.c | 2 +-
47239 drivers/usb/core/sysfs.c | 2 +-
47240 drivers/usb/core/usb.c | 2 +-
47241 drivers/usb/early/ehci-dbgp.c | 16 +-
47242 drivers/usb/gadget/u_serial.c | 22 +-
47243 drivers/usb/serial/console.c | 6 +-
47244 drivers/usb/storage/usb.h | 2 +-
47245 drivers/usb/wusbcore/wa-hc.h | 4 +-
47246 drivers/usb/wusbcore/wa-xfer.c | 2 +-
47247 drivers/vhost/vringh.c | 2 +-
47248 drivers/video/aty/aty128fb.c | 2 +-
47249 drivers/video/aty/atyfb_base.c | 8 +-
47250 drivers/video/aty/mach64_cursor.c | 5 +-
47251 drivers/video/backlight/kb3886_bl.c | 2 +-
47252 drivers/video/fb_defio.c | 6 +-
47253 drivers/video/fbcmap.c | 3 +-
47254 drivers/video/fbmem.c | 6 +-
47255 drivers/video/i810/i810_accel.c | 1 +
47256 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
47257 drivers/video/nvidia/nvidia.c | 27 +-
47258 drivers/video/output.c | 2 +-
47259 drivers/video/s1d13xxxfb.c | 6 +-
47260 drivers/video/smscufx.c | 4 +-
47261 drivers/video/udlfb.c | 36 +-
47262 drivers/video/uvesafb.c | 53 +-
47263 drivers/video/vesafb.c | 58 +-
47264 drivers/video/via/via_clock.h | 2 +-
47265 fs/9p/vfs_addr.c | 2 +-
47266 fs/9p/vfs_inode.c | 2 +-
47267 fs/Kconfig.binfmt | 2 +-
47268 fs/aio.c | 12 +-
47269 fs/autofs4/waitq.c | 2 +-
47270 fs/befs/endian.h | 4 +-
47271 fs/befs/linuxvfs.c | 2 +-
47272 fs/binfmt_aout.c | 23 +-
47273 fs/binfmt_elf.c | 607 ++-
47274 fs/binfmt_flat.c | 6 +
47275 fs/bio.c | 6 +-
47276 fs/block_dev.c | 2 +-
47277 fs/btrfs/ctree.c | 9 +-
47278 fs/btrfs/super.c | 2 +-
47279 fs/cachefiles/bind.c | 6 +-
47280 fs/cachefiles/daemon.c | 8 +-
47281 fs/cachefiles/internal.h | 12 +-
47282 fs/cachefiles/namei.c | 2 +-
47283 fs/cachefiles/proc.c | 12 +-
47284 fs/cachefiles/rdwr.c | 2 +-
47285 fs/ceph/dir.c | 2 +-
47286 fs/cifs/cifs_debug.c | 12 +-
47287 fs/cifs/cifsfs.c | 8 +-
47288 fs/cifs/cifsglob.h | 54 +-
47289 fs/cifs/link.c | 2 +-
47290 fs/cifs/misc.c | 4 +-
47291 fs/cifs/smb1ops.c | 80 +-
47292 fs/cifs/smb2ops.c | 84 +-
47293 fs/cifs/smb2pdu.c | 3 +-
47294 fs/coda/cache.c | 10 +-
47295 fs/compat.c | 6 +-
47296 fs/compat_binfmt_elf.c | 2 +
47297 fs/compat_ioctl.c | 12 +-
47298 fs/configfs/dir.c | 10 +-
47299 fs/coredump.c | 24 +-
47300 fs/dcache.c | 2 +-
47301 fs/ecryptfs/inode.c | 4 +-
47302 fs/ecryptfs/miscdev.c | 2 +-
47303 fs/exec.c | 362 ++-
47304 fs/ext4/ext4.h | 20 +-
47305 fs/ext4/mballoc.c | 44 +-
47306 fs/ext4/mmp.c | 2 +-
47307 fs/ext4/super.c | 4 +-
47308 fs/fhandle.c | 3 +-
47309 fs/fs_struct.c | 8 +-
47310 fs/fscache/cookie.c | 36 +-
47311 fs/fscache/internal.h | 196 +-
47312 fs/fscache/object.c | 28 +-
47313 fs/fscache/operation.c | 30 +-
47314 fs/fscache/page.c | 110 +-
47315 fs/fscache/stats.c | 344 +-
47316 fs/fuse/cuse.c | 10 +-
47317 fs/fuse/dev.c | 4 +-
47318 fs/fuse/dir.c | 2 +-
47319 fs/gfs2/inode.c | 2 +-
47320 fs/hugetlbfs/inode.c | 13 +-
47321 fs/inode.c | 4 +-
47322 fs/jffs2/erase.c | 3 +-
47323 fs/jffs2/wbuf.c | 3 +-
47324 fs/jfs/super.c | 2 +-
47325 fs/libfs.c | 10 +-
47326 fs/lockd/clntproc.c | 4 +-
47327 fs/lockd/svc.c | 2 +-
47328 fs/locks.c | 8 +-
47329 fs/namei.c | 15 +-
47330 fs/namespace.c | 10 +-
47331 fs/nfs/callback.c | 4 +-
47332 fs/nfs/callback_xdr.c | 2 +-
47333 fs/nfs/inode.c | 6 +-
47334 fs/nfs/nfs4state.c | 2 +-
47335 fs/nfsd/nfs4proc.c | 2 +-
47336 fs/nfsd/nfs4xdr.c | 6 +-
47337 fs/nfsd/nfscache.c | 9 +-
47338 fs/nfsd/vfs.c | 6 +-
47339 fs/nls/nls_base.c | 18 +-
47340 fs/nls/nls_euc-jp.c | 6 +-
47341 fs/nls/nls_koi8-ru.c | 6 +-
47342 fs/notify/fanotify/fanotify_user.c | 4 +-
47343 fs/notify/notification.c | 4 +-
47344 fs/ntfs/dir.c | 2 +-
47345 fs/ntfs/file.c | 4 +-
47346 fs/ocfs2/localalloc.c | 2 +-
47347 fs/ocfs2/ocfs2.h | 10 +-
47348 fs/ocfs2/suballoc.c | 12 +-
47349 fs/ocfs2/super.c | 20 +-
47350 fs/pipe.c | 61 +-
47351 fs/proc/array.c | 20 +
47352 fs/proc/base.c | 4 +-
47353 fs/proc/kcore.c | 32 +-
47354 fs/proc/meminfo.c | 2 +-
47355 fs/proc/nommu.c | 2 +-
47356 fs/proc/proc_sysctl.c | 18 +-
47357 fs/proc/self.c | 2 +-
47358 fs/proc/task_mmu.c | 39 +-
47359 fs/proc/task_nommu.c | 4 +-
47360 fs/proc/vmcore.c | 12 +-
47361 fs/qnx6/qnx6.h | 4 +-
47362 fs/quota/netlink.c | 4 +-
47363 fs/read_write.c | 2 +-
47364 fs/readdir.c | 2 +-
47365 fs/reiserfs/do_balan.c | 2 +-
47366 fs/reiserfs/procfs.c | 2 +-
47367 fs/reiserfs/reiserfs.h | 4 +-
47368 fs/seq_file.c | 2 +-
47369 fs/splice.c | 40 +-
47370 fs/sysfs/bin.c | 6 +-
47371 fs/sysfs/dir.c | 2 +-
47372 fs/sysfs/file.c | 10 +-
47373 fs/sysfs/symlink.c | 2 +-
47374 fs/sysv/sysv.h | 2 +-
47375 fs/ubifs/io.c | 2 +-
47376 fs/udf/misc.c | 2 +-
47377 fs/ufs/swab.h | 4 +-
47378 fs/xattr.c | 21 +
47379 fs/xattr_acl.c | 4 +-
47380 fs/xfs/xfs_bmap.c | 2 +-
47381 fs/xfs/xfs_dir2_sf.c | 10 +-
47382 fs/xfs/xfs_ioctl.c | 2 +-
47383 fs/xfs/xfs_iops.c | 2 +-
47384 include/asm-generic/4level-fixup.h | 2 +
47385 include/asm-generic/atomic-long.h | 210 +
47386 include/asm-generic/atomic.h | 2 +-
47387 include/asm-generic/atomic64.h | 12 +
47388 include/asm-generic/cache.h | 4 +-
47389 include/asm-generic/emergency-restart.h | 2 +-
47390 include/asm-generic/kmap_types.h | 4 +-
47391 include/asm-generic/local.h | 13 +
47392 include/asm-generic/pgtable-nopmd.h | 18 +-
47393 include/asm-generic/pgtable-nopud.h | 15 +-
47394 include/asm-generic/pgtable.h | 8 +
47395 include/asm-generic/vmlinux.lds.h | 10 +-
47396 include/crypto/algapi.h | 2 +-
47397 include/drm/drmP.h | 17 +-
47398 include/drm/drm_crtc_helper.h | 2 +-
47399 include/drm/ttm/ttm_memory.h | 2 +-
47400 include/keys/asymmetric-subtype.h | 2 +-
47401 include/linux/atmdev.h | 4 +-
47402 include/linux/binfmts.h | 3 +-
47403 include/linux/blkdev.h | 2 +-
47404 include/linux/blktrace_api.h | 2 +-
47405 include/linux/cache.h | 4 +
47406 include/linux/cdrom.h | 1 -
47407 include/linux/cleancache.h | 2 +-
47408 include/linux/clk-provider.h | 1 +
47409 include/linux/compat.h | 4 +-
47410 include/linux/compiler-gcc4.h | 20 +
47411 include/linux/compiler.h | 65 +-
47412 include/linux/completion.h | 6 +-
47413 include/linux/configfs.h | 2 +-
47414 include/linux/cpu.h | 2 +-
47415 include/linux/cpufreq.h | 3 +-
47416 include/linux/cpuidle.h | 5 +-
47417 include/linux/cpumask.h | 12 +-
47418 include/linux/crypto.h | 6 +-
47419 include/linux/ctype.h | 2 +-
47420 include/linux/decompress/mm.h | 2 +-
47421 include/linux/devfreq.h | 2 +-
47422 include/linux/device.h | 7 +-
47423 include/linux/dma-mapping.h | 2 +-
47424 include/linux/dmaengine.h | 4 +-
47425 include/linux/efi.h | 1 +
47426 include/linux/elf.h | 2 +
47427 include/linux/err.h | 4 +-
47428 include/linux/extcon.h | 2 +-
47429 include/linux/fb.h | 2 +-
47430 include/linux/filter.h | 4 +
47431 include/linux/frontswap.h | 2 +-
47432 include/linux/fs.h | 3 +-
47433 include/linux/fs_struct.h | 2 +-
47434 include/linux/fscache-cache.h | 4 +-
47435 include/linux/fscache.h | 2 +-
47436 include/linux/fsnotify.h | 2 +-
47437 include/linux/genhd.h | 2 +-
47438 include/linux/genl_magic_func.h | 2 +-
47439 include/linux/gfp.h | 12 +-
47440 include/linux/highmem.h | 12 +
47441 include/linux/hwmon-sysfs.h | 5 +-
47442 include/linux/i2c.h | 1 +
47443 include/linux/i2o.h | 2 +-
47444 include/linux/if_pppox.h | 2 +-
47445 include/linux/init.h | 33 +-
47446 include/linux/init_task.h | 7 +
47447 include/linux/interrupt.h | 8 +-
47448 include/linux/iommu.h | 2 +-
47449 include/linux/ioport.h | 2 +-
47450 include/linux/irq.h | 3 +-
47451 include/linux/irqchip/arm-gic.h | 4 +-
47452 include/linux/key-type.h | 2 +-
47453 include/linux/kgdb.h | 6 +-
47454 include/linux/kobject.h | 3 +-
47455 include/linux/kobject_ns.h | 2 +-
47456 include/linux/kref.h | 2 +-
47457 include/linux/kvm_host.h | 4 +-
47458 include/linux/libata.h | 2 +-
47459 include/linux/list.h | 15 +
47460 include/linux/math64.h | 6 +-
47461 include/linux/mm.h | 116 +-
47462 include/linux/mm_types.h | 20 +
47463 include/linux/mmiotrace.h | 4 +-
47464 include/linux/mmzone.h | 2 +-
47465 include/linux/mod_devicetable.h | 6 +-
47466 include/linux/module.h | 60 +-
47467 include/linux/moduleloader.h | 16 +
47468 include/linux/moduleparam.h | 4 +-
47469 include/linux/namei.h | 6 +-
47470 include/linux/net.h | 2 +-
47471 include/linux/netdevice.h | 3 +-
47472 include/linux/netfilter.h | 2 +-
47473 include/linux/netfilter/ipset/ip_set.h | 2 +-
47474 include/linux/netfilter/nfnetlink.h | 2 +-
47475 include/linux/nls.h | 2 +-
47476 include/linux/notifier.h | 3 +-
47477 include/linux/oprofile.h | 4 +-
47478 include/linux/pci_hotplug.h | 3 +-
47479 include/linux/perf_event.h | 12 +-
47480 include/linux/pipe_fs_i.h | 8 +-
47481 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
47482 include/linux/platform_data/usb-ohci-exynos.h | 2 +-
47483 include/linux/pm_domain.h | 2 +-
47484 include/linux/pm_runtime.h | 2 +-
47485 include/linux/pnp.h | 2 +-
47486 include/linux/poison.h | 4 +-
47487 include/linux/power/smartreflex.h | 2 +-
47488 include/linux/ppp-comp.h | 2 +-
47489 include/linux/proc_ns.h | 2 +-
47490 include/linux/random.h | 5 +
47491 include/linux/rculist.h | 16 +
47492 include/linux/reboot.h | 14 +-
47493 include/linux/regset.h | 3 +-
47494 include/linux/relay.h | 2 +-
47495 include/linux/rio.h | 2 +-
47496 include/linux/rmap.h | 4 +-
47497 include/linux/sched.h | 65 +-
47498 include/linux/sched/sysctl.h | 1 +
47499 include/linux/seq_file.h | 1 +
47500 include/linux/skbuff.h | 12 +-
47501 include/linux/slab.h | 42 +-
47502 include/linux/slab_def.h | 28 +-
47503 include/linux/slob_def.h | 4 +-
47504 include/linux/slub_def.h | 8 +-
47505 include/linux/sock_diag.h | 2 +-
47506 include/linux/sonet.h | 2 +-
47507 include/linux/sunrpc/addr.h | 8 +-
47508 include/linux/sunrpc/clnt.h | 2 +-
47509 include/linux/sunrpc/svc.h | 2 +-
47510 include/linux/sunrpc/svc_rdma.h | 18 +-
47511 include/linux/sunrpc/svcauth.h | 2 +-
47512 include/linux/swiotlb.h | 3 +-
47513 include/linux/syscalls.h | 10 +-
47514 include/linux/syscore_ops.h | 2 +-
47515 include/linux/sysctl.h | 6 +-
47516 include/linux/sysfs.h | 10 +-
47517 include/linux/sysrq.h | 3 +-
47518 include/linux/thread_info.h | 7 +
47519 include/linux/tty.h | 4 +-
47520 include/linux/tty_driver.h | 2 +-
47521 include/linux/tty_ldisc.h | 2 +-
47522 include/linux/types.h | 16 +
47523 include/linux/uaccess.h | 6 +-
47524 include/linux/unaligned/access_ok.h | 24 +-
47525 include/linux/usb.h | 4 +-
47526 include/linux/usb/renesas_usbhs.h | 2 +-
47527 include/linux/vermagic.h | 21 +-
47528 include/linux/vmalloc.h | 11 +-
47529 include/linux/vmstat.h | 20 +-
47530 include/linux/xattr.h | 5 +-
47531 include/linux/zlib.h | 3 +-
47532 include/media/v4l2-dev.h | 2 +-
47533 include/net/9p/transport.h | 2 +-
47534 include/net/bluetooth/l2cap.h | 2 +-
47535 include/net/caif/cfctrl.h | 6 +-
47536 include/net/flow.h | 2 +-
47537 include/net/genetlink.h | 2 +-
47538 include/net/gro_cells.h | 2 +-
47539 include/net/inet_connection_sock.h | 2 +-
47540 include/net/inetpeer.h | 8 +-
47541 include/net/ip.h | 2 +-
47542 include/net/ip_fib.h | 2 +-
47543 include/net/ip_vs.h | 8 +-
47544 include/net/irda/ircomm_tty.h | 1 +
47545 include/net/iucv/af_iucv.h | 2 +-
47546 include/net/llc_c_ac.h | 2 +-
47547 include/net/llc_c_ev.h | 4 +-
47548 include/net/llc_c_st.h | 2 +-
47549 include/net/llc_s_ac.h | 2 +-
47550 include/net/llc_s_st.h | 2 +-
47551 include/net/mac80211.h | 2 +-
47552 include/net/neighbour.h | 2 +-
47553 include/net/net_namespace.h | 12 +-
47554 include/net/netdma.h | 2 +-
47555 include/net/netlink.h | 2 +-
47556 include/net/netns/conntrack.h | 6 +-
47557 include/net/netns/ipv4.h | 2 +-
47558 include/net/netns/ipv6.h | 2 +-
47559 include/net/protocol.h | 4 +-
47560 include/net/rtnetlink.h | 2 +-
47561 include/net/sctp/sctp.h | 6 +-
47562 include/net/sctp/sm.h | 4 +-
47563 include/net/sctp/structs.h | 2 +-
47564 include/net/sock.h | 6 +-
47565 include/net/tcp.h | 8 +-
47566 include/net/xfrm.h | 8 +-
47567 include/rdma/iw_cm.h | 2 +-
47568 include/scsi/libfc.h | 3 +-
47569 include/scsi/scsi_device.h | 6 +-
47570 include/scsi/scsi_transport_fc.h | 3 +-
47571 include/sound/compress_driver.h | 2 +-
47572 include/sound/soc.h | 4 +-
47573 include/target/target_core_base.h | 2 +-
47574 include/trace/events/irq.h | 4 +-
47575 include/uapi/linux/a.out.h | 8 +
47576 include/uapi/linux/byteorder/little_endian.h | 28 +-
47577 include/uapi/linux/elf.h | 28 +
47578 include/uapi/linux/screen_info.h | 3 +-
47579 include/uapi/linux/swab.h | 6 +-
47580 include/uapi/linux/sysctl.h | 6 +-
47581 include/uapi/linux/xattr.h | 4 +
47582 include/video/udlfb.h | 8 +-
47583 include/video/uvesafb.h | 1 +
47584 init/Kconfig | 2 +-
47585 init/Makefile | 3 +
47586 init/do_mounts.c | 14 +-
47587 init/do_mounts.h | 8 +-
47588 init/do_mounts_initrd.c | 30 +-
47589 init/do_mounts_md.c | 6 +-
47590 init/init_task.c | 4 +
47591 init/initramfs.c | 42 +-
47592 init/main.c | 83 +-
47593 ipc/ipc_sysctl.c | 10 +-
47594 ipc/mq_sysctl.c | 2 +-
47595 ipc/msg.c | 11 +-
47596 ipc/sem.c | 11 +-
47597 ipc/shm.c | 17 +-
47598 kernel/acct.c | 2 +-
47599 kernel/audit.c | 8 +-
47600 kernel/auditfilter.c | 2 +-
47601 kernel/auditsc.c | 4 +-
47602 kernel/capability.c | 3 +
47603 kernel/compat.c | 38 +-
47604 kernel/debug/debug_core.c | 16 +-
47605 kernel/debug/kdb/kdb_main.c | 4 +-
47606 kernel/events/core.c | 30 +-
47607 kernel/events/internal.h | 10 +-
47608 kernel/exit.c | 4 +-
47609 kernel/fork.c | 167 +-
47610 kernel/futex.c | 9 +
47611 kernel/futex_compat.c | 2 +-
47612 kernel/gcov/base.c | 7 +-
47613 kernel/hrtimer.c | 4 +-
47614 kernel/irq_work.c | 7 +-
47615 kernel/jump_label.c | 5 +
47616 kernel/kallsyms.c | 39 +-
47617 kernel/kexec.c | 3 +-
47618 kernel/kmod.c | 4 +-
47619 kernel/kprobes.c | 8 +-
47620 kernel/ksysfs.c | 2 +-
47621 kernel/lockdep.c | 7 +-
47622 kernel/module.c | 337 +-
47623 kernel/mutex-debug.c | 12 +-
47624 kernel/mutex-debug.h | 4 +-
47625 kernel/mutex.c | 11 +-
47626 kernel/notifier.c | 17 +-
47627 kernel/panic.c | 3 +-
47628 kernel/pid.c | 2 +-
47629 kernel/pid_namespace.c | 2 +-
47630 kernel/posix-cpu-timers.c | 4 +-
47631 kernel/posix-timers.c | 22 +-
47632 kernel/power/process.c | 12 +-
47633 kernel/profile.c | 14 +-
47634 kernel/ptrace.c | 8 +-
47635 kernel/rcupdate.c | 4 +-
47636 kernel/rcutiny.c | 4 +-
47637 kernel/rcutiny_plugin.h | 2 +-
47638 kernel/rcutorture.c | 56 +-
47639 kernel/rcutree.c | 76 +-
47640 kernel/rcutree.h | 24 +-
47641 kernel/rcutree_plugin.h | 20 +-
47642 kernel/rcutree_trace.c | 22 +-
47643 kernel/rtmutex-tester.c | 24 +-
47644 kernel/sched/auto_group.c | 4 +-
47645 kernel/sched/core.c | 51 +-
47646 kernel/sched/fair.c | 4 +-
47647 kernel/sched/sched.h | 2 +-
47648 kernel/signal.c | 12 +-
47649 kernel/smp.c | 2 +-
47650 kernel/smpboot.c | 4 +-
47651 kernel/softirq.c | 18 +-
47652 kernel/srcu.c | 4 +-
47653 kernel/sys.c | 10 +-
47654 kernel/sysctl.c | 39 +-
47655 kernel/time.c | 2 +-
47656 kernel/time/alarmtimer.c | 2 +-
47657 kernel/time/tick-broadcast.c | 2 +-
47658 kernel/time/timer_stats.c | 10 +-
47659 kernel/timer.c | 6 +-
47660 kernel/trace/blktrace.c | 6 +-
47661 kernel/trace/ftrace.c | 18 +-
47662 kernel/trace/ring_buffer.c | 76 +-
47663 kernel/trace/trace.c | 2 +-
47664 kernel/trace/trace.h | 2 +-
47665 kernel/trace/trace_events.c | 25 +-
47666 kernel/trace/trace_mmiotrace.c | 8 +-
47667 kernel/trace/trace_output.c | 12 +-
47668 kernel/trace/trace_stack.c | 2 +-
47669 kernel/user_namespace.c | 2 +-
47670 kernel/utsname_sysctl.c | 2 +-
47671 kernel/watchdog.c | 2 +-
47672 kernel/workqueue.c | 2 +-
47673 lib/Kconfig.debug | 8 +-
47674 lib/Makefile | 2 +-
47675 lib/bitmap.c | 8 +-
47676 lib/bug.c | 2 +
47677 lib/debugobjects.c | 2 +-
47678 lib/devres.c | 4 +-
47679 lib/div64.c | 4 +-
47680 lib/dma-debug.c | 4 +-
47681 lib/inflate.c | 2 +-
47682 lib/ioremap.c | 4 +-
47683 lib/kobject.c | 6 +-
47684 lib/list_debug.c | 126 +-
47685 lib/radix-tree.c | 2 +-
47686 lib/strncpy_from_user.c | 2 +-
47687 lib/strnlen_user.c | 2 +-
47688 lib/swiotlb.c | 2 +-
47689 lib/usercopy.c | 6 +
47690 lib/vsprintf.c | 12 +-
47691 mm/Kconfig | 6 +-
47692 mm/backing-dev.c | 4 +-
47693 mm/filemap.c | 2 +-
47694 mm/fremap.c | 5 +
47695 mm/highmem.c | 7 +-
47696 mm/hugetlb.c | 70 +-
47697 mm/internal.h | 1 +
47698 mm/maccess.c | 4 +-
47699 mm/madvise.c | 41 +
47700 mm/memory-failure.c | 26 +-
47701 mm/memory.c | 424 ++-
47702 mm/mempolicy.c | 26 +
47703 mm/mlock.c | 15 +-
47704 mm/mmap.c | 606 ++-
47705 mm/mprotect.c | 139 +-
47706 mm/mremap.c | 44 +-
47707 mm/nommu.c | 21 +-
47708 mm/page-writeback.c | 4 +-
47709 mm/page_alloc.c | 41 +-
47710 mm/page_io.c | 2 +-
47711 mm/percpu.c | 2 +-
47712 mm/process_vm_access.c | 14 +-
47713 mm/rmap.c | 38 +-
47714 mm/shmem.c | 19 +-
47715 mm/slab.c | 79 +-
47716 mm/slab.h | 5 +-
47717 mm/slab_common.c | 46 +-
47718 mm/slob.c | 201 +-
47719 mm/slub.c | 79 +-
47720 mm/sparse-vmemmap.c | 4 +-
47721 mm/sparse.c | 2 +-
47722 mm/swap.c | 3 +
47723 mm/swapfile.c | 12 +-
47724 mm/util.c | 6 +
47725 mm/vmalloc.c | 77 +-
47726 mm/vmstat.c | 12 +-
47727 net/8021q/vlan.c | 5 +-
47728 net/9p/mod.c | 4 +-
47729 net/9p/trans_fd.c | 2 +-
47730 net/atm/atm_misc.c | 8 +-
47731 net/atm/lec.h | 2 +-
47732 net/atm/proc.c | 6 +-
47733 net/atm/resources.c | 4 +-
47734 net/ax25/sysctl_net_ax25.c | 2 +-
47735 net/batman-adv/bat_iv_ogm.c | 8 +-
47736 net/batman-adv/hard-interface.c | 4 +-
47737 net/batman-adv/soft-interface.c | 4 +-
47738 net/batman-adv/types.h | 6 +-
47739 net/batman-adv/unicast.c | 2 +-
47740 net/bluetooth/hci_core.c | 8 +-
47741 net/bluetooth/hci_sock.c | 2 +-
47742 net/bluetooth/l2cap_core.c | 6 +-
47743 net/bluetooth/l2cap_sock.c | 12 +-
47744 net/bluetooth/rfcomm/sock.c | 4 +-
47745 net/bluetooth/rfcomm/tty.c | 10 +-
47746 net/bridge/netfilter/ebtables.c | 6 +-
47747 net/caif/cfctrl.c | 11 +-
47748 net/can/af_can.c | 2 +-
47749 net/can/gw.c | 6 +-
47750 net/compat.c | 34 +-
47751 net/core/datagram.c | 2 +-
47752 net/core/dev.c | 16 +-
47753 net/core/flow.c | 8 +-
47754 net/core/iovec.c | 4 +-
47755 net/core/neighbour.c | 2 +-
47756 net/core/net-sysfs.c | 2 +-
47757 net/core/net_namespace.c | 8 +-
47758 net/core/rtnetlink.c | 13 +-
47759 net/core/scm.c | 8 +-
47760 net/core/sock.c | 24 +-
47761 net/core/sock_diag.c | 9 +-
47762 net/core/sysctl_net_core.c | 18 +-
47763 net/decnet/af_decnet.c | 1 +
47764 net/decnet/sysctl_net_decnet.c | 4 +-
47765 net/ipv4/af_inet.c | 8 +-
47766 net/ipv4/ah4.c | 2 +-
47767 net/ipv4/devinet.c | 18 +-
47768 net/ipv4/esp4.c | 2 +-
47769 net/ipv4/fib_frontend.c | 6 +-
47770 net/ipv4/fib_semantics.c | 2 +-
47771 net/ipv4/inet_connection_sock.c | 2 +-
47772 net/ipv4/inetpeer.c | 4 +-
47773 net/ipv4/ip_fragment.c | 15 +-
47774 net/ipv4/ip_gre.c | 6 +-
47775 net/ipv4/ip_sockglue.c | 2 +-
47776 net/ipv4/ip_vti.c | 4 +-
47777 net/ipv4/ipcomp.c | 2 +-
47778 net/ipv4/ipconfig.c | 6 +-
47779 net/ipv4/ipip.c | 4 +-
47780 net/ipv4/netfilter/arp_tables.c | 12 +-
47781 net/ipv4/netfilter/ip_tables.c | 12 +-
47782 net/ipv4/ping.c | 2 +-
47783 net/ipv4/raw.c | 14 +-
47784 net/ipv4/route.c | 18 +-
47785 net/ipv4/sysctl_net_ipv4.c | 45 +-
47786 net/ipv4/tcp_input.c | 2 +-
47787 net/ipv4/tcp_probe.c | 2 +-
47788 net/ipv4/udp.c | 10 +-
47789 net/ipv4/xfrm4_policy.c | 14 +-
47790 net/ipv6/addrconf.c | 12 +-
47791 net/ipv6/icmp.c | 2 +-
47792 net/ipv6/ip6_gre.c | 8 +-
47793 net/ipv6/ip6_tunnel.c | 4 +-
47794 net/ipv6/ipv6_sockglue.c | 2 +-
47795 net/ipv6/netfilter/ip6_tables.c | 12 +-
47796 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
47797 net/ipv6/raw.c | 19 +-
47798 net/ipv6/reassembly.c | 13 +-
47799 net/ipv6/route.c | 2 +-
47800 net/ipv6/sit.c | 4 +-
47801 net/ipv6/sysctl_net_ipv6.c | 2 +-
47802 net/ipv6/udp.c | 8 +-
47803 net/ipv6/xfrm6_policy.c | 13 +-
47804 net/irda/ircomm/ircomm_tty.c | 18 +-
47805 net/iucv/af_iucv.c | 4 +-
47806 net/iucv/iucv.c | 2 +-
47807 net/key/af_key.c | 4 +-
47808 net/mac80211/cfg.c | 8 +-
47809 net/mac80211/ieee80211_i.h | 3 +-
47810 net/mac80211/iface.c | 16 +-
47811 net/mac80211/main.c | 2 +-
47812 net/mac80211/pm.c | 6 +-
47813 net/mac80211/rate.c | 2 +-
47814 net/mac80211/rc80211_pid_debugfs.c | 2 +-
47815 net/mac80211/util.c | 4 +-
47816 net/netfilter/ipset/ip_set_core.c | 2 +-
47817 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
47818 net/netfilter/ipvs/ip_vs_core.c | 4 +-
47819 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
47820 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
47821 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
47822 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
47823 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
47824 net/netfilter/nf_conntrack_acct.c | 2 +-
47825 net/netfilter/nf_conntrack_ecache.c | 2 +-
47826 net/netfilter/nf_conntrack_helper.c | 2 +-
47827 net/netfilter/nf_conntrack_proto.c | 2 +-
47828 net/netfilter/nf_conntrack_proto_dccp.c | 4 +-
47829 net/netfilter/nf_conntrack_standalone.c | 2 +-
47830 net/netfilter/nf_conntrack_timestamp.c | 2 +-
47831 net/netfilter/nf_log.c | 10 +-
47832 net/netfilter/nf_sockopt.c | 4 +-
47833 net/netfilter/nfnetlink_log.c | 4 +-
47834 net/netfilter/xt_statistic.c | 8 +-
47835 net/netlink/af_netlink.c | 4 +-
47836 net/netlink/genetlink.c | 16 +-
47837 net/packet/af_packet.c | 12 +-
47838 net/phonet/pep.c | 6 +-
47839 net/phonet/socket.c | 2 +-
47840 net/phonet/sysctl.c | 2 +-
47841 net/rds/cong.c | 6 +-
47842 net/rds/ib.h | 2 +-
47843 net/rds/ib_cm.c | 2 +-
47844 net/rds/ib_recv.c | 4 +-
47845 net/rds/iw.h | 2 +-
47846 net/rds/iw_cm.c | 2 +-
47847 net/rds/iw_recv.c | 4 +-
47848 net/rds/rds.h | 2 +-
47849 net/rds/tcp.c | 2 +-
47850 net/rds/tcp_send.c | 2 +-
47851 net/rxrpc/af_rxrpc.c | 2 +-
47852 net/rxrpc/ar-ack.c | 14 +-
47853 net/rxrpc/ar-call.c | 2 +-
47854 net/rxrpc/ar-connection.c | 2 +-
47855 net/rxrpc/ar-connevent.c | 2 +-
47856 net/rxrpc/ar-input.c | 4 +-
47857 net/rxrpc/ar-internal.h | 8 +-
47858 net/rxrpc/ar-local.c | 2 +-
47859 net/rxrpc/ar-output.c | 4 +-
47860 net/rxrpc/ar-peer.c | 2 +-
47861 net/rxrpc/ar-proc.c | 4 +-
47862 net/rxrpc/ar-transport.c | 2 +-
47863 net/rxrpc/rxkad.c | 4 +-
47864 net/sctp/ipv6.c | 6 +-
47865 net/sctp/protocol.c | 10 +-
47866 net/sctp/sm_sideeffect.c | 2 +-
47867 net/sctp/socket.c | 21 +-
47868 net/sctp/sysctl.c | 4 +-
47869 net/socket.c | 18 +-
47870 net/sunrpc/clnt.c | 4 +-
47871 net/sunrpc/sched.c | 4 +-
47872 net/sunrpc/svc.c | 6 +-
47873 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
47874 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
47875 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
47876 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
47877 net/tipc/link.c | 6 +-
47878 net/tipc/msg.c | 2 +-
47879 net/tipc/subscr.c | 2 +-
47880 net/unix/sysctl_net_unix.c | 2 +-
47881 net/wireless/wext-core.c | 19 +-
47882 net/xfrm/xfrm_policy.c | 27 +-
47883 net/xfrm/xfrm_state.c | 29 +-
47884 net/xfrm/xfrm_sysctl.c | 2 +-
47885 scripts/Makefile.build | 2 +-
47886 scripts/Makefile.clean | 3 +-
47887 scripts/Makefile.host | 28 +-
47888 scripts/basic/fixdep.c | 12 +-
47889 scripts/gcc-plugin.sh | 17 +
47890 scripts/headers_install.sh | 1 +
47891 scripts/link-vmlinux.sh | 2 +-
47892 scripts/mod/file2alias.c | 14 +-
47893 scripts/mod/modpost.c | 25 +-
47894 scripts/mod/modpost.h | 6 +-
47895 scripts/mod/sumversion.c | 2 +-
47896 scripts/package/builddeb | 1 +
47897 scripts/pnmtologo.c | 6 +-
47898 scripts/sortextable.h | 6 +-
47899 security/Kconfig | 676 +++-
47900 security/apparmor/lsm.c | 2 +-
47901 security/integrity/ima/ima.h | 4 +-
47902 security/integrity/ima/ima_api.c | 2 +-
47903 security/integrity/ima/ima_fs.c | 4 +-
47904 security/integrity/ima/ima_queue.c | 2 +-
47905 security/keys/compat.c | 2 +-
47906 security/keys/internal.h | 2 +-
47907 security/keys/key.c | 18 +-
47908 security/keys/keyctl.c | 8 +-
47909 security/keys/keyring.c | 6 +-
47910 security/security.c | 9 +-
47911 security/selinux/hooks.c | 2 +-
47912 security/selinux/include/xfrm.h | 2 +-
47913 security/smack/smack_lsm.c | 2 +-
47914 security/tomoyo/tomoyo.c | 2 +-
47915 security/yama/yama_lsm.c | 22 +-
47916 sound/aoa/codecs/onyx.c | 7 +-
47917 sound/aoa/codecs/onyx.h | 1 +
47918 sound/core/oss/pcm_oss.c | 18 +-
47919 sound/core/pcm_compat.c | 2 +-
47920 sound/core/pcm_native.c | 4 +-
47921 sound/core/seq/seq_device.c | 8 +-
47922 sound/core/sound.c | 2 +-
47923 sound/drivers/mts64.c | 14 +-
47924 sound/drivers/opl4/opl4_lib.c | 2 +-
47925 sound/drivers/portman2x4.c | 3 +-
47926 sound/firewire/amdtp.c | 4 +-
47927 sound/firewire/amdtp.h | 2 +-
47928 sound/firewire/isight.c | 10 +-
47929 sound/firewire/scs1x.c | 8 +-
47930 sound/oss/sb_audio.c | 2 +-
47931 sound/oss/swarm_cs4297a.c | 6 +-
47932 sound/pci/ymfpci/ymfpci.h | 2 +-
47933 sound/pci/ymfpci/ymfpci_main.c | 12 +-
47934 sound/soc/fsl/fsl_ssi.c | 2 +-
47935 sound/sound_core.c | 2 +-
47936 tools/gcc/.gitignore | 1 +
47937 tools/gcc/Makefile | 45 +
47938 tools/gcc/checker_plugin.c | 172 +
47939 tools/gcc/colorize_plugin.c | 151 +
47940 tools/gcc/constify_plugin.c | 560 ++
47941 tools/gcc/generate_size_overflow_hash.sh | 94 +
47942 tools/gcc/kallocstat_plugin.c | 170 +
47943 tools/gcc/kernexec_plugin.c | 465 ++
47944 tools/gcc/latent_entropy_plugin.c | 327 ++
47945 tools/gcc/size_overflow_hash.data | 5893 ++++++++++++++++++++
47946 tools/gcc/size_overflow_plugin.c | 2114 +++++++
47947 tools/gcc/stackleak_plugin.c | 327 ++
47948 tools/gcc/structleak_plugin.c | 277 +
47949 tools/perf/util/include/asm/alternative-asm.h | 3 +
47950 tools/perf/util/include/linux/compiler.h | 8 +
47951 virt/kvm/kvm_main.c | 32 +-
47952 1607 files changed, 30734 insertions(+), 7318 deletions(-)
47953 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
47954 Merge: 0949bd4 fc53d63
47955 Author: Brad Spengler <spender@grsecurity.net>
47956 Date: Thu Mar 22 19:03:44 2012 -0400
47957
47958 Merge branch 'pax-test' into grsec-test
47959
47960 commit fc53d6338964741b368070ec5c935bc579b8c2a6
47961 Author: Brad Spengler <spender@grsecurity.net>
47962 Date: Thu Mar 22 19:02:45 2012 -0400
47963
47964 Update to pax-linux-3.2.12-test33.patch
47965
47966 commit 0949bd46a6455b308f66ad7c993bfee62412db35
47967 Author: Brad Spengler <spender@grsecurity.net>
47968 Date: Thu Mar 22 16:56:09 2012 -0400
47969
47970 Use current_umask() instead of current->fs->umask
47971
47972 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
47973 Author: Brad Spengler <spender@grsecurity.net>
47974 Date: Wed Mar 21 19:42:42 2012 -0400
47975
47976 compile fix
47977
47978 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
47979 Author: Brad Spengler <spender@grsecurity.net>
47980 Date: Wed Mar 21 19:34:56 2012 -0400
47981
47982 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
47983 uses of domains with particular hash collisions
47984
47985 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
47986 Author: Brad Spengler <spender@grsecurity.net>
47987 Date: Tue Mar 20 20:25:49 2012 -0400
47988
47989 zero kernel_role
47990
47991 commit b00953b43c69238d181d21121ef1577c988d5f6b
47992 Author: Brad Spengler <spender@grsecurity.net>
47993 Date: Tue Mar 20 19:29:34 2012 -0400
47994
47995 zero real_root after releasing it
47996
47997 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
47998 Merge: b724f59 273f98e
47999 Author: Brad Spengler <spender@grsecurity.net>
48000 Date: Tue Mar 20 19:11:26 2012 -0400
48001
48002 Merge branch 'pax-test' into grsec-test
48003
48004 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
48005 Author: Brad Spengler <spender@grsecurity.net>
48006 Date: Tue Mar 20 19:10:52 2012 -0400
48007
48008 Temporary workaround for (most) size_overflow plugin false-positives
48009 Increase randomization for brk-managed heap to 21 bits
48010 Update to pax-linux-3.2.12-test32.patch
48011
48012 commit b724f59125304460c2af8bd4b02921993afbb5d3
48013 Author: Brad Spengler <spender@grsecurity.net>
48014 Date: Tue Mar 20 18:58:53 2012 -0400
48015
48016 compile fix
48017
48018 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
48019 Author: Brad Spengler <spender@grsecurity.net>
48020 Date: Tue Mar 20 18:52:23 2012 -0400
48021
48022 Require default and kernel role
48023
48024 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
48025 Author: Brad Spengler <spender@grsecurity.net>
48026 Date: Tue Mar 20 18:47:28 2012 -0400
48027
48028 Allow policies without special roles
48029 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
48030
48031 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
48032 Merge: 8e012dc f14661a
48033 Author: Brad Spengler <spender@grsecurity.net>
48034 Date: Mon Mar 19 18:06:59 2012 -0400
48035
48036 Merge branch 'pax-test' into grsec-test
48037
48038 Conflicts:
48039 fs/namei.c
48040
48041 commit f14661aaf202155c97f66626cea0269017bb7775
48042 Merge: eae671f 058b017
48043 Author: Brad Spengler <spender@grsecurity.net>
48044 Date: Mon Mar 19 18:05:44 2012 -0400
48045
48046 Merge branch 'linux-3.2.y' into pax-test
48047
48048 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
48049 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
48050 Date: Fri Mar 16 17:08:39 2012 -0700
48051
48052 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
48053
48054 According to the report from Slicky Devil, nilfs caused kernel oops at
48055 nilfs_load_super_block function during mount after he shrank the
48056 partition without resizing the filesystem:
48057
48058 BUG: unable to handle kernel NULL pointer dereference at 00000048
48059 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
48060 *pde = 00000000
48061 Oops: 0000 [#1] PREEMPT SMP
48062 ...
48063 Call Trace:
48064 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
48065 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
48066 [<c0226636>] mount_fs+0x36/0x180
48067 [<c023d961>] vfs_kern_mount+0x51/0xa0
48068 [<c023ddae>] do_kern_mount+0x3e/0xe0
48069 [<c023f189>] do_mount+0x169/0x700
48070 [<c023fa9b>] sys_mount+0x6b/0xa0
48071 [<c04abd1f>] sysenter_do_call+0x12/0x28
48072 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
48073 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
48074 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
48075 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
48076 CR2: 0000000000000048
48077
48078 This turned out due to a defect in an error path which runs if the
48079 calculated location of the secondary super block was invalid.
48080
48081 This patch fixes it and eliminates the reported oops.
48082
48083 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
48084 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
48085 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
48086 Cc: <stable@vger.kernel.org> [2.6.30+]
48087 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
48088 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48089
48090 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
48091 Author: Haogang Chen <haogangchen@gmail.com>
48092 Date: Fri Mar 16 17:08:38 2012 -0700
48093
48094 nilfs2: clamp ns_r_segments_percentage to [1, 99]
48095
48096 ns_r_segments_percentage is read from the disk. Bogus or malicious
48097 value could cause integer overflow and malfunction due to meaningless
48098 disk usage calculation. This patch reports error when mounting such
48099 bogus volumes.
48100
48101 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
48102 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
48103 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
48104 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48105
48106 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
48107 Author: Eric Dumazet <eric.dumazet@gmail.com>
48108 Date: Sat Mar 10 09:20:21 2012 +0000
48109
48110 tcp: fix syncookie regression
48111
48112 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
48113 added a serious regression on synflood handling.
48114
48115 Simon Kirby discovered a successful connection was delayed by 20 seconds
48116 before being responsive.
48117
48118 In my tests, I discovered that xmit frames were lost, and needed ~4
48119 retransmits and a socket dst rebuild before being really sent.
48120
48121 In case of syncookie initiated connection, we use a different path to
48122 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
48123
48124 As ip_queue_xmit() now depends on inet flow being setup, fix this by
48125 copying the temp flowi4 we use in cookie_v4_check().
48126
48127 Reported-by: Simon Kirby <sim@netnation.com>
48128 Bisected-by: Simon Kirby <sim@netnation.com>
48129 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
48130 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
48131 Signed-off-by: David S. Miller <davem@davemloft.net>
48132
48133 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
48134 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
48135 Date: Mon Mar 12 02:59:41 2012 +0000
48136
48137 tun: don't hold network namespace by tun sockets
48138
48139 v3: added previously removed sock_put() to the tun_release() callback, because
48140 sk_release_kernel() doesn't drop the socket reference.
48141
48142 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
48143 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
48144 call.
48145
48146 TUN was designed to destroy it's socket on network namesapce shutdown. But this
48147 will never happen for persistent device, because it's socket holds network
48148 namespace.
48149 This patch removes of holding network namespace by TUN socket and replaces it
48150 by creating socket in init_net and then changing it's net it to desired one. On
48151 shutdown socket is moved back to init_net prior to final put.
48152
48153 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
48154 Signed-off-by: David S. Miller <davem@davemloft.net>
48155
48156 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
48157 Author: Tyler Hicks <tyhicks@canonical.com>
48158 Date: Mon Dec 12 10:02:30 2011 -0600
48159
48160 vfs: Correctly set the dir i_mutex lockdep class
48161
48162 9a7aa12f3911853a introduced additional logic around setting the i_mutex
48163 lockdep class for directory inodes. The idea was that some filesystems
48164 may want their own special lockdep class for different directory
48165 inodes and calling unlock_new_inode() should not clobber one of
48166 those special classes.
48167
48168 I believe that the added conditional, around the *negated* return value
48169 of lockdep_match_class(), caused directory inodes to be placed in the
48170 wrong lockdep class.
48171
48172 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
48173 all inodes. If the filesystem did not change the class during inode
48174 initialization, then the conditional mentioned above was false and the
48175 directory inode was incorrectly left in the non-directory lockdep class.
48176 If the filesystem did set a special lockdep class, then the conditional
48177 mentioned above was true and that class was clobbered with
48178 i_mutex_dir_key.
48179
48180 This patch removes the negation from the conditional so that the i_mutex
48181 lockdep class is properly set for directory inodes. Special classes are
48182 preserved and directory inodes with unmodified classes are set with
48183 i_mutex_dir_key.
48184
48185 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
48186 Reviewed-by: Jan Kara <jack@suse.cz>
48187 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48188
48189 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
48190 Author: Jan Kara <jack@suse.cz>
48191 Date: Mon Feb 20 17:54:00 2012 +0100
48192
48193 udf: Fix deadlock in udf_release_file()
48194
48195 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
48196 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
48197 i_mutex is not needed in udf_release_file() anymore since protection by
48198 i_data_sem is enough to protect from races with write and truncate.
48199
48200 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
48201 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
48202 Signed-off-by: Jan Kara <jack@suse.cz>
48203 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48204
48205 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
48206 Author: Miklos Szeredi <mszeredi@suse.cz>
48207 Date: Tue Mar 6 13:56:33 2012 +0100
48208
48209 vfs: fix double put after complete_walk()
48210
48211 complete_walk() already puts nd->path, no need to do it again at cleanup time.
48212
48213 This would result in Oopses if triggered, apparently the codepath is not too
48214 well exercised.
48215
48216 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
48217 CC: stable@vger.kernel.org
48218 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48219
48220 commit 13885ba2b18400f3ef6540497d30f1af896605e5
48221 Author: Miklos Szeredi <mszeredi@suse.cz>
48222 Date: Tue Mar 6 13:56:34 2012 +0100
48223
48224 vfs: fix return value from do_last()
48225
48226 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
48227 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
48228 which is complete nonsense.
48229
48230 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
48231 CC: stable@vger.kernel.org
48232 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48233
48234 Conflicts:
48235
48236 fs/namei.c
48237
48238 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
48239 Author: Al Viro <viro@zeniv.linux.org.uk>
48240 Date: Sat Mar 10 17:07:28 2012 -0500
48241
48242 restore smp_mb() in unlock_new_inode()
48243
48244 wait_on_inode() doesn't have ->i_lock
48245
48246 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48247
48248 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
48249 Author: David S. Miller <davem@davemloft.net>
48250 Date: Tue Mar 13 18:19:51 2012 -0700
48251
48252 sparc32: Add -Av8 to assembler command line.
48253
48254 Newer version of binutils are more strict about specifying the
48255 correct options to enable certain classes of instructions.
48256
48257 The sparc32 build is done for v7 in order to support sun4c systems
48258 which lack hardware integer multiply and divide instructions.
48259
48260 So we have to pass -Av8 when building the assembler routines that
48261 use these instructions and get patched into the kernel when we find
48262 out that we have a v8 capable cpu.
48263
48264 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
48265 Signed-off-by: David S. Miller <davem@davemloft.net>
48266
48267 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
48268 Author: Thomas Gleixner <tglx@linutronix.de>
48269 Date: Fri Mar 9 20:55:10 2012 +0100
48270
48271 x86: Derandom delay_tsc for 64 bit
48272
48273 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
48274 delay_tsc() into a random delay generator for 64 bit. The reason is
48275 that it merged the mostly identical versions of delay_32.c and
48276 delay_64.c. Though the subtle difference of the result was:
48277
48278 static void delay_tsc(unsigned long loops)
48279 {
48280 - unsigned bclock, now;
48281 + unsigned long bclock, now;
48282
48283 Now the function uses rdtscl() which returns the lower 32bit of the
48284 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
48285 bit this fails when the lower 32bit are close to wrap around when
48286 bclock is read, because the following check
48287
48288 if ((now - bclock) >= loops)
48289 break;
48290
48291 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
48292 because the unsigned long (now - bclock) of these values results in
48293 0xffffffff00000001 which is definitely larger than the loops
48294 value. That explains Tvortkos observation:
48295
48296 "Because I am seeing udelay(500) (_occasionally_) being short, and
48297 that by delaying for some duration between 0us (yep) and 491us."
48298
48299 Make those variables explicitely u32 again, so this works for both 32
48300 and 64 bit.
48301
48302 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
48303 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
48304 Cc: stable@vger.kernel.org # >= 2.6.27
48305 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48306
48307 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
48308 Author: Al Viro <viro@ZenIV.linux.org.uk>
48309 Date: Thu Mar 8 17:51:19 2012 +0000
48310
48311 aio: fix the "too late munmap()" race
48312
48313 Current code has put_ioctx() called asynchronously from aio_fput_routine();
48314 that's done *after* we have killed the request that used to pin ioctx,
48315 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
48316 from progressing. As the result, we can end up with async call of
48317 put_ioctx() being the last one and possibly happening during exit_mmap()
48318 or elf_core_dump(), neither of which expects stray munmap() being done
48319 to them...
48320
48321 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
48322 with that, but that's all we care about - neither io_destroy() nor
48323 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
48324 does really_put_req(), so the ioctx teardown won't be done until then
48325 and we don't care about the contents of ioctx past that point.
48326
48327 Since actual freeing of these suckers is RCU-delayed, we don't need to
48328 bump ioctx refcount when request goes into list for async removal.
48329 All we need is rcu_read_lock held just over the ->ctx_lock-protected
48330 area in aio_fput_routine().
48331
48332 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48333 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
48334 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
48335 Cc: stable@vger.kernel.org
48336 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48337
48338 commit 002124c055afbf09b52226af65621999e8316448
48339 Author: Al Viro <viro@ZenIV.linux.org.uk>
48340 Date: Wed Mar 7 05:16:35 2012 +0000
48341
48342 aio: fix io_setup/io_destroy race
48343
48344 Have ioctx_alloc() return an extra reference, so that caller would drop it
48345 on success and not bother with re-grabbing it on failure exit. The current
48346 code is obviously broken - io_destroy() from another thread that managed
48347 to guess the address io_setup() would've returned would free ioctx right
48348 under us; gets especially interesting if aio_context_t * we pass to
48349 io_setup() points to PROT_READ mapping, so put_user() fails and we end
48350 up doing io_destroy() on kioctx another thread has just got freed...
48351
48352 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48353 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
48354 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
48355 Cc: stable@vger.kernel.org
48356 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48357
48358 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
48359 Author: Dan Carpenter <dan.carpenter@oracle.com>
48360 Date: Thu Mar 15 15:17:12 2012 -0700
48361
48362 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
48363
48364 strict_strtoul() writes a long but ->gamma_mode only has space to store an
48365 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
48366 well. I've changed it to use kstrtouint() instead.
48367
48368 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
48369 Acked-by: Inki Dae <inki.dae@samsung.com>
48370 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
48371 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
48372 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48373
48374 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
48375 Merge: e4b05b6 eae671f
48376 Author: Brad Spengler <spender@grsecurity.net>
48377 Date: Fri Mar 16 21:04:27 2012 -0400
48378
48379 Merge branch 'pax-test' into grsec-test
48380
48381 Conflicts:
48382 security/Kconfig
48383
48384 commit eae671fafe93f04685c04a089cc13efebc05d600
48385 Author: Brad Spengler <spender@grsecurity.net>
48386 Date: Fri Mar 16 20:58:01 2012 -0400
48387
48388 Update to pax-linux-3.2.11-test31.patch
48389 Introduction of the size_overflow plugin from Emese Revfy
48390 Many thanks to Emese for her hard work :)
48391
48392 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
48393 Merge: e55aa68 258c015
48394 Author: Brad Spengler <spender@grsecurity.net>
48395 Date: Thu Mar 15 20:59:19 2012 -0400
48396
48397 Merge branch 'pax-test' into grsec-test
48398
48399 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
48400 Author: Brad Spengler <spender@grsecurity.net>
48401 Date: Thu Mar 15 20:59:05 2012 -0400
48402
48403 fix ARM compilation
48404
48405 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
48406 Merge: 8f95ea9 55b7573
48407 Author: Brad Spengler <spender@grsecurity.net>
48408 Date: Wed Mar 14 19:33:41 2012 -0400
48409
48410 Merge branch 'pax-test' into grsec-test
48411
48412 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
48413 Author: Brad Spengler <spender@grsecurity.net>
48414 Date: Wed Mar 14 19:33:15 2012 -0400
48415
48416 Update to pax-linux-3.2.10-test28.patch
48417
48418 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
48419 Merge: c8786a2 886ac5e
48420 Author: Brad Spengler <spender@grsecurity.net>
48421 Date: Tue Mar 13 17:38:13 2012 -0400
48422
48423 Merge branch 'pax-test' into grsec-test
48424
48425 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
48426
48427 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
48428 Author: Brad Spengler <spender@grsecurity.net>
48429 Date: Tue Mar 13 17:37:44 2012 -0400
48430
48431 Update to pax-linux-3.2.10-test26.patch
48432
48433 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
48434 Merge: 219c982 c061fcf
48435 Author: Brad Spengler <spender@grsecurity.net>
48436 Date: Tue Mar 13 17:25:06 2012 -0400
48437
48438 Merge branch 'pax-test' into grsec-test
48439
48440 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
48441 Merge: 89373d2 3f4b3b2
48442 Author: Brad Spengler <spender@grsecurity.net>
48443 Date: Tue Mar 13 17:25:02 2012 -0400
48444
48445 Merge branch 'linux-3.2.y' into pax-test
48446
48447 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
48448 Merge: 54e19a3 89373d2
48449 Author: Brad Spengler <spender@grsecurity.net>
48450 Date: Mon Mar 12 17:23:57 2012 -0400
48451
48452 Merge branch 'pax-test' into grsec-test
48453
48454 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
48455 Merge: a778588 7459f11
48456 Author: Brad Spengler <spender@grsecurity.net>
48457 Date: Mon Mar 12 17:23:49 2012 -0400
48458
48459 Merge branch 'linux-3.2.y' into pax-test
48460
48461 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
48462 Merge: c4650f1 a778588
48463 Author: Brad Spengler <spender@grsecurity.net>
48464 Date: Mon Mar 12 16:51:25 2012 -0400
48465
48466 Merge branch 'pax-test' into grsec-test
48467
48468 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
48469 Author: Brad Spengler <spender@grsecurity.net>
48470 Date: Mon Mar 12 16:51:12 2012 -0400
48471
48472 Update to pax-linux-3.2.9-test24.patch
48473
48474 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
48475 Merge: fb2abee 1015790
48476 Author: Brad Spengler <spender@grsecurity.net>
48477 Date: Sun Mar 11 21:08:28 2012 -0400
48478
48479 Merge branch 'pax-test' into grsec-test
48480
48481 Conflicts:
48482 security/Kconfig
48483
48484 commit 101579028a736c224e590c7e12a7357018c424e1
48485 Author: Brad Spengler <spender@grsecurity.net>
48486 Date: Sun Mar 11 21:07:27 2012 -0400
48487
48488 Update to pax-linux-3.2.9-test22.patch
48489
48490 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
48491 Author: Brad Spengler <spender@grsecurity.net>
48492 Date: Sun Mar 11 11:02:17 2012 -0400
48493
48494 Allow 4096 CPUs
48495
48496 commit 96bae28cbe6a41d48e3b56e5904814096e956000
48497 Author: Brad Spengler <spender@grsecurity.net>
48498 Date: Sun Mar 11 10:25:58 2012 -0400
48499
48500 Use a per-cpu 48-bit counter instead of a global atomic64
48501 Initialize each counter to have the cpu number in the lower 16 bits
48502 instead of incrementing the counter each time by 1, perform the increments
48503 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
48504 any state
48505 idea from PaX Team
48506
48507 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
48508 Author: Brad Spengler <spender@grsecurity.net>
48509 Date: Sat Mar 10 20:33:12 2012 -0500
48510
48511 Special vnsec edition! :)
48512 Further reduce argv/env allowance for suid/sgid apps to 512KB
48513 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
48514 Clear 3GB personality on suid/sgid binaries
48515 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
48516 with the main purpose of throwing off program stack -> arg/env alignment
48517 Update documentation
48518
48519 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
48520 Author: Brad Spengler <spender@grsecurity.net>
48521 Date: Sat Mar 10 19:54:47 2012 -0500
48522
48523 Resolve skbuff.h warnings that turn into errors during compilation in
48524 the grsecurity directory with -Werror
48525
48526 commit 2023210ad43a944033fcacc660ce410888f562ee
48527 Merge: ece4383 5f66adf
48528 Author: Brad Spengler <spender@grsecurity.net>
48529 Date: Fri Mar 9 19:48:01 2012 -0500
48530
48531 Merge branch 'pax-test' into grsec-test
48532
48533 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
48534 Author: Brad Spengler <spender@grsecurity.net>
48535 Date: Fri Mar 9 19:47:06 2012 -0500
48536
48537 Add colorize plugin
48538
48539 commit ece4383e5e91c92d138c4df84225a70b552f4d69
48540 Merge: a366d0e ab4a5a1
48541 Author: Brad Spengler <spender@grsecurity.net>
48542 Date: Fri Mar 9 17:56:46 2012 -0500
48543
48544 Merge branch 'pax-test' into grsec-test
48545
48546 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
48547 Author: Brad Spengler <spender@grsecurity.net>
48548 Date: Fri Mar 9 17:56:26 2012 -0500
48549
48550 Update to pax-linux-3.2.9-test21.patch
48551
48552 commit a366d0ed963ce93fce10121c1100989d5f064e75
48553 Author: Mikulas Patocka <mpatocka@redhat.com>
48554 Date: Sun Mar 4 19:52:03 2012 -0500
48555
48556 mm: fix find_vma_prev
48557
48558 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
48559 management on PA-RISC.
48560
48561 After application of the patch, programs that allocate big arrays on the
48562 stack crash with segfault, for example, this will crash if compiled
48563 without optimization:
48564
48565 int main()
48566 {
48567 char array[200000];
48568 array[199999] = 0;
48569 return 0;
48570 }
48571
48572 The reason is that PA-RISC has up-growing stack and the stack is usually
48573 the last memory area. In the above example, a page fault happens above
48574 the stack.
48575
48576 Previously, if we passed too high address to find_vma_prev, it returned
48577 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
48578 change, it stores NULL in *pprev. Consequently, the stack area is not
48579 found and it is not expanded, as it used to be before the change.
48580
48581 This patch restores the old behavior and makes it return the last VMA in
48582 *pprev if the requested address is higher than address of any other VMA.
48583
48584 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
48585 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
48586 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48587
48588 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
48589 Author: Hugh Dickins <hughd@google.com>
48590 Date: Tue Mar 6 12:28:52 2012 -0800
48591
48592 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
48593
48594 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
48595 from shared anonymous: hoist the file case's -EINVAL up for both.
48596
48597 Signed-off-by: Hugh Dickins <hughd@google.com>
48598 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48599
48600 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
48601 Author: Al Viro <viro@ZenIV.linux.org.uk>
48602 Date: Mon Mar 5 06:38:42 2012 +0000
48603
48604 aout: move setup_arg_pages() prior to reading/mapping the binary
48605
48606 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48607 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48608
48609 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
48610 Author: Jan Beulich <JBeulich@suse.com>
48611 Date: Mon Mar 5 16:49:24 2012 +0000
48612
48613 vsprintf: make %pV handling compatible with kasprintf()
48614
48615 kasprintf() (and potentially other functions that I didn't run across so
48616 far) want to evaluate argument lists twice. Caring to do so for the
48617 primary list is obviously their job, but they can't reasonably be
48618 expected to check the format string for instances of %pV, which however
48619 need special handling too: On architectures like x86-64 (as opposed to
48620 e.g. ix86), using the same argument list twice doesn't produce the
48621 expected results, as an internally managed cursor gets updated during
48622 the first run.
48623
48624 Fix the problem by always acting on a copy of the original list when
48625 handling %pV.
48626
48627 Signed-off-by: Jan Beulich <jbeulich@suse.com>
48628 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48629
48630 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
48631 Author: Al Viro <viro@ZenIV.linux.org.uk>
48632 Date: Mon Mar 5 06:39:47 2012 +0000
48633
48634 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
48635
48636 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
48637 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48638
48639 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
48640 Author: Christian König <deathsimple@vodafone.de>
48641 Date: Tue Feb 28 23:19:20 2012 +0100
48642
48643 drm/radeon: fix uninitialized variable
48644
48645 Without this fix the driver randomly treats
48646 textures as arrays and I'm really wondering
48647 why gcc isn't complaining about it.
48648
48649 Signed-off-by: Christian König <deathsimple@vodafone.de>
48650 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
48651 Signed-off-by: Dave Airlie <airlied@redhat.com>
48652
48653 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
48654 Author: H. Peter Anvin <hpa@zytor.com>
48655 Date: Fri Mar 2 10:43:48 2012 -0800
48656
48657 regset: Prevent null pointer reference on readonly regsets
48658
48659 The regset common infrastructure assumed that regsets would always
48660 have .get and .set methods, but not necessarily .active methods.
48661 Unfortunately people have since written regsets without .set methods.
48662
48663 Rather than putting in stub functions everywhere, handle regsets with
48664 null .get or .set methods explicitly.
48665
48666 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
48667 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
48668 Acked-by: Roland McGrath <roland@hack.frob.com>
48669 Cc: <stable@vger.kernel.org>
48670 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48671
48672 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
48673 Author: Brad Spengler <spender@grsecurity.net>
48674 Date: Mon Mar 5 18:12:57 2012 -0500
48675
48676 Fix compiler errors reported on forums
48677
48678 commit 1606774b48af24e6f99d99c624c0e447d4b66474
48679 Merge: 3127bd5 4ca2ffd
48680 Author: Brad Spengler <spender@grsecurity.net>
48681 Date: Mon Mar 5 17:31:35 2012 -0500
48682
48683 Merge branch 'pax-test' into grsec-test
48684
48685 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
48686 Author: Brad Spengler <spender@grsecurity.net>
48687 Date: Mon Mar 5 17:31:21 2012 -0500
48688
48689 Update to pax-linux-3.2.9-test20.patch
48690
48691 commit 3127bd581a292966b1057c7433219dac188c3720
48692 Author: Brad Spengler <spender@grsecurity.net>
48693 Date: Fri Mar 2 21:30:37 2012 -0500
48694
48695 Fix memory leak on logged exec_id check failure in /proc/pid/statm
48696 Thanks to Djalal Harouni for the report
48697
48698 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
48699 Merge: 0a56be8 9aa8288
48700 Author: Brad Spengler <spender@grsecurity.net>
48701 Date: Fri Mar 2 18:38:22 2012 -0500
48702
48703 Merge branch 'pax-test' into grsec-test
48704
48705 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
48706 Author: Brad Spengler <spender@grsecurity.net>
48707 Date: Fri Mar 2 18:37:43 2012 -0500
48708
48709 Update to pax-linux-3.2.9-test19.patch
48710
48711 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
48712 Merge: 9e66745 3f5c52a
48713 Author: Brad Spengler <spender@grsecurity.net>
48714 Date: Thu Mar 1 20:18:01 2012 -0500
48715
48716 Merge branch 'pax-test' into grsec-test
48717
48718 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
48719 Author: Brad Spengler <spender@grsecurity.net>
48720 Date: Thu Mar 1 20:16:56 2012 -0500
48721
48722 Update to pax-linux-3.2.9-test18.patch
48723
48724 commit ae53ec231d12719a36bf871f8c5841020ed692ee
48725 Merge: b255baf 44fb317
48726 Author: Brad Spengler <spender@grsecurity.net>
48727 Date: Thu Mar 1 20:15:31 2012 -0500
48728
48729 Merge branch 'linux-3.2.y' into pax-test
48730
48731 commit 9e667456c03eadea2f305be761abe4de9a5877a3
48732 Merge: 5e4e200 b255baf
48733 Author: Brad Spengler <spender@grsecurity.net>
48734 Date: Mon Feb 27 20:53:59 2012 -0500
48735
48736 Merge branch 'pax-test' into grsec-test
48737
48738 commit b255baf50365d39b406f43aab2c64745607baaa2
48739 Merge: 340ce90 1de504e
48740 Author: Brad Spengler <spender@grsecurity.net>
48741 Date: Mon Feb 27 20:53:29 2012 -0500
48742
48743 Merge branch 'linux-3.2.y' into pax-test
48744 Update to pax-linux-3.2.8-test17.patch
48745
48746 Conflicts:
48747 arch/x86/include/asm/i387.h
48748 arch/x86/kernel/process_32.c
48749 arch/x86/kernel/traps.c
48750
48751 commit 5e4e200ac530452884b625cb75de240e1e98c731
48752 Merge: 44306d7 340ce90
48753 Author: Brad Spengler <spender@grsecurity.net>
48754 Date: Mon Feb 27 18:02:13 2012 -0500
48755
48756 Merge branch 'pax-test' into grsec-test
48757
48758 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
48759 Author: Brad Spengler <spender@grsecurity.net>
48760 Date: Mon Feb 27 18:01:48 2012 -0500
48761
48762 Update to pax-linux-3.2.7-test17.patch
48763
48764 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
48765 Merge: 29d0b07 521c411
48766 Author: Brad Spengler <spender@grsecurity.net>
48767 Date: Sun Feb 26 19:04:15 2012 -0500
48768
48769 Merge branch 'pax-test' into grsec-test
48770
48771 Conflicts:
48772 Makefile
48773
48774 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
48775 Author: Brad Spengler <spender@grsecurity.net>
48776 Date: Sun Feb 26 19:03:33 2012 -0500
48777
48778 Update to pax-linux-3.2.7-test16.patch
48779
48780 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
48781 Author: Brad Spengler <spender@grsecurity.net>
48782 Date: Sun Feb 26 17:12:44 2012 -0500
48783
48784 fix typo
48785
48786 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
48787 Merge: f45b3be caa8f83
48788 Author: Brad Spengler <spender@grsecurity.net>
48789 Date: Sat Feb 25 20:59:27 2012 -0500
48790
48791 Merge branch 'pax-test' into grsec-test
48792
48793 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
48794 Author: Brad Spengler <spender@grsecurity.net>
48795 Date: Sat Feb 25 20:59:12 2012 -0500
48796
48797 Update to pax-linux-3.2.7-test15.patch
48798
48799 commit f45b3be34a345502a302e736af9a65742ddef7cb
48800 Merge: 62f35fd 9f1309b
48801 Author: Brad Spengler <spender@grsecurity.net>
48802 Date: Sat Feb 25 11:40:15 2012 -0500
48803
48804 Merge branch 'pax-test' into grsec-test
48805
48806 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
48807 Author: Brad Spengler <spender@grsecurity.net>
48808 Date: Sat Feb 25 11:39:57 2012 -0500
48809
48810 Update to pax-linux-3.2.7-test14.patch
48811
48812 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
48813 Author: Brad Spengler <spender@grsecurity.net>
48814 Date: Sat Feb 25 09:08:55 2012 -0500
48815
48816 We could log on attempted exploits of writing /proc/self/mem, but the current
48817 log function declares the access a read, so just swap the ordering for now
48818
48819 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
48820 Author: Brad Spengler <spender@grsecurity.net>
48821 Date: Sat Feb 25 08:46:14 2012 -0500
48822
48823 Log /proc/pid/mem attempts
48824
48825 commit 674471e581893a94d475acac3e3c4496209b3ac9
48826 Author: Brad Spengler <spender@grsecurity.net>
48827 Date: Sat Feb 25 08:15:00 2012 -0500
48828
48829 Make use of f_version for protecting /proc file structs (fine since we're not a directory
48830 or seq_file)
48831
48832 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
48833 Author: Brad Spengler <spender@grsecurity.net>
48834 Date: Fri Feb 24 20:02:19 2012 -0500
48835
48836 Fix ia64 compilation
48837
48838 commit 50dfea412fd395e0183c2ade368efa525d38b267
48839 Merge: 12db845 4c6f99b
48840 Author: Brad Spengler <spender@grsecurity.net>
48841 Date: Fri Feb 24 19:00:53 2012 -0500
48842
48843 Merge branch 'pax-test' into grsec-test
48844
48845 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
48846 Author: Brad Spengler <spender@grsecurity.net>
48847 Date: Fri Feb 24 19:00:36 2012 -0500
48848
48849 (6:57:09 PM) pipacs: but you can be proactive
48850 (Fix other-arch atomic64/REFCOUNT compilation failures)
48851
48852 commit 12db8453f6bb0a756f369c9151668ba1249bc478
48853 Author: Brad Spengler <spender@grsecurity.net>
48854 Date: Thu Feb 23 21:10:12 2012 -0500
48855
48856 Remove unnecessary copies, as suggested by solar
48857
48858 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
48859 Author: Brad Spengler <spender@grsecurity.net>
48860 Date: Thu Feb 23 20:59:35 2012 -0500
48861
48862 Make global_exec_counter static, as suggested by solar
48863
48864 commit e642091a475ebb3a30e81f85e7751233d0c2af43
48865 Author: Brad Spengler <spender@grsecurity.net>
48866 Date: Thu Feb 23 19:00:26 2012 -0500
48867
48868 sync with stable tree
48869
48870 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
48871 Author: Brad Spengler <spender@grsecurity.net>
48872 Date: Thu Feb 23 18:48:47 2012 -0500
48873
48874 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
48875 Remove handling of old kludge in chmod/fchmod
48876
48877 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
48878 Author: Brad Spengler <spender@grsecurity.net>
48879 Date: Thu Feb 23 18:18:49 2012 -0500
48880
48881 Apply umask checks to chmod/fchmod as well, as requested by sponsor
48882 Union the enforced umask with the existing one to produce minimal privilege
48883 Change umask type to u16
48884
48885 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
48886 Author: Brad Spengler <spender@grsecurity.net>
48887 Date: Wed Feb 22 18:16:11 2012 -0500
48888
48889 Add per-role umask enforcement to RBAC, requested by a sponsor
48890
48891 commit ad5ac943fe58199f1cc475912a39edb157acb77b
48892 Merge: dda0bb5 41722e3
48893 Author: Brad Spengler <spender@grsecurity.net>
48894 Date: Mon Feb 20 20:04:42 2012 -0500
48895
48896 Merge branch 'pax-test' into grsec-test
48897
48898 commit 41722e342e116d95f3d3556d66c97c888d752d39
48899 Author: Brad Spengler <spender@grsecurity.net>
48900 Date: Mon Feb 20 20:04:00 2012 -0500
48901
48902 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
48903 KERNEXEC plugin
48904
48905 commit dda0bb57137846a476a866c60db2681aaf6052c0
48906 Merge: 4fd554e d70927a
48907 Author: Brad Spengler <spender@grsecurity.net>
48908 Date: Mon Feb 20 20:01:41 2012 -0500
48909
48910 Merge branch 'pax-test' into grsec-test
48911
48912 commit d70927afec977d489a54c106a3c3ddc32e953050
48913 Merge: 1daebf1 9d0231c
48914 Author: Brad Spengler <spender@grsecurity.net>
48915 Date: Mon Feb 20 20:01:33 2012 -0500
48916
48917 Merge branch 'linux-3.2.y' into pax-test
48918
48919 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
48920 Author: Brad Spengler <spender@grsecurity.net>
48921 Date: Mon Feb 20 09:17:57 2012 -0500
48922
48923 Fix wrong logic on capability checks for switching roles, broke policies
48924 Thanks to Richard Kojedzinszky for reporting
48925
48926 commit 12f97d52ac603f24344f8d71569c412a307e9422
48927 Author: Brad Spengler <spender@grsecurity.net>
48928 Date: Thu Feb 16 21:20:10 2012 -0500
48929
48930 sparc64 compile fix
48931
48932 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
48933 Author: Brad Spengler <spender@grsecurity.net>
48934 Date: Thu Feb 16 18:38:32 2012 -0500
48935
48936 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
48937
48938 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
48939 Author: Brad Spengler <spender@grsecurity.net>
48940 Date: Thu Feb 16 18:18:01 2012 -0500
48941
48942 optimize the check a bit
48943
48944 commit 03159050f64989be44ae03be769cbed62a7cd2e5
48945 Author: Brad Spengler <spender@grsecurity.net>
48946 Date: Thu Feb 16 18:00:45 2012 -0500
48947
48948 smile VUPEN :D
48949 (limit argv+env to 1MB for suid/sgid binaries)
48950
48951 commit dd759d8800d225a397e4de49fe729c7d601298d2
48952 Author: Brad Spengler <spender@grsecurity.net>
48953 Date: Thu Feb 16 17:49:33 2012 -0500
48954
48955 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
48956
48957 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
48958 Author: Brad Spengler <spender@grsecurity.net>
48959 Date: Thu Feb 16 17:45:06 2012 -0500
48960
48961 Change the long long type for exec_id to the proper u64
48962
48963 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
48964 Author: Dan Carpenter <dan.carpenter@oracle.com>
48965 Date: Thu Feb 9 00:46:47 2012 +0000
48966
48967 isdn: type bug in isdn_net_header()
48968
48969 We use len to store the return value from eth_header(). eth_header()
48970 can return -ETH_HLEN (-14). We want to pass this back instead of
48971 truncating it to 65522 and returning that.
48972
48973 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
48974 Acked-by: Neil Horman <nhorman@tuxdriver.com>
48975 Signed-off-by: David S. Miller <davem@davemloft.net>
48976
48977 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
48978 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
48979 Date: Sat Feb 4 10:47:10 2012 +0100
48980
48981 exec: fix use-after-free bug in setup_new_exec()
48982
48983 Setting the task name is done within setup_new_exec() by accessing
48984 bprm->filename. However this happens after flush_old_exec().
48985 This may result in a use after free bug, flush_old_exec() may
48986 "complete" vfork_done, which will wake up the parent which in turn
48987 may free the passed in filename.
48988 To fix this add a new tcomm field in struct linux_binprm which
48989 contains the now early generated task name until it is used.
48990
48991 Fixes this bug on s390:
48992
48993 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
48994 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
48995 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
48996 Call Trace:
48997 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
48998 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
48999 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
49000 [<0000000000282b6c>] do_execve_common+0x410/0x514
49001 [<0000000000282cb6>] do_execve+0x46/0x58
49002 [<00000000005bce58>] kernel_execve+0x28/0x70
49003 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
49004 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
49005 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
49006 Last Breaking-Event-Address:
49007 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
49008
49009 Kernel panic - not syncing: Fatal exception: panic_on_oops
49010
49011 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
49012 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
49013 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49014
49015 commit d758ee9f5230893dabb5aab737b3109684bde196
49016 Author: Dan Carpenter <dan.carpenter@oracle.com>
49017 Date: Fri Feb 10 09:03:58 2012 +0100
49018
49019 relay: prevent integer overflow in relay_open()
49020
49021 "subbuf_size" and "n_subbufs" come from the user and they need to be
49022 capped to prevent an integer overflow.
49023
49024 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
49025 Cc: stable@kernel.org
49026 Signed-off-by: Jens Axboe <axboe@kernel.dk>
49027
49028 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
49029 Merge: b1baadf 1daebf1
49030 Author: Brad Spengler <spender@grsecurity.net>
49031 Date: Mon Feb 13 17:47:04 2012 -0500
49032
49033 Merge branch 'pax-test' into grsec-test
49034
49035 Conflicts:
49036 fs/proc/base.c
49037
49038 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
49039 Merge: 1413df2 c2db2e2
49040 Author: Brad Spengler <spender@grsecurity.net>
49041 Date: Mon Feb 13 17:45:54 2012 -0500
49042
49043 Merge branch 'linux-3.2.y' into pax-test
49044
49045 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
49046 Author: Brad Spengler <spender@grsecurity.net>
49047 Date: Sun Feb 12 16:44:05 2012 -0500
49048
49049 add missing declaration
49050
49051 commit 3981059c35e8463002517935c28f3d74b8e3703c
49052 Author: Brad Spengler <spender@grsecurity.net>
49053 Date: Sun Feb 12 16:36:04 2012 -0500
49054
49055 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
49056 in addition to existing checks (this handles the setresuid ruid = euid case)
49057
49058 commit 0beab03263c773f463412c350ad9064b44b6ede0
49059 Author: Brad Spengler <spender@grsecurity.net>
49060 Date: Sun Feb 12 16:13:40 2012 -0500
49061
49062 Revert setreuid changes when RBAC is enabled, breaks freeradius
49063 I'll fix the learning issue Lavish reported a different way through
49064 gradm modifications
49065
49066 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
49067
49068 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
49069 Author: Brad Spengler <spender@grsecurity.net>
49070 Date: Sat Feb 11 14:22:46 2012 -0500
49071
49072 copy exec_id on fork
49073
49074 commit 000c08e0890630086b2ed04084050ed856a7ec31
49075 Author: Brad Spengler <spender@grsecurity.net>
49076 Date: Fri Feb 10 20:00:36 2012 -0500
49077
49078 compile fix
49079
49080 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
49081 Author: Brad Spengler <spender@grsecurity.net>
49082 Date: Fri Feb 10 19:19:52 2012 -0500
49083
49084 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
49085 denies reading of sensitive /proc/pid entries where the file descriptor
49086 was opened in a different task than the one performing the read
49087
49088 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
49089 Author: Brad Spengler <spender@grsecurity.net>
49090 Date: Fri Feb 10 17:43:24 2012 -0500
49091
49092 Remove duplicate signal check
49093
49094 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
49095 Merge: 4eba97e 1413df2
49096 Author: Brad Spengler <spender@grsecurity.net>
49097 Date: Wed Feb 8 19:24:34 2012 -0500
49098
49099 Merge branch 'pax-test' into grsec-test
49100
49101 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
49102 Author: Brad Spengler <spender@grsecurity.net>
49103 Date: Wed Feb 8 19:24:08 2012 -0500
49104
49105 Merge changes from pax-linux-3.2.4-test11.patch
49106
49107 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
49108 Merge: 0e058dd 8dd90a2
49109 Author: Brad Spengler <spender@grsecurity.net>
49110 Date: Mon Feb 6 17:50:12 2012 -0500
49111
49112 Merge branch 'pax-test' into grsec-test
49113
49114 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
49115 Author: Brad Spengler <spender@grsecurity.net>
49116 Date: Mon Feb 6 17:49:07 2012 -0500
49117
49118 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
49119
49120 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
49121 Merge: 7e4169c 6133971
49122 Author: Brad Spengler <spender@grsecurity.net>
49123 Date: Mon Feb 6 17:48:57 2012 -0500
49124
49125 Merge branch 'linux-3.2.y' into pax-test
49126
49127 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
49128 Author: Brad Spengler <spender@grsecurity.net>
49129 Date: Sun Feb 5 19:24:45 2012 -0500
49130
49131 We now allow configurations with no PaX markings, giving the system no way to override the defaults
49132
49133 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
49134 Author: Brad Spengler <spender@grsecurity.net>
49135 Date: Sun Feb 5 10:01:23 2012 -0500
49136
49137 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
49138
49139 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
49140 Author: Brad Spengler <spender@grsecurity.net>
49141 Date: Sat Feb 4 21:01:16 2012 -0500
49142
49143 Improve security of ptrace-based monitoring/sandboxing
49144 See:
49145 http://article.gmane.org/gmane.linux.kernel.lsm/15156
49146
49147 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
49148 Author: Brad Spengler <spender@grsecurity.net>
49149 Date: Fri Feb 3 20:42:55 2012 -0500
49150
49151 fix typo
49152
49153 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
49154 Author: Brad Spengler <spender@grsecurity.net>
49155 Date: Fri Feb 3 20:25:38 2012 -0500
49156
49157 Reported by lavish on IRC:
49158 If a suid/sgid binary did not learn any setuid/setgid call during learning,
49159 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
49160 any restrictions on uid/gid changes. uid and gid can however be changed
49161 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
49162 euid/egid.
49163
49164 My fix:
49165 POSIX doesn't specify whether unprivileged users can perform the above
49166 setresuid/setresgid as an unprivileged user, though Linux has historically
49167 permitted them. Modify this behavior when RBAC is enabled to require
49168 CAP_SETUID/CAP_SETGID for these operations.
49169
49170 Thanks to Lavish for the report!
49171
49172 Conflicts:
49173
49174 kernel/sys.c
49175
49176 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
49177 Merge: ba586eb 7e4169c
49178 Author: Brad Spengler <spender@grsecurity.net>
49179 Date: Fri Feb 3 20:10:21 2012 -0500
49180
49181 Merge branch 'pax-test' into grsec-test
49182
49183 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
49184 Author: Brad Spengler <spender@grsecurity.net>
49185 Date: Fri Feb 3 20:10:05 2012 -0500
49186
49187 Merge changes from pax-linux-3.2.4-test9.patch
49188
49189 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
49190 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
49191 Date: Thu Feb 2 11:34:09 2012 +1030
49192
49193 Fix race in process_vm_rw_core
49194
49195 This fixes the race in process_vm_core found by Oleg (see
49196
49197 http://article.gmane.org/gmane.linux.kernel/1235667/
49198
49199 for details).
49200
49201 This has been updated since I last sent it as the creation of the new
49202 mm_access() function did almost exactly the same thing as parts of the
49203 previous version of this patch did.
49204
49205 In order to use mm_access() even when /proc isn't enabled, we move it to
49206 kernel/fork.c where other related process mm access functions already
49207 are.
49208
49209 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
49210 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49211
49212 Conflicts:
49213
49214 fs/proc/base.c
49215 mm/process_vm_access.c
49216
49217 commit b9194d60fb9fe579f5c34817ed822abde18939a0
49218 Author: Oleg Nesterov <oleg@redhat.com>
49219 Date: Tue Jan 31 17:15:11 2012 +0100
49220
49221 proc: make sure mem_open() doesn't pin the target's memory
49222
49223 Once /proc/pid/mem is opened, the memory can't be released until
49224 mem_release() even if its owner exits.
49225
49226 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
49227 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
49228 before access_remote_vm(), this verifies that this mm is still alive.
49229
49230 I am not sure what should mem_rw() return if atomic_inc_not_zero()
49231 fails. With this patch it returns zero to match the "mm == NULL" case,
49232 may be it should return -EINVAL like it did before e268337d.
49233
49234 Perhaps it makes sense to add the additional fatal_signal_pending()
49235 check into the main loop, to ensure we do not hold this memory if
49236 the target task was oom-killed.
49237
49238 Cc: stable@kernel.org
49239 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
49240 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49241
49242 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
49243 Author: Oleg Nesterov <oleg@redhat.com>
49244 Date: Tue Jan 31 17:14:38 2012 +0100
49245
49246 proc: mem_release() should check mm != NULL
49247
49248 mem_release() can hit mm == NULL, add the necessary check.
49249
49250 Cc: stable@kernel.org
49251 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
49252 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49253
49254 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
49255 Author: Oleg Nesterov <oleg@redhat.com>
49256 Date: Tue Jan 31 17:14:54 2012 +0100
49257
49258 note: redisabled mem_write
49259
49260 proc: unify mem_read() and mem_write()
49261
49262 No functional changes, cleanup and preparation.
49263
49264 mem_read() and mem_write() are very similar. Move this code into the
49265 new common helper, mem_rw(), which takes the additional "int write"
49266 argument.
49267
49268 Cc: stable@kernel.org
49269 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
49270 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49271
49272 Conflicts:
49273
49274 fs/proc/base.c
49275
49276 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
49277 Merge: 3903f01 01fee18
49278 Author: Brad Spengler <spender@grsecurity.net>
49279 Date: Fri Feb 3 19:50:40 2012 -0500
49280
49281 Merge branch 'pax-test' into grsec-test
49282
49283 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
49284 Author: Brad Spengler <spender@grsecurity.net>
49285 Date: Fri Feb 3 19:49:46 2012 -0500
49286
49287 Merge changes from pax-linux-3.2.4-test8.patch
49288
49289 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
49290 Merge: 201c0db 141936c
49291 Author: Brad Spengler <spender@grsecurity.net>
49292 Date: Fri Feb 3 19:49:01 2012 -0500
49293
49294 Merge branch 'linux-3.2.y' into pax-test
49295
49296 commit 3903f0172ecadf7a575ba3535402a1506133640a
49297 Author: Brad Spengler <spender@grsecurity.net>
49298 Date: Mon Jan 30 23:26:44 2012 -0500
49299
49300 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
49301
49302 We'll whitelist required directories for compatibility instead of requiring
49303 that people disable the feature entirely if they use SELinux, fuse, etc
49304
49305 Conflicts:
49306
49307 fs/sysfs/mount.c
49308
49309 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
49310 Author: Brad Spengler <spender@grsecurity.net>
49311 Date: Sun Jan 29 01:12:19 2012 -0500
49312
49313 perform RBAC check if TPE is on but match fails, matches previous behavior
49314
49315 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
49316 Author: Brad Spengler <spender@grsecurity.net>
49317 Date: Sat Jan 28 13:17:06 2012 -0500
49318
49319 log more information about the reason for a TPE denial for novice users, requested by a sponsor
49320
49321 commit efefd67008cbad8a8591e2484410966a300a39a5
49322 Author: Brad Spengler <spender@grsecurity.net>
49323 Date: Fri Jan 27 19:58:53 2012 -0500
49324
49325 merge upstream sha512 changes
49326
49327 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
49328 Author: Brad Spengler <spender@grsecurity.net>
49329 Date: Fri Jan 27 19:49:07 2012 -0500
49330
49331 drop lock on error in xfs_readlink
49332
49333 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
49334
49335 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
49336 Author: Li Wang <liwang@nudt.edu.cn>
49337 Date: Thu Jan 19 09:44:36 2012 +0800
49338
49339 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
49340
49341 ecryptfs_write() can enter an infinite loop when truncating a file to a
49342 size larger than 4G. This only happens on architectures where size_t is
49343 represented by 32 bits.
49344
49345 This was caused by a size_t overflow due to it incorrectly being used to
49346 store the result of a calculation which uses potentially large values of
49347 type loff_t.
49348
49349 [tyhicks@canonical.com: rewrite subject and commit message]
49350 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
49351 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
49352 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
49353 Cc: <stable@vger.kernel.org>
49354 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
49355
49356 commit a7607747d0f74f357d78bb796d70635dd05f46e8
49357 Author: Tyler Hicks <tyhicks@canonical.com>
49358 Date: Thu Jan 19 20:33:44 2012 -0600
49359
49360 eCryptfs: Check inode changes in setattr
49361
49362 Most filesystems call inode_change_ok() very early in ->setattr(), but
49363 eCryptfs didn't call it at all. It allowed the lower filesystem to make
49364 the call in its ->setattr() function. Then, eCryptfs would copy the
49365 appropriate inode attributes from the lower inode to the eCryptfs inode.
49366
49367 This patch changes that and actually calls inode_change_ok() on the
49368 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
49369 would happen earlier in ecryptfs_setattr(), but there are some possible
49370 inode initialization steps that must happen first.
49371
49372 Since the call was already being made on the lower inode, the change in
49373 functionality should be minimal, except for the case of a file extending
49374 truncate call. In that case, inode_newsize_ok() was never being
49375 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
49376 maximum file size errors early on, eCryptfs would encrypt zeroed pages
49377 and write them to the lower filesystem until the lower filesystem's
49378 write path caught the error in generic_write_checks(). This patch
49379 introduces a new function, called ecryptfs_inode_newsize_ok(), which
49380 checks if the new lower file size is within the appropriate limits when
49381 the truncate operation will be growing the lower file.
49382
49383 In summary this change prevents eCryptfs truncate operations (and the
49384 resulting page encryptions), which would exceed the lower filesystem
49385 limits or FSIZE rlimits, from ever starting.
49386
49387 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
49388 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
49389 Cc: <stable@vger.kernel.org>
49390
49391 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
49392 Author: Tyler Hicks <tyhicks@canonical.com>
49393 Date: Wed Jan 18 18:30:04 2012 -0600
49394
49395 eCryptfs: Make truncate path killable
49396
49397 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
49398 page, zeroes out the appropriate portions, and then encrypts the page
49399 before writing it to the lower filesystem. It was unkillable and due to
49400 the lack of sparse file support could result in tying up a large portion
49401 of system resources, while encrypting pages of zeros, with no way for
49402 the truncate operation to be stopped from userspace.
49403
49404 This patch adds the ability for ecryptfs_write() to detect a pending
49405 fatal signal and return as gracefully as possible. The intent is to
49406 leave the lower file in a useable state, while still allowing a user to
49407 break out of the encryption loop. If a pending fatal signal is detected,
49408 the eCryptfs inode size is updated to reflect the modified inode size
49409 and then -EINTR is returned.
49410
49411 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
49412 Cc: <stable@vger.kernel.org>
49413
49414 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
49415 Author: Tyler Hicks <tyhicks@canonical.com>
49416 Date: Tue Jan 24 10:02:22 2012 -0600
49417
49418 eCryptfs: Fix oops when printing debug info in extent crypto functions
49419
49420 If pages passed to the eCryptfs extent-based crypto functions are not
49421 mapped and the module parameter ecryptfs_verbosity=1 was specified at
49422 loading time, a NULL pointer dereference will occur.
49423
49424 Note that this wouldn't happen on a production system, as you wouldn't
49425 pass ecryptfs_verbosity=1 on a production system. It leaks private
49426 information to the system logs and is for debugging only.
49427
49428 The debugging info printed in these messages is no longer very useful
49429 and rather than doing a kmap() in these debugging paths, it will be
49430 better to simply remove the debugging paths completely.
49431
49432 https://launchpad.net/bugs/913651
49433
49434 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
49435 Reported-by: Daniel DeFreez
49436 Cc: <stable@vger.kernel.org>
49437
49438 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
49439 Author: Tyler Hicks <tyhicks@canonical.com>
49440 Date: Thu Jan 12 11:30:44 2012 +0100
49441
49442 eCryptfs: Sanitize write counts of /dev/ecryptfs
49443
49444 A malicious count value specified when writing to /dev/ecryptfs may
49445 result in a a very large kernel memory allocation.
49446
49447 This patch peeks at the specified packet payload size, adds that to the
49448 size of the packet headers and compares the result with the write count
49449 value. The resulting maximum memory allocation size is approximately 532
49450 bytes.
49451
49452 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
49453 Reported-by: Sasha Levin <levinsasha928@gmail.com>
49454 Cc: <stable@vger.kernel.org>
49455
49456 commit 96dcb7282d323813181a1791f51c0ab7696b675b
49457 Merge: 6c09fa5 201c0db
49458 Author: Brad Spengler <spender@grsecurity.net>
49459 Date: Fri Jan 27 19:44:15 2012 -0500
49460
49461 Merge branch 'pax-test' into grsec-test
49462
49463 commit 201c0dbf177527367676028151e36d340923f033
49464 Author: Brad Spengler <spender@grsecurity.net>
49465 Date: Fri Jan 27 19:43:24 2012 -0500
49466
49467 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
49468 on loading modules with empty sections
49469
49470 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
49471 Author: Brad Spengler <spender@grsecurity.net>
49472 Date: Fri Jan 27 19:42:13 2012 -0500
49473
49474 compile fix
49475
49476 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
49477 Author: Brad Spengler <spender@grsecurity.net>
49478 Date: Fri Jan 27 19:39:28 2012 -0500
49479
49480 use LSM flags instead of duplicating checks
49481
49482 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
49483 Merge: 44b9f11 558718b
49484 Author: Brad Spengler <spender@grsecurity.net>
49485 Date: Fri Jan 27 18:56:23 2012 -0500
49486
49487 Merge branch 'pax-test' into grsec-test
49488
49489 commit 558718b2217beff69edf60f34a6f9893d910e9ac
49490 Author: Brad Spengler <spender@grsecurity.net>
49491 Date: Fri Jan 27 18:56:04 2012 -0500
49492
49493 Merge changes from pax-linux-3.2.2-test6.patch
49494
49495 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
49496 Author: Brad Spengler <spender@grsecurity.net>
49497 Date: Fri Jan 27 18:53:55 2012 -0500
49498
49499 don't increase the size of task_struct when unnecessary
49500 change ptrace_readexec log message
49501
49502 commit a9c9626e054adb885883aa64f85506852894dd33
49503 Author: Brad Spengler <spender@grsecurity.net>
49504 Date: Fri Jan 27 18:16:28 2012 -0500
49505
49506 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
49507 the protection applies to all unreadable binaries.
49508
49509 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
49510 Merge: 7b3f3af 05a1349
49511 Author: Brad Spengler <spender@grsecurity.net>
49512 Date: Wed Jan 25 20:52:09 2012 -0500
49513
49514 Merge branch 'pax-test' into grsec-test
49515
49516 Conflicts:
49517 block/scsi_ioctl.c
49518 drivers/scsi/sd.c
49519 fs/proc/base.c
49520
49521 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
49522 Author: Brad Spengler <spender@grsecurity.net>
49523 Date: Wed Jan 25 20:47:36 2012 -0500
49524
49525 Resync with pax-linux-3.2.2-test5.patch
49526
49527 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
49528 Merge: c6d443d 3499d64
49529 Author: Brad Spengler <spender@grsecurity.net>
49530 Date: Wed Jan 25 20:45:16 2012 -0500
49531
49532 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
49533
49534 Conflicts:
49535 ipc/shm.c
49536
49537 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
49538 Author: Brad Spengler <spender@grsecurity.net>
49539 Date: Tue Jan 24 19:42:01 2012 -0500
49540
49541 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
49542 (may be changed if it breaks some userland), the other has its own
49543 config option
49544
49545 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
49546 the syscall or /proc/sys.
49547
49548 Second feature requires read access to a suid/sgid binary in order
49549 to ptrace it, preventing infoleaking of binaries in situations where
49550 the admin has specified 4711 or 2711 perms. Feature has been
49551 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
49552 a sysctl entry of ptrace_readexec
49553
49554 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
49555 Author: Brad Spengler <spender@grsecurity.net>
49556 Date: Sun Jan 22 14:37:10 2012 -0500
49557
49558 Compilation fixes
49559
49560 commit cd400e21c7c352baba47d6f375297a7847afb33a
49561 Author: Brad Spengler <spender@grsecurity.net>
49562 Date: Sun Jan 22 14:20:27 2012 -0500
49563
49564 Initial port of grsecurity 2.2.2 for Linux 3.2.1
49565 Note that the new syscalls added to this kernel for remote process read/write
49566 are subject to ptrace hardening/other relevant RBAC features
49567 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
49568 as well
49569 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
49570 you should be using a version of gcc with plugin support
49571
49572 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
49573 Author: Brad Spengler <spender@grsecurity.net>
49574 Date: Sun Jan 22 11:47:31 2012 -0500
49575
49576 Import pax-linux-3.2.1-test5.patch
49577 commit bfd7db842f835f9837cd43644459b3a95b0b488d
49578 Author: Brad Spengler <spender@grsecurity.net>
49579 Date: Sun Jan 22 11:02:02 2012 -0500
49580
49581 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
49582 instead of returning -EACCES
49583 thanks to Wraith from irc for the report
49584
49585 commit 873ac13576506cd48ddb527c2540f274e249da50
49586 Merge: 34083dd 8a44fcc
49587 Author: Brad Spengler <spender@grsecurity.net>
49588 Date: Fri Jan 20 18:04:02 2012 -0500
49589
49590 Merge branch 'pax-test' into grsec-test
49591
49592 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
49593 Author: Brad Spengler <spender@grsecurity.net>
49594 Date: Fri Jan 20 18:02:15 2012 -0500
49595
49596 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
49597 Denies executable shared memory when MPROTECT is active
49598 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
49599
49600 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
49601 Author: Brad Spengler <spender@grsecurity.net>
49602 Date: Thu Jan 19 20:23:14 2012 -0500
49603
49604 Introduce new GRKERNSEC_SETXID implementation
49605 We're not able to change the credentials of other threads in the process until at most
49606 one syscall after the first thread does it, since we mark the threads as needing rescheduling
49607 and such work occurs on syscall exit.
49608 This does however ensure that we're only modifying the current task's credentials
49609 which upholds RCU expectations
49610
49611 Many thanks to corsac for testing
49612
49613 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
49614 Author: Brad Spengler <spender@grsecurity.net>
49615 Date: Thu Jan 19 17:42:48 2012 -0500
49616
49617 Simplify backport
49618
49619 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
49620 Author: Brad Spengler <spender@grsecurity.net>
49621 Date: Thu Jan 19 17:08:16 2012 -0500
49622
49623 Commit the latest silent fix for a local privilege escalation from Linus
49624 Also disable writing to /proc/pid/mem
49625 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
49626
49627 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
49628 Merge: 0394a3f 7e6299b
49629 Author: Brad Spengler <spender@grsecurity.net>
49630 Date: Wed Jan 18 20:22:09 2012 -0500
49631
49632 Merge branch 'pax-test' into grsec-test
49633
49634 commit 7e6299b4733c082dde930375dd207b63237751ec
49635 Merge: 83555fb 9bb1282
49636 Author: Brad Spengler <spender@grsecurity.net>
49637 Date: Wed Jan 18 20:21:37 2012 -0500
49638
49639 Merge branch 'linux-3.1.y' into pax-test
49640
49641 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
49642 Author: Jesper Juhl <jj@chaosbits.net>
49643 Date: Sun Jan 8 22:44:29 2012 +0100
49644
49645 audit: always follow va_copy() with va_end()
49646
49647 A call to va_copy() should always be followed by a call to va_end() in
49648 the same function. In kernel/autit.c::audit_log_vformat() this is not
49649 always done. This patch makes sure va_end() is always called.
49650
49651 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
49652 Cc: Al Viro <viro@zeniv.linux.org.uk>
49653 Cc: Eric Paris <eparis@redhat.com>
49654 Cc: Andrew Morton <akpm@linux-foundation.org>
49655 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49656
49657 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
49658 Author: Andi Kleen <ak@linux.intel.com>
49659 Date: Thu Jan 12 17:20:30 2012 -0800
49660
49661 panic: don't print redundant backtraces on oops
49662
49663 When an oops causes a panic and panic prints another backtrace it's pretty
49664 common to have the original oops data be scrolled away on a 80x50 screen.
49665
49666 The second backtrace is quite redundant and not needed anyways.
49667
49668 So don't print the panic backtrace when oops_in_progress is true.
49669
49670 [akpm@linux-foundation.org: add comment]
49671 Signed-off-by: Andi Kleen <ak@linux.intel.com>
49672 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
49673 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
49674 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49675
49676 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
49677 Author: Miklos Szeredi <mszeredi@suse.cz>
49678 Date: Thu Jan 12 17:59:46 2012 +0100
49679
49680 fsnotify: don't BUG in fsnotify_destroy_mark()
49681
49682 Removing the parent of a watched file results in "kernel BUG at
49683 fs/notify/mark.c:139".
49684
49685 To reproduce
49686
49687 add "-w /tmp/audit/dir/watched_file" to audit.rules
49688 rm -rf /tmp/audit/dir
49689
49690 This is caused by fsnotify_destroy_mark() being called without an
49691 extra reference taken by the caller.
49692
49693 Reported by Francesco Cosoleto here:
49694
49695 https://bugzilla.novell.com/show_bug.cgi?id=689860
49696
49697 Fix by removing the BUG_ON and adding a comment about not accessing mark after
49698 the iput.
49699
49700 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
49701 CC: stable@vger.kernel.org
49702 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49703
49704 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
49705 Author: Paolo Bonzini <pbonzini@redhat.com>
49706 Date: Thu Jan 12 16:01:28 2012 +0100
49707
49708 block: fail SCSI passthrough ioctls on partition devices
49709
49710 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
49711 will pass the command to the underlying block device. This is
49712 well-known, but it is also a large security problem when (via Unix
49713 permissions, ACLs, SELinux or a combination thereof) a program or user
49714 needs to be granted access only to part of the disk.
49715
49716 This patch lets partitions forward a small set of harmless ioctls;
49717 others are logged with printk so that we can see which ioctls are
49718 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
49719 Of course it was being sent to a (partition on a) hard disk, so it would
49720 have failed with ENOTTY and the patch isn't changing anything in
49721 practice. Still, I'm treating it specially to avoid spamming the logs.
49722
49723 In principle, this restriction should include programs running with
49724 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
49725 /dev/sdb, it still should not be able to read/write outside the
49726 boundaries of /dev/sda2 independent of the capabilities. However, for
49727 now programs with CAP_SYS_RAWIO will still be allowed to send the
49728 ioctls. Their actions will still be logged.
49729
49730 This patch does not affect the non-libata IDE driver. That driver
49731 however already tests for bd != bd->bd_contains before issuing some
49732 ioctl; it could be restricted further to forbid these ioctls even for
49733 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
49734
49735 Cc: linux-scsi@vger.kernel.org
49736 Cc: Jens Axboe <axboe@kernel.dk>
49737 Cc: James Bottomley <JBottomley@parallels.com>
49738 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
49739 [ Make it also print the command name when warning - Linus ]
49740 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49741
49742 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
49743 Author: Paolo Bonzini <pbonzini@redhat.com>
49744 Date: Thu Jan 12 16:01:27 2012 +0100
49745
49746 block: add and use scsi_blk_cmd_ioctl
49747
49748 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
49749
49750 The function will then be enhanced to detect partition block devices
49751 and, in that case, subject the ioctls to whitelisting.
49752
49753 Cc: linux-scsi@vger.kernel.org
49754 Cc: Jens Axboe <axboe@kernel.dk>
49755 Cc: James Bottomley <JBottomley@parallels.com>
49756 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
49757 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
49758
49759 commit 97a79814903fc350e1d13704ea31528a42705401
49760 Author: Kees Cook <keescook@chromium.org>
49761 Date: Sat Jan 7 10:41:04 2012 -0800
49762
49763 audit: treat s_id as an untrusted string
49764
49765 The use of s_id should go through the untrusted string path, just to be
49766 extra careful.
49767
49768 Signed-off-by: Kees Cook <keescook@chromium.org>
49769 Acked-by: Mimi Zohar <zohar@us.ibm.com>
49770 Signed-off-by: Eric Paris <eparis@redhat.com>
49771
49772 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
49773 Author: Xi Wang <xi.wang@gmail.com>
49774 Date: Tue Dec 20 18:39:41 2011 -0500
49775
49776 audit: fix signedness bug in audit_log_execve_info()
49777
49778 In the loop, a size_t "len" is used to hold the return value of
49779 audit_log_single_execve_arg(), which returns -1 on error. In that
49780 case the error handling (len <= 0) will be bypassed since "len" is
49781 unsigned, and the loop continues with (p += len) being wrapped.
49782 Change the type of "len" to signed int to fix the error handling.
49783
49784 size_t len;
49785 ...
49786 for (...) {
49787 len = audit_log_single_execve_arg(...);
49788 if (len <= 0)
49789 break;
49790 p += len;
49791 }
49792
49793 Signed-off-by: Xi Wang <xi.wang@gmail.com>
49794 Signed-off-by: Eric Paris <eparis@redhat.com>
49795
49796 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
49797 Author: Dan Carpenter <dan.carpenter@oracle.com>
49798 Date: Tue Jan 17 03:28:51 2012 -0300
49799
49800 [media] ds3000: using logical && instead of bitwise &
49801
49802 The intent here was to test if the FE_HAS_LOCK was set. The current
49803 test is equivalent to "if (status) { ..."
49804
49805 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
49806 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
49807
49808 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
49809 Author: Brad Spengler <spender@grsecurity.net>
49810 Date: Mon Jan 16 13:10:38 2012 -0500
49811
49812 Ignore the 0 signal for protected task RBAC checks
49813
49814 commit d513acd55f7a683f6e146a4f570cdb63300479ab
49815 Author: Brad Spengler <spender@grsecurity.net>
49816 Date: Mon Jan 16 11:56:13 2012 -0500
49817
49818 whitespace cleanup
49819
49820 commit ced261c4b82818c700aff8487f647f6f3e5b5122
49821 Merge: d48751f 83555fb
49822 Author: Brad Spengler <spender@grsecurity.net>
49823 Date: Fri Jan 13 20:12:54 2012 -0500
49824
49825 Merge branch 'pax-test' into grsec-test
49826
49827 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
49828 Merge: fcd8129 93dad39
49829 Author: Brad Spengler <spender@grsecurity.net>
49830 Date: Fri Jan 13 20:12:43 2012 -0500
49831
49832 Merge branch 'linux-3.1.y' into pax-test
49833
49834 commit d48751f3919ae855fda0ff6c149db82442329253
49835 Author: Brad Spengler <spender@grsecurity.net>
49836 Date: Wed Jan 11 19:05:47 2012 -0500
49837
49838 Call our own set_user when forcing change to new id
49839
49840 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
49841 Merge: e6578ff fcd8129
49842 Author: Brad Spengler <spender@grsecurity.net>
49843 Date: Tue Jan 10 16:00:10 2012 -0500
49844
49845 Merge branch 'pax-test' into grsec-test
49846
49847 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
49848 Author: Brad Spengler <spender@grsecurity.net>
49849 Date: Tue Jan 10 15:58:43 2012 -0500
49850
49851 Merge changes from pax-linux-3.1.8-test23.patch
49852
49853 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
49854 Merge: 8859ec3 a120549
49855 Author: Brad Spengler <spender@grsecurity.net>
49856 Date: Fri Jan 6 21:45:56 2012 -0500
49857
49858 Merge branch 'pax-test' into grsec-test
49859
49860 commit a12054967a77090de1caa07c41e694a77db4e237
49861 Author: Brad Spengler <spender@grsecurity.net>
49862 Date: Fri Jan 6 21:45:30 2012 -0500
49863
49864 Merge changes from pax-linux-3.1.8-test22.patch
49865
49866 commit 8859ec32f9815c274df65448f9f2960176c380d3
49867 Merge: a5016b4 ddd4114
49868 Author: Brad Spengler <spender@grsecurity.net>
49869 Date: Fri Jan 6 21:26:08 2012 -0500
49870
49871 Merge branch 'pax-test' into grsec-test
49872
49873 Conflicts:
49874 fs/binfmt_elf.c
49875 security/Kconfig
49876
49877 commit ddd41147e158a79704983a409b7433eba797cf66
49878 Author: Brad Spengler <spender@grsecurity.net>
49879 Date: Fri Jan 6 21:12:42 2012 -0500
49880
49881 Resync with PaX patch (whitespace difference)
49882
49883 commit 29e569df8205c5f0e043fe4803aa984406c8b118
49884 Author: Brad Spengler <spender@grsecurity.net>
49885 Date: Fri Jan 6 21:09:47 2012 -0500
49886
49887 Merge changes from pax-linux-3.1.8-test21.patch
49888
49889 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
49890 Merge: 0124c92 04231d5
49891 Author: Brad Spengler <spender@grsecurity.net>
49892 Date: Fri Jan 6 18:52:20 2012 -0500
49893
49894 Merge branch 'pax-test' into grsec-test
49895
49896 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
49897 Merge: 7bdddeb a919904
49898 Author: Brad Spengler <spender@grsecurity.net>
49899 Date: Fri Jan 6 18:51:50 2012 -0500
49900
49901 Merge branch 'linux-3.1.y' into pax-test
49902
49903 Conflicts:
49904 include/net/flow.h
49905
49906 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
49907 Author: Brad Spengler <spender@grsecurity.net>
49908 Date: Fri Jan 6 18:33:05 2012 -0500
49909
49910 Make GRKERNSEC_SETXID option compatible with credential debugging
49911
49912 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
49913 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
49914 Date: Wed Dec 28 15:57:11 2011 -0800
49915
49916 mm/mempolicy.c: refix mbind_range() vma issue
49917
49918 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
49919 slightly incorrect fix.
49920
49921 Why? Think following case.
49922
49923 1. map 4 pages of a file at offset 0
49924
49925 [0123]
49926
49927 2. map 2 pages just after the first mapping of the same file but with
49928 page offset 2
49929
49930 [0123][23]
49931
49932 3. mbind() 2 pages from the first mapping at offset 2.
49933 mbind_range() should treat new vma is,
49934
49935 [0123][23]
49936 |23|
49937 mbind vma
49938
49939 but it does
49940
49941 [0123][23]
49942 |01|
49943 mbind vma
49944
49945 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
49946
49947 This patch fixes it.
49948
49949 [testcase]
49950 test result - before the patch
49951
49952 case4: 126: test failed. expect '2,4', actual '2,2,2'
49953 case5: passed
49954 case6: passed
49955 case7: passed
49956 case8: passed
49957 case_n: 246: test failed. expect '4,2', actual '1,4'
49958
49959 ------------[ cut here ]------------
49960 kernel BUG at mm/filemap.c:135!
49961 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
49962
49963 (snip long bug on messages)
49964
49965 test result - after the patch
49966
49967 case4: passed
49968 case5: passed
49969 case6: passed
49970 case7: passed
49971 case8: passed
49972 case_n: passed
49973
49974 source: mbind_vma_test.c
49975 ============================================================
49976 #include <numaif.h>
49977 #include <numa.h>
49978 #include <sys/mman.h>
49979 #include <stdio.h>
49980 #include <unistd.h>
49981 #include <stdlib.h>
49982 #include <string.h>
49983
49984 static unsigned long pagesize;
49985 void* mmap_addr;
49986 struct bitmask *nmask;
49987 char buf[1024];
49988 FILE *file;
49989 char retbuf[10240] = "";
49990 int mapped_fd;
49991
49992 char *rubysrc = "ruby -e '\
49993 pid = %d; \
49994 vstart = 0x%llx; \
49995 vend = 0x%llx; \
49996 s = `pmap -q #{pid}`; \
49997 rary = []; \
49998 s.each_line {|line|; \
49999 ary=line.split(\" \"); \
50000 addr = ary[0].to_i(16); \
50001 if(vstart <= addr && addr < vend) then \
50002 rary.push(ary[1].to_i()/4); \
50003 end; \
50004 }; \
50005 print rary.join(\",\"); \
50006 '";
50007
50008 void init(void)
50009 {
50010 void* addr;
50011 char buf[128];
50012
50013 nmask = numa_allocate_nodemask();
50014 numa_bitmask_setbit(nmask, 0);
50015
50016 pagesize = getpagesize();
50017
50018 sprintf(buf, "%s", "mbind_vma_XXXXXX");
50019 mapped_fd = mkstemp(buf);
50020 if (mapped_fd == -1)
50021 perror("mkstemp "), exit(1);
50022 unlink(buf);
50023
50024 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
50025 perror("lseek "), exit(1);
50026 if (write(mapped_fd, "\0", 1) < 0)
50027 perror("write "), exit(1);
50028
50029 addr = mmap(NULL, pagesize*8, PROT_NONE,
50030 MAP_SHARED, mapped_fd, 0);
50031 if (addr == MAP_FAILED)
50032 perror("mmap "), exit(1);
50033
50034 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
50035 perror("mprotect "), exit(1);
50036
50037 mmap_addr = addr + pagesize;
50038
50039 /* make page populate */
50040 memset(mmap_addr, 0, pagesize*6);
50041 }
50042
50043 void fin(void)
50044 {
50045 void* addr = mmap_addr - pagesize;
50046 munmap(addr, pagesize*8);
50047
50048 memset(buf, 0, sizeof(buf));
50049 memset(retbuf, 0, sizeof(retbuf));
50050 }
50051
50052 void mem_bind(int index, int len)
50053 {
50054 int err;
50055
50056 err = mbind(mmap_addr+pagesize*index, pagesize*len,
50057 MPOL_BIND, nmask->maskp, nmask->size, 0);
50058 if (err)
50059 perror("mbind "), exit(err);
50060 }
50061
50062 void mem_interleave(int index, int len)
50063 {
50064 int err;
50065
50066 err = mbind(mmap_addr+pagesize*index, pagesize*len,
50067 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
50068 if (err)
50069 perror("mbind "), exit(err);
50070 }
50071
50072 void mem_unbind(int index, int len)
50073 {
50074 int err;
50075
50076 err = mbind(mmap_addr+pagesize*index, pagesize*len,
50077 MPOL_DEFAULT, NULL, 0, 0);
50078 if (err)
50079 perror("mbind "), exit(err);
50080 }
50081
50082 void Assert(char *expected, char *value, char *name, int line)
50083 {
50084 if (strcmp(expected, value) == 0) {
50085 fprintf(stderr, "%s: passed\n", name);
50086 return;
50087 }
50088 else {
50089 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
50090 name, line,
50091 expected, value);
50092 // exit(1);
50093 }
50094 }
50095
50096 /*
50097 AAAA
50098 PPPPPPNNNNNN
50099 might become
50100 PPNNNNNNNNNN
50101 case 4 below
50102 */
50103 void case4(void)
50104 {
50105 init();
50106 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
50107
50108 mem_bind(0, 4);
50109 mem_unbind(2, 2);
50110
50111 file = popen(buf, "r");
50112 fread(retbuf, sizeof(retbuf), 1, file);
50113 Assert("2,4", retbuf, "case4", __LINE__);
50114
50115 fin();
50116 }
50117
50118 /*
50119 AAAA
50120 PPPPPPNNNNNN
50121 might become
50122 PPPPPPPPPPNN
50123 case 5 below
50124 */
50125 void case5(void)
50126 {
50127 init();
50128 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
50129
50130 mem_bind(0, 2);
50131 mem_bind(2, 2);
50132
50133 file = popen(buf, "r");
50134 fread(retbuf, sizeof(retbuf), 1, file);
50135 Assert("4,2", retbuf, "case5", __LINE__);
50136
50137 fin();
50138 }
50139
50140 /*
50141 AAAA
50142 PPPPNNNNXXXX
50143 might become
50144 PPPPPPPPPPPP 6
50145 */
50146 void case6(void)
50147 {
50148 init();
50149 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
50150
50151 mem_bind(0, 2);
50152 mem_bind(4, 2);
50153 mem_bind(2, 2);
50154
50155 file = popen(buf, "r");
50156 fread(retbuf, sizeof(retbuf), 1, file);
50157 Assert("6", retbuf, "case6", __LINE__);
50158
50159 fin();
50160 }
50161
50162 /*
50163 AAAA
50164 PPPPNNNNXXXX
50165 might become
50166 PPPPPPPPXXXX 7
50167 */
50168 void case7(void)
50169 {
50170 init();
50171 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
50172
50173 mem_bind(0, 2);
50174 mem_interleave(4, 2);
50175 mem_bind(2, 2);
50176
50177 file = popen(buf, "r");
50178 fread(retbuf, sizeof(retbuf), 1, file);
50179 Assert("4,2", retbuf, "case7", __LINE__);
50180
50181 fin();
50182 }
50183
50184 /*
50185 AAAA
50186 PPPPNNNNXXXX
50187 might become
50188 PPPPNNNNNNNN 8
50189 */
50190 void case8(void)
50191 {
50192 init();
50193 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
50194
50195 mem_bind(0, 2);
50196 mem_interleave(4, 2);
50197 mem_interleave(2, 2);
50198
50199 file = popen(buf, "r");
50200 fread(retbuf, sizeof(retbuf), 1, file);
50201 Assert("2,4", retbuf, "case8", __LINE__);
50202
50203 fin();
50204 }
50205
50206 void case_n(void)
50207 {
50208 init();
50209 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
50210
50211 /* make redundunt mappings [0][1234][34][7] */
50212 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
50213 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
50214
50215 /* Expect to do nothing. */
50216 mem_unbind(2, 2);
50217
50218 file = popen(buf, "r");
50219 fread(retbuf, sizeof(retbuf), 1, file);
50220 Assert("4,2", retbuf, "case_n", __LINE__);
50221
50222 fin();
50223 }
50224
50225 int main(int argc, char** argv)
50226 {
50227 case4();
50228 case5();
50229 case6();
50230 case7();
50231 case8();
50232 case_n();
50233
50234 return 0;
50235 }
50236 =============================================================
50237
50238 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
50239 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
50240 Cc: Minchan Kim <minchan.kim@gmail.com>
50241 Cc: Caspar Zhang <caspar@casparzhang.com>
50242 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
50243 Cc: Christoph Lameter <cl@linux.com>
50244 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
50245 Cc: Mel Gorman <mel@csn.ul.ie>
50246 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
50247 Cc: <stable@vger.kernel.org> [3.1.x]
50248 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
50249 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
50250
50251 commit f3a1082005781777086df235049f8c0b7efe524e
50252 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
50253 Date: Tue Dec 27 22:32:41 2011 -0500
50254
50255 packet: fix possible dev refcnt leak when bind fail
50256
50257 If bind is fail when bind is called after set PACKET_FANOUT
50258 sock option, the dev refcnt will leak.
50259
50260 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
50261 Signed-off-by: David S. Miller <davem@davemloft.net>
50262
50263 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
50264 Author: Haogang Chen <haogangchen@gmail.com>
50265 Date: Mon Dec 19 17:11:56 2011 -0800
50266
50267 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
50268
50269 There is a potential integer overflow in nilfs_ioctl_clean_segments().
50270 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
50271 call to vmalloc() will allocate a buffer smaller than expected, which
50272 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
50273 lfs_clean_segments().
50274
50275 The following check does not prevent the overflow because nsegs is also
50276 controlled by the userspace and could be very large.
50277
50278 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
50279 goto out_free;
50280
50281 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
50282 returns -EINVAL when overflow.
50283
50284 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
50285 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
50286 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
50287 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
50288
50289 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
50290 Author: Kautuk Consul <consul.kautuk@gmail.com>
50291 Date: Mon Dec 19 17:12:04 2011 -0800
50292
50293 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
50294
50295 Static storage is not required for the struct vmap_area in
50296 __get_vm_area_node.
50297
50298 Removing "static" to store this variable on the stack instead.
50299
50300 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
50301 Acked-by: David Rientjes <rientjes@google.com>
50302 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
50303 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
50304
50305 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
50306 Author: Michel Lespinasse <walken@google.com>
50307 Date: Mon Dec 19 17:12:06 2011 -0800
50308
50309 binary_sysctl(): fix memory leak
50310
50311 binary_sysctl() calls sysctl_getname() which allocates from names_cache
50312 slab usin __getname()
50313
50314 The matching function to free the name is __putname(), and not putname()
50315 which should be used only to match getname() allocations.
50316
50317 This is because when auditing is enabled, putname() calls audit_putname
50318 *instead* (not in addition) to __putname(). Then, if a syscall is in
50319 progress, audit_putname does not release the name - instead, it expects
50320 the name to get released when the syscall completes, but that will happen
50321 only if audit_getname() was called previously, i.e. if the name was
50322 allocated with getname() rather than the naked __getname(). So,
50323 __getname() followed by putname() ends up leaking memory.
50324
50325 Signed-off-by: Michel Lespinasse <walken@google.com>
50326 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
50327 Cc: Christoph Hellwig <hch@infradead.org>
50328 Cc: Eric Paris <eparis@redhat.com>
50329 Cc: <stable@vger.kernel.org>
50330 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
50331 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
50332
50333 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
50334 Author: Sean Hefty <sean.hefty@intel.com>
50335 Date: Tue Dec 6 21:17:11 2011 +0000
50336
50337 RDMA/cma: Verify private data length
50338
50339 private_data_len is defined as a u8. If the user specifies a large
50340 private_data size (> 220 bytes), we will calculate a total length that
50341 exceeds 255, resulting in private_data_len wrapping back to 0. This
50342 can lead to overwriting random kernel memory. Avoid this by verifying
50343 that the resulting size fits into a u8.
50344
50345 Reported-by: B. Thery <benjamin.thery@bull.net>
50346 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
50347 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
50348 Signed-off-by: Roland Dreier <roland@purestorage.com>
50349
50350 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
50351 Author: Xi Wang <xi.wang@gmail.com>
50352 Date: Sun Dec 11 23:40:56 2011 -0800
50353
50354 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
50355
50356 The error check (intr_status < 0) didn't work because intr_status is
50357 a u8. Change its type to signed int.
50358
50359 Signed-off-by: Xi Wang <xi.wang@gmail.com>
50360 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
50361
50362 commit e27f34e383d7863b2528a63b81b23db09781f6b6
50363 Author: Xi Wang <xi.wang@gmail.com>
50364 Date: Fri Dec 16 12:44:15 2011 +0000
50365
50366 sctp: fix incorrect overflow check on autoclose
50367
50368 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
50369 limiting the autoclose value. If userspace passes in -1 on 32-bit
50370 platform, the overflow check didn't work and autoclose would be set
50371 to 0xffffffff.
50372
50373 This patch defines a max_autoclose (in seconds) for limiting the value
50374 and exposes it through sysctl, with the following intentions.
50375
50376 1) Avoid overflowing autoclose * HZ.
50377
50378 2) Keep the default autoclose bound consistent across 32- and 64-bit
50379 platforms (INT_MAX / HZ in this patch).
50380
50381 3) Keep the autoclose value consistent between setsockopt() and
50382 getsockopt() calls.
50383
50384 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
50385 Signed-off-by: Xi Wang <xi.wang@gmail.com>
50386 Signed-off-by: David S. Miller <davem@davemloft.net>
50387
50388 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
50389 Author: Xi Wang <xi.wang@gmail.com>
50390 Date: Wed Dec 21 05:18:33 2011 -0500
50391
50392 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
50393
50394 Commit e133e737 didn't correctly fix the integer overflow issue.
50395
50396 - unsigned int required_size;
50397 + u64 required_size;
50398 ...
50399 required_size = mode_cmd->pitch * mode_cmd->height;
50400 - if (unlikely(required_size > dev_priv->vram_size)) {
50401 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
50402
50403 Note that both pitch and height are u32. Their product is still u32 and
50404 would overflow before being assigned to required_size. A correct way is
50405 to convert pitch and height to u64 before the multiplication.
50406
50407 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
50408
50409 This patch calls the existing vmw_kms_validate_mode_vram() for
50410 validation.
50411
50412 Signed-off-by: Xi Wang <xi.wang@gmail.com>
50413 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
50414 Signed-off-by: Dave Airlie <airlied@redhat.com>
50415
50416 Conflicts:
50417
50418 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
50419
50420 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
50421 Author: Xi Wang <xi.wang@gmail.com>
50422 Date: Thu Dec 22 13:35:22 2011 +0000
50423
50424 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
50425
50426 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
50427 cause a kernel oops due to insufficient bounds checking.
50428
50429 if (count > 1<<30) {
50430 /* Enforce a limit to prevent overflow */
50431 return -EINVAL;
50432 }
50433 count = roundup_pow_of_two(count);
50434 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
50435
50436 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
50437
50438 ... + (count * sizeof(struct rps_dev_flow))
50439
50440 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
50441 32 bits.
50442
50443 This patch replaces the magic number (1 << 30) with a symbolic bound.
50444
50445 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
50446 Signed-off-by: Xi Wang <xi.wang@gmail.com>
50447 Signed-off-by: David S. Miller <davem@davemloft.net>
50448
50449 commit 648188958672024b616c42c1f6c98c8cfc85619d
50450 Author: Xi Wang <xi.wang@gmail.com>
50451 Date: Fri Dec 30 10:40:17 2011 -0500
50452
50453 netfilter: ctnetlink: fix timeout calculation
50454
50455 The sanity check (timeout < 0) never works; the dividend is unsigned
50456 and so is the division, which should have been a signed division.
50457
50458 long timeout = (ct->timeout.expires - jiffies) / HZ;
50459 if (timeout < 0)
50460 timeout = 0;
50461
50462 This patch converts the time values to signed for the division.
50463
50464 Signed-off-by: Xi Wang <xi.wang@gmail.com>
50465 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
50466
50467 commit ab03a0973cee73f88655ff4981812ad316a6cd59
50468 Merge: 76f82df 7bdddeb
50469 Author: Brad Spengler <spender@grsecurity.net>
50470 Date: Tue Jan 3 17:42:50 2012 -0500
50471
50472 Merge branch 'pax-test' into grsec-test
50473
50474 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
50475 Merge: 3e59cb5 55cc81a
50476 Author: Brad Spengler <spender@grsecurity.net>
50477 Date: Tue Jan 3 17:42:36 2012 -0500
50478
50479 Merge branch 'linux-3.1.y' into pax-test
50480
50481 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
50482 Author: Brad Spengler <spender@grsecurity.net>
50483 Date: Thu Dec 22 20:15:02 2011 -0500
50484
50485 Only further restrict futex targeting another process -- our modified
50486 permission check also happened to allow a case where a process retaining
50487 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
50488 being non-zero (reported on forums by ben_w)
50489
50490 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
50491 Merge: 97c16f0 3e59cb5
50492 Author: Brad Spengler <spender@grsecurity.net>
50493 Date: Thu Dec 22 19:11:06 2011 -0500
50494
50495 Merge branch 'pax-test' into grsec-test
50496
50497 Conflicts:
50498 fs/hfs/btree.c
50499
50500 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
50501 Merge: 285eb4e c26f60b
50502 Author: Brad Spengler <spender@grsecurity.net>
50503 Date: Thu Dec 22 19:09:57 2011 -0500
50504
50505 Merge branch 'linux-3.1.y' into pax-test
50506
50507 Conflicts:
50508 arch/x86/kernel/process.c
50509
50510 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
50511 Author: Brad Spengler <spender@grsecurity.net>
50512 Date: Mon Dec 19 21:54:01 2011 -0500
50513
50514 Add new option: "Enforce consistent multithreaded privileges"
50515
50516 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
50517 Author: Brad Spengler <spender@grsecurity.net>
50518 Date: Wed Dec 7 19:58:31 2011 -0500
50519
50520 Remove harmless duplicate code -- exec_file would be null already so the
50521 second check would never pass.
50522
50523 commit 4e3304e94aa72737810bc50169519af157dce4ce
50524 Author: Brad Spengler <spender@grsecurity.net>
50525 Date: Wed Dec 7 19:50:39 2011 -0500
50526
50527 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
50528 depended on for attaching to a thread. Entries exist in /proc for
50529 threads, but are not visible in a readdir.
50530
50531 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
50532 Author: Brad Spengler <spender@grsecurity.net>
50533 Date: Sun Dec 4 18:03:28 2011 -0500
50534
50535 Put the already-walked path if in RCU-walk mode
50536
50537 commit ec7ae36b7159f10649709779443a988662965d66
50538 Author: Brad Spengler <spender@grsecurity.net>
50539 Date: Sun Dec 4 17:35:21 2011 -0500
50540
50541 Fix memory leak introduced by recent (unpublished) commit
50542 75ab998b94a29d464518d6d501bdde3fbfcbfa14
50543
50544 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
50545 Author: Brad Spengler <spender@grsecurity.net>
50546 Date: Sun Dec 4 13:56:10 2011 -0500
50547
50548 Explicitly check size copied to userland in override_release to silence gcc
50549
50550 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
50551 Author: Brad Spengler <spender@grsecurity.net>
50552 Date: Sun Dec 4 13:54:02 2011 -0500
50553
50554 Initialize variable to silence erroneous gcc warning
50555
50556 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
50557 Author: Brad Spengler <spender@grsecurity.net>
50558 Date: Sun Dec 4 13:47:47 2011 -0500
50559
50560 Future-proof other potential RCU-aware locations where we can log.
50561
50562 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
50563 Author: Brad Spengler <spender@grsecurity.net>
50564 Date: Sun Dec 4 13:02:54 2011 -0500
50565
50566 Fix freeze reported by 'vs' on the forums. Bug occurred due to
50567 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
50568 in generic_permission() was in the task's effective set but disallowed by
50569 RBAC, would block when acquiring locks resulting in the freeze.
50570
50571 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
50572 as being required when CAP_DAC_OVERRIDE is present (consistent with
50573 older patches).
50574
50575 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
50576 Author: Xi Wang <xi.wang@gmail.com>
50577 Date: Tue Nov 29 09:26:30 2011 +0000
50578
50579 sctp: better integer overflow check in sctp_auth_create_key()
50580
50581 The check from commit 30c2235c is incomplete and cannot prevent
50582 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
50583 left-hand side of the check (INT_MAX - key_len), which is unsigned,
50584 becomes 0xffffffff (UINT_MAX) and bypasses the check.
50585
50586 However this shouldn't be a security issue. The function is called
50587 from the following two code paths:
50588
50589 1) setsockopt()
50590
50591 2) sctp_auth_asoc_set_secret()
50592
50593 In case (1), sca_keylength is never going to exceed 65535 since it's
50594 bounded by a u16 from the user API. As such, the key length will
50595 never overflow.
50596
50597 In case (2), sca_keylength is computed based on the user key (1 short)
50598 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
50599 will not overflow.
50600
50601 In other words, this overflow check is not really necessary. Just
50602 make it more correct.
50603
50604 Signed-off-by: Xi Wang <xi.wang@gmail.com>
50605 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
50606 Signed-off-by: David S. Miller <davem@davemloft.net>
50607
50608 commit e565e28c3635a1d50f80541fbf6b606d742fec76
50609 Author: Josh Boyer <jwboyer@redhat.com>
50610 Date: Fri Aug 19 14:50:26 2011 -0400
50611
50612 fs/minix: Verify bitmap block counts before mounting
50613
50614 Newer versions of MINIX can create filesystems that allocate an extra
50615 bitmap block. Mounting of this succeeds, but doing a statfs call will
50616 result in an oops in count_free because of a negative number being used
50617 for the bh index.
50618
50619 Avoid this by verifying the number of allocated blocks at mount time,
50620 erroring out if there are not enough and make statfs ignore the extras
50621 if there are too many.
50622
50623 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
50624
50625 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
50626 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
50627
50628 commit 6e134e398ec1a3f428261680e83df4319e64bed9
50629 Author: Julia Lawall <julia@diku.dk>
50630 Date: Tue Nov 15 14:53:11 2011 -0800
50631
50632 drivers/gpu/vga/vgaarb.c: add missing kfree
50633
50634 kbuf is a buffer that is local to this function, so all of the error paths
50635 leaving the function should release it.
50636
50637 Signed-off-by: Julia Lawall <julia@diku.dk>
50638 Cc: Jesper Juhl <jj@chaosbits.net>
50639 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
50640 Signed-off-by: Dave Airlie <airlied@redhat.com>
50641
50642 commit 2b9057b321e36860e8d63985b5c4e496f254b717
50643 Author: Brad Spengler <spender@grsecurity.net>
50644 Date: Sat Dec 3 21:33:28 2011 -0500
50645
50646 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
50647
50648 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
50649 Author: Brad Spengler <spender@grsecurity.net>
50650 Date: Sat Dec 3 21:29:37 2011 -0500
50651
50652 Import pax-linux-3.1.4-test18.patch
50653
50654 commit 285eb4ea45d853ae00426b3315a61c1368080dad
50655 Author: Brad Spengler <spender@grsecurity.net>
50656 Date: Sat Dec 10 18:33:46 2011 -0500
50657
50658 Import changes from pax-linux-3.1.5-test20.patch
50659
50660 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
50661 Author: Brad Spengler <spender@grsecurity.net>
50662 Date: Thu Dec 8 20:55:54 2011 -0500
50663
50664 Import changes from pax-linux-3.1.4-test19.patch
50665
50666 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
50667 Author: Brad Spengler <spender@grsecurity.net>
50668 Date: Sat Dec 3 21:29:37 2011 -0500
50669
50670 Import pax-linux-3.1.4-test18.patch
50671 commit d92091aac493a547d85ddf1b98bd9aaa8c7112a5
50672 Author: Brad Spengler <spender@grsecurity.net>
50673 Date: Thu Jul 4 23:05:14 2013 -0400
50674
50675 always enforce a non-zero gap for RAND_THREADSTACK
50676
50677 mm/mmap.c | 2 +-
50678 1 files changed, 1 insertions(+), 1 deletions(-)
50679
50680 commit 40d67e38a42d4e94b43b3d7400addc662b9857dc
50681 Author: Brad Spengler <spender@grsecurity.net>
50682 Date: Thu Jul 4 16:09:28 2013 -0400
50683
50684 fix up file comparisons
50685
50686 grsecurity/gracl_segv.c | 2 +-
50687 grsecurity/grsec_sig.c | 4 ++--
50688 include/linux/grinternal.h | 12 ++++++++++++
50689 3 files changed, 15 insertions(+), 3 deletions(-)
50690
50691 commit a1fff2c95162314626dd96bec71d951a8c1c4708
50692 Author: Brad Spengler <spender@grsecurity.net>
50693 Date: Thu Jul 4 15:33:18 2013 -0400
50694
50695 fix suid binary matching
50696
50697 grsecurity/grsec_sig.c | 2 +-
50698 1 files changed, 1 insertions(+), 1 deletions(-)
50699
50700 commit 00131c458eea5200971c8fc326e90fdb6c2d0baa
50701 Merge: 37b97a9 47beb61
50702 Author: Brad Spengler <spender@grsecurity.net>
50703 Date: Thu Jul 4 15:02:31 2013 -0400
50704
50705 Merge branch 'pax-test' into grsec-test
50706
50707 commit 47beb61be9d430ab3fdb79a3b1e2099b4cfcf798
50708 Author: Brad Spengler <spender@grsecurity.net>
50709 Date: Thu Jul 4 15:01:37 2013 -0400
50710
50711 Update to pax-linux-3.9.9-test13.patch:
50712 - hopefully fixed the EFI boot regression (https://bugs.gentoo.org/show_bug.cgi?id=471626)
50713 - fixed some arm compilation issues (http://forums.grsecurity.net/viewtopic.php?f=1&t=3586 and http://forums.grsecurity.net/viewtopic.php?f=1&t=3587)
50714
50715 arch/arm/include/asm/uaccess.h | 20 ++++++++++----------
50716 arch/arm/kernel/armksyms.c | 2 +-
50717 arch/arm/kernel/entry-armv.S | 4 ++--
50718 arch/arm/mm/Kconfig | 2 +-
50719 arch/x86/ia32/ia32entry.S | 4 ++--
50720 arch/x86/include/asm/page.h | 1 +
50721 arch/x86/kernel/entry_32.S | 4 ++--
50722 arch/x86/kernel/entry_64.S | 8 ++++----
50723 arch/x86/kernel/head64.c | 12 ++++++------
50724 arch/x86/kernel/head_64.S | 16 ++++++++++++----
50725 arch/x86/mm/init.c | 8 ++++++++
50726 arch/x86/mm/init_32.c | 6 ------
50727 arch/x86/mm/init_64.c | 6 ------
50728 arch/x86/platform/efi/efi_32.c | 5 +++++
50729 arch/x86/platform/efi/efi_64.c | 10 ++++++++++
50730 15 files changed, 64 insertions(+), 44 deletions(-)
50731
50732 commit 89085d2d0643813a62f23d1199a335dc1e129bc0
50733 Merge: 963af7f 0adf2e7
50734 Author: Brad Spengler <spender@grsecurity.net>
50735 Date: Thu Jul 4 14:55:44 2013 -0400
50736
50737 Merge branch 'linux-3.9.y' into pax-test
50738
50739 commit 37b97a95e97badc79cc8b6e092f0f94ac24e4ae4
50740 Author: Brad Spengler <spender@grsecurity.net>
50741 Date: Thu Jul 4 13:46:02 2013 -0400
50742
50743 fix typo
50744
50745 grsecurity/gracl.c | 2 +-
50746 1 files changed, 1 insertions(+), 1 deletions(-)
50747
50748 commit 32538dba4959a290a1de81a7f8eeaba99f952aa6
50749 Author: Brad Spengler <spender@grsecurity.net>
50750 Date: Thu Jul 4 13:29:51 2013 -0400
50751
50752 update log arguments
50753
50754 grsecurity/grsec_sig.c | 3 ++-
50755 1 files changed, 2 insertions(+), 1 deletions(-)
50756
50757 commit 5c7ee197d6ecb3ec9b3b9588d2b0cb8541d9fa71
50758 Author: Brad Spengler <spender@grsecurity.net>
50759 Date: Thu Jul 4 13:20:23 2013 -0400
50760
50761 Update logging of suid exec ban
50762
50763 Conflicts:
50764
50765 grsecurity/grsec_sig.c
50766
50767 grsecurity/grsec_sig.c | 3 +--
50768 include/linux/grmsg.h | 1 +
50769 2 files changed, 2 insertions(+), 2 deletions(-)
50770
50771 commit ef808866c070aa1901bd2224521baaf5d145a3a7
50772 Author: Brad Spengler <spender@grsecurity.net>
50773 Date: Thu Jul 4 12:58:33 2013 -0400
50774
50775 Additional improvements to the user banning code:
50776
50777 Separate the kernel-bruteforcing case from the suid bruteforcing case
50778 In the suid bruteforcing case, only kill existing copies of the bruteforced
50779 binary. Instead of preventing all future execs by this user, prevent them
50780 from executing any suid/sgid binaries for the next 15 minutes.
50781
50782 Kernel case is mostly unchanged from before, except the task trying to change
50783 real uid to the banned user will be terminated instead of failing the setuid
50784 call.
50785
50786 Configuration help has been updated to reflect the new changes.
50787
50788 fs/exec.c | 13 +++++---
50789 grsecurity/Kconfig | 5 ++-
50790 grsecurity/gracl.c | 6 ++--
50791 grsecurity/grsec_sig.c | 76 ++++++++++++++++++++++++++------------------
50792 include/linux/grsecurity.h | 1 -
50793 include/linux/sched.h | 9 +++--
50794 6 files changed, 65 insertions(+), 45 deletions(-)
50795
50796 commit 0f0b6c9d67d429364621b8784ef4a048b7e40736
50797 Author: Brad Spengler <spender@grsecurity.net>
50798 Date: Wed Jul 3 16:14:09 2013 -0400
50799
50800 fix renamed export of csum_partial_copy_from_user, as reported by fabled
50801 on the forums
50802
50803 arch/arm/kernel/armksyms.c | 2 +-
50804 1 files changed, 1 insertions(+), 1 deletions(-)
50805
50806 commit 318235973c2a548c3d25562645d6b69f66e85934
50807 Author: Brad Spengler <spender@grsecurity.net>
50808 Date: Wed Jul 3 16:09:16 2013 -0400
50809
50810 make CPU_USE_DOMAINS depend on !PAX_MEMORY_UDEREF, fixes compile error
50811 reported on the forums by fabled
50812
50813 arch/arm/mm/Kconfig | 2 +-
50814 1 files changed, 1 insertions(+), 1 deletions(-)
50815
50816 commit b569a7f60fab7a522d8c142765c8b847bbce8a1e
50817 Author: Brad Spengler <spender@grsecurity.net>
50818 Date: Wed Jul 3 15:53:12 2013 -0400
50819
50820 Revise the user ban code to kill the process issuing a banned
50821 set*id instead of returning an error. For the sake of keeping
50822 unified user banning between the suid and kernel bruteforce case,
50823 we will apply this killing to the suid bruteforce case, despite
50824 a check just at exec time (that already existed) being sufficient.
50825
50826 Returning an error could enable exploitation of the "failure to check
50827 setuid return value" case which was recently effectively closed
50828 upstream, albeit in a rare situation with a suitable binary and
50829 two colluding users.
50830
50831 Many thanks to stealth for reviewing the user ban code.
50832
50833 grsecurity/gracl.c | 4 ++--
50834 grsecurity/grsec_sig.c | 16 +++++++++++++---
50835 2 files changed, 15 insertions(+), 5 deletions(-)
50836
50837 commit 4a0808a0aa34bf3692f9ade0f11f6fbe30418c4f
50838 Author: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
50839 Date: Fri Jun 28 14:15:15 2013 +0300
50840
50841 Upstream commit: 605c912bb843c024b1ed173dc427cd5c08e5d54d
50842
50843 UBIFS: fix a horrid bug
50844
50845 Al Viro pointed me to the fact that '->readdir()' and '->llseek()' have no
50846 mutual exclusion, which means the 'ubifs_dir_llseek()' can be run while we are
50847 in the middle of 'ubifs_readdir()'.
50848
50849 This means that 'file->private_data' can be freed while 'ubifs_readdir()' uses
50850 it, and this is a very bad bug: not only 'ubifs_readdir()' can return garbage,
50851 but this may corrupt memory and lead to all kinds of problems like crashes an
50852 security holes.
50853
50854 This patch fixes the problem by using the 'file->f_version' field, which
50855 '->llseek()' always unconditionally sets to zero. We set it to 1 in
50856 'ubifs_readdir()' and whenever we detect that it became 0, we know there was a
50857 seek and it is time to clear the state saved in 'file->private_data'.
50858
50859 I tested this patch by writing a user-space program which runds readdir and
50860 seek in parallell. I could easily crash the kernel without these patches, but
50861 could not crash it with these patches.
50862
50863 Cc: stable@vger.kernel.org
50864 Reported-by: Al Viro <viro@zeniv.linux.org.uk>
50865 Tested-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
50866 Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
50867 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
50868
50869 fs/ubifs/dir.c | 30 +++++++++++++++++++++++++++---
50870 1 files changed, 27 insertions(+), 3 deletions(-)
50871
50872 commit c22280b85088978bd8b45bd23096879459b48008
50873 Author: Stephane Eranian <eranian@google.com>
50874 Date: Thu Jun 20 11:36:28 2013 +0200
50875
50876 Upstream commit: 2976b10f05bd7f6dab9f9e7524451ddfed656a89
50877
50878 perf: Disable monitoring on setuid processes for regular users
50879
50880 There was a a bug in setup_new_exec(), whereby
50881 the test to disabled perf monitoring was not
50882 correct because the new credentials for the
50883 process were not yet committed and therefore
50884 the get_dumpable() test was never firing.
50885
50886 The patch fixes the problem by moving the
50887 perf_event test until after the credentials
50888 are committed.
50889
50890 Signed-off-by: Stephane Eranian <eranian@google.com>
50891 Tested-by: Jiri Olsa <jolsa@redhat.com>
50892 Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
50893 Cc: <stable@kernel.org>
50894 Signed-off-by: Ingo Molnar <mingo@kernel.org>
50895
50896 fs/exec.c | 16 +++++++++-------
50897 1 files changed, 9 insertions(+), 7 deletions(-)
50898
50899 commit 16e6a61c34ae5ed0fbfa9151b24dc6a751cca7c0
50900 Author: Brad Spengler <spender@grsecurity.net>
50901 Date: Sat Jun 29 13:10:02 2013 -0400
50902
50903 on context switch, make sure we switch DACR when domain support and
50904 KERNEXEC is disabled but UDEREF is enabled
50905
50906 arch/arm/kernel/entry-armv.S | 4 ++--
50907 1 files changed, 2 insertions(+), 2 deletions(-)
50908
50909 commit 08d017fa51370921694ce087b28c96fec92993d4
50910 Author: Michael S. Tsirkin <mst@redhat.com>
50911 Date: Sun Jun 23 17:26:58 2013 +0300
50912
50913 Upstream commit: 4c7ab054ab4f5d63625508ed6f8a607184cae7c2
50914
50915 macvtap: fix recovery from gup errors
50916
50917 get user pages might fail partially in macvtap zero copy
50918 mode. To recover we need to put all pages that we got,
50919 but code used a wrong index resulting in double-free
50920 errors.
50921
50922 Reported-by: Brad Hubbard <bhubbard@redhat.com>
50923 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
50924 Acked-by: Jason Wang <jasowang@redhat.com>
50925 Signed-off-by: David S. Miller <davem@davemloft.net>
50926
50927 drivers/net/macvtap.c | 6 ++++--
50928 1 files changed, 4 insertions(+), 2 deletions(-)
50929
50930 commit 8118c60e6478b9d0687c2aa7779e45ac7859b1be
50931 Author: Michael S. Tsirkin <mst@redhat.com>
50932 Date: Sun Jun 23 17:19:03 2013 +0300
50933
50934 Upstream commit: 7e24bfbe43b545b1689a5f134ed83645b9e34b86
50935
50936 tun: fix recovery from gup errors
50937
50938 get user pages might fail partially in tun zero copy
50939 mode. To recover we need to put all pages that we got,
50940 but code used a wrong index resulting in double-free
50941 errors.
50942
50943 Reported-by: Brad Hubbard <bhubbard@redhat.com>
50944 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
50945 Acked-by: Jason Wang <jasowang@redhat.com>
50946 Acked-by: Neil Horman <nhorman@tuxdriver.com>
50947 Signed-off-by: David S. Miller <davem@davemloft.net>
50948
50949 drivers/net/tun.c | 6 ++++--
50950 1 files changed, 4 insertions(+), 2 deletions(-)
50951
50952 commit c71e53d3b87fba6f7ba29a440d4c835f03aadf28
50953 Author: Balazs Peter Odor <balazs@obiserver.hu>
50954 Date: Sat Jun 22 19:24:43 2013 +0200
50955
50956 Upstream commit: 5aed93875cd88502f04a0d4517b8a2d89a849773
50957
50958 netfilter: nf_nat_sip: fix mangling
50959
50960 In (b20ab9c netfilter: nf_ct_helper: better logging for dropped packets)
50961 there were some missing brackets around the logging information, thus
50962 always returning drop.
50963
50964 Closes https://bugzilla.kernel.org/show_bug.cgi?id=60061
50965
50966 Signed-off-by: Balazs Peter Odor <balazs@obiserver.hu>
50967 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
50968
50969 net/netfilter/nf_nat_sip.c | 3 ++-
50970 1 files changed, 2 insertions(+), 1 deletions(-)
50971
50972 commit 87c18924aecb841586b8972fabb20c5b75ca2fc9
50973 Author: Anderson Lizardo <anderson.lizardo@openbossa.org>
50974 Date: Sun Jun 2 16:30:40 2013 -0400
50975
50976 Upstream commit: 300b962e5244a1ea010df7e88595faa0085b461d
50977
50978 Bluetooth: Fix crash in l2cap_build_cmd() with small MTU
50979
50980 If a too small MTU value is set with ioctl(HCISETACLMTU) or by a bogus
50981 controller, memory corruption happens due to a memcpy() call with
50982 negative length.
50983
50984 Fix this crash on either incoming or outgoing connections with a MTU
50985 smaller than L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE:
50986
50987 [ 46.885433] BUG: unable to handle kernel paging request at f56ad000
50988 [ 46.888037] IP: [<c03d94cd>] memcpy+0x1d/0x40
50989 [ 46.888037] *pdpt = 0000000000ac3001 *pde = 00000000373f8067 *pte = 80000000356ad060
50990 [ 46.888037] Oops: 0002 [#1] SMP DEBUG_PAGEALLOC
50991 [ 46.888037] Modules linked in: hci_vhci bluetooth virtio_balloon i2c_piix4 uhci_hcd usbcore usb_common
50992 [ 46.888037] CPU: 0 PID: 1044 Comm: kworker/u3:0 Not tainted 3.10.0-rc1+ #12
50993 [ 46.888037] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
50994 [ 46.888037] Workqueue: hci0 hci_rx_work [bluetooth]
50995 [ 46.888037] task: f59b15b0 ti: f55c4000 task.ti: f55c4000
50996 [ 46.888037] EIP: 0060:[<c03d94cd>] EFLAGS: 00010212 CPU: 0
50997 [ 46.888037] EIP is at memcpy+0x1d/0x40
50998 [ 46.888037] EAX: f56ac1c0 EBX: fffffff8 ECX: 3ffffc6e EDX: f55c5cf2
50999 [ 46.888037] ESI: f55c6b32 EDI: f56ad000 EBP: f55c5c68 ESP: f55c5c5c
51000 [ 46.888037] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
51001 [ 46.888037] CR0: 8005003b CR2: f56ad000 CR3: 3557d000 CR4: 000006f0
51002 [ 46.888037] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
51003 [ 46.888037] DR6: ffff0ff0 DR7: 00000400
51004 [ 46.888037] Stack:
51005 [ 46.888037] fffffff8 00000010 00000003 f55c5cac f8c6a54c ffffffff f8c69eb2 00000000
51006 [ 46.888037] f4783cdc f57f0070 f759c590 1001c580 00000003 0200000a 00000000 f5a88560
51007 [ 46.888037] f5ba2600 f5a88560 00000041 00000000 f55c5d90 f8c6f4c7 00000008 f55c5cf2
51008 [ 46.888037] Call Trace:
51009 [ 46.888037] [<f8c6a54c>] l2cap_send_cmd+0x1cc/0x230 [bluetooth]
51010 [ 46.888037] [<f8c69eb2>] ? l2cap_global_chan_by_psm+0x152/0x1a0 [bluetooth]
51011 [ 46.888037] [<f8c6f4c7>] l2cap_connect+0x3f7/0x540 [bluetooth]
51012 [ 46.888037] [<c019b37b>] ? trace_hardirqs_off+0xb/0x10
51013 [ 46.888037] [<c01a0ff8>] ? mark_held_locks+0x68/0x110
51014 [ 46.888037] [<c064ad20>] ? mutex_lock_nested+0x280/0x360
51015 [ 46.888037] [<c064b9d9>] ? __mutex_unlock_slowpath+0xa9/0x150
51016 [ 46.888037] [<c01a118c>] ? trace_hardirqs_on_caller+0xec/0x1b0
51017 [ 46.888037] [<c064ad08>] ? mutex_lock_nested+0x268/0x360
51018 [ 46.888037] [<c01a125b>] ? trace_hardirqs_on+0xb/0x10
51019 [ 46.888037] [<f8c72f8d>] l2cap_recv_frame+0xb2d/0x1d30 [bluetooth]
51020 [ 46.888037] [<c01a0ff8>] ? mark_held_locks+0x68/0x110
51021 [ 46.888037] [<c064b9d9>] ? __mutex_unlock_slowpath+0xa9/0x150
51022 [ 46.888037] [<c01a118c>] ? trace_hardirqs_on_caller+0xec/0x1b0
51023 [ 46.888037] [<f8c754f1>] l2cap_recv_acldata+0x2a1/0x320 [bluetooth]
51024 [ 46.888037] [<f8c491d8>] hci_rx_work+0x518/0x810 [bluetooth]
51025 [ 46.888037] [<f8c48df2>] ? hci_rx_work+0x132/0x810 [bluetooth]
51026 [ 46.888037] [<c0158979>] process_one_work+0x1a9/0x600
51027 [ 46.888037] [<c01588fb>] ? process_one_work+0x12b/0x600
51028 [ 46.888037] [<c015922e>] ? worker_thread+0x19e/0x320
51029 [ 46.888037] [<c015922e>] ? worker_thread+0x19e/0x320
51030 [ 46.888037] [<c0159187>] worker_thread+0xf7/0x320
51031 [ 46.888037] [<c0159090>] ? rescuer_thread+0x290/0x290
51032 [ 46.888037] [<c01602f8>] kthread+0xa8/0xb0
51033 [ 46.888037] [<c0656777>] ret_from_kernel_thread+0x1b/0x28
51034 [ 46.888037] [<c0160250>] ? flush_kthread_worker+0x120/0x120
51035 [ 46.888037] Code: c3 90 8d 74 26 00 e8 63 fc ff ff eb e8 90 55 89 e5 83 ec 0c 89 5d f4 89 75 f8 89 7d fc 3e 8d 74 26 00 89 cb 89 c7 c1 e9 02 89 d6 <f3> a5 89 d9 83 e1 03 74 02 f3 a4 8b 5d f4 8b 75 f8 8b 7d fc 89
51036 [ 46.888037] EIP: [<c03d94cd>] memcpy+0x1d/0x40 SS:ESP 0068:f55c5c5c
51037 [ 46.888037] CR2: 00000000f56ad000
51038 [ 46.888037] ---[ end trace 0217c1f4d78714a9 ]---
51039
51040 Signed-off-by: Anderson Lizardo <anderson.lizardo@openbossa.org>
51041 Cc: stable@vger.kernel.org
51042 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
51043 Signed-off-by: John W. Linville <linville@tuxdriver.com>
51044
51045 net/bluetooth/l2cap_core.c | 3 +++
51046 1 files changed, 3 insertions(+), 0 deletions(-)
51047
51048 commit b0471b6c1160858fc646d8e94628fd1299f61692
51049 Author: Jaganath Kanakkassery <jaganath.k@samsung.com>
51050 Date: Fri Jun 21 19:55:11 2013 +0530
51051
51052 Upstream commit: 3f6fa3d489e127ca5a5b298eabac3ff5dbe0e112
51053
51054 Bluetooth: Fix invalid length check in l2cap_information_rsp()
51055
51056 The length check is invalid since the length varies with type of
51057 info response.
51058
51059 This was introduced by the commit cb3b3152b2f5939d67005cff841a1ca748b19888
51060
51061 Because of this, l2cap info rsp is not handled and command reject is sent.
51062
51063 > ACL data: handle 11 flags 0x02 dlen 16
51064 L2CAP(s): Info rsp: type 2 result 0
51065 Extended feature mask 0x00b8
51066 Enhanced Retransmission mode
51067 Streaming mode
51068 FCS Option
51069 Fixed Channels
51070 < ACL data: handle 11 flags 0x00 dlen 10
51071 L2CAP(s): Command rej: reason 0
51072 Command not understood
51073
51074 Cc: stable@vger.kernel.org
51075 Signed-off-by: Jaganath Kanakkassery <jaganath.k@samsung.com>
51076 Signed-off-by: Chan-Yeol Park <chanyeol.park@samsung.com>
51077 Acked-by: Johan Hedberg <johan.hedberg@intel.com>
51078 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
51079
51080 net/bluetooth/l2cap_core.c | 2 +-
51081 1 files changed, 1 insertions(+), 1 deletions(-)
51082
51083 commit 4184af98c360d825e638b268b1a9847232e8d299
51084 Author: Eric Dumazet <edumazet@google.com>
51085 Date: Wed Jun 26 04:15:07 2013 -0700
51086
51087 Upstream commit: a963a37d384d71ad43b3e9e79d68d42fbe0901f3
51088
51089 ipv6: ip6_sk_dst_check() must not assume ipv6 dst
51090
51091 It's possible to use AF_INET6 sockets and to connect to an IPv4
51092 destination. After this, socket dst cache is a pointer to a rtable,
51093 not rt6_info.
51094
51095 ip6_sk_dst_check() should check the socket dst cache is IPv6, or else
51096 various corruptions/crashes can happen.
51097
51098 Dave Jones can reproduce immediate crash with
51099 trinity -q -l off -n -c sendmsg -c connect
51100
51101 With help from Hannes Frederic Sowa
51102
51103 Reported-by: Dave Jones <davej@redhat.com>
51104 Reported-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
51105 Signed-off-by: Eric Dumazet <edumazet@google.com>
51106 Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
51107 Signed-off-by: David S. Miller <davem@davemloft.net>
51108
51109 net/ipv6/ip6_output.c | 8 +++++++-
51110 1 files changed, 7 insertions(+), 1 deletions(-)
51111
51112 commit a9909c4993e8547ebeeafc4a4f5ff8570a941eb2
51113 Author: Zefan Li <lizefan@huawei.com>
51114 Date: Wed Jun 26 15:29:54 2013 +0800
51115
51116 Upstream commit: 11eb2645cbf38a08ae491bf6c602eea900ec0bb5
51117
51118 dlci: acquire rtnl_lock before calling __dev_get_by_name()
51119
51120 Otherwise the net device returned can be freed at anytime.
51121
51122 Signed-off-by: Li Zefan <lizefan@huawei.com>
51123 Cc: stable@vger.kernel.org
51124 Signed-off-by: David S. Miller <davem@davemloft.net>
51125
51126 drivers/net/wan/dlci.c | 14 +++++++++-----
51127 1 files changed, 9 insertions(+), 5 deletions(-)
51128
51129 commit 1fe6f23c9acd14d832d056909ff326bde418e645
51130 Author: Zefan Li <lizefan@huawei.com>
51131 Date: Wed Jun 26 15:31:58 2013 +0800
51132
51133 Upstream commit: 578a1310f2592ba90c5674bca21c1dbd1adf3f0a
51134
51135 dlci: validate the net device in dlci_del()
51136
51137 We triggered an oops while running trinity with 3.4 kernel:
51138
51139 BUG: unable to handle kernel paging request at 0000000100000d07
51140 IP: [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
51141 PGD 640c0d067 PUD 0
51142 Oops: 0000 [#1] PREEMPT SMP
51143 CPU 3
51144 ...
51145 Pid: 7302, comm: trinity-child3 Not tainted 3.4.24.09+ 40 Huawei Technologies Co., Ltd. Tecal RH2285 /BC11BTSA
51146 RIP: 0010:[<ffffffffa0109738>] [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
51147 ...
51148 Call Trace:
51149 [<ffffffff8137c5c3>] sock_ioctl+0x153/0x280
51150 [<ffffffff81195494>] do_vfs_ioctl+0xa4/0x5e0
51151 [<ffffffff8118354a>] ? fget_light+0x3ea/0x490
51152 [<ffffffff81195a1f>] sys_ioctl+0x4f/0x80
51153 [<ffffffff81478b69>] system_call_fastpath+0x16/0x1b
51154 ...
51155
51156 It's because the net device is not a dlci device.
51157
51158 Reported-by: Li Jinyue <lijinyue@huawei.com>
51159 Signed-off-by: Li Zefan <lizefan@huawei.com>
51160 Cc: stable@vger.kernel.org
51161 Signed-off-by: David S. Miller <davem@davemloft.net>
51162
51163 drivers/net/wan/dlci.c | 12 ++++++++++++
51164 1 files changed, 12 insertions(+), 0 deletions(-)
51165
51166 commit 4d4464407611527ef6b6b5475cfcab6121b3da66
51167 Merge: 59571a9 963af7f
51168 Author: Brad Spengler <spender@grsecurity.net>
51169 Date: Thu Jun 27 18:54:52 2013 -0400
51170
51171 Merge branch 'pax-test' into grsec-test
51172
51173 commit 963af7f7f591759b731ce6325ceb583a72fcf423
51174 Merge: c51e25a 55db48a
51175 Author: Brad Spengler <spender@grsecurity.net>
51176 Date: Thu Jun 27 18:54:42 2013 -0400
51177
51178 Merge branch 'linux-3.9.y' into pax-test
51179
51180 commit 59571a9db7485f530a1e865a13cacc4c991ec41f
51181 Author: Brad Spengler <spender@grsecurity.net>
51182 Date: Wed Jun 26 18:39:08 2013 -0400
51183
51184 From: Mathias Krause <minipli@googlemail.com>
51185 To: Steffen Klassert <steffen.klassert@secunet.com>,
51186 "David S. Miller" <davem@davemloft.net>
51187 Cc: Mathias Krause <minipli@googlemail.com>, netdev@vger.kernel.org,
51188 Herbert Xu <herbert@gondor.apana.org.au>
51189 Subject: [PATCH] af_key: fix info leaks in notify messages
51190
51191 key_notify_sa_flush() and key_notify_policy_flush() miss to initialize
51192 the sadb_msg_reserved member of the broadcasted message and thereby
51193 leak 2 bytes of heap memory to listeners. Fix that.
51194
51195 Signed-off-by: Mathias Krause <minipli@googlemail.com>
51196 Cc: Steffen Klassert <steffen.klassert@secunet.com>
51197 Cc: "David S. Miller" <davem@davemloft.net>
51198 Cc: Herbert Xu <herbert@gondor.apana.org.au>
51199
51200 net/key/af_key.c | 2 ++
51201 1 files changed, 2 insertions(+), 0 deletions(-)
51202
51203 commit e1dd9fb168b3597f15fd5bd4bc88a7dd4cce5fd9
51204 Author: Brad Spengler <spender@grsecurity.net>
51205 Date: Wed Jun 26 18:33:06 2013 -0400
51206
51207 update rand_threadstack code to continue the search for a gap if the first
51208 choice doesn't have enough space, instead of returning ENOMEM
51209
51210 mm/mmap.c | 17 ++++++++++-------
51211 1 files changed, 10 insertions(+), 7 deletions(-)
51212
51213 commit 87020d4a4d83038d65ff1fd519938840f6888b9e
51214 Merge: 2682346 c51e25a
51215 Author: Brad Spengler <spender@grsecurity.net>
51216 Date: Wed Jun 26 18:25:32 2013 -0400
51217
51218 Merge branch 'pax-test' into grsec-test
51219
51220 commit c51e25a23f30a1198076bd085f19b2073caf164d
51221 Author: Brad Spengler <spender@grsecurity.net>
51222 Date: Wed Jun 26 18:24:54 2013 -0400
51223
51224 Update to pax-linux-3.9.7-test12.patch:
51225 - fixed a regression on PARAVIRT/amd64 kernels
51226 - simplified the recent vm_unmapped_area_info based change
51227
51228 arch/x86/kernel/entry_64.S | 8 ++++----
51229 mm/mmap.c | 22 ++++++++++++----------
51230 2 files changed, 16 insertions(+), 14 deletions(-)
51231
51232 commit 26823469a08e59cb67bea18d448d9e8c65f82e08
51233 Author: Brad Spengler <spender@grsecurity.net>
51234 Date: Tue Jun 25 21:26:51 2013 -0400
51235
51236 re-enable GRKERNSEC_RAND_THREADSTACK now that the generic PaX
51237 vm_unmapped_area code is complete
51238
51239 arch/x86/kernel/sys_i386_32.c | 5 +++++
51240 grsecurity/Kconfig | 2 +-
51241 mm/mmap.c | 11 ++++++++++-
51242 3 files changed, 16 insertions(+), 2 deletions(-)
51243
51244 commit bcd93cc348a8faba1716f5cc137a48f25d6a67e7
51245 Merge: e58fe8c c4e0704
51246 Author: Brad Spengler <spender@grsecurity.net>
51247 Date: Tue Jun 25 19:08:52 2013 -0400
51248
51249 Merge branch 'pax-test' into grsec-test
51250
51251 Conflicts:
51252 arch/x86/kernel/sys_i386_32.c
51253
51254 commit c4e07040c2c32c9eb2b093e5ae6e5bb050cb7511
51255 Author: Brad Spengler <spender@grsecurity.net>
51256 Date: Tue Jun 25 19:05:39 2013 -0400
51257
51258 Update to pax-linux-3.9.7-test11.patch:
51259 - fixed some fallout from the recent executable vmalloc changes (http://forums.grsecurity.net/viewtopic.php?t=3562#p13111)
51260 - moved the PaX specific heap-stack gap check code over to the vm_unmapped_area_info based infrastructure
51261 - fixed the recent nested nmi related fixes some more
51262 - fixed a regression in kernel memory initialization on relocatable i386 kernels
51263 - empty_zero_page can be read-only on amd64 as well
51264
51265 arch/arm/mm/mmap.c | 6 --
51266 arch/x86/kernel/entry_64.S | 8 +--
51267 arch/x86/kernel/head_64.S | 1 -
51268 arch/x86/kernel/setup.c | 2 +-
51269 arch/x86/kernel/sys_i386_32.c | 160 ++++++++++++----------------------------
51270 drivers/lguest/core.c | 2 +-
51271 include/linux/mm.h | 6 +-
51272 include/linux/vmalloc.h | 2 +-
51273 mm/mmap.c | 30 +++++++-
51274 9 files changed, 83 insertions(+), 134 deletions(-)
51275
51276 commit e58fe8c43f6ee7047ac830ebfa9a70626b7ed11d
51277 Author: Brad Spengler <spender@grsecurity.net>
51278 Date: Sun Jun 23 14:37:14 2013 -0400
51279
51280 second compile fix, reported by forsaken on forums
51281
51282 include/linux/vmalloc.h | 2 +-
51283 1 files changed, 1 insertions(+), 1 deletions(-)
51284
51285 commit 0ee10d89b09b56b46bc242ce760a1d9598276e2f
51286 Author: Brad Spengler <spender@grsecurity.net>
51287 Date: Sun Jun 23 14:36:35 2013 -0400
51288
51289 compile fix, reported by KDE on forums
51290
51291 kernel/printk.c | 7 -------
51292 1 files changed, 0 insertions(+), 7 deletions(-)
51293
51294 commit 1fc9a5e2e267205d28302e1e86ca0da434561111
51295 Author: Ben Hutchings <ben@decadent.org.uk>
51296 Date: Sun Jun 16 21:27:12 2013 +0100
51297
51298 Upstream commit: b8cb62f82103083a6e8fa5470bfe634a2c06514d
51299
51300 x86/efi: Fix dummy variable buffer allocation
51301
51302 1. Check for allocation failure
51303 2. Clear the buffer contents, as they may actually be written to flash
51304 3. Don't leak the buffer
51305
51306 Compile-tested only.
51307
51308 [ Tested successfully on my buggy ASUS machine - Matt ]
51309
51310 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
51311 Cc: stable@vger.kernel.org
51312 Signed-off-by: Matt Fleming <matt.fleming@intel.com>
51313
51314 arch/x86/platform/efi/efi.c | 7 ++++++-
51315 1 files changed, 6 insertions(+), 1 deletions(-)
51316
51317 commit 83e15c8baaa620d8c777e84aa037b4302f0487c5
51318 Author: Dave Kleikamp <dave.kleikamp@oracle.com>
51319 Date: Tue Jun 18 09:05:36 2013 -0500
51320
51321 Upstream commit: 23a01138efe216f8084cfaa74b0b90dd4b097441
51322
51323 sparc: tsb must be flushed before tlb
51324
51325 This fixes a race where a cpu may re-load a tlb from a stale tsb right
51326 after it has been flushed by a remote function call.
51327
51328 I still see some instability when stressing the system with parallel
51329 kernel builds while creating memory pressure by writing to
51330 /proc/sys/vm/nr_hugepages, but this patch improves the stability
51331 significantly.
51332
51333 Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
51334 Acked-by: Bob Picco <bob.picco@oracle.com>
51335 Signed-off-by: David S. Miller <davem@davemloft.net>
51336
51337 arch/sparc/mm/tlb.c | 2 +-
51338 1 files changed, 1 insertions(+), 1 deletions(-)
51339
51340 commit d93b62f6485db9aadda34322a6867868db07f56f
51341 Merge: 4ef62f5 71d83e9
51342 Author: Brad Spengler <spender@grsecurity.net>
51343 Date: Fri Jun 21 16:52:55 2013 -0400
51344
51345 Merge branch 'pax-test' into grsec-test
51346
51347 Conflicts:
51348 security/Kconfig
51349
51350 commit 71d83e97c936563913bcfb5a25c45b2021a331eb
51351 Author: Brad Spengler <spender@grsecurity.net>
51352 Date: Fri Jun 21 16:48:42 2013 -0400
51353
51354 Update to pax-linux-3.9.7-test10.patch:
51355 - fixed a few format string problems uncovered by -Wformat-nonliteral
51356 - another attempt at fixing the nested nmi/cr0.wp problem
51357 - fixed vmalloc when used for allocating executable memory on non-modular kernels, reported by Lorand Kelemen (https://bugs.gentoo.org/show_bug.cgi?id=473866)
51358 - worked around an intentional gcc overflow in nfscache that tripped up the size overflow plugin (https://bugs.gentoo.org/show_bug.cgi?id=472274)
51359 - fixed a locking issue with track_exec_limit reported by spender
51360 - hunger reported a size overflow event in kobj_map that turned out to be a real bug, fix by Tejun Heo (https://patchwork.kernel.org/patch/2676631/)
51361
51362 Documentation/dontdiff | 1 +
51363 arch/x86/boot/compressed/efi_stub_32.S | 16 ++-----
51364 arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
51365 arch/x86/kernel/e820.c | 4 +-
51366 arch/x86/kernel/entry_64.S | 74 ++++++++++++++++++------------
51367 arch/x86/kernel/vmlinux.lds.S | 2 +-
51368 block/genhd.c | 11 +++--
51369 crypto/algapi.c | 2 +-
51370 crypto/pcrypt.c | 6 +-
51371 drivers/base/attribute_container.c | 2 +-
51372 drivers/base/power/sysfs.c | 2 +-
51373 drivers/block/nbd.c | 2 +-
51374 drivers/cdrom/cdrom.c | 2 +-
51375 drivers/char/hw_random/intel-rng.c | 2 +-
51376 drivers/char/mem.c | 2 +-
51377 drivers/devfreq/devfreq.c | 2 +-
51378 drivers/gpu/drm/drm_encoder_slave.c | 6 +--
51379 drivers/gpu/drm/drm_sysfs.c | 2 +-
51380 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
51381 drivers/iommu/irq_remapping.c | 2 +-
51382 drivers/video/output.c | 2 +-
51383 fs/ext4/mmp.c | 2 +-
51384 fs/ext4/super.c | 2 +-
51385 fs/lockd/svc.c | 2 +-
51386 fs/nfs/callback.c | 4 +-
51387 fs/nfs/nfs4state.c | 2 +-
51388 fs/nfsd/nfscache.c | 3 +-
51389 init/initramfs.c | 2 +-
51390 kernel/rcutree.c | 2 +-
51391 lib/kobject.c | 2 +-
51392 mm/backing-dev.c | 4 +-
51393 mm/mmap.c | 4 +-
51394 mm/slub.c | 2 +-
51395 mm/vmalloc.c | 15 +++----
51396 net/bluetooth/hci_core.c | 8 ++--
51397 net/netfilter/nf_conntrack_proto_dccp.c | 4 +-
51398 net/sunrpc/svc.c | 2 +-
51399 security/Kconfig | 15 +++---
51400 sound/core/sound.c | 2 +-
51401 sound/sound_core.c | 2 +-
51402 40 files changed, 116 insertions(+), 111 deletions(-)
51403
51404 commit 4ef62f52ab23ed87aaf0106be3eddf2019bc7d2c
51405 Merge: 39efd8f 256eff7
51406 Author: Brad Spengler <spender@grsecurity.net>
51407 Date: Fri Jun 21 16:45:15 2013 -0400
51408
51409 Merge branch 'pax-test' into grsec-test
51410
51411 Conflicts:
51412 kernel/printk.c
51413
51414 commit 256eff7a817d5faa18cd56fb97cc8c25112ec0a6
51415 Merge: e6e3059 485f25f
51416 Author: Brad Spengler <spender@grsecurity.net>
51417 Date: Thu Jun 20 22:14:24 2013 -0400
51418
51419 Merge branch 'linux-3.9.y' into pax-test
51420
51421 commit 39efd8f4b9573d1ce31f47cdbea00b6c12054d4d
51422 Author: Brad Spengler <spender@grsecurity.net>
51423 Date: Tue Jun 18 17:20:18 2013 -0400
51424
51425 add apparmor compat patch
51426
51427 security/apparmor/Kconfig | 9 ++
51428 security/apparmor/apparmorfs.c | 231 ++++++++++++++++++++++++++++++++++++++++
51429 2 files changed, 240 insertions(+), 0 deletions(-)
51430
51431 commit 49bee3c5341687504669bf62becf4a419a226ba0
51432 Author: Brad Spengler <spender@grsecurity.net>
51433 Date: Mon Jun 17 18:48:04 2013 -0400
51434
51435 Revert "Upstream commit: cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db"
51436
51437 This reverts commit 066d9226bc6c569d5f420c978b758e0bddd23444.
51438
51439 kernel/sys.c | 29 +++--------------------------
51440 1 files changed, 3 insertions(+), 26 deletions(-)
51441
51442 commit bece88b4276babb2039a3e4f3e3b0cdeb8cd8328
51443 Author: Al Viro <viro@ZenIV.linux.org.uk>
51444 Date: Sun Jun 16 18:06:06 2013 +0100
51445
51446 Upstream commit: 8177a9d79c0e942dcac3312f15585d0344d505a5
51447
51448 lseek(fd, n, SEEK_END) does *not* go to eof - n
51449
51450 When you copy some code, you are supposed to read it. If nothing else,
51451 there's a chance to spot and fix an obvious bug instead of sharing it...
51452
51453 X-Song: "I Got It From Agnes", by Tom Lehrer
51454 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
51455 [ Tom Lehrer? You're dating yourself, Al ]
51456 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
51457
51458 drivers/net/ethernet/brocade/bna/bnad_debugfs.c | 2 +-
51459 drivers/scsi/bfa/bfad_debugfs.c | 2 +-
51460 drivers/scsi/fnic/fnic_debugfs.c | 2 +-
51461 drivers/scsi/lpfc/lpfc_debugfs.c | 2 +-
51462 4 files changed, 4 insertions(+), 4 deletions(-)
51463
51464 commit 5a450f1c46f0c84379518aee878993d3f4a331b6
51465 Author: Theodore Ts'o <tytso@mit.edu>
51466 Date: Thu Jun 6 11:14:31 2013 -0400
51467
51468 Upstream commit: 40c87e7a5404861cef33f6ced9809525a5ee2c50
51469
51470 ext4: verify group number in verify_group_input() before using it
51471
51472 Check the group number for sanity earilier, before calling routines
51473 such as ext4_bg_has_super() or ext4_group_overhead_blocks().
51474
51475 Reported-by: Jonathan Salwan <jonathan.salwan@gmail.com>
51476 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
51477
51478 fs/ext4/resize.c | 17 +++++++++++------
51479 1 files changed, 11 insertions(+), 6 deletions(-)
51480
51481 commit e2700ce1305cc746d2d9000392f00d96fdf28fb8
51482 Author: Neil Horman <nhorman@tuxdriver.com>
51483 Date: Wed Jun 12 14:26:44 2013 -0400
51484
51485 Upstream commit: c5c7774d7eb4397891edca9ebdf750ba90977a69
51486
51487 sctp: fully initialize sctp_outq in sctp_outq_init
51488
51489 In commit 2f94aabd9f6c925d77aecb3ff020f1cc12ed8f86
51490 (refactor sctp_outq_teardown to insure proper re-initalization)
51491 we modified sctp_outq_teardown to use sctp_outq_init to fully re-initalize the
51492 outq structure. Steve West recently asked me why I removed the q->error = 0
51493 initalization from sctp_outq_teardown. I did so because I was operating under
51494 the impression that sctp_outq_init would properly initalize that value for us,
51495 but it doesn't. sctp_outq_init operates under the assumption that the outq
51496 struct is all 0's (as it is when called from sctp_association_init), but using
51497 it in __sctp_outq_teardown violates that assumption. We should do a memset in
51498 sctp_outq_init to ensure that the entire structure is in a known state there
51499 instead.
51500
51501 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
51502 Reported-by: "West, Steve (NSN - US/Fort Worth)" <steve.west@nsn.com>
51503 CC: Vlad Yasevich <vyasevich@gmail.com>
51504 CC: netdev@vger.kernel.org
51505 CC: davem@davemloft.net
51506 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
51507 Signed-off-by: David S. Miller <davem@davemloft.net>
51508
51509 Conflicts:
51510
51511 net/sctp/outqueue.c
51512
51513 net/sctp/outqueue.c | 8 ++------
51514 1 files changed, 2 insertions(+), 6 deletions(-)
51515
51516 commit e13515ad7a9c7634599a105b2527752e527a905d
51517 Author: Saurabh Mohan <saurabh@vyatta.com>
51518 Date: Mon Jun 10 17:45:10 2013 -0700
51519
51520 Upstream commit: baafc77b32f647daa7c45825f7af8cdd55d00817
51521
51522 net/ipv4: ip_vti clear skb cb before tunneling.
51523
51524 If users apply shaper to vti tunnel then it will cause a kernel crash. The
51525 problem seems to be due to the vti_tunnel_xmit function not clearing
51526 skb->opt field before passing the packet to xfrm tunneling code.
51527
51528 Signed-off-by: Saurabh Mohan <saurabh@vyatta.com>
51529 Acked-by: Stephen Hemminger <stephen@networkplumber.org>
51530 Signed-off-by: David S. Miller <davem@davemloft.net>
51531
51532 net/ipv4/ip_vti.c | 3 +--
51533 1 files changed, 1 insertions(+), 2 deletions(-)
51534
51535 commit e63056a252ed6fc0f16ab158d7c34cb57bd762e4
51536 Author: Guillaume Nault <g.nault@alphalink.fr>
51537 Date: Wed Jun 12 16:07:36 2013 +0200
51538
51539 Upstream commit: a6f79d0f26704214b5b702bbac525cb72997f984
51540
51541 l2tp: Fix sendmsg() return value
51542
51543 PPPoL2TP sockets should comply with the standard send*() return values
51544 (i.e. return number of bytes sent instead of 0 upon success).
51545
51546 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
51547 Signed-off-by: David S. Miller <davem@davemloft.net>
51548
51549 net/l2tp/l2tp_ppp.c | 2 +-
51550 1 files changed, 1 insertions(+), 1 deletions(-)
51551
51552 commit af361b412e816e894fb42ddff7a0545b7def64c0
51553 Author: Guillaume Nault <g.nault@alphalink.fr>
51554 Date: Wed Jun 12 16:07:23 2013 +0200
51555
51556 Upstream commit: 55b92b7a11690bc377b5d373872a6b650ae88e64
51557
51558 l2tp: Fix PPP header erasure and memory leak
51559
51560 Copy user data after PPP framing header. This prevents erasure of the
51561 added PPP header and avoids leaking two bytes of uninitialised memory
51562 at the end of skb's data buffer.
51563
51564 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
51565 Signed-off-by: David S. Miller <davem@davemloft.net>
51566
51567 net/l2tp/l2tp_ppp.c | 4 ++--
51568 1 files changed, 2 insertions(+), 2 deletions(-)
51569
51570 commit 1f43aca088c35dda35abf76e08544e534c71fed4
51571 Author: Daniel Borkmann <dborkman@redhat.com>
51572 Date: Wed Jun 12 16:02:27 2013 +0200
51573
51574 Upstream commit: 2dc85bf323515e59e15dfa858d1472bb25cad0fe
51575
51576 packet: packet_getname_spkt: make sure string is always 0-terminated
51577
51578 uaddr->sa_data is exactly of size 14, which is hard-coded here and
51579 passed as a size argument to strncpy(). A device name can be of size
51580 IFNAMSIZ (== 16), meaning we might leave the destination string
51581 unterminated. Thus, use strlcpy() and also sizeof() while we're
51582 at it. We need to memset the data area beforehand, since strlcpy
51583 does not padd the remaining buffer with zeroes for user space, so
51584 that we do not possibly leak anything.
51585
51586 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
51587 Signed-off-by: David S. Miller <davem@davemloft.net>
51588
51589 net/packet/af_packet.c | 5 ++---
51590 1 files changed, 2 insertions(+), 3 deletions(-)
51591
51592 commit d0ae62fae5528bf2a393377f50b8dd9888d1e49f
51593 Author: Andy Lutomirski <luto@amacapital.net>
51594 Date: Wed Jun 5 19:38:26 2013 +0000
51595
51596 Upstream commit: a7526eb5d06b0084ef12d7b168d008fcf516caab
51597
51598 net: Unbreak compat_sys_{send,recv}msg
51599
51600 I broke them in this commit:
51601
51602 commit 1be374a0518a288147c6a7398792583200a67261
51603 Author: Andy Lutomirski <luto@amacapital.net>
51604 Date: Wed May 22 14:07:44 2013 -0700
51605
51606 net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
51607
51608 This patch adds __sys_sendmsg and __sys_sendmsg as common helpers that accept
51609 MSG_CMSG_COMPAT and blocks MSG_CMSG_COMPAT at the syscall entrypoints. It
51610 also reverts some unnecessary checks in sys_socketcall.
51611
51612 Apparently I was suffering from underscore blindness the first time around.
51613
51614 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
51615 Tested-by: Eric Dumazet <edumazet@google.com>
51616 Signed-off-by: David S. Miller <davem@davemloft.net>
51617
51618 include/linux/socket.h | 3 ++
51619 net/compat.c | 13 +++++++-
51620 net/socket.c | 72 ++++++++++++++++++++++--------------------------
51621 3 files changed, 47 insertions(+), 41 deletions(-)
51622
51623 commit b481a366021e5db07a9ea138bc0c1fe598a5ba2f
51624 Author: Andy Lutomirski <luto@amacapital.net>
51625 Date: Wed May 22 14:07:44 2013 -0700
51626
51627 Upstream commit: 1be374a0518a288147c6a7398792583200a67261
51628
51629 net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
51630
51631 To: linux-kernel@vger.kernel.org
51632 Cc: x86@kernel.org, trinity@vger.kernel.org, Andy Lutomirski <luto@amacapital.net>, netdev@vger.kernel.org, "David S.
51633 Miller" <davem@davemloft.net>
51634 Subject: [PATCH 5/5] net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
51635
51636 MSG_CMSG_COMPAT is (AFAIK) not intended to be part of the API --
51637 it's a hack that steals a bit to indicate to other networking code
51638 that a compat entry was used. So don't allow it from a non-compat
51639 syscall.
51640
51641 This prevents an oops when running this code:
51642
51643 int main()
51644 {
51645 int s;
51646 struct sockaddr_in addr;
51647 struct msghdr *hdr;
51648
51649 char *highpage = mmap((void*)(TASK_SIZE_MAX - 4096), 4096,
51650 PROT_READ | PROT_WRITE,
51651 MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
51652 if (highpage == MAP_FAILED)
51653 err(1, "mmap");
51654
51655 s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
51656 if (s == -1)
51657 err(1, "socket");
51658
51659 addr.sin_family = AF_INET;
51660 addr.sin_port = htons(1);
51661 addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
51662 if (connect(s, (struct sockaddr*)&addr, sizeof(addr)) != 0)
51663 err(1, "connect");
51664
51665 void *evil = highpage + 4096 - COMPAT_MSGHDR_SIZE;
51666 printf("Evil address is %p\n", evil);
51667
51668 if (syscall(__NR_sendmmsg, s, evil, 1, MSG_CMSG_COMPAT) < 0)
51669 err(1, "sendmmsg");
51670
51671 return 0;
51672 }
51673
51674 Cc: David S. Miller <davem@davemloft.net>
51675 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
51676 Signed-off-by: David S. Miller <davem@davemloft.net>
51677
51678 net/socket.c | 33 +++++++++++++++++++++++++++++++--
51679 1 files changed, 31 insertions(+), 2 deletions(-)
51680
51681 commit 6ccb09f408cc4ff23adbf68c7d2307f5fffcf88e
51682 Author: Kees Cook <keescook@chromium.org>
51683 Date: Fri May 10 14:48:21 2013 -0700
51684
51685 Upstream commit: e0e29b683d6784ef59bbc914eac85a04b650e63c
51686
51687 b43: stop format string leaking into error msgs
51688
51689 The module parameter "fwpostfix" is userspace controllable, unfiltered,
51690 and is used to define the firmware filename. b43_do_request_fw() populates
51691 ctx->errors[] on error, containing the firmware filename. b43err()
51692 parses its arguments as a format string. For systems with b43 hardware,
51693 this could lead to a uid-0 to ring-0 escalation.
51694
51695 CVE-2013-2852
51696
51697 Signed-off-by: Kees Cook <keescook@chromium.org>
51698 Cc: stable@vger.kernel.org
51699 Signed-off-by: John W. Linville <linville@tuxdriver.com>
51700
51701 drivers/net/wireless/b43/main.c | 2 +-
51702 1 files changed, 1 insertions(+), 1 deletions(-)
51703
51704 commit dfb67a67049ace7b94ad7e2febfac69816d50d85
51705 Author: Mark A. Greer <mgreer@animalcreek.com>
51706 Date: Wed May 29 12:25:34 2013 -0700
51707
51708 Upstream commit: f873ded213d6d8c36354c0fc903af44da4fd6ac5
51709
51710 mwifiex: debugfs: Fix out of bounds array access
51711
51712 When reading the contents of '/sys/kernel/debug/mwifiex/p2p0/info',
51713 the following panic occurs:
51714
51715 $ cat /sys/kernel/debug/mwifiex/p2p0/info
51716 Unable to handle kernel paging request at virtual address 74706164
51717 pgd = de530000
51718 [74706164] *pgd=00000000
51719 Internal error: Oops: 5 [#1] SMP ARM
51720 Modules linked in: phy_twl4030_usb omap2430 musb_hdrc mwifiex_sdio mwifiex
51721 CPU: 0 PID: 1635 Comm: cat Not tainted 3.10.0-rc1-00010-g1268390 #1
51722 task: de16b6c0 ti: de048000 task.ti: de048000
51723 PC is at strnlen+0xc/0x4c
51724 LR is at string+0x3c/0xf8
51725 pc : [<c02c123c>] lr : [<c02c2d1c>] psr: a0000013
51726 sp : de049e10 ip : c06efba0 fp : de6d2092
51727 r10: bf01a260 r9 : ffffffff r8 : 74706164
51728 r7 : 0000ffff r6 : ffffffff r5 : de6d209c r4 : 00000000
51729 r3 : ff0a0004 r2 : 74706164 r1 : ffffffff r0 : 74706164
51730 Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
51731 Control: 10c5387d Table: 9e530019 DAC: 00000015
51732 Process cat (pid: 1635, stack limit = 0xde048240)
51733 Stack: (0xde049e10 to 0xde04a000)
51734 9e00: de6d2092 00000002 bf01a25e de6d209c
51735 9e20: de049e80 c02c438c 0000000a ff0a0004 ffffffff 00000000 00000000 de049e48
51736 9e40: 00000000 2192df6d ff0a0004 ffffffff 00000000 de6d2092 de049ef8 bef3cc00
51737 9e60: de6b0000 dc358000 de6d2000 00000000 00000003 c02c45a4 bf01790c bf01a254
51738 9e80: 74706164 bf018698 00000000 de59c3c0 de048000 de049f80 00001000 bef3cc00
51739 9ea0: 00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
51740 9ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
51741 9ee0: 00000000 00000000 00000000 00000001 00000000 00000000 6669776d 20786569
51742 9f00: 20302e31 2e343128 392e3636 3231702e 00202933 00000000 00000003 c0294898
51743 9f20: 00000000 00000000 00000000 00000000 de59c3c0 c0107c04 de554000 de59c3c0
51744 9f40: 00001000 bef3cc00 de049f80 bef3cc00 de049f80 00000000 00000003 c0108a00
51745 9f60: de048000 de59c3c0 00000000 00000000 de59c3c0 00001000 bef3cc00 c0108b60
51746 9f80: 00000000 00000000 00001000 bef3cc00 00000003 00000003 c0014128 de048000
51747 9fa0: 00000000 c0013f80 00001000 bef3cc00 00000003 bef3cc00 00001000 00000000
51748 9fc0: 00001000 bef3cc00 00000003 00000003 00000001 00000001 00000001 00000003
51749 9fe0: 00000000 bef3cbdc 00011984 b6f1127c 60000010 00000003 18dbdd2c 7f7bfffd
51750 [<c02c123c>] (strnlen+0xc/0x4c) from [<c02c2d1c>] (string+0x3c/0xf8)
51751 [<c02c2d1c>] (string+0x3c/0xf8) from [<c02c438c>] (vsnprintf+0x1e8/0x3e8)
51752 [<c02c438c>] (vsnprintf+0x1e8/0x3e8) from [<c02c45a4>] (sprintf+0x18/0x24)
51753 [<c02c45a4>] (sprintf+0x18/0x24) from [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex])
51754 [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex]) from [<c0108a00>] (vfs_read+0xb0/0x144)
51755 [<c0108a00>] (vfs_read+0xb0/0x144) from [<c0108b60>] (SyS_read+0x44/0x70)
51756 [<c0108b60>] (SyS_read+0x44/0x70) from [<c0013f80>] (ret_fast_syscall+0x0/0x30)
51757 Code: e12fff1e e3510000 e1a02000 0a00000d (e5d03000)
51758 ---[ end trace ca98273dc605a04f ]---
51759
51760 The panic is caused by the mwifiex_info_read() routine assuming that
51761 there can only be four modes (0-3) which is an invalid assumption.
51762 For example, when testing P2P, the mode is '8' (P2P_CLIENT) so the
51763 code accesses data beyond the bounds of the bss_modes[] array which
51764 causes the panic. Fix this by updating bss_modes[] to support the
51765 current list of modes and adding a check to prevent the out-of-bounds
51766 access from occuring in the future when more modes are added.
51767
51768 Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
51769 Acked-by: Bing Zhao <bzhao@marvell.com>
51770 Signed-off-by: John W. Linville <linville@tuxdriver.com>
51771
51772 drivers/net/wireless/mwifiex/debugfs.c | 22 +++++++++++++++++-----
51773 1 files changed, 17 insertions(+), 5 deletions(-)
51774
51775 commit 04152dec6e99ca4c0fc52219f7cf2152dafe6b52
51776 Author: Johan Hedberg <johan.hedberg@intel.com>
51777 Date: Tue May 28 13:46:30 2013 +0300
51778
51779 Upstream commit: cb3b3152b2f5939d67005cff841a1ca748b19888
51780
51781 Bluetooth: Fix missing length checks for L2CAP signalling PDUs
51782
51783 There has been code in place to check that the L2CAP length header
51784 matches the amount of data received, but many PDU handlers have not been
51785 checking that the data received actually matches that expected by the
51786 specific PDU. This patch adds passing the length header to the specific
51787 handler functions and ensures that those functions fail cleanly in the
51788 case of an incorrect amount of data.
51789
51790 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
51791 Cc: stable@vger.kernel.org
51792 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
51793 Signed-off-by: John W. Linville <linville@tuxdriver.com>
51794
51795 net/bluetooth/l2cap_core.c | 70 ++++++++++++++++++++++++++++++++-----------
51796 1 files changed, 52 insertions(+), 18 deletions(-)
51797
51798 commit 628be2427afb241b5a1aa24bc5907d05287e1f25
51799 Author: Dan Carpenter <dan.carpenter@oracle.com>
51800 Date: Mon Jun 3 12:00:49 2013 +0300
51801
51802 Upstream commit: a8241c63517ec0b900695daa9003cddc41c536a1
51803
51804 ipvs: info leak in __ip_vs_get_dest_entries()
51805
51806 The entry struct has a 2 byte hole after ->port and another 4 byte
51807 hole after ->stats.outpkts. You must have CAP_NET_ADMIN in your
51808 namespace to hit this information leak.
51809
51810 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
51811 Acked-by: Julian Anastasov <ja@ssi.bg>
51812 Signed-off-by: Simon Horman <horms@verge.net.au>
51813 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
51814
51815 net/netfilter/ipvs/ip_vs_ctl.c | 1 +
51816 1 files changed, 1 insertions(+), 0 deletions(-)
51817
51818 commit 066d9226bc6c569d5f420c978b758e0bddd23444
51819 Author: Robin Holt <holt@sgi.com>
51820 Date: Wed Jun 12 14:04:37 2013 -0700
51821
51822 Upstream commit: cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db
51823
51824 reboot: rigrate shutdown/reboot to boot cpu
51825
51826 We recently noticed that reboot of a 1024 cpu machine takes approx 16
51827 minutes of just stopping the cpus. The slowdown was tracked to commit
51828 f96972f2dc63 ("kernel/sys.c: call disable_nonboot_cpus() in
51829 kernel_restart()").
51830
51831 The current implementation does all the work of hot removing the cpus
51832 before halting the system. We are switching to just migrating to the
51833 boot cpu and then continuing with shutdown/reboot.
51834
51835 This also has the effect of not breaking x86's command line parameter
51836 for specifying the reboot cpu. Note, this code was shamelessly copied
51837 from arch/x86/kernel/reboot.c with bits removed pertaining to the
51838 reboot_cpu command line parameter.
51839
51840 Signed-off-by: Robin Holt <holt@sgi.com>
51841 Tested-by: Shawn Guo <shawn.guo@linaro.org>
51842 Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
51843 Cc: H. Peter Anvin <hpa@zytor.com>
51844 Cc: Thomas Gleixner <tglx@linutronix.de>
51845 Cc: Ingo Molnar <mingo@elte.hu>
51846 Cc: Russ Anderson <rja@sgi.com>
51847 Cc: Robin Holt <holt@sgi.com>
51848 Cc: Russell King <linux@arm.linux.org.uk>
51849 Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
51850 Cc: <stable@vger.kernel.org>
51851 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
51852 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
51853
51854 kernel/sys.c | 29 ++++++++++++++++++++++++++---
51855 1 files changed, 26 insertions(+), 3 deletions(-)
51856
51857 commit 94e2a91600b07d39825e7059195f35eb611a39a2
51858 Merge: 20cc761 e6e3059
51859 Author: Brad Spengler <spender@grsecurity.net>
51860 Date: Thu Jun 13 16:23:46 2013 -0400
51861
51862 Merge branch 'pax-test' into grsec-test
51863
51864 commit e6e3059de5525ebcd55af43b20c9cdbf43b9d30a
51865 Merge: c6aadb1 4b73feb
51866 Author: Brad Spengler <spender@grsecurity.net>
51867 Date: Thu Jun 13 16:23:39 2013 -0400
51868
51869 Merge branch 'linux-3.9.y' into pax-test
51870
51871 commit 20cc7613e38cde07adc73179a91d6c15292e8d43
51872 Author: Daniel Borkmann <dborkman@redhat.com>
51873 Date: Thu Jun 6 15:53:47 2013 +0200
51874
51875 Upstream commit: 1abd165ed757db1afdefaac0a4bc8a70f97d258c
51876
51877 net: sctp: fix NULL pointer dereference in socket destruction
51878
51879 While stress testing sctp sockets, I hit the following panic:
51880
51881 BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
51882 IP: [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
51883 PGD 7cead067 PUD 7ce76067 PMD 0
51884 Oops: 0000 [#1] SMP
51885 Modules linked in: sctp(F) libcrc32c(F) [...]
51886 CPU: 7 PID: 2950 Comm: acc Tainted: GF 3.10.0-rc2+ #1
51887 Hardware name: Dell Inc. PowerEdge T410/0H19HD, BIOS 1.6.3 02/01/2011
51888 task: ffff88007ce0e0c0 ti: ffff88007b568000 task.ti: ffff88007b568000
51889 RIP: 0010:[<ffffffffa0490c4e>] [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
51890 RSP: 0018:ffff88007b569e08 EFLAGS: 00010292
51891 RAX: 0000000000000000 RBX: ffff88007db78a00 RCX: dead000000200200
51892 RDX: ffffffffa049fdb0 RSI: ffff8800379baf38 RDI: 0000000000000000
51893 RBP: ffff88007b569e18 R08: ffff88007c230da0 R09: 0000000000000001
51894 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
51895 R13: ffff880077990d00 R14: 0000000000000084 R15: ffff88007db78a00
51896 FS: 00007fc18ab61700(0000) GS:ffff88007fc60000(0000) knlGS:0000000000000000
51897 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
51898 CR2: 0000000000000020 CR3: 000000007cf9d000 CR4: 00000000000007e0
51899 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
51900 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
51901 Stack:
51902 ffff88007b569e38 ffff88007db78a00 ffff88007b569e38 ffffffffa049fded
51903 ffffffff81abf0c0 ffff88007db78a00 ffff88007b569e58 ffffffff8145b60e
51904 0000000000000000 0000000000000000 ffff88007b569eb8 ffffffff814df36e
51905 Call Trace:
51906 [<ffffffffa049fded>] sctp_destroy_sock+0x3d/0x80 [sctp]
51907 [<ffffffff8145b60e>] sk_common_release+0x1e/0xf0
51908 [<ffffffff814df36e>] inet_create+0x2ae/0x350
51909 [<ffffffff81455a6f>] __sock_create+0x11f/0x240
51910 [<ffffffff81455bf0>] sock_create+0x30/0x40
51911 [<ffffffff8145696c>] SyS_socket+0x4c/0xc0
51912 [<ffffffff815403be>] ? do_page_fault+0xe/0x10
51913 [<ffffffff8153cb32>] ? page_fault+0x22/0x30
51914 [<ffffffff81544e02>] system_call_fastpath+0x16/0x1b
51915 Code: 0c c9 c3 66 2e 0f 1f 84 00 00 00 00 00 e8 fb fe ff ff c9 c3 66 0f
51916 1f 84 00 00 00 00 00 55 48 89 e5 53 48 83 ec 08 66 66 66 66 90 <48>
51917 8b 47 20 48 89 fb c6 47 1c 01 c6 40 12 07 e8 9e 68 01 00 48
51918 RIP [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
51919 RSP <ffff88007b569e08>
51920 CR2: 0000000000000020
51921 ---[ end trace e0d71ec1108c1dd9 ]---
51922
51923 I did not hit this with the lksctp-tools functional tests, but with a
51924 small, multi-threaded test program, that heavily allocates, binds,
51925 listens and waits in accept on sctp sockets, and then randomly kills
51926 some of them (no need for an actual client in this case to hit this).
51927 Then, again, allocating, binding, etc, and then killing child processes.
51928
51929 This panic then only occurs when ``echo 1 > /proc/sys/net/sctp/auth_enable''
51930 is set. The cause for that is actually very simple: in sctp_endpoint_init()
51931 we enter the path of sctp_auth_init_hmacs(). There, we try to allocate
51932 our crypto transforms through crypto_alloc_hash(). In our scenario,
51933 it then can happen that crypto_alloc_hash() fails with -EINTR from
51934 crypto_larval_wait(), thus we bail out and release the socket via
51935 sk_common_release(), sctp_destroy_sock() and hit the NULL pointer
51936 dereference as soon as we try to access members in the endpoint during
51937 sctp_endpoint_free(), since endpoint at that time is still NULL. Now,
51938 if we have that case, we do not need to do any cleanup work and just
51939 leave the destruction handler.
51940
51941 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
51942 Acked-by: Neil Horman <nhorman@tuxdriver.com>
51943 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
51944 Signed-off-by: David S. Miller <davem@davemloft.net>
51945
51946 net/sctp/socket.c | 6 ++++++
51947 1 files changed, 6 insertions(+), 0 deletions(-)
51948
51949 commit 386ba837978cc8a1111440bdcd8600f2df4634a4
51950 Author: Brad Spengler <spender@grsecurity.net>
51951 Date: Wed Jun 12 20:37:48 2013 -0400
51952
51953 fix deadlock when booting i386 kernel without NX
51954
51955 mm/mmap.c | 4 +++-
51956 1 files changed, 3 insertions(+), 1 deletions(-)
51957
51958 commit fe96e11acb36fcda9a9e6f6439557db4aa4e8da0
51959 Author: Brad Spengler <spender@grsecurity.net>
51960 Date: Tue Jun 11 22:18:07 2013 -0400
51961
51962 fix elif / elif defined() typo in recent change
51963
51964 kernel/events/core.c | 2 +-
51965 1 files changed, 1 insertions(+), 1 deletions(-)
51966
51967 commit bc43377e1e757cd37a06be0187884a42af718aab
51968 Merge: 3cdea63 c6aadb1
51969 Author: Brad Spengler <spender@grsecurity.net>
51970 Date: Tue Jun 11 18:50:39 2013 -0400
51971
51972 Merge branch 'pax-test' into grsec-test
51973
51974 commit c6aadb12ae8dd3d12c2d6b8fbe80d29e514d60c0
51975 Author: Brad Spengler <spender@grsecurity.net>
51976 Date: Tue Jun 11 18:49:36 2013 -0400
51977
51978 Update to pax-linux-3.9.4-test9.patch:
51979 - fixed a KERNEXEC regression resulting in unusable RAM regions (http://forums.grsecurity.net/viewtopic.php?f=3&t=3506)
51980 - removed a user-triggerable BUG_ON, fixing it properly wasn't worth the effort
51981
51982 arch/x86/kernel/setup.c | 2 +-
51983 mm/mlock.c | 1 -
51984 2 files changed, 1 insertions(+), 2 deletions(-)
51985
51986 commit 3cdea63e90607d8d55820b101854091623feedb8
51987 Author: Brad Spengler <spender@grsecurity.net>
51988 Date: Mon Jun 10 21:21:44 2013 -0400
51989
51990 Fix fanotify infoleak reported by Dan Carpenter at:
51991 https://lkml.org/lkml/2013/6/3/128
51992
51993 Requires CAP_SYS_ADMIN, so this is about as low priority as it gets
51994
51995 fs/notify/fanotify/fanotify_user.c | 1 +
51996 1 files changed, 1 insertions(+), 0 deletions(-)
51997
51998 commit 373a2b5df78f82b9d3db72bd6577e29a71591323
51999 Author: Brad Spengler <spender@grsecurity.net>
52000 Date: Mon Jun 10 21:16:46 2013 -0400
52001
52002 Backport infoleak fix by Dan Carpenter in cpqarray:
52003 https://lkml.org/lkml/2013/6/3/131
52004
52005 drivers/block/cpqarray.c | 1 +
52006 1 files changed, 1 insertions(+), 0 deletions(-)
52007
52008 commit 251e84b9b05e063981b20be154c9389862f94759
52009 Author: Brad Spengler <spender@grsecurity.net>
52010 Date: Mon Jun 10 21:04:17 2013 -0400
52011
52012 Backport 050e4b8fb7cdd7096c987a9cd556029c622c7fe2
52013
52014 drivers/cdrom/cdrom.c | 4 ++--
52015 1 files changed, 2 insertions(+), 2 deletions(-)
52016
52017 commit 383d89bf95818b05a485a6e8b118963b5bcbc83e
52018 Author: Brad Spengler <spender@grsecurity.net>
52019 Date: Mon Jun 10 18:34:32 2013 -0400
52020
52021 change const to __read_only
52022
52023 kernel/sysctl.c | 18 +++++++++---------
52024 1 files changed, 9 insertions(+), 9 deletions(-)
52025
52026 commit 8f08f803f605649e63f0857a1b9a9805b629eaa4
52027 Author: Brad Spengler <spender@grsecurity.net>
52028 Date: Mon Jun 10 17:34:13 2013 -0400
52029
52030 compile fix, make const values const
52031
52032 kernel/sysctl.c | 18 +++++++++---------
52033 1 files changed, 9 insertions(+), 9 deletions(-)
52034
52035 commit 6b90c228f6d4a3c2cc9c2b9a6a7ac14534ebd42d
52036 Author: Brad Spengler <spender@grsecurity.net>
52037 Date: Mon Jun 10 17:37:13 2013 -0400
52038
52039 Backport upstream commit: af733960ca59f7d59ea337e1f633771c9e67101a
52040
52041 drivers/char/mwave/tp3780i.c | 1 +
52042 1 files changed, 1 insertions(+), 0 deletions(-)
52043
52044 commit 1c590aa70c95ebd76ba9672aa23d800b81780615
52045 Author: Brad Spengler <spender@grsecurity.net>
52046 Date: Sun Jun 9 19:50:35 2013 -0400
52047
52048 allow -1 perf_event_paranoid
52049
52050 kernel/sysctl.c | 2 +-
52051 1 files changed, 1 insertions(+), 1 deletions(-)
52052
52053 commit defdc4a2bd3efda4af2bb6f3aa8f495fa8078584
52054 Merge: 4e85539 117c3fa
52055 Author: Brad Spengler <spender@grsecurity.net>
52056 Date: Sun Jun 9 17:30:12 2013 -0400
52057
52058 Merge branch 'pax-test' into grsec-test
52059
52060 commit 117c3fa8d26c3806103123560f807d99071b60b6
52061 Merge: ed9b427 5dd2e98
52062 Author: Brad Spengler <spender@grsecurity.net>
52063 Date: Sun Jun 9 17:30:00 2013 -0400
52064
52065 Merge branch 'linux-3.9.y' into pax-test
52066
52067 commit 4e8553989b0406f15be4a2dccdbc7599cc2b4f42
52068 Author: Eric Dumazet <edumazet@google.com>
52069 Date: Mon May 13 21:25:52 2013 +0000
52070
52071 Upstream commit: 54d27fcb338bd9c42d1dfc5a39e18f6f9d373c2e
52072
52073 tcp: fix tcp_md5_hash_skb_data()
52074
52075 TCP md5 communications fail [1] for some devices, because sg/crypto code
52076 assume page offsets are below PAGE_SIZE.
52077
52078 This was discovered using mlx4 driver [2], but I suspect loopback
52079 might trigger the same bug now we use order-3 pages in tcp_sendmsg()
52080
52081 [1] Failure is giving following messages.
52082
52083 huh, entered softirq 3 NET_RX ffffffff806ad230 preempt_count 00000100,
52084 exited with 00000101?
52085
52086 [2] mlx4 driver uses order-2 pages to allocate RX frags
52087
52088 Reported-by: Matt Schnall <mischnal@google.com>
52089 Signed-off-by: Eric Dumazet <edumazet@google.com>
52090 Cc: Bernhard Beck <bbeck@google.com>
52091 Signed-off-by: David S. Miller <davem@davemloft.net>
52092
52093 net/ipv4/tcp.c | 7 +++++--
52094 1 files changed, 5 insertions(+), 2 deletions(-)
52095
52096 commit 4f1ed254c28a1b3e03c0b0b744c5042661c295eb
52097 Author: Eric Dumazet <edumazet@google.com>
52098 Date: Fri May 17 04:53:13 2013 +0000
52099
52100 Upstream commit: 284041ef21fdf2e0d216ab6b787bc9072b4eb58a
52101
52102 ipv6: fix possible crashes in ip6_cork_release()
52103
52104 commit 0178b695fd6b4 ("ipv6: Copy cork options in ip6_append_data")
52105 added some code duplication and bad error recovery, leading to potential
52106 crash in ip6_cork_release() as kfree() could be called with garbage.
52107
52108 use kzalloc() to make sure this wont happen.
52109
52110 Signed-off-by: Eric Dumazet <edumazet@google.com>
52111 Signed-off-by: David S. Miller <davem@davemloft.net>
52112 Cc: Herbert Xu <herbert@gondor.apana.org.au>
52113 Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
52114 Cc: Neal Cardwell <ncardwell@google.com>
52115
52116 net/ipv6/ip6_output.c | 2 +-
52117 1 files changed, 1 insertions(+), 1 deletions(-)
52118
52119 commit 5771263fe368cd384127dd17d7596a7e1a4e2eec
52120 Author: Chen Gang <gang.chen@asianux.com>
52121 Date: Thu May 16 23:13:04 2013 +0000
52122
52123 Upstream commit: ff0102ee104847023c36357e2b9f133f3f40d211
52124
52125 net: irda: using kzalloc() instead of kmalloc() to avoid strncpy() issue.
52126
52127 'discovery->data.info' length is 22, NICKNAME_MAX_LEN is 21, so the
52128 strncpy() will always left the last byte of 'discovery->data.info'
52129 uninitialized.
52130
52131 When 'text' length is longer than 21 (NICKNAME_MAX_LEN), if still left
52132 the last byte of 'discovery->data.info' uninitialized, the next
52133 strlen() will cause issue.
52134
52135 Also 'discovery->data' is 'struct irda_device_info' which defined in
52136 "include/uapi/...", it may copy to user mode, so need whole initialized.
52137
52138 All together, need use kzalloc() instead of kmalloc() to initialize all
52139 members firstly.
52140
52141 Signed-off-by: Chen Gang <gang.chen@asianux.com>
52142 Signed-off-by: David S. Miller <davem@davemloft.net>
52143
52144 net/irda/irlap_frame.c | 2 +-
52145 1 files changed, 1 insertions(+), 1 deletions(-)
52146
52147 commit c01c9af268cb066f240aec53454b8b74d8d01688
52148 Author: Dan Carpenter <dan.carpenter@oracle.com>
52149 Date: Sun May 19 08:36:36 2013 +0000
52150
52151 Upstream commit: 25dff94ff9df40d4d663bb6ea3193a7758cc50e5
52152
52153 isdn/kcapi: fix a small underflow
52154
52155 In get_capi_ctr_by_nr() and get_capi_appl_by_nr() the parameter comes
52156 from skb->data. The current code can underflow to one space before the
52157 start of the array.
52158
52159 The sanity check isn't needed in __get_capi_appl_by_nr() but I changed
52160 it to match the others.
52161
52162 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
52163 Signed-off-by: David S. Miller <davem@davemloft.net>
52164
52165 drivers/isdn/capi/kcapi.c | 6 +++---
52166 1 files changed, 3 insertions(+), 3 deletions(-)
52167
52168 commit 4a3f12a9df775147b0c4b0277de1aa99eddc5c66
52169 Author: Timo Teräs <timo.teras@iki.fi>
52170 Date: Wed May 22 01:40:47 2013 +0000
52171
52172 Upstream commit: 497574c72c9922cf20c12aed15313c389f722fa0
52173
52174 xfrm: properly handle invalid states as an error
52175
52176 The error exit path needs err explicitly set. Otherwise it
52177 returns success and the only caller, xfrm_output_resume(),
52178 would oops in skb_dst(skb)->ops derefence as skb_dst(skb) is
52179 NULL.
52180
52181 Bug introduced in commit bb65a9cb (xfrm: removes a superfluous
52182 check and add a statistic).
52183
52184 Signed-off-by: Timo Teräs <timo.teras@iki.fi>
52185 Cc: Li RongQing <roy.qing.li@gmail.com>
52186 Cc: Steffen Klassert <steffen.klassert@secunet.com>
52187 Signed-off-by: David S. Miller <davem@davemloft.net>
52188
52189 net/xfrm/xfrm_output.c | 1 +
52190 1 files changed, 1 insertions(+), 0 deletions(-)
52191
52192 commit 61d8e1e848afa93cd971f6d1da875ad98b6ddfbd
52193 Author: Jeff Mahoney <jeffm@jeffreymahoney.com>
52194 Date: Fri May 31 15:07:52 2013 -0400
52195
52196 Upstream commit: 0bdc7acba56a7ca4232f15f37b16f7ec079385ab
52197
52198 reiserfs: fix spurious multiple-fill in reiserfs_readdir_dentry
52199
52200 After sleeping for filldir(), we check to see if the file system has
52201 changed and research. The next_pos pointer is updated but its value
52202 isn't pushed into the key used for the search itself. As a result,
52203 the search returns the same item that the last cycle of the loop did
52204 and filldir() is called multiple times with the same data.
52205
52206 The end result is that the buffer can contain the same name multiple
52207 times. This can be returned to userspace or used internally in the
52208 xattr code where it can manifest with the following warning:
52209
52210 jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-2)
52211
52212 reiserfs_for_each_xattr uses reiserfs_readdir_dentry to iterate over
52213 the xattr names and ends up trying to unlink the same name twice. The
52214 second attempt fails with -ENOENT and the error is returned. At some
52215 point I'll need to add support into reiserfsck to remove the orphaned
52216 directories left behind when this occurs.
52217
52218 The fix is to push the value into the key before researching.
52219
52220 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
52221 Signed-off-by: Jan Kara <jack@suse.cz>
52222
52223 fs/reiserfs/dir.c | 2 ++
52224 1 files changed, 2 insertions(+), 0 deletions(-)
52225
52226 commit ca0746bf380eec77d75d1741ac4742ded0e55ec7
52227 Author: Jeff Mahoney <jeffm@suse.com>
52228 Date: Fri May 31 15:51:17 2013 -0400
52229
52230 Upstream commit: a1457c0ce976bad1356b9b0437f2a5c3ab8a9cfc
52231
52232 reiserfs: fix deadlock with nfs racing on create/lookup
52233
52234 Reiserfs is currently able to be deadlocked by having two NFS clients
52235 where one has removed and recreated a file and another is accessing the
52236 file with an open file handle.
52237
52238 If one client deletes and recreates a file with timing such that the
52239 recreated file obtains the same [dirid, objectid] pair as the original
52240 file while another client accesses the file via file handle, the create
52241 and lookup can race and deadlock if the lookup manages to create the
52242 in-memory inode first.
52243
52244 The create thread, in insert_inode_locked4, will hold the write lock
52245 while waiting on the other inode to be unlocked. The lookup thread,
52246 anywhere in the iget path, will release and reacquire the write lock while
52247 it schedules. If it needs to reacquire the lock while the create thread
52248 has it, it will never be able to make forward progress because it needs
52249 to reacquire the lock before ultimately unlocking the inode.
52250
52251 This patch drops the write lock across the insert_inode_locked4 call so
52252 that the ordering of inode_wait -> write lock is retained. Since this
52253 would have been the case before the BKL push-down, this is safe.
52254
52255 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
52256 Signed-off-by: Jan Kara <jack@suse.cz>
52257
52258 fs/reiserfs/inode.c | 9 +++++++--
52259 1 files changed, 7 insertions(+), 2 deletions(-)
52260
52261 commit cd21c0eb4950498be46a07257426c0cea4aa2bf1
52262 Author: Jeff Mahoney <jeffm@suse.com>
52263 Date: Fri May 31 15:54:17 2013 -0400
52264
52265 Upstream commit: 4a8570112b76a63ad21cfcbe2783f98f7fd5ba1b
52266
52267 reiserfs: fix problems with chowning setuid file w/ xattrs
52268
52269 reiserfs_chown_xattrs() takes the iattr struct passed into ->setattr
52270 and uses it to iterate over all the attrs associated with a file to change
52271 ownership of xattrs (and transfer quota associated with the xattr files).
52272
52273 When the setuid bit is cleared during chown, ATTR_MODE and iattr->ia_mode
52274 are passed to all the xattrs as well. This means that the xattr directory
52275 will have S_IFREG added to its mode bits.
52276
52277 This has been prevented in practice by a missing IS_PRIVATE check
52278 in reiserfs_acl_chmod, which caused a double-lock to occur while holding
52279 the write lock. Since the file system was completely locked up, the
52280 writeout of the corrupted mode never happened.
52281
52282 This patch temporarily clears everything but ATTR_UID|ATTR_GID for the
52283 calls to reiserfs_setattr and adds the missing IS_PRIVATE check.
52284
52285 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
52286 Signed-off-by: Jan Kara <jack@suse.cz>
52287
52288 fs/reiserfs/xattr.c | 14 +++++++++++++-
52289 fs/reiserfs/xattr_acl.c | 3 +++
52290 2 files changed, 16 insertions(+), 1 deletions(-)
52291
52292 commit c18cef940310c06bdf86d64d8cb227e56e165300
52293 Author: Dave Chinner <dchinner@redhat.com>
52294 Date: Mon May 27 16:38:25 2013 +1000
52295
52296 Upstream commit: 2962f5a5dcc56f69cbf62121a7be67cc15d6940b
52297
52298 xfs: kill suid/sgid through the truncate path.
52299
52300 XFS has failed to kill suid/sgid bits correctly when truncating
52301 files of non-zero size since commit c4ed4243 ("xfs: split
52302 xfs_setattr") introduced in the 3.1 kernel. Fix it.
52303
52304 Fix it.
52305
52306 cc: stable kernel <stable@vger.kernel.org>
52307 Signed-off-by: Dave Chinner <dchinner@redhat.com>
52308 Reviewed-by: Brian Foster <bfoster@redhat.com>
52309 Signed-off-by: Ben Myers <bpm@sgi.com>
52310
52311 (cherry picked from commit 56c19e89b38618390addfc743d822f99519055c6)
52312
52313 fs/xfs/xfs_iops.c | 47 ++++++++++++++++++++++++++++++++---------------
52314 1 files changed, 32 insertions(+), 15 deletions(-)
52315
52316 commit 8e62c6a0946a4b11a55540094a0ee5d3a222dbcc
52317 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
52318 Date: Wed May 29 15:36:40 2013 -0400
52319
52320 Upstream commit: f448badd34700ae728a32ba024249626d49c10e1
52321
52322 NFSv4: Fix a thinko in nfs4_try_open_cached
52323
52324 We need to pass the full open mode flags to nfs_may_open() when doing
52325 a delegated open.
52326
52327 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
52328 Cc: stable@vger.kernel.org
52329
52330 fs/nfs/nfs4proc.c | 2 +-
52331 1 files changed, 1 insertions(+), 1 deletions(-)
52332
52333 commit c47de62893a9f269be0a272c2840aac1e2a35c68
52334 Author: Chen Gang <gang.chen@asianux.com>
52335 Date: Thu May 30 01:18:43 2013 +0000
52336
52337 Upstream commit: ea99b1adf22abd62bdcf14b1c9a0a4d3664eefd8
52338
52339 parisc: kernel: using strlcpy() instead of strcpy()
52340
52341 'boot_args' is an input args, and 'boot_command_line' has a fix length.
52342 So use strlcpy() instead of strcpy() to avoid memory overflow.
52343
52344 Signed-off-by: Chen Gang <gang.chen@asianux.com>
52345 Acked-by: Kyle McMartin <kyle@mcmartin.ca>
52346 Signed-off-by: Helge Deller <deller@gmx.de>
52347
52348 arch/parisc/kernel/setup.c | 3 ++-
52349 1 files changed, 2 insertions(+), 1 deletions(-)
52350
52351 commit ce869e6f799f95fcac340420ba3612503df80dbf
52352 Author: Chen Gang <gang.chen@asianux.com>
52353 Date: Mon May 27 04:57:09 2013 +0000
52354
52355 Upstream commit: 3f108de96ba449a8df3d7e3c053bf890fee2cb95
52356
52357 parisc: memory overflow, 'name' length is too short for using
52358
52359 'path.bc[i]' can be asigned by PCI_SLOT() which can '> 10', so sizeof(6
52360 * "%u:" + "%u" + '\0') may be 21.
52361
52362 Since 'name' length is 20, it may be memory overflow.
52363
52364 And 'path.bc[i]' is 'unsigned char' for printing, we can be sure the
52365 max length of 'name' must be less than 28.
52366
52367 So simplify thinking, we can use 28 instead of 20 directly, and do not
52368 think of whether 'patchc.bc[i]' can '> 100'.
52369
52370 Signed-off-by: Chen Gang <gang.chen@asianux.com>
52371 Signed-off-by: Helge Deller <deller@gmx.de>
52372
52373 arch/parisc/kernel/drivers.c | 2 +-
52374 1 files changed, 1 insertions(+), 1 deletions(-)
52375
52376 commit 5dc65cd34d442783118a17c518e2daedb90a31d0
52377 Author: Brad Spengler <spender@grsecurity.net>
52378 Date: Tue Jun 4 17:52:23 2013 -0400
52379
52380 add PERF_HARDEN recommendation
52381
52382 grsecurity/Kconfig | 3 +++
52383 1 files changed, 3 insertions(+), 0 deletions(-)
52384
52385 commit 45b0f6e97666ca330b9a69e7fd2d2d9345d9618c
52386 Author: Brad Spengler <spender@grsecurity.net>
52387 Date: Tue Jun 4 17:22:44 2013 -0400
52388
52389 Introduce new feature: CONFIG_GRKERNSEC_PERF_HARDEN
52390
52391 grsecurity/Kconfig | 19 +++++++++++++++++++
52392 include/linux/perf_event.h | 5 +++++
52393 kernel/events/core.c | 10 +++++++++-
52394 kernel/sysctl.c | 9 ++++++++-
52395 4 files changed, 41 insertions(+), 2 deletions(-)
52396
52397 commit 84619a3501fd38285a72d9e963f58d1827beedd6
52398 Author: Brad Spengler <spender@grsecurity.net>
52399 Date: Sat Jun 1 14:23:31 2013 -0400
52400
52401 remove user-triggerable BUG_ON in do_munlockall()
52402
52403 mm/mlock.c | 1 -
52404 1 files changed, 0 insertions(+), 1 deletions(-)
52405
52406 commit f4bcf6087bd7b9a5b9c9021790396865c5362da0
52407 Author: Brad Spengler <spender@grsecurity.net>
52408 Date: Sat Jun 1 13:44:05 2013 -0400
52409
52410 Upstream commit: cea4dcfdad926a27a18e188720efe0f2c9403456
52411
52412 From: Kees Cook <keescook@chromium.org>
52413 Date: Thu, 23 May 2013 17:32:17 +0000
52414 Subject: iscsi-target: fix heap buffer overflow on error
52415
52416 If a key was larger than 64 bytes, as checked by iscsi_check_key(), the
52417 error response packet, generated by iscsi_add_notunderstood_response(),
52418 would still attempt to copy the entire key into the packet, overflowing
52419 the structure on the heap.
52420
52421 Remote preauthentication kernel memory corruption was possible if a
52422 target was configured and listening on the network.
52423
52424 CVE-2013-2850
52425
52426 Embargo-screwup-by: Kees Cook <keescook@chromium.org>
52427 Cc: stable@vger.kernel.org
52428 Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
52429
52430 drivers/target/iscsi/iscsi_target_parameters.c | 8 +++-----
52431 drivers/target/iscsi/iscsi_target_parameters.h | 4 +++-
52432 2 files changed, 6 insertions(+), 6 deletions(-)
52433
52434 commit 2fdc3e0a0ecd44f22d49ea2230638ed650dd5e7e
52435 Author: Brad Spengler <spender@grsecurity.net>
52436 Date: Sat Jun 1 13:43:26 2013 -0400
52437
52438 Revert "Fix distro-embargoed bug CVE-2013-2850, bad strncpy parameters"
52439 Applying upstream fix instead
52440
52441 This reverts commit 8c237f4a53a038ab0f1c4fdc3656bdb3d77b7291.
52442
52443 drivers/target/iscsi/iscsi_target_parameters.c | 5 +++--
52444 1 files changed, 3 insertions(+), 2 deletions(-)
52445
52446 commit 8ad50b7b6bbaaec7f07f894c15d76abe801f0769
52447 Author: Dan Carpenter <dan.carpenter@oracle.com>
52448 Date: Sun May 19 21:52:20 2013 +0300
52449
52450 Upstream commit: e75b61897276c5100e61c9c74fd55ded28f31431
52451
52452 USB: cxacru: potential underflow in cxacru_cm_get_array()
52453
52454 commit 2a0ebf80aa95cc758d4725f74a7016e992606a39 upstream.
52455
52456 The value of "offd" comes off the instance->rcv_buf[] and we used it as
52457 the offset into an array. The problem is that we check the upper bound
52458 but not for negative values.
52459
52460 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
52461 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
52462 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
52463
52464 drivers/usb/atm/cxacru.c | 3 ++-
52465 1 files changed, 2 insertions(+), 1 deletions(-)
52466
52467 commit 8c237f4a53a038ab0f1c4fdc3656bdb3d77b7291
52468 Author: Brad Spengler <spender@grsecurity.net>
52469 Date: Sat Jun 1 11:30:17 2013 -0400
52470
52471 Fix distro-embargoed bug CVE-2013-2850, bad strncpy parameters
52472
52473 drivers/target/iscsi/iscsi_target_parameters.c | 5 ++---
52474 1 files changed, 2 insertions(+), 3 deletions(-)
52475
52476 commit 8578566969d91678a3d7d5251b4eafc6d7775314
52477 Author: Brad Spengler <spender@grsecurity.net>
52478 Date: Thu May 30 17:44:15 2013 -0400
52479
52480 Apply compatibility fix to previous RLIMIT_NPROC change
52481 don't enforce the rlimit check at exec time if the user is root
52482 Prevents problems with sudo if root is listed as part of a group
52483 in limits.conf with process limits enforced
52484
52485 kernel/sys.c | 2 +-
52486 1 files changed, 1 insertions(+), 1 deletions(-)
52487
52488 commit 0ed0c927ce3db94e2d0c0f328e24a28fe4f143e7
52489 Merge: 643b294 ed9b427
52490 Author: Brad Spengler <spender@grsecurity.net>
52491 Date: Wed May 29 19:19:28 2013 -0400
52492
52493 Merge branch 'pax-test' into grsec-test
52494
52495 commit ed9b4276488528d0c3803df1dc0df804238241e0
52496 Author: Brad Spengler <spender@grsecurity.net>
52497 Date: Wed May 29 19:18:45 2013 -0400
52498
52499 Updated to pax-linux-3.9.4-test8.patch:
52500 - fixed some fallout detected by the checker plugin
52501
52502 arch/x86/kernel/crash_dump_64.c | 2 +-
52503 drivers/base/devtmpfs.c | 6 +++---
52504 drivers/char/agp/compat_ioctl.c | 2 +-
52505 drivers/char/agp/frontend.c | 2 +-
52506 drivers/char/mem.c | 2 +-
52507 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 ++--
52508 drivers/i2c/i2c-dev.c | 2 +-
52509 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +++---
52510 drivers/media/v4l2-core/v4l2-ioctl.c | 20 ++++++++++++--------
52511 fs/9p/vfs_addr.c | 2 +-
52512 fs/binfmt_elf.c | 4 ++--
52513 fs/compat_ioctl.c | 4 ++--
52514 fs/exec.c | 2 +-
52515 fs/namespace.c | 8 ++++----
52516 fs/proc/vmcore.c | 12 ++++++++----
52517 fs/read_write.c | 2 +-
52518 include/linux/syscalls.h | 8 ++++----
52519 init/do_mounts_initrd.c | 8 ++++----
52520 init/main.c | 4 ++--
52521 kernel/events/core.c | 2 +-
52522 kernel/events/internal.h | 10 +++++-----
52523 mm/page_io.c | 2 +-
52524 security/keys/internal.h | 2 +-
52525 tools/gcc/checker_plugin.c | 1 +
52526 24 files changed, 63 insertions(+), 54 deletions(-)
52527
52528 commit 643b294b41c6adcad1cf107efe4ae52a834e6f15
52529 Author: Brad Spengler <spender@grsecurity.net>
52530 Date: Wed May 29 18:51:31 2013 -0400
52531
52532 eliminate gcc warning
52533
52534 fs/exec.c | 4 ++--
52535 1 files changed, 2 insertions(+), 2 deletions(-)
52536
52537 commit cf6f73059387ffeddb7b1de3e97a3cf588bcef86
52538 Author: Brad Spengler <spender@grsecurity.net>
52539 Date: Wed May 29 18:30:20 2013 -0400
52540
52541 use BUILD_BUG() instead of BUILD_BUG_ON(1)
52542
52543 arch/x86/net/bpf_jit_comp.c | 4 ++--
52544 1 files changed, 2 insertions(+), 2 deletions(-)
52545
52546 commit 5343410354267368e5809f3ad8d9a264f141be18
52547 Author: Brad Spengler <spender@grsecurity.net>
52548 Date: Wed May 29 17:57:41 2013 -0400
52549
52550 defensively handle additions to the BPF JIT by introducing a BUILD_BUG_ON
52551 for unknown opcodes
52552
52553 arch/x86/net/bpf_jit_comp.c | 11 +++++++----
52554 1 files changed, 7 insertions(+), 4 deletions(-)
52555
52556 commit 01f78a604b47c93fb26e8aeb68ef619bb3b8579d
52557 Author: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
52558 Date: Fri May 24 15:55:11 2013 -0700
52559
52560 Upstream commit: d34883d4e35c0a994e91dd847a82b4c9e0c31d83
52561
52562 mm: mmu_notifier: re-fix freed page still mapped in secondary MMU
52563
52564 Commit 751efd8610d3 ("mmu_notifier_unregister NULL Pointer deref and
52565 multiple ->release()") breaks the fix 3ad3d901bbcf ("mm: mmu_notifier:
52566 fix freed page still mapped in secondary MMU").
52567
52568 Since hlist_for_each_entry_rcu() is changed now, we can not revert that
52569 patch directly, so this patch reverts the commit and simply fix the bug
52570 spotted by that patch
52571
52572 This bug spotted by commit 751efd8610d3 is:
52573
52574 There is a race condition between mmu_notifier_unregister() and
52575 __mmu_notifier_release().
52576
52577 Assume two tasks, one calling mmu_notifier_unregister() as a result
52578 of a filp_close() ->flush() callout (task A), and the other calling
52579 mmu_notifier_release() from an mmput() (task B).
52580
52581 A B
52582 t1 srcu_read_lock()
52583 t2 if (!hlist_unhashed())
52584 t3 srcu_read_unlock()
52585 t4 srcu_read_lock()
52586 t5 hlist_del_init_rcu()
52587 t6 synchronize_srcu()
52588 t7 srcu_read_unlock()
52589 t8 hlist_del_rcu() <--- NULL pointer deref.
52590
52591 This can be fixed by using hlist_del_init_rcu instead of hlist_del_rcu.
52592
52593 The another issue spotted in the commit is "multiple ->release()
52594 callouts", we needn't care it too much because it is really rare (e.g,
52595 can not happen on kvm since mmu-notify is unregistered after
52596 exit_mmap()) and the later call of multiple ->release should be fast
52597 since all the pages have already been released by the first call.
52598 Anyway, this issue should be fixed in a separate patch.
52599
52600 -stable suggestions: Any version that has commit 751efd8610d3 need to be
52601 backported. I find the oldest version has this commit is 3.0-stable.
52602
52603 [akpm@linux-foundation.org: tweak comments]
52604 Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
52605 Tested-by: Robin Holt <holt@sgi.com>
52606 Cc: <stable@vger.kernel.org>
52607 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
52608 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
52609
52610 mm/mmu_notifier.c | 79 ++++++++++++++++++++++++++---------------------------
52611 1 files changed, 39 insertions(+), 40 deletions(-)
52612
52613 commit 163a5539b36247865d39b2bcfa8efc03a62124a6
52614 Author: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
52615 Date: Fri May 24 15:55:21 2013 -0700
52616
52617 Upstream commit: 7c3425123ddfdc5f48e7913ff59d908789712b18
52618
52619 mm/THP: use pmd_populate() to update the pmd with pgtable_t pointer
52620
52621 We should not use set_pmd_at to update pmd_t with pgtable_t pointer.
52622 set_pmd_at is used to set pmd with huge pte entries and architectures
52623 like ppc64, clear few flags from the pte when saving a new entry.
52624 Without this change we observe bad pte errors like below on ppc64 with
52625 THP enabled.
52626
52627 BUG: Bad page map in process ld mm=0xc000001ee39f4780 pte:7fc3f37848000001 pmd:c000001ec0000000
52628
52629 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
52630 Cc: Hugh Dickins <hughd@google.com>
52631 Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
52632 Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
52633 Cc: <stable@vger.kernel.org>
52634 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
52635 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
52636
52637 mm/huge_memory.c | 7 ++++++-
52638 1 files changed, 6 insertions(+), 1 deletions(-)
52639
52640 commit 3e54faf888d324d5f362dcba16173ea7bba61e8a
52641 Author: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
52642 Date: Fri May 24 15:55:08 2013 -0700
52643
52644 Upstream commit: 7b92d03c3239f43e5b86c9cc9630f026d36ee995
52645
52646 fat: fix possible overflow for fat_clusters
52647
52648 Intermediate value of fat_clusters can be overflowed on 32bits arch.
52649
52650 Reported-by: Krzysztof Strasburger <strasbur@chkw386.ch.pwr.wroc.pl>
52651 Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
52652 Cc: <stable@vger.kernel.org>
52653 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
52654 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
52655
52656 fs/fat/inode.c | 15 ++++++++++++++-
52657 1 files changed, 14 insertions(+), 1 deletions(-)
52658
52659 commit 2d9fc67d9d63641e6bbf389edba8d8514c68655d
52660 Author: Jarod Wilson <jarod@redhat.com>
52661 Date: Fri May 24 15:55:31 2013 -0700
52662
52663 Upstream commit: 1e7e2e05c179a68aaf8830fe91547a87f4589e53
52664
52665 drivers/char/random.c: fix priming of last_data
52666
52667 Commit ec8f02da9ea5 ("random: prime last_data value per fips
52668 requirements") added priming of last_data per fips requirements.
52669
52670 Unfortuantely, it did so in a way that can lead to multiple threads all
52671 incrementing nbytes, but only one actually doing anything with the extra
52672 data, which leads to some fun random corruption and panics.
52673
52674 The fix is to simply do everything needed to prime last_data in a single
52675 shot, so there's no window for multiple cpus to increment nbytes -- in
52676 fact, we won't even increment or decrement nbytes anymore, we'll just
52677 extract the needed EXTRACT_SIZE one time per pool and then carry on with
52678 the normal routine.
52679
52680 All these changes have been tested across multiple hosts and
52681 architectures where panics were previously encoutered. The code changes
52682 are are strictly limited to areas only touched when when booted in fips
52683 mode.
52684
52685 This change should also go into 3.8-stable, to make the myriads of fips
52686 users on 3.8.x happy.
52687
52688 Signed-off-by: Jarod Wilson <jarod@redhat.com>
52689 Tested-by: Jan Stancek <jstancek@redhat.com>
52690 Tested-by: Jan Stodola <jstodola@redhat.com>
52691 Cc: Herbert Xu <herbert@gondor.apana.org.au>
52692 Acked-by: Neil Horman <nhorman@tuxdriver.com>
52693 Cc: "David S. Miller" <davem@davemloft.net>
52694 Cc: Matt Mackall <mpm@selenic.com>
52695 Cc: "Theodore Ts'o" <tytso@mit.edu>
52696 Cc: <stable@vger.kernel.org>
52697 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
52698 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
52699
52700 drivers/char/random.c | 30 +++++++++++++++---------------
52701 1 files changed, 15 insertions(+), 15 deletions(-)
52702
52703 commit 2d74639040ba6ce47f57ec010714ec06529c4b42
52704 Author: Jiri Kosina <jkosina@suse.cz>
52705 Date: Fri May 24 15:55:33 2013 -0700
52706
52707 Upstream commit: 10b3a32d292c21ea5b3ad5ca5975e88bb20b8d68
52708
52709 random: fix accounting race condition with lockless irq entropy_count update
52710
52711 Commit 902c098a3663 ("random: use lockless techniques in the interrupt
52712 path") turned IRQ path from being spinlock protected into lockless
52713 cmpxchg-retry update.
52714
52715 That commit removed r->lock serialization between crediting entropy bits
52716 from IRQ context and accounting when extracting entropy on userspace
52717 read path, but didn't turn the r->entropy_count reads/updates in
52718 account() to use cmpxchg as well.
52719
52720 It has been observed, that under certain circumstances this leads to
52721 read() on /dev/urandom to return 0 (EOF), as r->entropy_count gets
52722 corrupted and becomes negative, which in turn results in propagating 0
52723 all the way from account() to the actual read() call.
52724
52725 Convert the accounting code to be the proper lockless counterpart of
52726 what has been partially done by 902c098a3663.
52727
52728 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
52729 Cc: Theodore Ts'o <tytso@mit.edu>
52730 Cc: Greg KH <greg@kroah.com>
52731 Cc: <stable@vger.kernel.org>
52732 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
52733 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
52734
52735 drivers/char/random.c | 26 +++++++++++++++++---------
52736 1 files changed, 17 insertions(+), 9 deletions(-)
52737
52738 commit 65d05c7ea468c23c175105526dd4f163302a92cf
52739 Merge: 1a98d0a 6ce3a135
52740 Author: Brad Spengler <spender@grsecurity.net>
52741 Date: Sat May 25 07:48:15 2013 -0400
52742
52743 Merge branch 'pax-test' into grsec-test
52744
52745 Conflicts:
52746 arch/x86/kernel/vm86_32.c
52747
52748 commit 6ce3a13567ec17c1e72a88871ddf46da61ad5166
52749 Merge: 79bdd65 0bfd8ff
52750 Author: Brad Spengler <spender@grsecurity.net>
52751 Date: Sat May 25 07:46:55 2013 -0400
52752
52753 Merge branch 'linux-3.9.y' into pax-test
52754
52755 commit 1a98d0a10ede55ae99fabfb2d67eb536d3de9444
52756 Author: Brad Spengler <spender@grsecurity.net>
52757 Date: Thu May 23 18:42:23 2013 -0400
52758
52759 use existing local variable
52760
52761 fs/exec.c | 2 +-
52762 1 files changed, 1 insertions(+), 1 deletions(-)
52763
52764 commit b2b80ef8586061e32e986b31608717c25d1e7c54
52765 Merge: cb45fbd 79bdd65
52766 Author: Brad Spengler <spender@grsecurity.net>
52767 Date: Thu May 23 17:58:53 2013 -0400
52768
52769 Merge branch 'pax-test' into grsec-test
52770
52771 commit 79bdd65dac68267bc1b201c6b4a99966a373c305
52772 Author: Brad Spengler <spender@grsecurity.net>
52773 Date: Thu May 23 17:57:46 2013 -0400
52774
52775 Update to pax-linux-3.9.3-test7.patch:
52776 - fixed some size overflow related warnings (hash table, attributes)
52777 - fixed a gcc bug/feature exposed by constification, the investigation was prompted by http://rikiji.it/2013/05/10/CVE-2013-2094-x86.html
52778
52779 arch/x86/include/asm/page_64.h | 2 +-
52780 arch/x86/kernel/head64.c | 2 +-
52781 tools/gcc/constify_plugin.c | 48 ++-
52782 tools/gcc/size_overflow_hash.data | 1191 +++++++++++++++++++------------------
52783 4 files changed, 651 insertions(+), 592 deletions(-)
52784
52785 commit cb45fbda4967b1b544a754fbdc92d73283379522
52786 Merge: 62588fa 57c11b8
52787 Author: Brad Spengler <spender@grsecurity.net>
52788 Date: Mon May 20 17:32:17 2013 -0400
52789
52790 Merge branch 'pax-test' into grsec-test
52791
52792 commit 57c11b85acd841a088aa4df8e60be337880df8cd
52793 Merge: 0598b37 4bb0869
52794 Author: Brad Spengler <spender@grsecurity.net>
52795 Date: Mon May 20 17:32:08 2013 -0400
52796
52797 Merge branch 'linux-3.9.y' into pax-test
52798
52799 commit 62588fa72b82a8ff7027f52dc2a05729f41e0f53
52800 Merge: e261c7b 0598b37
52801 Author: Brad Spengler <spender@grsecurity.net>
52802 Date: Fri May 17 22:57:36 2013 -0400
52803
52804 Merge branch 'pax-test' into grsec-test
52805
52806 commit 0598b3778624dbc6c3887af025c040dbd6e92ba5
52807 Author: Brad Spengler <spender@grsecurity.net>
52808 Date: Fri May 17 22:57:07 2013 -0400
52809
52810 Update to pax-linux-3.9.2-test6.patch:
52811 - fixed a gcc assert in the structleak plugin, reported by Emese Revfy
52812 - fixed pfn extraction from pud/pgd entries, reported by ousado
52813
52814 arch/x86/include/asm/pgtable.h | 9 +++++++--
52815 tools/gcc/structleak_plugin.c | 3 ++-
52816 2 files changed, 9 insertions(+), 3 deletions(-)
52817
52818 commit e261c7bc611e9127bbb7bd95cddd51524bf255ae
52819 Author: Brad Spengler <spender@grsecurity.net>
52820 Date: Thu May 16 22:54:12 2013 -0400
52821
52822 add offset to topdown check, fixes compilation
52823
52824 arch/x86/kernel/sys_x86_64.c | 2 +-
52825 1 files changed, 1 insertions(+), 1 deletions(-)
52826
52827 commit 455c5ed5279cf546f5d5c3844fb16f17300b2219
52828 Author: Brad Spengler <spender@grsecurity.net>
52829 Date: Thu May 16 20:57:41 2013 -0400
52830
52831 CONFIG_GRKERNSEC depends on the recently-introduced CONFIG_TTY,
52832 reported by lulzh3ad on irc
52833
52834 security/Kconfig | 1 +
52835 1 files changed, 1 insertions(+), 0 deletions(-)
52836
52837 commit 0d4593e84707cdf6deb6b925c18c676a476b1613
52838 Merge: 43cd0c0 39a877f
52839 Author: Brad Spengler <spender@grsecurity.net>
52840 Date: Thu May 16 20:39:11 2013 -0400
52841
52842 Merge branch 'pax-test' into grsec-test
52843
52844 commit 39a877f192ed305d88edac10a14a9e8e1e161f3f
52845 Author: Brad Spengler <spender@grsecurity.net>
52846 Date: Thu May 16 20:37:35 2013 -0400
52847
52848 Update to pax-linux-3.9.2-test105.patch:
52849 - fixed !EFI boot problem, reported by spender
52850 - fixed a few compile warnings
52851 - fixed some more compile errors due to constification
52852 - fixed some arm fallout, reported by Michael Tremer
52853
52854 arch/arm/include/asm/psci.h | 2 +-
52855 arch/arm/kernel/psci.c | 2 +-
52856 arch/x86/kernel/sys_x86_64.c | 3 +--
52857 arch/x86/realmode/init.c | 2 +-
52858 drivers/hwmon/pmbus/pmbus_core.c | 10 +++++-----
52859 drivers/irqchip/irq-gic.c | 2 +-
52860 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +++-
52861 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +++++++++---
52862 drivers/platform/x86/chromeos_laptop.c | 2 +-
52863 fs/jfs/super.c | 4 ++--
52864 include/linux/irqchip/arm-gic.h | 2 ++
52865 include/sound/compress_driver.h | 2 +-
52866 net/mac80211/cfg.c | 4 ++--
52867 sound/soc/fsl/fsl_ssi.c | 2 +-
52868 14 files changed, 31 insertions(+), 22 deletions(-)
52869
52870 commit 43cd0c0c7bf3f3331689f88130a8e8ce58fc8540
52871 Author: Brad Spengler <spender@grsecurity.net>
52872 Date: Thu May 16 20:35:22 2013 -0400
52873
52874 Fix usercopy false positive under gcc 4.1
52875
52876 arch/x86/kernel/signal.c | 9 +++++++--
52877 1 files changed, 7 insertions(+), 2 deletions(-)
52878
52879 commit 56a166129d817f6634c8c230e6ec497669bdfaca
52880 Author: Amerigo Wang <amwang@redhat.com>
52881 Date: Thu May 9 21:56:37 2013 +0000
52882
52883 Upstream commit: 5dbd5068430b8bd1c19387d46d6c1a88b261257f
52884
52885 ipv6,gre: do not leak info to user-space
52886
52887 There is a hole in struct ip6_tnl_parm2, so we have to
52888 zero the struct on stack before copying it to user-space.
52889
52890 Cc: David S. Miller <davem@davemloft.net>
52891 Signed-off-by: Cong Wang <amwang@redhat.com>
52892 Signed-off-by: David S. Miller <davem@davemloft.net>
52893
52894 net/ipv6/ip6_gre.c | 2 ++
52895 1 files changed, 2 insertions(+), 0 deletions(-)
52896
52897 commit d6f50dae2653ad912952da40417a8ccbd59c7699
52898 Author: Brad Spengler <spender@grsecurity.net>
52899 Date: Tue May 14 16:52:35 2013 -0400
52900
52901 disable unprivileged kernel profiling under HIDESYM, rename
52902 the variable to something more appropriate
52903
52904 include/linux/perf_event.h | 8 ++++----
52905 kernel/events/core.c | 6 +++++-
52906 kernel/sysctl.c | 4 ++--
52907 3 files changed, 11 insertions(+), 7 deletions(-)
52908
52909 commit 01322c6951bed4eedefbd2178dbd99292b365d99
52910 Author: Brad Spengler <spender@grsecurity.net>
52911 Date: Mon May 13 17:19:57 2013 -0400
52912
52913 mark GRKERNSEC_RAND_THREADSTACK broken until PaX fixes its
52914 existing stack-heap gap code for the new unified vm_unmapped_area
52915
52916 grsecurity/Kconfig | 2 +-
52917 1 files changed, 1 insertions(+), 1 deletions(-)
52918
52919 commit 8e576ddc2196770ba2b86ba8f7b9e76c141d1083
52920 Author: Brad Spengler <spender@grsecurity.net>
52921 Date: Mon May 13 15:40:32 2013 -0400
52922
52923 fix NX fault on early boot
52924
52925 arch/x86/realmode/init.c | 2 +-
52926 1 files changed, 1 insertions(+), 1 deletions(-)
52927
52928 commit 85ce9b6f668f9b02f21d23ae61a1bacc8804f615
52929 Author: Brad Spengler <spender@grsecurity.net>
52930 Date: Mon May 13 10:48:13 2013 -0400
52931
52932 compile fix, we weren't using %pa anyway and it's now being used
52933 by upstream for physical address printing
52934
52935 lib/vsprintf.c | 3 +--
52936 1 files changed, 1 insertions(+), 2 deletions(-)
52937
52938 commit 4eeaeea04d4776b8263f0e9b018edcdbe66c929d
52939 Author: Brad Spengler <spender@grsecurity.net>
52940 Date: Mon May 13 10:39:52 2013 -0400
52941
52942 compile fix
52943
52944 grsecurity/grsec_chroot.c | 2 +-
52945 1 files changed, 1 insertions(+), 1 deletions(-)
52946
52947 commit 155fe84d0b966e41b077781e6b3bc6f6ed5b294b
52948 Author: Brad Spengler <spender@grsecurity.net>
52949 Date: Mon May 13 10:35:36 2013 -0400
52950
52951 compile fixes
52952
52953 grsecurity/grsec_chroot.c | 2 +-
52954 include/linux/grinternal.h | 8 ++++----
52955 include/linux/grsecurity.h | 4 ++--
52956 3 files changed, 7 insertions(+), 7 deletions(-)
52957
52958 commit f92047409f0a843ec0b44033ca4c37e539f9a1d5
52959 Author: Brad Spengler <spender@grsecurity.net>
52960 Date: Mon May 13 10:27:18 2013 -0400
52961
52962 compile fix
52963
52964 fs/exec.c | 6 +++---
52965 1 files changed, 3 insertions(+), 3 deletions(-)
52966
52967 commit 0e4123608755ab6af3f448cca6f6a8a57dbdcff1
52968 Author: Brad Spengler <spender@grsecurity.net>
52969 Date: Mon May 13 10:23:17 2013 -0400
52970
52971 Initial port of grsecurity for 3.9.2
52972
52973 Documentation/kernel-parameters.txt | 4 +
52974 Makefile | 8 +-
52975 arch/alpha/include/asm/cache.h | 4 +-
52976 arch/alpha/kernel/osf_sys.c | 12 +-
52977 arch/arm/include/asm/thread_info.h | 9 +-
52978 arch/arm/kernel/process.c | 4 +-
52979 arch/arm/kernel/ptrace.c | 9 +
52980 arch/arm/kernel/traps.c | 7 +-
52981 arch/arm/mm/fault.c | 29 +-
52982 arch/arm/mm/mmap.c | 8 +-
52983 arch/avr32/include/asm/cache.h | 4 +-
52984 arch/blackfin/include/asm/cache.h | 3 +-
52985 arch/cris/include/arch-v10/arch/cache.h | 3 +-
52986 arch/cris/include/arch-v32/arch/cache.h | 3 +-
52987 arch/frv/include/asm/cache.h | 3 +-
52988 arch/frv/mm/elf-fdpic.c | 4 +-
52989 arch/hexagon/include/asm/cache.h | 6 +-
52990 arch/ia64/include/asm/cache.h | 3 +-
52991 arch/ia64/kernel/sys_ia64.c | 2 +
52992 arch/ia64/mm/hugetlbpage.c | 2 +
52993 arch/m32r/include/asm/cache.h | 4 +-
52994 arch/m68k/include/asm/cache.h | 4 +-
52995 arch/metag/mm/hugetlbpage.c | 1 +
52996 arch/microblaze/include/asm/cache.h | 3 +-
52997 arch/mips/include/asm/cache.h | 3 +-
52998 arch/mips/include/asm/thread_info.h | 9 +-
52999 arch/mips/kernel/ptrace.c | 9 +
53000 arch/mips/kernel/scall32-o32.S | 2 +-
53001 arch/mips/kernel/scall64-64.S | 2 +-
53002 arch/mips/kernel/scall64-n32.S | 2 +-
53003 arch/mips/kernel/scall64-o32.S | 2 +-
53004 arch/mips/mm/mmap.c | 4 +-
53005 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
53006 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
53007 arch/openrisc/include/asm/cache.h | 4 +-
53008 arch/parisc/include/asm/cache.h | 5 +-
53009 arch/parisc/kernel/sys_parisc.c | 17 +-
53010 arch/powerpc/include/asm/cache.h | 3 +-
53011 arch/powerpc/include/asm/thread_info.h | 8 +-
53012 arch/powerpc/kernel/process.c | 10 +-
53013 arch/powerpc/kernel/ptrace.c | 14 +
53014 arch/powerpc/kernel/traps.c | 5 +
53015 arch/powerpc/mm/slice.c | 8 +-
53016 arch/s390/include/asm/cache.h | 4 +-
53017 arch/score/include/asm/cache.h | 4 +-
53018 arch/sh/include/asm/cache.h | 3 +-
53019 arch/sh/mm/mmap.c | 6 +-
53020 arch/sparc/include/asm/cache.h | 4 +-
53021 arch/sparc/include/asm/thread_info_64.h | 9 +-
53022 arch/sparc/kernel/process_32.c | 6 +-
53023 arch/sparc/kernel/process_64.c | 8 +-
53024 arch/sparc/kernel/ptrace_64.c | 14 +
53025 arch/sparc/kernel/sys_sparc_64.c | 8 +-
53026 arch/sparc/kernel/syscalls.S | 8 +-
53027 arch/sparc/kernel/traps_32.c | 8 +-
53028 arch/sparc/kernel/traps_64.c | 28 +-
53029 arch/sparc/kernel/unaligned_64.c | 2 +-
53030 arch/sparc/mm/fault_64.c | 2 +-
53031 arch/sparc/mm/hugetlbpage.c | 3 +-
53032 arch/tile/include/asm/cache.h | 3 +-
53033 arch/tile/mm/hugetlbpage.c | 2 +
53034 arch/um/defconfig | 1 -
53035 arch/um/include/asm/cache.h | 3 +-
53036 arch/unicore32/include/asm/cache.h | 6 +-
53037 arch/x86/Kconfig | 5 +-
53038 arch/x86/Kconfig.debug | 2 +-
53039 arch/x86/ia32/ia32_aout.c | 2 +
53040 arch/x86/include/asm/thread_info.h | 8 +-
53041 arch/x86/kernel/dumpstack.c | 8 +
53042 arch/x86/kernel/entry_32.S | 2 +-
53043 arch/x86/kernel/entry_64.S | 2 +-
53044 arch/x86/kernel/ioport.c | 13 +
53045 arch/x86/kernel/ptrace.c | 14 +
53046 arch/x86/kernel/smpboot.c | 3 +
53047 arch/x86/kernel/sys_i386_32.c | 14 +-
53048 arch/x86/kernel/sys_x86_64.c | 6 +-
53049 arch/x86/kernel/verify_cpu.S | 1 +
53050 arch/x86/kernel/vm86_32.c | 16 +
53051 arch/x86/mm/fault.c | 12 +-
53052 arch/x86/mm/hugetlbpage.c | 15 +-
53053 arch/x86/mm/init.c | 66 +-
53054 arch/x86/net/bpf_jit_comp.c | 126 +-
53055 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
53056 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
53057 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
53058 drivers/block/cciss.c | 2 +
53059 drivers/char/Kconfig | 4 +-
53060 drivers/char/genrtc.c | 1 +
53061 drivers/char/mem.c | 17 +
53062 drivers/char/random.c | 12 +
53063 drivers/gpu/drm/drm_info.c | 4 +
53064 drivers/hid/hid-wiimote-debug.c | 2 +-
53065 drivers/media/radio/radio-cadet.c | 2 +-
53066 drivers/message/fusion/mptbase.c | 9 +
53067 drivers/net/bonding/bond_main.c | 2 +-
53068 drivers/net/phy/mdio-bitbang.c | 1 +
53069 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
53070 drivers/pci/proc.c | 9 +
53071 drivers/rtc/rtc-dev.c | 3 +
53072 drivers/tty/sysrq.c | 2 +-
53073 drivers/tty/vt/keyboard.c | 22 +-
53074 drivers/usb/storage/realtek_cr.c | 2 +-
53075 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++--------
53076 drivers/xen/xenfs/xenstored.c | 5 +
53077 fs/attr.c | 1 +
53078 fs/autofs4/waitq.c | 9 +
53079 fs/binfmt_aout.c | 7 +
53080 fs/binfmt_elf.c | 8 +-
53081 fs/btrfs/ioctl.c | 6 +-
53082 fs/compat.c | 20 +-
53083 fs/coredump.c | 10 +-
53084 fs/debugfs/inode.c | 4 +
53085 fs/exec.c | 181 +-
53086 fs/ext2/balloc.c | 4 +-
53087 fs/ext3/balloc.c | 4 +-
53088 fs/ext4/balloc.c | 4 +-
53089 fs/fcntl.c | 5 +
53090 fs/file.c | 4 +
53091 fs/filesystems.c | 4 +
53092 fs/fs_struct.c | 13 +-
53093 fs/hugetlbfs/inode.c | 5 +-
53094 fs/namei.c | 241 ++-
53095 fs/namespace.c | 24 +
53096 fs/open.c | 38 +
53097 fs/pipe.c | 2 +-
53098 fs/proc/Kconfig | 10 +-
53099 fs/proc/array.c | 59 +-
53100 fs/proc/base.c | 168 +-
53101 fs/proc/cmdline.c | 4 +
53102 fs/proc/devices.c | 4 +
53103 fs/proc/fd.c | 17 +-
53104 fs/proc/inode.c | 17 +
53105 fs/proc/internal.h | 3 +
53106 fs/proc/kcore.c | 3 +
53107 fs/proc/proc_net.c | 12 +
53108 fs/proc/proc_sysctl.c | 43 +-
53109 fs/proc/root.c | 8 +
53110 fs/proc/task_mmu.c | 75 +-
53111 fs/readdir.c | 19 +
53112 fs/select.c | 2 +
53113 fs/seq_file.c | 12 +-
53114 fs/stat.c | 19 +-
53115 fs/sysfs/dir.c | 12 +
53116 fs/utimes.c | 7 +
53117 fs/xattr.c | 19 +-
53118 grsecurity/Kconfig | 1031 +++++
53119 grsecurity/Makefile | 38 +
53120 grsecurity/gracl.c | 4073 ++++++++++++++++++++
53121 grsecurity/gracl_alloc.c | 105 +
53122 grsecurity/gracl_cap.c | 110 +
53123 grsecurity/gracl_fs.c | 431 +++
53124 grsecurity/gracl_ip.c | 387 ++
53125 grsecurity/gracl_learn.c | 207 +
53126 grsecurity/gracl_res.c | 68 +
53127 grsecurity/gracl_segv.c | 305 ++
53128 grsecurity/gracl_shm.c | 40 +
53129 grsecurity/grsec_chdir.c | 19 +
53130 grsecurity/grsec_chroot.c | 370 ++
53131 grsecurity/grsec_disabled.c | 434 +++
53132 grsecurity/grsec_exec.c | 187 +
53133 grsecurity/grsec_fifo.c | 24 +
53134 grsecurity/grsec_fork.c | 23 +
53135 grsecurity/grsec_init.c | 283 ++
53136 grsecurity/grsec_link.c | 58 +
53137 grsecurity/grsec_log.c | 326 ++
53138 grsecurity/grsec_mem.c | 40 +
53139 grsecurity/grsec_mount.c | 62 +
53140 grsecurity/grsec_pax.c | 36 +
53141 grsecurity/grsec_ptrace.c | 30 +
53142 grsecurity/grsec_sig.c | 222 ++
53143 grsecurity/grsec_sock.c | 244 ++
53144 grsecurity/grsec_sysctl.c | 469 +++
53145 grsecurity/grsec_time.c | 16 +
53146 grsecurity/grsec_tpe.c | 73 +
53147 grsecurity/grsum.c | 61 +
53148 include/linux/capability.h | 5 +
53149 include/linux/cred.h | 3 +
53150 include/linux/fs.h | 10 +
53151 include/linux/fsnotify.h | 6 +
53152 include/linux/gracl.h | 319 ++
53153 include/linux/gralloc.h | 9 +
53154 include/linux/grdefs.h | 140 +
53155 include/linux/grinternal.h | 215 +
53156 include/linux/grmsg.h | 111 +
53157 include/linux/grsecurity.h | 242 ++
53158 include/linux/grsock.h | 19 +
53159 include/linux/kallsyms.h | 14 +-
53160 include/linux/kmod.h | 2 +
53161 include/linux/mm.h | 1 +
53162 include/linux/netfilter/xt_gradm.h | 9 +
53163 include/linux/printk.h | 3 +-
53164 include/linux/proc_fs.h | 12 +
53165 include/linux/sched.h | 68 +-
53166 include/linux/security.h | 1 +
53167 include/linux/seq_file.h | 3 +
53168 include/linux/shm.h | 4 +
53169 include/linux/skbuff.h | 3 +
53170 include/linux/slab.h | 9 -
53171 include/linux/sysctl.h | 2 +
53172 include/linux/thread_info.h | 2 +
53173 include/linux/uidgid.h | 5 +
53174 include/linux/vermagic.h | 9 +-
53175 include/net/secure_seq.h | 1 +
53176 include/trace/events/fs.h | 53 +
53177 include/uapi/linux/personality.h | 1 +
53178 init/Kconfig | 3 +-
53179 init/main.c | 14 +
53180 ipc/mqueue.c | 1 +
53181 ipc/shm.c | 28 +
53182 kernel/capability.c | 39 +-
53183 kernel/cgroup.c | 2 +-
53184 kernel/compat.c | 1 +
53185 kernel/configs.c | 11 +
53186 kernel/cred.c | 110 +-
53187 kernel/exit.c | 10 +-
53188 kernel/fork.c | 41 +-
53189 kernel/futex.c | 1 +
53190 kernel/kallsyms.c | 9 +
53191 kernel/kcmp.c | 4 +
53192 kernel/kmod.c | 71 +-
53193 kernel/kprobes.c | 4 +-
53194 kernel/ksysfs.c | 2 +
53195 kernel/lockdep_proc.c | 10 +-
53196 kernel/module.c | 81 +-
53197 kernel/panic.c | 4 +-
53198 kernel/pid.c | 19 +-
53199 kernel/posix-timers.c | 8 +
53200 kernel/printk.c | 13 +-
53201 kernel/ptrace.c | 20 +-
53202 kernel/resource.c | 10 +
53203 kernel/sched/core.c | 6 +-
53204 kernel/signal.c | 37 +-
53205 kernel/sys.c | 45 +-
53206 kernel/sysctl.c | 39 +-
53207 kernel/taskstats.c | 6 +
53208 kernel/time.c | 5 +
53209 kernel/time/timekeeping.c | 3 +
53210 kernel/time/timer_list.c | 12 +
53211 kernel/time/timer_stats.c | 10 +-
53212 lib/Kconfig.debug | 5 +-
53213 lib/is_single_threaded.c | 3 +
53214 lib/vsprintf.c | 35 +-
53215 localversion-grsec | 1 +
53216 mm/Kconfig | 4 +-
53217 mm/filemap.c | 1 +
53218 mm/kmemleak.c | 4 +-
53219 mm/mempolicy.c | 12 +-
53220 mm/migrate.c | 3 +-
53221 mm/mlock.c | 3 +
53222 mm/mmap.c | 64 +-
53223 mm/mprotect.c | 8 +
53224 mm/process_vm_access.c | 6 +
53225 mm/shmem.c | 2 +-
53226 mm/slab.c | 2 +-
53227 mm/slub.c | 14 +-
53228 mm/vmalloc.c | 4 +
53229 mm/vmstat.c | 18 +-
53230 net/8021q/vlan.c | 7 +
53231 net/core/dev_ioctl.c | 4 +
53232 net/core/net-procfs.c | 5 +
53233 net/core/secure_seq.c | 4 +-
53234 net/core/sock_diag.c | 7 +
53235 net/ipv4/af_inet.c | 5 +-
53236 net/ipv4/inet_hashtables.c | 5 +
53237 net/ipv4/ip_sockglue.c | 3 +-
53238 net/ipv4/tcp_input.c | 4 +-
53239 net/ipv4/tcp_ipv4.c | 24 +-
53240 net/ipv4/tcp_minisocks.c | 9 +-
53241 net/ipv4/tcp_timer.c | 11 +
53242 net/ipv4/udp.c | 24 +
53243 net/ipv6/tcp_ipv6.c | 23 +-
53244 net/ipv6/udp.c | 7 +
53245 net/netfilter/Kconfig | 10 +
53246 net/netfilter/Makefile | 1 +
53247 net/netfilter/nf_conntrack_core.c | 8 +
53248 net/netfilter/xt_gradm.c | 51 +
53249 net/netrom/af_netrom.c | 2 +-
53250 net/phonet/af_phonet.c | 2 +-
53251 net/sctp/probe.c | 2 +-
53252 net/sctp/proc.c | 3 +-
53253 net/socket.c | 66 +-
53254 net/sysctl_net.c | 2 +-
53255 net/tipc/link.c | 11 +-
53256 net/unix/af_unix.c | 31 +-
53257 security/Kconfig | 342 ++-
53258 security/commoncap.c | 29 +
53259 security/min_addr.c | 2 +
53260 security/security.c | 2 -
53261 security/selinux/hooks.c | 2 -
53262 security/tomoyo/mount.c | 4 +
53263 security/yama/Kconfig | 2 +-
53264 291 files changed, 15221 insertions(+), 2052 deletions(-)
53265
53266 commit 88854c350c899bceca4a94598c42bed44d0dc91b
53267 Author: Brad Spengler <spender@grsecurity.net>
53268 Date: Mon May 13 07:37:47 2013 -0400
53269
53270 Initial import of pax-linux-3.9.2-test2.patch
53271
53272 Documentation/dontdiff | 45 +-
53273 Documentation/kernel-parameters.txt | 12 +
53274 Makefile | 100 +-
53275 arch/alpha/include/asm/atomic.h | 10 +
53276 arch/alpha/include/asm/elf.h | 7 +
53277 arch/alpha/include/asm/pgalloc.h | 6 +
53278 arch/alpha/include/asm/pgtable.h | 11 +
53279 arch/alpha/kernel/module.c | 2 +-
53280 arch/alpha/kernel/osf_sys.c | 8 +-
53281 arch/alpha/mm/fault.c | 141 +-
53282 arch/arm/Kconfig | 2 +-
53283 arch/arm/include/asm/atomic.h | 421 ++-
53284 arch/arm/include/asm/cache.h | 5 +-
53285 arch/arm/include/asm/cacheflush.h | 2 +-
53286 arch/arm/include/asm/checksum.h | 14 +-
53287 arch/arm/include/asm/cmpxchg.h | 2 +
53288 arch/arm/include/asm/domain.h | 33 +-
53289 arch/arm/include/asm/elf.h | 13 +-
53290 arch/arm/include/asm/fncpy.h | 2 +
53291 arch/arm/include/asm/futex.h | 10 +
53292 arch/arm/include/asm/kmap_types.h | 2 +-
53293 arch/arm/include/asm/mach/dma.h | 2 +-
53294 arch/arm/include/asm/mach/map.h | 7 +-
53295 arch/arm/include/asm/outercache.h | 2 +-
53296 arch/arm/include/asm/page.h | 2 +-
53297 arch/arm/include/asm/pgalloc.h | 22 +-
53298 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
53299 arch/arm/include/asm/pgtable-2level.h | 1 +
53300 arch/arm/include/asm/pgtable-3level-hwdef.h | 2 +
53301 arch/arm/include/asm/pgtable-3level.h | 2 +
53302 arch/arm/include/asm/pgtable.h | 56 +-
53303 arch/arm/include/asm/proc-fns.h | 2 +-
53304 arch/arm/include/asm/processor.h | 5 +-
53305 arch/arm/include/asm/smp.h | 2 +-
53306 arch/arm/include/asm/thread_info.h | 6 +-
53307 arch/arm/include/asm/uaccess.h | 92 +-
53308 arch/arm/include/uapi/asm/ptrace.h | 2 +-
53309 arch/arm/kernel/armksyms.c | 6 +-
53310 arch/arm/kernel/entry-armv.S | 107 +-
53311 arch/arm/kernel/entry-common.S | 41 +-
53312 arch/arm/kernel/entry-header.S | 60 +
53313 arch/arm/kernel/fiq.c | 2 +
53314 arch/arm/kernel/head.S | 6 +-
53315 arch/arm/kernel/hw_breakpoint.c | 2 +-
53316 arch/arm/kernel/module.c | 29 +-
53317 arch/arm/kernel/patch.c | 2 +
53318 arch/arm/kernel/perf_event_cpu.c | 2 +-
53319 arch/arm/kernel/process.c | 15 +-
53320 arch/arm/kernel/setup.c | 22 +-
53321 arch/arm/kernel/signal.c | 24 +-
53322 arch/arm/kernel/smp.c | 2 +-
53323 arch/arm/kernel/traps.c | 15 +-
53324 arch/arm/kernel/vmlinux.lds.S | 22 +-
53325 arch/arm/lib/clear_user.S | 6 +-
53326 arch/arm/lib/copy_from_user.S | 6 +-
53327 arch/arm/lib/copy_page.S | 1 +
53328 arch/arm/lib/copy_to_user.S | 6 +-
53329 arch/arm/lib/csumpartialcopyuser.S | 4 +-
53330 arch/arm/lib/delay.c | 2 +-
53331 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
53332 arch/arm/mach-kirkwood/common.c | 19 +-
53333 arch/arm/mach-omap2/board-n8x0.c | 2 +-
53334 arch/arm/mach-omap2/gpmc.c | 22 +-
53335 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
53336 arch/arm/mach-omap2/omap_device.c | 4 +-
53337 arch/arm/mach-omap2/omap_device.h | 4 +-
53338 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
53339 arch/arm/mach-omap2/wd_timer.c | 6 +-
53340 arch/arm/mach-ux500/include/mach/setup.h | 7 -
53341 arch/arm/mm/Kconfig | 3 +-
53342 arch/arm/mm/alignment.c | 8 +
53343 arch/arm/mm/fault.c | 91 +
53344 arch/arm/mm/fault.h | 12 +
53345 arch/arm/mm/init.c | 41 +
53346 arch/arm/mm/ioremap.c | 4 +-
53347 arch/arm/mm/mmap.c | 36 +-
53348 arch/arm/mm/mmu.c | 187 +-
53349 arch/arm/mm/proc-v7-2level.S | 3 +
53350 arch/arm/plat-omap/sram.c | 2 +
53351 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
53352 arch/arm64/kernel/debug-monitors.c | 2 +-
53353 arch/arm64/kernel/hw_breakpoint.c | 2 +-
53354 arch/avr32/include/asm/elf.h | 8 +-
53355 arch/avr32/include/asm/kmap_types.h | 4 +-
53356 arch/avr32/mm/fault.c | 27 +
53357 arch/frv/include/asm/atomic.h | 10 +
53358 arch/frv/include/asm/kmap_types.h | 2 +-
53359 arch/frv/mm/elf-fdpic.c | 3 +-
53360 arch/ia64/include/asm/atomic.h | 10 +
53361 arch/ia64/include/asm/elf.h | 7 +
53362 arch/ia64/include/asm/pgalloc.h | 12 +
53363 arch/ia64/include/asm/pgtable.h | 13 +-
53364 arch/ia64/include/asm/spinlock.h | 2 +-
53365 arch/ia64/include/asm/uaccess.h | 26 +-
53366 arch/ia64/kernel/err_inject.c | 2 +-
53367 arch/ia64/kernel/mca.c | 2 +-
53368 arch/ia64/kernel/module.c | 48 +-
53369 arch/ia64/kernel/palinfo.c | 2 +-
53370 arch/ia64/kernel/salinfo.c | 2 +-
53371 arch/ia64/kernel/sys_ia64.c | 7 +
53372 arch/ia64/kernel/topology.c | 2 +-
53373 arch/ia64/kernel/vmlinux.lds.S | 2 +-
53374 arch/ia64/mm/fault.c | 32 +-
53375 arch/ia64/mm/init.c | 13 +
53376 arch/m32r/lib/usercopy.c | 6 +
53377 arch/mips/include/asm/atomic.h | 14 +
53378 arch/mips/include/asm/elf.h | 11 +-
53379 arch/mips/include/asm/exec.h | 2 +-
53380 arch/mips/include/asm/page.h | 2 +-
53381 arch/mips/include/asm/pgalloc.h | 5 +
53382 arch/mips/kernel/binfmt_elfn32.c | 7 +
53383 arch/mips/kernel/binfmt_elfo32.c | 7 +
53384 arch/mips/kernel/process.c | 12 -
53385 arch/mips/mm/fault.c | 17 +
53386 arch/mips/mm/mmap.c | 51 +-
53387 arch/parisc/include/asm/atomic.h | 10 +
53388 arch/parisc/include/asm/elf.h | 7 +
53389 arch/parisc/include/asm/pgalloc.h | 6 +
53390 arch/parisc/include/asm/pgtable.h | 11 +
53391 arch/parisc/include/asm/uaccess.h | 4 +-
53392 arch/parisc/kernel/module.c | 50 +-
53393 arch/parisc/kernel/sys_parisc.c | 9 +-
53394 arch/parisc/kernel/traps.c | 4 +-
53395 arch/parisc/mm/fault.c | 140 +-
53396 arch/powerpc/include/asm/atomic.h | 10 +
53397 arch/powerpc/include/asm/elf.h | 19 +-
53398 arch/powerpc/include/asm/exec.h | 2 +-
53399 arch/powerpc/include/asm/kmap_types.h | 2 +-
53400 arch/powerpc/include/asm/mman.h | 2 +-
53401 arch/powerpc/include/asm/page.h | 8 +-
53402 arch/powerpc/include/asm/page_64.h | 7 +-
53403 arch/powerpc/include/asm/pgalloc-64.h | 7 +
53404 arch/powerpc/include/asm/pgtable.h | 1 +
53405 arch/powerpc/include/asm/pte-hash32.h | 1 +
53406 arch/powerpc/include/asm/reg.h | 1 +
53407 arch/powerpc/include/asm/smp.h | 2 +-
53408 arch/powerpc/include/asm/uaccess.h | 140 +-
53409 arch/powerpc/kernel/exceptions-64e.S | 4 +-
53410 arch/powerpc/kernel/exceptions-64s.S | 2 +-
53411 arch/powerpc/kernel/module_32.c | 13 +-
53412 arch/powerpc/kernel/process.c | 55 -
53413 arch/powerpc/kernel/signal_32.c | 2 +-
53414 arch/powerpc/kernel/signal_64.c | 2 +-
53415 arch/powerpc/kernel/sysfs.c | 2 +-
53416 arch/powerpc/kernel/vdso.c | 5 +-
53417 arch/powerpc/lib/usercopy_64.c | 18 -
53418 arch/powerpc/mm/fault.c | 54 +-
53419 arch/powerpc/mm/mmap_64.c | 16 +
53420 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
53421 arch/powerpc/mm/numa.c | 2 +-
53422 arch/powerpc/mm/slice.c | 23 +-
53423 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
53424 arch/powerpc/platforms/powermac/smp.c | 2 +-
53425 arch/s390/include/asm/atomic.h | 10 +
53426 arch/s390/include/asm/elf.h | 13 +-
53427 arch/s390/include/asm/exec.h | 2 +-
53428 arch/s390/include/asm/uaccess.h | 15 +-
53429 arch/s390/kernel/module.c | 22 +-
53430 arch/s390/kernel/process.c | 36 -
53431 arch/s390/mm/mmap.c | 24 +
53432 arch/score/include/asm/exec.h | 2 +-
53433 arch/score/kernel/process.c | 5 -
53434 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
53435 arch/sh/mm/mmap.c | 22 +-
53436 arch/sparc/include/asm/atomic_64.h | 106 +-
53437 arch/sparc/include/asm/cache.h | 2 +-
53438 arch/sparc/include/asm/elf_32.h | 7 +
53439 arch/sparc/include/asm/elf_64.h | 7 +
53440 arch/sparc/include/asm/pgalloc_32.h | 1 +
53441 arch/sparc/include/asm/pgalloc_64.h | 1 +
53442 arch/sparc/include/asm/pgtable_32.h | 15 +-
53443 arch/sparc/include/asm/pgtsrmmu.h | 5 +
53444 arch/sparc/include/asm/spinlock_64.h | 35 +-
53445 arch/sparc/include/asm/thread_info_32.h | 2 +
53446 arch/sparc/include/asm/thread_info_64.h | 2 +
53447 arch/sparc/include/asm/uaccess.h | 1 +
53448 arch/sparc/include/asm/uaccess_32.h | 27 +-
53449 arch/sparc/include/asm/uaccess_64.h | 19 +-
53450 arch/sparc/kernel/Makefile | 2 +-
53451 arch/sparc/kernel/prom_common.c | 2 +-
53452 arch/sparc/kernel/sys_sparc_32.c | 2 +-
53453 arch/sparc/kernel/sys_sparc_64.c | 48 +-
53454 arch/sparc/kernel/sysfs.c | 2 +-
53455 arch/sparc/kernel/traps_64.c | 13 +-
53456 arch/sparc/kernel/us3_cpufreq.c | 69 +-
53457 arch/sparc/lib/Makefile | 2 +-
53458 arch/sparc/lib/atomic_64.S | 136 +-
53459 arch/sparc/lib/ksyms.c | 6 +
53460 arch/sparc/mm/Makefile | 2 +-
53461 arch/sparc/mm/fault_32.c | 292 ++
53462 arch/sparc/mm/fault_64.c | 486 ++
53463 arch/sparc/mm/hugetlbpage.c | 21 +-
53464 arch/tile/include/asm/atomic_64.h | 10 +
53465 arch/tile/include/asm/uaccess.h | 4 +-
53466 arch/um/Makefile | 4 +
53467 arch/um/include/asm/kmap_types.h | 2 +-
53468 arch/um/include/asm/page.h | 3 +
53469 arch/um/include/asm/pgtable-3level.h | 1 +
53470 arch/um/kernel/process.c | 16 -
53471 arch/x86/Kconfig | 10 +-
53472 arch/x86/Kconfig.cpu | 6 +-
53473 arch/x86/Kconfig.debug | 6 +-
53474 arch/x86/Makefile | 10 +
53475 arch/x86/boot/Makefile | 3 +
53476 arch/x86/boot/bitops.h | 4 +-
53477 arch/x86/boot/boot.h | 4 +-
53478 arch/x86/boot/compressed/Makefile | 3 +
53479 arch/x86/boot/compressed/eboot.c | 2 -
53480 arch/x86/boot/compressed/head_32.S | 7 +-
53481 arch/x86/boot/compressed/head_64.S | 8 +-
53482 arch/x86/boot/compressed/misc.c | 4 +-
53483 arch/x86/boot/cpucheck.c | 28 +-
53484 arch/x86/boot/header.S | 6 +-
53485 arch/x86/boot/memory.c | 2 +-
53486 arch/x86/boot/video-vesa.c | 1 +
53487 arch/x86/boot/video.c | 2 +-
53488 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
53489 arch/x86/crypto/aesni-intel_asm.S | 21 +
53490 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
53491 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
53492 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
53493 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 7 +
53494 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
53495 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 7 +
53496 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
53497 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
53498 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 7 +
53499 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
53500 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
53501 arch/x86/ia32/ia32_signal.c | 14 +-
53502 arch/x86/ia32/ia32entry.S | 141 +-
53503 arch/x86/ia32/sys_ia32.c | 6 +-
53504 arch/x86/include/asm/alternative-asm.h | 39 +
53505 arch/x86/include/asm/alternative.h | 4 +-
53506 arch/x86/include/asm/apic.h | 2 +-
53507 arch/x86/include/asm/apm.h | 4 +-
53508 arch/x86/include/asm/atomic.h | 307 ++-
53509 arch/x86/include/asm/atomic64_32.h | 100 +
53510 arch/x86/include/asm/atomic64_64.h | 202 +-
53511 arch/x86/include/asm/bitops.h | 4 +-
53512 arch/x86/include/asm/boot.h | 7 +-
53513 arch/x86/include/asm/cache.h | 5 +-
53514 arch/x86/include/asm/cacheflush.h | 2 +-
53515 arch/x86/include/asm/checksum_32.h | 12 +-
53516 arch/x86/include/asm/cmpxchg.h | 35 +
53517 arch/x86/include/asm/compat.h | 2 +-
53518 arch/x86/include/asm/cpufeature.h | 4 +-
53519 arch/x86/include/asm/desc.h | 67 +-
53520 arch/x86/include/asm/desc_defs.h | 6 +
53521 arch/x86/include/asm/div64.h | 2 +-
53522 arch/x86/include/asm/elf.h | 31 +-
53523 arch/x86/include/asm/emergency-restart.h | 2 +-
53524 arch/x86/include/asm/fpu-internal.h | 6 +-
53525 arch/x86/include/asm/futex.h | 16 +-
53526 arch/x86/include/asm/hw_irq.h | 4 +-
53527 arch/x86/include/asm/i8259.h | 2 +-
53528 arch/x86/include/asm/io.h | 21 +-
53529 arch/x86/include/asm/irqflags.h | 5 +
53530 arch/x86/include/asm/kprobes.h | 9 +-
53531 arch/x86/include/asm/local.h | 142 +-
53532 arch/x86/include/asm/mman.h | 15 +
53533 arch/x86/include/asm/mmu.h | 16 +-
53534 arch/x86/include/asm/mmu_context.h | 76 +-
53535 arch/x86/include/asm/module.h | 17 +-
53536 arch/x86/include/asm/nmi.h | 6 +-
53537 arch/x86/include/asm/page_64.h | 2 +-
53538 arch/x86/include/asm/paravirt.h | 46 +-
53539 arch/x86/include/asm/paravirt_types.h | 17 +-
53540 arch/x86/include/asm/pgalloc.h | 23 +
53541 arch/x86/include/asm/pgtable-2level.h | 2 +
53542 arch/x86/include/asm/pgtable-3level.h | 4 +
53543 arch/x86/include/asm/pgtable.h | 113 +-
53544 arch/x86/include/asm/pgtable_32.h | 14 +-
53545 arch/x86/include/asm/pgtable_32_types.h | 15 +-
53546 arch/x86/include/asm/pgtable_64.h | 19 +-
53547 arch/x86/include/asm/pgtable_64_types.h | 5 +
53548 arch/x86/include/asm/pgtable_types.h | 36 +-
53549 arch/x86/include/asm/processor.h | 39 +-
53550 arch/x86/include/asm/ptrace.h | 26 +-
53551 arch/x86/include/asm/realmode.h | 4 +-
53552 arch/x86/include/asm/reboot.h | 10 +-
53553 arch/x86/include/asm/rwsem.h | 60 +-
53554 arch/x86/include/asm/segment.h | 24 +-
53555 arch/x86/include/asm/smp.h | 14 +-
53556 arch/x86/include/asm/spinlock.h | 36 +-
53557 arch/x86/include/asm/stackprotector.h | 4 +-
53558 arch/x86/include/asm/stacktrace.h | 32 +-
53559 arch/x86/include/asm/switch_to.h | 4 +-
53560 arch/x86/include/asm/thread_info.h | 83 +-
53561 arch/x86/include/asm/uaccess.h | 96 +-
53562 arch/x86/include/asm/uaccess_32.h | 106 +-
53563 arch/x86/include/asm/uaccess_64.h | 232 +-
53564 arch/x86/include/asm/word-at-a-time.h | 2 +-
53565 arch/x86/include/asm/x86_init.h | 10 +-
53566 arch/x86/include/asm/xsave.h | 10 +-
53567 arch/x86/include/uapi/asm/e820.h | 2 +-
53568 arch/x86/kernel/Makefile | 2 +-
53569 arch/x86/kernel/acpi/boot.c | 4 +-
53570 arch/x86/kernel/acpi/sleep.c | 4 +
53571 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
53572 arch/x86/kernel/alternative.c | 65 +-
53573 arch/x86/kernel/apic/apic.c | 4 +-
53574 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
53575 arch/x86/kernel/apic/apic_noop.c | 2 +-
53576 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
53577 arch/x86/kernel/apic/es7000_32.c | 5 +-
53578 arch/x86/kernel/apic/io_apic.c | 8 +-
53579 arch/x86/kernel/apic/numaq_32.c | 3 +-
53580 arch/x86/kernel/apic/probe_32.c | 2 +-
53581 arch/x86/kernel/apic/summit_32.c | 2 +-
53582 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
53583 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
53584 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
53585 arch/x86/kernel/apm_32.c | 19 +-
53586 arch/x86/kernel/asm-offsets.c | 20 +
53587 arch/x86/kernel/asm-offsets_64.c | 1 +
53588 arch/x86/kernel/cpu/Makefile | 4 -
53589 arch/x86/kernel/cpu/amd.c | 2 +-
53590 arch/x86/kernel/cpu/common.c | 75 +-
53591 arch/x86/kernel/cpu/intel.c | 2 +-
53592 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
53593 arch/x86/kernel/cpu/mcheck/mce.c | 31 +-
53594 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
53595 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
53596 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
53597 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
53598 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
53599 arch/x86/kernel/cpu/perf_event.c | 8 +-
53600 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
53601 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 4 +-
53602 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
53603 arch/x86/kernel/cpuid.c | 2 +-
53604 arch/x86/kernel/crash.c | 4 +-
53605 arch/x86/kernel/doublefault_32.c | 8 +-
53606 arch/x86/kernel/dumpstack.c | 30 +-
53607 arch/x86/kernel/dumpstack_32.c | 34 +-
53608 arch/x86/kernel/dumpstack_64.c | 63 +-
53609 arch/x86/kernel/early_printk.c | 1 +
53610 arch/x86/kernel/entry_32.S | 354 ++-
53611 arch/x86/kernel/entry_64.S | 530 ++-
53612 arch/x86/kernel/ftrace.c | 14 +-
53613 arch/x86/kernel/head64.c | 1 -
53614 arch/x86/kernel/head_32.S | 237 +-
53615 arch/x86/kernel/head_64.S | 120 +-
53616 arch/x86/kernel/i386_ksyms_32.c | 8 +
53617 arch/x86/kernel/i387.c | 2 +-
53618 arch/x86/kernel/i8259.c | 10 +-
53619 arch/x86/kernel/io_delay.c | 2 +-
53620 arch/x86/kernel/ioport.c | 2 +-
53621 arch/x86/kernel/irq.c | 8 +-
53622 arch/x86/kernel/irq_32.c | 69 +-
53623 arch/x86/kernel/irq_64.c | 2 +-
53624 arch/x86/kernel/kdebugfs.c | 2 +-
53625 arch/x86/kernel/kgdb.c | 25 +-
53626 arch/x86/kernel/kprobes/core.c | 30 +-
53627 arch/x86/kernel/kprobes/opt.c | 16 +-
53628 arch/x86/kernel/kvm.c | 2 +-
53629 arch/x86/kernel/ldt.c | 31 +-
53630 arch/x86/kernel/machine_kexec_32.c | 6 +-
53631 arch/x86/kernel/microcode_core.c | 2 +-
53632 arch/x86/kernel/microcode_intel.c | 4 +-
53633 arch/x86/kernel/module.c | 76 +-
53634 arch/x86/kernel/msr.c | 2 +-
53635 arch/x86/kernel/nmi.c | 19 +-
53636 arch/x86/kernel/nmi_selftest.c | 4 +-
53637 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
53638 arch/x86/kernel/paravirt.c | 43 +-
53639 arch/x86/kernel/pci-calgary_64.c | 2 +-
53640 arch/x86/kernel/pci-iommu_table.c | 2 +-
53641 arch/x86/kernel/pci-swiotlb.c | 2 +-
53642 arch/x86/kernel/process.c | 57 +-
53643 arch/x86/kernel/process_32.c | 29 +-
53644 arch/x86/kernel/process_64.c | 15 +-
53645 arch/x86/kernel/ptrace.c | 25 +-
53646 arch/x86/kernel/pvclock.c | 8 +-
53647 arch/x86/kernel/reboot.c | 44 +-
53648 arch/x86/kernel/relocate_kernel_64.S | 4 +-
53649 arch/x86/kernel/setup.c | 19 +-
53650 arch/x86/kernel/setup_percpu.c | 29 +-
53651 arch/x86/kernel/signal.c | 15 +-
53652 arch/x86/kernel/smp.c | 2 +-
53653 arch/x86/kernel/smpboot.c | 15 +-
53654 arch/x86/kernel/step.c | 10 +-
53655 arch/x86/kernel/sys_i386_32.c | 248 +
53656 arch/x86/kernel/sys_x86_64.c | 19 +-
53657 arch/x86/kernel/tboot.c | 14 +-
53658 arch/x86/kernel/time.c | 10 +-
53659 arch/x86/kernel/tls.c | 7 +-
53660 arch/x86/kernel/traps.c | 64 +-
53661 arch/x86/kernel/uprobes.c | 2 +-
53662 arch/x86/kernel/vm86_32.c | 6 +-
53663 arch/x86/kernel/vmlinux.lds.S | 148 +-
53664 arch/x86/kernel/vsyscall_64.c | 12 +-
53665 arch/x86/kernel/x8664_ksyms_64.c | 2 -
53666 arch/x86/kernel/x86_init.c | 8 +-
53667 arch/x86/kernel/xsave.c | 2 +
53668 arch/x86/kvm/cpuid.c | 21 +-
53669 arch/x86/kvm/emulate.c | 4 +-
53670 arch/x86/kvm/lapic.c | 2 +-
53671 arch/x86/kvm/paging_tmpl.h | 2 +-
53672 arch/x86/kvm/svm.c | 8 +
53673 arch/x86/kvm/vmx.c | 57 +-
53674 arch/x86/kvm/x86.c | 10 +-
53675 arch/x86/lguest/boot.c | 3 +-
53676 arch/x86/lib/atomic64_386_32.S | 164 +
53677 arch/x86/lib/atomic64_cx8_32.S | 103 +-
53678 arch/x86/lib/checksum_32.S | 100 +-
53679 arch/x86/lib/clear_page_64.S | 5 +-
53680 arch/x86/lib/cmpxchg16b_emu.S | 2 +
53681 arch/x86/lib/copy_page_64.S | 24 +-
53682 arch/x86/lib/copy_user_64.S | 47 +-
53683 arch/x86/lib/copy_user_nocache_64.S | 20 +-
53684 arch/x86/lib/csum-copy_64.S | 2 +
53685 arch/x86/lib/csum-wrappers_64.c | 4 +-
53686 arch/x86/lib/getuser.S | 70 +-
53687 arch/x86/lib/insn.c | 6 +-
53688 arch/x86/lib/iomap_copy_64.S | 2 +
53689 arch/x86/lib/memcpy_64.S | 18 +-
53690 arch/x86/lib/memmove_64.S | 34 +-
53691 arch/x86/lib/memset_64.S | 7 +-
53692 arch/x86/lib/mmx_32.c | 243 +-
53693 arch/x86/lib/msr-reg.S | 18 +-
53694 arch/x86/lib/putuser.S | 90 +-
53695 arch/x86/lib/rwlock.S | 42 +
53696 arch/x86/lib/rwsem.S | 6 +-
53697 arch/x86/lib/thunk_64.S | 2 +
53698 arch/x86/lib/usercopy_32.c | 376 +-
53699 arch/x86/lib/usercopy_64.c | 25 +-
53700 arch/x86/mm/extable.c | 25 +-
53701 arch/x86/mm/fault.c | 556 ++-
53702 arch/x86/mm/gup.c | 2 +-
53703 arch/x86/mm/highmem_32.c | 4 +
53704 arch/x86/mm/hugetlbpage.c | 30 +-
53705 arch/x86/mm/init.c | 90 +-
53706 arch/x86/mm/init_32.c | 119 +-
53707 arch/x86/mm/init_64.c | 44 +-
53708 arch/x86/mm/iomap_32.c | 4 +
53709 arch/x86/mm/ioremap.c | 15 +-
53710 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
53711 arch/x86/mm/mmap.c | 41 +-
53712 arch/x86/mm/mmio-mod.c | 10 +-
53713 arch/x86/mm/numa.c | 2 +-
53714 arch/x86/mm/pageattr-test.c | 2 +-
53715 arch/x86/mm/pageattr.c | 33 +-
53716 arch/x86/mm/pat.c | 12 +-
53717 arch/x86/mm/pf_in.c | 10 +-
53718 arch/x86/mm/pgtable.c | 137 +-
53719 arch/x86/mm/pgtable_32.c | 3 +
53720 arch/x86/mm/physaddr.c | 4 +-
53721 arch/x86/mm/setup_nx.c | 7 +
53722 arch/x86/mm/tlb.c | 4 +
53723 arch/x86/net/bpf_jit.S | 14 +
53724 arch/x86/net/bpf_jit_comp.c | 37 +-
53725 arch/x86/oprofile/backtrace.c | 8 +-
53726 arch/x86/oprofile/nmi_int.c | 8 +-
53727 arch/x86/oprofile/op_model_amd.c | 8 +-
53728 arch/x86/oprofile/op_model_ppro.c | 7 +-
53729 arch/x86/oprofile/op_x86_model.h | 2 +-
53730 arch/x86/pci/amd_bus.c | 2 +-
53731 arch/x86/pci/irq.c | 8 +-
53732 arch/x86/pci/mrst.c | 4 +-
53733 arch/x86/pci/pcbios.c | 144 +-
53734 arch/x86/platform/efi/efi_32.c | 19 +
53735 arch/x86/platform/efi/efi_stub_32.S | 64 +-
53736 arch/x86/platform/efi/efi_stub_64.S | 8 +
53737 arch/x86/platform/mrst/mrst.c | 6 +-
53738 arch/x86/platform/olpc/olpc_dt.c | 2 +-
53739 arch/x86/power/cpu.c | 4 +-
53740 arch/x86/realmode/init.c | 8 +-
53741 arch/x86/realmode/rm/Makefile | 3 +
53742 arch/x86/realmode/rm/header.S | 4 +-
53743 arch/x86/realmode/rm/trampoline_32.S | 12 +-
53744 arch/x86/realmode/rm/trampoline_64.S | 2 +-
53745 arch/x86/tools/relocs.c | 95 +-
53746 arch/x86/vdso/Makefile | 2 +-
53747 arch/x86/vdso/vdso32-setup.c | 23 +-
53748 arch/x86/vdso/vma.c | 29 +-
53749 arch/x86/xen/enlighten.c | 47 +-
53750 arch/x86/xen/mmu.c | 9 +
53751 arch/x86/xen/smp.c | 18 +-
53752 arch/x86/xen/xen-asm_32.S | 12 +-
53753 arch/x86/xen/xen-head.S | 11 +
53754 arch/x86/xen/xen-ops.h | 2 -
53755 block/blk-iopoll.c | 4 +-
53756 block/blk-map.c | 2 +-
53757 block/blk-softirq.c | 4 +-
53758 block/bsg.c | 12 +-
53759 block/compat_ioctl.c | 2 +-
53760 block/partitions/efi.c | 8 +-
53761 block/scsi_ioctl.c | 27 +-
53762 crypto/cryptd.c | 4 +-
53763 drivers/acpi/apei/apei-internal.h | 2 +-
53764 drivers/acpi/apei/cper.c | 8 +-
53765 drivers/acpi/bgrt.c | 6 +-
53766 drivers/acpi/blacklist.c | 4 +-
53767 drivers/acpi/ec_sys.c | 12 +-
53768 drivers/acpi/processor_idle.c | 2 +-
53769 drivers/acpi/sysfs.c | 4 +-
53770 drivers/ata/libahci.c | 2 +-
53771 drivers/ata/libata-core.c | 8 +-
53772 drivers/ata/pata_arasan_cf.c | 4 +-
53773 drivers/atm/adummy.c | 2 +-
53774 drivers/atm/ambassador.c | 8 +-
53775 drivers/atm/atmtcp.c | 14 +-
53776 drivers/atm/eni.c | 10 +-
53777 drivers/atm/firestream.c | 8 +-
53778 drivers/atm/fore200e.c | 14 +-
53779 drivers/atm/he.c | 18 +-
53780 drivers/atm/horizon.c | 4 +-
53781 drivers/atm/idt77252.c | 36 +-
53782 drivers/atm/iphase.c | 34 +-
53783 drivers/atm/lanai.c | 12 +-
53784 drivers/atm/nicstar.c | 46 +-
53785 drivers/atm/solos-pci.c | 4 +-
53786 drivers/atm/suni.c | 4 +-
53787 drivers/atm/uPD98402.c | 16 +-
53788 drivers/atm/zatm.c | 6 +-
53789 drivers/base/bus.c | 4 +-
53790 drivers/base/devtmpfs.c | 2 +-
53791 drivers/base/node.c | 2 +-
53792 drivers/base/power/domain.c | 4 +-
53793 drivers/base/power/wakeup.c | 8 +-
53794 drivers/base/syscore.c | 4 +-
53795 drivers/block/cciss.c | 28 +-
53796 drivers/block/cciss.h | 2 +-
53797 drivers/block/cpqarray.c | 28 +-
53798 drivers/block/cpqarray.h | 2 +-
53799 drivers/block/drbd/drbd_int.h | 6 +-
53800 drivers/block/drbd/drbd_main.c | 8 +-
53801 drivers/block/drbd/drbd_receiver.c | 22 +-
53802 drivers/block/loop.c | 2 +-
53803 drivers/block/pktcdvd.c | 2 +-
53804 drivers/cdrom/cdrom.c | 9 +-
53805 drivers/cdrom/gdrom.c | 1 -
53806 drivers/char/agp/frontend.c | 2 +-
53807 drivers/char/hpet.c | 2 +-
53808 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
53809 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
53810 drivers/char/mem.c | 41 +-
53811 drivers/char/nvram.c | 2 +-
53812 drivers/char/pcmcia/synclink_cs.c | 18 +-
53813 drivers/char/random.c | 10 +-
53814 drivers/char/sonypi.c | 9 +-
53815 drivers/char/tpm/tpm_acpi.c | 3 +-
53816 drivers/char/tpm/tpm_eventlog.c | 7 +-
53817 drivers/char/virtio_console.c | 4 +-
53818 drivers/clocksource/arm_arch_timer.c | 2 +-
53819 drivers/clocksource/metag_generic.c | 2 +-
53820 drivers/cpufreq/acpi-cpufreq.c | 20 +-
53821 drivers/cpufreq/cpufreq.c | 9 +-
53822 drivers/cpufreq/cpufreq_governor.c | 4 +-
53823 drivers/cpufreq/cpufreq_governor.h | 2 +-
53824 drivers/cpufreq/cpufreq_stats.c | 2 +-
53825 drivers/cpufreq/p4-clockmod.c | 12 +-
53826 drivers/cpufreq/speedstep-centrino.c | 7 +-
53827 drivers/cpuidle/cpuidle.c | 2 +-
53828 drivers/cpuidle/governor.c | 4 +-
53829 drivers/cpuidle/sysfs.c | 2 +-
53830 drivers/devfreq/devfreq.c | 4 +-
53831 drivers/dma/sh/shdma.c | 2 +-
53832 drivers/edac/edac_mc_sysfs.c | 12 +-
53833 drivers/edac/edac_pci_sysfs.c | 22 +-
53834 drivers/edac/mce_amd.h | 2 +-
53835 drivers/firewire/core-card.c | 2 +-
53836 drivers/firewire/core-cdev.c | 3 +-
53837 drivers/firewire/core-device.c | 2 +-
53838 drivers/firewire/core-transaction.c | 1 +
53839 drivers/firewire/core.h | 1 +
53840 drivers/firmware/dmi-id.c | 2 +-
53841 drivers/firmware/dmi_scan.c | 7 +-
53842 drivers/firmware/efivars.c | 4 +-
53843 drivers/firmware/google/memconsole.c | 4 +-
53844 drivers/gpio/gpio-ich.c | 2 +-
53845 drivers/gpio/gpio-vr41xx.c | 2 +-
53846 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
53847 drivers/gpu/drm/drm_drv.c | 6 +-
53848 drivers/gpu/drm/drm_fops.c | 18 +-
53849 drivers/gpu/drm/drm_global.c | 14 +-
53850 drivers/gpu/drm/drm_info.c | 14 +-
53851 drivers/gpu/drm/drm_ioc32.c | 13 +-
53852 drivers/gpu/drm/drm_ioctl.c | 2 +-
53853 drivers/gpu/drm/drm_lock.c | 4 +-
53854 drivers/gpu/drm/drm_stub.c | 2 +-
53855 drivers/gpu/drm/i810/i810_dma.c | 8 +-
53856 drivers/gpu/drm/i810/i810_drv.h | 4 +-
53857 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
53858 drivers/gpu/drm/i915/i915_dma.c | 2 +-
53859 drivers/gpu/drm/i915/i915_drv.h | 4 +-
53860 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +-
53861 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
53862 drivers/gpu/drm/i915/i915_irq.c | 22 +-
53863 drivers/gpu/drm/i915/intel_display.c | 26 +-
53864 drivers/gpu/drm/mga/mga_drv.h | 4 +-
53865 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
53866 drivers/gpu/drm/mga/mga_irq.c | 8 +-
53867 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
53868 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
53869 drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
53870 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
53871 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
53872 drivers/gpu/drm/r128/r128_cce.c | 2 +-
53873 drivers/gpu/drm/r128/r128_drv.h | 4 +-
53874 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
53875 drivers/gpu/drm/r128/r128_irq.c | 4 +-
53876 drivers/gpu/drm/r128/r128_state.c | 4 +-
53877 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
53878 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
53879 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
53880 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
53881 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
53882 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
53883 drivers/gpu/drm/radeon/radeon_ttm.c | 37 +-
53884 drivers/gpu/drm/radeon/rs690.c | 4 +-
53885 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
53886 drivers/gpu/drm/udl/udl_fb.c | 1 -
53887 drivers/gpu/drm/via/via_drv.h | 4 +-
53888 drivers/gpu/drm/via/via_irq.c | 18 +-
53889 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
53890 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
53891 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
53892 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
53893 drivers/hid/hid-core.c | 4 +-
53894 drivers/hv/channel.c | 4 +-
53895 drivers/hv/hv.c | 2 +-
53896 drivers/hv/hyperv_vmbus.h | 2 +-
53897 drivers/hv/vmbus_drv.c | 4 +-
53898 drivers/hwmon/acpi_power_meter.c | 4 +-
53899 drivers/hwmon/applesmc.c | 2 +-
53900 drivers/hwmon/asus_atk0110.c | 10 +-
53901 drivers/hwmon/coretemp.c | 2 +-
53902 drivers/hwmon/ibmaem.c | 2 +-
53903 drivers/hwmon/sht15.c | 12 +-
53904 drivers/hwmon/via-cputemp.c | 2 +-
53905 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
53906 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
53907 drivers/ide/ide-cd.c | 2 +-
53908 drivers/iio/industrialio-core.c | 2 +-
53909 drivers/infiniband/core/cm.c | 32 +-
53910 drivers/infiniband/core/fmr_pool.c | 20 +-
53911 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
53912 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
53913 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
53914 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
53915 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
53916 drivers/infiniband/hw/nes/nes.c | 4 +-
53917 drivers/infiniband/hw/nes/nes.h | 40 +-
53918 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
53919 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
53920 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
53921 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
53922 drivers/infiniband/hw/qib/qib.h | 1 +
53923 drivers/input/gameport/gameport.c | 4 +-
53924 drivers/input/input.c | 4 +-
53925 drivers/input/joystick/sidewinder.c | 1 +
53926 drivers/input/joystick/xpad.c | 4 +-
53927 drivers/input/mouse/psmouse.h | 2 +-
53928 drivers/input/mousedev.c | 2 +-
53929 drivers/input/serio/serio.c | 4 +-
53930 drivers/iommu/iommu.c | 2 +-
53931 drivers/iommu/irq_remapping.c | 10 +-
53932 drivers/irqchip/irq-gic.c | 4 +-
53933 drivers/isdn/capi/capi.c | 10 +-
53934 drivers/isdn/gigaset/interface.c | 8 +-
53935 drivers/isdn/hardware/avm/b1.c | 4 +-
53936 drivers/isdn/i4l/isdn_tty.c | 22 +-
53937 drivers/isdn/icn/icn.c | 2 +-
53938 drivers/leds/leds-clevo-mail.c | 2 +-
53939 drivers/leds/leds-ss4200.c | 2 +-
53940 drivers/lguest/core.c | 10 +-
53941 drivers/lguest/page_tables.c | 2 +-
53942 drivers/lguest/x86/core.c | 12 +-
53943 drivers/lguest/x86/switcher_32.S | 27 +-
53944 drivers/md/bitmap.c | 2 +-
53945 drivers/md/dm-ioctl.c | 2 +-
53946 drivers/md/dm-raid1.c | 16 +-
53947 drivers/md/dm-stripe.c | 10 +-
53948 drivers/md/dm-table.c | 2 +-
53949 drivers/md/dm-thin-metadata.c | 4 +-
53950 drivers/md/dm.c | 16 +-
53951 drivers/md/md.c | 26 +-
53952 drivers/md/md.h | 6 +-
53953 drivers/md/persistent-data/dm-space-map.h | 1 +
53954 drivers/md/raid1.c | 4 +-
53955 drivers/md/raid10.c | 16 +-
53956 drivers/md/raid5.c | 10 +-
53957 drivers/media/dvb-core/dvbdev.c | 2 +-
53958 drivers/media/dvb-frontends/dib3000.h | 2 +-
53959 drivers/media/pci/cx88/cx88-video.c | 6 +-
53960 drivers/media/platform/omap/omap_vout.c | 11 +-
53961 drivers/media/platform/s5p-tv/mixer.h | 2 +-
53962 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
53963 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
53964 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
53965 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
53966 drivers/media/radio/radio-cadet.c | 2 +
53967 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
53968 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
53969 drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
53970 drivers/message/fusion/mptsas.c | 34 +-
53971 drivers/message/fusion/mptscsih.c | 19 +-
53972 drivers/message/i2o/i2o_proc.c | 51 +-
53973 drivers/message/i2o/iop.c | 8 +-
53974 drivers/mfd/janz-cmodio.c | 1 +
53975 drivers/mfd/twl4030-irq.c | 9 +-
53976 drivers/mfd/twl6030-irq.c | 10 +-
53977 drivers/misc/c2port/core.c | 4 +-
53978 drivers/misc/kgdbts.c | 4 +-
53979 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
53980 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
53981 drivers/misc/sgi-gru/gruhandles.c | 4 +-
53982 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
53983 drivers/misc/sgi-gru/grutables.h | 154 +-
53984 drivers/misc/sgi-xp/xp.h | 2 +-
53985 drivers/misc/sgi-xp/xpc.h | 3 +-
53986 drivers/misc/sgi-xp/xpc_main.c | 4 +-
53987 drivers/mmc/core/mmc_ops.c | 2 +-
53988 drivers/mmc/host/dw_mmc.h | 2 +-
53989 drivers/mmc/host/sdhci-s3c.c | 8 +-
53990 drivers/mtd/devices/doc2000.c | 2 +-
53991 drivers/mtd/nand/denali.c | 1 +
53992 drivers/mtd/nftlmount.c | 1 +
53993 drivers/mtd/sm_ftl.c | 2 +-
53994 drivers/net/bonding/bond_main.c | 2 +-
53995 drivers/net/ethernet/8390/ax88796.c | 4 +-
53996 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
53997 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
53998 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
53999 drivers/net/ethernet/broadcom/tg3.h | 1 +
54000 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
54001 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
54002 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
54003 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
54004 drivers/net/ethernet/faraday/ftmac100.c | 2 +
54005 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
54006 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
54007 drivers/net/ethernet/realtek/r8169.c | 8 +-
54008 drivers/net/ethernet/sfc/ptp.c | 2 +-
54009 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
54010 drivers/net/hyperv/hyperv_net.h | 2 +-
54011 drivers/net/hyperv/rndis_filter.c | 4 +-
54012 drivers/net/ieee802154/fakehard.c | 2 +-
54013 drivers/net/macvlan.c | 18 +-
54014 drivers/net/macvtap.c | 2 +-
54015 drivers/net/ppp/ppp_generic.c | 4 +-
54016 drivers/net/slip/slhc.c | 2 +-
54017 drivers/net/team/team.c | 2 +-
54018 drivers/net/tun.c | 5 +-
54019 drivers/net/usb/hso.c | 23 +-
54020 drivers/net/vxlan.c | 2 +-
54021 drivers/net/wireless/at76c50x-usb.c | 2 +-
54022 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
54023 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
54024 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
54025 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
54026 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
54027 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
54028 drivers/net/wireless/mac80211_hwsim.c | 32 +-
54029 drivers/net/wireless/rndis_wlan.c | 2 +-
54030 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
54031 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
54032 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
54033 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
54034 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
54035 drivers/oprofile/buffer_sync.c | 8 +-
54036 drivers/oprofile/event_buffer.c | 2 +-
54037 drivers/oprofile/oprof.c | 2 +-
54038 drivers/oprofile/oprofile_files.c | 2 +-
54039 drivers/oprofile/oprofile_stats.c | 10 +-
54040 drivers/oprofile/oprofile_stats.h | 10 +-
54041 drivers/oprofile/oprofilefs.c | 2 +-
54042 drivers/oprofile/timer_int.c | 2 +-
54043 drivers/parport/procfs.c | 4 +-
54044 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
54045 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
54046 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
54047 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
54048 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
54049 drivers/pci/hotplug/pciehp_core.c | 2 +-
54050 drivers/pci/pci-sysfs.c | 6 +-
54051 drivers/pci/pci.h | 2 +-
54052 drivers/pci/pcie/aspm.c | 6 +-
54053 drivers/pci/probe.c | 2 +-
54054 drivers/platform/x86/msi-laptop.c | 14 +-
54055 drivers/platform/x86/sony-laptop.c | 2 +-
54056 drivers/platform/x86/thinkpad_acpi.c | 70 +-
54057 drivers/pnp/pnpbios/bioscalls.c | 14 +-
54058 drivers/pnp/resource.c | 4 +-
54059 drivers/power/pda_power.c | 7 +-
54060 drivers/power/power_supply.h | 4 +-
54061 drivers/power/power_supply_core.c | 7 +-
54062 drivers/power/power_supply_sysfs.c | 6 +-
54063 drivers/regulator/max8660.c | 6 +-
54064 drivers/regulator/max8973-regulator.c | 8 +-
54065 drivers/regulator/mc13892-regulator.c | 6 +-
54066 drivers/rtc/rtc-cmos.c | 4 +-
54067 drivers/rtc/rtc-ds1307.c | 2 +-
54068 drivers/rtc/rtc-m48t59.c | 4 +-
54069 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
54070 drivers/scsi/bfa/bfa_ioc.h | 4 +-
54071 drivers/scsi/hosts.c | 4 +-
54072 drivers/scsi/hpsa.c | 30 +-
54073 drivers/scsi/hpsa.h | 2 +-
54074 drivers/scsi/libfc/fc_exch.c | 50 +-
54075 drivers/scsi/libsas/sas_ata.c | 2 +-
54076 drivers/scsi/lpfc/lpfc.h | 8 +-
54077 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
54078 drivers/scsi/lpfc/lpfc_init.c | 6 +-
54079 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
54080 drivers/scsi/pmcraid.c | 20 +-
54081 drivers/scsi/pmcraid.h | 8 +-
54082 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
54083 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
54084 drivers/scsi/qla2xxx/qla_os.c | 6 +-
54085 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
54086 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
54087 drivers/scsi/scsi.c | 2 +-
54088 drivers/scsi/scsi_lib.c | 6 +-
54089 drivers/scsi/scsi_sysfs.c | 2 +-
54090 drivers/scsi/scsi_tgt_lib.c | 2 +-
54091 drivers/scsi/scsi_transport_fc.c | 8 +-
54092 drivers/scsi/scsi_transport_iscsi.c | 6 +-
54093 drivers/scsi/scsi_transport_srp.c | 6 +-
54094 drivers/scsi/sd.c | 2 +-
54095 drivers/scsi/sg.c | 2 +-
54096 drivers/spi/spi.c | 2 +-
54097 drivers/staging/iio/iio_hwmon.c | 2 +-
54098 drivers/staging/octeon/ethernet-rx.c | 12 +-
54099 drivers/staging/octeon/ethernet.c | 8 +-
54100 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
54101 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
54102 drivers/staging/usbip/vhci.h | 2 +-
54103 drivers/staging/usbip/vhci_hcd.c | 6 +-
54104 drivers/staging/usbip/vhci_rx.c | 2 +-
54105 drivers/staging/vt6655/hostap.c | 7 +-
54106 drivers/staging/vt6656/hostap.c | 7 +-
54107 drivers/staging/zcache/tmem.c | 4 +-
54108 drivers/staging/zcache/tmem.h | 2 +
54109 drivers/target/target_core_device.c | 2 +-
54110 drivers/target/target_core_transport.c | 2 +-
54111 drivers/tty/cyclades.c | 6 +-
54112 drivers/tty/hvc/hvc_console.c | 14 +-
54113 drivers/tty/hvc/hvcs.c | 21 +-
54114 drivers/tty/ipwireless/tty.c | 27 +-
54115 drivers/tty/moxa.c | 2 +-
54116 drivers/tty/n_gsm.c | 4 +-
54117 drivers/tty/n_tty.c | 3 +-
54118 drivers/tty/pty.c | 4 +-
54119 drivers/tty/rocket.c | 6 +-
54120 drivers/tty/serial/kgdboc.c | 32 +-
54121 drivers/tty/serial/samsung.c | 9 +-
54122 drivers/tty/serial/serial_core.c | 8 +-
54123 drivers/tty/synclink.c | 34 +-
54124 drivers/tty/synclink_gt.c | 28 +-
54125 drivers/tty/synclinkmp.c | 34 +-
54126 drivers/tty/tty_io.c | 2 +-
54127 drivers/tty/tty_ldisc.c | 10 +-
54128 drivers/tty/tty_port.c | 22 +-
54129 drivers/uio/uio.c | 21 +-
54130 drivers/usb/atm/cxacru.c | 2 +-
54131 drivers/usb/atm/usbatm.c | 24 +-
54132 drivers/usb/core/devices.c | 6 +-
54133 drivers/usb/core/hcd.c | 4 +-
54134 drivers/usb/core/message.c | 2 +-
54135 drivers/usb/core/sysfs.c | 2 +-
54136 drivers/usb/core/usb.c | 2 +-
54137 drivers/usb/early/ehci-dbgp.c | 16 +-
54138 drivers/usb/gadget/u_serial.c | 22 +-
54139 drivers/usb/serial/console.c | 6 +-
54140 drivers/usb/storage/usb.h | 2 +-
54141 drivers/usb/wusbcore/wa-hc.h | 4 +-
54142 drivers/usb/wusbcore/wa-xfer.c | 2 +-
54143 drivers/video/aty/aty128fb.c | 2 +-
54144 drivers/video/aty/atyfb_base.c | 8 +-
54145 drivers/video/aty/mach64_cursor.c | 5 +-
54146 drivers/video/backlight/kb3886_bl.c | 2 +-
54147 drivers/video/fb_defio.c | 6 +-
54148 drivers/video/fbcmap.c | 3 +-
54149 drivers/video/fbmem.c | 6 +-
54150 drivers/video/i810/i810_accel.c | 1 +
54151 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
54152 drivers/video/nvidia/nvidia.c | 27 +-
54153 drivers/video/s1d13xxxfb.c | 6 +-
54154 drivers/video/smscufx.c | 4 +-
54155 drivers/video/udlfb.c | 36 +-
54156 drivers/video/uvesafb.c | 53 +-
54157 drivers/video/vesafb.c | 58 +-
54158 drivers/video/via/via_clock.h | 2 +-
54159 fs/9p/vfs_inode.c | 2 +-
54160 fs/Kconfig.binfmt | 2 +-
54161 fs/aio.c | 11 +-
54162 fs/autofs4/waitq.c | 2 +-
54163 fs/befs/endian.h | 4 +-
54164 fs/befs/linuxvfs.c | 2 +-
54165 fs/binfmt_aout.c | 23 +-
54166 fs/binfmt_elf.c | 605 +++-
54167 fs/binfmt_flat.c | 6 +
54168 fs/bio.c | 6 +-
54169 fs/block_dev.c | 2 +-
54170 fs/btrfs/ctree.c | 9 +-
54171 fs/btrfs/super.c | 2 +-
54172 fs/cachefiles/bind.c | 6 +-
54173 fs/cachefiles/daemon.c | 8 +-
54174 fs/cachefiles/internal.h | 12 +-
54175 fs/cachefiles/namei.c | 2 +-
54176 fs/cachefiles/proc.c | 12 +-
54177 fs/cachefiles/rdwr.c | 2 +-
54178 fs/ceph/dir.c | 2 +-
54179 fs/cifs/cifs_debug.c | 12 +-
54180 fs/cifs/cifsfs.c | 8 +-
54181 fs/cifs/cifsglob.h | 54 +-
54182 fs/cifs/link.c | 2 +-
54183 fs/cifs/misc.c | 4 +-
54184 fs/cifs/smb1ops.c | 80 +-
54185 fs/cifs/smb2ops.c | 84 +-
54186 fs/cifs/smb2pdu.c | 3 +-
54187 fs/coda/cache.c | 10 +-
54188 fs/compat.c | 6 +-
54189 fs/compat_binfmt_elf.c | 2 +
54190 fs/compat_ioctl.c | 8 +-
54191 fs/configfs/dir.c | 10 +-
54192 fs/coredump.c | 24 +-
54193 fs/dcache.c | 2 +-
54194 fs/ecryptfs/inode.c | 4 +-
54195 fs/ecryptfs/miscdev.c | 2 +-
54196 fs/ecryptfs/read_write.c | 2 +-
54197 fs/exec.c | 362 ++-
54198 fs/ext4/ext4.h | 20 +-
54199 fs/ext4/mballoc.c | 44 +-
54200 fs/ext4/super.c | 2 +-
54201 fs/fhandle.c | 3 +-
54202 fs/fifo.c | 22 +-
54203 fs/fs_struct.c | 8 +-
54204 fs/fscache/cookie.c | 36 +-
54205 fs/fscache/internal.h | 196 +-
54206 fs/fscache/object.c | 28 +-
54207 fs/fscache/operation.c | 30 +-
54208 fs/fscache/page.c | 110 +-
54209 fs/fscache/stats.c | 344 +-
54210 fs/fuse/cuse.c | 10 +-
54211 fs/fuse/dev.c | 2 +-
54212 fs/fuse/dir.c | 2 +-
54213 fs/gfs2/inode.c | 2 +-
54214 fs/hugetlbfs/inode.c | 13 +-
54215 fs/inode.c | 4 +-
54216 fs/jffs2/erase.c | 3 +-
54217 fs/jffs2/wbuf.c | 3 +-
54218 fs/jfs/super.c | 6 +-
54219 fs/libfs.c | 10 +-
54220 fs/lockd/clntproc.c | 4 +-
54221 fs/locks.c | 8 +-
54222 fs/namei.c | 15 +-
54223 fs/namespace.c | 2 +-
54224 fs/nfs/callback_xdr.c | 2 +-
54225 fs/nfs/inode.c | 6 +-
54226 fs/nfsd/nfs4proc.c | 2 +-
54227 fs/nfsd/nfs4xdr.c | 6 +-
54228 fs/nfsd/nfscache.c | 8 +-
54229 fs/nfsd/vfs.c | 6 +-
54230 fs/nls/nls_base.c | 18 +-
54231 fs/nls/nls_euc-jp.c | 6 +-
54232 fs/nls/nls_koi8-ru.c | 6 +-
54233 fs/notify/fanotify/fanotify_user.c | 4 +-
54234 fs/notify/notification.c | 4 +-
54235 fs/ntfs/dir.c | 2 +-
54236 fs/ntfs/file.c | 4 +-
54237 fs/ocfs2/localalloc.c | 2 +-
54238 fs/ocfs2/ocfs2.h | 10 +-
54239 fs/ocfs2/suballoc.c | 12 +-
54240 fs/ocfs2/super.c | 20 +-
54241 fs/pipe.c | 33 +-
54242 fs/proc/array.c | 20 +
54243 fs/proc/base.c | 4 +-
54244 fs/proc/kcore.c | 32 +-
54245 fs/proc/meminfo.c | 2 +-
54246 fs/proc/nommu.c | 2 +-
54247 fs/proc/proc_sysctl.c | 18 +-
54248 fs/proc/self.c | 2 +-
54249 fs/proc/task_mmu.c | 39 +-
54250 fs/proc/task_nommu.c | 4 +-
54251 fs/qnx6/qnx6.h | 4 +-
54252 fs/quota/netlink.c | 4 +-
54253 fs/readdir.c | 2 +-
54254 fs/reiserfs/do_balan.c | 2 +-
54255 fs/reiserfs/procfs.c | 2 +-
54256 fs/reiserfs/reiserfs.h | 4 +-
54257 fs/seq_file.c | 2 +-
54258 fs/splice.c | 36 +-
54259 fs/sysfs/bin.c | 6 +-
54260 fs/sysfs/dir.c | 2 +-
54261 fs/sysfs/file.c | 10 +-
54262 fs/sysfs/symlink.c | 2 +-
54263 fs/sysv/sysv.h | 2 +-
54264 fs/ubifs/io.c | 2 +-
54265 fs/udf/misc.c | 2 +-
54266 fs/ufs/swab.h | 4 +-
54267 fs/xattr.c | 21 +
54268 fs/xattr_acl.c | 4 +-
54269 fs/xfs/xfs_bmap.c | 2 +-
54270 fs/xfs/xfs_dir2_sf.c | 10 +-
54271 fs/xfs/xfs_ioctl.c | 2 +-
54272 fs/xfs/xfs_iops.c | 2 +-
54273 include/asm-generic/4level-fixup.h | 2 +
54274 include/asm-generic/atomic-long.h | 210 +
54275 include/asm-generic/atomic.h | 2 +-
54276 include/asm-generic/atomic64.h | 12 +
54277 include/asm-generic/cache.h | 4 +-
54278 include/asm-generic/emergency-restart.h | 2 +-
54279 include/asm-generic/kmap_types.h | 4 +-
54280 include/asm-generic/local.h | 13 +
54281 include/asm-generic/pgtable-nopmd.h | 18 +-
54282 include/asm-generic/pgtable-nopud.h | 15 +-
54283 include/asm-generic/pgtable.h | 8 +
54284 include/asm-generic/vmlinux.lds.h | 10 +-
54285 include/crypto/algapi.h | 2 +-
54286 include/drm/drmP.h | 17 +-
54287 include/drm/drm_crtc_helper.h | 2 +-
54288 include/drm/ttm/ttm_memory.h | 2 +-
54289 include/keys/asymmetric-subtype.h | 2 +-
54290 include/linux/atmdev.h | 4 +-
54291 include/linux/binfmts.h | 3 +-
54292 include/linux/blkdev.h | 2 +-
54293 include/linux/blktrace_api.h | 2 +-
54294 include/linux/cache.h | 4 +
54295 include/linux/cdrom.h | 1 -
54296 include/linux/cleancache.h | 2 +-
54297 include/linux/compat.h | 6 +-
54298 include/linux/compiler-gcc4.h | 20 +
54299 include/linux/compiler.h | 65 +-
54300 include/linux/completion.h | 6 +-
54301 include/linux/configfs.h | 2 +-
54302 include/linux/cpu.h | 2 +-
54303 include/linux/cpufreq.h | 3 +-
54304 include/linux/cpuidle.h | 5 +-
54305 include/linux/cpumask.h | 12 +-
54306 include/linux/crypto.h | 6 +-
54307 include/linux/ctype.h | 2 +-
54308 include/linux/decompress/mm.h | 2 +-
54309 include/linux/devfreq.h | 2 +-
54310 include/linux/device.h | 7 +-
54311 include/linux/dma-mapping.h | 2 +-
54312 include/linux/dmaengine.h | 4 +-
54313 include/linux/efi.h | 1 +
54314 include/linux/elf.h | 2 +
54315 include/linux/err.h | 4 +-
54316 include/linux/extcon.h | 2 +-
54317 include/linux/fb.h | 2 +-
54318 include/linux/filter.h | 4 +
54319 include/linux/frontswap.h | 2 +-
54320 include/linux/fs.h | 3 +-
54321 include/linux/fs_struct.h | 2 +-
54322 include/linux/fscache-cache.h | 4 +-
54323 include/linux/fscache.h | 2 +-
54324 include/linux/fsnotify.h | 2 +-
54325 include/linux/ftrace_event.h | 2 +-
54326 include/linux/genhd.h | 2 +-
54327 include/linux/genl_magic_func.h | 2 +-
54328 include/linux/gfp.h | 12 +-
54329 include/linux/highmem.h | 12 +
54330 include/linux/hwmon-sysfs.h | 5 +-
54331 include/linux/i2c.h | 1 +
54332 include/linux/i2o.h | 2 +-
54333 include/linux/if_pppox.h | 2 +-
54334 include/linux/init.h | 33 +-
54335 include/linux/init_task.h | 7 +
54336 include/linux/interrupt.h | 8 +-
54337 include/linux/iommu.h | 2 +-
54338 include/linux/ioport.h | 2 +-
54339 include/linux/irq.h | 3 +-
54340 include/linux/irqchip/arm-gic.h | 2 +-
54341 include/linux/key-type.h | 2 +-
54342 include/linux/kgdb.h | 6 +-
54343 include/linux/kobject.h | 3 +-
54344 include/linux/kobject_ns.h | 2 +-
54345 include/linux/kref.h | 2 +-
54346 include/linux/kvm_host.h | 4 +-
54347 include/linux/libata.h | 2 +-
54348 include/linux/list.h | 15 +
54349 include/linux/math64.h | 6 +-
54350 include/linux/mm.h | 110 +-
54351 include/linux/mm_types.h | 20 +
54352 include/linux/mmiotrace.h | 4 +-
54353 include/linux/mmzone.h | 2 +-
54354 include/linux/mod_devicetable.h | 6 +-
54355 include/linux/module.h | 60 +-
54356 include/linux/moduleloader.h | 16 +
54357 include/linux/moduleparam.h | 4 +-
54358 include/linux/namei.h | 6 +-
54359 include/linux/net.h | 2 +-
54360 include/linux/netdevice.h | 3 +-
54361 include/linux/netfilter.h | 2 +-
54362 include/linux/netfilter/ipset/ip_set.h | 2 +-
54363 include/linux/netfilter/nfnetlink.h | 2 +-
54364 include/linux/nls.h | 2 +-
54365 include/linux/notifier.h | 3 +-
54366 include/linux/oprofile.h | 4 +-
54367 include/linux/pci_hotplug.h | 3 +-
54368 include/linux/perf_event.h | 12 +-
54369 include/linux/pipe_fs_i.h | 6 +-
54370 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
54371 include/linux/platform_data/usb-exynos.h | 2 +-
54372 include/linux/pm_domain.h | 2 +-
54373 include/linux/pm_runtime.h | 2 +-
54374 include/linux/pnp.h | 2 +-
54375 include/linux/poison.h | 4 +-
54376 include/linux/power/smartreflex.h | 2 +-
54377 include/linux/ppp-comp.h | 2 +-
54378 include/linux/proc_fs.h | 2 +-
54379 include/linux/random.h | 5 +
54380 include/linux/rculist.h | 16 +
54381 include/linux/reboot.h | 14 +-
54382 include/linux/regset.h | 3 +-
54383 include/linux/relay.h | 2 +-
54384 include/linux/rio.h | 2 +-
54385 include/linux/rmap.h | 4 +-
54386 include/linux/sched.h | 67 +-
54387 include/linux/sched/sysctl.h | 1 +
54388 include/linux/seq_file.h | 1 +
54389 include/linux/skbuff.h | 12 +-
54390 include/linux/slab.h | 36 +-
54391 include/linux/slab_def.h | 33 +-
54392 include/linux/slob_def.h | 4 +-
54393 include/linux/slub_def.h | 10 +-
54394 include/linux/sock_diag.h | 2 +-
54395 include/linux/sonet.h | 2 +-
54396 include/linux/sunrpc/addr.h | 8 +-
54397 include/linux/sunrpc/clnt.h | 2 +-
54398 include/linux/sunrpc/svc.h | 2 +-
54399 include/linux/sunrpc/svc_rdma.h | 18 +-
54400 include/linux/sunrpc/svcauth.h | 2 +-
54401 include/linux/swiotlb.h | 3 +-
54402 include/linux/syscalls.h | 2 +-
54403 include/linux/syscore_ops.h | 2 +-
54404 include/linux/sysctl.h | 6 +-
54405 include/linux/sysfs.h | 10 +-
54406 include/linux/sysrq.h | 3 +-
54407 include/linux/thread_info.h | 7 +
54408 include/linux/tty.h | 4 +-
54409 include/linux/tty_driver.h | 2 +-
54410 include/linux/tty_ldisc.h | 2 +-
54411 include/linux/types.h | 16 +
54412 include/linux/uaccess.h | 6 +-
54413 include/linux/unaligned/access_ok.h | 24 +-
54414 include/linux/usb.h | 4 +-
54415 include/linux/usb/renesas_usbhs.h | 2 +-
54416 include/linux/vermagic.h | 21 +-
54417 include/linux/vmalloc.h | 11 +-
54418 include/linux/vmstat.h | 20 +-
54419 include/linux/xattr.h | 5 +-
54420 include/linux/zlib.h | 3 +-
54421 include/media/v4l2-dev.h | 2 +-
54422 include/media/v4l2-ioctl.h | 1 -
54423 include/net/9p/transport.h | 2 +-
54424 include/net/bluetooth/l2cap.h | 2 +-
54425 include/net/caif/cfctrl.h | 6 +-
54426 include/net/flow.h | 2 +-
54427 include/net/genetlink.h | 2 +-
54428 include/net/gro_cells.h | 2 +-
54429 include/net/inet_connection_sock.h | 2 +-
54430 include/net/inetpeer.h | 8 +-
54431 include/net/ip.h | 2 +-
54432 include/net/ip_fib.h | 2 +-
54433 include/net/ip_vs.h | 8 +-
54434 include/net/irda/ircomm_tty.h | 1 +
54435 include/net/iucv/af_iucv.h | 2 +-
54436 include/net/llc_c_ac.h | 2 +-
54437 include/net/llc_c_ev.h | 4 +-
54438 include/net/llc_c_st.h | 2 +-
54439 include/net/llc_s_ac.h | 2 +-
54440 include/net/llc_s_st.h | 2 +-
54441 include/net/mac80211.h | 2 +-
54442 include/net/neighbour.h | 2 +-
54443 include/net/net_namespace.h | 12 +-
54444 include/net/netdma.h | 2 +-
54445 include/net/netlink.h | 2 +-
54446 include/net/netns/conntrack.h | 6 +-
54447 include/net/netns/ipv4.h | 2 +-
54448 include/net/protocol.h | 4 +-
54449 include/net/rtnetlink.h | 2 +-
54450 include/net/sctp/sctp.h | 6 +-
54451 include/net/sctp/sm.h | 4 +-
54452 include/net/sctp/structs.h | 2 +-
54453 include/net/sock.h | 6 +-
54454 include/net/tcp.h | 8 +-
54455 include/net/xfrm.h | 8 +-
54456 include/rdma/iw_cm.h | 2 +-
54457 include/scsi/libfc.h | 3 +-
54458 include/scsi/scsi_device.h | 6 +-
54459 include/scsi/scsi_transport_fc.h | 3 +-
54460 include/sound/soc.h | 4 +-
54461 include/target/target_core_base.h | 2 +-
54462 include/trace/events/irq.h | 4 +-
54463 include/uapi/linux/a.out.h | 8 +
54464 include/uapi/linux/byteorder/little_endian.h | 28 +-
54465 include/uapi/linux/elf.h | 28 +
54466 include/uapi/linux/screen_info.h | 3 +-
54467 include/uapi/linux/swab.h | 6 +-
54468 include/uapi/linux/sysctl.h | 6 +-
54469 include/uapi/linux/xattr.h | 4 +
54470 include/video/udlfb.h | 8 +-
54471 include/video/uvesafb.h | 1 +
54472 init/Kconfig | 2 +-
54473 init/Makefile | 3 +
54474 init/do_mounts.c | 14 +-
54475 init/do_mounts.h | 8 +-
54476 init/do_mounts_initrd.c | 22 +-
54477 init/do_mounts_md.c | 6 +-
54478 init/init_task.c | 4 +
54479 init/initramfs.c | 40 +-
54480 init/main.c | 77 +-
54481 ipc/ipc_sysctl.c | 10 +-
54482 ipc/mq_sysctl.c | 2 +-
54483 ipc/msg.c | 11 +-
54484 ipc/sem.c | 11 +-
54485 ipc/shm.c | 17 +-
54486 kernel/acct.c | 2 +-
54487 kernel/audit.c | 8 +-
54488 kernel/auditsc.c | 4 +-
54489 kernel/capability.c | 3 +
54490 kernel/compat.c | 40 +-
54491 kernel/debug/debug_core.c | 16 +-
54492 kernel/debug/kdb/kdb_main.c | 4 +-
54493 kernel/events/core.c | 28 +-
54494 kernel/exit.c | 4 +-
54495 kernel/fork.c | 167 +-
54496 kernel/futex.c | 9 +
54497 kernel/futex_compat.c | 2 +-
54498 kernel/gcov/base.c | 7 +-
54499 kernel/hrtimer.c | 4 +-
54500 kernel/irq_work.c | 7 +-
54501 kernel/jump_label.c | 5 +
54502 kernel/kallsyms.c | 39 +-
54503 kernel/kexec.c | 3 +-
54504 kernel/kmod.c | 4 +-
54505 kernel/kprobes.c | 8 +-
54506 kernel/ksysfs.c | 2 +-
54507 kernel/lockdep.c | 7 +-
54508 kernel/module.c | 337 +-
54509 kernel/mutex-debug.c | 12 +-
54510 kernel/mutex-debug.h | 4 +-
54511 kernel/mutex.c | 7 +-
54512 kernel/notifier.c | 17 +-
54513 kernel/panic.c | 3 +-
54514 kernel/pid.c | 2 +-
54515 kernel/pid_namespace.c | 2 +-
54516 kernel/posix-cpu-timers.c | 4 +-
54517 kernel/posix-timers.c | 20 +-
54518 kernel/power/process.c | 12 +-
54519 kernel/profile.c | 14 +-
54520 kernel/ptrace.c | 8 +-
54521 kernel/rcupdate.c | 4 +-
54522 kernel/rcutiny.c | 4 +-
54523 kernel/rcutiny_plugin.h | 2 +-
54524 kernel/rcutorture.c | 56 +-
54525 kernel/rcutree.c | 68 +-
54526 kernel/rcutree.h | 24 +-
54527 kernel/rcutree_plugin.h | 20 +-
54528 kernel/rcutree_trace.c | 22 +-
54529 kernel/rtmutex-tester.c | 24 +-
54530 kernel/sched/auto_group.c | 4 +-
54531 kernel/sched/core.c | 51 +-
54532 kernel/sched/fair.c | 4 +-
54533 kernel/signal.c | 12 +-
54534 kernel/smp.c | 2 +-
54535 kernel/smpboot.c | 4 +-
54536 kernel/softirq.c | 18 +-
54537 kernel/srcu.c | 4 +-
54538 kernel/sys.c | 10 +-
54539 kernel/sysctl.c | 39 +-
54540 kernel/time.c | 2 +-
54541 kernel/time/alarmtimer.c | 2 +-
54542 kernel/time/tick-broadcast.c | 2 +-
54543 kernel/time/timer_stats.c | 10 +-
54544 kernel/timer.c | 6 +-
54545 kernel/trace/blktrace.c | 6 +-
54546 kernel/trace/ftrace.c | 20 +-
54547 kernel/trace/ring_buffer.c | 76 +-
54548 kernel/trace/trace.c | 8 +-
54549 kernel/trace/trace.h | 2 +-
54550 kernel/trace/trace_events.c | 25 +-
54551 kernel/trace/trace_mmiotrace.c | 8 +-
54552 kernel/trace/trace_output.c | 12 +-
54553 kernel/trace/trace_stack.c | 2 +-
54554 kernel/user_namespace.c | 2 +-
54555 kernel/utsname_sysctl.c | 2 +-
54556 kernel/watchdog.c | 2 +-
54557 lib/Kconfig.debug | 6 +-
54558 lib/Makefile | 2 +-
54559 lib/bitmap.c | 8 +-
54560 lib/bug.c | 2 +
54561 lib/debugobjects.c | 2 +-
54562 lib/devres.c | 4 +-
54563 lib/div64.c | 4 +-
54564 lib/dma-debug.c | 4 +-
54565 lib/inflate.c | 2 +-
54566 lib/ioremap.c | 4 +-
54567 lib/kobject.c | 4 +-
54568 lib/list_debug.c | 126 +-
54569 lib/radix-tree.c | 2 +-
54570 lib/strncpy_from_user.c | 2 +-
54571 lib/strnlen_user.c | 2 +-
54572 lib/swiotlb.c | 2 +-
54573 lib/vsprintf.c | 12 +-
54574 mm/Kconfig | 6 +-
54575 mm/filemap.c | 2 +-
54576 mm/fremap.c | 5 +
54577 mm/highmem.c | 7 +-
54578 mm/hugetlb.c | 70 +-
54579 mm/internal.h | 1 +
54580 mm/maccess.c | 4 +-
54581 mm/madvise.c | 41 +
54582 mm/memory-failure.c | 26 +-
54583 mm/memory.c | 424 ++-
54584 mm/mempolicy.c | 26 +
54585 mm/mlock.c | 16 +-
54586 mm/mmap.c | 576 ++-
54587 mm/mprotect.c | 139 +-
54588 mm/mremap.c | 44 +-
54589 mm/nommu.c | 21 +-
54590 mm/page-writeback.c | 4 +-
54591 mm/page_alloc.c | 41 +-
54592 mm/percpu.c | 2 +-
54593 mm/process_vm_access.c | 14 +-
54594 mm/rmap.c | 38 +-
54595 mm/shmem.c | 19 +-
54596 mm/slab.c | 105 +-
54597 mm/slab.h | 5 +-
54598 mm/slab_common.c | 11 +-
54599 mm/slob.c | 201 +-
54600 mm/slub.c | 99 +-
54601 mm/sparse-vmemmap.c | 4 +-
54602 mm/sparse.c | 2 +-
54603 mm/swap.c | 3 +
54604 mm/swapfile.c | 12 +-
54605 mm/util.c | 6 +
54606 mm/vmalloc.c | 82 +-
54607 mm/vmstat.c | 12 +-
54608 net/8021q/vlan.c | 5 +-
54609 net/9p/mod.c | 4 +-
54610 net/9p/trans_fd.c | 2 +-
54611 net/atm/atm_misc.c | 8 +-
54612 net/atm/lec.h | 2 +-
54613 net/atm/proc.c | 6 +-
54614 net/atm/resources.c | 4 +-
54615 net/ax25/sysctl_net_ax25.c | 2 +-
54616 net/batman-adv/bat_iv_ogm.c | 8 +-
54617 net/batman-adv/hard-interface.c | 4 +-
54618 net/batman-adv/soft-interface.c | 4 +-
54619 net/batman-adv/types.h | 6 +-
54620 net/batman-adv/unicast.c | 2 +-
54621 net/bluetooth/hci_sock.c | 2 +-
54622 net/bluetooth/l2cap_core.c | 6 +-
54623 net/bluetooth/l2cap_sock.c | 12 +-
54624 net/bluetooth/rfcomm/sock.c | 4 +-
54625 net/bluetooth/rfcomm/tty.c | 10 +-
54626 net/bridge/netfilter/ebtables.c | 6 +-
54627 net/caif/cfctrl.c | 11 +-
54628 net/can/af_can.c | 2 +-
54629 net/can/gw.c | 6 +-
54630 net/compat.c | 34 +-
54631 net/core/datagram.c | 2 +-
54632 net/core/dev.c | 16 +-
54633 net/core/flow.c | 8 +-
54634 net/core/iovec.c | 4 +-
54635 net/core/neighbour.c | 2 +-
54636 net/core/net-sysfs.c | 2 +-
54637 net/core/net_namespace.c | 8 +-
54638 net/core/rtnetlink.c | 13 +-
54639 net/core/scm.c | 8 +-
54640 net/core/sock.c | 24 +-
54641 net/core/sock_diag.c | 9 +-
54642 net/core/sysctl_net_core.c | 18 +-
54643 net/decnet/af_decnet.c | 1 +
54644 net/decnet/sysctl_net_decnet.c | 4 +-
54645 net/ipv4/af_inet.c | 8 +-
54646 net/ipv4/ah4.c | 2 +-
54647 net/ipv4/devinet.c | 14 +-
54648 net/ipv4/esp4.c | 2 +-
54649 net/ipv4/fib_frontend.c | 6 +-
54650 net/ipv4/fib_semantics.c | 2 +-
54651 net/ipv4/inet_connection_sock.c | 2 +-
54652 net/ipv4/inetpeer.c | 4 +-
54653 net/ipv4/ip_fragment.c | 15 +-
54654 net/ipv4/ip_gre.c | 6 +-
54655 net/ipv4/ip_sockglue.c | 2 +-
54656 net/ipv4/ip_vti.c | 4 +-
54657 net/ipv4/ipcomp.c | 2 +-
54658 net/ipv4/ipconfig.c | 6 +-
54659 net/ipv4/ipip.c | 4 +-
54660 net/ipv4/netfilter/arp_tables.c | 12 +-
54661 net/ipv4/netfilter/ip_tables.c | 12 +-
54662 net/ipv4/ping.c | 2 +-
54663 net/ipv4/raw.c | 14 +-
54664 net/ipv4/route.c | 18 +-
54665 net/ipv4/sysctl_net_ipv4.c | 45 +-
54666 net/ipv4/tcp_input.c | 2 +-
54667 net/ipv4/tcp_probe.c | 2 +-
54668 net/ipv4/udp.c | 10 +-
54669 net/ipv4/xfrm4_policy.c | 14 +-
54670 net/ipv6/addrconf.c | 6 +-
54671 net/ipv6/icmp.c | 2 +-
54672 net/ipv6/ip6_gre.c | 8 +-
54673 net/ipv6/ip6_tunnel.c | 4 +-
54674 net/ipv6/ipv6_sockglue.c | 2 +-
54675 net/ipv6/netfilter/ip6_tables.c | 12 +-
54676 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
54677 net/ipv6/raw.c | 19 +-
54678 net/ipv6/reassembly.c | 13 +-
54679 net/ipv6/route.c | 2 +-
54680 net/ipv6/sit.c | 4 +-
54681 net/ipv6/sysctl_net_ipv6.c | 2 +-
54682 net/ipv6/udp.c | 8 +-
54683 net/ipv6/xfrm6_policy.c | 13 +-
54684 net/irda/ircomm/ircomm_tty.c | 18 +-
54685 net/iucv/af_iucv.c | 4 +-
54686 net/iucv/iucv.c | 2 +-
54687 net/key/af_key.c | 4 +-
54688 net/mac80211/cfg.c | 8 +-
54689 net/mac80211/ieee80211_i.h | 3 +-
54690 net/mac80211/iface.c | 14 +-
54691 net/mac80211/main.c | 2 +-
54692 net/mac80211/pm.c | 6 +-
54693 net/mac80211/rate.c | 2 +-
54694 net/mac80211/rc80211_pid_debugfs.c | 2 +-
54695 net/mac80211/util.c | 2 +-
54696 net/netfilter/ipset/ip_set_core.c | 2 +-
54697 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
54698 net/netfilter/ipvs/ip_vs_core.c | 4 +-
54699 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
54700 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
54701 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
54702 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
54703 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
54704 net/netfilter/nf_conntrack_acct.c | 2 +-
54705 net/netfilter/nf_conntrack_ecache.c | 2 +-
54706 net/netfilter/nf_conntrack_helper.c | 2 +-
54707 net/netfilter/nf_conntrack_proto.c | 2 +-
54708 net/netfilter/nf_conntrack_standalone.c | 2 +-
54709 net/netfilter/nf_conntrack_timestamp.c | 2 +-
54710 net/netfilter/nf_log.c | 10 +-
54711 net/netfilter/nf_sockopt.c | 4 +-
54712 net/netfilter/nfnetlink_log.c | 4 +-
54713 net/netfilter/xt_statistic.c | 8 +-
54714 net/netlink/af_netlink.c | 4 +-
54715 net/netlink/genetlink.c | 16 +-
54716 net/packet/af_packet.c | 12 +-
54717 net/phonet/pep.c | 6 +-
54718 net/phonet/socket.c | 2 +-
54719 net/phonet/sysctl.c | 2 +-
54720 net/rds/cong.c | 6 +-
54721 net/rds/ib.h | 2 +-
54722 net/rds/ib_cm.c | 2 +-
54723 net/rds/ib_recv.c | 4 +-
54724 net/rds/iw.h | 2 +-
54725 net/rds/iw_cm.c | 2 +-
54726 net/rds/iw_recv.c | 4 +-
54727 net/rds/rds.h | 2 +-
54728 net/rds/tcp.c | 2 +-
54729 net/rds/tcp_send.c | 2 +-
54730 net/rxrpc/af_rxrpc.c | 2 +-
54731 net/rxrpc/ar-ack.c | 14 +-
54732 net/rxrpc/ar-call.c | 2 +-
54733 net/rxrpc/ar-connection.c | 2 +-
54734 net/rxrpc/ar-connevent.c | 2 +-
54735 net/rxrpc/ar-input.c | 4 +-
54736 net/rxrpc/ar-internal.h | 8 +-
54737 net/rxrpc/ar-local.c | 2 +-
54738 net/rxrpc/ar-output.c | 4 +-
54739 net/rxrpc/ar-peer.c | 2 +-
54740 net/rxrpc/ar-proc.c | 4 +-
54741 net/rxrpc/ar-transport.c | 2 +-
54742 net/rxrpc/rxkad.c | 4 +-
54743 net/sctp/ipv6.c | 6 +-
54744 net/sctp/protocol.c | 10 +-
54745 net/sctp/sm_sideeffect.c | 2 +-
54746 net/sctp/socket.c | 21 +-
54747 net/sctp/sysctl.c | 4 +-
54748 net/socket.c | 18 +-
54749 net/sunrpc/clnt.c | 4 +-
54750 net/sunrpc/sched.c | 4 +-
54751 net/sunrpc/svc.c | 4 +-
54752 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
54753 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
54754 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
54755 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
54756 net/tipc/link.c | 6 +-
54757 net/tipc/msg.c | 2 +-
54758 net/tipc/subscr.c | 2 +-
54759 net/unix/sysctl_net_unix.c | 2 +-
54760 net/wireless/wext-core.c | 19 +-
54761 net/xfrm/xfrm_policy.c | 27 +-
54762 net/xfrm/xfrm_state.c | 29 +-
54763 net/xfrm/xfrm_sysctl.c | 2 +-
54764 scripts/Makefile.build | 2 +-
54765 scripts/Makefile.clean | 3 +-
54766 scripts/Makefile.host | 28 +-
54767 scripts/basic/fixdep.c | 12 +-
54768 scripts/gcc-plugin.sh | 17 +
54769 scripts/headers_install.pl | 1 +
54770 scripts/link-vmlinux.sh | 2 +-
54771 scripts/mod/file2alias.c | 14 +-
54772 scripts/mod/modpost.c | 25 +-
54773 scripts/mod/modpost.h | 6 +-
54774 scripts/mod/sumversion.c | 2 +-
54775 scripts/package/builddeb | 1 +
54776 scripts/pnmtologo.c | 6 +-
54777 scripts/sortextable.h | 6 +-
54778 security/Kconfig | 675 +++-
54779 security/apparmor/lsm.c | 2 +-
54780 security/integrity/ima/ima.h | 4 +-
54781 security/integrity/ima/ima_api.c | 2 +-
54782 security/integrity/ima/ima_fs.c | 4 +-
54783 security/integrity/ima/ima_queue.c | 2 +-
54784 security/keys/compat.c | 2 +-
54785 security/keys/key.c | 18 +-
54786 security/keys/keyctl.c | 8 +-
54787 security/keys/keyring.c | 6 +-
54788 security/security.c | 9 +-
54789 security/selinux/hooks.c | 2 +-
54790 security/selinux/include/xfrm.h | 2 +-
54791 security/smack/smack_lsm.c | 2 +-
54792 security/tomoyo/tomoyo.c | 2 +-
54793 security/yama/yama_lsm.c | 22 +-
54794 sound/aoa/codecs/onyx.c | 7 +-
54795 sound/aoa/codecs/onyx.h | 1 +
54796 sound/core/oss/pcm_oss.c | 18 +-
54797 sound/core/pcm_compat.c | 2 +-
54798 sound/core/pcm_native.c | 4 +-
54799 sound/core/seq/seq_device.c | 8 +-
54800 sound/drivers/mts64.c | 14 +-
54801 sound/drivers/opl4/opl4_lib.c | 2 +-
54802 sound/drivers/portman2x4.c | 3 +-
54803 sound/firewire/amdtp.c | 4 +-
54804 sound/firewire/amdtp.h | 2 +-
54805 sound/firewire/isight.c | 10 +-
54806 sound/firewire/scs1x.c | 8 +-
54807 sound/oss/sb_audio.c | 2 +-
54808 sound/oss/swarm_cs4297a.c | 6 +-
54809 sound/pci/ymfpci/ymfpci.h | 2 +-
54810 sound/pci/ymfpci/ymfpci_main.c | 12 +-
54811 tools/gcc/.gitignore | 1 +
54812 tools/gcc/Makefile | 45 +
54813 tools/gcc/checker_plugin.c | 171 +
54814 tools/gcc/colorize_plugin.c | 151 +
54815 tools/gcc/constify_plugin.c | 518 ++
54816 tools/gcc/generate_size_overflow_hash.sh | 94 +
54817 tools/gcc/kallocstat_plugin.c | 170 +
54818 tools/gcc/kernexec_plugin.c | 465 ++
54819 tools/gcc/latent_entropy_plugin.c | 327 ++
54820 tools/gcc/size_overflow_hash.data | 5876 ++++++++++++++++++++++
54821 tools/gcc/size_overflow_plugin.c | 2114 ++++++++
54822 tools/gcc/stackleak_plugin.c | 327 ++
54823 tools/gcc/structleak_plugin.c | 276 +
54824 tools/perf/util/include/asm/alternative-asm.h | 3 +
54825 tools/perf/util/include/linux/compiler.h | 8 +
54826 virt/kvm/kvm_main.c | 32 +-
54827 1555 files changed, 30474 insertions(+), 7126 deletions(-)
54828 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
54829 Merge: 0949bd4 fc53d63
54830 Author: Brad Spengler <spender@grsecurity.net>
54831 Date: Thu Mar 22 19:03:44 2012 -0400
54832
54833 Merge branch 'pax-test' into grsec-test
54834
54835 commit fc53d6338964741b368070ec5c935bc579b8c2a6
54836 Author: Brad Spengler <spender@grsecurity.net>
54837 Date: Thu Mar 22 19:02:45 2012 -0400
54838
54839 Update to pax-linux-3.2.12-test33.patch
54840
54841 commit 0949bd46a6455b308f66ad7c993bfee62412db35
54842 Author: Brad Spengler <spender@grsecurity.net>
54843 Date: Thu Mar 22 16:56:09 2012 -0400
54844
54845 Use current_umask() instead of current->fs->umask
54846
54847 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
54848 Author: Brad Spengler <spender@grsecurity.net>
54849 Date: Wed Mar 21 19:42:42 2012 -0400
54850
54851 compile fix
54852
54853 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
54854 Author: Brad Spengler <spender@grsecurity.net>
54855 Date: Wed Mar 21 19:34:56 2012 -0400
54856
54857 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
54858 uses of domains with particular hash collisions
54859
54860 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
54861 Author: Brad Spengler <spender@grsecurity.net>
54862 Date: Tue Mar 20 20:25:49 2012 -0400
54863
54864 zero kernel_role
54865
54866 commit b00953b43c69238d181d21121ef1577c988d5f6b
54867 Author: Brad Spengler <spender@grsecurity.net>
54868 Date: Tue Mar 20 19:29:34 2012 -0400
54869
54870 zero real_root after releasing it
54871
54872 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
54873 Merge: b724f59 273f98e
54874 Author: Brad Spengler <spender@grsecurity.net>
54875 Date: Tue Mar 20 19:11:26 2012 -0400
54876
54877 Merge branch 'pax-test' into grsec-test
54878
54879 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
54880 Author: Brad Spengler <spender@grsecurity.net>
54881 Date: Tue Mar 20 19:10:52 2012 -0400
54882
54883 Temporary workaround for (most) size_overflow plugin false-positives
54884 Increase randomization for brk-managed heap to 21 bits
54885 Update to pax-linux-3.2.12-test32.patch
54886
54887 commit b724f59125304460c2af8bd4b02921993afbb5d3
54888 Author: Brad Spengler <spender@grsecurity.net>
54889 Date: Tue Mar 20 18:58:53 2012 -0400
54890
54891 compile fix
54892
54893 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
54894 Author: Brad Spengler <spender@grsecurity.net>
54895 Date: Tue Mar 20 18:52:23 2012 -0400
54896
54897 Require default and kernel role
54898
54899 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
54900 Author: Brad Spengler <spender@grsecurity.net>
54901 Date: Tue Mar 20 18:47:28 2012 -0400
54902
54903 Allow policies without special roles
54904 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
54905
54906 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
54907 Merge: 8e012dc f14661a
54908 Author: Brad Spengler <spender@grsecurity.net>
54909 Date: Mon Mar 19 18:06:59 2012 -0400
54910
54911 Merge branch 'pax-test' into grsec-test
54912
54913 Conflicts:
54914 fs/namei.c
54915
54916 commit f14661aaf202155c97f66626cea0269017bb7775
54917 Merge: eae671f 058b017
54918 Author: Brad Spengler <spender@grsecurity.net>
54919 Date: Mon Mar 19 18:05:44 2012 -0400
54920
54921 Merge branch 'linux-3.2.y' into pax-test
54922
54923 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
54924 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
54925 Date: Fri Mar 16 17:08:39 2012 -0700
54926
54927 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
54928
54929 According to the report from Slicky Devil, nilfs caused kernel oops at
54930 nilfs_load_super_block function during mount after he shrank the
54931 partition without resizing the filesystem:
54932
54933 BUG: unable to handle kernel NULL pointer dereference at 00000048
54934 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
54935 *pde = 00000000
54936 Oops: 0000 [#1] PREEMPT SMP
54937 ...
54938 Call Trace:
54939 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
54940 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
54941 [<c0226636>] mount_fs+0x36/0x180
54942 [<c023d961>] vfs_kern_mount+0x51/0xa0
54943 [<c023ddae>] do_kern_mount+0x3e/0xe0
54944 [<c023f189>] do_mount+0x169/0x700
54945 [<c023fa9b>] sys_mount+0x6b/0xa0
54946 [<c04abd1f>] sysenter_do_call+0x12/0x28
54947 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
54948 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
54949 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
54950 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
54951 CR2: 0000000000000048
54952
54953 This turned out due to a defect in an error path which runs if the
54954 calculated location of the secondary super block was invalid.
54955
54956 This patch fixes it and eliminates the reported oops.
54957
54958 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
54959 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
54960 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
54961 Cc: <stable@vger.kernel.org> [2.6.30+]
54962 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
54963 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
54964
54965 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
54966 Author: Haogang Chen <haogangchen@gmail.com>
54967 Date: Fri Mar 16 17:08:38 2012 -0700
54968
54969 nilfs2: clamp ns_r_segments_percentage to [1, 99]
54970
54971 ns_r_segments_percentage is read from the disk. Bogus or malicious
54972 value could cause integer overflow and malfunction due to meaningless
54973 disk usage calculation. This patch reports error when mounting such
54974 bogus volumes.
54975
54976 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
54977 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
54978 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
54979 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
54980
54981 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
54982 Author: Eric Dumazet <eric.dumazet@gmail.com>
54983 Date: Sat Mar 10 09:20:21 2012 +0000
54984
54985 tcp: fix syncookie regression
54986
54987 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
54988 added a serious regression on synflood handling.
54989
54990 Simon Kirby discovered a successful connection was delayed by 20 seconds
54991 before being responsive.
54992
54993 In my tests, I discovered that xmit frames were lost, and needed ~4
54994 retransmits and a socket dst rebuild before being really sent.
54995
54996 In case of syncookie initiated connection, we use a different path to
54997 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
54998
54999 As ip_queue_xmit() now depends on inet flow being setup, fix this by
55000 copying the temp flowi4 we use in cookie_v4_check().
55001
55002 Reported-by: Simon Kirby <sim@netnation.com>
55003 Bisected-by: Simon Kirby <sim@netnation.com>
55004 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
55005 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
55006 Signed-off-by: David S. Miller <davem@davemloft.net>
55007
55008 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
55009 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
55010 Date: Mon Mar 12 02:59:41 2012 +0000
55011
55012 tun: don't hold network namespace by tun sockets
55013
55014 v3: added previously removed sock_put() to the tun_release() callback, because
55015 sk_release_kernel() doesn't drop the socket reference.
55016
55017 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
55018 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
55019 call.
55020
55021 TUN was designed to destroy it's socket on network namesapce shutdown. But this
55022 will never happen for persistent device, because it's socket holds network
55023 namespace.
55024 This patch removes of holding network namespace by TUN socket and replaces it
55025 by creating socket in init_net and then changing it's net it to desired one. On
55026 shutdown socket is moved back to init_net prior to final put.
55027
55028 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
55029 Signed-off-by: David S. Miller <davem@davemloft.net>
55030
55031 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
55032 Author: Tyler Hicks <tyhicks@canonical.com>
55033 Date: Mon Dec 12 10:02:30 2011 -0600
55034
55035 vfs: Correctly set the dir i_mutex lockdep class
55036
55037 9a7aa12f3911853a introduced additional logic around setting the i_mutex
55038 lockdep class for directory inodes. The idea was that some filesystems
55039 may want their own special lockdep class for different directory
55040 inodes and calling unlock_new_inode() should not clobber one of
55041 those special classes.
55042
55043 I believe that the added conditional, around the *negated* return value
55044 of lockdep_match_class(), caused directory inodes to be placed in the
55045 wrong lockdep class.
55046
55047 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
55048 all inodes. If the filesystem did not change the class during inode
55049 initialization, then the conditional mentioned above was false and the
55050 directory inode was incorrectly left in the non-directory lockdep class.
55051 If the filesystem did set a special lockdep class, then the conditional
55052 mentioned above was true and that class was clobbered with
55053 i_mutex_dir_key.
55054
55055 This patch removes the negation from the conditional so that the i_mutex
55056 lockdep class is properly set for directory inodes. Special classes are
55057 preserved and directory inodes with unmodified classes are set with
55058 i_mutex_dir_key.
55059
55060 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
55061 Reviewed-by: Jan Kara <jack@suse.cz>
55062 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55063
55064 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
55065 Author: Jan Kara <jack@suse.cz>
55066 Date: Mon Feb 20 17:54:00 2012 +0100
55067
55068 udf: Fix deadlock in udf_release_file()
55069
55070 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
55071 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
55072 i_mutex is not needed in udf_release_file() anymore since protection by
55073 i_data_sem is enough to protect from races with write and truncate.
55074
55075 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
55076 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
55077 Signed-off-by: Jan Kara <jack@suse.cz>
55078 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55079
55080 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
55081 Author: Miklos Szeredi <mszeredi@suse.cz>
55082 Date: Tue Mar 6 13:56:33 2012 +0100
55083
55084 vfs: fix double put after complete_walk()
55085
55086 complete_walk() already puts nd->path, no need to do it again at cleanup time.
55087
55088 This would result in Oopses if triggered, apparently the codepath is not too
55089 well exercised.
55090
55091 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
55092 CC: stable@vger.kernel.org
55093 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55094
55095 commit 13885ba2b18400f3ef6540497d30f1af896605e5
55096 Author: Miklos Szeredi <mszeredi@suse.cz>
55097 Date: Tue Mar 6 13:56:34 2012 +0100
55098
55099 vfs: fix return value from do_last()
55100
55101 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
55102 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
55103 which is complete nonsense.
55104
55105 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
55106 CC: stable@vger.kernel.org
55107 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55108
55109 Conflicts:
55110
55111 fs/namei.c
55112
55113 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
55114 Author: Al Viro <viro@zeniv.linux.org.uk>
55115 Date: Sat Mar 10 17:07:28 2012 -0500
55116
55117 restore smp_mb() in unlock_new_inode()
55118
55119 wait_on_inode() doesn't have ->i_lock
55120
55121 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55122
55123 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
55124 Author: David S. Miller <davem@davemloft.net>
55125 Date: Tue Mar 13 18:19:51 2012 -0700
55126
55127 sparc32: Add -Av8 to assembler command line.
55128
55129 Newer version of binutils are more strict about specifying the
55130 correct options to enable certain classes of instructions.
55131
55132 The sparc32 build is done for v7 in order to support sun4c systems
55133 which lack hardware integer multiply and divide instructions.
55134
55135 So we have to pass -Av8 when building the assembler routines that
55136 use these instructions and get patched into the kernel when we find
55137 out that we have a v8 capable cpu.
55138
55139 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
55140 Signed-off-by: David S. Miller <davem@davemloft.net>
55141
55142 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
55143 Author: Thomas Gleixner <tglx@linutronix.de>
55144 Date: Fri Mar 9 20:55:10 2012 +0100
55145
55146 x86: Derandom delay_tsc for 64 bit
55147
55148 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
55149 delay_tsc() into a random delay generator for 64 bit. The reason is
55150 that it merged the mostly identical versions of delay_32.c and
55151 delay_64.c. Though the subtle difference of the result was:
55152
55153 static void delay_tsc(unsigned long loops)
55154 {
55155 - unsigned bclock, now;
55156 + unsigned long bclock, now;
55157
55158 Now the function uses rdtscl() which returns the lower 32bit of the
55159 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
55160 bit this fails when the lower 32bit are close to wrap around when
55161 bclock is read, because the following check
55162
55163 if ((now - bclock) >= loops)
55164 break;
55165
55166 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
55167 because the unsigned long (now - bclock) of these values results in
55168 0xffffffff00000001 which is definitely larger than the loops
55169 value. That explains Tvortkos observation:
55170
55171 "Because I am seeing udelay(500) (_occasionally_) being short, and
55172 that by delaying for some duration between 0us (yep) and 491us."
55173
55174 Make those variables explicitely u32 again, so this works for both 32
55175 and 64 bit.
55176
55177 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
55178 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
55179 Cc: stable@vger.kernel.org # >= 2.6.27
55180 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55181
55182 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
55183 Author: Al Viro <viro@ZenIV.linux.org.uk>
55184 Date: Thu Mar 8 17:51:19 2012 +0000
55185
55186 aio: fix the "too late munmap()" race
55187
55188 Current code has put_ioctx() called asynchronously from aio_fput_routine();
55189 that's done *after* we have killed the request that used to pin ioctx,
55190 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
55191 from progressing. As the result, we can end up with async call of
55192 put_ioctx() being the last one and possibly happening during exit_mmap()
55193 or elf_core_dump(), neither of which expects stray munmap() being done
55194 to them...
55195
55196 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
55197 with that, but that's all we care about - neither io_destroy() nor
55198 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
55199 does really_put_req(), so the ioctx teardown won't be done until then
55200 and we don't care about the contents of ioctx past that point.
55201
55202 Since actual freeing of these suckers is RCU-delayed, we don't need to
55203 bump ioctx refcount when request goes into list for async removal.
55204 All we need is rcu_read_lock held just over the ->ctx_lock-protected
55205 area in aio_fput_routine().
55206
55207 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55208 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
55209 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
55210 Cc: stable@vger.kernel.org
55211 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55212
55213 commit 002124c055afbf09b52226af65621999e8316448
55214 Author: Al Viro <viro@ZenIV.linux.org.uk>
55215 Date: Wed Mar 7 05:16:35 2012 +0000
55216
55217 aio: fix io_setup/io_destroy race
55218
55219 Have ioctx_alloc() return an extra reference, so that caller would drop it
55220 on success and not bother with re-grabbing it on failure exit. The current
55221 code is obviously broken - io_destroy() from another thread that managed
55222 to guess the address io_setup() would've returned would free ioctx right
55223 under us; gets especially interesting if aio_context_t * we pass to
55224 io_setup() points to PROT_READ mapping, so put_user() fails and we end
55225 up doing io_destroy() on kioctx another thread has just got freed...
55226
55227 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55228 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
55229 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
55230 Cc: stable@vger.kernel.org
55231 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55232
55233 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
55234 Author: Dan Carpenter <dan.carpenter@oracle.com>
55235 Date: Thu Mar 15 15:17:12 2012 -0700
55236
55237 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
55238
55239 strict_strtoul() writes a long but ->gamma_mode only has space to store an
55240 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
55241 well. I've changed it to use kstrtouint() instead.
55242
55243 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
55244 Acked-by: Inki Dae <inki.dae@samsung.com>
55245 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
55246 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
55247 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55248
55249 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
55250 Merge: e4b05b6 eae671f
55251 Author: Brad Spengler <spender@grsecurity.net>
55252 Date: Fri Mar 16 21:04:27 2012 -0400
55253
55254 Merge branch 'pax-test' into grsec-test
55255
55256 Conflicts:
55257 security/Kconfig
55258
55259 commit eae671fafe93f04685c04a089cc13efebc05d600
55260 Author: Brad Spengler <spender@grsecurity.net>
55261 Date: Fri Mar 16 20:58:01 2012 -0400
55262
55263 Update to pax-linux-3.2.11-test31.patch
55264 Introduction of the size_overflow plugin from Emese Revfy
55265 Many thanks to Emese for her hard work :)
55266
55267 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
55268 Merge: e55aa68 258c015
55269 Author: Brad Spengler <spender@grsecurity.net>
55270 Date: Thu Mar 15 20:59:19 2012 -0400
55271
55272 Merge branch 'pax-test' into grsec-test
55273
55274 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
55275 Author: Brad Spengler <spender@grsecurity.net>
55276 Date: Thu Mar 15 20:59:05 2012 -0400
55277
55278 fix ARM compilation
55279
55280 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
55281 Merge: 8f95ea9 55b7573
55282 Author: Brad Spengler <spender@grsecurity.net>
55283 Date: Wed Mar 14 19:33:41 2012 -0400
55284
55285 Merge branch 'pax-test' into grsec-test
55286
55287 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
55288 Author: Brad Spengler <spender@grsecurity.net>
55289 Date: Wed Mar 14 19:33:15 2012 -0400
55290
55291 Update to pax-linux-3.2.10-test28.patch
55292
55293 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
55294 Merge: c8786a2 886ac5e
55295 Author: Brad Spengler <spender@grsecurity.net>
55296 Date: Tue Mar 13 17:38:13 2012 -0400
55297
55298 Merge branch 'pax-test' into grsec-test
55299
55300 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
55301
55302 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
55303 Author: Brad Spengler <spender@grsecurity.net>
55304 Date: Tue Mar 13 17:37:44 2012 -0400
55305
55306 Update to pax-linux-3.2.10-test26.patch
55307
55308 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
55309 Merge: 219c982 c061fcf
55310 Author: Brad Spengler <spender@grsecurity.net>
55311 Date: Tue Mar 13 17:25:06 2012 -0400
55312
55313 Merge branch 'pax-test' into grsec-test
55314
55315 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
55316 Merge: 89373d2 3f4b3b2
55317 Author: Brad Spengler <spender@grsecurity.net>
55318 Date: Tue Mar 13 17:25:02 2012 -0400
55319
55320 Merge branch 'linux-3.2.y' into pax-test
55321
55322 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
55323 Merge: 54e19a3 89373d2
55324 Author: Brad Spengler <spender@grsecurity.net>
55325 Date: Mon Mar 12 17:23:57 2012 -0400
55326
55327 Merge branch 'pax-test' into grsec-test
55328
55329 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
55330 Merge: a778588 7459f11
55331 Author: Brad Spengler <spender@grsecurity.net>
55332 Date: Mon Mar 12 17:23:49 2012 -0400
55333
55334 Merge branch 'linux-3.2.y' into pax-test
55335
55336 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
55337 Merge: c4650f1 a778588
55338 Author: Brad Spengler <spender@grsecurity.net>
55339 Date: Mon Mar 12 16:51:25 2012 -0400
55340
55341 Merge branch 'pax-test' into grsec-test
55342
55343 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
55344 Author: Brad Spengler <spender@grsecurity.net>
55345 Date: Mon Mar 12 16:51:12 2012 -0400
55346
55347 Update to pax-linux-3.2.9-test24.patch
55348
55349 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
55350 Merge: fb2abee 1015790
55351 Author: Brad Spengler <spender@grsecurity.net>
55352 Date: Sun Mar 11 21:08:28 2012 -0400
55353
55354 Merge branch 'pax-test' into grsec-test
55355
55356 Conflicts:
55357 security/Kconfig
55358
55359 commit 101579028a736c224e590c7e12a7357018c424e1
55360 Author: Brad Spengler <spender@grsecurity.net>
55361 Date: Sun Mar 11 21:07:27 2012 -0400
55362
55363 Update to pax-linux-3.2.9-test22.patch
55364
55365 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
55366 Author: Brad Spengler <spender@grsecurity.net>
55367 Date: Sun Mar 11 11:02:17 2012 -0400
55368
55369 Allow 4096 CPUs
55370
55371 commit 96bae28cbe6a41d48e3b56e5904814096e956000
55372 Author: Brad Spengler <spender@grsecurity.net>
55373 Date: Sun Mar 11 10:25:58 2012 -0400
55374
55375 Use a per-cpu 48-bit counter instead of a global atomic64
55376 Initialize each counter to have the cpu number in the lower 16 bits
55377 instead of incrementing the counter each time by 1, perform the increments
55378 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
55379 any state
55380 idea from PaX Team
55381
55382 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
55383 Author: Brad Spengler <spender@grsecurity.net>
55384 Date: Sat Mar 10 20:33:12 2012 -0500
55385
55386 Special vnsec edition! :)
55387 Further reduce argv/env allowance for suid/sgid apps to 512KB
55388 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
55389 Clear 3GB personality on suid/sgid binaries
55390 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
55391 with the main purpose of throwing off program stack -> arg/env alignment
55392 Update documentation
55393
55394 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
55395 Author: Brad Spengler <spender@grsecurity.net>
55396 Date: Sat Mar 10 19:54:47 2012 -0500
55397
55398 Resolve skbuff.h warnings that turn into errors during compilation in
55399 the grsecurity directory with -Werror
55400
55401 commit 2023210ad43a944033fcacc660ce410888f562ee
55402 Merge: ece4383 5f66adf
55403 Author: Brad Spengler <spender@grsecurity.net>
55404 Date: Fri Mar 9 19:48:01 2012 -0500
55405
55406 Merge branch 'pax-test' into grsec-test
55407
55408 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
55409 Author: Brad Spengler <spender@grsecurity.net>
55410 Date: Fri Mar 9 19:47:06 2012 -0500
55411
55412 Add colorize plugin
55413
55414 commit ece4383e5e91c92d138c4df84225a70b552f4d69
55415 Merge: a366d0e ab4a5a1
55416 Author: Brad Spengler <spender@grsecurity.net>
55417 Date: Fri Mar 9 17:56:46 2012 -0500
55418
55419 Merge branch 'pax-test' into grsec-test
55420
55421 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
55422 Author: Brad Spengler <spender@grsecurity.net>
55423 Date: Fri Mar 9 17:56:26 2012 -0500
55424
55425 Update to pax-linux-3.2.9-test21.patch
55426
55427 commit a366d0ed963ce93fce10121c1100989d5f064e75
55428 Author: Mikulas Patocka <mpatocka@redhat.com>
55429 Date: Sun Mar 4 19:52:03 2012 -0500
55430
55431 mm: fix find_vma_prev
55432
55433 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
55434 management on PA-RISC.
55435
55436 After application of the patch, programs that allocate big arrays on the
55437 stack crash with segfault, for example, this will crash if compiled
55438 without optimization:
55439
55440 int main()
55441 {
55442 char array[200000];
55443 array[199999] = 0;
55444 return 0;
55445 }
55446
55447 The reason is that PA-RISC has up-growing stack and the stack is usually
55448 the last memory area. In the above example, a page fault happens above
55449 the stack.
55450
55451 Previously, if we passed too high address to find_vma_prev, it returned
55452 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
55453 change, it stores NULL in *pprev. Consequently, the stack area is not
55454 found and it is not expanded, as it used to be before the change.
55455
55456 This patch restores the old behavior and makes it return the last VMA in
55457 *pprev if the requested address is higher than address of any other VMA.
55458
55459 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
55460 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
55461 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55462
55463 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
55464 Author: Hugh Dickins <hughd@google.com>
55465 Date: Tue Mar 6 12:28:52 2012 -0800
55466
55467 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
55468
55469 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
55470 from shared anonymous: hoist the file case's -EINVAL up for both.
55471
55472 Signed-off-by: Hugh Dickins <hughd@google.com>
55473 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55474
55475 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
55476 Author: Al Viro <viro@ZenIV.linux.org.uk>
55477 Date: Mon Mar 5 06:38:42 2012 +0000
55478
55479 aout: move setup_arg_pages() prior to reading/mapping the binary
55480
55481 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55482 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55483
55484 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
55485 Author: Jan Beulich <JBeulich@suse.com>
55486 Date: Mon Mar 5 16:49:24 2012 +0000
55487
55488 vsprintf: make %pV handling compatible with kasprintf()
55489
55490 kasprintf() (and potentially other functions that I didn't run across so
55491 far) want to evaluate argument lists twice. Caring to do so for the
55492 primary list is obviously their job, but they can't reasonably be
55493 expected to check the format string for instances of %pV, which however
55494 need special handling too: On architectures like x86-64 (as opposed to
55495 e.g. ix86), using the same argument list twice doesn't produce the
55496 expected results, as an internally managed cursor gets updated during
55497 the first run.
55498
55499 Fix the problem by always acting on a copy of the original list when
55500 handling %pV.
55501
55502 Signed-off-by: Jan Beulich <jbeulich@suse.com>
55503 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55504
55505 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
55506 Author: Al Viro <viro@ZenIV.linux.org.uk>
55507 Date: Mon Mar 5 06:39:47 2012 +0000
55508
55509 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
55510
55511 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
55512 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55513
55514 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
55515 Author: Christian König <deathsimple@vodafone.de>
55516 Date: Tue Feb 28 23:19:20 2012 +0100
55517
55518 drm/radeon: fix uninitialized variable
55519
55520 Without this fix the driver randomly treats
55521 textures as arrays and I'm really wondering
55522 why gcc isn't complaining about it.
55523
55524 Signed-off-by: Christian König <deathsimple@vodafone.de>
55525 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
55526 Signed-off-by: Dave Airlie <airlied@redhat.com>
55527
55528 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
55529 Author: H. Peter Anvin <hpa@zytor.com>
55530 Date: Fri Mar 2 10:43:48 2012 -0800
55531
55532 regset: Prevent null pointer reference on readonly regsets
55533
55534 The regset common infrastructure assumed that regsets would always
55535 have .get and .set methods, but not necessarily .active methods.
55536 Unfortunately people have since written regsets without .set methods.
55537
55538 Rather than putting in stub functions everywhere, handle regsets with
55539 null .get or .set methods explicitly.
55540
55541 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
55542 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
55543 Acked-by: Roland McGrath <roland@hack.frob.com>
55544 Cc: <stable@vger.kernel.org>
55545 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55546
55547 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
55548 Author: Brad Spengler <spender@grsecurity.net>
55549 Date: Mon Mar 5 18:12:57 2012 -0500
55550
55551 Fix compiler errors reported on forums
55552
55553 commit 1606774b48af24e6f99d99c624c0e447d4b66474
55554 Merge: 3127bd5 4ca2ffd
55555 Author: Brad Spengler <spender@grsecurity.net>
55556 Date: Mon Mar 5 17:31:35 2012 -0500
55557
55558 Merge branch 'pax-test' into grsec-test
55559
55560 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
55561 Author: Brad Spengler <spender@grsecurity.net>
55562 Date: Mon Mar 5 17:31:21 2012 -0500
55563
55564 Update to pax-linux-3.2.9-test20.patch
55565
55566 commit 3127bd581a292966b1057c7433219dac188c3720
55567 Author: Brad Spengler <spender@grsecurity.net>
55568 Date: Fri Mar 2 21:30:37 2012 -0500
55569
55570 Fix memory leak on logged exec_id check failure in /proc/pid/statm
55571 Thanks to Djalal Harouni for the report
55572
55573 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
55574 Merge: 0a56be8 9aa8288
55575 Author: Brad Spengler <spender@grsecurity.net>
55576 Date: Fri Mar 2 18:38:22 2012 -0500
55577
55578 Merge branch 'pax-test' into grsec-test
55579
55580 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
55581 Author: Brad Spengler <spender@grsecurity.net>
55582 Date: Fri Mar 2 18:37:43 2012 -0500
55583
55584 Update to pax-linux-3.2.9-test19.patch
55585
55586 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
55587 Merge: 9e66745 3f5c52a
55588 Author: Brad Spengler <spender@grsecurity.net>
55589 Date: Thu Mar 1 20:18:01 2012 -0500
55590
55591 Merge branch 'pax-test' into grsec-test
55592
55593 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
55594 Author: Brad Spengler <spender@grsecurity.net>
55595 Date: Thu Mar 1 20:16:56 2012 -0500
55596
55597 Update to pax-linux-3.2.9-test18.patch
55598
55599 commit ae53ec231d12719a36bf871f8c5841020ed692ee
55600 Merge: b255baf 44fb317
55601 Author: Brad Spengler <spender@grsecurity.net>
55602 Date: Thu Mar 1 20:15:31 2012 -0500
55603
55604 Merge branch 'linux-3.2.y' into pax-test
55605
55606 commit 9e667456c03eadea2f305be761abe4de9a5877a3
55607 Merge: 5e4e200 b255baf
55608 Author: Brad Spengler <spender@grsecurity.net>
55609 Date: Mon Feb 27 20:53:59 2012 -0500
55610
55611 Merge branch 'pax-test' into grsec-test
55612
55613 commit b255baf50365d39b406f43aab2c64745607baaa2
55614 Merge: 340ce90 1de504e
55615 Author: Brad Spengler <spender@grsecurity.net>
55616 Date: Mon Feb 27 20:53:29 2012 -0500
55617
55618 Merge branch 'linux-3.2.y' into pax-test
55619 Update to pax-linux-3.2.8-test17.patch
55620
55621 Conflicts:
55622 arch/x86/include/asm/i387.h
55623 arch/x86/kernel/process_32.c
55624 arch/x86/kernel/traps.c
55625
55626 commit 5e4e200ac530452884b625cb75de240e1e98c731
55627 Merge: 44306d7 340ce90
55628 Author: Brad Spengler <spender@grsecurity.net>
55629 Date: Mon Feb 27 18:02:13 2012 -0500
55630
55631 Merge branch 'pax-test' into grsec-test
55632
55633 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
55634 Author: Brad Spengler <spender@grsecurity.net>
55635 Date: Mon Feb 27 18:01:48 2012 -0500
55636
55637 Update to pax-linux-3.2.7-test17.patch
55638
55639 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
55640 Merge: 29d0b07 521c411
55641 Author: Brad Spengler <spender@grsecurity.net>
55642 Date: Sun Feb 26 19:04:15 2012 -0500
55643
55644 Merge branch 'pax-test' into grsec-test
55645
55646 Conflicts:
55647 Makefile
55648
55649 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
55650 Author: Brad Spengler <spender@grsecurity.net>
55651 Date: Sun Feb 26 19:03:33 2012 -0500
55652
55653 Update to pax-linux-3.2.7-test16.patch
55654
55655 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
55656 Author: Brad Spengler <spender@grsecurity.net>
55657 Date: Sun Feb 26 17:12:44 2012 -0500
55658
55659 fix typo
55660
55661 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
55662 Merge: f45b3be caa8f83
55663 Author: Brad Spengler <spender@grsecurity.net>
55664 Date: Sat Feb 25 20:59:27 2012 -0500
55665
55666 Merge branch 'pax-test' into grsec-test
55667
55668 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
55669 Author: Brad Spengler <spender@grsecurity.net>
55670 Date: Sat Feb 25 20:59:12 2012 -0500
55671
55672 Update to pax-linux-3.2.7-test15.patch
55673
55674 commit f45b3be34a345502a302e736af9a65742ddef7cb
55675 Merge: 62f35fd 9f1309b
55676 Author: Brad Spengler <spender@grsecurity.net>
55677 Date: Sat Feb 25 11:40:15 2012 -0500
55678
55679 Merge branch 'pax-test' into grsec-test
55680
55681 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
55682 Author: Brad Spengler <spender@grsecurity.net>
55683 Date: Sat Feb 25 11:39:57 2012 -0500
55684
55685 Update to pax-linux-3.2.7-test14.patch
55686
55687 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
55688 Author: Brad Spengler <spender@grsecurity.net>
55689 Date: Sat Feb 25 09:08:55 2012 -0500
55690
55691 We could log on attempted exploits of writing /proc/self/mem, but the current
55692 log function declares the access a read, so just swap the ordering for now
55693
55694 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
55695 Author: Brad Spengler <spender@grsecurity.net>
55696 Date: Sat Feb 25 08:46:14 2012 -0500
55697
55698 Log /proc/pid/mem attempts
55699
55700 commit 674471e581893a94d475acac3e3c4496209b3ac9
55701 Author: Brad Spengler <spender@grsecurity.net>
55702 Date: Sat Feb 25 08:15:00 2012 -0500
55703
55704 Make use of f_version for protecting /proc file structs (fine since we're not a directory
55705 or seq_file)
55706
55707 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
55708 Author: Brad Spengler <spender@grsecurity.net>
55709 Date: Fri Feb 24 20:02:19 2012 -0500
55710
55711 Fix ia64 compilation
55712
55713 commit 50dfea412fd395e0183c2ade368efa525d38b267
55714 Merge: 12db845 4c6f99b
55715 Author: Brad Spengler <spender@grsecurity.net>
55716 Date: Fri Feb 24 19:00:53 2012 -0500
55717
55718 Merge branch 'pax-test' into grsec-test
55719
55720 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
55721 Author: Brad Spengler <spender@grsecurity.net>
55722 Date: Fri Feb 24 19:00:36 2012 -0500
55723
55724 (6:57:09 PM) pipacs: but you can be proactive
55725 (Fix other-arch atomic64/REFCOUNT compilation failures)
55726
55727 commit 12db8453f6bb0a756f369c9151668ba1249bc478
55728 Author: Brad Spengler <spender@grsecurity.net>
55729 Date: Thu Feb 23 21:10:12 2012 -0500
55730
55731 Remove unnecessary copies, as suggested by solar
55732
55733 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
55734 Author: Brad Spengler <spender@grsecurity.net>
55735 Date: Thu Feb 23 20:59:35 2012 -0500
55736
55737 Make global_exec_counter static, as suggested by solar
55738
55739 commit e642091a475ebb3a30e81f85e7751233d0c2af43
55740 Author: Brad Spengler <spender@grsecurity.net>
55741 Date: Thu Feb 23 19:00:26 2012 -0500
55742
55743 sync with stable tree
55744
55745 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
55746 Author: Brad Spengler <spender@grsecurity.net>
55747 Date: Thu Feb 23 18:48:47 2012 -0500
55748
55749 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
55750 Remove handling of old kludge in chmod/fchmod
55751
55752 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
55753 Author: Brad Spengler <spender@grsecurity.net>
55754 Date: Thu Feb 23 18:18:49 2012 -0500
55755
55756 Apply umask checks to chmod/fchmod as well, as requested by sponsor
55757 Union the enforced umask with the existing one to produce minimal privilege
55758 Change umask type to u16
55759
55760 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
55761 Author: Brad Spengler <spender@grsecurity.net>
55762 Date: Wed Feb 22 18:16:11 2012 -0500
55763
55764 Add per-role umask enforcement to RBAC, requested by a sponsor
55765
55766 commit ad5ac943fe58199f1cc475912a39edb157acb77b
55767 Merge: dda0bb5 41722e3
55768 Author: Brad Spengler <spender@grsecurity.net>
55769 Date: Mon Feb 20 20:04:42 2012 -0500
55770
55771 Merge branch 'pax-test' into grsec-test
55772
55773 commit 41722e342e116d95f3d3556d66c97c888d752d39
55774 Author: Brad Spengler <spender@grsecurity.net>
55775 Date: Mon Feb 20 20:04:00 2012 -0500
55776
55777 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
55778 KERNEXEC plugin
55779
55780 commit dda0bb57137846a476a866c60db2681aaf6052c0
55781 Merge: 4fd554e d70927a
55782 Author: Brad Spengler <spender@grsecurity.net>
55783 Date: Mon Feb 20 20:01:41 2012 -0500
55784
55785 Merge branch 'pax-test' into grsec-test
55786
55787 commit d70927afec977d489a54c106a3c3ddc32e953050
55788 Merge: 1daebf1 9d0231c
55789 Author: Brad Spengler <spender@grsecurity.net>
55790 Date: Mon Feb 20 20:01:33 2012 -0500
55791
55792 Merge branch 'linux-3.2.y' into pax-test
55793
55794 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
55795 Author: Brad Spengler <spender@grsecurity.net>
55796 Date: Mon Feb 20 09:17:57 2012 -0500
55797
55798 Fix wrong logic on capability checks for switching roles, broke policies
55799 Thanks to Richard Kojedzinszky for reporting
55800
55801 commit 12f97d52ac603f24344f8d71569c412a307e9422
55802 Author: Brad Spengler <spender@grsecurity.net>
55803 Date: Thu Feb 16 21:20:10 2012 -0500
55804
55805 sparc64 compile fix
55806
55807 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
55808 Author: Brad Spengler <spender@grsecurity.net>
55809 Date: Thu Feb 16 18:38:32 2012 -0500
55810
55811 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
55812
55813 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
55814 Author: Brad Spengler <spender@grsecurity.net>
55815 Date: Thu Feb 16 18:18:01 2012 -0500
55816
55817 optimize the check a bit
55818
55819 commit 03159050f64989be44ae03be769cbed62a7cd2e5
55820 Author: Brad Spengler <spender@grsecurity.net>
55821 Date: Thu Feb 16 18:00:45 2012 -0500
55822
55823 smile VUPEN :D
55824 (limit argv+env to 1MB for suid/sgid binaries)
55825
55826 commit dd759d8800d225a397e4de49fe729c7d601298d2
55827 Author: Brad Spengler <spender@grsecurity.net>
55828 Date: Thu Feb 16 17:49:33 2012 -0500
55829
55830 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
55831
55832 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
55833 Author: Brad Spengler <spender@grsecurity.net>
55834 Date: Thu Feb 16 17:45:06 2012 -0500
55835
55836 Change the long long type for exec_id to the proper u64
55837
55838 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
55839 Author: Dan Carpenter <dan.carpenter@oracle.com>
55840 Date: Thu Feb 9 00:46:47 2012 +0000
55841
55842 isdn: type bug in isdn_net_header()
55843
55844 We use len to store the return value from eth_header(). eth_header()
55845 can return -ETH_HLEN (-14). We want to pass this back instead of
55846 truncating it to 65522 and returning that.
55847
55848 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
55849 Acked-by: Neil Horman <nhorman@tuxdriver.com>
55850 Signed-off-by: David S. Miller <davem@davemloft.net>
55851
55852 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
55853 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
55854 Date: Sat Feb 4 10:47:10 2012 +0100
55855
55856 exec: fix use-after-free bug in setup_new_exec()
55857
55858 Setting the task name is done within setup_new_exec() by accessing
55859 bprm->filename. However this happens after flush_old_exec().
55860 This may result in a use after free bug, flush_old_exec() may
55861 "complete" vfork_done, which will wake up the parent which in turn
55862 may free the passed in filename.
55863 To fix this add a new tcomm field in struct linux_binprm which
55864 contains the now early generated task name until it is used.
55865
55866 Fixes this bug on s390:
55867
55868 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
55869 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
55870 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
55871 Call Trace:
55872 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
55873 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
55874 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
55875 [<0000000000282b6c>] do_execve_common+0x410/0x514
55876 [<0000000000282cb6>] do_execve+0x46/0x58
55877 [<00000000005bce58>] kernel_execve+0x28/0x70
55878 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
55879 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
55880 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
55881 Last Breaking-Event-Address:
55882 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
55883
55884 Kernel panic - not syncing: Fatal exception: panic_on_oops
55885
55886 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
55887 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
55888 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
55889
55890 commit d758ee9f5230893dabb5aab737b3109684bde196
55891 Author: Dan Carpenter <dan.carpenter@oracle.com>
55892 Date: Fri Feb 10 09:03:58 2012 +0100
55893
55894 relay: prevent integer overflow in relay_open()
55895
55896 "subbuf_size" and "n_subbufs" come from the user and they need to be
55897 capped to prevent an integer overflow.
55898
55899 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
55900 Cc: stable@kernel.org
55901 Signed-off-by: Jens Axboe <axboe@kernel.dk>
55902
55903 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
55904 Merge: b1baadf 1daebf1
55905 Author: Brad Spengler <spender@grsecurity.net>
55906 Date: Mon Feb 13 17:47:04 2012 -0500
55907
55908 Merge branch 'pax-test' into grsec-test
55909
55910 Conflicts:
55911 fs/proc/base.c
55912
55913 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
55914 Merge: 1413df2 c2db2e2
55915 Author: Brad Spengler <spender@grsecurity.net>
55916 Date: Mon Feb 13 17:45:54 2012 -0500
55917
55918 Merge branch 'linux-3.2.y' into pax-test
55919
55920 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
55921 Author: Brad Spengler <spender@grsecurity.net>
55922 Date: Sun Feb 12 16:44:05 2012 -0500
55923
55924 add missing declaration
55925
55926 commit 3981059c35e8463002517935c28f3d74b8e3703c
55927 Author: Brad Spengler <spender@grsecurity.net>
55928 Date: Sun Feb 12 16:36:04 2012 -0500
55929
55930 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
55931 in addition to existing checks (this handles the setresuid ruid = euid case)
55932
55933 commit 0beab03263c773f463412c350ad9064b44b6ede0
55934 Author: Brad Spengler <spender@grsecurity.net>
55935 Date: Sun Feb 12 16:13:40 2012 -0500
55936
55937 Revert setreuid changes when RBAC is enabled, breaks freeradius
55938 I'll fix the learning issue Lavish reported a different way through
55939 gradm modifications
55940
55941 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
55942
55943 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
55944 Author: Brad Spengler <spender@grsecurity.net>
55945 Date: Sat Feb 11 14:22:46 2012 -0500
55946
55947 copy exec_id on fork
55948
55949 commit 000c08e0890630086b2ed04084050ed856a7ec31
55950 Author: Brad Spengler <spender@grsecurity.net>
55951 Date: Fri Feb 10 20:00:36 2012 -0500
55952
55953 compile fix
55954
55955 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
55956 Author: Brad Spengler <spender@grsecurity.net>
55957 Date: Fri Feb 10 19:19:52 2012 -0500
55958
55959 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
55960 denies reading of sensitive /proc/pid entries where the file descriptor
55961 was opened in a different task than the one performing the read
55962
55963 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
55964 Author: Brad Spengler <spender@grsecurity.net>
55965 Date: Fri Feb 10 17:43:24 2012 -0500
55966
55967 Remove duplicate signal check
55968
55969 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
55970 Merge: 4eba97e 1413df2
55971 Author: Brad Spengler <spender@grsecurity.net>
55972 Date: Wed Feb 8 19:24:34 2012 -0500
55973
55974 Merge branch 'pax-test' into grsec-test
55975
55976 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
55977 Author: Brad Spengler <spender@grsecurity.net>
55978 Date: Wed Feb 8 19:24:08 2012 -0500
55979
55980 Merge changes from pax-linux-3.2.4-test11.patch
55981
55982 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
55983 Merge: 0e058dd 8dd90a2
55984 Author: Brad Spengler <spender@grsecurity.net>
55985 Date: Mon Feb 6 17:50:12 2012 -0500
55986
55987 Merge branch 'pax-test' into grsec-test
55988
55989 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
55990 Author: Brad Spengler <spender@grsecurity.net>
55991 Date: Mon Feb 6 17:49:07 2012 -0500
55992
55993 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
55994
55995 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
55996 Merge: 7e4169c 6133971
55997 Author: Brad Spengler <spender@grsecurity.net>
55998 Date: Mon Feb 6 17:48:57 2012 -0500
55999
56000 Merge branch 'linux-3.2.y' into pax-test
56001
56002 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
56003 Author: Brad Spengler <spender@grsecurity.net>
56004 Date: Sun Feb 5 19:24:45 2012 -0500
56005
56006 We now allow configurations with no PaX markings, giving the system no way to override the defaults
56007
56008 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
56009 Author: Brad Spengler <spender@grsecurity.net>
56010 Date: Sun Feb 5 10:01:23 2012 -0500
56011
56012 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
56013
56014 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
56015 Author: Brad Spengler <spender@grsecurity.net>
56016 Date: Sat Feb 4 21:01:16 2012 -0500
56017
56018 Improve security of ptrace-based monitoring/sandboxing
56019 See:
56020 http://article.gmane.org/gmane.linux.kernel.lsm/15156
56021
56022 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
56023 Author: Brad Spengler <spender@grsecurity.net>
56024 Date: Fri Feb 3 20:42:55 2012 -0500
56025
56026 fix typo
56027
56028 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
56029 Author: Brad Spengler <spender@grsecurity.net>
56030 Date: Fri Feb 3 20:25:38 2012 -0500
56031
56032 Reported by lavish on IRC:
56033 If a suid/sgid binary did not learn any setuid/setgid call during learning,
56034 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
56035 any restrictions on uid/gid changes. uid and gid can however be changed
56036 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
56037 euid/egid.
56038
56039 My fix:
56040 POSIX doesn't specify whether unprivileged users can perform the above
56041 setresuid/setresgid as an unprivileged user, though Linux has historically
56042 permitted them. Modify this behavior when RBAC is enabled to require
56043 CAP_SETUID/CAP_SETGID for these operations.
56044
56045 Thanks to Lavish for the report!
56046
56047 Conflicts:
56048
56049 kernel/sys.c
56050
56051 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
56052 Merge: ba586eb 7e4169c
56053 Author: Brad Spengler <spender@grsecurity.net>
56054 Date: Fri Feb 3 20:10:21 2012 -0500
56055
56056 Merge branch 'pax-test' into grsec-test
56057
56058 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
56059 Author: Brad Spengler <spender@grsecurity.net>
56060 Date: Fri Feb 3 20:10:05 2012 -0500
56061
56062 Merge changes from pax-linux-3.2.4-test9.patch
56063
56064 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
56065 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
56066 Date: Thu Feb 2 11:34:09 2012 +1030
56067
56068 Fix race in process_vm_rw_core
56069
56070 This fixes the race in process_vm_core found by Oleg (see
56071
56072 http://article.gmane.org/gmane.linux.kernel/1235667/
56073
56074 for details).
56075
56076 This has been updated since I last sent it as the creation of the new
56077 mm_access() function did almost exactly the same thing as parts of the
56078 previous version of this patch did.
56079
56080 In order to use mm_access() even when /proc isn't enabled, we move it to
56081 kernel/fork.c where other related process mm access functions already
56082 are.
56083
56084 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
56085 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56086
56087 Conflicts:
56088
56089 fs/proc/base.c
56090 mm/process_vm_access.c
56091
56092 commit b9194d60fb9fe579f5c34817ed822abde18939a0
56093 Author: Oleg Nesterov <oleg@redhat.com>
56094 Date: Tue Jan 31 17:15:11 2012 +0100
56095
56096 proc: make sure mem_open() doesn't pin the target's memory
56097
56098 Once /proc/pid/mem is opened, the memory can't be released until
56099 mem_release() even if its owner exits.
56100
56101 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
56102 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
56103 before access_remote_vm(), this verifies that this mm is still alive.
56104
56105 I am not sure what should mem_rw() return if atomic_inc_not_zero()
56106 fails. With this patch it returns zero to match the "mm == NULL" case,
56107 may be it should return -EINVAL like it did before e268337d.
56108
56109 Perhaps it makes sense to add the additional fatal_signal_pending()
56110 check into the main loop, to ensure we do not hold this memory if
56111 the target task was oom-killed.
56112
56113 Cc: stable@kernel.org
56114 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
56115 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56116
56117 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
56118 Author: Oleg Nesterov <oleg@redhat.com>
56119 Date: Tue Jan 31 17:14:38 2012 +0100
56120
56121 proc: mem_release() should check mm != NULL
56122
56123 mem_release() can hit mm == NULL, add the necessary check.
56124
56125 Cc: stable@kernel.org
56126 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
56127 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56128
56129 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
56130 Author: Oleg Nesterov <oleg@redhat.com>
56131 Date: Tue Jan 31 17:14:54 2012 +0100
56132
56133 note: redisabled mem_write
56134
56135 proc: unify mem_read() and mem_write()
56136
56137 No functional changes, cleanup and preparation.
56138
56139 mem_read() and mem_write() are very similar. Move this code into the
56140 new common helper, mem_rw(), which takes the additional "int write"
56141 argument.
56142
56143 Cc: stable@kernel.org
56144 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
56145 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56146
56147 Conflicts:
56148
56149 fs/proc/base.c
56150
56151 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
56152 Merge: 3903f01 01fee18
56153 Author: Brad Spengler <spender@grsecurity.net>
56154 Date: Fri Feb 3 19:50:40 2012 -0500
56155
56156 Merge branch 'pax-test' into grsec-test
56157
56158 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
56159 Author: Brad Spengler <spender@grsecurity.net>
56160 Date: Fri Feb 3 19:49:46 2012 -0500
56161
56162 Merge changes from pax-linux-3.2.4-test8.patch
56163
56164 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
56165 Merge: 201c0db 141936c
56166 Author: Brad Spengler <spender@grsecurity.net>
56167 Date: Fri Feb 3 19:49:01 2012 -0500
56168
56169 Merge branch 'linux-3.2.y' into pax-test
56170
56171 commit 3903f0172ecadf7a575ba3535402a1506133640a
56172 Author: Brad Spengler <spender@grsecurity.net>
56173 Date: Mon Jan 30 23:26:44 2012 -0500
56174
56175 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
56176
56177 We'll whitelist required directories for compatibility instead of requiring
56178 that people disable the feature entirely if they use SELinux, fuse, etc
56179
56180 Conflicts:
56181
56182 fs/sysfs/mount.c
56183
56184 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
56185 Author: Brad Spengler <spender@grsecurity.net>
56186 Date: Sun Jan 29 01:12:19 2012 -0500
56187
56188 perform RBAC check if TPE is on but match fails, matches previous behavior
56189
56190 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
56191 Author: Brad Spengler <spender@grsecurity.net>
56192 Date: Sat Jan 28 13:17:06 2012 -0500
56193
56194 log more information about the reason for a TPE denial for novice users, requested by a sponsor
56195
56196 commit efefd67008cbad8a8591e2484410966a300a39a5
56197 Author: Brad Spengler <spender@grsecurity.net>
56198 Date: Fri Jan 27 19:58:53 2012 -0500
56199
56200 merge upstream sha512 changes
56201
56202 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
56203 Author: Brad Spengler <spender@grsecurity.net>
56204 Date: Fri Jan 27 19:49:07 2012 -0500
56205
56206 drop lock on error in xfs_readlink
56207
56208 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
56209
56210 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
56211 Author: Li Wang <liwang@nudt.edu.cn>
56212 Date: Thu Jan 19 09:44:36 2012 +0800
56213
56214 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
56215
56216 ecryptfs_write() can enter an infinite loop when truncating a file to a
56217 size larger than 4G. This only happens on architectures where size_t is
56218 represented by 32 bits.
56219
56220 This was caused by a size_t overflow due to it incorrectly being used to
56221 store the result of a calculation which uses potentially large values of
56222 type loff_t.
56223
56224 [tyhicks@canonical.com: rewrite subject and commit message]
56225 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
56226 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
56227 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
56228 Cc: <stable@vger.kernel.org>
56229 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
56230
56231 commit a7607747d0f74f357d78bb796d70635dd05f46e8
56232 Author: Tyler Hicks <tyhicks@canonical.com>
56233 Date: Thu Jan 19 20:33:44 2012 -0600
56234
56235 eCryptfs: Check inode changes in setattr
56236
56237 Most filesystems call inode_change_ok() very early in ->setattr(), but
56238 eCryptfs didn't call it at all. It allowed the lower filesystem to make
56239 the call in its ->setattr() function. Then, eCryptfs would copy the
56240 appropriate inode attributes from the lower inode to the eCryptfs inode.
56241
56242 This patch changes that and actually calls inode_change_ok() on the
56243 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
56244 would happen earlier in ecryptfs_setattr(), but there are some possible
56245 inode initialization steps that must happen first.
56246
56247 Since the call was already being made on the lower inode, the change in
56248 functionality should be minimal, except for the case of a file extending
56249 truncate call. In that case, inode_newsize_ok() was never being
56250 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
56251 maximum file size errors early on, eCryptfs would encrypt zeroed pages
56252 and write them to the lower filesystem until the lower filesystem's
56253 write path caught the error in generic_write_checks(). This patch
56254 introduces a new function, called ecryptfs_inode_newsize_ok(), which
56255 checks if the new lower file size is within the appropriate limits when
56256 the truncate operation will be growing the lower file.
56257
56258 In summary this change prevents eCryptfs truncate operations (and the
56259 resulting page encryptions), which would exceed the lower filesystem
56260 limits or FSIZE rlimits, from ever starting.
56261
56262 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
56263 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
56264 Cc: <stable@vger.kernel.org>
56265
56266 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
56267 Author: Tyler Hicks <tyhicks@canonical.com>
56268 Date: Wed Jan 18 18:30:04 2012 -0600
56269
56270 eCryptfs: Make truncate path killable
56271
56272 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
56273 page, zeroes out the appropriate portions, and then encrypts the page
56274 before writing it to the lower filesystem. It was unkillable and due to
56275 the lack of sparse file support could result in tying up a large portion
56276 of system resources, while encrypting pages of zeros, with no way for
56277 the truncate operation to be stopped from userspace.
56278
56279 This patch adds the ability for ecryptfs_write() to detect a pending
56280 fatal signal and return as gracefully as possible. The intent is to
56281 leave the lower file in a useable state, while still allowing a user to
56282 break out of the encryption loop. If a pending fatal signal is detected,
56283 the eCryptfs inode size is updated to reflect the modified inode size
56284 and then -EINTR is returned.
56285
56286 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
56287 Cc: <stable@vger.kernel.org>
56288
56289 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
56290 Author: Tyler Hicks <tyhicks@canonical.com>
56291 Date: Tue Jan 24 10:02:22 2012 -0600
56292
56293 eCryptfs: Fix oops when printing debug info in extent crypto functions
56294
56295 If pages passed to the eCryptfs extent-based crypto functions are not
56296 mapped and the module parameter ecryptfs_verbosity=1 was specified at
56297 loading time, a NULL pointer dereference will occur.
56298
56299 Note that this wouldn't happen on a production system, as you wouldn't
56300 pass ecryptfs_verbosity=1 on a production system. It leaks private
56301 information to the system logs and is for debugging only.
56302
56303 The debugging info printed in these messages is no longer very useful
56304 and rather than doing a kmap() in these debugging paths, it will be
56305 better to simply remove the debugging paths completely.
56306
56307 https://launchpad.net/bugs/913651
56308
56309 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
56310 Reported-by: Daniel DeFreez
56311 Cc: <stable@vger.kernel.org>
56312
56313 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
56314 Author: Tyler Hicks <tyhicks@canonical.com>
56315 Date: Thu Jan 12 11:30:44 2012 +0100
56316
56317 eCryptfs: Sanitize write counts of /dev/ecryptfs
56318
56319 A malicious count value specified when writing to /dev/ecryptfs may
56320 result in a a very large kernel memory allocation.
56321
56322 This patch peeks at the specified packet payload size, adds that to the
56323 size of the packet headers and compares the result with the write count
56324 value. The resulting maximum memory allocation size is approximately 532
56325 bytes.
56326
56327 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
56328 Reported-by: Sasha Levin <levinsasha928@gmail.com>
56329 Cc: <stable@vger.kernel.org>
56330
56331 commit 96dcb7282d323813181a1791f51c0ab7696b675b
56332 Merge: 6c09fa5 201c0db
56333 Author: Brad Spengler <spender@grsecurity.net>
56334 Date: Fri Jan 27 19:44:15 2012 -0500
56335
56336 Merge branch 'pax-test' into grsec-test
56337
56338 commit 201c0dbf177527367676028151e36d340923f033
56339 Author: Brad Spengler <spender@grsecurity.net>
56340 Date: Fri Jan 27 19:43:24 2012 -0500
56341
56342 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
56343 on loading modules with empty sections
56344
56345 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
56346 Author: Brad Spengler <spender@grsecurity.net>
56347 Date: Fri Jan 27 19:42:13 2012 -0500
56348
56349 compile fix
56350
56351 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
56352 Author: Brad Spengler <spender@grsecurity.net>
56353 Date: Fri Jan 27 19:39:28 2012 -0500
56354
56355 use LSM flags instead of duplicating checks
56356
56357 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
56358 Merge: 44b9f11 558718b
56359 Author: Brad Spengler <spender@grsecurity.net>
56360 Date: Fri Jan 27 18:56:23 2012 -0500
56361
56362 Merge branch 'pax-test' into grsec-test
56363
56364 commit 558718b2217beff69edf60f34a6f9893d910e9ac
56365 Author: Brad Spengler <spender@grsecurity.net>
56366 Date: Fri Jan 27 18:56:04 2012 -0500
56367
56368 Merge changes from pax-linux-3.2.2-test6.patch
56369
56370 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
56371 Author: Brad Spengler <spender@grsecurity.net>
56372 Date: Fri Jan 27 18:53:55 2012 -0500
56373
56374 don't increase the size of task_struct when unnecessary
56375 change ptrace_readexec log message
56376
56377 commit a9c9626e054adb885883aa64f85506852894dd33
56378 Author: Brad Spengler <spender@grsecurity.net>
56379 Date: Fri Jan 27 18:16:28 2012 -0500
56380
56381 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
56382 the protection applies to all unreadable binaries.
56383
56384 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
56385 Merge: 7b3f3af 05a1349
56386 Author: Brad Spengler <spender@grsecurity.net>
56387 Date: Wed Jan 25 20:52:09 2012 -0500
56388
56389 Merge branch 'pax-test' into grsec-test
56390
56391 Conflicts:
56392 block/scsi_ioctl.c
56393 drivers/scsi/sd.c
56394 fs/proc/base.c
56395
56396 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
56397 Author: Brad Spengler <spender@grsecurity.net>
56398 Date: Wed Jan 25 20:47:36 2012 -0500
56399
56400 Resync with pax-linux-3.2.2-test5.patch
56401
56402 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
56403 Merge: c6d443d 3499d64
56404 Author: Brad Spengler <spender@grsecurity.net>
56405 Date: Wed Jan 25 20:45:16 2012 -0500
56406
56407 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
56408
56409 Conflicts:
56410 ipc/shm.c
56411
56412 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
56413 Author: Brad Spengler <spender@grsecurity.net>
56414 Date: Tue Jan 24 19:42:01 2012 -0500
56415
56416 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
56417 (may be changed if it breaks some userland), the other has its own
56418 config option
56419
56420 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
56421 the syscall or /proc/sys.
56422
56423 Second feature requires read access to a suid/sgid binary in order
56424 to ptrace it, preventing infoleaking of binaries in situations where
56425 the admin has specified 4711 or 2711 perms. Feature has been
56426 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
56427 a sysctl entry of ptrace_readexec
56428
56429 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
56430 Author: Brad Spengler <spender@grsecurity.net>
56431 Date: Sun Jan 22 14:37:10 2012 -0500
56432
56433 Compilation fixes
56434
56435 commit cd400e21c7c352baba47d6f375297a7847afb33a
56436 Author: Brad Spengler <spender@grsecurity.net>
56437 Date: Sun Jan 22 14:20:27 2012 -0500
56438
56439 Initial port of grsecurity 2.2.2 for Linux 3.2.1
56440 Note that the new syscalls added to this kernel for remote process read/write
56441 are subject to ptrace hardening/other relevant RBAC features
56442 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
56443 as well
56444 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
56445 you should be using a version of gcc with plugin support
56446
56447 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
56448 Author: Brad Spengler <spender@grsecurity.net>
56449 Date: Sun Jan 22 11:47:31 2012 -0500
56450
56451 Import pax-linux-3.2.1-test5.patch
56452 commit bfd7db842f835f9837cd43644459b3a95b0b488d
56453 Author: Brad Spengler <spender@grsecurity.net>
56454 Date: Sun Jan 22 11:02:02 2012 -0500
56455
56456 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
56457 instead of returning -EACCES
56458 thanks to Wraith from irc for the report
56459
56460 commit 873ac13576506cd48ddb527c2540f274e249da50
56461 Merge: 34083dd 8a44fcc
56462 Author: Brad Spengler <spender@grsecurity.net>
56463 Date: Fri Jan 20 18:04:02 2012 -0500
56464
56465 Merge branch 'pax-test' into grsec-test
56466
56467 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
56468 Author: Brad Spengler <spender@grsecurity.net>
56469 Date: Fri Jan 20 18:02:15 2012 -0500
56470
56471 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
56472 Denies executable shared memory when MPROTECT is active
56473 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
56474
56475 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
56476 Author: Brad Spengler <spender@grsecurity.net>
56477 Date: Thu Jan 19 20:23:14 2012 -0500
56478
56479 Introduce new GRKERNSEC_SETXID implementation
56480 We're not able to change the credentials of other threads in the process until at most
56481 one syscall after the first thread does it, since we mark the threads as needing rescheduling
56482 and such work occurs on syscall exit.
56483 This does however ensure that we're only modifying the current task's credentials
56484 which upholds RCU expectations
56485
56486 Many thanks to corsac for testing
56487
56488 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
56489 Author: Brad Spengler <spender@grsecurity.net>
56490 Date: Thu Jan 19 17:42:48 2012 -0500
56491
56492 Simplify backport
56493
56494 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
56495 Author: Brad Spengler <spender@grsecurity.net>
56496 Date: Thu Jan 19 17:08:16 2012 -0500
56497
56498 Commit the latest silent fix for a local privilege escalation from Linus
56499 Also disable writing to /proc/pid/mem
56500 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
56501
56502 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
56503 Merge: 0394a3f 7e6299b
56504 Author: Brad Spengler <spender@grsecurity.net>
56505 Date: Wed Jan 18 20:22:09 2012 -0500
56506
56507 Merge branch 'pax-test' into grsec-test
56508
56509 commit 7e6299b4733c082dde930375dd207b63237751ec
56510 Merge: 83555fb 9bb1282
56511 Author: Brad Spengler <spender@grsecurity.net>
56512 Date: Wed Jan 18 20:21:37 2012 -0500
56513
56514 Merge branch 'linux-3.1.y' into pax-test
56515
56516 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
56517 Author: Jesper Juhl <jj@chaosbits.net>
56518 Date: Sun Jan 8 22:44:29 2012 +0100
56519
56520 audit: always follow va_copy() with va_end()
56521
56522 A call to va_copy() should always be followed by a call to va_end() in
56523 the same function. In kernel/autit.c::audit_log_vformat() this is not
56524 always done. This patch makes sure va_end() is always called.
56525
56526 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
56527 Cc: Al Viro <viro@zeniv.linux.org.uk>
56528 Cc: Eric Paris <eparis@redhat.com>
56529 Cc: Andrew Morton <akpm@linux-foundation.org>
56530 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56531
56532 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
56533 Author: Andi Kleen <ak@linux.intel.com>
56534 Date: Thu Jan 12 17:20:30 2012 -0800
56535
56536 panic: don't print redundant backtraces on oops
56537
56538 When an oops causes a panic and panic prints another backtrace it's pretty
56539 common to have the original oops data be scrolled away on a 80x50 screen.
56540
56541 The second backtrace is quite redundant and not needed anyways.
56542
56543 So don't print the panic backtrace when oops_in_progress is true.
56544
56545 [akpm@linux-foundation.org: add comment]
56546 Signed-off-by: Andi Kleen <ak@linux.intel.com>
56547 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
56548 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
56549 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56550
56551 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
56552 Author: Miklos Szeredi <mszeredi@suse.cz>
56553 Date: Thu Jan 12 17:59:46 2012 +0100
56554
56555 fsnotify: don't BUG in fsnotify_destroy_mark()
56556
56557 Removing the parent of a watched file results in "kernel BUG at
56558 fs/notify/mark.c:139".
56559
56560 To reproduce
56561
56562 add "-w /tmp/audit/dir/watched_file" to audit.rules
56563 rm -rf /tmp/audit/dir
56564
56565 This is caused by fsnotify_destroy_mark() being called without an
56566 extra reference taken by the caller.
56567
56568 Reported by Francesco Cosoleto here:
56569
56570 https://bugzilla.novell.com/show_bug.cgi?id=689860
56571
56572 Fix by removing the BUG_ON and adding a comment about not accessing mark after
56573 the iput.
56574
56575 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
56576 CC: stable@vger.kernel.org
56577 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56578
56579 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
56580 Author: Paolo Bonzini <pbonzini@redhat.com>
56581 Date: Thu Jan 12 16:01:28 2012 +0100
56582
56583 block: fail SCSI passthrough ioctls on partition devices
56584
56585 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
56586 will pass the command to the underlying block device. This is
56587 well-known, but it is also a large security problem when (via Unix
56588 permissions, ACLs, SELinux or a combination thereof) a program or user
56589 needs to be granted access only to part of the disk.
56590
56591 This patch lets partitions forward a small set of harmless ioctls;
56592 others are logged with printk so that we can see which ioctls are
56593 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
56594 Of course it was being sent to a (partition on a) hard disk, so it would
56595 have failed with ENOTTY and the patch isn't changing anything in
56596 practice. Still, I'm treating it specially to avoid spamming the logs.
56597
56598 In principle, this restriction should include programs running with
56599 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
56600 /dev/sdb, it still should not be able to read/write outside the
56601 boundaries of /dev/sda2 independent of the capabilities. However, for
56602 now programs with CAP_SYS_RAWIO will still be allowed to send the
56603 ioctls. Their actions will still be logged.
56604
56605 This patch does not affect the non-libata IDE driver. That driver
56606 however already tests for bd != bd->bd_contains before issuing some
56607 ioctl; it could be restricted further to forbid these ioctls even for
56608 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
56609
56610 Cc: linux-scsi@vger.kernel.org
56611 Cc: Jens Axboe <axboe@kernel.dk>
56612 Cc: James Bottomley <JBottomley@parallels.com>
56613 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
56614 [ Make it also print the command name when warning - Linus ]
56615 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56616
56617 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
56618 Author: Paolo Bonzini <pbonzini@redhat.com>
56619 Date: Thu Jan 12 16:01:27 2012 +0100
56620
56621 block: add and use scsi_blk_cmd_ioctl
56622
56623 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
56624
56625 The function will then be enhanced to detect partition block devices
56626 and, in that case, subject the ioctls to whitelisting.
56627
56628 Cc: linux-scsi@vger.kernel.org
56629 Cc: Jens Axboe <axboe@kernel.dk>
56630 Cc: James Bottomley <JBottomley@parallels.com>
56631 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
56632 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
56633
56634 commit 97a79814903fc350e1d13704ea31528a42705401
56635 Author: Kees Cook <keescook@chromium.org>
56636 Date: Sat Jan 7 10:41:04 2012 -0800
56637
56638 audit: treat s_id as an untrusted string
56639
56640 The use of s_id should go through the untrusted string path, just to be
56641 extra careful.
56642
56643 Signed-off-by: Kees Cook <keescook@chromium.org>
56644 Acked-by: Mimi Zohar <zohar@us.ibm.com>
56645 Signed-off-by: Eric Paris <eparis@redhat.com>
56646
56647 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
56648 Author: Xi Wang <xi.wang@gmail.com>
56649 Date: Tue Dec 20 18:39:41 2011 -0500
56650
56651 audit: fix signedness bug in audit_log_execve_info()
56652
56653 In the loop, a size_t "len" is used to hold the return value of
56654 audit_log_single_execve_arg(), which returns -1 on error. In that
56655 case the error handling (len <= 0) will be bypassed since "len" is
56656 unsigned, and the loop continues with (p += len) being wrapped.
56657 Change the type of "len" to signed int to fix the error handling.
56658
56659 size_t len;
56660 ...
56661 for (...) {
56662 len = audit_log_single_execve_arg(...);
56663 if (len <= 0)
56664 break;
56665 p += len;
56666 }
56667
56668 Signed-off-by: Xi Wang <xi.wang@gmail.com>
56669 Signed-off-by: Eric Paris <eparis@redhat.com>
56670
56671 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
56672 Author: Dan Carpenter <dan.carpenter@oracle.com>
56673 Date: Tue Jan 17 03:28:51 2012 -0300
56674
56675 [media] ds3000: using logical && instead of bitwise &
56676
56677 The intent here was to test if the FE_HAS_LOCK was set. The current
56678 test is equivalent to "if (status) { ..."
56679
56680 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
56681 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
56682
56683 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
56684 Author: Brad Spengler <spender@grsecurity.net>
56685 Date: Mon Jan 16 13:10:38 2012 -0500
56686
56687 Ignore the 0 signal for protected task RBAC checks
56688
56689 commit d513acd55f7a683f6e146a4f570cdb63300479ab
56690 Author: Brad Spengler <spender@grsecurity.net>
56691 Date: Mon Jan 16 11:56:13 2012 -0500
56692
56693 whitespace cleanup
56694
56695 commit ced261c4b82818c700aff8487f647f6f3e5b5122
56696 Merge: d48751f 83555fb
56697 Author: Brad Spengler <spender@grsecurity.net>
56698 Date: Fri Jan 13 20:12:54 2012 -0500
56699
56700 Merge branch 'pax-test' into grsec-test
56701
56702 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
56703 Merge: fcd8129 93dad39
56704 Author: Brad Spengler <spender@grsecurity.net>
56705 Date: Fri Jan 13 20:12:43 2012 -0500
56706
56707 Merge branch 'linux-3.1.y' into pax-test
56708
56709 commit d48751f3919ae855fda0ff6c149db82442329253
56710 Author: Brad Spengler <spender@grsecurity.net>
56711 Date: Wed Jan 11 19:05:47 2012 -0500
56712
56713 Call our own set_user when forcing change to new id
56714
56715 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
56716 Merge: e6578ff fcd8129
56717 Author: Brad Spengler <spender@grsecurity.net>
56718 Date: Tue Jan 10 16:00:10 2012 -0500
56719
56720 Merge branch 'pax-test' into grsec-test
56721
56722 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
56723 Author: Brad Spengler <spender@grsecurity.net>
56724 Date: Tue Jan 10 15:58:43 2012 -0500
56725
56726 Merge changes from pax-linux-3.1.8-test23.patch
56727
56728 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
56729 Merge: 8859ec3 a120549
56730 Author: Brad Spengler <spender@grsecurity.net>
56731 Date: Fri Jan 6 21:45:56 2012 -0500
56732
56733 Merge branch 'pax-test' into grsec-test
56734
56735 commit a12054967a77090de1caa07c41e694a77db4e237
56736 Author: Brad Spengler <spender@grsecurity.net>
56737 Date: Fri Jan 6 21:45:30 2012 -0500
56738
56739 Merge changes from pax-linux-3.1.8-test22.patch
56740
56741 commit 8859ec32f9815c274df65448f9f2960176c380d3
56742 Merge: a5016b4 ddd4114
56743 Author: Brad Spengler <spender@grsecurity.net>
56744 Date: Fri Jan 6 21:26:08 2012 -0500
56745
56746 Merge branch 'pax-test' into grsec-test
56747
56748 Conflicts:
56749 fs/binfmt_elf.c
56750 security/Kconfig
56751
56752 commit ddd41147e158a79704983a409b7433eba797cf66
56753 Author: Brad Spengler <spender@grsecurity.net>
56754 Date: Fri Jan 6 21:12:42 2012 -0500
56755
56756 Resync with PaX patch (whitespace difference)
56757
56758 commit 29e569df8205c5f0e043fe4803aa984406c8b118
56759 Author: Brad Spengler <spender@grsecurity.net>
56760 Date: Fri Jan 6 21:09:47 2012 -0500
56761
56762 Merge changes from pax-linux-3.1.8-test21.patch
56763
56764 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
56765 Merge: 0124c92 04231d5
56766 Author: Brad Spengler <spender@grsecurity.net>
56767 Date: Fri Jan 6 18:52:20 2012 -0500
56768
56769 Merge branch 'pax-test' into grsec-test
56770
56771 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
56772 Merge: 7bdddeb a919904
56773 Author: Brad Spengler <spender@grsecurity.net>
56774 Date: Fri Jan 6 18:51:50 2012 -0500
56775
56776 Merge branch 'linux-3.1.y' into pax-test
56777
56778 Conflicts:
56779 include/net/flow.h
56780
56781 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
56782 Author: Brad Spengler <spender@grsecurity.net>
56783 Date: Fri Jan 6 18:33:05 2012 -0500
56784
56785 Make GRKERNSEC_SETXID option compatible with credential debugging
56786
56787 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
56788 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
56789 Date: Wed Dec 28 15:57:11 2011 -0800
56790
56791 mm/mempolicy.c: refix mbind_range() vma issue
56792
56793 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
56794 slightly incorrect fix.
56795
56796 Why? Think following case.
56797
56798 1. map 4 pages of a file at offset 0
56799
56800 [0123]
56801
56802 2. map 2 pages just after the first mapping of the same file but with
56803 page offset 2
56804
56805 [0123][23]
56806
56807 3. mbind() 2 pages from the first mapping at offset 2.
56808 mbind_range() should treat new vma is,
56809
56810 [0123][23]
56811 |23|
56812 mbind vma
56813
56814 but it does
56815
56816 [0123][23]
56817 |01|
56818 mbind vma
56819
56820 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
56821
56822 This patch fixes it.
56823
56824 [testcase]
56825 test result - before the patch
56826
56827 case4: 126: test failed. expect '2,4', actual '2,2,2'
56828 case5: passed
56829 case6: passed
56830 case7: passed
56831 case8: passed
56832 case_n: 246: test failed. expect '4,2', actual '1,4'
56833
56834 ------------[ cut here ]------------
56835 kernel BUG at mm/filemap.c:135!
56836 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
56837
56838 (snip long bug on messages)
56839
56840 test result - after the patch
56841
56842 case4: passed
56843 case5: passed
56844 case6: passed
56845 case7: passed
56846 case8: passed
56847 case_n: passed
56848
56849 source: mbind_vma_test.c
56850 ============================================================
56851 #include <numaif.h>
56852 #include <numa.h>
56853 #include <sys/mman.h>
56854 #include <stdio.h>
56855 #include <unistd.h>
56856 #include <stdlib.h>
56857 #include <string.h>
56858
56859 static unsigned long pagesize;
56860 void* mmap_addr;
56861 struct bitmask *nmask;
56862 char buf[1024];
56863 FILE *file;
56864 char retbuf[10240] = "";
56865 int mapped_fd;
56866
56867 char *rubysrc = "ruby -e '\
56868 pid = %d; \
56869 vstart = 0x%llx; \
56870 vend = 0x%llx; \
56871 s = `pmap -q #{pid}`; \
56872 rary = []; \
56873 s.each_line {|line|; \
56874 ary=line.split(\" \"); \
56875 addr = ary[0].to_i(16); \
56876 if(vstart <= addr && addr < vend) then \
56877 rary.push(ary[1].to_i()/4); \
56878 end; \
56879 }; \
56880 print rary.join(\",\"); \
56881 '";
56882
56883 void init(void)
56884 {
56885 void* addr;
56886 char buf[128];
56887
56888 nmask = numa_allocate_nodemask();
56889 numa_bitmask_setbit(nmask, 0);
56890
56891 pagesize = getpagesize();
56892
56893 sprintf(buf, "%s", "mbind_vma_XXXXXX");
56894 mapped_fd = mkstemp(buf);
56895 if (mapped_fd == -1)
56896 perror("mkstemp "), exit(1);
56897 unlink(buf);
56898
56899 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
56900 perror("lseek "), exit(1);
56901 if (write(mapped_fd, "\0", 1) < 0)
56902 perror("write "), exit(1);
56903
56904 addr = mmap(NULL, pagesize*8, PROT_NONE,
56905 MAP_SHARED, mapped_fd, 0);
56906 if (addr == MAP_FAILED)
56907 perror("mmap "), exit(1);
56908
56909 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
56910 perror("mprotect "), exit(1);
56911
56912 mmap_addr = addr + pagesize;
56913
56914 /* make page populate */
56915 memset(mmap_addr, 0, pagesize*6);
56916 }
56917
56918 void fin(void)
56919 {
56920 void* addr = mmap_addr - pagesize;
56921 munmap(addr, pagesize*8);
56922
56923 memset(buf, 0, sizeof(buf));
56924 memset(retbuf, 0, sizeof(retbuf));
56925 }
56926
56927 void mem_bind(int index, int len)
56928 {
56929 int err;
56930
56931 err = mbind(mmap_addr+pagesize*index, pagesize*len,
56932 MPOL_BIND, nmask->maskp, nmask->size, 0);
56933 if (err)
56934 perror("mbind "), exit(err);
56935 }
56936
56937 void mem_interleave(int index, int len)
56938 {
56939 int err;
56940
56941 err = mbind(mmap_addr+pagesize*index, pagesize*len,
56942 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
56943 if (err)
56944 perror("mbind "), exit(err);
56945 }
56946
56947 void mem_unbind(int index, int len)
56948 {
56949 int err;
56950
56951 err = mbind(mmap_addr+pagesize*index, pagesize*len,
56952 MPOL_DEFAULT, NULL, 0, 0);
56953 if (err)
56954 perror("mbind "), exit(err);
56955 }
56956
56957 void Assert(char *expected, char *value, char *name, int line)
56958 {
56959 if (strcmp(expected, value) == 0) {
56960 fprintf(stderr, "%s: passed\n", name);
56961 return;
56962 }
56963 else {
56964 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
56965 name, line,
56966 expected, value);
56967 // exit(1);
56968 }
56969 }
56970
56971 /*
56972 AAAA
56973 PPPPPPNNNNNN
56974 might become
56975 PPNNNNNNNNNN
56976 case 4 below
56977 */
56978 void case4(void)
56979 {
56980 init();
56981 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
56982
56983 mem_bind(0, 4);
56984 mem_unbind(2, 2);
56985
56986 file = popen(buf, "r");
56987 fread(retbuf, sizeof(retbuf), 1, file);
56988 Assert("2,4", retbuf, "case4", __LINE__);
56989
56990 fin();
56991 }
56992
56993 /*
56994 AAAA
56995 PPPPPPNNNNNN
56996 might become
56997 PPPPPPPPPPNN
56998 case 5 below
56999 */
57000 void case5(void)
57001 {
57002 init();
57003 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
57004
57005 mem_bind(0, 2);
57006 mem_bind(2, 2);
57007
57008 file = popen(buf, "r");
57009 fread(retbuf, sizeof(retbuf), 1, file);
57010 Assert("4,2", retbuf, "case5", __LINE__);
57011
57012 fin();
57013 }
57014
57015 /*
57016 AAAA
57017 PPPPNNNNXXXX
57018 might become
57019 PPPPPPPPPPPP 6
57020 */
57021 void case6(void)
57022 {
57023 init();
57024 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
57025
57026 mem_bind(0, 2);
57027 mem_bind(4, 2);
57028 mem_bind(2, 2);
57029
57030 file = popen(buf, "r");
57031 fread(retbuf, sizeof(retbuf), 1, file);
57032 Assert("6", retbuf, "case6", __LINE__);
57033
57034 fin();
57035 }
57036
57037 /*
57038 AAAA
57039 PPPPNNNNXXXX
57040 might become
57041 PPPPPPPPXXXX 7
57042 */
57043 void case7(void)
57044 {
57045 init();
57046 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
57047
57048 mem_bind(0, 2);
57049 mem_interleave(4, 2);
57050 mem_bind(2, 2);
57051
57052 file = popen(buf, "r");
57053 fread(retbuf, sizeof(retbuf), 1, file);
57054 Assert("4,2", retbuf, "case7", __LINE__);
57055
57056 fin();
57057 }
57058
57059 /*
57060 AAAA
57061 PPPPNNNNXXXX
57062 might become
57063 PPPPNNNNNNNN 8
57064 */
57065 void case8(void)
57066 {
57067 init();
57068 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
57069
57070 mem_bind(0, 2);
57071 mem_interleave(4, 2);
57072 mem_interleave(2, 2);
57073
57074 file = popen(buf, "r");
57075 fread(retbuf, sizeof(retbuf), 1, file);
57076 Assert("2,4", retbuf, "case8", __LINE__);
57077
57078 fin();
57079 }
57080
57081 void case_n(void)
57082 {
57083 init();
57084 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
57085
57086 /* make redundunt mappings [0][1234][34][7] */
57087 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
57088 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
57089
57090 /* Expect to do nothing. */
57091 mem_unbind(2, 2);
57092
57093 file = popen(buf, "r");
57094 fread(retbuf, sizeof(retbuf), 1, file);
57095 Assert("4,2", retbuf, "case_n", __LINE__);
57096
57097 fin();
57098 }
57099
57100 int main(int argc, char** argv)
57101 {
57102 case4();
57103 case5();
57104 case6();
57105 case7();
57106 case8();
57107 case_n();
57108
57109 return 0;
57110 }
57111 =============================================================
57112
57113 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
57114 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
57115 Cc: Minchan Kim <minchan.kim@gmail.com>
57116 Cc: Caspar Zhang <caspar@casparzhang.com>
57117 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
57118 Cc: Christoph Lameter <cl@linux.com>
57119 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
57120 Cc: Mel Gorman <mel@csn.ul.ie>
57121 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
57122 Cc: <stable@vger.kernel.org> [3.1.x]
57123 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
57124 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
57125
57126 commit f3a1082005781777086df235049f8c0b7efe524e
57127 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
57128 Date: Tue Dec 27 22:32:41 2011 -0500
57129
57130 packet: fix possible dev refcnt leak when bind fail
57131
57132 If bind is fail when bind is called after set PACKET_FANOUT
57133 sock option, the dev refcnt will leak.
57134
57135 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
57136 Signed-off-by: David S. Miller <davem@davemloft.net>
57137
57138 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
57139 Author: Haogang Chen <haogangchen@gmail.com>
57140 Date: Mon Dec 19 17:11:56 2011 -0800
57141
57142 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
57143
57144 There is a potential integer overflow in nilfs_ioctl_clean_segments().
57145 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
57146 call to vmalloc() will allocate a buffer smaller than expected, which
57147 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
57148 lfs_clean_segments().
57149
57150 The following check does not prevent the overflow because nsegs is also
57151 controlled by the userspace and could be very large.
57152
57153 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
57154 goto out_free;
57155
57156 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
57157 returns -EINVAL when overflow.
57158
57159 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
57160 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
57161 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
57162 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
57163
57164 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
57165 Author: Kautuk Consul <consul.kautuk@gmail.com>
57166 Date: Mon Dec 19 17:12:04 2011 -0800
57167
57168 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
57169
57170 Static storage is not required for the struct vmap_area in
57171 __get_vm_area_node.
57172
57173 Removing "static" to store this variable on the stack instead.
57174
57175 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
57176 Acked-by: David Rientjes <rientjes@google.com>
57177 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
57178 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
57179
57180 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
57181 Author: Michel Lespinasse <walken@google.com>
57182 Date: Mon Dec 19 17:12:06 2011 -0800
57183
57184 binary_sysctl(): fix memory leak
57185
57186 binary_sysctl() calls sysctl_getname() which allocates from names_cache
57187 slab usin __getname()
57188
57189 The matching function to free the name is __putname(), and not putname()
57190 which should be used only to match getname() allocations.
57191
57192 This is because when auditing is enabled, putname() calls audit_putname
57193 *instead* (not in addition) to __putname(). Then, if a syscall is in
57194 progress, audit_putname does not release the name - instead, it expects
57195 the name to get released when the syscall completes, but that will happen
57196 only if audit_getname() was called previously, i.e. if the name was
57197 allocated with getname() rather than the naked __getname(). So,
57198 __getname() followed by putname() ends up leaking memory.
57199
57200 Signed-off-by: Michel Lespinasse <walken@google.com>
57201 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
57202 Cc: Christoph Hellwig <hch@infradead.org>
57203 Cc: Eric Paris <eparis@redhat.com>
57204 Cc: <stable@vger.kernel.org>
57205 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
57206 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
57207
57208 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
57209 Author: Sean Hefty <sean.hefty@intel.com>
57210 Date: Tue Dec 6 21:17:11 2011 +0000
57211
57212 RDMA/cma: Verify private data length
57213
57214 private_data_len is defined as a u8. If the user specifies a large
57215 private_data size (> 220 bytes), we will calculate a total length that
57216 exceeds 255, resulting in private_data_len wrapping back to 0. This
57217 can lead to overwriting random kernel memory. Avoid this by verifying
57218 that the resulting size fits into a u8.
57219
57220 Reported-by: B. Thery <benjamin.thery@bull.net>
57221 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
57222 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
57223 Signed-off-by: Roland Dreier <roland@purestorage.com>
57224
57225 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
57226 Author: Xi Wang <xi.wang@gmail.com>
57227 Date: Sun Dec 11 23:40:56 2011 -0800
57228
57229 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
57230
57231 The error check (intr_status < 0) didn't work because intr_status is
57232 a u8. Change its type to signed int.
57233
57234 Signed-off-by: Xi Wang <xi.wang@gmail.com>
57235 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
57236
57237 commit e27f34e383d7863b2528a63b81b23db09781f6b6
57238 Author: Xi Wang <xi.wang@gmail.com>
57239 Date: Fri Dec 16 12:44:15 2011 +0000
57240
57241 sctp: fix incorrect overflow check on autoclose
57242
57243 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
57244 limiting the autoclose value. If userspace passes in -1 on 32-bit
57245 platform, the overflow check didn't work and autoclose would be set
57246 to 0xffffffff.
57247
57248 This patch defines a max_autoclose (in seconds) for limiting the value
57249 and exposes it through sysctl, with the following intentions.
57250
57251 1) Avoid overflowing autoclose * HZ.
57252
57253 2) Keep the default autoclose bound consistent across 32- and 64-bit
57254 platforms (INT_MAX / HZ in this patch).
57255
57256 3) Keep the autoclose value consistent between setsockopt() and
57257 getsockopt() calls.
57258
57259 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
57260 Signed-off-by: Xi Wang <xi.wang@gmail.com>
57261 Signed-off-by: David S. Miller <davem@davemloft.net>
57262
57263 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
57264 Author: Xi Wang <xi.wang@gmail.com>
57265 Date: Wed Dec 21 05:18:33 2011 -0500
57266
57267 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
57268
57269 Commit e133e737 didn't correctly fix the integer overflow issue.
57270
57271 - unsigned int required_size;
57272 + u64 required_size;
57273 ...
57274 required_size = mode_cmd->pitch * mode_cmd->height;
57275 - if (unlikely(required_size > dev_priv->vram_size)) {
57276 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
57277
57278 Note that both pitch and height are u32. Their product is still u32 and
57279 would overflow before being assigned to required_size. A correct way is
57280 to convert pitch and height to u64 before the multiplication.
57281
57282 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
57283
57284 This patch calls the existing vmw_kms_validate_mode_vram() for
57285 validation.
57286
57287 Signed-off-by: Xi Wang <xi.wang@gmail.com>
57288 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
57289 Signed-off-by: Dave Airlie <airlied@redhat.com>
57290
57291 Conflicts:
57292
57293 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
57294
57295 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
57296 Author: Xi Wang <xi.wang@gmail.com>
57297 Date: Thu Dec 22 13:35:22 2011 +0000
57298
57299 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
57300
57301 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
57302 cause a kernel oops due to insufficient bounds checking.
57303
57304 if (count > 1<<30) {
57305 /* Enforce a limit to prevent overflow */
57306 return -EINVAL;
57307 }
57308 count = roundup_pow_of_two(count);
57309 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
57310
57311 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
57312
57313 ... + (count * sizeof(struct rps_dev_flow))
57314
57315 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
57316 32 bits.
57317
57318 This patch replaces the magic number (1 << 30) with a symbolic bound.
57319
57320 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
57321 Signed-off-by: Xi Wang <xi.wang@gmail.com>
57322 Signed-off-by: David S. Miller <davem@davemloft.net>
57323
57324 commit 648188958672024b616c42c1f6c98c8cfc85619d
57325 Author: Xi Wang <xi.wang@gmail.com>
57326 Date: Fri Dec 30 10:40:17 2011 -0500
57327
57328 netfilter: ctnetlink: fix timeout calculation
57329
57330 The sanity check (timeout < 0) never works; the dividend is unsigned
57331 and so is the division, which should have been a signed division.
57332
57333 long timeout = (ct->timeout.expires - jiffies) / HZ;
57334 if (timeout < 0)
57335 timeout = 0;
57336
57337 This patch converts the time values to signed for the division.
57338
57339 Signed-off-by: Xi Wang <xi.wang@gmail.com>
57340 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
57341
57342 commit ab03a0973cee73f88655ff4981812ad316a6cd59
57343 Merge: 76f82df 7bdddeb
57344 Author: Brad Spengler <spender@grsecurity.net>
57345 Date: Tue Jan 3 17:42:50 2012 -0500
57346
57347 Merge branch 'pax-test' into grsec-test
57348
57349 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
57350 Merge: 3e59cb5 55cc81a
57351 Author: Brad Spengler <spender@grsecurity.net>
57352 Date: Tue Jan 3 17:42:36 2012 -0500
57353
57354 Merge branch 'linux-3.1.y' into pax-test
57355
57356 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
57357 Author: Brad Spengler <spender@grsecurity.net>
57358 Date: Thu Dec 22 20:15:02 2011 -0500
57359
57360 Only further restrict futex targeting another process -- our modified
57361 permission check also happened to allow a case where a process retaining
57362 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
57363 being non-zero (reported on forums by ben_w)
57364
57365 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
57366 Merge: 97c16f0 3e59cb5
57367 Author: Brad Spengler <spender@grsecurity.net>
57368 Date: Thu Dec 22 19:11:06 2011 -0500
57369
57370 Merge branch 'pax-test' into grsec-test
57371
57372 Conflicts:
57373 fs/hfs/btree.c
57374
57375 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
57376 Merge: 285eb4e c26f60b
57377 Author: Brad Spengler <spender@grsecurity.net>
57378 Date: Thu Dec 22 19:09:57 2011 -0500
57379
57380 Merge branch 'linux-3.1.y' into pax-test
57381
57382 Conflicts:
57383 arch/x86/kernel/process.c
57384
57385 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
57386 Author: Brad Spengler <spender@grsecurity.net>
57387 Date: Mon Dec 19 21:54:01 2011 -0500
57388
57389 Add new option: "Enforce consistent multithreaded privileges"
57390
57391 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
57392 Author: Brad Spengler <spender@grsecurity.net>
57393 Date: Wed Dec 7 19:58:31 2011 -0500
57394
57395 Remove harmless duplicate code -- exec_file would be null already so the
57396 second check would never pass.
57397
57398 commit 4e3304e94aa72737810bc50169519af157dce4ce
57399 Author: Brad Spengler <spender@grsecurity.net>
57400 Date: Wed Dec 7 19:50:39 2011 -0500
57401
57402 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
57403 depended on for attaching to a thread. Entries exist in /proc for
57404 threads, but are not visible in a readdir.
57405
57406 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
57407 Author: Brad Spengler <spender@grsecurity.net>
57408 Date: Sun Dec 4 18:03:28 2011 -0500
57409
57410 Put the already-walked path if in RCU-walk mode
57411
57412 commit ec7ae36b7159f10649709779443a988662965d66
57413 Author: Brad Spengler <spender@grsecurity.net>
57414 Date: Sun Dec 4 17:35:21 2011 -0500
57415
57416 Fix memory leak introduced by recent (unpublished) commit
57417 75ab998b94a29d464518d6d501bdde3fbfcbfa14
57418
57419 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
57420 Author: Brad Spengler <spender@grsecurity.net>
57421 Date: Sun Dec 4 13:56:10 2011 -0500
57422
57423 Explicitly check size copied to userland in override_release to silence gcc
57424
57425 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
57426 Author: Brad Spengler <spender@grsecurity.net>
57427 Date: Sun Dec 4 13:54:02 2011 -0500
57428
57429 Initialize variable to silence erroneous gcc warning
57430
57431 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
57432 Author: Brad Spengler <spender@grsecurity.net>
57433 Date: Sun Dec 4 13:47:47 2011 -0500
57434
57435 Future-proof other potential RCU-aware locations where we can log.
57436
57437 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
57438 Author: Brad Spengler <spender@grsecurity.net>
57439 Date: Sun Dec 4 13:02:54 2011 -0500
57440
57441 Fix freeze reported by 'vs' on the forums. Bug occurred due to
57442 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
57443 in generic_permission() was in the task's effective set but disallowed by
57444 RBAC, would block when acquiring locks resulting in the freeze.
57445
57446 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
57447 as being required when CAP_DAC_OVERRIDE is present (consistent with
57448 older patches).
57449
57450 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
57451 Author: Xi Wang <xi.wang@gmail.com>
57452 Date: Tue Nov 29 09:26:30 2011 +0000
57453
57454 sctp: better integer overflow check in sctp_auth_create_key()
57455
57456 The check from commit 30c2235c is incomplete and cannot prevent
57457 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
57458 left-hand side of the check (INT_MAX - key_len), which is unsigned,
57459 becomes 0xffffffff (UINT_MAX) and bypasses the check.
57460
57461 However this shouldn't be a security issue. The function is called
57462 from the following two code paths:
57463
57464 1) setsockopt()
57465
57466 2) sctp_auth_asoc_set_secret()
57467
57468 In case (1), sca_keylength is never going to exceed 65535 since it's
57469 bounded by a u16 from the user API. As such, the key length will
57470 never overflow.
57471
57472 In case (2), sca_keylength is computed based on the user key (1 short)
57473 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
57474 will not overflow.
57475
57476 In other words, this overflow check is not really necessary. Just
57477 make it more correct.
57478
57479 Signed-off-by: Xi Wang <xi.wang@gmail.com>
57480 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
57481 Signed-off-by: David S. Miller <davem@davemloft.net>
57482
57483 commit e565e28c3635a1d50f80541fbf6b606d742fec76
57484 Author: Josh Boyer <jwboyer@redhat.com>
57485 Date: Fri Aug 19 14:50:26 2011 -0400
57486
57487 fs/minix: Verify bitmap block counts before mounting
57488
57489 Newer versions of MINIX can create filesystems that allocate an extra
57490 bitmap block. Mounting of this succeeds, but doing a statfs call will
57491 result in an oops in count_free because of a negative number being used
57492 for the bh index.
57493
57494 Avoid this by verifying the number of allocated blocks at mount time,
57495 erroring out if there are not enough and make statfs ignore the extras
57496 if there are too many.
57497
57498 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
57499
57500 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
57501 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
57502
57503 commit 6e134e398ec1a3f428261680e83df4319e64bed9
57504 Author: Julia Lawall <julia@diku.dk>
57505 Date: Tue Nov 15 14:53:11 2011 -0800
57506
57507 drivers/gpu/vga/vgaarb.c: add missing kfree
57508
57509 kbuf is a buffer that is local to this function, so all of the error paths
57510 leaving the function should release it.
57511
57512 Signed-off-by: Julia Lawall <julia@diku.dk>
57513 Cc: Jesper Juhl <jj@chaosbits.net>
57514 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
57515 Signed-off-by: Dave Airlie <airlied@redhat.com>
57516
57517 commit 2b9057b321e36860e8d63985b5c4e496f254b717
57518 Author: Brad Spengler <spender@grsecurity.net>
57519 Date: Sat Dec 3 21:33:28 2011 -0500
57520
57521 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
57522
57523 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
57524 Author: Brad Spengler <spender@grsecurity.net>
57525 Date: Sat Dec 3 21:29:37 2011 -0500
57526
57527 Import pax-linux-3.1.4-test18.patch
57528
57529 commit 285eb4ea45d853ae00426b3315a61c1368080dad
57530 Author: Brad Spengler <spender@grsecurity.net>
57531 Date: Sat Dec 10 18:33:46 2011 -0500
57532
57533 Import changes from pax-linux-3.1.5-test20.patch
57534
57535 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
57536 Author: Brad Spengler <spender@grsecurity.net>
57537 Date: Thu Dec 8 20:55:54 2011 -0500
57538
57539 Import changes from pax-linux-3.1.4-test19.patch
57540
57541 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
57542 Author: Brad Spengler <spender@grsecurity.net>
57543 Date: Sat Dec 3 21:29:37 2011 -0500
57544
57545 Import pax-linux-3.1.4-test18.patch
57546 commit c982acca364cbd7677bad7e53b9c7ecfaa6dfeb7
57547 Merge: 814820a 3a59a59
57548 Author: Brad Spengler <spender@grsecurity.net>
57549 Date: Sun May 12 21:51:18 2013 -0400
57550
57551 Merge branch 'pax-test' into grsec-test
57552
57553 Conflicts:
57554 security/Kconfig
57555
57556 commit 3a59a59cf5e1bf88f96b05c64f7969e97f7f051f
57557 Author: Brad Spengler <spender@grsecurity.net>
57558 Date: Sun May 12 21:50:07 2013 -0400
57559
57560 Update to pax-linux-3.8.13-test24.patch:
57561 - fixed sparc/constification compile error, reported by blake
57562 - UDEREF/amd64 should be a bit more efficient when disabled at boot time
57563 - fixed some unnecessary integer truncations that could trip up the size overflow plugin
57564
57565 arch/arm/kernel/vmlinux.lds.S | 4 ++--
57566 arch/sparc/kernel/us3_cpufreq.c | 4 ++--
57567 arch/x86/ia32/ia32entry.S | 4 ++--
57568 arch/x86/include/asm/pgtable.h | 6 ++++--
57569 arch/x86/include/asm/uaccess.h | 6 +++---
57570 arch/x86/kernel/kprobes-opt.c | 4 ++++
57571 arch/x86/lib/copy_user_nocache_64.S | 2 +-
57572 arch/x86/lib/getuser.S | 8 ++++----
57573 arch/x86/lib/putuser.S | 8 ++++----
57574 arch/x86/mm/fault.c | 6 +++---
57575 drivers/net/slip/slhc.c | 2 +-
57576 drivers/staging/iio/ring_sw.c | 2 +-
57577 fs/binfmt_elf.c | 6 +++---
57578 fs/nfsd/nfscache.c | 2 +-
57579 fs/xattr.c | 21 +++++++++++++++++++++
57580 include/linux/syscalls.h | 2 +-
57581 include/linux/xattr.h | 3 +++
57582 init/main.c | 3 +++
57583 kernel/futex_compat.c | 2 +-
57584 kernel/trace/trace.h | 2 +-
57585 net/socket.c | 2 +-
57586 security/Kconfig | 2 +-
57587 22 files changed, 67 insertions(+), 34 deletions(-)
57588
57589 commit 814820abfe5b9a34401d838b2510431a4cd92be9
57590 Author: Dan Carpenter <dan.carpenter@oracle.com>
57591 Date: Mon May 6 09:31:17 2013 +0000
57592
57593 Upstream commit: 6bf15191f666c5965d212561d7a5c7b78b808dfa
57594
57595 tipc: potential divide by zero in tipc_link_recv_fragment()
57596
57597 The worry here is that fragm_sz could be zero since it comes from
57598 skb->data.
57599
57600 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
57601 Signed-off-by: David S. Miller <davem@davemloft.net>
57602
57603 net/tipc/link.c | 6 ++++--
57604 1 files changed, 4 insertions(+), 2 deletions(-)
57605
57606 commit b58503d2784f0a4dbf4d9dbef9bdcc7bf163e3c1
57607 Author: Dan Carpenter <dan.carpenter@oracle.com>
57608 Date: Mon May 6 08:28:41 2013 +0000
57609
57610 Upstream commit: cb4b102f0ab29fcbaf945c6b1f85ef006cdb8edc
57611
57612 tipc: add a bounds check in link_recv_changeover_msg()
57613
57614 The bearer_id here comes from skb->data and it can be a number from 0 to
57615 7. The problem is that the ->links[] array has only 2 elements so I
57616 have added a range check.
57617
57618 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
57619 Signed-off-by: David S. Miller <davem@davemloft.net>
57620
57621 net/tipc/link.c | 5 ++++-
57622 1 files changed, 4 insertions(+), 1 deletions(-)
57623
57624 commit ed0428c4ef6c5498870772f212ac651216eb8d0c
57625 Merge: 2452d8d dbf932a
57626 Author: Brad Spengler <spender@grsecurity.net>
57627 Date: Sun May 12 21:18:25 2013 -0400
57628
57629 Merge branch 'linux-3.8.y' into pax-test
57630
57631 Conflicts:
57632 arch/x86/kernel/cpu/perf_event_intel_uncore.c
57633 arch/x86/mm/init.c
57634
57635 commit a113d6ac19303cd76d405df5aef5a4d190e6e7d7
57636 Author: Brad Spengler <spender@grsecurity.net>
57637 Date: Sun May 12 20:24:01 2013 -0400
57638
57639 compile fix
57640
57641 grsecurity/gracl.c | 1 +
57642 grsecurity/gracl_segv.c | 1 +
57643 2 files changed, 2 insertions(+), 0 deletions(-)
57644
57645 commit 1bd664ee9054a28bbcf1dad6f9ffbc9e8500bb00
57646 Author: Brad Spengler <spender@grsecurity.net>
57647 Date: Sun May 12 18:25:26 2013 -0400
57648
57649 fix btrfs support here as well
57650
57651 grsecurity/gracl_segv.c | 17 +++++++++--------
57652 1 files changed, 9 insertions(+), 8 deletions(-)
57653
57654 commit c75e4664fe4d20da1639f70d9def097c4f20856b
57655 Author: Brad Spengler <spender@grsecurity.net>
57656 Date: Sun May 12 18:12:57 2013 -0400
57657
57658 Fix RBAC compatibility with btrfs compiled as a module, as
57659 reported on the forums by YuHg at:
57660 http://forums.grsecurity.net/viewtopic.php?t=2575&p=12952#p12952
57661
57662 fs/btrfs/inode.c | 11 +----------
57663 grsecurity/gracl.c | 19 ++++++++++---------
57664 grsecurity/gracl_segv.c | 2 +-
57665 grsecurity/grsec_disabled.c | 2 +-
57666 4 files changed, 13 insertions(+), 21 deletions(-)
57667
57668 commit e40c5804acc5b83e10d16ca3ba92502a3e5f7f27
57669 Author: Brad Spengler <spender@grsecurity.net>
57670 Date: Sat May 11 12:12:00 2013 -0400
57671
57672 allow copies just up to the start of kernel code
57673
57674 fs/exec.c | 2 +-
57675 1 files changed, 1 insertions(+), 1 deletions(-)
57676
57677 commit 04638852588cf243f865f5a73aa9dab94fab53b7
57678 Author: Brad Spengler <spender@grsecurity.net>
57679 Date: Fri May 10 16:53:07 2013 -0400
57680
57681 MODULES_EXEC_VADDR is a virtual address
57682
57683 fs/exec.c | 2 +-
57684 1 files changed, 1 insertions(+), 1 deletions(-)
57685
57686 commit 017fc58a177b8b3fd9c2a7a4366f3590c9d49435
57687 Author: Brad Spengler <spender@grsecurity.net>
57688 Date: Fri May 10 16:51:03 2013 -0400
57689
57690 exempt module rx areas from usercopy protection under i386 kernexec
57691 their .rodata will be placed between stext/etext causing copies of
57692 constant strings to trigger usercopy reports/terminations
57693
57694 fs/exec.c | 5 +++++
57695 1 files changed, 5 insertions(+), 0 deletions(-)
57696
57697 commit c1b2cc5dd5f5ae5c88402c7acbcb270f8d36a9da
57698 Author: Brad Spengler <spender@grsecurity.net>
57699 Date: Wed May 8 20:25:52 2013 -0400
57700
57701 User jorgus on the forums:
57702 http://forums.grsecurity.net/viewtopic.php?f=3&t=3446
57703 discovered that the upstreamed version of enforcing RLIMIT_NPROC
57704 at setuid/exec time missed an important corner case:
57705 If RLIMIT_NPROC is set after a setuid occurs and the user's process
57706 limit is reached elsewhere, no enforcement of RLIMIT_NPROC will
57707 happen at exec time for the task with a modified RLIMIT_NPROC.
57708
57709 This patch fixes that.
57710
57711 kernel/sys.c | 7 +++++++
57712 1 files changed, 7 insertions(+), 0 deletions(-)
57713
57714 commit 85ffce8c95bd1d9114852f74db8c66ddbc2e77ff
57715 Merge: 539fff0 2452d8d
57716 Author: Brad Spengler <spender@grsecurity.net>
57717 Date: Wed May 8 18:13:41 2013 -0400
57718
57719 Merge branch 'pax-test' into grsec-test
57720
57721 commit 2452d8d0416d5c9c32805443dd89e5c9778dea4a
57722 Merge: 6c850d8 9c9ab76
57723 Author: Brad Spengler <spender@grsecurity.net>
57724 Date: Wed May 8 18:13:31 2013 -0400
57725
57726 Merge branch 'linux-3.8.y' into pax-test
57727
57728 Conflicts:
57729 arch/x86/kernel/irq.c
57730 kernel/trace/trace_stack.c
57731
57732 commit 539fff0cf95c3dcc02c5e0ac3ef8da4519efdb9a
57733 Author: Brad Spengler <spender@grsecurity.net>
57734 Date: Tue May 7 21:43:00 2013 -0400
57735
57736 turn counter into a flag
57737
57738 grsecurity/Kconfig | 2 +-
57739 grsecurity/grsec_chroot.c | 8 ++++----
57740 2 files changed, 5 insertions(+), 5 deletions(-)
57741
57742 commit 3da48c0f89377e1ef76470d4b19f19df793fdf32
57743 Author: Brad Spengler <spender@grsecurity.net>
57744 Date: Tue May 7 21:02:39 2013 -0400
57745
57746 add GRKERNSEC_CHROOT_INITRD to work around Plymouth stupidity
57747 useful for Fedora/RHEL users
57748
57749 grsecurity/Kconfig | 10 ++++++++++
57750 grsecurity/grsec_chroot.c | 17 +++++++++++++++--
57751 2 files changed, 25 insertions(+), 2 deletions(-)
57752
57753 commit 418102925c0cfb0de51b0a021abaa575e28fafa6
57754 Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
57755 Date: Fri May 3 14:11:25 2013 +0200
57756
57757 Upstream commit: 7cc23cd6c0c7d7f4bee057607e7ce01568925717
57758
57759 perf/x86/intel/lbr: Demand proper privileges for PERF_SAMPLE_BRANCH_KERNEL
57760
57761 We should always have proper privileges when requesting kernel
57762 data.
57763
57764 Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
57765 Cc: <stable@kernel.org>
57766 Cc: Andi Kleen <ak@linux.intel.com>
57767 Cc: eranian@google.com
57768 Link: http://lkml.kernel.org/r/20130503121256.230745028@chello.nl
57769 [ Fix build error reported by fengguang.wu@intel.com, propagate error code back. ]
57770 Signed-off-by: Ingo Molnar <mingo@kernel.org>
57771 Link: http://lkml.kernel.org/n/tip-v0x9ky3ahzr6nm3c6ilwrili@git.kernel.org
57772
57773 arch/x86/kernel/cpu/perf_event_intel_lbr.c | 13 ++++++++++---
57774 1 files changed, 10 insertions(+), 3 deletions(-)
57775
57776 commit f9e1af27cca1722a4c6a801000b5b3b5410401a2
57777 Author: Eric Dumazet <edumazet@google.com>
57778 Date: Mon Apr 29 05:58:52 2013 +0000
57779
57780 Upstream commit: aebda156a570782a86fc4426842152237a19427d
57781
57782 net: defer net_secret[] initialization
57783
57784 Instead of feeding net_secret[] at boot time, defer the init
57785 at the point first socket is created.
57786
57787 This permits some platforms to use better entropy sources than
57788 the ones available at boot time.
57789
57790 Signed-off-by: Eric Dumazet <edumazet@google.com>
57791 Signed-off-by: David S. Miller <davem@davemloft.net>
57792
57793 include/net/secure_seq.h | 1 +
57794 net/core/secure_seq.c | 4 +---
57795 net/ipv4/af_inet.c | 5 ++++-
57796 3 files changed, 6 insertions(+), 4 deletions(-)
57797
57798 commit a9229d75129cd9744a5e486ec99a0fe6aeaf10ac
57799 Author: Daniel Borkmann <dborkman@redhat.com>
57800 Date: Wed May 1 02:59:23 2013 +0000
57801
57802 Upstream commit: be3e45810bb1ee0bdfa93f6b9532d8c451e50f48
57803
57804 net: sctp: attribute printl with __printf for gcc fmt checks
57805
57806 Let GCC check for format string errors in sctp's probe printl
57807 function. This patch fixes the warning when compiled with W=1:
57808
57809 net/sctp/probe.c:73:2: warning: function might be possible candidate
57810 for 'gnu_printf' format attribute [-Wmissing-format-attribute]
57811
57812 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
57813 Signed-off-by: David S. Miller <davem@davemloft.net>
57814
57815 net/sctp/probe.c | 2 +-
57816 1 files changed, 1 insertions(+), 1 deletions(-)
57817
57818 commit 81b98190c66a90f0ed2de4560f542b1dea7664f2
57819 Author: Brad Spengler <spender@grsecurity.net>
57820 Date: Thu May 2 19:58:54 2013 -0400
57821
57822 remove no-longer-needed vmware 8 compat fix
57823
57824 mm/page_alloc.c | 6 ------
57825 1 files changed, 0 insertions(+), 6 deletions(-)
57826
57827 commit a7716a90c1dbe09a8a6d98c74ea2f7fe2a530e94
57828 Author: Brad Spengler <spender@grsecurity.net>
57829 Date: Thu May 2 19:55:23 2013 -0400
57830
57831 remove unnecessary < 0 check
57832
57833 net/phonet/af_phonet.c | 2 +-
57834 1 files changed, 1 insertions(+), 1 deletions(-)
57835
57836 commit a4e8dd5b1cca13c2e4145af75694a04aaa811f3f
57837 Author: Brad Spengler <spender@grsecurity.net>
57838 Date: Wed May 1 18:30:48 2013 -0400
57839
57840 remove references to CONFIG_X86_WP_WORKS_OK
57841
57842 arch/um/defconfig | 1 -
57843 security/Kconfig | 2 +-
57844 2 files changed, 1 insertions(+), 2 deletions(-)
57845
57846 commit 408da6791f93ffe00d26bfe919f1b2218fe0804d
57847 Merge: a8dbe8e 6c850d8
57848 Author: Brad Spengler <spender@grsecurity.net>
57849 Date: Wed May 1 18:28:44 2013 -0400
57850
57851 Merge branch 'pax-test' into grsec-test
57852
57853 Conflicts:
57854 arch/sparc/mm/ultra.S
57855 drivers/tty/tty_io.c
57856
57857 commit 6c850d8b76b375e418b6a18a33cc8263f36fabcf
57858 Merge: cdbcbef 9fa1d01
57859 Author: Brad Spengler <spender@grsecurity.net>
57860 Date: Wed May 1 18:25:18 2013 -0400
57861
57862 Merge branch 'linux-3.8.y' into pax-test
57863
57864 commit a8dbe8ee7a0a3ace489e2f95d69d33e14d5f0b78
57865 Author: Brad Spengler <spender@grsecurity.net>
57866 Date: Mon Apr 29 18:44:23 2013 -0400
57867
57868 add module.h to silence compiler warning, thanks to
57869 Sergei Trofimovich
57870
57871 fs/btrfs/inode.c | 1 +
57872 1 files changed, 1 insertions(+), 0 deletions(-)
57873
57874 commit 55eba82aca97aa56378e000840c48965557721e8
57875 Author: Brad Spengler <spender@grsecurity.net>
57876 Date: Mon Apr 29 18:43:03 2013 -0400
57877
57878 compilation fix
57879
57880 kernel/trace/trace.h | 2 +-
57881 1 files changed, 1 insertions(+), 1 deletions(-)
57882
57883 commit e3bf912b54af6df7fbebc68b5999554562056c5c
57884 Merge: 5b72e37 cdbcbef
57885 Author: Brad Spengler <spender@grsecurity.net>
57886 Date: Mon Apr 29 18:34:42 2013 -0400
57887
57888 Merge branch 'pax-test' into grsec-test
57889
57890 commit cdbcbef45c4f003cbee11e10668a35d424c17c60
57891 Author: Brad Spengler <spender@grsecurity.net>
57892 Date: Mon Apr 29 18:33:35 2013 -0400
57893
57894 Update to pax-linux-3.8.10-test21.patch:
57895 - removed size overflow coverage of resource_size(), reported at http://forums.grsecurity.net/viewtopic.php?f=3&t=3412
57896 - fixed bad pointer arithmetic in nfsd_cache_update, reported by Jason A. Donenfeld and http://forums.grsecurity.net/viewtopic.php?f=3&t=3438
57897 note that the false positive is not fixed yet
57898 - fixed a few unintended bitmask computations found by a not-yet-public gcc plugin
57899 - fixed the kernel stack leak bug in do_tgkill, found by the size overflow plugin (https://code.google.com/p/chromium/issues/detail?id=223444)
57900 - reverted the nested NMI fix in search for a real one
57901 - simplified the arm_delay_ops constification
57902
57903 arch/arm/include/asm/delay.h | 8 ++++----
57904 arch/arm/lib/delay.c | 17 +++++------------
57905 arch/x86/kernel/entry_64.S | 11 ++++++++++-
57906 arch/x86/kernel/i8259.c | 2 +-
57907 arch/x86/kernel/pci-calgary_64.c | 2 +-
57908 arch/x86/kvm/vmx.c | 4 ++--
57909 drivers/block/pktcdvd.c | 2 +-
57910 fs/btrfs/extent-tree.c | 2 +-
57911 fs/nfsd/nfscache.c | 6 ++++--
57912 kernel/trace/trace.c | 2 +-
57913 tools/gcc/structleak_plugin.c | 4 ++++
57914 11 files changed, 34 insertions(+), 26 deletions(-)
57915
57916 commit 5b72e3790fa0e8a16a09c0ef745d8065620a1e74
57917 Author: Brad Spengler <spender@grsecurity.net>
57918 Date: Fri Apr 26 20:53:06 2013 -0400
57919
57920 don't use file_inode()
57921
57922 drivers/tty/tty_io.c | 2 +-
57923 1 files changed, 1 insertions(+), 1 deletions(-)
57924
57925 commit a2df9595fa2e3c7a0c63b1acac75425fd4feb946
57926 Author: Jiri Slaby <jslaby@suse.cz>
57927 Date: Fri Apr 26 13:48:53 2013 +0200
57928
57929 Upstream commit: 37b7f3c76595e23257f61bd80b223de8658617ee
57930
57931 TTY: fix atime/mtime regression
57932
57933 In commit b0de59b5733d ("TTY: do not update atime/mtime on read/write")
57934 we removed timestamps from tty inodes to fix a security issue and waited
57935 if something breaks. Well, 'w', the utility to find out logged users
57936 and their inactivity time broke. It shows that users are inactive since
57937 the time they logged in.
57938
57939 To revert to the old behaviour while still preventing attackers to
57940 guess the password length, we update the timestamps in one-minute
57941 intervals by this patch.
57942
57943 Signed-off-by: Jiri Slaby <jslaby@suse.cz>
57944 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
57945 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
57946
57947 Conflicts:
57948
57949 drivers/tty/tty_io.c
57950
57951 drivers/tty/tty_io.c | 15 ++++++++++++++-
57952 1 files changed, 14 insertions(+), 1 deletions(-)
57953
57954 commit c9c76fe07da7611a5062dd3234e5d2369e0a78ec
57955 Author: Jiri Slaby <jslaby@suse.cz>
57956 Date: Fri Feb 15 15:25:05 2013 +0100
57957
57958 Upstream commit: b0de59b5733d
57959
57960 TTY: do not update atime/mtime on read/write
57961
57962 On http://vladz.devzero.fr/013_ptmx-timing.php, we can see how to find
57963 out length of a password using timestamps of /dev/ptmx. It is
57964 documented in "Timing Analysis of Keystrokes and Timing Attacks on
57965 SSH". To avoid that problem, do not update time when reading
57966 from/writing to a TTY.
57967
57968 I am afraid of regressions as this is a behavior we have since 0.97
57969 and apps may expect the time to be current, e.g. for monitoring
57970 whether there was a change on the TTY. Now, there is no change. So
57971 this would better have a lot of testing before it goes upstream.
57972
57973 References: CVE-2013-0160
57974
57975 Signed-off-by: Jiri Slaby <jslaby@suse.cz>
57976 Cc: stable <stable@vger.kernel.org> # after 3.9 is out
57977 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
57978
57979 drivers/tty/tty_io.c | 8 ++------
57980 1 files changed, 2 insertions(+), 6 deletions(-)
57981
57982 commit 5344a24e2320d61dbdb88aae04922f0799deefd0
57983 Author: Zhao Hongjiang <zhaohongjiang@huawei.com>
57984 Date: Fri Apr 26 11:03:53 2013 +0800
57985
57986 Upstream commit: 91d80a84bbc8f28375cca7e65ec666577b4209ad
57987
57988 aio: fix possible invalid memory access when DEBUG is enabled
57989
57990 dprintk() shouldn't access @ring after it's unmapped.
57991
57992 Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
57993 Cc: stable@vger.kernel.org
57994 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
57995
57996 fs/aio.c | 2 +-
57997 1 files changed, 1 insertions(+), 1 deletions(-)
57998
57999 commit 786841cb279bbd8e458d67e112a1d01a3d4598a7
58000 Author: John David Anglin <dave.anglin@bell.net>
58001 Date: Tue Apr 23 22:42:07 2013 +0200
58002
58003 Upstream commit: bda079d336cd8183e1d844a265ea87ae3e1bbe78
58004
58005 parisc: use spin_lock_irqsave/spin_unlock_irqrestore for PTE updates
58006
58007 User applications running on SMP kernels have long suffered from instability
58008 and random segmentation faults. This patch improves the situation although
58009 there is more work to be done.
58010
58011 One of the problems is the various routines in pgtable.h that update page table
58012 entries use different locking mechanisms, or no lock at all (set_pte_at). This
58013 change modifies the routines to all use the same lock pa_dbit_lock. This lock
58014 is used for dirty bit updates in the interruption code. The patch also purges
58015 the TLB entries associated with the PTE to ensure that inconsistent values are
58016 not used after the page table entry is updated. The UP and SMP code are now
58017 identical.
58018
58019 The change also includes a minor update to the purge_tlb_entries function in
58020 cache.c to improve its efficiency.
58021
58022 Signed-off-by: John David Anglin <dave.anglin@bell.net>
58023 Cc: Helge Deller <deller@gmx.de>
58024 Signed-off-by: Helge Deller <deller@gmx.de>
58025
58026 arch/parisc/include/asm/pgtable.h | 47 +++++++++++++++++++-----------------
58027 arch/parisc/kernel/cache.c | 5 +---
58028 2 files changed, 26 insertions(+), 26 deletions(-)
58029
58030 commit 775a77ad179d4c25bc94e85ef81135cbdffcfdc1
58031 Merge: ba54c97 4d05084
58032 Author: Brad Spengler <spender@grsecurity.net>
58033 Date: Fri Apr 26 18:17:20 2013 -0400
58034
58035 Merge branch 'pax-test' into grsec-test
58036
58037 Conflicts:
58038 arch/x86/kvm/x86.c
58039 include/linux/capability.h
58040
58041 commit 4d0508463d0ee3ec4b9eca1ea6bed3be03a3df21
58042 Merge: c664779 bb8dd67
58043 Author: Brad Spengler <spender@grsecurity.net>
58044 Date: Fri Apr 26 18:15:45 2013 -0400
58045
58046 Merge branch 'linux-3.8.y' into pax-test
58047
58048 commit ba54c977fe8c3afc4a9efd7afc3f30cf10b02fa2
58049 Author: David S. Miller <davem@davemloft.net>
58050 Date: Wed Apr 24 16:52:18 2013 -0700
58051
58052 Upstream commit: f0af97070acbad5d6a361f485828223a4faaa0ee
58053
58054 sparc64: Fix missing put_cpu_var() in tlb_batch_add_one() when not batching.
58055
58056 Reported-by: Meelis Roos <mroos@linux.ee>
58057 Signed-off-by: David S. Miller <davem@davemloft.net>
58058
58059 arch/sparc/mm/tlb.c | 3 ++-
58060 1 files changed, 2 insertions(+), 1 deletions(-)
58061
58062 commit dc080cfd57c7cdc426f8c6c2da11911ac99959d8
58063 Author: David S. Miller <davem@davemloft.net>
58064 Date: Fri Apr 19 17:26:26 2013 -0400
58065
58066 Upstream commit: f36391d2790d04993f48da6a45810033a2cdf847
58067
58068 sparc64: Fix race in TLB batch processing.
58069
58070 As reported by Dave Kleikamp, when we emit cross calls to do batched
58071 TLB flush processing we have a race because we do not synchronize on
58072 the sibling cpus completing the cross call.
58073
58074 So meanwhile the TLB batch can be reset (tb->tlb_nr set to zero, etc.)
58075 and either flushes are missed or flushes will flush the wrong
58076 addresses.
58077
58078 Fix this by using generic infrastructure to synchonize on the
58079 completion of the cross call.
58080
58081 This first required getting the flush_tlb_pending() call out from
58082 switch_to() which operates with locks held and interrupts disabled.
58083 The problem is that smp_call_function_many() cannot be invoked with
58084 IRQs disabled and this is explicitly checked for with WARN_ON_ONCE().
58085
58086 We get the batch processing outside of locked IRQ disabled sections by
58087 using some ideas from the powerpc port. Namely, we only batch inside
58088 of arch_{enter,leave}_lazy_mmu_mode() calls. If we're not in such a
58089 region, we flush TLBs synchronously.
58090
58091 1) Get rid of xcall_flush_tlb_pending and per-cpu type
58092 implementations.
58093
58094 2) Do TLB batch cross calls instead via:
58095
58096 smp_call_function_many()
58097 tlb_pending_func()
58098 __flush_tlb_pending()
58099
58100 3) Batch only in lazy mmu sequences:
58101
58102 a) Add 'active' member to struct tlb_batch
58103 b) Define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
58104 c) Set 'active' in arch_enter_lazy_mmu_mode()
58105 d) Run batch and clear 'active' in arch_leave_lazy_mmu_mode()
58106 e) Check 'active' in tlb_batch_add_one() and do a synchronous
58107 flush if it's clear.
58108
58109 4) Add infrastructure for synchronous TLB page flushes.
58110
58111 a) Implement __flush_tlb_page and per-cpu variants, patch
58112 as needed.
58113 b) Likewise for xcall_flush_tlb_page.
58114 c) Implement smp_flush_tlb_page() to invoke the cross-call.
58115 d) Wire up global_flush_tlb_page() to the right routine based
58116 upon CONFIG_SMP
58117
58118 5) It turns out that singleton batches are very common, 2 out of every
58119 3 batch flushes have only a single entry in them.
58120
58121 The batch flush waiting is very expensive, both because of the poll
58122 on sibling cpu completeion, as well as because passing the tlb batch
58123 pointer to the sibling cpus invokes a shared memory dereference.
58124
58125 Therefore, in flush_tlb_pending(), if there is only one entry in
58126 the batch perform a completely asynchronous global_flush_tlb_page()
58127 instead.
58128
58129 Reported-by: Dave Kleikamp <dave.kleikamp@oracle.com>
58130 Signed-off-by: David S. Miller <davem@davemloft.net>
58131 Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com>
58132
58133 arch/sparc/include/asm/pgtable_64.h | 1 +
58134 arch/sparc/include/asm/switch_to_64.h | 3 +-
58135 arch/sparc/include/asm/tlbflush_64.h | 37 +++++++++--
58136 arch/sparc/kernel/smp_64.c | 41 ++++++++++-
58137 arch/sparc/mm/tlb.c | 38 +++++++++-
58138 arch/sparc/mm/tsb.c | 57 ++++++++++++----
58139 arch/sparc/mm/ultra.S | 119 ++++++++++++++++++++++++++-------
58140 7 files changed, 241 insertions(+), 55 deletions(-)
58141
58142 commit cd80cc3cfd122295e6ec6db1e5e16e5b7a5d3b59
58143 Author: Linus Torvalds <torvalds@linux-foundation.org>
58144 Date: Fri Apr 19 15:32:32 2013 +0000
58145
58146 Upstream commit: 83f1b4ba917db5dc5a061a44b3403ddb6e783494
58147
58148 net: fix incorrect credentials passing
58149
58150 Commit 257b5358b32f ("scm: Capture the full credentials of the scm
58151 sender") changed the credentials passing code to pass in the effective
58152 uid/gid instead of the real uid/gid.
58153
58154 Obviously this doesn't matter most of the time (since normally they are
58155 the same), but it results in differences for suid binaries when the wrong
58156 uid/gid ends up being used.
58157
58158 This just undoes that (presumably unintentional) part of the commit.
58159
58160 Reported-by: Andy Lutomirski <luto@amacapital.net>
58161 Cc: Eric W. Biederman <ebiederm@xmission.com>
58162 Cc: Serge E. Hallyn <serge@hallyn.com>
58163 Cc: David S. Miller <davem@davemloft.net>
58164 Cc: stable@vger.kernel.org
58165 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
58166 Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
58167 Signed-off-by: David S. Miller <davem@davemloft.net>
58168
58169 include/net/scm.h | 4 ++--
58170 1 files changed, 2 insertions(+), 2 deletions(-)
58171
58172 commit e126225d1fcaa405ff2a7f1518d615cffe42e7d5
58173 Author: Brad Spengler <spender@grsecurity.net>
58174 Date: Thu Apr 18 19:22:40 2013 -0400
58175
58176 move _etext to only cover kernel code, not read-only data, as reported by Gu1
58177
58178 arch/arm/kernel/vmlinux.lds.S | 4 ++--
58179 1 files changed, 2 insertions(+), 2 deletions(-)
58180
58181 commit 98ad6adbc48759e4f9eae435d3e51ba487155685
58182 Author: Brad Spengler <spender@grsecurity.net>
58183 Date: Thu Apr 18 19:17:24 2013 -0400
58184
58185 add asm/sections.h for USERCOPY change
58186
58187 fs/exec.c | 1 +
58188 1 files changed, 1 insertions(+), 0 deletions(-)
58189
58190 commit c403a6c43da1bcac9b1ef2bca9bba0fb84a40f10
58191 Author: Dmitry Popov <dp@highloadlab.com>
58192 Date: Thu Apr 11 08:55:07 2013 +0000
58193
58194 Upstream commit: d66954a066158781ccf9c13c91d0316970fe57b6
58195
58196 tcp: incoming connections might use wrong route under synflood
58197
58198 There is a bug in cookie_v4_check (net/ipv4/syncookies.c):
58199 flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk),
58200 RT_SCOPE_UNIVERSE, IPPROTO_TCP,
58201 inet_sk_flowi_flags(sk),
58202 (opt && opt->srr) ? opt->faddr : ireq->rmt_addr,
58203 ireq->loc_addr, th->source, th->dest);
58204
58205 Here we do not respect sk->sk_bound_dev_if, therefore wrong dst_entry may be
58206 taken. This dst_entry is used by new socket (get_cookie_sock ->
58207 tcp_v4_syn_recv_sock), so its packets may take the wrong path.
58208
58209 Signed-off-by: Dmitry Popov <dp@highloadlab.com>
58210 Signed-off-by: David S. Miller <davem@davemloft.net>
58211
58212 net/ipv4/syncookies.c | 4 ++--
58213 1 files changed, 2 insertions(+), 2 deletions(-)
58214
58215 commit 3600395e8fef3ae712e72f9b68c3609639616df8
58216 Author: Thomas Graf <tgraf@suug.ch>
58217 Date: Thu Apr 11 10:57:18 2013 +0000
58218
58219 Upstream commit: 50bceae9bd3569d56744882f3012734d48a1d413
58220
58221 tcp: Reallocate headroom if it would overflow csum_start
58222
58223 If a TCP retransmission gets partially ACKed and collapsed multiple
58224 times it is possible for the headroom to grow beyond 64K which will
58225 overflow the 16bit skb->csum_start which is based on the start of
58226 the headroom. It has been observed rarely in the wild with IPoIB due
58227 to the 64K MTU.
58228
58229 Verify if the acking and collapsing resulted in a headroom exceeding
58230 what csum_start can cover and reallocate the headroom if so.
58231
58232 A big thank you to Jim Foraker <foraker1@llnl.gov> and the team at
58233 LLNL for helping out with the investigation and testing.
58234
58235 Reported-by: Jim Foraker <foraker1@llnl.gov>
58236 Signed-off-by: Thomas Graf <tgraf@suug.ch>
58237 Acked-by: Eric Dumazet <edumazet@google.com>
58238 Signed-off-by: David S. Miller <davem@davemloft.net>
58239
58240 net/ipv4/tcp_output.c | 8 ++++++--
58241 1 files changed, 6 insertions(+), 2 deletions(-)
58242
58243 commit 4b0b9a5038da806a2b6eba9efc3f3a53c5188a61
58244 Author: Ivan Vecera <ivecera@redhat.com>
58245 Date: Fri Apr 12 16:49:24 2013 +0200
58246
58247 Upstream commit: f11a869d4e38397ac81f2a3d22e8d2aeb3992b0f
58248
58249 be2net: take care of __vlan_put_tag return value
58250
58251 The driver should use return value of __vlan_put_tag with appropriate
58252 NULL-check instead of old skb pointer.
58253
58254 Signed-off-by: Ivan Vecera <ivecera@redhat.com>
58255 Signed-off-by: David S. Miller <davem@davemloft.net>
58256
58257 drivers/net/ethernet/emulex/benet/be_main.c | 5 +++--
58258 1 files changed, 3 insertions(+), 2 deletions(-)
58259
58260 commit 8d3aca40a891f13b9b1e0d957913fa788fd1cc55
58261 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
58262 Date: Fri Apr 12 03:17:12 2013 +0000
58263
58264 Upstream commit: 3be8fbab18fbc06b6ff94a56f9c225e29ea64a73
58265
58266 tuntap: fix error return code in tun_set_iff()
58267
58268 Fix to return a negative error code from the error handling
58269 case instead of 0, as returned elsewhere in this function.
58270
58271 [ Bug added in linux-3.8 , commit 4008e97f866db665
58272 ("tuntap: fix ambigious multiqueue API") ]
58273
58274 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
58275 Acked-by: Eric Dumazet <edumazet@google.com>
58276 Signed-off-by: David S. Miller <davem@davemloft.net>
58277
58278 drivers/net/tun.c | 2 +-
58279 1 files changed, 1 insertions(+), 1 deletions(-)
58280
58281 commit 42cfd101287e0ffa5e8425ca7dd3c4131a7a601c
58282 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
58283 Date: Sat Apr 13 15:49:03 2013 +0000
58284
58285 Upstream commit: 06848c10f720cbc20e3b784c0df24930b7304b93
58286
58287 esp4: fix error return code in esp_output()
58288
58289 Fix to return a negative error code from the error handling
58290 case instead of 0, as returned elsewhere in this function.
58291
58292 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
58293 Acked-by: Steffen Klassert <steffen.klassert@secunet.com>
58294 Signed-off-by: David S. Miller <davem@davemloft.net>
58295
58296 net/ipv4/esp4.c | 6 +++---
58297 1 files changed, 3 insertions(+), 3 deletions(-)
58298
58299 commit 2b45b5f52c2a8930f80c62de392a62516c83e225
58300 Author: Bjørn Mork <bjorn@mork.no>
58301 Date: Tue Apr 16 00:17:07 2013 +0000
58302
58303 Upstream commit: 32b161aa88aa40a83888a995c6e2ef81140219b1
58304
58305 net: cdc_mbim: remove bogus sizeof()
58306
58307 The intention was to test against the constant, not the size of
58308 the constant.
58309
58310 Signed-off-by: Bjørn Mork <bjorn@mork.no>
58311 Signed-off-by: David S. Miller <davem@davemloft.net>
58312
58313 drivers/net/usb/cdc_mbim.c | 2 +-
58314 1 files changed, 1 insertions(+), 1 deletions(-)
58315
58316 commit 17d7408795519037a5a1272c7888238e20830bfe
58317 Author: Vyacheslav Dubeyko <slava@dubeyko.com>
58318 Date: Wed Apr 17 15:58:33 2013 -0700
58319
58320 Upstream commit: 12f267a20aecf8b84a2a9069b9011f1661c779b4
58321
58322 hfsplus: fix potential overflow in hfsplus_file_truncate()
58323
58324 Change a u32 to loff_t hfsplus_file_truncate().
58325
58326 Signed-off-by: Vyacheslav Dubeyko <slava@dubeyko.com>
58327 Cc: Christoph Hellwig <hch@infradead.org>
58328 Cc: Al Viro <viro@zeniv.linux.org.uk>
58329 Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
58330 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
58331 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
58332
58333 fs/hfsplus/extents.c | 2 +-
58334 1 files changed, 1 insertions(+), 1 deletions(-)
58335
58336 commit 5c9574e7f16e7a9b3ea9b419c46ddc57110a555b
58337 Author: Emese Revfy <re.emese@gmail.com>
58338 Date: Wed Apr 17 15:58:36 2013 -0700
58339
58340 Upstream commit: b9e146d8eb3b9ecae5086d373b50fa0c1f3e7f0f
58341
58342 kernel/signal.c: stop info leak via the tkill and the tgkill syscalls
58343
58344 This fixes a kernel memory contents leak via the tkill and tgkill syscalls
58345 for compat processes.
58346
58347 This is visible in the siginfo_t->_sifields._rt.si_sigval.sival_ptr field
58348 when handling signals delivered from tkill.
58349
58350 The place of the infoleak:
58351
58352 int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)
58353 {
58354 ...
58355 put_user_ex(ptr_to_compat(from->si_ptr), &to->si_ptr);
58356 ...
58357 }
58358
58359 Signed-off-by: Emese Revfy <re.emese@gmail.com>
58360 Reviewed-by: PaX Team <pageexec@freemail.hu>
58361 Signed-off-by: Kees Cook <keescook@chromium.org>
58362 Cc: Al Viro <viro@zeniv.linux.org.uk>
58363 Cc: Oleg Nesterov <oleg@redhat.com>
58364 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
58365 Cc: Serge Hallyn <serge.hallyn@canonical.com>
58366 Cc: <stable@vger.kernel.org>
58367 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
58368 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
58369
58370 kernel/signal.c | 2 +-
58371 1 files changed, 1 insertions(+), 1 deletions(-)
58372
58373 commit 0942d16614b0ef59d50b10151d77ec52fc98c2d0
58374 Author: Brad Spengler <spender@grsecurity.net>
58375 Date: Wed Apr 17 20:17:00 2013 -0400
58376
58377 Improve PAX_USERCOPY to reject direct copies to/from main kernel text
58378
58379 fs/exec.c | 29 +++++++++++++++++++++++++++--
58380 1 files changed, 27 insertions(+), 2 deletions(-)
58381
58382 commit 3cb37d0c0c77dc3928ff8417f982139f95366eba
58383 Merge: e87c19f c664779
58384 Author: Brad Spengler <spender@grsecurity.net>
58385 Date: Wed Apr 17 20:06:08 2013 -0400
58386
58387 Merge branch 'pax-test' into grsec-test
58388
58389 commit c664779987cb0c27a242029f0e0db812e3236203
58390 Author: Brad Spengler <spender@grsecurity.net>
58391 Date: Wed Apr 17 19:54:09 2013 -0400
58392
58393 add intentional_overflow marking for resource_size() as reasoned by:
58394 http://forums.grsecurity.net/viewtopic.php?f=3&t=3412
58395
58396 include/linux/ioport.h | 2 +-
58397 1 files changed, 1 insertions(+), 1 deletions(-)
58398
58399 commit e87c19f8312355b8658e5138c16bfa6043a379c8
58400 Merge: 802d119 d0c636c
58401 Author: Brad Spengler <spender@grsecurity.net>
58402 Date: Wed Apr 17 16:57:12 2013 -0400
58403
58404 Merge branch 'pax-test' into grsec-test
58405
58406 commit d0c636ceaaf406e606898ce3e770e32fb043ea8a
58407 Merge: bc88628 2396403
58408 Author: Brad Spengler <spender@grsecurity.net>
58409 Date: Wed Apr 17 16:57:01 2013 -0400
58410
58411 Merge branch 'linux-3.8.y' into pax-test
58412
58413 Conflicts:
58414 arch/x86/kernel/paravirt.c
58415
58416 commit 802d1193dcb507b2a62a2de0a869a7dbadd66b9b
58417 Author: Brad Spengler <spender@grsecurity.net>
58418 Date: Sun Apr 14 21:39:51 2013 -0400
58419
58420 move location of RBAC user check on setfsuid until after capability checks
58421 for consistency with other checks
58422
58423 kernel/sys.c | 6 +++---
58424 1 files changed, 3 insertions(+), 3 deletions(-)
58425
58426 commit 1a860d7d67051559ab2e6d10f9888649c92904e6
58427 Author: Brad Spengler <spender@grsecurity.net>
58428 Date: Sun Apr 14 21:34:46 2013 -0400
58429
58430 A denied setfsuid by the RBAC system would result in an abort_creds() being called
58431 with an uninitalized pointer, introduced by a bad forward-port
58432
58433 kernel/sys.c | 6 +++---
58434 1 files changed, 3 insertions(+), 3 deletions(-)
58435
58436 commit 9f94b84d0e5e101fe8ea8ebcc8eeb141d8a6edb9
58437 Merge: c38d142 bc88628
58438 Author: Brad Spengler <spender@grsecurity.net>
58439 Date: Sun Apr 14 21:28:33 2013 -0400
58440
58441 Merge branch 'pax-test' into grsec-test
58442
58443 Conflicts:
58444 security/Kconfig
58445
58446 commit bc88628a6a8fcccaabb90908640809b0540df225
58447 Author: Brad Spengler <spender@grsecurity.net>
58448 Date: Sun Apr 14 21:26:41 2013 -0400
58449
58450 Update to pax-linux-3.8.7-test20.patch:
58451 - fixed KERNEXEC and NMI nesting problem reported by stef&hunger
58452 - changed PHYSICAL_ALIGN/START to fix http://forums.grsecurity.net/viewtopic.php?f=3&t=3414
58453 - CONSTIFY depends on KERNEXEC (for the kernel open/close feature)
58454 - fixed CONSTIFY and powerpc interference, reported by John Hardin (https://bugs.gentoo.org/show_bug.cgi?id=456364)
58455
58456 arch/powerpc/include/asm/smp.h | 2 +-
58457 arch/x86/Kconfig | 4 ++--
58458 arch/x86/kernel/entry_64.S | 8 ++++----
58459 security/Kconfig | 2 +-
58460 4 files changed, 8 insertions(+), 8 deletions(-)
58461
58462 commit c38d142744489fc4d9be80188b6435a278438fd9
58463 Author: Suleiman Souhlal <suleiman@google.com>
58464 Date: Sat Apr 13 16:03:06 2013 -0700
58465
58466 Upstream commit: 5b55d708335a9e3e4f61f2dadf7511502205ccd1
58467
58468 vfs: Revert spurious fix to spinning prevention in prune_icache_sb
58469
58470 Revert commit 62a3ddef6181 ("vfs: fix spinning prevention in prune_icache_sb").
58471
58472 This commit doesn't look right: since we are looking at the tail of the
58473 list (sb->s_inode_lru.prev) if we want to skip an inode, we should put
58474 it back at the head of the list instead of the tail, otherwise we will
58475 keep spinning on it.
58476
58477 Discovered when investigating why prune_icache_sb came top in perf
58478 reports of a swapping load.
58479
58480 Signed-off-by: Suleiman Souhlal <suleiman@google.com>
58481 Signed-off-by: Hugh Dickins <hughd@google.com>
58482 Cc: stable@vger.kernel.org # v3.2+
58483 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
58484
58485 fs/inode.c | 2 +-
58486 1 files changed, 1 insertions(+), 1 deletions(-)
58487
58488 commit 93019624b80ba59798393942798d7f6ed0c1dbc6
58489 Author: Linus Torvalds <torvalds@linux-foundation.org>
58490 Date: Sat Apr 13 15:15:30 2013 -0700
58491
58492 Upstream commit: a49b7e82cab0f9b41f483359be83f44fbb6b4979
58493
58494 kobject: fix kset_find_obj() race with concurrent last kobject_put()
58495
58496 Anatol Pomozov identified a race condition that hits module unloading
58497 and re-loading. To quote Anatol:
58498
58499 "This is a race codition that exists between kset_find_obj() and
58500 kobject_put(). kset_find_obj() might return kobject that has refcount
58501 equal to 0 if this kobject is freeing by kobject_put() in other
58502 thread.
58503
58504 Here is timeline for the crash in case if kset_find_obj() searches for
58505 an object tht nobody holds and other thread is doing kobject_put() on
58506 the same kobject:
58507
58508 THREAD A (calls kset_find_obj()) THREAD B (calls kobject_put())
58509 splin_lock()
58510 atomic_dec_return(kobj->kref), counter gets zero here
58511 ... starts kobject cleanup ....
58512 spin_lock() // WAIT thread A in kobj_kset_leave()
58513 iterate over kset->list
58514 atomic_inc(kobj->kref) (counter becomes 1)
58515 spin_unlock()
58516 spin_lock() // taken
58517 // it does not know that thread A increased counter so it
58518 remove obj from list
58519 spin_unlock()
58520 vfree(module) // frees module object with containing kobj
58521
58522 // kobj points to freed memory area!!
58523 kobject_put(kobj) // OOPS!!!!
58524
58525 The race above happens because module.c tries to use kset_find_obj()
58526 when somebody unloads module. The module.c code was introduced in
58527 commit 6494a93d55fa"
58528
58529 Anatol supplied a patch specific for module.c that worked around the
58530 problem by simply not using kset_find_obj() at all, but rather than make
58531 a local band-aid, this just fixes kset_find_obj() to be thread-safe
58532 using the proper model of refusing the get a new reference if the
58533 refcount has already dropped to zero.
58534
58535 See examples of this proper refcount handling not only in the kref
58536 documentation, but in various other equivalent uses of this pattern by
58537 grepping for atomic_inc_not_zero().
58538
58539 [ Side note: the module race does indicate that module loading and
58540 unloading is not properly serialized wrt sysfs information using the
58541 module mutex. That may require further thought, but this is the
58542 correct fix at the kobject layer regardless. ]
58543
58544 Reported-analyzed-and-tested-by: Anatol Pomozov <anatol.pomozov@gmail.com>
58545 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
58546 Cc: Al Viro <viro@zeniv.linux.org.uk>
58547 Cc: stable@vger.kernel.org
58548 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
58549
58550 lib/kobject.c | 9 ++++++++-
58551 1 files changed, 8 insertions(+), 1 deletions(-)
58552
58553 commit 5277b052b5fab36729e1255fb3b12f47a4b12867
58554 Author: Dave Hansen <dave@sr71.net>
58555 Date: Fri Apr 12 16:23:54 2013 -0700
58556
58557 Upstream commit: 1de14c3c5cbc9bb17e9dcc648cda51c0c85d54b9
58558
58559 x86-32: Fix possible incomplete TLB invalidate with PAE pagetables
58560
58561 This patch attempts to fix:
58562
58563 https://bugzilla.kernel.org/show_bug.cgi?id=56461
58564
58565 The symptom is a crash and messages like this:
58566
58567 chrome: Corrupted page table at address 34a03000
58568 *pdpt = 0000000000000000 *pde = 0000000000000000
58569 Bad pagetable: 000f [#1] PREEMPT SMP
58570
58571 Ingo guesses this got introduced by commit 611ae8e3f520 ("x86/tlb:
58572 enable tlb flush range support for x86") since that code started to free
58573 unused pagetables.
58574
58575 On x86-32 PAE kernels, that new code has the potential to free an entire
58576 PMD page and will clear one of the four page-directory-pointer-table
58577 (aka pgd_t entries).
58578
58579 The hardware aggressively "caches" these top-level entries and invlpg
58580 does not actually affect the CPU's copy. If we clear one we *HAVE* to
58581 do a full TLB flush, otherwise we might continue using a freed pmd page.
58582 (note, we do this properly on the population side in pud_populate()).
58583
58584 This patch tracks whenever we clear one of these entries in the 'struct
58585 mmu_gather', and ensures that we follow up with a full tlb flush.
58586
58587 BTW, I disassembled and checked that:
58588
58589 if (tlb->fullmm == 0)
58590 and
58591 if (!tlb->fullmm && !tlb->need_flush_all)
58592
58593 generate essentially the same code, so there should be zero impact there
58594 to the !PAE case.
58595
58596 Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
58597 Cc: Peter Anvin <hpa@zytor.com>
58598 Cc: Ingo Molnar <mingo@kernel.org>
58599 Cc: Artem S Tashkinov <t.artem@mailcity.com>
58600 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
58601
58602 arch/x86/include/asm/tlb.h | 2 +-
58603 arch/x86/mm/pgtable.c | 7 +++++++
58604 include/asm-generic/tlb.h | 7 ++++++-
58605 mm/memory.c | 1 +
58606 4 files changed, 15 insertions(+), 2 deletions(-)
58607
58608 commit 521e573fc77d1783c1d4636dfbb4617a922f043d
58609 Merge: 032f626 f807619
58610 Author: Brad Spengler <spender@grsecurity.net>
58611 Date: Fri Apr 12 19:29:34 2013 -0400
58612
58613 Merge branch 'pax-test' into grsec-test
58614
58615 commit f80761993b85df96fc142dfc3a317cadc0f8eae5
58616 Author: Brad Spengler <spender@grsecurity.net>
58617 Date: Fri Apr 12 19:28:21 2013 -0400
58618
58619 Update to pax-linux-3.8.7-test19.patch:
58620 - fixed STACKLEAK/XEN interference once again, reported by Jason A. Donenfeld
58621 - fixed small typo, reported by mlarm (http://forums.grsecurity.net/viewtopic.php?f=3&t=3411)
58622 - fixed the structleak plugin to compile for gcc 4.5-4.6 as well
58623
58624 Makefile | 2 +-
58625 arch/x86/xen/enlighten.c | 6 +++---
58626 tools/gcc/structleak_plugin.c | 5 +++--
58627 3 files changed, 7 insertions(+), 6 deletions(-)
58628
58629 commit 032f626a4ae9bc3196313a2e762650c3d9abdc96
58630 Merge: a3a770e 89886f5
58631 Author: Brad Spengler <spender@grsecurity.net>
58632 Date: Fri Apr 12 18:38:40 2013 -0400
58633
58634 Merge branch 'pax-test' into grsec-test
58635
58636 commit 89886f561cc0d1c42a99624ec8c3704711088155
58637 Merge: 9123489 531ec28
58638 Author: Brad Spengler <spender@grsecurity.net>
58639 Date: Fri Apr 12 18:38:30 2013 -0400
58640
58641 Merge branch 'linux-3.8.y' into pax-test
58642
58643 commit a3a770e18578841e4fbe2aa0831a22811b4812cf
58644 Author: Brad Spengler <spender@grsecurity.net>
58645 Date: Thu Apr 11 20:46:20 2013 -0400
58646
58647 Revert "Don't auto-enable stackleak if kernel is used for xen dom0, kernel will not boot"
58648 Will be fixed with the next PaX patch
58649
58650 This reverts commit 63badcd2023717cc62b6c3ad5f25fe504c49e6d7.
58651
58652 security/Kconfig | 2 +-
58653 1 files changed, 1 insertions(+), 1 deletions(-)
58654
58655 commit fc98763e4f1f1487928750b26a63098b9e0ed5b1
58656 Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
58657 Date: Fri Mar 29 10:20:56 2013 -0400
58658
58659 Upstream commit: b22227944b8fe92b19150b4c36421e37979d9a16
58660
58661 xen/mmu: On early bootup, flush the TLB when changing RO->RW bits Xen provided pagetables.
58662
58663 Occassionaly on a DL380 G4 the guest would crash quite early with this:
58664
58665 (XEN) d244:v0: unhandled page fault (ec=0003)
58666 (XEN) Pagetable walk from ffffffff84dc7000:
58667 (XEN) L4[0x1ff] = 00000000c3f18067 0000000000001789
58668 (XEN) L3[0x1fe] = 00000000c3f14067 000000000000178d
58669 (XEN) L2[0x026] = 00000000dc8b2067 0000000000004def
58670 (XEN) L1[0x1c7] = 00100000dc8da067 0000000000004dc7
58671 (XEN) domain_crash_sync called from entry.S
58672 (XEN) Domain 244 (vcpu#0) crashed on cpu#3:
58673 (XEN) ----[ Xen-4.1.3OVM x86_64 debug=n Not tainted ]----
58674 (XEN) CPU: 3
58675 (XEN) RIP: e033:[<ffffffff81263f22>]
58676 (XEN) RFLAGS: 0000000000000216 EM: 1 CONTEXT: pv guest
58677 (XEN) rax: 0000000000000000 rbx: ffffffff81785f88 rcx: 000000000000003f
58678 (XEN) rdx: 0000000000000000 rsi: 00000000dc8da063 rdi: ffffffff84dc7000
58679
58680 The offending code shows it to be a loop writting the value zero
58681 (%rax) in the %rdi (the L4 provided by Xen) register:
58682
58683 0: 44 00 00 add %r8b,(%rax)
58684 3: 31 c0 xor %eax,%eax
58685 5: b9 40 00 00 00 mov $0x40,%ecx
58686 a: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
58687 11: 00 00
58688 13: ff c9 dec %ecx
58689 15:* 48 89 07 mov %rax,(%rdi) <-- trapping instruction
58690 18: 48 89 47 08 mov %rax,0x8(%rdi)
58691 1c: 48 89 47 10 mov %rax,0x10(%rdi)
58692
58693 which fails. xen_setup_kernel_pagetable recycles some of the Xen's
58694 page-table entries when it has switched over to its Linux page-tables.
58695
58696 Right before try to clear the page, we make a hypercall to change
58697 it from _RO to _RW and that works (otherwise we would hit an BUG()).
58698 And the _RW flag is set for that page:
58699 (XEN) L1[0x1c7] = 001000004885f067 0000000000004dc7
58700
58701 The error code is 3, so PFEC_page_present and PFEC_write_access, so page is
58702 present (correct), and we tried to write to the page, but a violation
58703 occurred. The one theory is that the the page entries in hardware
58704 (which are cached) are not up to date with what we just set. Especially
58705 as we have just done an CR3 write and flushed the multicalls.
58706
58707 This patch does solve the problem by flusing out the TLB page
58708 entry after changing it from _RO to _RW and we don't hit this
58709 issue anymore.
58710
58711 Fixed-Oracle-Bug: 16243091 [ON OCCASIONS VM START GOES INTO
58712 'CRASH' STATE: CLEAR_PAGE+0X12 ON HP DL380 G4]
58713 Reported-and-Tested-by: Saar Maoz <Saar.Maoz@oracle.com>
58714 Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
58715
58716 arch/x86/xen/mmu.c | 12 ++++++++----
58717 1 files changed, 8 insertions(+), 4 deletions(-)
58718
58719 commit d56bdc2595e76ca48cbfd695def7f82c3ab80c11
58720 Author: Namhyung Kim <namhyung.kim@lge.com>
58721 Date: Mon Apr 1 21:46:23 2013 +0900
58722
58723 Upstream commit: 83e03b3fe4daffdebbb42151d5410d730ae50bd1
58724
58725 tracing: Fix double free when function profile init failed
58726
58727 On the failure path, stat->start and stat->pages will refer same page.
58728 So it'll attempt to free the same page again and get kernel panic.
58729
58730 Link: http://lkml.kernel.org/r/1364820385-32027-1-git-send-email-namhyung@kernel.org
58731
58732 Cc: Frederic Weisbecker <fweisbec@gmail.com>
58733 Cc: Namhyung Kim <namhyung.kim@lge.com>
58734 Cc: stable@vger.kernel.org
58735 Signed-off-by: Namhyung Kim <namhyung@kernel.org>
58736 Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
58737
58738 kernel/trace/ftrace.c | 1 -
58739 1 files changed, 0 insertions(+), 1 deletions(-)
58740
58741 commit c86b0de9f4c42a7ede40df5af9436e87ccc784bb
58742 Author: Neil Horman <nhorman@tuxdriver.com>
58743 Date: Tue Apr 9 23:19:00 2013 +0000
58744
58745 Upstream commit: 61a0f6efc8932e9914e1782ff3a027e23c687fc6
58746
58747 e100: Add dma mapping error check
58748
58749 e100 uses pci_map_single, but fails to check for a dma mapping error after its
58750 use, resulting in a stack trace:
58751
58752 [ 46.656594] ------------[ cut here ]------------
58753 [ 46.657004] WARNING: at lib/dma-debug.c:933 check_unmap+0x47b/0x950()
58754 [ 46.657004] Hardware name: To Be Filled By O.E.M.
58755 [ 46.657004] e100 0000:00:0e.0: DMA-API: device driver failed to check map
58756 error[device address=0x000000007a4540fa] [size=90 bytes] [mapped as single]
58757 [ 46.657004] Modules linked in:
58758 [ 46.657004] w83627hf hwmon_vid snd_via82xx ppdev snd_ac97_codec ac97_bus
58759 snd_seq snd_pcm snd_mpu401 snd_mpu401_uart ns558 snd_rawmidi gameport parport_pc
58760 e100 snd_seq_device parport snd_page_alloc snd_timer snd soundcore skge shpchp
58761 k8temp mii edac_core i2c_viapro edac_mce_amd nfsd auth_rpcgss nfs_acl lockd
58762 sunrpc binfmt_misc uinput ata_generic pata_acpi radeon i2c_algo_bit
58763 drm_kms_helper ttm firewire_ohci drm firewire_core pata_via sata_via i2c_core
58764 sata_promise crc_itu_t
58765 [ 46.657004] Pid: 792, comm: ip Not tainted 3.8.0-0.rc6.git0.1.fc19.x86_64 #1
58766 [ 46.657004] Call Trace:
58767 [ 46.657004] <IRQ> [<ffffffff81065ed0>] warn_slowpath_common+0x70/0xa0
58768 [ 46.657004] [<ffffffff81065f4c>] warn_slowpath_fmt+0x4c/0x50
58769 [ 46.657004] [<ffffffff81364cfb>] check_unmap+0x47b/0x950
58770 [ 46.657004] [<ffffffff8136522f>] debug_dma_unmap_page+0x5f/0x70
58771 [ 46.657004] [<ffffffffa030f0f0>] ? e100_tx_clean+0x30/0x210 [e100]
58772 [ 46.657004] [<ffffffffa030f1a8>] e100_tx_clean+0xe8/0x210 [e100]
58773 [ 46.657004] [<ffffffffa030fc6f>] e100_poll+0x56f/0x6c0 [e100]
58774 [ 46.657004] [<ffffffff8159dce1>] ? net_rx_action+0xa1/0x370
58775 [ 46.657004] [<ffffffff8159ddb2>] net_rx_action+0x172/0x370
58776 [ 46.657004] [<ffffffff810703bf>] __do_softirq+0xef/0x3d0
58777 [ 46.657004] [<ffffffff816e4ebc>] call_softirq+0x1c/0x30
58778 [ 46.657004] [<ffffffff8101c485>] do_softirq+0x85/0xc0
58779 [ 46.657004] [<ffffffff81070885>] irq_exit+0xd5/0xe0
58780 [ 46.657004] [<ffffffff816e5756>] do_IRQ+0x56/0xc0
58781 [ 46.657004] [<ffffffff816dacb2>] common_interrupt+0x72/0x72
58782 [ 46.657004] <EOI> [<ffffffff816da1eb>] ?
58783 _raw_spin_unlock_irqrestore+0x3b/0x70
58784 [ 46.657004] [<ffffffff816d124d>] __slab_free+0x58/0x38b
58785 [ 46.657004] [<ffffffff81214424>] ? fsnotify_clear_marks_by_inode+0x34/0x120
58786 [ 46.657004] [<ffffffff811b0417>] ? kmem_cache_free+0x97/0x320
58787 [ 46.657004] [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
58788 [ 46.657004] [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
58789 [ 46.657004] [<ffffffff811b0692>] kmem_cache_free+0x312/0x320
58790 [ 46.657004] [<ffffffff8157fc14>] sock_destroy_inode+0x34/0x40
58791 [ 46.657004] [<ffffffff811e8c28>] destroy_inode+0x38/0x60
58792 [ 46.657004] [<ffffffff811e8d5e>] evict+0x10e/0x1a0
58793 [ 46.657004] [<ffffffff811e9605>] iput+0xf5/0x180
58794 [ 46.657004] [<ffffffff811e4338>] dput+0x248/0x310
58795 [ 46.657004] [<ffffffff811ce0e1>] __fput+0x171/0x240
58796 [ 46.657004] [<ffffffff811ce26e>] ____fput+0xe/0x10
58797 [ 46.657004] [<ffffffff8108d54c>] task_work_run+0xac/0xe0
58798 [ 46.657004] [<ffffffff8106c6ed>] do_exit+0x26d/0xc30
58799 [ 46.657004] [<ffffffff8109eccc>] ? finish_task_switch+0x7c/0x120
58800 [ 46.657004] [<ffffffff816dad58>] ? retint_swapgs+0x13/0x1b
58801 [ 46.657004] [<ffffffff8106d139>] do_group_exit+0x49/0xc0
58802 [ 46.657004] [<ffffffff8106d1c4>] sys_exit_group+0x14/0x20
58803 [ 46.657004] [<ffffffff816e3b19>] system_call_fastpath+0x16/0x1b
58804 [ 46.657004] ---[ end trace 4468c44e2156e7d1 ]---
58805 [ 46.657004] Mapped at:
58806 [ 46.657004] [<ffffffff813663d1>] debug_dma_map_page+0x91/0x140
58807 [ 46.657004] [<ffffffffa030e8eb>] e100_xmit_prepare+0x12b/0x1c0 [e100]
58808 [ 46.657004] [<ffffffffa030c924>] e100_exec_cb+0x84/0x140 [e100]
58809 [ 46.657004] [<ffffffffa030e56a>] e100_xmit_frame+0x3a/0x190 [e100]
58810 [ 46.657004] [<ffffffff8159ee89>] dev_hard_start_xmit+0x259/0x6c0
58811
58812 Easy fix, modify the cb paramter to e100_exec_cb to return an error, and do the
58813 dma_mapping_error check in the obvious place
58814
58815 This was reported previously here:
58816 http://article.gmane.org/gmane.linux.network/257893
58817
58818 But nobody stepped up and fixed it.
58819
58820 CC: Josh Boyer <jwboyer@redhat.com>
58821 CC: e1000-devel@lists.sourceforge.net
58822 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
58823 Reported-by: Michal Jaegermann <michal@harddata.com>
58824 Tested-by: Aaron Brown <aaron.f.brown@intel.com>
58825 Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
58826 Signed-off-by: David S. Miller <davem@davemloft.net>
58827
58828 drivers/net/ethernet/intel/e100.c | 36 +++++++++++++++++++++++++-----------
58829 1 files changed, 25 insertions(+), 11 deletions(-)
58830
58831 commit df93708573ce6c512b9a9406a83a6fd4e87ff6a6
58832 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
58833 Date: Wed Apr 10 12:44:18 2013 -0400
58834
58835 Upstream commit: eb04e0ac198cec3bab407ad220438dfa65c19c67
58836
58837 NFSv4: Doh! Typo in the fix to nfs41_walk_client_list
58838
58839 Make sure that we set the status to 0 on success. Missed in testing
58840 because it never appears when doing multiple mounts to _different_
58841 servers.
58842
58843 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
58844 Cc: <stable@vger.kernel.org> # 3.7.x: 7b1f1fd: NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
58845
58846 fs/nfs/nfs4client.c | 1 +
58847 1 files changed, 1 insertions(+), 0 deletions(-)
58848
58849 commit 0ea7b7294f627588b0b3dc26a8a0ff8e1e27b5ea
58850 Author: Yuval Mintz <yuvalmin@broadcom.com>
58851 Date: Wed Apr 10 13:34:39 2013 +0300
58852
58853 Upstream commit: fea75645342c7ad574214497a78e562db12dfd7b
58854
58855 bnx2x: Prevent null pointer dereference in AFEX mode
58856
58857 The cnic module is responsible for initializing various bnx2x structs
58858 via callbacks provided by the bnx2x module.
58859 One such struct is the queue object for the FCoE queue.
58860
58861 If a device is working in AFEX mode and its configuration allows FCoE yet
58862 the cnic module is not loaded, it's very likely a null pointer dereference
58863 will occur, as the bnx2x will erroneously access the FCoE's queue object.
58864
58865 Prevent said access until cnic properly registers itself.
58866
58867 Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
58868 Signed-off-by: Ariel Elior <ariele@broadcom.com>
58869 Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
58870 Signed-off-by: David S. Miller <davem@davemloft.net>
58871
58872 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 3 ++-
58873 1 files changed, 2 insertions(+), 1 deletions(-)
58874
58875 commit 2908830232725db624aaa052f7ad38d1f98bf541
58876 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
58877 Date: Tue Apr 9 14:16:04 2013 +0800
58878
58879 Upstream commit: 3480a2125923e4b7a56d79efc76743089bf273fc
58880
58881 can: gw: use kmem_cache_free() instead of kfree()
58882
58883 Memory allocated by kmem_cache_alloc() should be freed using
58884 kmem_cache_free(), not kfree().
58885
58886 Cc: linux-stable <stable@vger.kernel.org> # >= v3.2
58887 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
58888 Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
58889 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
58890
58891 net/can/gw.c | 6 +++---
58892 1 files changed, 3 insertions(+), 3 deletions(-)
58893
58894 commit d40b572e845a5fb561e3c4a80cc306cd38888a4e
58895 Author: Christoph Paasch <christoph.paasch@uclouvain.be>
58896 Date: Sun Apr 7 04:53:15 2013 +0000
58897
58898 Upstream commit: 50a75a8914539c5dcd441c5f54d237a666a426fd
58899
58900 ipv6/tcp: Stop processing ICMPv6 redirect messages
58901
58902 Tetja Rediske found that if the host receives an ICMPv6 redirect message
58903 after sending a SYN+ACK, the connection will be reset.
58904
58905 He bisected it down to 093d04d (ipv6: Change skb->data before using
58906 icmpv6_notify() to propagate redirect), but the origin of the bug comes
58907 from ec18d9a26 (ipv6: Add redirect support to all protocol icmp error
58908 handlers.). The bug simply did not trigger prior to 093d04d, because
58909 skb->data did not point to the inner IP header and thus icmpv6_notify
58910 did not call the correct err_handler.
58911
58912 This patch adds the missing "goto out;" in tcp_v6_err. After receiving
58913 an ICMPv6 Redirect, we should not continue processing the ICMP in
58914 tcp_v6_err, as this may trigger the removal of request-socks or setting
58915 sk_err(_soft).
58916
58917 Reported-by: Tetja Rediske <tetja@tetja.de>
58918 Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
58919 Acked-by: Eric Dumazet <edumazet@google.com>
58920 Signed-off-by: David S. Miller <davem@davemloft.net>
58921
58922 net/ipv6/tcp_ipv6.c | 1 +
58923 1 files changed, 1 insertions(+), 0 deletions(-)
58924
58925 commit c7d5c2524456ef3ea9194840e7a9a75069a46824
58926 Author: Brad Spengler <spender@grsecurity.net>
58927 Date: Wed Apr 10 20:32:54 2013 -0400
58928
58929 - fixed typo in Makefile reported by mlarm (https://forums.grsecurity.net/viewtopic.php?t=3411)
58930
58931 Makefile | 2 +-
58932 1 files changed, 1 insertions(+), 1 deletions(-)
58933
58934 commit acac2380fd97acee4367d2aa24c74322dcf1d22b
58935 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
58936 Date: Fri Apr 5 16:11:11 2013 -0400
58937
58938 Upstream commit: 7b1f1fd1842e6ede25183c267ae733a7f67f00bc
58939
58940 NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
58941
58942 It is unsafe to use list_for_each_entry_safe() here, because
58943 when we drop the nn->nfs_client_lock, we pin the _current_ list
58944 entry and ensure that it stays in the list, but we don't do the
58945 same for the _next_ list entry. Use of list_for_each_entry() is
58946 therefore the correct thing to do.
58947
58948 Also fix the refcounting in nfs41_walk_client_list().
58949
58950 Finally, ensure that the nfs_client has finished being initialised
58951 and, in the case of NFSv4.1, that the session is set up.
58952
58953 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
58954 Cc: Chuck Lever <chuck.lever@oracle.com>
58955 Cc: Bryan Schumaker <bjschuma@netapp.com>
58956 Cc: stable@vger.kernel.org [>= 3.7]
58957
58958 fs/nfs/nfs4client.c | 44 ++++++++++++++++++++++++++++----------------
58959 1 files changed, 28 insertions(+), 16 deletions(-)
58960
58961 commit a6cf5f387b882ac0ce655b75f623f86c075517be
58962 Author: Chuck Lever <chuck.lever@oracle.com>
58963 Date: Fri Mar 22 12:52:59 2013 -0400
58964
58965 Upstream commit: a58e0be6f6b3eb2079b0b8fedc9df6fa86869f1e
58966
58967 SUNRPC: Remove extra xprt_put()
58968
58969 While testing error cases where rpc_new_client() fails, I saw
58970 some oopses.
58971
58972 If rpc_new_client() fails, it already invokes xprt_put(). Thus
58973 __rpc_clone_client() does not need to invoke it again.
58974
58975 Introduced by commit 1b63a751 "SUNRPC: Refactor rpc_clone_client()"
58976 Fri Sep 14, 2012.
58977
58978 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
58979 Cc: stable@vger.kernel.org [>=3.7]
58980 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
58981
58982 net/sunrpc/clnt.c | 4 +---
58983 1 files changed, 1 insertions(+), 3 deletions(-)
58984
58985 commit a744b307c1f65ceb100412dc18cdd7ecc9a8ae00
58986 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
58987 Date: Fri Apr 5 14:13:21 2013 -0400
58988
58989 Upstream commit: f05c124a70a4953a66acbd6d6c601ea1eb5d0fa7
58990
58991 SUNRPC: Fix a potential memory leak in rpc_new_client
58992
58993 If the call to rpciod_up() fails, we currently leak a reference to the
58994 struct rpc_xprt.
58995 As part of the fix, we also remove the redundant check for xprt!=NULL.
58996 This is already taken care of by the callers.
58997
58998 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
58999
59000 net/sunrpc/clnt.c | 7 ++-----
59001 1 files changed, 2 insertions(+), 5 deletions(-)
59002
59003 commit 43b9f1b9b8380984c5c100978bd33e8f16da06ac
59004 Author: Brad Spengler <spender@grsecurity.net>
59005 Date: Wed Apr 10 19:16:05 2013 -0400
59006
59007 From https://lkml.org/lkml/2013/4/8/469:
59008 [PATCH] rtnetlink: call nlmsg_parse() with correct header length
59009
59010 net/core/rtnetlink.c | 4 ++--
59011 1 files changed, 2 insertions(+), 2 deletions(-)
59012
59013 commit 9529169b8c405874fd543b785f53c74fa0501c2a
59014 Author: Christopher Harvey <charvey@matrox.com>
59015 Date: Fri Apr 5 10:51:15 2013 -0400
59016
59017 Upstream commit: 1812a3db0874be1d1524086da9e84397b800f546
59018
59019 drm/mgag200: Index 24 in extended CRTC registers is 24 in hex, not decimal.
59020
59021 This change properly enables the "requester" in G200ER cards that is
59022 responsible for getting pixels out of memory and clocking them out to
59023 the screen.
59024
59025 Signed-off-by: Christopher Harvey <charvey@matrox.com>
59026 Cc: stable@vger.kernel.org
59027 Signed-off-by: Dave Airlie <airlied@redhat.com>
59028
59029 drivers/gpu/drm/mgag200/mgag200_mode.c | 13 +++----------
59030 1 files changed, 3 insertions(+), 10 deletions(-)
59031
59032 commit 07c42243c7b01e2a7a9d168ad491e28b9ef9082a
59033 Author: Al Viro <viro@zeniv.linux.org.uk>
59034 Date: Thu Mar 28 13:30:23 2013 -0400
59035
59036 Upstream commit: 52f21999c7b921a0390708b66ed286282c2e4bee
59037
59038 ecryptfs: close rmmod race
59039
59040 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
59041
59042 fs/ecryptfs/miscdev.c | 14 ++------------
59043 1 files changed, 2 insertions(+), 12 deletions(-)
59044
59045 commit 2800bdcf9cd642b967e5fdc2a15c1c4aefbadd9b
59046 Author: Brad Spengler <spender@grsecurity.net>
59047 Date: Wed Apr 10 19:03:45 2013 -0400
59048
59049 Backport overflow fix from upstream commit: ccf932042fa7785832d8989ba1369cd7c7f5d7a1
59050
59051 arch/ia64/kernel/palinfo.c | 2 +-
59052 1 files changed, 1 insertions(+), 1 deletions(-)
59053
59054 commit 83280e384ae3ceadad30369ced111dc7d4b46085
59055 Author: Andrey Vagin <avagin@openvz.org>
59056 Date: Tue Apr 9 17:33:29 2013 +0400
59057
59058 Upstream commit: e9c5d8a562f01b211926d70443378eb14b29a676
59059
59060 mnt: release locks on error path in do_loopback
59061
59062 do_loopback calls lock_mount(path) and forget to unlock_mount
59063 if clone_mnt or copy_mnt fails.
59064
59065 [ 77.661566] ================================================
59066 [ 77.662939] [ BUG: lock held when returning to user space! ]
59067 [ 77.664104] 3.9.0-rc5+ #17 Not tainted
59068 [ 77.664982] ------------------------------------------------
59069 [ 77.666488] mount/514 is leaving the kernel with locks still held!
59070 [ 77.668027] 2 locks held by mount/514:
59071 [ 77.668817] #0: (&sb->s_type->i_mutex_key#7){+.+.+.}, at: [<ffffffff811cca22>] lock_mount+0x32/0xe0
59072 [ 77.671755] #1: (&namespace_sem){+++++.}, at: [<ffffffff811cca3a>] lock_mount+0x4a/0xe0
59073
59074 Signed-off-by: Andrey Vagin <avagin@openvz.org>
59075 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
59076
59077 fs/namespace.c | 2 +-
59078 1 files changed, 1 insertions(+), 1 deletions(-)
59079
59080 commit 679e536b9d9536d804f049fe942367a596253e6d
59081 Author: Alex Williamson <alex.williamson@redhat.com>
59082 Date: Tue Mar 26 11:33:16 2013 -0600
59083
59084 Upstream commit: 904c680c7bf016a8619a045850937427f8d7368c
59085
59086 vfio-pci: Fix possible integer overflow
59087
59088 The VFIO_DEVICE_SET_IRQS ioctl takes a start and count parameter, both
59089 of which are unsigned. We attempt to bounds check these, but fail to
59090 account for the case where start is a very large number, allowing
59091 start + count to wrap back into the valid range. Bounds check both
59092 start and start + count.
59093
59094 Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
59095 Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
59096
59097 drivers/vfio/pci/vfio_pci.c | 3 ++-
59098 1 files changed, 2 insertions(+), 1 deletions(-)
59099
59100 commit 63badcd2023717cc62b6c3ad5f25fe504c49e6d7
59101 Author: Brad Spengler <spender@grsecurity.net>
59102 Date: Wed Apr 10 18:48:45 2013 -0400
59103
59104 Don't auto-enable stackleak if kernel is used for xen dom0, kernel will not boot
59105
59106 security/Kconfig | 2 +-
59107 1 files changed, 1 insertions(+), 1 deletions(-)
59108
59109 commit b5261a6384ee42499b29495aaae40b271e77d394
59110 Author: Brad Spengler <spender@grsecurity.net>
59111 Date: Tue Apr 9 17:30:45 2013 -0400
59112
59113 some undefined behavior fixups
59114
59115 grsecurity/gracl.c | 4 ++--
59116 grsecurity/gracl_ip.c | 10 +++++-----
59117 grsecurity/gracl_segv.c | 4 ++--
59118 3 files changed, 9 insertions(+), 9 deletions(-)
59119
59120 commit 9f83caa35e78be1f3e753586ab217555c3b21ff4
59121 Author: Brad Spengler <spender@grsecurity.net>
59122 Date: Tue Apr 9 17:28:54 2013 -0400
59123
59124 don't whine about denied ipv6 when it's not enabled
59125
59126 grsecurity/gracl_ip.c | 3 +++
59127 1 files changed, 3 insertions(+), 0 deletions(-)
59128
59129 commit 5a02f8bc96bd0c31f9ff09e63f9d85d560b8be61
59130 Merge: 97bca88 9123489
59131 Author: Brad Spengler <spender@grsecurity.net>
59132 Date: Tue Apr 9 17:18:45 2013 -0400
59133
59134 Merge branch 'pax-test' into grsec-test
59135
59136 commit 9123489428c58668a89f316db6619739cbdd2c2a
59137 Author: Brad Spengler <spender@grsecurity.net>
59138 Date: Tue Apr 9 17:17:46 2013 -0400
59139
59140 Update to pax-linux-3.8.6-test18.patch:
59141 - new size overflow plugin from Emese to work around a gcc optimization
59142 resulting in an intentional overflow, reported by Carlos Carvalho
59143 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3409)
59144
59145 tools/gcc/size_overflow_plugin.c | 68 ++++++++++++++++++++++++++++++++++++-
59146 1 files changed, 66 insertions(+), 2 deletions(-)
59147
59148 commit 97bca8889e0f1e853f16b7026c39c6729a8587ab
59149 Merge: 675a41e e9d6073
59150 Author: Brad Spengler <spender@grsecurity.net>
59151 Date: Mon Apr 8 21:32:59 2013 -0400
59152
59153 Merge branch 'pax-test' into grsec-test
59154
59155 Conflicts:
59156 arch/sparc/kernel/us3_cpufreq.c
59157
59158 commit e9d6073f15010ccace0b6b0f0a19ed63cf1adeef
59159 Author: Brad Spengler <spender@grsecurity.net>
59160 Date: Mon Apr 8 21:19:03 2013 -0400
59161
59162 Update to pax-linux-3.8.6-test17.patch:
59163 - fixed ia64/ppc/sparc compilation by spender
59164 - improved the STRUCTLEAK gcc plugin to cover a few more cases (credit to stef for the bugreport)
59165
59166 arch/ia64/include/asm/uaccess.h | 2 -
59167 arch/powerpc/include/asm/uaccess.h | 2 -
59168 arch/sparc/include/asm/uaccess.h | 7 ----
59169 arch/sparc/kernel/prom_common.c | 2 +-
59170 arch/sparc/kernel/us3_cpufreq.c | 69 ++++++++++--------------------------
59171 tools/gcc/structleak_plugin.c | 15 ++++----
59172 6 files changed, 28 insertions(+), 69 deletions(-)
59173
59174 commit 675a41e42a636dcb1e97bffe0f0fa6262242e64b
59175 Author: Brad Spengler <spender@grsecurity.net>
59176 Date: Sun Apr 7 12:00:50 2013 -0400
59177
59178 fix similar leaks in sys_recvfrom as fixed in recvmsg, already handled by the new structleak plugin
59179
59180 net/socket.c | 2 +-
59181 1 files changed, 1 insertions(+), 1 deletions(-)
59182
59183 commit 5a216624a06429488f24ce47db093da042f90e48
59184 Author: Brad Spengler <spender@grsecurity.net>
59185 Date: Sat Apr 6 13:22:24 2013 -0400
59186
59187 fix typo
59188
59189 arch/sparc/kernel/us3_cpufreq.c | 5 +----
59190 1 files changed, 1 insertions(+), 4 deletions(-)
59191
59192 commit e476ca18d21788898cd3acd1b57049971a2fb70f
59193 Author: Brad Spengler <spender@grsecurity.net>
59194 Date: Sat Apr 6 13:16:13 2013 -0400
59195
59196 properly fix cpufreq_driver for ultrasparc III with constification
59197
59198 arch/sparc/kernel/us3_cpufreq.c | 35 +++++++++++++++++------------------
59199 1 files changed, 17 insertions(+), 18 deletions(-)
59200
59201 commit 3ef64a33c8a38d17db7d1e6ff13d9036c75598ae
59202 Author: Brad Spengler <spender@grsecurity.net>
59203 Date: Sat Apr 6 12:58:48 2013 -0400
59204
59205 mark prom_sparc_ops __initconst
59206
59207 arch/sparc/kernel/prom_common.c | 2 +-
59208 1 files changed, 1 insertions(+), 1 deletions(-)
59209
59210 commit daaa8e290cb1eb08e86c6d3f0fb1a8270d897439
59211 Author: Brad Spengler <spender@grsecurity.net>
59212 Date: Sat Apr 6 12:53:16 2013 -0400
59213
59214 fix ia64/powerpc/sparc compilation
59215
59216 arch/ia64/include/asm/uaccess.h | 2 --
59217 arch/powerpc/include/asm/uaccess.h | 2 --
59218 arch/sparc/include/asm/uaccess.h | 7 -------
59219 3 files changed, 0 insertions(+), 11 deletions(-)
59220
59221 commit 4a0cd3af0fd8788bd1c84de775743c8ae51e9a39
59222 Author: Johannes Berg <johannes.berg@intel.com>
59223 Date: Tue Mar 19 20:26:57 2013 +0100
59224
59225 Upstream commit: ce1eadda6badef9e4e3460097ede674fca47383d
59226
59227 cfg80211: fix wdev tracing crash
59228
59229 Arend reported a crash in tracing if the driver returns an
59230 ERR_PTR() value from the add_virtual_intf() callback. This
59231 is due to the tracing then still attempting to dereference
59232 the "pointer", fix this by using IS_ERR_OR_NULL().
59233
59234 Reported-by: Arend van Spriel <arend@broadcom.com>
59235 Tested-by: Arend van Spriel <arend@broadcom.com>
59236 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
59237
59238 net/wireless/trace.h | 3 ++-
59239 1 files changed, 2 insertions(+), 1 deletions(-)
59240
59241 commit 68e6eafdaf9a3b37c780b3916a35a1961b1559fd
59242 Author: Johannes Berg <johannes.berg@intel.com>
59243 Date: Mon Mar 25 11:51:14 2013 +0100
59244
59245 Upstream commit: 3fbd45ca8d1c98f3c2582ef8bc70ade42f70947b
59246
59247 mac80211: fix remain-on-channel cancel crash
59248
59249 If a ROC item is canceled just as it expires, the work
59250 struct may be scheduled while it is running (and waiting
59251 for the mutex). This results in it being run after being
59252 freed, which obviously crashes.
59253
59254 To fix this don't free it when aborting is requested but
59255 instead mark it as "to be freed", which makes the work a
59256 no-op and allows freeing it outside.
59257
59258 Cc: stable@vger.kernel.org [3.6+]
59259 Reported-by: Jouni Malinen <j@w1.fi>
59260 Tested-by: Jouni Malinen <j@w1.fi>
59261 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
59262
59263 net/mac80211/cfg.c | 6 ++++--
59264 net/mac80211/ieee80211_i.h | 3 ++-
59265 net/mac80211/offchannel.c | 23 +++++++++++++++++------
59266 3 files changed, 23 insertions(+), 9 deletions(-)
59267
59268 commit dd5df32b00e3c2344ba39fe01071e7b67b83e1e4
59269 Author: Stone Piao <piaoyun@marvell.com>
59270 Date: Fri Mar 29 19:21:21 2013 -0700
59271
59272 Upstream commit: 901ceba4e81e9dd6b4a3c4c37ee22000a6c5c65f
59273
59274 mwifiex: limit channel number not to overflow memory
59275
59276 Limit the channel number in scan request, or the driver scan
59277 config structure memory will be overflowed.
59278
59279 Cc: <stable@vger.kernel.org> # 3.5+
59280 Signed-off-by: Stone Piao <piaoyun@marvell.com>
59281 Signed-off-by: Bing Zhao <bzhao@marvell.com>
59282 Signed-off-by: John W. Linville <linville@tuxdriver.com>
59283
59284 drivers/net/wireless/mwifiex/cfg80211.c | 3 ++-
59285 1 files changed, 2 insertions(+), 1 deletions(-)
59286
59287 commit 207c411512bdaf0e4271f93ecac6ca26588da36f
59288 Author: Gao feng <gaofeng@cn.fujitsu.com>
59289 Date: Thu Mar 21 19:48:41 2013 +0000
59290
59291 Upstream commit: 130549fed828cc34c22624c6195afcf9e7ae56fe
59292
59293 netfilter: reset nf_trace in nf_reset
59294
59295 We forgot to clear the nf_trace of sk_buff in nf_reset,
59296 When we use veth device, this nf_trace information will
59297 be leaked from one net namespace to another net namespace.
59298
59299 Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
59300 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
59301
59302 include/linux/skbuff.h | 3 +++
59303 1 files changed, 3 insertions(+), 0 deletions(-)
59304
59305 commit 3b12800d73c763265b2de5f2a7a745d9caa62c6f
59306 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
59307 Date: Fri Mar 22 01:28:18 2013 +0000
59308
59309 Upstream commit: 558724a5b2a73ad0c7638e21e8dffc419d267b6c
59310
59311 netfilter: nfnetlink_queue: fix error return code in nfnetlink_queue_init()
59312
59313 Fix to return a negative error code from the error handling
59314 case instead of 0, as returned elsewhere in this function.
59315
59316 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
59317 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
59318
59319 net/netfilter/nfnetlink_queue_core.c | 4 +++-
59320 1 files changed, 3 insertions(+), 1 deletions(-)
59321
59322 commit a79feb7d3251eca577d83d7f69eee2b961ab2924
59323 Author: Pablo Neira Ayuso <pablo@netfilter.org>
59324 Date: Sat Mar 23 16:57:59 2013 +0100
59325
59326 Upstream commit: deadcfc3324410726cd6a663fb4fc46be595abe7
59327
59328 netfilter: nfnetlink_acct: return -EINVAL if object name is empty
59329
59330 If user-space tries to create accounting object with an empty
59331 name, then return -EINVAL.
59332
59333 Reported-by: Michael Zintakis <michael.zintakis@googlemail.com>
59334 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
59335
59336 net/netfilter/nfnetlink_acct.c | 2 ++
59337 1 files changed, 2 insertions(+), 0 deletions(-)
59338
59339 commit 1a51dca4fc16538d90a7a4c92b1ffe7e0fd76cf7
59340 Author: Matthias Schiffer <mschiffer@universe-factory.net>
59341 Date: Sat Mar 30 10:23:12 2013 +0000
59342
59343 Upstream commit: 906b1c394d0906a154fbdc904ca506bceb515756
59344
59345 netfilter: ip6t_NPT: Fix translation for non-multiple of 32 prefix lengths
59346
59347 The bitmask used for the prefix mangling was being calculated
59348 incorrectly, leading to the wrong part of the address being replaced
59349 when the prefix length wasn't a multiple of 32.
59350
59351 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
59352 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
59353
59354 net/ipv6/netfilter/ip6t_NPT.c | 2 +-
59355 1 files changed, 1 insertions(+), 1 deletions(-)
59356
59357 commit 3425de1e3dc22e1602f9c77fe8d258da58416d5e
59358 Author: Veaceslav Falico <vfalico@redhat.com>
59359 Date: Wed Apr 3 05:46:33 2013 +0000
59360
59361 Upstream commit: 4de79c737b200492195ebc54a887075327e1ec1d
59362
59363 bonding: remove sysfs before removing devices
59364
59365 We have a race condition if we try to rmmod bonding and simultaneously add
59366 a bond master through sysfs. In bonding_exit() we first remove the devices
59367 (through rtnl_link_unregister() ) and only after that we remove the sysfs.
59368 If we manage to add a device through sysfs after that the devices were
59369 removed - we'll end up with that device/sysfs structure and with the module
59370 unloaded.
59371
59372 Fix this by first removing the sysfs and only after that calling
59373 rtnl_link_unregister().
59374
59375 Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
59376 Signed-off-by: David S. Miller <davem@davemloft.net>
59377
59378 drivers/net/bonding/bond_main.c | 2 +-
59379 1 files changed, 1 insertions(+), 1 deletions(-)
59380
59381 commit d12cae44a9d12441d81c489178803237219d403d
59382 Author: Eric W. Biederman <ebiederm@xmission.com>
59383 Date: Wed Apr 3 16:14:47 2013 +0000
59384
59385 Upstream commit: 0e82e7f6dfeec1013339612f74abc2cdd29d43d2
59386
59387 af_unix: If we don't care about credentials coallesce all messages
59388
59389 It was reported that the following LSB test case failed
59390 https://lsbbugs.linuxfoundation.org/attachment.cgi?id=2144 because we
59391 were not coallescing unix stream messages when the application was
59392 expecting us to.
59393
59394 The problem was that the first send was before the socket was accepted
59395 and thus sock->sk_socket was NULL in maybe_add_creds, and the second
59396 send after the socket was accepted had a non-NULL value for sk->socket
59397 and thus we could tell the credentials were not needed so we did not
59398 bother.
59399
59400 The unnecessary credentials on the first message cause
59401 unix_stream_recvmsg to start verifying that all messages had the same
59402 credentials before coallescing and then the coallescing failed because
59403 the second message had no credentials.
59404
59405 Ignoring credentials when we don't care in unix_stream_recvmsg fixes a
59406 long standing pessimization which would fail to coallesce messages when
59407 reading from a unix stream socket if the senders were different even if
59408 we did not care about their credentials.
59409
59410 I have tested this and verified that the in the LSB test case mentioned
59411 above that the messages do coallesce now, while the were failing to
59412 coallesce without this change.
59413
59414 Reported-by: Karel Srot <ksrot@redhat.com>
59415 Reported-by: Ding Tianhong <dingtianhong@huawei.com>
59416 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
59417 Signed-off-by: David S. Miller <davem@davemloft.net>
59418
59419 net/unix/af_unix.c | 2 +-
59420 1 files changed, 1 insertions(+), 1 deletions(-)
59421
59422 commit 126d882492b130da6367f71cdf3ac59bf4f4c1bf
59423 Author: Eric W. Biederman <ebiederm@xmission.com>
59424 Date: Wed Apr 3 16:13:35 2013 +0000
59425
59426 Upstream commit: 25da0e3e9d3fb2b522bc2a598076735850310eb1
59427
59428 Revert "af_unix: dont send SCM_CREDENTIAL when dest socket is NULL"
59429
59430 This reverts commit 14134f6584212d585b310ce95428014b653dfaf6.
59431
59432 The problem that the above patch was meant to address is that af_unix
59433 messages are not being coallesced because we are sending unnecesarry
59434 credentials. Not sending credentials in maybe_add_creds totally
59435 breaks unconnected unix domain sockets that wish to send credentails
59436 to other sockets.
59437
59438 In practice this break some versions of udev because they receive a
59439 message and the sending uid is bogus so they drop the message.
59440
59441 Reported-by: Sven Joachim <svenjoac@gmx.de>
59442 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
59443 Signed-off-by: David S. Miller <davem@davemloft.net>
59444
59445 net/unix/af_unix.c | 4 ++--
59446 1 files changed, 2 insertions(+), 2 deletions(-)
59447
59448 commit 1295b4f600e8f5ab56af71e5a89e4c0e74e95663
59449 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
59450 Date: Wed Mar 20 21:31:42 2013 +0000
59451
59452 Upstream commit: cb0e51d80694fc9964436be1a1a15275e991cb1e
59453
59454 lantiq_etop: use free_netdev(netdev) instead of kfree()
59455
59456 Freeing netdev without free_netdev() leads to net, tx leaks.
59457 And it may lead to dereferencing freed pointer.
59458
59459 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
59460 Signed-off-by: David S. Miller <davem@davemloft.net>
59461
59462 drivers/net/ethernet/lantiq_etop.c | 2 +-
59463 1 files changed, 1 insertions(+), 1 deletions(-)
59464
59465 commit 1dcdddf846697fbd0b474e7b12ff92f7b408fe5f
59466 Author: Cong Wang <amwang@redhat.com>
59467 Date: Fri Mar 22 19:14:07 2013 +0000
59468
59469 Upstream commit: 4a7df340ed1bac190c124c1601bfc10cde9fb4fb
59470
59471 8021q: fix a potential use-after-free
59472
59473 vlan_vid_del() could possibly free ->vlan_info after a RCU grace
59474 period, however, we may still refer to the freed memory area
59475 by 'grp' pointer. Found by code inspection.
59476
59477 This patch moves vlan_vid_del() as behind as possible.
59478
59479 Cc: Patrick McHardy <kaber@trash.net>
59480 Cc: "David S. Miller" <davem@davemloft.net>
59481 Signed-off-by: Cong Wang <amwang@redhat.com>
59482 Acked-by: Eric Dumazet <edumazet@google.com>
59483 Signed-off-by: David S. Miller <davem@davemloft.net>
59484
59485 net/8021q/vlan.c | 7 +++++++
59486 1 files changed, 7 insertions(+), 0 deletions(-)
59487
59488 commit fff29c277024a39845d4b535083c8dafc21b45d9
59489 Author: Hong zhi guo <honkiko@gmail.com>
59490 Date: Sat Mar 23 02:27:50 2013 +0000
59491
59492 Upstream commit: 9b46922e15f4d9d2aedcd320c3b7f7f54d956da7
59493
59494 bridge: fix crash when set mac address of br interface
59495
59496 When I tried to set mac address of a bridge interface to a mac
59497 address which already learned on this bridge, I got system hang.
59498
59499 The cause is straight forward: function br_fdb_change_mac_address
59500 calls fdb_insert with NULL source nbp. Then an fdb lookup is
59501 performed. If an fdb entry is found and it's local, it's OK. But
59502 if it's not local, source is dereferenced for printk without NULL
59503 check.
59504
59505 Signed-off-by: Hong Zhiguo <honkiko@gmail.com>
59506 Signed-off-by: David S. Miller <davem@davemloft.net>
59507
59508 net/bridge/br_fdb.c | 2 +-
59509 1 files changed, 1 insertions(+), 1 deletions(-)
59510
59511 commit b72eca0f8495b4b084bcf3eb4fbb425281ba5349
59512 Author: Kumar Amit Mehta <gmate.amit@gmail.com>
59513 Date: Sat Mar 23 20:10:25 2013 +0000
59514
59515 Upstream commit: 8fe7f99a9e11a43183bc27420309ae105e1fec1a
59516
59517 bnx2x: fix assignment of signed expression to unsigned variable
59518
59519 fix for incorrect assignment of signed expression to unsigned variable.
59520
59521 Signed-off-by: Kumar Amit Mehta <gmate.amit@gmail.com>
59522 Acked-by: Dmitry Kravkov <dmitry@broadcom.com>
59523 Signed-off-by: David S. Miller <davem@davemloft.net>
59524
59525 drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | 18 +++++++++---------
59526 1 files changed, 9 insertions(+), 9 deletions(-)
59527
59528 commit 4d2d5e3694574d8e9d7594bf6111f144dccc873e
59529 Author: dingtianhong <dingtianhong@huawei.com>
59530 Date: Mon Mar 25 17:02:04 2013 +0000
59531
59532 Upstream commit: 14134f6584212d585b310ce95428014b653dfaf6
59533
59534 af_unix: dont send SCM_CREDENTIAL when dest socket is NULL
59535
59536 SCM_SCREDENTIALS should apply to write() syscalls only either source or destination
59537 socket asserted SOCK_PASSCRED. The original implememtation in maybe_add_creds is wrong,
59538 and breaks several LSB testcases ( i.e. /tset/LSB.os/netowkr/recvfrom/T.recvfrom).
59539
59540 Origionally-authored-by: Karel Srot <ksrot@redhat.com>
59541 Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
59542 Acked-by: Eric Dumazet <edumazet@google.com>
59543 Signed-off-by: David S. Miller <davem@davemloft.net>
59544
59545 net/unix/af_unix.c | 4 ++--
59546 1 files changed, 2 insertions(+), 2 deletions(-)
59547
59548 commit b964e1e61f0f0ccaa380be3342f956c604054bdc
59549 Author: Eric W. Biederman <ebiederm@xmission.com>
59550 Date: Thu Mar 21 02:30:41 2013 -0700
59551
59552 Upstream commit: eddc0a3abff273842a94784d2d022bbc36dc9015
59553
59554 yama: Better permission check for ptraceme
59555
59556 Change the permission check for yama_ptrace_ptracee to the standard
59557 ptrace permission check, testing if the traceer has CAP_SYS_PTRACE
59558 in the tracees user namespace.
59559
59560 Reviewed-by: Kees Cook <keescook@chromium.org>
59561 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
59562
59563 security/yama/yama_lsm.c | 4 +---
59564 1 files changed, 1 insertions(+), 3 deletions(-)
59565
59566 commit b94e71c7b6abe75989edff18aca2781233fa143b
59567 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
59568 Date: Mon Apr 1 11:40:51 2013 +0400
59569
59570 Upstream commit: 2dc958fa2fe6987e7ab106bd97029a09a82fcd8d
59571
59572 ipc: set msg back to -EAGAIN if copy wasn't performed
59573
59574 Make sure that msg pointer is set back to error value in case of
59575 MSG_COPY flag is set and desired message to copy wasn't found. This
59576 garantees that msg is either a error pointer or a copy address.
59577
59578 Otherwise the last message in queue will be freed without unlinking from
59579 the queue (which leads to memory corruption) and the dummy allocated
59580 copy won't be released.
59581
59582 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
59583 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
59584
59585 ipc/msg.c | 1 +
59586 1 files changed, 1 insertions(+), 0 deletions(-)
59587
59588 commit a997fbbe7a37ffd805f4784a18b8e530da6978d1
59589 Author: Jan Kara <jack@suse.cz>
59590 Date: Fri Mar 29 15:39:16 2013 +0100
59591
59592 Upstream commit: 35e5cbc0af240778e61113286c019837e06aeec6
59593
59594 reiserfs: Fix warning and inode leak when deleting inode with xattrs
59595
59596 After commit 21d8a15a (lookup_one_len: don't accept . and ..) reiserfs
59597 started failing to delete xattrs from inode. This was due to a buggy
59598 test for '.' and '..' in fill_with_dentries() which resulted in passing
59599 '.' and '..' entries to lookup_one_len() in some cases. That returned
59600 error and so we failed to iterate over all xattrs of and inode.
59601
59602 Fix the test in fill_with_dentries() along the lines of the one in
59603 lookup_one_len().
59604
59605 Reported-by: Pawel Zawora <pzawora@gmail.com>
59606 CC: stable@vger.kernel.org
59607 Signed-off-by: Jan Kara <jack@suse.cz>
59608
59609 fs/reiserfs/xattr.c | 4 ++--
59610 1 files changed, 2 insertions(+), 2 deletions(-)
59611
59612 commit 9f07957378e0f55abb81da8e23b124a608fbe1cc
59613 Author: Paul Bolle <pebolle@tiscali.nl>
59614 Date: Wed Apr 3 12:24:45 2013 +0100
59615
59616 Upstream commit: 4e1db26a0b42e2b6e27c05d68adcc01709c2eed2
59617
59618 ARM: 7690/1: mm: fix CONFIG_LPAE typos
59619
59620 CONFIG_LPAE doesn't exist: the correct option is CONFIG_ARM_LPAE, so fix
59621 up the two typos under arch/arm/.
59622
59623 The fix to head.S is slightly scary, but this is just for setting up
59624 an early io-mapping for the serial port when running on a big-endian,
59625 LPAE system. Since these systems don't exist in the wild (at least, I
59626 have no access to one outside of kvmtool, which doesn't provide a serial
59627 port suitable for earlyprintk), then we can revisit the code later if it
59628 causes any problems.
59629
59630 Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
59631 Signed-off-by: Will Deacon <will.deacon@arm.com>
59632 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
59633
59634 arch/arm/kernel/head.S | 2 +-
59635 arch/arm/kernel/setup.c | 2 +-
59636 2 files changed, 2 insertions(+), 2 deletions(-)
59637
59638 commit 984ba346b2d8f158473e9723ba145031368431ed
59639 Author: Catalin Marinas <catalin.marinas@arm.com>
59640 Date: Tue Mar 26 23:35:04 2013 +0100
59641
59642 Upstream commit: 93dc68876b608da041fe40ed39424b0fcd5aa2fb
59643
59644 ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB operations)
59645
59646 On Cortex-A15 (r0p0..r3p2) the TLBI/DSB are not adequately shooting down
59647 all use of the old entries. This patch implements the erratum workaround
59648 which consists of:
59649
59650 1. Dummy TLBIMVAIS and DSB on the CPU doing the TLBI operation.
59651 2. Send IPI to the CPUs that are running the same mm (and ASID) as the
59652 one being invalidated (or all the online CPUs for global pages).
59653 3. CPU receiving the IPI executes a DMB and CLREX (part of the exception
59654 return code already).
59655
59656 Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
59657 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
59658
59659 Conflicts:
59660
59661 arch/arm/include/asm/tlbflush.h
59662 arch/arm/kernel/smp_tlb.c
59663 arch/arm/mm/context.c
59664
59665 arch/arm/Kconfig | 10 +++++
59666 arch/arm/include/asm/highmem.h | 7 ++++
59667 arch/arm/include/asm/mmu_context.h | 2 +
59668 arch/arm/include/asm/tlbflush.h | 15 ++++++++
59669 arch/arm/kernel/smp_tlb.c | 66 ++++++++++++++++++++++++++++++++++++
59670 arch/arm/mm/context.c | 6 ++-
59671 6 files changed, 104 insertions(+), 2 deletions(-)
59672
59673 commit 9a6ef010c38b3d5471886d2dea6e3c1622e2a286
59674 Author: Jan Stancek <jstancek@redhat.com>
59675 Date: Thu Apr 4 11:35:10 2013 -0700
59676
59677 Upstream commit: b6a9b7f6b1f21735a7456d534dc0e68e61359d2c
59678
59679 mm: prevent mmap_cache race in find_vma()
59680
59681 find_vma() can be called by multiple threads with read lock
59682 held on mm->mmap_sem and any of them can update mm->mmap_cache.
59683 Prevent compiler from re-fetching mm->mmap_cache, because other
59684 readers could update it in the meantime:
59685
59686 thread 1 thread 2
59687 |
59688 find_vma() | find_vma()
59689 struct vm_area_struct *vma = NULL; |
59690 vma = mm->mmap_cache; |
59691 if (!(vma && vma->vm_end > addr |
59692 && vma->vm_start <= addr)) { |
59693 | mm->mmap_cache = vma;
59694 return vma; |
59695 ^^ compiler may optimize this |
59696 local variable out and re-read |
59697 mm->mmap_cache |
59698
59699 This issue can be reproduced with gcc-4.8.0-1 on s390x by running
59700 mallocstress testcase from LTP, which triggers:
59701
59702 kernel BUG at mm/rmap.c:1088!
59703 Call Trace:
59704 ([<000003d100c57000>] 0x3d100c57000)
59705 [<000000000023a1c0>] do_wp_page+0x2fc/0xa88
59706 [<000000000023baae>] handle_pte_fault+0x41a/0xac8
59707 [<000000000023d832>] handle_mm_fault+0x17a/0x268
59708 [<000000000060507a>] do_protection_exception+0x1e2/0x394
59709 [<0000000000603a04>] pgm_check_handler+0x138/0x13c
59710 [<000003fffcf1f07a>] 0x3fffcf1f07a
59711 Last Breaking-Event-Address:
59712 [<000000000024755e>] page_add_new_anon_rmap+0xc2/0x168
59713
59714 Thanks to Jakub Jelinek for his insight on gcc and helping to
59715 track this down.
59716
59717 Signed-off-by: Jan Stancek <jstancek@redhat.com>
59718 Acked-by: David Rientjes <rientjes@google.com>
59719 Signed-off-by: Hugh Dickins <hughd@google.com>
59720 Cc: stable@vger.kernel.org
59721 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
59722
59723 mm/mmap.c | 2 +-
59724 mm/nommu.c | 2 +-
59725 2 files changed, 2 insertions(+), 2 deletions(-)
59726
59727 commit 53f5096daa14967938bc154e6c41f9119863fb36
59728 Merge: e988d7c 0a45285
59729 Author: Brad Spengler <spender@grsecurity.net>
59730 Date: Fri Apr 5 17:32:31 2013 -0400
59731
59732 Merge branch 'pax-test' into grsec-test
59733
59734 Conflicts:
59735 drivers/net/ethernet/broadcom/tg3.c
59736
59737 commit 0a452855444d02502df6eb21ef3083cf303f71e1
59738 Merge: 0277fa1 00cfbb8
59739 Author: Brad Spengler <spender@grsecurity.net>
59740 Date: Fri Apr 5 17:31:15 2013 -0400
59741
59742 Update to pax-linux-3.8.6-test16.patch:
59743 - fixed some attribute leakage into userland headers, patch by Mathias Krause
59744 - fixed some of the access_*_vm related breakage that trigger size overflows, reported by Hunger
59745
59746 Merge branch 'linux-3.8.y' into pax-test
59747
59748 Conflicts:
59749 drivers/gpu/drm/i915/intel_display.c
59750
59751 commit e988d7c8d946c816a2cb97f0d38048a1584966b8
59752 Merge: baec40e 0277fa1
59753 Author: Brad Spengler <spender@grsecurity.net>
59754 Date: Wed Apr 3 22:05:41 2013 -0400
59755
59756 Merge branch 'pax-test' into grsec-test
59757
59758 commit 0277fa123b486cf11420967e4568d7653e225fd3
59759 Author: Brad Spengler <spender@grsecurity.net>
59760 Date: Wed Apr 3 22:04:48 2013 -0400
59761
59762 Update to pax-linux-3.8.5-test15.patch:
59763 - fixed section mismatch error caused by CONSTIFY (http://forums.grsecurity.net/viewtopic.php?f=3&t=3388 and http://forums.grsecurity.net/viewtopic.php?f=3&t=3391)
59764 - fixed integer type mixup in the cx88 driver (http://forums.grsecurity.net/viewtopic.php?f=3&t=3394)
59765
59766 drivers/media/pci/cx88/cx88-video.c | 6 +++---
59767 include/net/net_namespace.h | 4 ++++
59768 2 files changed, 7 insertions(+), 3 deletions(-)
59769
59770 commit baec40e6708fd5ae2000cad6c70c5980c998b91c
59771 Author: Brad Spengler <spender@grsecurity.net>
59772 Date: Tue Apr 2 19:50:32 2013 -0400
59773
59774 fix compilation as reported on forums for gcc versions lacking plugin
59775 support
59776
59777 include/net/net_namespace.h | 4 ++++
59778 1 files changed, 4 insertions(+), 0 deletions(-)
59779
59780 commit f6da5efca8a7edc9d3af02d6c35fddae0d2fd095
59781 Merge: 6b69c35 0db9d15
59782 Author: Brad Spengler <spender@grsecurity.net>
59783 Date: Tue Apr 2 17:47:27 2013 -0400
59784
59785 Merge branch 'pax-test' into grsec-test
59786
59787 commit 0db9d156826bdd50510086fde837648a3dfd370e
59788 Author: Brad Spengler <spender@grsecurity.net>
59789 Date: Tue Apr 2 17:46:05 2013 -0400
59790
59791 Update to pax-linux-3.8.5-test14.patch:
59792 - removed some no longer necessary __size_overflow marks and updated the overflow plugin's hash table
59793
59794 arch/x86/include/asm/uaccess_64.h | 6 +-
59795 include/linux/moduleloader.h | 4 +-
59796 tools/gcc/size_overflow_hash.data | 98 +++++++++++++++++++++----------------
59797 3 files changed, 61 insertions(+), 47 deletions(-)
59798
59799 commit 6b69c3589fa97b454a08c28ecfac5a512f610f4d
59800 Author: Brad Spengler <spender@grsecurity.net>
59801 Date: Tue Apr 2 17:35:06 2013 -0400
59802
59803 remove duplicate compiler.h
59804
59805 include/linux/sysrq.h | 1 -
59806 1 files changed, 0 insertions(+), 1 deletions(-)
59807
59808 commit 01e1d503fd2220adaaec0b92ea19441bdff73555
59809 Author: Brad Spengler <spender@grsecurity.net>
59810 Date: Fri Mar 29 19:53:50 2013 -0400
59811
59812 fix intentional_overflow marking on sys_sendto
59813
59814 include/linux/syscalls.h | 2 +-
59815 net/socket.c | 2 +-
59816 2 files changed, 2 insertions(+), 2 deletions(-)
59817
59818 commit cd5ff114d958470f471c63775278e8c05e774630
59819 Author: Brad Spengler <spender@grsecurity.net>
59820 Date: Fri Mar 29 18:46:16 2013 -0400
59821
59822 fix size_overflow false positive
59823
59824 kernel/futex_compat.c | 2 +-
59825 1 files changed, 1 insertions(+), 1 deletions(-)
59826
59827 commit 295ba16cc53df2375261accbedd6575ea327770a
59828 Merge: 18340f1 278a989
59829 Author: Brad Spengler <spender@grsecurity.net>
59830 Date: Fri Mar 29 17:36:18 2013 -0400
59831
59832 Merge branch 'pax-test' into grsec-test
59833
59834 Conflicts:
59835 fs/exec.c
59836 include/linux/thread_info.h
59837
59838 commit 278a989c831d62193c7b3d119fe2302babd45d12
59839 Author: Brad Spengler <spender@grsecurity.net>
59840 Date: Fri Mar 29 17:34:34 2013 -0400
59841
59842 Resync with pax-linux-3.8.5-test13.patch
59843
59844 arch/arm/include/asm/pgtable.h | 3 ++-
59845 arch/arm/lib/delay.c | 1 +
59846 fs/exec.c | 8 ++++----
59847 include/linux/compiler.h | 1 +
59848 include/linux/proc_fs.h | 2 +-
59849 include/linux/thread_info.h | 6 +++---
59850 include/linux/zlib.h | 3 ++-
59851 init/main.c | 4 ++--
59852 kernel/user_namespace.c | 2 +-
59853 lib/list_debug.c | 4 ++--
59854 mm/slab.c | 1 +
59855 mm/slob.c | 1 +
59856 mm/slub.c | 1 +
59857 net/core/sysctl_net_core.c | 3 +--
59858 tools/gcc/constify_plugin.c | 1 +
59859 15 files changed, 24 insertions(+), 17 deletions(-)
59860
59861 commit 18340f14bd42d06c60995ab04cf6bb235bcaade6
59862 Merge: 05f01ae e8cfeae
59863 Author: Brad Spengler <spender@grsecurity.net>
59864 Date: Fri Mar 29 17:30:57 2013 -0400
59865
59866 Merge branch 'pax-test' into grsec-test
59867
59868 commit e8cfeae7751abb844911a15114dff5c9b2b9fcd9
59869 Merge: b461cb7 aa4cfde
59870 Author: Brad Spengler <spender@grsecurity.net>
59871 Date: Fri Mar 29 17:30:44 2013 -0400
59872
59873 Merge branch 'linux-3.8.y' into pax-test
59874
59875 Conflicts:
59876 drivers/gpu/drm/i915/i915_gem_execbuffer.c
59877 fs/nfsd/vfs.c
59878
59879 commit 05f01ae4c3479541586a2387f916a6620889c479
59880 Author: Brad Spengler <spender@grsecurity.net>
59881 Date: Fri Mar 29 17:05:39 2013 -0400
59882
59883 Another infoleak, up to 128 bytes on the stack in __sys_recvmsg
59884 takes user-provided length, copies up to that amount in a sockaddr_storage
59885 struct on the stack, then takes an upper-bounded-only user-provided length
59886 and copies the sockaddr_storage struct back out to userland, complete with
59887 uninitialized data
59888
59889 net/socket.c | 2 +-
59890 1 files changed, 1 insertions(+), 1 deletions(-)
59891
59892 commit eea6ade59490784e83e08ec67322288fcf14cb31
59893 Author: Brad Spengler <spender@grsecurity.net>
59894 Date: Thu Mar 28 23:07:37 2013 -0400
59895
59896 return a proper error, otherwise we could be accessing uninitialized data
59897 (previous define was a positive value)
59898
59899 drivers/usb/storage/realtek_cr.c | 2 +-
59900 1 files changed, 1 insertions(+), 1 deletions(-)
59901
59902 commit 3cc43b90104c3016adb40f412ce2e4b0dcdd4c9e
59903 Merge: c3dc9a6 b461cb7
59904 Author: Brad Spengler <spender@grsecurity.net>
59905 Date: Thu Mar 28 20:54:24 2013 -0400
59906
59907 Merge branch 'pax-test' into grsec-test
59908
59909 commit b461cb7b1d85490430ef7896c247794af72c3749
59910 Author: Brad Spengler <spender@grsecurity.net>
59911 Date: Thu Mar 28 20:54:11 2013 -0400
59912
59913 Add structleak plugin
59914
59915 tools/gcc/structleak_plugin.c | 270 +++++++++++++++++++++++++++++++++++++++++
59916 1 files changed, 270 insertions(+), 0 deletions(-)
59917
59918 commit c3dc9a6ef10782894bb11fd088fd712db44d8062
59919 Author: Brad Spengler <spender@grsecurity.net>
59920 Date: Thu Mar 28 20:53:22 2013 -0400
59921
59922 Enable structleak by default for the security auto-config
59923
59924 security/Kconfig | 11 +++++++----
59925 1 files changed, 7 insertions(+), 4 deletions(-)
59926
59927 commit 6568e7348222fbe00256c9d337c4c24ee57e3f7e
59928 Merge: d8503a3 74bec16
59929 Author: Brad Spengler <spender@grsecurity.net>
59930 Date: Thu Mar 28 20:47:10 2013 -0400
59931
59932 Merge branch 'pax-test' into grsec-test
59933
59934 commit 74bec16b657147a5575b1f14f4423a717ba317a6
59935 Author: Brad Spengler <spender@grsecurity.net>
59936 Date: Thu Mar 28 20:46:13 2013 -0400
59937
59938 Update to pax-linux-3.8.4-test13.patch:
59939 - fixed bug with the old PAGEEXEC method and hugetlb, reported by Alex Efros (https://bugs.gentoo.org/show_bug.cgi?id=437722)
59940 - added a new gcc plugin to plug (pun intended) some of the kernel stack leaks to userland
59941
59942 Makefile | 5 +++-
59943 arch/x86/include/asm/compat.h | 2 +-
59944 arch/x86/mm/fault.c | 3 +-
59945 fs/binfmt_elf.c | 2 +-
59946 include/linux/compiler.h | 42 ++++++++++++++--------------------------
59947 security/Kconfig | 16 +++++++++++++++
59948 tools/gcc/Makefile | 2 +
59949 tools/gcc/constify_plugin.c | 7 +++++-
59950 8 files changed, 47 insertions(+), 32 deletions(-)
59951
59952 commit d8503a3a35d68b9ba1615d29335aef3f70d51465
59953 Author: Brad Spengler <spender@grsecurity.net>
59954 Date: Thu Mar 28 20:02:40 2013 -0400
59955
59956 Fix 8-byte stack infoleak in ia32_rt_sigpending
59957 User controls length, kernel only performs check on the upper bound, will
59958 fill in any amount less than sizeof(sigset_t) via a copy_to_user under
59959 KERNEL_DS in sys_rt_sigpending, then will copy the full size of compat_sigset_t
59960 regardless of whether the sigset_t content copied into it has been initialized
59961 or not
59962
59963 arch/x86/ia32/sys_ia32.c | 2 +-
59964 1 files changed, 1 insertions(+), 1 deletions(-)
59965
59966 commit 46a9f4b871ebf298ee67cc3f799dbd6c2382022b
59967 Author: Brad Spengler <spender@grsecurity.net>
59968 Date: Tue Mar 26 21:05:05 2013 -0400
59969
59970 commit 814d9d4f9164c3d778dadd093a54bb55d9a0c576
59971 Author: J. Bruce Fields <bfields@redhat.com>
59972 Date: Tue Mar 26 14:11:13 2013 -0400
59973
59974 nfsd4: reject "negative" acl lengths
59975
59976 Since we only enforce an upper bound, not a lower bound, a "negative"
59977 length can get through here.
59978
59979 The symptom seen was a warning when we attempt to a kmalloc with an
59980 excessive size.
59981
59982 Reported-by: Toralf Förster <toralf.foerster@gmx.de>
59983 Signed-off-by: J. Bruce Fields <bfields@redhat.com>
59984
59985 fs/nfsd/nfs4xdr.c | 2 +-
59986 1 files changed, 1 insertions(+), 1 deletions(-)
59987
59988 commit 2cf84a1843bfdf9298e2a1dc8df4e52d11a1af89
59989 Author: Jeff Layton <jlayton@redhat.com>
59990 Date: Mon Mar 11 09:52:19 2013 -0400
59991
59992 Upstream commit: f853c616883a8de966873a1dab283f1369e275a1
59993
59994 cifs: ignore everything in SPNEGO blob after mechTypes
59995
59996 We've had several reports of people attempting to mount Windows 8 shares
59997 and getting failures with a return code of -EINVAL. The default sec=
59998 mode changed recently to sec=ntlmssp. With that, we expect and parse a
59999 SPNEGO blob from the server in the NEGOTIATE reply.
60000
60001 The current decode_negTokenInit function first parses all of the
60002 mechTypes and then tries to parse the rest of the negTokenInit reply.
60003 The parser however currently expects a mechListMIC or nothing to follow the
60004 mechTypes, but Windows 8 puts a mechToken field there instead to carry
60005 some info for the new NegoEx stuff.
60006
60007 In practice, we don't do anything with the fields after the mechTypes
60008 anyway so I don't see any real benefit in continuing to parse them.
60009 This patch just has the kernel ignore the fields after the mechTypes.
60010 We'll probably need to reinstate some of this if we ever want to support
60011 NegoEx.
60012
60013 Reported-by: Jason Burgess <jason@jacknife2.dns2go.com>
60014 Reported-by: Yan Li <elliot.li.tech@gmail.com>
60015 Signed-off-by: Jeff Layton <jlayton@redhat.com>
60016 Cc: <stable@vger.kernel.org>
60017 Signed-off-by: Steve French <sfrench@us.ibm.com>
60018
60019 fs/cifs/asn1.c | 53 +++++------------------------------------------------
60020 1 files changed, 5 insertions(+), 48 deletions(-)
60021
60022 commit 0b1c6223105a05d5a84e39a5e951868e37610e1c
60023 Merge: 93ff726 0deb54c
60024 Author: Brad Spengler <spender@grsecurity.net>
60025 Date: Mon Mar 25 18:35:15 2013 -0400
60026
60027 Merge branch 'pax-test' into grsec-test
60028
60029 commit 0deb54c1f47145aef38f4d2bf0b7de3e9fbab959
60030 Author: Brad Spengler <spender@grsecurity.net>
60031 Date: Mon Mar 25 18:35:05 2013 -0400
60032
60033 fix typo
60034
60035 arch/x86/mm/ioremap.c | 2 +-
60036 1 files changed, 1 insertions(+), 1 deletions(-)
60037
60038 commit 93ff72680353534d4b0b213aecb61f1fc2f9a152
60039 Merge: be9f8b8 f95e53a
60040 Author: Brad Spengler <spender@grsecurity.net>
60041 Date: Mon Mar 25 18:30:06 2013 -0400
60042
60043 Merge branch 'pax-test' into grsec-test
60044
60045 commit f95e53abadb6e4665866e4502ff9f518514193e1
60046 Author: Brad Spengler <spender@grsecurity.net>
60047 Date: Mon Mar 25 18:29:25 2013 -0400
60048
60049 Update to pax-linux-3.8.4-test12.patch:
60050
60051 - fixed perf compilation reported by Michael Tremer
60052 - fixed USERCOPY reports triggered by SCTP, reported by mcp
60053 - last fix for aslr gap accounting, promise (thanks to spender)
60054
60055 arch/x86/mm/ioremap.c | 3 +++
60056 fs/binfmt_elf.c | 5 ++---
60057 mm/mmap.c | 2 +-
60058 net/sctp/socket.c | 19 +++++++++++++++----
60059 tools/perf/util/include/linux/compiler.h | 8 ++++++++
60060 5 files changed, 29 insertions(+), 8 deletions(-)
60061
60062 commit be9f8b82b0d8a21d7515fb6e44a907623381c5df
60063 Author: Brad Spengler <spender@grsecurity.net>
60064 Date: Mon Mar 25 16:48:34 2013 -0400
60065
60066 From: Al Viro <viro@ZenIV.linux.org.uk>
60067 To: Brad Spengler <spender@grsecurity.net>
60068 Cc: Linus Torvalds <torvalds@linux-foundation.org>
60069
60070 Umm... I see what you are describing, and AFAICS you are correct; let me
60071 see if I am misreading your analysis:
60072 * vfsmount_lock may act fair; A holding it shared, with B spinning
60073 on attempt to take it exclusive may lead to C spinning on attempt to take
60074 it shared.
60075 * path_is_under() tries get rename_lock while holding vfsmount_lock
60076 shared.
60077 * d_path() et.al. try to take vfsmount_lock shared, while holding
60078 rename_lock.
60079
60080 All true and yes, it's a bug (I'd probably classify it as a livelock, but
60081 that doesn't make any real difference). There are three possible solutions,
60082 AFAICS:
60083 1) two-liner in path_is_under() replacing the use of vfsmount_lock
60084 with that of namespace_sem; trivial, but results in function unexpectedly
60085 blocking. The current callers are fine with that, but it's a trouble
60086 waiting to happen.
60087 2) replace write_seqlock() in prepend_path() callers with
60088 read_seqbegin/read_seqretry loops; bigger and more brittle, since unlike
60089 is_subdir() we need more than just ->d_parent not pointing to something
60090 freed - we also care about ->d_name.len being in sync with ->d_name.name.
60091 It probably can be worked around, but...
60092
60093 3) declare that rename_lock nests inside vfsmount_lock and let
60094 the callers of prepend_path() take vfsmount_lock(). I'd probably prefer
60095 that one...
60096
60097 Nest rename_lock inside vfsmount_lock
60098
60099 ... lest we get livelocks between path_is_under() and d_path() and friends.
60100
60101 [ add grsec-specific bits, thanks to Alexey Vlasov for his patience in reproducing
60102 the issue ]
60103
60104 Spotted-by: Brad Spengler <spender@grsecurity.net>
60105 Cc: stable@vger.kernel.org
60106 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
60107
60108 fs/dcache.c | 16 +++++++++++-----
60109 grsecurity/gracl.c | 20 ++++++++++----------
60110 2 files changed, 21 insertions(+), 15 deletions(-)
60111
60112 commit d9253ae96e0e88510ae7b8adb8ab3ef089be6dee
60113 Author: Linus Torvalds <torvalds@linux-foundation.org>
60114 Date: Fri Mar 22 11:44:04 2013 -0700
60115
60116 Upstream commit: 51f0885e5415b4cc6535e9cdcc5145bfbc134353
60117
60118 vfs,proc: guarantee unique inodes in /proc
60119
60120 Dave Jones found another /proc issue with his Trinity tool: thanks to
60121 the namespace model, we can have multiple /proc dentries that point to
60122 the same inode, aliasing directories in /proc/<pid>/net/ for example.
60123
60124 This ends up being a total disaster, because it acts like hardlinked
60125 directories, and causes locking problems. We rely on the topological
60126 sort of the inodes pointed to by dentries, and if we have aliased
60127 directories, that odering becomes unreliable.
60128
60129 In short: don't do this. Multiple dentries with the same (directory)
60130 inode is just a bad idea, and the namespace code should never have
60131 exposed things this way. But we're kind of stuck with it.
60132
60133 This solves things by just always allocating a new inode during /proc
60134 dentry lookup, instead of using "iget_locked()" to look up existing
60135 inodes by superblock and number. That actually simplies the code a bit,
60136 at the cost of potentially doing more inode [de]allocations.
60137
60138 That said, the inode lookup wasn't free either (and did a lot of locking
60139 of inodes), so it is probably not that noticeable. We could easily keep
60140 the old lookup model for non-directory entries, but rather than try to
60141 be excessively clever this just implements the minimal and simplest
60142 workaround for the problem.
60143
60144 Reported-and-tested-by: Dave Jones <davej@redhat.com>
60145 Analyzed-by: Al Viro <viro@zeniv.linux.org.uk>
60146 Cc: stable@vger.kernel.org
60147 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
60148
60149 Conflicts:
60150
60151 fs/proc/inode.c
60152
60153 fs/proc/inode.c | 9 +++------
60154 1 files changed, 3 insertions(+), 6 deletions(-)
60155
60156 commit 399d3bbdb82db765c86118ae5a0bf1d2d17762fb
60157 Author: Vladimir Davydov <vdavydov@parallels.com>
60158 Date: Fri Mar 22 15:04:51 2013 -0700
60159
60160 Upstream commit: 38d78e587d4960d0db94add518d27ee74bad2301
60161
60162 mqueue: sys_mq_open: do not call mnt_drop_write() if read-only
60163
60164 mnt_drop_write() must be called only if mnt_want_write() succeeded,
60165 otherwise the mnt_writers counter will diverge.
60166
60167 mnt_writers counters are used to check if remounting FS as read-only is
60168 OK, so after an extra mnt_drop_write() call, it would be impossible to
60169 remount mqueue FS as read-only. Besides, on umount a warning would be
60170 printed like this one:
60171
60172 =====================================
60173 [ BUG: bad unlock balance detected! ]
60174 3.9.0-rc3 #5 Not tainted
60175 -------------------------------------
60176 a.out/12486 is trying to release lock (sb_writers) at:
60177 mnt_drop_write+0x1f/0x30
60178 but there are no more locks to release!
60179
60180 Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
60181 Cc: Doug Ledford <dledford@redhat.com>
60182 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
60183 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
60184 Cc: Al Viro <viro@zeniv.linux.org.uk>
60185 Cc: <stable@vger.kernel.org>
60186 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
60187 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
60188
60189 ipc/mqueue.c | 3 ++-
60190 1 files changed, 2 insertions(+), 1 deletions(-)
60191
60192 commit d3859c71e2ec174b6f3e5cbe06d3011cdddaa59e
60193 Author: Brad Spengler <spender@grsecurity.net>
60194 Date: Sat Mar 23 13:02:32 2013 -0400
60195
60196 Don't use constify plugin if not enabled in config,
60197 reported by Alexey Vlasov
60198
60199 Makefile | 2 +-
60200 1 files changed, 1 insertions(+), 1 deletions(-)
60201
60202 commit 3afb82e020593249ac394e9859397c3e0ef5341c
60203 Author: Brad Spengler <spender@grsecurity.net>
60204 Date: Sat Mar 23 12:50:13 2013 -0400
60205
60206 oded 0day #2
60207 http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
60208 slide 20
60209
60210 drivers/net/ethernet/broadcom/tg3.c | 6 ++++--
60211 1 files changed, 4 insertions(+), 2 deletions(-)
60212
60213 commit 4cc4b98b29faff2530540be16e0fcd8a74800b06
60214 Author: Brad Spengler <spender@grsecurity.net>
60215 Date: Sat Mar 23 12:15:50 2013 -0400
60216
60217 oded 0day #1
60218 http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
60219 slide 18
60220
60221 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
60222 1 files changed, 1 insertions(+), 1 deletions(-)
60223
60224 commit 8a3292af6fdae4b88b49a2a4ef96eee145b4d479
60225 Author: Brad Spengler <spender@grsecurity.net>
60226 Date: Sat Mar 23 12:13:12 2013 -0400
60227
60228 remove warning on accessing this /proc entry, HIDESYM already caught the infoleak
60229
60230 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
60231 1 files changed, 1 insertions(+), 1 deletions(-)
60232
60233 commit 44cb11a9470f72157601d0ad4d572d111f90f504
60234 Author: Brad Spengler <spender@grsecurity.net>
60235 Date: Fri Mar 22 18:11:42 2013 -0400
60236
60237 use VM_DONTDUMP
60238
60239 fs/binfmt_elf.c | 2 +-
60240 1 files changed, 1 insertions(+), 1 deletions(-)
60241
60242 commit 92dd7f850ae63e3ddc3d262f2b7134cf54b51abb
60243 Author: Brad Spengler <spender@grsecurity.net>
60244 Date: Fri Mar 22 17:53:09 2013 -0400
60245
60246 fix recent RLIMIT_AS changes (due to vm_flags typo)
60247
60248 Conflicts:
60249
60250 fs/binfmt_elf.c
60251
60252 fs/binfmt_elf.c | 2 +-
60253 mm/mmap.c | 2 +-
60254 2 files changed, 2 insertions(+), 2 deletions(-)
60255
60256 commit fd5f0d92b0fbec02029dad124501a9c80e527a32
60257 Author: Brad Spengler <spender@grsecurity.net>
60258 Date: Fri Mar 22 17:08:48 2013 -0400
60259
60260 complete_walk drops rcu-walk mode, no need for our own dropping
60261 method outside of generic_permission
60262
60263 fs/namei.c | 30 ------------------------------
60264 1 files changed, 0 insertions(+), 30 deletions(-)
60265
60266 commit b49ab1c73edb6442eec609b26bba4d850b3111b6
60267 Merge: 5e9a707 783ade9
60268 Author: Brad Spengler <spender@grsecurity.net>
60269 Date: Thu Mar 21 21:56:28 2013 -0400
60270
60271 Merge branch 'pax-test' into grsec-test
60272
60273 commit 783ade9f97f0f736e3c83275b7c9fcb2d6e9d9c4
60274 Author: Brad Spengler <spender@grsecurity.net>
60275 Date: Thu Mar 21 21:55:31 2013 -0400
60276
60277 Update to pax-linux-3.8.3-test11.patch:
60278 - rewrote the ASLR gap accounting code once again
60279 - fixed ptrace compat bug found by the size overflow plugin
60280
60281 fs/binfmt_elf.c | 25 ++++++++++++-------------
60282 fs/exec.c | 7 ++-----
60283 include/linux/compat.h | 2 +-
60284 include/linux/mm.h | 5 +++++
60285 include/linux/mm_types.h | 2 +-
60286 kernel/ptrace.c | 2 +-
60287 mm/mmap.c | 15 ++++++++++-----
60288 7 files changed, 32 insertions(+), 26 deletions(-)
60289
60290 commit 5e9a7077d935b2279f25428c5d32fd53cbbfb92a
60291 Author: Brad Spengler <spender@grsecurity.net>
60292 Date: Thu Mar 21 19:37:33 2013 -0400
60293
60294 Make the constify plugin usage actually depend on the introduced config option
60295 (it was still forced on)
60296
60297 tools/gcc/Makefile | 2 +-
60298 1 files changed, 1 insertions(+), 1 deletions(-)
60299
60300 commit 1974b4f58d9d729c80ac1987785446115304a54c
60301 Author: Brad Spengler <spender@grsecurity.net>
60302 Date: Thu Mar 21 16:12:38 2013 -0400
60303
60304 fix failed merge
60305
60306 arch/arm/mm/fault.c | 15 +++------------
60307 1 files changed, 3 insertions(+), 12 deletions(-)
60308
60309 commit 675a8ab4a8fe8315df348735a37a302a7535224c
60310 Author: Brad Spengler <spender@grsecurity.net>
60311 Date: Wed Mar 20 23:36:14 2013 -0400
60312
60313 From c4dab66c31612717f798e1e8ff11b57253a81a31 Mon Sep 17 00:00:00 2001
60314 From: Kees Cook <keescook@chromium.org>
60315 Date: Sun, 10 Mar 2013 20:09:31 +0000
60316 Subject: drm/i915: bounds check execbuffer relocation count
60317
60318 It is possible to wrap the counter used to allocate the buffer for
60319 relocation copies. This could lead to heap writing overflows.
60320
60321 CVE-2013-0913
60322
60323 Signed-off-by: Kees Cook <keescook@chromium.org>
60324 Reported-by: Pinkie Pie
60325 Cc: stable@vger.kernel.org
60326
60327 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 11 ++++++++---
60328 1 files changed, 8 insertions(+), 3 deletions(-)
60329
60330 commit ddeac12cbb9076bffd51c544e03463f94c9eaa39
60331 Author: Andy Honig <ahonig@google.com>
60332 Date: Wed Feb 20 14:48:10 2013 -0800
60333
60334 Upstream commit: 0b79459b482e85cb7426aa7da683a9f2c97aeae1
60335
60336 KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions (CVE-2013-1797)
60337
60338 There is a potential use after free issue with the handling of
60339 MSR_KVM_SYSTEM_TIME. If the guest specifies a GPA in a movable or removable
60340 memory such as frame buffers then KVM might continue to write to that
60341 address even after it's removed via KVM_SET_USER_MEMORY_REGION. KVM pins
60342 the page in memory so it's unlikely to cause an issue, but if the user
60343 space component re-purposes the memory previously used for the guest, then
60344 the guest will be able to corrupt that memory.
60345
60346 Tested: Tested against kvmclock unit test
60347
60348 Signed-off-by: Andrew Honig <ahonig@google.com>
60349 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
60350
60351 arch/x86/include/asm/kvm_host.h | 4 +-
60352 arch/x86/kvm/x86.c | 47 ++++++++++++++++----------------------
60353 2 files changed, 22 insertions(+), 29 deletions(-)
60354
60355 commit 0bcac31b57c381001feb69fd6ec8069e61e03432
60356 Author: Andy Honig <ahonig@google.com>
60357 Date: Mon Mar 11 09:34:52 2013 -0700
60358
60359 Upstream commit: c300aa64ddf57d9c5d9c898a64b36877345dd4a9
60360
60361 KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)
60362
60363 If the guest sets the GPA of the time_page so that the request to update the
60364 time straddles a page then KVM will write onto an incorrect page. The
60365 write is done byusing kmap atomic to get a pointer to the page for the time
60366 structure and then performing a memcpy to that page starting at an offset
60367 that the guest controls. Well behaved guests always provide a 32-byte aligned
60368 address, however a malicious guest could use this to corrupt host kernel
60369 memory.
60370
60371 Tested: Tested against kvmclock unit test.
60372
60373 Signed-off-by: Andrew Honig <ahonig@google.com>
60374 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
60375
60376 arch/x86/kvm/x86.c | 5 +++++
60377 1 files changed, 5 insertions(+), 0 deletions(-)
60378
60379 commit 695c59887e4ec10b0b695ab4f645d1226c433be0
60380 Author: Andy Honig <ahonig@google.com>
60381 Date: Wed Feb 20 14:49:16 2013 -0800
60382
60383 Upstream commit: a2c118bfab8bc6b8bb213abfc35201e441693d55
60384
60385 KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)
60386
60387 If the guest specifies a IOAPIC_REG_SELECT with an invalid value and follows
60388 that with a read of the IOAPIC_REG_WINDOW KVM does not properly validate
60389 that request. ioapic_read_indirect contains an
60390 ASSERT(redir_index < IOAPIC_NUM_PINS), but the ASSERT has no effect in
60391 non-debug builds. In recent kernels this allows a guest to cause a kernel
60392 oops by reading invalid memory. In older kernels (pre-3.3) this allows a
60393 guest to read from large ranges of host memory.
60394
60395 Tested: tested against apic unit tests.
60396
60397 Signed-off-by: Andrew Honig <ahonig@google.com>
60398 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
60399
60400 virt/kvm/ioapic.c | 7 +++++--
60401 1 files changed, 5 insertions(+), 2 deletions(-)
60402
60403 commit c77e4017f6f372ac09751b6fcd85c35781dc2d9e
60404 Merge: aec3cd4 c522e3a
60405 Author: Brad Spengler <spender@grsecurity.net>
60406 Date: Wed Mar 20 19:38:25 2013 -0400
60407
60408 Merge branch 'pax-test' into grsec-test
60409
60410 commit c522e3a2167ff5e18996e55ca8cca5ca6f6d29e3
60411 Merge: c57d855 405acc3
60412 Author: Brad Spengler <spender@grsecurity.net>
60413 Date: Wed Mar 20 19:38:11 2013 -0400
60414
60415 Merge branch 'linux-3.8.y' into pax-test
60416
60417 commit aec3cd4d2bd54673b155d9ae3fb9c44becc790d1
60418 Author: Brad Spengler <spender@grsecurity.net>
60419 Date: Tue Mar 19 19:56:04 2013 -0400
60420
60421 include linux/compiler.h
60422
60423 include/linux/zlib.h | 1 +
60424 1 files changed, 1 insertions(+), 0 deletions(-)
60425
60426 commit 1f1109e97bc609218e52e4bb57683d3b23cf2e8e
60427 Author: Brad Spengler <spender@grsecurity.net>
60428 Date: Tue Mar 19 18:42:20 2013 -0400
60429
60430 fix missing sock_release()
60431
60432 net/irda/af_irda.c | 6 ++++--
60433 1 files changed, 4 insertions(+), 2 deletions(-)
60434
60435 commit dd65c05cd24faf8946d4941434a553ee285c35a3
60436 Author: Brad Spengler <spender@grsecurity.net>
60437 Date: Tue Mar 19 18:36:17 2013 -0400
60438
60439 fix mpt fusion infoleak
60440
60441 drivers/message/fusion/mptbase.c | 4 ++++
60442 1 files changed, 4 insertions(+), 0 deletions(-)
60443
60444 commit e297b4f150b769efdc4c547d3caf1e3c0f24735f
60445 Author: Brad Spengler <spender@grsecurity.net>
60446 Date: Tue Mar 19 18:33:45 2013 -0400
60447
60448 Fix size_overflow false positive reported by slashbeast
60449
60450 include/linux/zlib.h | 2 +-
60451 1 files changed, 1 insertions(+), 1 deletions(-)
60452
60453 commit 5b9982733764361c7102c2b1a9cbe42e5bf4f4be
60454 Author: Brad Spengler <spender@grsecurity.net>
60455 Date: Tue Mar 19 17:35:36 2013 -0400
60456
60457 fix up failed merge
60458
60459 arch/arm/mm/fault.c | 9 ++-------
60460 1 files changed, 2 insertions(+), 7 deletions(-)
60461
60462 commit a1bdc34d1d882da3abf47923a760e5b0bbdaf0bd
60463 Author: Brad Spengler <spender@grsecurity.net>
60464 Date: Tue Mar 19 17:34:36 2013 -0400
60465
60466 update documentation on consequences of building without gcc plugin support
60467
60468 Makefile | 2 +-
60469 1 files changed, 1 insertions(+), 1 deletions(-)
60470
60471 commit f49ae0f6c3bbedf6b3817ee2b1b232e0da7fa537
60472 Author: Brad Spengler <spender@grsecurity.net>
60473 Date: Tue Mar 19 17:18:13 2013 -0400
60474
60475 fix compilation failure associated with the latent entropy plugin and lack of gcc plugin support reported on the forums
60476
60477 init/main.c | 4 ++--
60478 1 files changed, 2 insertions(+), 2 deletions(-)
60479
60480 commit f00195c633f91cfbd8c1f530d2c371b713026e20
60481 Author: Brad Spengler <spender@grsecurity.net>
60482 Date: Mon Mar 18 22:27:33 2013 -0400
60483
60484 Fix compile error reported by KDE on the forums
60485
60486 kernel/user_namespace.c | 2 +-
60487 1 files changed, 1 insertions(+), 1 deletions(-)
60488
60489 commit 2979c6ee78aabb4421873ea53581380c6bb6ed05
60490 Merge: 0949569 c57d855
60491 Author: Brad Spengler <spender@grsecurity.net>
60492 Date: Mon Mar 18 22:20:46 2013 -0400
60493
60494 Merge branch 'pax-test' into grsec-test
60495
60496 Conflicts:
60497 arch/arm/mm/fault.c
60498 arch/x86/mm/fault.c
60499 fs/exec.c
60500
60501 commit c57d8557f5f2d77c2c7fa1f58316819a5e1f9293
60502 Author: Brad Spengler <spender@grsecurity.net>
60503 Date: Mon Mar 18 21:22:03 2013 -0400
60504
60505 Update to pax-linux-3.8.2-test9.patch:
60506 arm changes from spender
60507 - removed userland access to the vectors page
60508 - removed obsolete sigreturn trampoline handling
60509 - added emulation for __kuser_get_tls
60510 - fixed missing uderef instrumentation in unaligned memory accessors (failed safe)
60511 - fixed recent sysfs/power_supply attr breakage reported by Steven Allen
60512 - hopefully fixed the remaining issues with aslr_gap accounting (http://forums.grsecurity.net/viewtopic.php?f=3&t=2960)
60513 - changed debian packager rules to include the compiler plugins, from Tyler Coumbes <coumbes@gmail.com>
60514 - fixed the sa_restorer leak discovered and reported by Emese Revfy (CVE-2013-0914, google chromium bug #177956)
60515 - new size overflow plugin from Emese that instruments a whole lot more code due to tracking function return values
60516 and more type casts as well. this found the above mentioned sa_restorer leak and would have protected against CVE-2013-0913.
60517
60518 arch/arm/kernel/process.c | 5 +-
60519 arch/arm/kernel/signal.c | 24 +-
60520 arch/arm/kernel/traps.c | 7 -
60521 arch/arm/mm/alignment.c | 8 +
60522 arch/arm/mm/fault.c | 23 +-
60523 arch/arm/mm/mmu.c | 2 +-
60524 arch/x86/include/asm/bitops.h | 2 +-
60525 arch/x86/include/asm/desc.h | 2 +-
60526 arch/x86/include/asm/div64.h | 2 +-
60527 arch/x86/include/asm/io.h | 8 +-
60528 arch/x86/include/asm/paravirt.h | 2 +-
60529 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 16 +-
60530 arch/x86/kernel/setup_percpu.c | 2 +-
60531 arch/x86/mm/fault.c | 4 +-
60532 arch/x86/mm/numa.c | 2 +-
60533 arch/x86/mm/physaddr.c | 4 +-
60534 drivers/ata/libahci.c | 2 +-
60535 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +-
60536 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
60537 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
60538 drivers/lguest/page_tables.c | 2 +-
60539 drivers/net/wireless/at76c50x-usb.c | 2 +-
60540 drivers/oprofile/oprofile_files.c | 2 +-
60541 drivers/power/power_supply_core.c | 1 +
60542 drivers/usb/core/message.c | 2 +-
60543 fs/befs/endian.h | 4 +-
60544 fs/binfmt_elf.c | 5 +-
60545 fs/exec.c | 4 +-
60546 fs/qnx6/qnx6.h | 4 +-
60547 fs/sysv/sysv.h | 2 +-
60548 fs/ubifs/io.c | 2 +-
60549 fs/ufs/swab.h | 4 +-
60550 include/linux/compat.h | 4 +-
60551 include/linux/completion.h | 6 +-
60552 include/linux/cpumask.h | 12 +-
60553 include/linux/ctype.h | 2 +-
60554 include/linux/err.h | 4 +-
60555 include/linux/math64.h | 6 +-
60556 include/linux/sched.h | 2 +-
60557 include/linux/unaligned/access_ok.h | 12 +-
60558 include/linux/usb.h | 2 +-
60559 include/uapi/linux/byteorder/little_endian.h | 4 +-
60560 include/uapi/linux/swab.h | 6 +-
60561 kernel/sched/core.c | 6 +-
60562 kernel/signal.c | 3 +
60563 kernel/time.c | 2 +-
60564 kernel/timer.c | 2 +-
60565 lib/div64.c | 4 +-
60566 mm/page-writeback.c | 2 +-
60567 net/socket.c | 2 +
60568 scripts/package/builddeb | 1 +
60569 tools/gcc/size_overflow_hash.data | 8869 +++++++++++++++----------
60570 tools/gcc/size_overflow_plugin.c | 1072 ++--
60571 53 files changed, 6227 insertions(+), 3951 deletions(-)
60572
60573 commit 09495691bb31f11ec14d9127429f9a0f3f716f22
60574 Author: Brad Spengler <spender@grsecurity.net>
60575 Date: Sun Mar 17 20:51:50 2013 -0400
60576
60577 fix typo
60578
60579 grsecurity/gracl.c | 2 +-
60580 1 files changed, 1 insertions(+), 1 deletions(-)
60581
60582 commit deb85b00d0f9f886e264e116313f298401ec5c59
60583 Author: Brad Spengler <spender@grsecurity.net>
60584 Date: Sun Mar 17 20:03:33 2013 -0400
60585
60586 Call update_rlimit_cpu to immediately change RLIMIT_CPU on the task
60587 with a subject applied to it with RES_CPU. Otherwise, the limit will only
60588 begin to be applied at fork time.
60589
60590 Thanks to Bjornar Ness for the report.
60591
60592 grsecurity/gracl.c | 4 ++++
60593 1 files changed, 4 insertions(+), 0 deletions(-)
60594
60595 commit 2126421f123513f604ceef2b23ba9ed516de7e58
60596 Author: Brad Spengler <spender@grsecurity.net>
60597 Date: Sat Mar 16 22:07:43 2013 -0400
60598
60599 Move inode auditing prior to our refcnt dropping
60600
60601 fs/namei.c | 2 +-
60602 1 files changed, 1 insertions(+), 1 deletions(-)
60603
60604 commit 4d4e665885aab4bacfe662ad6d2190fc9d817146
60605 Author: Brad Spengler <spender@grsecurity.net>
60606 Date: Sat Mar 16 22:00:30 2013 -0400
60607
60608 Drop reference on completed path walked in RCU mode or when violating
60609 the chroot fchdir check inside a chroot -- possible culprit for a reported
60610 vfsmount_lock hang during unmount
60611
60612 fs/namei.c | 8 ++++++--
60613 1 files changed, 6 insertions(+), 2 deletions(-)
60614
60615 commit 53a8a413f45340ee176dd36dd283de3a1ebb7417
60616 Author: Brad Spengler <spender@grsecurity.net>
60617 Date: Sat Mar 16 16:43:45 2013 -0400
60618
60619 add user_arg_ptr back to exec.c
60620
60621 fs/exec.c | 12 ++++++++++++
60622 1 files changed, 12 insertions(+), 0 deletions(-)
60623
60624 commit 83d285953c7e75db388c7f65be5cf1e16fcedec8
60625 Author: Brad Spengler <spender@grsecurity.net>
60626 Date: Sat Mar 16 11:22:36 2013 -0400
60627
60628 Don't globally include compat.h -- with the new X32 support it
60629 changes some definitions involving ELF binaries resulting in invalid
60630 coredumps, as reported by KDE on the forums:
60631 http://forums.grsecurity.net/viewtopic.php?f=3&t=3310
60632 Thanks to the PaX Team for debugging
60633
60634 fs/exec.c | 3 +++
60635 grsecurity/grsec_exec.c | 13 +++++++++++++
60636 include/linux/grsecurity.h | 15 ---------------
60637 3 files changed, 16 insertions(+), 15 deletions(-)
60638
60639 commit 67a94583659cf6c583fbbb023ec2a8ed471ba94a
60640 Author: Brad Spengler <spender@grsecurity.net>
60641 Date: Thu Mar 14 20:59:26 2013 -0400
60642
60643 Add peer information to /proc/net/unix from Kenan Kalajdzic:
60644 http://marc.info/?l=linux-netdev&m=126745636809191&w=2
60645
60646 We use a "P" prefix to the inode number instead of "peer=". This
60647 additional information can be used, for instance, to find what processes
60648 are connected to MySQL's unix domain socket.
60649
60650 net/unix/af_unix.c | 12 +++++++++---
60651 1 files changed, 9 insertions(+), 3 deletions(-)
60652
60653 commit 1cd623d11a462d151ea8a5cace4521e1724911a3
60654 Author: Oliver Neukum <oneukum@suse.de>
60655 Date: Tue Mar 12 14:52:42 2013 +0100
60656
60657 Upstream commit: c0f5ecee4e741667b2493c742b60b6218d40b3aa
60658
60659 USB: cdc-wdm: fix buffer overflow
60660
60661 The buffer for responses must not overflow.
60662 If this would happen, set a flag, drop the data and return
60663 an error after user space has read all remaining data.
60664
60665 Signed-off-by: Oliver Neukum <oliver@neukum.org>
60666 CC: stable@kernel.org
60667 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
60668
60669 drivers/usb/class/cdc-wdm.c | 23 ++++++++++++++++++++---
60670 1 files changed, 20 insertions(+), 3 deletions(-)
60671
60672 commit 3e9e7beb379eaf424d0634c0c556e47c07d367fc
60673 Merge: 9cdf9bc db4cb92
60674 Author: Brad Spengler <spender@grsecurity.net>
60675 Date: Thu Mar 14 20:23:14 2013 -0400
60676
60677 Merge branch 'pax-test' into grsec-test
60678
60679 Conflicts:
60680 security/keys/compat.c
60681
60682 commit db4cb924546e3fec3a59f78d056f48176eaf7100
60683 Author: Brad Spengler <spender@grsecurity.net>
60684 Date: Thu Mar 14 20:22:24 2013 -0400
60685
60686 Update to pax-linux-3.8.2-test8.patch
60687
60688 arch/arm/include/asm/cache.h | 2 ++
60689 arch/arm/mach-omap2/gpmc.c | 22 ++++++++++++----------
60690 arch/arm/mach-omap2/omap_device.c | 4 ++--
60691 arch/arm/mach-omap2/omap_device.h | 4 ++--
60692 arch/arm/plat-orion/include/plat/addr-map.h | 2 +-
60693 5 files changed, 19 insertions(+), 15 deletions(-)
60694
60695 commit 5e72fcce7c468d29168c64c72c18ff5ff0d3b4ae
60696 Merge: 3c865f9 1a45c31
60697 Author: Brad Spengler <spender@grsecurity.net>
60698 Date: Thu Mar 14 20:20:54 2013 -0400
60699
60700 Merge branch 'linux-3.8.y' into pax-test
60701
60702 Conflicts:
60703 arch/arm/include/asm/delay.h
60704 arch/arm/include/asm/pgtable.h
60705 arch/arm/lib/delay.c
60706 security/keys/compat.c
60707
60708 commit 9cdf9bccf22d6a6741e4152bb5d32335beb8caf1
60709 Author: Al Viro <viro@ZenIV.linux.org.uk>
60710 Date: Tue Mar 12 02:59:49 2013 +0000
60711
60712 Upstream commit: a930d8790552658140d7d0d2e316af4f0d76a512
60713
60714 vfs: fix pipe counter breakage
60715
60716 If you open a pipe for neither read nor write, the pipe code will not
60717 add any usage counters to the pipe, causing the 'struct pipe_inode_info"
60718 to be potentially released early.
60719
60720 That doesn't normally matter, since you cannot actually use the pipe,
60721 but the pipe release code - particularly fasync handling - still expects
60722 the actual pipe infrastructure to all be there. And rather than adding
60723 NULL pointer checks, let's just disallow this case, the same way we
60724 already do for the named pipe ("fifo") case.
60725
60726 This is ancient going back to pre-2.4 days, and until trinity, nobody
60727 naver noticed.
60728
60729 Reported-by: Dave Jones <davej@redhat.com>
60730 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
60731
60732 fs/pipe.c | 3 +++
60733 1 files changed, 3 insertions(+), 0 deletions(-)
60734
60735 commit c11fa4be226659a40a6c73f0fa09fee074fba1b2
60736 Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
60737 Date: Mon Feb 25 10:20:36 2013 -0500
60738
60739 Upstream commit: 8aec0f5d4137532de14e6554fd5dd201ff3a3c49
60740
60741 Fix: compat_rw_copy_check_uvector() misuse in aio, readv, writev, and security keys
60742
60743 Looking at mm/process_vm_access.c:process_vm_rw() and comparing it to
60744 compat_process_vm_rw() shows that the compatibility code requires an
60745 explicit "access_ok()" check before calling
60746 compat_rw_copy_check_uvector(). The same difference seems to appear when
60747 we compare fs/read_write.c:do_readv_writev() to
60748 fs/compat.c:compat_do_readv_writev().
60749
60750 This subtle difference between the compat and non-compat requirements
60751 should probably be debated, as it seems to be error-prone. In fact,
60752 there are two others sites that use this function in the Linux kernel,
60753 and they both seem to get it wrong:
60754
60755 Now shifting our attention to fs/aio.c, we see that aio_setup_iocb()
60756 also ends up calling compat_rw_copy_check_uvector() through
60757 aio_setup_vectored_rw(). Unfortunately, the access_ok() check appears to
60758 be missing. Same situation for
60759 security/keys/compat.c:compat_keyctl_instantiate_key_iov().
60760
60761 I propose that we add the access_ok() check directly into
60762 compat_rw_copy_check_uvector(), so callers don't have to worry about it,
60763 and it therefore makes the compat call code similar to its non-compat
60764 counterpart. Place the access_ok() check in the same location where
60765 copy_from_user() can trigger a -EFAULT error in the non-compat code, so
60766 the ABI behaviors are alike on both compat and non-compat.
60767
60768 While we are here, fix compat_do_readv_writev() so it checks for
60769 compat_rw_copy_check_uvector() negative return values.
60770
60771 And also, fix a memory leak in compat_keyctl_instantiate_key_iov() error
60772 handling.
60773
60774 Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
60775 Acked-by: Al Viro <viro@ZenIV.linux.org.uk>
60776 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
60777 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
60778
60779 Conflicts:
60780
60781 security/keys/compat.c
60782
60783 fs/compat.c | 15 +++++++--------
60784 mm/process_vm_access.c | 8 --------
60785 security/keys/compat.c | 3 ++-
60786 3 files changed, 9 insertions(+), 17 deletions(-)
60787
60788 commit 13487f197ab2d5bc76156224c24c45a44bbd6a11
60789 Author: Brad Spengler <spender@grsecurity.net>
60790 Date: Mon Mar 11 18:38:38 2013 -0400
60791
60792 Fix leak of signal handler addresses across execve, found by Emese Revfy
60793
60794 kernel/signal.c | 3 +++
60795 1 files changed, 3 insertions(+), 0 deletions(-)
60796
60797 commit 79b130c4b11c7940daf2b33d653a17666331c634
60798 Merge: 6480ce9 3c865f9
60799 Author: Brad Spengler <spender@grsecurity.net>
60800 Date: Sun Mar 10 20:04:03 2013 -0400
60801
60802 Merge branch 'pax-test' into grsec-test
60803
60804 commit 3c865f9184c6fd56c634bce0096cfc8039d5c43d
60805 Author: Brad Spengler <spender@grsecurity.net>
60806 Date: Sun Mar 10 20:03:12 2013 -0400
60807
60808 Update to pax-linux-3.8.2-test7.patch:
60809 - fixed gcc asserts reported by KDE (http://forums.grsecurity.net/viewtopic.php?f=3&t=3342)
60810 - adjusted RLIMIT_AS accounting for the extra ASLR gap mappings, reported by Alexander Stoll (https://bugs.gentoo.org/show_bug.cgi?id=459268)
60811
60812 fs/binfmt_elf.c | 3 ++-
60813 fs/exec.c | 3 +++
60814 include/linux/mm_types.h | 2 +-
60815 init/main.c | 4 ++--
60816 mm/mmap.c | 2 +-
60817 mm/page_alloc.c | 4 ++--
60818 tools/gcc/latent_entropy_plugin.c | 11 +++++++----
60819 7 files changed, 18 insertions(+), 11 deletions(-)
60820
60821 commit 6480ce919bd7d68ba14f3194e4bdd7b61bc8e491
60822 Merge: 4a5305e 25b3569
60823 Author: Brad Spengler <spender@grsecurity.net>
60824 Date: Sun Mar 10 10:41:16 2013 -0400
60825
60826 Merge branch 'pax-test' into grsec-test
60827
60828 commit 25b356980568bed9958315bb5a551fdc610055ed
60829 Author: Brad Spengler <spender@grsecurity.net>
60830 Date: Sun Mar 10 10:40:48 2013 -0400
60831
60832 Update to pax-linux-3.8.2-test6.patch:
60833 - fixed a KERNEXEC false positive on arm reported by Gu1
60834 - fixed various compile errors reported by x14sg1 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3340)
60835 - fixed too strict mmap parameter checking on i386, reported by browndav (http://forums.grsecurity.net/viewtopic.php?f=1&t=3339)
60836 - added fix from spender for some namespace breakage reported by zakalwe
60837 - small latent entropy improvement: pass pax_extra_latent_entropy to the kernel to extract entropy from RAM content during boot
60838
60839 Documentation/kernel-parameters.txt | 5 +++++
60840 arch/arm/kernel/patch.c | 2 ++
60841 arch/x86/kernel/sys_i386_32.c | 5 +++--
60842 drivers/acpi/blacklist.c | 2 +-
60843 drivers/video/aty/mach64_cursor.c | 1 +
60844 init/main.c | 4 ----
60845 mm/page_alloc.c | 27 +++++++++++++++++++++++++++
60846 net/ipv4/ip_fragment.c | 2 +-
60847 security/Kconfig | 5 +++++
60848 tools/gcc/latent_entropy_plugin.c | 7 +++++--
60849 10 files changed, 50 insertions(+), 10 deletions(-)
60850
60851 commit 4a5305eb7b6c5e49c332feeca9b6bfead9ab917f
60852 Author: Brad Spengler <spender@grsecurity.net>
60853 Date: Sat Mar 9 11:19:06 2013 -0500
60854
60855 From: Mathias Krause <minipli@googlemail.com>
60856 To: "David S. Miller" <davem@davemloft.net>
60857 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>,
60858 Stephen Hemminger <stephen@networkplumber.org>
60859 Subject: [PATCH 1/3] bridge: fix mdb info leaks
60860 Date: Sat, 9 Mar 2013 16:52:19 +0100
60861
60862 The bridging code discloses heap and stack bytes via the RTM_GETMDB
60863 netlink interface and via the notify messages send to group RTNLGRP_MDB
60864 afer a successful add/del.
60865
60866 Fix both cases by initializing all unset members/padding bytes with
60867 memset(0).
60868
60869 Cc: Stephen Hemminger <stephen@networkplumber.org>
60870 Signed-off-by: Mathias Krause <minipli@googlemail.com>
60871
60872 From: Mathias Krause <minipli@googlemail.com>
60873 To: "David S. Miller" <davem@davemloft.net>
60874 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>
60875 Subject: [PATCH 2/3] rtnl: fix info leak on RTM_GETLINK request for VF devices
60876 Date: Sat, 9 Mar 2013 16:52:20 +0100
60877
60878 Initialize the mac address buffer with 0 as the driver specific function
60879 will probably not fill the whole buffer. In fact, all in-kernel drivers
60880 fill only ETH_ALEN of the MAX_ADDR_LEN bytes, i.e. 6 of the 32 possible
60881 bytes. Therefore we currently leak 26 bytes of stack memory to userland
60882 via the netlink interface.
60883
60884 Signed-off-by: Mathias Krause <minipli@googlemail.com>
60885
60886 From: Mathias Krause <minipli@googlemail.com>
60887 To: "David S. Miller" <davem@davemloft.net>
60888 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>
60889 Subject: [PATCH 3/3] dcbnl: fix various netlink info leaks
60890 Date: Sat, 9 Mar 2013 16:52:21 +0100
60891
60892 The dcb netlink interface leaks stack memory in various places:
60893 * perm_addr[] buffer is only filled at max with 12 of the 32 bytes but
60894 copied completely,
60895 * no in-kernel driver fills all fields of an IEEE 802.1Qaz subcommand,
60896 so we're leaking up to 58 bytes for ieee_ets structs, up to 136 bytes
60897 for ieee_pfc structs, etc.,
60898 * the same is true for CEE -- no in-kernel driver fills the whole
60899 struct,
60900
60901 Prevent all of the above stack info leaks by properly initializing the
60902 buffers/structures involved.
60903
60904 Signed-off-by: Mathias Krause <minipli@googlemail.com>
60905
60906 net/bridge/br_mdb.c | 4 ++++
60907 net/core/rtnetlink.c | 1 +
60908 net/dcb/dcbnl.c | 8 ++++++++
60909 3 files changed, 13 insertions(+), 0 deletions(-)
60910
60911 commit 601dd446f896e3a362f706943df18a68d50420a1
60912 Author: Brad Spengler <spender@grsecurity.net>
60913 Date: Sat Mar 9 09:35:25 2013 -0500
60914
60915 add open/close wrappers in __patch_text() as reported by Gu1 on IRC
60916
60917 arch/arm/kernel/patch.c | 2 ++
60918 1 files changed, 2 insertions(+), 0 deletions(-)
60919
60920 commit ae39966fd85a493e9079b357e3faa62245a41222
60921 Author: Peter Hurley <peter@hurleysoftware.com>
60922 Date: Fri Mar 8 12:43:27 2013 -0800
60923
60924 Upstream commit: 88b9e456b1649722673ffa147914299799dc9041
60925
60926 ipc: don't allocate a copy larger than max
60927
60928 When MSG_COPY is set, a duplicate message must be allocated for the copy
60929 before locking the queue. However, the copy could not be larger than was
60930 sent which is limited to msg_ctlmax.
60931
60932 Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
60933 Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
60934 Cc: <stable@vger.kernel.org>
60935 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
60936 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
60937
60938 ipc/msg.c | 6 ++++--
60939 1 files changed, 4 insertions(+), 2 deletions(-)
60940
60941 commit 61240e99650ea3e540a03a3e994349c5086f166b
60942 Author: Peter Hurley <peter@hurleysoftware.com>
60943 Date: Fri Mar 8 12:43:26 2013 -0800
60944
60945 Upstream commit: e1082f45f1e2bbf6e25f6b614fc6616ebf709d19
60946
60947 ipc: fix potential oops when src msg > 4k w/ MSG_COPY
60948
60949 If the src msg is > 4k, then dest->next points to the
60950 next allocated segment; resetting it just prior to dereferencing
60951 is bad.
60952
60953 Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
60954 Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
60955 Cc: <stable@vger.kernel.org>
60956 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
60957 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
60958
60959 ipc/msgutil.c | 3 ---
60960 1 files changed, 0 insertions(+), 3 deletions(-)
60961
60962 commit 51727f602a267f34fb2e0dc9557f1714028d51a2
60963 Author: Brad Spengler <spender@grsecurity.net>
60964 Date: Fri Mar 8 22:14:06 2013 -0500
60965
60966 add missing 'else' in recent constify fixups
60967
60968 net/ipv4/ip_fragment.c | 2 +-
60969 1 files changed, 1 insertions(+), 1 deletions(-)
60970
60971 commit a38c1a640729b3d8e584d1ab98e908c221bc12cf
60972 Merge: 1580bb3 47c3f47
60973 Author: Brad Spengler <spender@grsecurity.net>
60974 Date: Fri Mar 8 18:18:37 2013 -0500
60975
60976 Merge branch 'pax-test' into grsec-test
60977
60978 commit 47c3f47ba4f874f5c72e4c04b76b6b92e44daebe
60979 Author: Brad Spengler <spender@grsecurity.net>
60980 Date: Fri Mar 8 18:17:22 2013 -0500
60981
60982 Update to pax-linux-3.8.2-test5.patch:
60983 - fixed some fallout after the last round of constification changes, reported by several people
60984
60985 arch/arm/common/gic.c | 4 ++--
60986 arch/arm/include/asm/hardware/gic.h | 3 ++-
60987 arch/x86/include/asm/nmi.h | 2 +-
60988 arch/x86/kernel/nmi.c | 2 +-
60989 arch/x86/pci/irq.c | 2 +-
60990 drivers/base/power/domain.c | 4 ++--
60991 drivers/cpufreq/cpufreq_governor.c | 4 ++--
60992 drivers/mfd/twl4030-irq.c | 1 +
60993 drivers/video/vesafb.c | 7 +++++--
60994 include/linux/irq.h | 1 +
60995 include/linux/pm_domain.h | 2 +-
60996 kernel/sched/core.c | 4 ++++
60997 lib/Kconfig.debug | 4 ++--
60998 net/core/sysctl_net_core.c | 2 +-
60999 net/decnet/af_decnet.c | 1 +
61000 net/ipv4/devinet.c | 2 +-
61001 net/ipv4/ip_fragment.c | 2 +-
61002 net/ipv4/route.c | 2 +-
61003 net/ipv4/sysctl_net_ipv4.c | 2 +-
61004 net/ipv6/netfilter/nf_conntrack_reasm.c | 2 +-
61005 net/ipv6/reassembly.c | 2 +-
61006 scripts/sortextable.h | 6 +++---
61007 22 files changed, 36 insertions(+), 25 deletions(-)
61008
61009 commit 1580bb38b4db0bf2a46316599815e8b234edad81
61010 Author: Brad Spengler <spender@grsecurity.net>
61011 Date: Thu Mar 7 22:02:59 2013 -0500
61012
61013 add an additional open/close wrapper
61014
61015 kernel/sched/core.c | 2 ++
61016 1 files changed, 2 insertions(+), 0 deletions(-)
61017
61018 commit 21622672d28d58e0d93a805cd1f9650a894a752a
61019 Author: Brad Spengler <spender@grsecurity.net>
61020 Date: Thu Mar 7 21:58:24 2013 -0500
61021
61022 fix oops at shutdown with new constify code
61023
61024 kernel/sched/core.c | 2 ++
61025 1 files changed, 2 insertions(+), 0 deletions(-)
61026
61027 commit f6b9ab9fcc747bb1b14a4857d59e6681936220ec
61028 Author: Brad Spengler <spender@grsecurity.net>
61029 Date: Thu Mar 7 21:18:44 2013 -0500
61030
61031 Add PAX_CONSTIFY_PLUGIN, which we previously enabled unconditionally
61032 it currently conflicts with some lock debugging options, so made as an
61033 option to allow for debugging when necessary
61034
61035 Makefile | 2 --
61036 lib/Kconfig.debug | 6 +++---
61037 security/Kconfig | 18 ++++++++++++++++++
61038 3 files changed, 21 insertions(+), 5 deletions(-)
61039
61040 commit 0885b00b8373a1597b69c38032a0c9eee279303b
61041 Author: Brad Spengler <spender@grsecurity.net>
61042 Date: Thu Mar 7 20:55:19 2013 -0500
61043
61044 disable DEBUG_LOCK_ALLOC, as it conflicts with the new constify
61045
61046 lib/Kconfig.debug | 2 +-
61047 1 files changed, 1 insertions(+), 1 deletions(-)
61048
61049 commit c8a2617165e7127a54f293cbf57d22d50dd83abd
61050 Author: Brad Spengler <spender@grsecurity.net>
61051 Date: Thu Mar 7 20:30:41 2013 -0500
61052
61053 Fix error:
61054 drivers/video/vesafb.c:502:3: error: assignment of member ‘fb_pan_display’ in read-only object
61055 with cast and proper kernexec accessors
61056
61057 drivers/video/vesafb.c | 7 +++++--
61058 1 files changed, 5 insertions(+), 2 deletions(-)
61059
61060 commit 99f2814d3e2a6db25985edc47c7e09c4a2d8c408
61061 Author: Brad Spengler <spender@grsecurity.net>
61062 Date: Thu Mar 7 20:20:28 2013 -0500
61063
61064 fix typo
61065
61066 grsecurity/gracl.c | 2 +-
61067 1 files changed, 1 insertions(+), 1 deletions(-)
61068
61069 commit 399674de6c42bbcae2d01b082d6d9ce9d183b000
61070 Author: Brad Spengler <spender@grsecurity.net>
61071 Date: Thu Mar 7 20:12:17 2013 -0500
61072
61073 fix compilation error -- no reason for task_pid_nr to not take a const task ptr
61074
61075 include/linux/sched.h | 2 +-
61076 1 files changed, 1 insertions(+), 1 deletions(-)
61077
61078 commit a6c239eacf683f9dd2aeebb1b1adb71e5eedbd9f
61079 Author: Kees Cook <keescook@chromium.org>
61080 Date: Mon Feb 25 21:32:25 2013 +0000
61081
61082 Upstream commit: e70ab977991964a5a7ad1182799451d067e62669
61083
61084 proc connector: reject unprivileged listener bumps
61085
61086 While PROC_CN_MCAST_LISTEN/IGNORE is entirely advisory, it was possible
61087 for an unprivileged user to turn off notifications for all listeners by
61088 sending PROC_CN_MCAST_IGNORE. Instead, require the same privileges as
61089 required for a multicast bind.
61090
61091 Signed-off-by: Kees Cook <keescook@chromium.org>
61092 Cc: Evgeniy Polyakov <zbr@ioremap.net>
61093 Cc: Matt Helsley <matthltc@us.ibm.com>
61094 Cc: stable@vger.kernel.org
61095 Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
61096 Acked-by: Matt Helsley <matthltc@us.ibm.com>
61097 Signed-off-by: David S. Miller <davem@davemloft.net>
61098
61099 drivers/connector/cn_proc.c | 8 ++++++++
61100 1 files changed, 8 insertions(+), 0 deletions(-)
61101
61102 commit ac6014ded57101e3e608941555ff507e20c1ece3
61103 Author: Dan Carpenter <dan.carpenter@oracle.com>
61104 Date: Tue Feb 26 19:15:02 2013 +0000
61105
61106 Upstream commit: 90c7881ecee1f08e0a49172cf61371cf2509ee4a
61107
61108 irda: small read beyond end of array in debug code
61109
61110 charset comes from skb->data. It's a number in the 0-255 range.
61111 If we have debugging turned on then this could cause a read beyond
61112 the end of the array.
61113
61114 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
61115 Signed-off-by: David S. Miller <davem@davemloft.net>
61116
61117 net/irda/iriap.c | 7 +++++--
61118 1 files changed, 5 insertions(+), 2 deletions(-)
61119
61120 commit e60bd2aad9bfdb68731cc888eae14a7600bd2ffe
61121 Author: Guenter Roeck <linux@roeck-us.net>
61122 Date: Wed Feb 27 10:57:31 2013 +0000
61123
61124 Upstream commit: 726bc6b092da4c093eb74d13c07184b18c1af0f1
61125
61126 net/sctp: Validate parameter size for SCTP_GET_ASSOC_STATS
61127
61128 Building sctp may fail with:
61129
61130 In function ‘copy_from_user’,
61131 inlined from ‘sctp_getsockopt_assoc_stats’ at
61132 net/sctp/socket.c:5656:20:
61133 arch/x86/include/asm/uaccess_32.h:211:26: error: call to
61134 ‘copy_from_user_overflow’ declared with attribute error: copy_from_user()
61135 buffer size is not provably correct
61136
61137 if built with W=1 due to a missing parameter size validation
61138 before the call to copy_from_user.
61139
61140 Signed-off-by: Guenter Roeck <linux@roeck-us.net>
61141 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
61142 Signed-off-by: David S. Miller <davem@davemloft.net>
61143
61144 net/sctp/socket.c | 6 +++---
61145 1 files changed, 3 insertions(+), 3 deletions(-)
61146
61147 commit be49e0ae9a4d0e8daa831d7d8d6f3a56beda3e3c
61148 Author: Guillaume Nault <g.nault@alphalink.fr>
61149 Date: Fri Mar 1 05:02:02 2013 +0000
61150
61151 Upstream commit: 8b82547e33e85fc24d4d172a93c796de1fefa81a
61152
61153 l2tp: Restore socket refcount when sendmsg succeeds
61154
61155 The sendmsg() syscall handler for PPPoL2TP doesn't decrease the socket
61156 reference counter after successful transmissions. Any successful
61157 sendmsg() call from userspace will then increase the reference counter
61158 forever, thus preventing the kernel's session and tunnel data from
61159 being freed later on.
61160
61161 The problem only happens when writing directly on L2TP sockets.
61162 PPP sockets attached to L2TP are unaffected as the PPP subsystem
61163 uses pppol2tp_xmit() which symmetrically increase/decrease reference
61164 counters.
61165
61166 This patch adds the missing call to sock_put() before returning from
61167 pppol2tp_sendmsg().
61168
61169 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
61170 Signed-off-by: David S. Miller <davem@davemloft.net>
61171
61172 net/l2tp/l2tp_ppp.c | 1 +
61173 1 files changed, 1 insertions(+), 0 deletions(-)
61174
61175 commit 98a9a5f981f5deda4059a255c1196886f2f27e2f
61176 Author: Cong Wang <amwang@redhat.com>
61177 Date: Sun Mar 3 16:18:11 2013 +0000
61178
61179 Upstream commit: ece6b0a2b25652d684a7ced4ae680a863af041e0
61180
61181 rds: limit the size allocated by rds_message_alloc()
61182
61183 Dave Jones reported the following bug:
61184
61185 "When fed mangled socket data, rds will trust what userspace gives it,
61186 and tries to allocate enormous amounts of memory larger than what
61187 kmalloc can satisfy."
61188
61189 WARNING: at mm/page_alloc.c:2393 __alloc_pages_nodemask+0xa0d/0xbe0()
61190 Hardware name: GA-MA78GM-S2H
61191 Modules linked in: vmw_vsock_vmci_transport vmw_vmci vsock fuse bnep dlci bridge 8021q garp stp mrp binfmt_misc l2tp_ppp l2tp_core rfcomm s
61192 Pid: 24652, comm: trinity-child2 Not tainted 3.8.0+ #65
61193 Call Trace:
61194 [<ffffffff81044155>] warn_slowpath_common+0x75/0xa0
61195 [<ffffffff8104419a>] warn_slowpath_null+0x1a/0x20
61196 [<ffffffff811444ad>] __alloc_pages_nodemask+0xa0d/0xbe0
61197 [<ffffffff8100a196>] ? native_sched_clock+0x26/0x90
61198 [<ffffffff810b2128>] ? trace_hardirqs_off_caller+0x28/0xc0
61199 [<ffffffff810b21cd>] ? trace_hardirqs_off+0xd/0x10
61200 [<ffffffff811861f8>] alloc_pages_current+0xb8/0x180
61201 [<ffffffff8113eaaa>] __get_free_pages+0x2a/0x80
61202 [<ffffffff811934fe>] kmalloc_order_trace+0x3e/0x1a0
61203 [<ffffffff81193955>] __kmalloc+0x2f5/0x3a0
61204 [<ffffffff8104df0c>] ? local_bh_enable_ip+0x7c/0xf0
61205 [<ffffffffa0401ab3>] rds_message_alloc+0x23/0xb0 [rds]
61206 [<ffffffffa04043a1>] rds_sendmsg+0x2b1/0x990 [rds]
61207 [<ffffffff810b21cd>] ? trace_hardirqs_off+0xd/0x10
61208 [<ffffffff81564620>] sock_sendmsg+0xb0/0xe0
61209 [<ffffffff810b2052>] ? get_lock_stats+0x22/0x70
61210 [<ffffffff810b24be>] ? put_lock_stats.isra.23+0xe/0x40
61211 [<ffffffff81567f30>] sys_sendto+0x130/0x180
61212 [<ffffffff810b872d>] ? trace_hardirqs_on+0xd/0x10
61213 [<ffffffff816c547b>] ? _raw_spin_unlock_irq+0x3b/0x60
61214 [<ffffffff816cd767>] ? sysret_check+0x1b/0x56
61215 [<ffffffff810b8695>] ? trace_hardirqs_on_caller+0x115/0x1a0
61216 [<ffffffff81341d8e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
61217 [<ffffffff816cd742>] system_call_fastpath+0x16/0x1b
61218 ---[ end trace eed6ae990d018c8b ]---
61219
61220 Reported-by: Dave Jones <davej@redhat.com>
61221 Cc: Dave Jones <davej@redhat.com>
61222 Cc: David S. Miller <davem@davemloft.net>
61223 Cc: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
61224 Signed-off-by: Cong Wang <amwang@redhat.com>
61225 Acked-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
61226 Signed-off-by: David S. Miller <davem@davemloft.net>
61227
61228 net/rds/message.c | 3 +++
61229 1 files changed, 3 insertions(+), 0 deletions(-)
61230
61231 commit b46df323e01c63c62fdb82cf2c47e4386f5a0499
61232 Author: Cong Wang <amwang@redhat.com>
61233 Date: Sun Mar 3 16:28:27 2013 +0000
61234
61235 Upstream commit: 3f736868b47687d1336fe88185560b22bb92021e
61236
61237 sctp: use KMALLOC_MAX_SIZE instead of its own MAX_KMALLOC_SIZE
61238
61239 Don't definite its own MAX_KMALLOC_SIZE, use the one
61240 defined in mm.
61241
61242 Cc: Vlad Yasevich <vyasevich@gmail.com>
61243 Cc: Sridhar Samudrala <sri@us.ibm.com>
61244 Cc: Neil Horman <nhorman@tuxdriver.com>
61245 Cc: David S. Miller <davem@davemloft.net>
61246 Signed-off-by: Cong Wang <amwang@redhat.com>
61247 Acked-by: Neil Horman <nhorman@tuxdriver.com>
61248 Signed-off-by: David S. Miller <davem@davemloft.net>
61249
61250 net/sctp/ssnmap.c | 8 +++-----
61251 1 files changed, 3 insertions(+), 5 deletions(-)
61252
61253 commit 4295a024e812f903fc580c81de5e81cc149503fa
61254 Author: Brad Spengler <spender@grsecurity.net>
61255 Date: Thu Mar 7 17:57:49 2013 -0500
61256
61257 Upstream commit: https://lkml.org/lkml/2013/3/6/535
61258
61259 security/keys/process_keys.c | 2 +-
61260 1 files changed, 1 insertions(+), 1 deletions(-)
61261
61262 commit 33edd486a9899a145a15586d7134636b0300aaee
61263 Merge: 4eeeaf3 a2a2094
61264 Author: Brad Spengler <spender@grsecurity.net>
61265 Date: Thu Mar 7 17:53:00 2013 -0500
61266
61267 Merge branch 'pax-test' into grsec-test
61268
61269 Conflicts:
61270 arch/arm/include/asm/domain.h
61271
61272 commit a2a20947f5e1332e474160a39af520738b3c8c19
61273 Author: Brad Spengler <spender@grsecurity.net>
61274 Date: Thu Mar 7 17:51:04 2013 -0500
61275
61276 Update to pax-linux-3.8.2-test4.patch:
61277 fixed arm compilation problems reported by Michael Tremer
61278 - the constify plugin got smarter that enabled, with some additional patching,
61279 the elimination of about half the static function pointers on amd64/allmod
61280 (up from about 18%), depending on the kernel config it can be even more (70%)
61281
61282 Documentation/dontdiff | 2 +
61283 arch/arm/include/asm/domain.h | 1 +
61284 arch/x86/include/asm/i8259.h | 2 +-
61285 arch/x86/include/asm/nmi.h | 4 +-
61286 arch/x86/kernel/acpi/boot.c | 4 +-
61287 arch/x86/kernel/apic/apic_noop.c | 2 +-
61288 arch/x86/kernel/apic/es7000_32.c | 2 +-
61289 arch/x86/kernel/apic/io_apic.c | 10 +-
61290 arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
61291 arch/x86/kernel/cpu/perf_event.c | 6 +-
61292 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
61293 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
61294 arch/x86/kernel/i8259.c | 6 +-
61295 arch/x86/kernel/io_delay.c | 2 +-
61296 arch/x86/kernel/nmi.c | 6 +-
61297 arch/x86/kernel/nmi_selftest.c | 4 +-
61298 arch/x86/kernel/pci-swiotlb.c | 2 +-
61299 arch/x86/oprofile/nmi_int.c | 8 +-
61300 arch/x86/oprofile/op_model_amd.c | 8 +-
61301 arch/x86/oprofile/op_model_ppro.c | 7 +-
61302 arch/x86/oprofile/op_x86_model.h | 2 +-
61303 arch/x86/pci/irq.c | 6 +-
61304 drivers/acpi/apei/apei-internal.h | 2 +-
61305 drivers/acpi/bgrt.c | 6 +-
61306 drivers/acpi/blacklist.c | 2 +-
61307 drivers/acpi/processor_idle.c | 2 +-
61308 drivers/acpi/sysfs.c | 4 +-
61309 drivers/base/bus.c | 4 +-
61310 drivers/base/node.c | 2 +-
61311 drivers/base/syscore.c | 4 +-
61312 drivers/block/drbd/drbd_receiver.c | 4 +-
61313 drivers/char/random.c | 2 +-
61314 drivers/cpufreq/acpi-cpufreq.c | 20 ++-
61315 drivers/cpufreq/cpufreq.c | 7 +-
61316 drivers/cpufreq/cpufreq_governor.c | 4 +-
61317 drivers/cpufreq/cpufreq_governor.h | 2 +-
61318 drivers/cpufreq/p4-clockmod.c | 12 +-
61319 drivers/cpufreq/speedstep-centrino.c | 7 +-
61320 drivers/cpuidle/cpuidle.c | 2 +-
61321 drivers/cpuidle/governor.c | 4 +-
61322 drivers/cpuidle/sysfs.c | 2 +-
61323 drivers/devfreq/devfreq.c | 4 +-
61324 drivers/edac/edac_mc_sysfs.c | 2 +-
61325 drivers/edac/edac_pci_sysfs.c | 2 +-
61326 drivers/firewire/core-device.c | 2 +-
61327 drivers/firmware/dmi-id.c | 2 +-
61328 drivers/firmware/efivars.c | 2 +-
61329 drivers/firmware/google/memconsole.c | 4 +-
61330 drivers/gpio/gpio-ich.c | 2 +-
61331 drivers/gpu/drm/drm_drv.c | 2 +-
61332 drivers/gpu/drm/drm_ioc32.c | 9 +-
61333 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
61334 drivers/gpu/drm/i915/intel_display.c | 26 ++-
61335 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
61336 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
61337 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
61338 drivers/gpu/drm/radeon/radeon_ioc32.c | 11 +-
61339 drivers/gpu/drm/radeon/radeon_ttm.c | 33 ++--
61340 drivers/gpu/drm/udl/udl_fb.c | 1 -
61341 drivers/hwmon/acpi_power_meter.c | 4 +-
61342 drivers/hwmon/applesmc.c | 2 +-
61343 drivers/hwmon/asus_atk0110.c | 10 +-
61344 drivers/hwmon/ibmaem.c | 2 +-
61345 drivers/hwmon/pmbus/pmbus_core.c | 2 +-
61346 drivers/iio/industrialio-core.c | 2 +-
61347 drivers/input/mouse/psmouse.h | 2 +-
61348 drivers/iommu/iommu.c | 2 +-
61349 drivers/leds/leds-clevo-mail.c | 2 +-
61350 drivers/leds/leds-ss4200.c | 2 +-
61351 drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
61352 drivers/mfd/twl4030-irq.c | 8 +-
61353 drivers/mfd/twl6030-irq.c | 10 +-
61354 drivers/misc/c2port/core.c | 4 +-
61355 drivers/mtd/sm_ftl.c | 2 +-
61356 drivers/net/bonding/bond_main.c | 2 +-
61357 drivers/net/macvlan.c | 16 +-
61358 drivers/net/vxlan.c | 2 +-
61359 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
61360 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
61361 drivers/pci/hotplug/pciehp_core.c | 2 +-
61362 drivers/pci/pci-sysfs.c | 6 +-
61363 drivers/pci/pci.h | 2 +-
61364 drivers/platform/x86/msi-laptop.c | 14 +-
61365 drivers/platform/x86/sony-laptop.c | 2 +-
61366 drivers/power/power_supply.h | 4 +-
61367 drivers/power/power_supply_core.c | 6 +-
61368 drivers/power/power_supply_sysfs.c | 6 +-
61369 drivers/rtc/rtc-cmos.c | 4 +-
61370 drivers/rtc/rtc-ds1307.c | 2 +-
61371 drivers/rtc/rtc-m48t59.c | 4 +-
61372 drivers/scsi/bfa/bfa.h | 2 +-
61373 drivers/staging/iio/iio_hwmon.c | 2 +-
61374 drivers/usb/storage/usb.h | 2 +-
61375 drivers/video/aty/atyfb_base.c | 8 +-
61376 drivers/video/aty/mach64_cursor.c | 4 +-
61377 drivers/video/backlight/kb3886_bl.c | 2 +-
61378 drivers/video/fb_defio.c | 6 +-
61379 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
61380 drivers/video/nvidia/nvidia.c | 27 ++-
61381 drivers/video/s1d13xxxfb.c | 6 +-
61382 drivers/video/smscufx.c | 4 +-
61383 drivers/video/udlfb.c | 4 +-
61384 drivers/video/uvesafb.c | 14 +-
61385 fs/exec.c | 6 +-
61386 fs/ext4/super.c | 2 +-
61387 fs/jfs/super.c | 4 +-
61388 fs/nfs/callback_xdr.c | 2 +-
61389 fs/nfsd/nfs4proc.c | 2 +-
61390 fs/nfsd/nfs4xdr.c | 6 +-
61391 fs/nls/nls_base.c | 18 +-
61392 fs/nls/nls_euc-jp.c | 6 +-
61393 fs/nls/nls_koi8-ru.c | 6 +-
61394 fs/proc/proc_sysctl.c | 18 +-
61395 include/drm/drmP.h | 12 +-
61396 include/keys/asymmetric-subtype.h | 2 +-
61397 include/linux/atmdev.h | 2 +-
61398 include/linux/binfmts.h | 2 +-
61399 include/linux/configfs.h | 2 +-
61400 include/linux/cpufreq.h | 3 +-
61401 include/linux/cpuidle.h | 5 +-
61402 include/linux/devfreq.h | 2 +-
61403 include/linux/device.h | 7 +-
61404 include/linux/extcon.h | 2 +-
61405 include/linux/fb.h | 2 +-
61406 include/linux/fscache.h | 2 +-
61407 include/linux/genl_magic_func.h | 2 +-
61408 include/linux/hwmon-sysfs.h | 5 +-
61409 include/linux/iommu.h | 2 +-
61410 include/linux/irq.h | 2 +-
61411 include/linux/key-type.h | 2 +-
61412 include/linux/kobject.h | 1 +
61413 include/linux/kobject_ns.h | 2 +-
61414 include/linux/list.h | 14 +-
61415 include/linux/mod_devicetable.h | 2 +-
61416 include/linux/module.h | 5 +-
61417 include/linux/net.h | 2 +-
61418 include/linux/netfilter.h | 2 +-
61419 include/linux/nls.h | 2 +-
61420 include/linux/pci_hotplug.h | 3 +-
61421 include/linux/platform_data/usb-exynos.h | 2 +-
61422 include/linux/pnp.h | 2 +-
61423 include/linux/ppp-comp.h | 2 +-
61424 include/linux/rculist.h | 16 ++
61425 include/linux/sched.h | 2 +-
61426 include/linux/sock_diag.h | 2 +-
61427 include/linux/sunrpc/clnt.h | 2 +-
61428 include/linux/sunrpc/svc.h | 2 +-
61429 include/linux/sunrpc/svcauth.h | 2 +-
61430 include/linux/swiotlb.h | 3 +-
61431 include/linux/syscore_ops.h | 2 +-
61432 include/linux/sysctl.h | 6 +-
61433 include/linux/sysfs.h | 10 +-
61434 include/linux/sysrq.h | 1 +
61435 include/linux/xattr.h | 2 +-
61436 include/net/9p/transport.h | 2 +-
61437 include/net/bluetooth/l2cap.h | 2 +-
61438 include/net/genetlink.h | 2 +-
61439 include/net/ip.h | 2 +-
61440 include/net/ip_vs.h | 4 +-
61441 include/net/llc_c_ac.h | 2 +-
61442 include/net/llc_c_ev.h | 4 +-
61443 include/net/llc_c_st.h | 2 +-
61444 include/net/llc_s_ac.h | 2 +-
61445 include/net/llc_s_st.h | 2 +-
61446 include/net/mac80211.h | 2 +-
61447 include/net/net_namespace.h | 2 +-
61448 include/net/netns/conntrack.h | 6 +-
61449 include/net/rtnetlink.h | 2 +-
61450 include/net/sctp/sm.h | 4 +-
61451 include/net/sctp/structs.h | 2 +-
61452 include/net/xfrm.h | 4 +-
61453 ipc/ipc_sysctl.c | 10 +-
61454 ipc/mq_sysctl.c | 2 +-
61455 kernel/kmod.c | 2 +-
61456 kernel/ksysfs.c | 2 +-
61457 kernel/module.c | 4 +-
61458 kernel/pid_namespace.c | 2 +-
61459 kernel/rcutree_plugin.h | 2 +-
61460 kernel/sched/core.c | 39 ++--
61461 kernel/smpboot.c | 4 +-
61462 kernel/softirq.c | 2 +-
61463 kernel/sysctl.c | 2 +-
61464 kernel/utsname_sysctl.c | 2 +-
61465 kernel/watchdog.c | 2 +-
61466 lib/Kconfig.debug | 2 +-
61467 lib/kobject.c | 4 +-
61468 lib/list_debug.c | 57 ++++-
61469 lib/swiotlb.c | 2 +-
61470 mm/hugetlb.c | 16 +-
61471 mm/memory-failure.c | 2 +-
61472 mm/slab_common.c | 2 +-
61473 net/9p/mod.c | 4 +-
61474 net/ax25/sysctl_net_ax25.c | 2 +-
61475 net/core/neighbour.c | 2 +-
61476 net/core/net-sysfs.c | 2 +-
61477 net/core/net_namespace.c | 8 +-
61478 net/core/rtnetlink.c | 11 +-
61479 net/core/sock_diag.c | 9 +-
61480 net/core/sysctl_net_core.c | 15 +-
61481 net/ipv4/af_inet.c | 8 +-
61482 net/ipv4/devinet.c | 12 +-
61483 net/ipv4/inet_connection_sock.c | 2 +-
61484 net/ipv4/ip_fragment.c | 9 +-
61485 net/ipv4/ip_gre.c | 6 +-
61486 net/ipv4/ip_vti.c | 4 +-
61487 net/ipv4/ipip.c | 4 +-
61488 net/ipv4/route.c | 14 +-
61489 net/ipv4/sysctl_net_ipv4.c | 43 ++--
61490 net/ipv6/addrconf.c | 4 +-
61491 net/ipv6/icmp.c | 2 +-
61492 net/ipv6/ip6_gre.c | 6 +-
61493 net/ipv6/ip6_tunnel.c | 4 +-
61494 net/ipv6/netfilter/nf_conntrack_reasm.c | 12 +-
61495 net/ipv6/reassembly.c | 11 +-
61496 net/ipv6/route.c | 2 +-
61497 net/ipv6/sit.c | 4 +-
61498 net/ipv6/sysctl_net_ipv6.c | 2 +-
61499 net/netfilter/ipset/ip_set_core.c | 2 +-
61500 net/netfilter/ipvs/ip_vs_ctl.c | 4 +-
61501 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
61502 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
61503 net/netfilter/nf_conntrack_acct.c | 2 +-
61504 net/netfilter/nf_conntrack_ecache.c | 2 +-
61505 net/netfilter/nf_conntrack_helper.c | 2 +-
61506 net/netfilter/nf_conntrack_proto.c | 2 +-
61507 net/netfilter/nf_conntrack_standalone.c | 2 +-
61508 net/netfilter/nf_conntrack_timestamp.c | 2 +-
61509 net/netfilter/nf_log.c | 10 +-
61510 net/netfilter/nf_sockopt.c | 4 +-
61511 net/netlink/genetlink.c | 16 +-
61512 net/phonet/sysctl.c | 2 +-
61513 net/rds/rds.h | 2 +-
61514 net/sctp/ipv6.c | 6 +-
61515 net/sctp/protocol.c | 10 +-
61516 net/sctp/sm_sideeffect.c | 2 +-
61517 net/sctp/sysctl.c | 4 +-
61518 net/sunrpc/clnt.c | 4 +-
61519 net/sunrpc/svc.c | 4 +-
61520 net/unix/sysctl_net_unix.c | 2 +-
61521 net/xfrm/xfrm_policy.c | 11 +-
61522 net/xfrm/xfrm_state.c | 29 ++-
61523 net/xfrm/xfrm_sysctl.c | 2 +-
61524 security/apparmor/lsm.c | 2 +-
61525 security/keys/key.c | 18 +-
61526 security/yama/yama_lsm.c | 22 +-
61527 tools/gcc/Makefile | 4 +-
61528 tools/gcc/constify_plugin.c | 299 +++++++++++++++++++------
61529 tools/gcc/size_overflow_plugin.c | 7 +-
61530 248 files changed, 994 insertions(+), 668 deletions(-)
61531
61532 commit 4eeeaf3a560e25d1685f8973ef676b205efaa81b
61533 Author: Brad Spengler <spender@grsecurity.net>
61534 Date: Wed Mar 6 12:58:21 2013 -0500
61535
61536 Make slab_state __read_only, it's only written to during init
61537
61538 mm/slab_common.c | 2 +-
61539 1 files changed, 1 insertions(+), 1 deletions(-)
61540
61541 commit e7067b68d36fb9e0e8818de5d9ce1b4ba19ce24a
61542 Author: Brad Spengler <spender@grsecurity.net>
61543 Date: Wed Mar 6 12:31:35 2013 -0500
61544
61545 Make two new helper functions:
61546 gr_is_global_root() and gr_is_global_nonroot()
61547
61548 grsecurity/gracl.c | 10 +++++-----
61549 grsecurity/gracl_segv.c | 2 +-
61550 grsecurity/grsec_link.c | 4 ++--
61551 grsecurity/grsec_sig.c | 10 +++++-----
61552 grsecurity/grsec_tpe.c | 6 +++---
61553 include/linux/uidgid.h | 2 ++
61554 6 files changed, 18 insertions(+), 16 deletions(-)
61555
61556 commit d45d88eddd4998b280b1e5b5384289ee11ca7088
61557 Author: Brad Spengler <spender@grsecurity.net>
61558 Date: Wed Mar 6 12:14:41 2013 -0500
61559
61560 convert remaining task->pid to task_pid_nr(task)
61561
61562 grsecurity/gracl.c | 22 +++++++++++-----------
61563 grsecurity/gracl_shm.c | 2 +-
61564 grsecurity/grsec_chroot.c | 4 ++--
61565 grsecurity/grsec_sig.c | 4 ++--
61566 4 files changed, 16 insertions(+), 16 deletions(-)
61567
61568 commit c877f2ece03ee2232dd281c1977ae59507297124
61569 Author: Brad Spengler <spender@grsecurity.net>
61570 Date: Tue Mar 5 17:29:54 2013 -0500
61571
61572 compat-log is only used anymore by vm86-on-64bit and allows unlimited
61573 spamming of the kernel log buffer (and since it includes the changable
61574 process name, can avoid syslog log deduplication)
61575 Turn it off by default
61576
61577 fs/compat.c | 2 +-
61578 1 files changed, 1 insertions(+), 1 deletions(-)
61579
61580 commit 7c1964c4b7276889d7967bee70e46918cdca1b14
61581 Author: Brad Spengler <spender@grsecurity.net>
61582 Date: Mon Mar 4 17:19:10 2013 -0500
61583
61584 fix compilation error reported on IRC and forums when GRKERNSEC_PROC_USERGROUP
61585 is enabled, introduced with recent userns support
61586
61587 init/main.c | 4 ++--
61588 1 files changed, 2 insertions(+), 2 deletions(-)
61589
61590 commit c3ce01b94d8dd42b9c7942c0d513b152613e0656
61591 Author: Brad Spengler <spender@grsecurity.net>
61592 Date: Sun Mar 3 18:46:12 2013 -0500
61593
61594 Prevent TOMOYO from auto-loading modules by unprivileged users
61595 (Only reachable if TOMOYO is actually used)
61596
61597 security/tomoyo/mount.c | 4 ++++
61598 1 files changed, 4 insertions(+), 0 deletions(-)
61599
61600 commit 79e142f9455b398759ff9d93d4963a21b98dddda
61601 Author: Brad Spengler <spender@grsecurity.net>
61602 Date: Sun Mar 3 18:28:45 2013 -0500
61603
61604 For now, don't permit any special access to /proc in a user namespace
61605 Later we can go back and allow a userns-uid0 special access to a /proc
61606 with a non-global pid namespace
61607
61608 fs/proc/base.c | 2 +-
61609 1 files changed, 1 insertions(+), 1 deletions(-)
61610
61611 commit 8b91fb393049ce5f3c0a86f62247409853fd9700
61612 Merge: d931eb8 603ef05
61613 Author: Brad Spengler <spender@grsecurity.net>
61614 Date: Sun Mar 3 17:42:09 2013 -0500
61615
61616 Merge branch 'pax-test' into grsec-test
61617
61618 commit 603ef0579b9c3765d999c1938cb7a120d8c8e00b
61619 Author: Brad Spengler <spender@grsecurity.net>
61620 Date: Sun Mar 3 17:41:31 2013 -0500
61621
61622 Fix compilation error on ARM reported by Michael Tremer
61623
61624 arch/arm/mach-omap2/wd_timer.c | 6 +++---
61625 1 files changed, 3 insertions(+), 3 deletions(-)
61626
61627 commit b4c9ce81fdd7839a150c97873c710c479e788280
61628 Author: Brad Spengler <spender@grsecurity.net>
61629 Date: Sun Mar 3 17:39:53 2013 -0500
61630
61631 Fix compilation error on ARM reported by Michael Tremer
61632
61633 arch/arm/kernel/armksyms.c | 2 +-
61634 1 files changed, 1 insertions(+), 1 deletions(-)
61635
61636 commit d931eb81ab3da46896268fd61373a6aa7bbea930
61637 Merge: bfa7f44 5948f93
61638 Author: Brad Spengler <spender@grsecurity.net>
61639 Date: Sun Mar 3 17:34:36 2013 -0500
61640
61641 Merge branch 'pax-test' into grsec-test
61642
61643 commit 5948f930bc1c2d22138c1c76ca7e1bc94b6a3ce0
61644 Merge: ab30472 19b00d2
61645 Author: Brad Spengler <spender@grsecurity.net>
61646 Date: Sun Mar 3 17:34:08 2013 -0500
61647
61648 Merge branch 'linux-3.8.y' into pax-test
61649
61650 commit bfa7f445c5d484de51a5828b92ad2ff65053cc87
61651 Author: Brad Spengler <spender@grsecurity.net>
61652 Date: Sun Mar 3 15:12:12 2013 -0500
61653
61654 Initial support for user namespaces, as we previously didn't allow
61655 the option to be enabled at all.
61656
61657 RBAC will act on the global uids/gids only, so all uids/gids in user
61658 namespaces will be converted
61659
61660 Because Eric Biederman is insulted that I didn't support his
61661 backdoor prior to it receiving proper review. I still have the CAP_SYS_ADMIN
61662 check in for user namespaces, so this is generally irrelevant.
61663
61664 fs/exec.c | 6 +-
61665 fs/proc/base.c | 2 +-
61666 fs/proc/proc_net.c | 4 +-
61667 grsecurity/gracl.c | 128 +++++++++++++++++++++++++++++-------------
61668 grsecurity/gracl_cap.c | 4 +-
61669 grsecurity/gracl_ip.c | 16 +++---
61670 grsecurity/gracl_segv.c | 12 +++-
61671 grsecurity/gracl_shm.c | 4 +-
61672 grsecurity/grsec_disabled.c | 10 ++--
61673 grsecurity/grsec_fifo.c | 6 +-
61674 grsecurity/grsec_init.c | 24 ++++----
61675 grsecurity/grsec_log.c | 3 -
61676 grsecurity/grsec_tpe.c | 6 +-
61677 include/linux/grinternal.h | 12 ++--
61678 include/linux/grsecurity.h | 12 ++--
61679 include/linux/uidgid.h | 3 +
61680 init/Kconfig | 2 -
61681 ipc/shm.c | 2 +-
61682 kernel/cred.c | 5 +-
61683 kernel/kallsyms.c | 2 +-
61684 kernel/kmod.c | 6 +-
61685 kernel/sys.c | 12 ++--
61686 22 files changed, 166 insertions(+), 115 deletions(-)
61687
61688 commit 27a8cc1a9f22f95de6fe8740bdc900a160274dff
61689 Author: Linus Torvalds <torvalds@linux-foundation.org>
61690 Date: Wed Feb 27 08:36:04 2013 -0800
61691
61692 Upstream commit: 09884964335e85e897876d17783c2ad33cf8a2e0
61693
61694 mm: do not grow the stack vma just because of an overrun on preceding vma
61695
61696 The stack vma is designed to grow automatically (marked with VM_GROWSUP
61697 or VM_GROWSDOWN depending on architecture) when an access is made beyond
61698 the existing boundary. However, particularly if you have not limited
61699 your stack at all ("ulimit -s unlimited"), this can cause the stack to
61700 grow even if the access was really just one past *another* segment.
61701
61702 And that's wrong, especially since we first grow the segment, but then
61703 immediately later enforce the stack guard page on the last page of the
61704 segment. So _despite_ first growing the stack segment as a result of
61705 the access, the kernel will then make the access cause a SIGSEGV anyway!
61706
61707 So do the same logic as the guard page check does, and consider an
61708 access to within one page of the next segment to be a bad access, rather
61709 than growing the stack to abut the next segment.
61710
61711 Reported-and-tested-by: Heiko Carstens <heiko.carstens@de.ibm.com>
61712 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
61713
61714 mm/mmap.c | 27 +++++++++++++++++++++++++++
61715 1 files changed, 27 insertions(+), 0 deletions(-)
61716
61717 commit 5596211af754867ca825f58e6e0300a8439950fe
61718 Author: H. Peter Anvin <hpa@linux.intel.com>
61719 Date: Wed Feb 27 12:46:40 2013 -0800
61720
61721 Upstream commit: 7c10093692ed2e6f318387d96b829320aa0ca64c
61722
61723 x86: Make sure we can boot in the case the BDA contains pure garbage
61724
61725 On non-BIOS platforms it is possible that the BIOS data area contains
61726 garbage instead of being zeroed or something equivalent (firmware
61727 people: we are talking of 1.5K here, so please do the sane thing.)
61728
61729 We need on the order of 20-30K of low memory in order to boot, which
61730 may grow up to < 64K in the future. We probably want to avoid the
61731 lowest of the low memory. At the same time, it seems extremely
61732 unlikely that a legitimate EBDA would ever reach down to the 128K
61733 (which would require it to be over half a megabyte in size.) Thus,
61734 pick 128K as the cutoff for "this is insane, ignore." We may still
61735 end up reserving a bunch of extra memory on the low megabyte, but that
61736 is not really a major issue these days. In the worst case we lose
61737 512K of RAM.
61738
61739 This code really should be merged with trim_bios_range() in
61740 arch/x86/kernel/setup.c, but that is a bigger patch for a later merge
61741 window.
61742
61743 Reported-by: Darren Hart <dvhart@linux.intel.com>
61744 Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
61745 Cc: Matt Fleming <matt.fleming@intel.com>
61746 Cc: <stable@vger.kernel.org>
61747 Link: http://lkml.kernel.org/n/tip-oebml055yyfm8yxmria09rja@git.kernel.org
61748
61749 arch/x86/kernel/head.c | 53 ++++++++++++++++++++++++++++++-----------------
61750 1 files changed, 34 insertions(+), 19 deletions(-)
61751
61752 commit 10eb1dabfb743fb22dcbcf186bb8d2192d2d55ea
61753 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
61754 Date: Wed Feb 27 17:05:46 2013 -0800
61755
61756 Upstream commit: 940da353a83e895ea600cb8ab17dceefb1bcb469
61757
61758 memstick: move the dereference below the NULL test
61759
61760 The dereference should be moved below the NULL test.
61761
61762 spatch with a semantic match is used to found this.
61763 (http://coccinelle.lip6.fr/)
61764
61765 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
61766 Cc: Maxim Levitsky <maximlevitsky@gmail.com>
61767 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
61768 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
61769
61770 drivers/memstick/host/r592.c | 3 ++-
61771 1 files changed, 2 insertions(+), 1 deletions(-)
61772
61773 commit 1a63cb1ca50a10748cbf766894ecedf34a89baa3
61774 Author: Xi Wang <xi.wang@gmail.com>
61775 Date: Wed Feb 27 17:05:21 2013 -0800
61776
61777 Upstream commit: df1778be1a33edffa51d094eeda87c858ded6560
61778
61779 sysctl: fix null checking in bin_dn_node_address()
61780
61781 The null check of `strchr() + 1' is broken, which is always non-null,
61782 leading to OOB read. Instead, check the result of strchr().
61783
61784 Signed-off-by: Xi Wang <xi.wang@gmail.com>
61785 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
61786 Cc: <stable@vger.kernel.org>
61787 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
61788 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
61789
61790 kernel/sysctl_binary.c | 3 ++-
61791 1 files changed, 2 insertions(+), 1 deletions(-)
61792
61793 commit 7ca96db0817416fd40761e7437d1939fc0731380
61794 Author: Tejun Heo <tj@kernel.org>
61795 Date: Wed Feb 27 17:03:34 2013 -0800
61796
61797 Upstream commit: 6cdae7416a1c45c2ce105a78187d9b7e8feb9e24
61798
61799 idr: fix a subtle bug in idr_get_next()
61800
61801 The iteration logic of idr_get_next() is borrowed mostly verbatim from
61802 idr_for_each(). It walks down the tree looking for the slot matching
61803 the current ID. If the matching slot is not found, the ID is
61804 incremented by the distance of single slot at the given level and
61805 repeats.
61806
61807 The implementation assumes that during the whole iteration id is aligned
61808 to the layer boundaries of the level closest to the leaf, which is true
61809 for all iterations starting from zero or an existing element and thus is
61810 fine for idr_for_each().
61811
61812 However, idr_get_next() may be given any point and if the starting id
61813 hits in the middle of a non-existent layer, increment to the next layer
61814 will end up skipping the same offset into it. For example, an IDR with
61815 IDs filled between [64, 127] would look like the following.
61816
61817 [ 0 64 ... ]
61818 /----/ |
61819 | |
61820 NULL [ 64 ... 127 ]
61821
61822 If idr_get_next() is called with 63 as the starting point, it will try
61823 to follow down the pointer from 0. As it is NULL, it will then try to
61824 proceed to the next slot in the same level by adding the slot distance
61825 at that level which is 64 - making the next try 127. It goes around the
61826 loop and finds and returns 127 skipping [64, 126].
61827
61828 Note that this bug also triggers in idr_for_each_entry() loop which
61829 deletes during iteration as deletions can make layers go away leaving
61830 the iteration with unaligned ID into missing layers.
61831
61832 Fix it by ensuring proceeding to the next slot doesn't carry over the
61833 unaligned offset - ie. use round_up(id + 1, slot_distance) instead of
61834 id += slot_distance.
61835
61836 Signed-off-by: Tejun Heo <tj@kernel.org>
61837 Reported-by: David Teigland <teigland@redhat.com>
61838 Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
61839 Cc: <stable@vger.kernel.org>
61840 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
61841 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
61842
61843 lib/idr.c | 9 ++++++++-
61844 1 files changed, 8 insertions(+), 1 deletions(-)
61845
61846 commit 745362f28034f54242ba2e64eaa7374ab9869613
61847 Author: Brad Spengler <spender@grsecurity.net>
61848 Date: Fri Mar 1 20:31:42 2013 -0500
61849
61850 Fix dentry use-after-free after failed complete_walk() with RBAC enabled
61851 Many thanks to zakalwe from #grsecurity for the report and debugging help
61852
61853 fs/namei.c | 8 +++-----
61854 1 files changed, 3 insertions(+), 5 deletions(-)
61855
61856 commit b53b3b14330920c6f7cfb74c8508a3026e1be620
61857 Author: Brad Spengler <spender@grsecurity.net>
61858 Date: Thu Feb 28 18:29:26 2013 -0500
61859
61860 Fix bad git merge
61861
61862 fs/namespace.c | 8 --------
61863 1 files changed, 0 insertions(+), 8 deletions(-)
61864
61865 commit 71886f69ea10fa22e593dba1bdbe5c0334c6fede
61866 Merge: 1cce1dd ab30472
61867 Author: Brad Spengler <spender@grsecurity.net>
61868 Date: Thu Feb 28 17:45:14 2013 -0500
61869
61870 Merge branch 'pax-test' into grsec-test
61871
61872 Conflicts:
61873 net/core/sock_diag.c
61874
61875 commit ab3047280e1dfb43f1b301a296123757b4ac4f6e
61876 Merge: 4b61d21 4c91a0e
61877 Author: Brad Spengler <spender@grsecurity.net>
61878 Date: Thu Feb 28 17:43:56 2013 -0500
61879
61880 Merge branch 'linux-3.8.y' into pax-test
61881
61882 commit 1cce1ddd17c584c80465521834c3faf1a7c607d7
61883 Author: Brad Spengler <spender@grsecurity.net>
61884 Date: Wed Feb 27 22:20:22 2013 -0500
61885
61886 add compiler.h to sysrq.h to fix compilation problem reported by micu on forums
61887
61888 include/linux/sysrq.h | 1 +
61889 1 files changed, 1 insertions(+), 0 deletions(-)
61890
61891 commit 9f1e7fe130803fde83eb903b575335f59cd2bd18
61892 Author: Brad Spengler <spender@grsecurity.net>
61893 Date: Wed Feb 27 17:52:31 2013 -0500
61894
61895 declare check_syslog_permissions() earlier in file, fix bug in syslog_action_restricted() in upstream kernel
61896
61897 kernel/printk.c | 12 +++++++-----
61898 1 files changed, 7 insertions(+), 5 deletions(-)
61899
61900 commit 11dd499888fa76f3466821ce4daa5e0c55e43d39
61901 Author: Brad Spengler <spender@grsecurity.net>
61902 Date: Wed Feb 27 17:23:46 2013 -0500
61903
61904 Fix upstream vulnerability from addition of a /dev/kmsg device
61905 while neglecting to add the same set of existing permission checks
61906 from do_syslog. This bit both dmesg_restrict and GRKERNSEC_DMESG.
61907 A temporary workaround without this patch would be to
61908 chmod 0600 /dev/kmsg (and is likely a good idea anyway).
61909
61910 Notified in #grsecurity IRC by Jason A. Donenfeld and Petr Matousek
61911 Initially reported to Redhat bugzilla by Christian Kujau:
61912 https://bugzilla.redhat.com/show_bug.cgi?id=903192
61913
61914 kernel/printk.c | 4 ++++
61915 1 files changed, 4 insertions(+), 0 deletions(-)
61916
61917 commit 66c04806f5660988c3cb4855e60de294e77e3d0e
61918 Author: David Howells <dhowells@redhat.com>
61919 Date: Thu Feb 21 12:00:25 2013 +0000
61920
61921 Upstream commit: fe9453a1dcb5fb146f9653267e78f4a558066f6f
61922
61923 KEYS: Revert one application of "Fix unreachable code" patch
61924
61925 A patch to fix some unreachable code in search_my_process_keyrings() got
61926 applied twice by two different routes upstream as commits e67eab39bee2
61927 and b010520ab3d2 (both "fix unreachable code").
61928
61929 Unfortunately, the second application removed something it shouldn't
61930 have and this wasn't detected by GIT. This is due to the patch not
61931 having sufficient lines of context to distinguish the two places of
61932 application.
61933
61934 The effect of this is relatively minor: inside the kernel, the keyring
61935 search routines may search multiple keyrings and then prioritise the
61936 errors if no keys or negative keys are found in any of them. With the
61937 extra deletion, the presence of a negative key in the thread keyring
61938 (causing ENOKEY) is incorrectly overridden by an error searching the
61939 process keyring.
61940
61941 So revert the second application of the patch.
61942
61943 Signed-off-by: David Howells <dhowells@redhat.com>
61944 Cc: Jiri Kosina <jkosina@suse.cz>
61945 Cc: Andrew Morton <akpm@linux-foundation.org>
61946 Cc: stable@vger.kernel.org
61947 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
61948
61949 security/keys/process_keys.c | 2 ++
61950 1 files changed, 2 insertions(+), 0 deletions(-)
61951
61952 commit 954b0c8a95b08c09c3d15ec38106ce403bf714da
61953 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
61954 Date: Thu Feb 21 16:42:43 2013 -0800
61955
61956 Upstream commit: 49deb4bc227cb9db5b8ebf9434367f8bed057c7a
61957
61958 configfs: move the dereference below the NULL test
61959
61960 The dereference should be moved below the NULL test.
61961
61962 spatch with a semantic match is used to found this.
61963 (http://coccinelle.lip6.fr/)
61964
61965 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
61966 Cc: Joel Becker <jlbec@evilplan.org>
61967 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
61968 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
61969
61970 fs/configfs/dir.c | 5 +++--
61971 1 files changed, 3 insertions(+), 2 deletions(-)
61972
61973 commit d16d42c4fdc8baca5816d75b4a115102bf3d3423
61974 Author: Nicolas Pitre <nicolas.pitre@linaro.org>
61975 Date: Sun Feb 24 20:06:09 2013 -0500
61976
61977 Upstream commit: a883b70d8e0a88278c0a1f80753b4dc99962b541
61978
61979 tty vt: fix character insertion overflow
61980
61981 Commit 81732c3b2fed ("tty vt: Fix line garbage in virtual console on
61982 command line edition") broke insert_char() in multiple ways. Then
61983 commit b1a925f44a3a ("tty vt: Fix a regression in command line edition")
61984 partially fixed it. However, the buffer being moved is still too large
61985 and overflowing beyond the end of the current line, corrupting existing
61986 characters on the next line.
61987
61988 Example test case:
61989
61990 echo -e "abc\nde\x1b[A\x1b[4h \x1b[4l\x1b[B"
61991
61992 Expected result:
61993
61994 ab c
61995 de
61996
61997 Current result:
61998
61999 ab c
62000 e
62001
62002 Needless to say that this is very annoying when inserting words in the
62003 middle of paragraphs with certain text editors.
62004
62005 Signed-off-by: Nicolas Pitre <nico@linaro.org>
62006 Cc: Jean-François Moine <moinejf@free.fr>
62007 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
62008 Cc: <stable@vger.kernel.org>
62009 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
62010
62011 drivers/tty/vt/vt.c | 2 +-
62012 1 files changed, 1 insertions(+), 1 deletions(-)
62013
62014 commit 6cda35071669b4aabde081bd039e0ffea36f997a
62015 Author: Robin Holt <holt@sgi.com>
62016 Date: Fri Feb 22 16:35:34 2013 -0800
62017
62018 Upstream commit: 751efd8610d3d7d67b7bdf7f62646edea7365dd7
62019
62020 mmu_notifier_unregister NULL Pointer deref and multiple ->release() callouts
62021
62022 There is a race condition between mmu_notifier_unregister() and
62023 __mmu_notifier_release().
62024
62025 Assume two tasks, one calling mmu_notifier_unregister() as a result of a
62026 filp_close() ->flush() callout (task A), and the other calling
62027 mmu_notifier_release() from an mmput() (task B).
62028
62029 A B
62030 t1 srcu_read_lock()
62031 t2 if (!hlist_unhashed())
62032 t3 srcu_read_unlock()
62033 t4 srcu_read_lock()
62034 t5 hlist_del_init_rcu()
62035 t6 synchronize_srcu()
62036 t7 srcu_read_unlock()
62037 t8 hlist_del_rcu() <--- NULL pointer deref.
62038
62039 Additionally, the list traversal in __mmu_notifier_release() is not
62040 protected by the by the mmu_notifier_mm->hlist_lock which can result in
62041 callouts to the ->release() notifier from both mmu_notifier_unregister()
62042 and __mmu_notifier_release().
62043
62044 -stable suggestions:
62045
62046 The stable trees prior to 3.7.y need commits 21a92735f660 and
62047 70400303ce0c cherry-picked in that order prior to cherry-picking this
62048 commit. The 3.7.y tree already has those two commits.
62049
62050 Signed-off-by: Robin Holt <holt@sgi.com>
62051 Cc: Andrea Arcangeli <aarcange@redhat.com>
62052 Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
62053 Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
62054 Cc: Avi Kivity <avi@redhat.com>
62055 Cc: Hugh Dickins <hughd@google.com>
62056 Cc: Marcelo Tosatti <mtosatti@redhat.com>
62057 Cc: Sagi Grimberg <sagig@mellanox.co.il>
62058 Cc: Haggai Eran <haggaie@mellanox.com>
62059 Cc: <stable@vger.kernel.org>
62060 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
62061 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
62062
62063 mm/mmu_notifier.c | 82 +++++++++++++++++++++++++++--------------------------
62064 1 files changed, 42 insertions(+), 40 deletions(-)
62065
62066 commit bf5167ed78ba6131c6874887f714bda50c2cab83
62067 Author: Mike Galbraith <bitbucket@online.de>
62068 Date: Mon Jan 28 12:19:25 2013 +0100
62069
62070 Upstream commit: e0a79f529d5ba2507486d498b25da40911d95cf6
62071
62072 sched: Fix select_idle_sibling() bouncing cow syndrome
62073
62074 If the previous CPU is cache affine and idle, select it.
62075
62076 The current implementation simply traverses the sd_llc domain,
62077 taking the first idle CPU encountered, which walks buddy pairs
62078 hand in hand over the package, inflicting excruciating pain.
62079
62080 1 tbench pair (worst case) in a 10 core + SMT package:
62081
62082 pre 15.22 MB/sec 1 procs
62083 post 252.01 MB/sec 1 procs
62084
62085 Signed-off-by: Mike Galbraith <bitbucket@online.de>
62086 Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
62087 Link: http://lkml.kernel.org/r/1359371965.5783.127.camel@marge.simpson.net
62088 Signed-off-by: Ingo Molnar <mingo@kernel.org>
62089
62090 kernel/sched/fair.c | 21 +++++++--------------
62091 1 files changed, 7 insertions(+), 14 deletions(-)
62092
62093 commit cf7c2d257836fdcb5d51ad142cbc56ac12f7a37c
62094 Author: Eric W. Biederman <ebiederm@xmission.com>
62095 Date: Fri Dec 28 18:58:39 2012 -0800
62096
62097 Upstream commit: c61a2810a2161986353705b44d9503e6bb079f4f
62098
62099 userns: Avoid recursion in put_user_ns
62100
62101 When freeing a deeply nested user namespace free_user_ns calls
62102 put_user_ns on it's parent which may in turn call free_user_ns again.
62103 When -fno-optimize-sibling-calls is passed to gcc one stack frame per
62104 user namespace is left on the stack, potentially overflowing the
62105 kernel stack. CONFIG_FRAME_POINTER forces -fno-optimize-sibling-calls
62106 so we can't count on gcc to optimize this code.
62107
62108 Remove struct kref and use a plain atomic_t. Making the code more
62109 flexible and easier to comprehend. Make the loop in free_user_ns
62110 explict to guarantee that the stack does not overflow with
62111 CONFIG_FRAME_POINTER enabled.
62112
62113 I have tested this fix with a simple program that uses unshare to
62114 create a deeply nested user namespace structure and then calls exit.
62115 With 1000 nesteuser namespaces before this change running my test
62116 program causes the kernel to die a horrible death. With 10,000,000
62117 nested user namespaces after this change my test program runs to
62118 completion and causes no harm.
62119
62120 Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
62121 Pointed-out-by: Vasily Kulikov <segoon@openwall.com>
62122 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
62123
62124 include/linux/user_namespace.h | 10 +++++-----
62125 kernel/user.c | 4 +---
62126 kernel/user_namespace.c | 17 +++++++++--------
62127 3 files changed, 15 insertions(+), 16 deletions(-)
62128
62129 commit 81501c7106ccc186c94806f4db954626295b5ebe
62130 Author: Brad Spengler <spender@grsecurity.net>
62131 Date: Tue Feb 26 17:12:30 2013 -0500
62132
62133 Pass the same flags to kern_path_create as the original function
62134
62135 fs/namei.c | 4 ++--
62136 1 files changed, 2 insertions(+), 2 deletions(-)
62137
62138 commit a677c8eee35afe48868f92c7d6745bfe809cd481
62139 Author: Al Viro <viro@zeniv.linux.org.uk>
62140 Date: Fri Feb 22 22:45:42 2013 -0500
62141
62142 Upstream commit: 9b40bc90abd126bcc5da5658059b8e72e285e559
62143
62144 get rid of unprotected dereferencing of mnt->mnt_ns
62145
62146 It's safe only under namespace_sem or vfsmount_lock; all places
62147 in fs/namespace.c that want mnt->mnt_ns->user_ns actually want to use
62148 current->nsproxy->mnt_ns->user_ns (note the calls of check_mnt() in
62149 there).
62150
62151 Cc: stable@vger.kernel.org
62152 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
62153
62154 fs/namespace.c | 29 +++++++++++++++++------------
62155 1 files changed, 17 insertions(+), 12 deletions(-)
62156
62157 commit 89298124d0c96dc34a60377e7a1308f8f532ff75
62158 Author: Greg Thelen <gthelen@google.com>
62159 Date: Fri Feb 22 16:36:01 2013 -0800
62160
62161 Upstream fix: 5f00110f7273f9ff04ac69a5f85bb535a4fd0987
62162
62163 tmpfs: fix use-after-free of mempolicy object
62164
62165 The tmpfs remount logic preserves filesystem mempolicy if the mpol=M
62166 option is not specified in the remount request. A new policy can be
62167 specified if mpol=M is given.
62168
62169 Before this patch remounting an mpol bound tmpfs without specifying
62170 mpol= mount option in the remount request would set the filesystem's
62171 mempolicy object to a freed mempolicy object.
62172
62173 To reproduce the problem boot a DEBUG_PAGEALLOC kernel and run:
62174 # mkdir /tmp/x
62175
62176 # mount -t tmpfs -o size=100M,mpol=interleave nodev /tmp/x
62177
62178 # grep /tmp/x /proc/mounts
62179 nodev /tmp/x tmpfs rw,relatime,size=102400k,mpol=interleave:0-3 0 0
62180
62181 # mount -o remount,size=200M nodev /tmp/x
62182
62183 # grep /tmp/x /proc/mounts
62184 nodev /tmp/x tmpfs rw,relatime,size=204800k,mpol=??? 0 0
62185 # note ? garbage in mpol=... output above
62186
62187 # dd if=/dev/zero of=/tmp/x/f count=1
62188 # panic here
62189
62190 Panic:
62191 BUG: unable to handle kernel NULL pointer dereference at (null)
62192 IP: [< (null)>] (null)
62193 [...]
62194 Oops: 0010 [#1] SMP DEBUG_PAGEALLOC
62195 Call Trace:
62196 mpol_shared_policy_init+0xa5/0x160
62197 shmem_get_inode+0x209/0x270
62198 shmem_mknod+0x3e/0xf0
62199 shmem_create+0x18/0x20
62200 vfs_create+0xb5/0x130
62201 do_last+0x9a1/0xea0
62202 path_openat+0xb3/0x4d0
62203 do_filp_open+0x42/0xa0
62204 do_sys_open+0xfe/0x1e0
62205 compat_sys_open+0x1b/0x20
62206 cstar_dispatch+0x7/0x1f
62207
62208 Non-debug kernels will not crash immediately because referencing the
62209 dangling mpol will not cause a fault. Instead the filesystem will
62210 reference a freed mempolicy object, which will cause unpredictable
62211 behavior.
62212
62213 The problem boils down to a dropped mpol reference below if
62214 shmem_parse_options() does not allocate a new mpol:
62215
62216 config = *sbinfo
62217 shmem_parse_options(data, &config, true)
62218 mpol_put(sbinfo->mpol)
62219 sbinfo->mpol = config.mpol /* BUG: saves unreferenced mpol */
62220
62221 This patch avoids the crash by not releasing the mempolicy if
62222 shmem_parse_options() doesn't create a new mpol.
62223
62224 How far back does this issue go? I see it in both 2.6.36 and 3.3. I did
62225 not look back further.
62226
62227 Signed-off-by: Greg Thelen <gthelen@google.com>
62228 Acked-by: Hugh Dickins <hughd@google.com>
62229 Cc: <stable@vger.kernel.org>
62230 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
62231 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
62232
62233 mm/shmem.c | 10 ++++++++--
62234 1 files changed, 8 insertions(+), 2 deletions(-)
62235
62236 commit 614943c76d9e49f12f3e1154f1dea80dc4bb2743
62237 Author: Brad Spengler <spender@grsecurity.net>
62238 Date: Sat Feb 23 11:08:05 2013 -0500
62239
62240 Userland can send a netlink message requesting SOCK_DIAG_BY_FAMILY
62241 with a family greater or equal then AF_MAX -- the array size of
62242 sock_diag_handlers[]. The current code does not test for this
62243 condition therefore is vulnerable to an out-of-bound access opening
62244 doors for a privilege escalation.
62245
62246 Signed-off-by: Mathias Krause <minipli@googlemail.com>
62247
62248 The sock_diag_lock_handler() and sock_diag_unlock_handler() actually
62249 make the code less readable. Get rid of them and make the lock usage
62250 and access to sock_diag_handlers[] clear on the first sight.
62251
62252 Signed-off-by: Mathias Krause <minipli@googlemail.com>
62253
62254 net/core/sock_diag.c | 27 ++++++++++-----------------
62255 1 files changed, 10 insertions(+), 17 deletions(-)
62256
62257 commit e8d44970f8ac5ceda7b0e3f2c2ab33cefb800990
62258 Author: Brad Spengler <spender@grsecurity.net>
62259 Date: Sat Feb 23 10:58:52 2013 -0500
62260
62261 Fix compilation failure reported by Hinnerk van Bruinehsen when CPU_USE_DOMAINS is not defined
62262
62263 arch/arm/include/asm/domain.h | 1 +
62264 1 files changed, 1 insertions(+), 0 deletions(-)
62265
62266 commit 7b729586eb81f344fdedf0942fab0acc738a6725
62267 Author: Brad Spengler <spender@grsecurity.net>
62268 Date: Fri Feb 22 19:02:51 2013 -0500
62269
62270 Add back capability check for user namespaces. They have not seen enough proper review and needlessly exposes additional attack surface for all users.
62271
62272 kernel/fork.c | 17 +++++++++++++++++
62273 1 files changed, 17 insertions(+), 0 deletions(-)
62274
62275 commit fadc560d0c486af88da83177735f5515e88acdcc
62276 Author: Brad Spengler <spender@grsecurity.net>
62277 Date: Thu Feb 21 23:06:48 2013 -0500
62278
62279 put is_hugetlbfs_mnt inside ifdefs
62280
62281 grsecurity/gracl.c | 2 ++
62282 1 files changed, 2 insertions(+), 0 deletions(-)
62283
62284 commit 8252176922d405484f986eb2cc350b7cd3ae586e
62285 Author: Brad Spengler <spender@grsecurity.net>
62286 Date: Thu Feb 21 23:02:07 2013 -0500
62287
62288 remove unused label
62289
62290 kernel/module.c | 1 -
62291 1 files changed, 0 insertions(+), 1 deletions(-)
62292
62293 commit dad4a980f0b625059e215d13da728aa7fd02a374
62294 Author: Brad Spengler <spender@grsecurity.net>
62295 Date: Thu Feb 21 23:00:52 2013 -0500
62296
62297 compile fix
62298
62299 fs/open.c | 2 +-
62300 1 files changed, 1 insertions(+), 1 deletions(-)
62301
62302 commit 13e3266c41b98a40f3d8a4a7fb8ee5c0983156b7
62303 Author: Brad Spengler <spender@grsecurity.net>
62304 Date: Thu Feb 21 22:57:49 2013 -0500
62305
62306 remove kmalloc_array_error for the same reasons as kcalloc_error
62307
62308 include/linux/slab.h | 9 ---------
62309 1 files changed, 0 insertions(+), 9 deletions(-)
62310
62311 commit 0c24df0e81ae880c4523cc78ff91609b9aa6133a
62312 Author: Brad Spengler <spender@grsecurity.net>
62313 Date: Thu Feb 21 22:49:35 2013 -0500
62314
62315 Initial port of grsecurity for Linux 3.8
62316
62317 Documentation/kernel-parameters.txt | 4 +
62318 Makefile | 10 +-
62319 arch/alpha/include/asm/cache.h | 4 +-
62320 arch/alpha/kernel/osf_sys.c | 14 +-
62321 arch/arm/include/asm/cache.h | 2 +
62322 arch/arm/include/asm/thread_info.h | 9 +-
62323 arch/arm/kernel/process.c | 4 +-
62324 arch/arm/kernel/ptrace.c | 9 +
62325 arch/arm/kernel/traps.c | 7 +-
62326 arch/arm/mm/fault.c | 27 +-
62327 arch/arm/mm/mmap.c | 6 +-
62328 arch/avr32/include/asm/cache.h | 4 +-
62329 arch/blackfin/include/asm/cache.h | 3 +-
62330 arch/cris/include/arch-v10/arch/cache.h | 3 +-
62331 arch/cris/include/arch-v32/arch/cache.h | 3 +-
62332 arch/frv/include/asm/cache.h | 3 +-
62333 arch/frv/mm/elf-fdpic.c | 7 +-
62334 arch/hexagon/include/asm/cache.h | 6 +-
62335 arch/ia64/include/asm/cache.h | 3 +-
62336 arch/ia64/kernel/sys_ia64.c | 3 +-
62337 arch/ia64/mm/hugetlbpage.c | 3 +-
62338 arch/m32r/include/asm/cache.h | 4 +-
62339 arch/m68k/include/asm/cache.h | 4 +-
62340 arch/microblaze/include/asm/cache.h | 3 +-
62341 arch/mips/include/asm/cache.h | 3 +-
62342 arch/mips/include/asm/thread_info.h | 9 +-
62343 arch/mips/kernel/ptrace.c | 9 +
62344 arch/mips/kernel/scall32-o32.S | 2 +-
62345 arch/mips/kernel/scall64-64.S | 2 +-
62346 arch/mips/kernel/scall64-n32.S | 2 +-
62347 arch/mips/kernel/scall64-o32.S | 2 +-
62348 arch/mips/mm/mmap.c | 3 +-
62349 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
62350 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
62351 arch/openrisc/include/asm/cache.h | 4 +-
62352 arch/parisc/include/asm/cache.h | 5 +-
62353 arch/parisc/kernel/sys_parisc.c | 19 +-
62354 arch/powerpc/include/asm/cache.h | 3 +-
62355 arch/powerpc/include/asm/thread_info.h | 8 +-
62356 arch/powerpc/kernel/process.c | 10 +-
62357 arch/powerpc/kernel/ptrace.c | 14 +
62358 arch/powerpc/kernel/traps.c | 5 +
62359 arch/powerpc/mm/slice.c | 8 +-
62360 arch/s390/include/asm/cache.h | 4 +-
62361 arch/score/include/asm/cache.h | 4 +-
62362 arch/sh/include/asm/cache.h | 3 +-
62363 arch/sh/mm/mmap.c | 6 +-
62364 arch/sparc/include/asm/cache.h | 4 +-
62365 arch/sparc/include/asm/thread_info_64.h | 9 +-
62366 arch/sparc/kernel/process_32.c | 6 +-
62367 arch/sparc/kernel/process_64.c | 8 +-
62368 arch/sparc/kernel/ptrace_64.c | 14 +
62369 arch/sparc/kernel/sys_sparc_64.c | 6 +-
62370 arch/sparc/kernel/syscalls.S | 8 +-
62371 arch/sparc/kernel/traps_32.c | 8 +-
62372 arch/sparc/kernel/traps_64.c | 28 +-
62373 arch/sparc/kernel/unaligned_64.c | 2 +-
62374 arch/sparc/mm/fault_64.c | 2 +-
62375 arch/sparc/mm/hugetlbpage.c | 3 +-
62376 arch/tile/include/asm/cache.h | 3 +-
62377 arch/um/include/asm/cache.h | 3 +-
62378 arch/unicore32/include/asm/cache.h | 6 +-
62379 arch/x86/Kconfig | 5 +-
62380 arch/x86/Kconfig.debug | 2 +-
62381 arch/x86/ia32/ia32_aout.c | 2 +
62382 arch/x86/include/asm/thread_info.h | 8 +-
62383 arch/x86/kernel/dumpstack.c | 8 +
62384 arch/x86/kernel/entry_32.S | 2 +-
62385 arch/x86/kernel/entry_64.S | 2 +-
62386 arch/x86/kernel/ioport.c | 13 +
62387 arch/x86/kernel/ptrace.c | 14 +
62388 arch/x86/kernel/smpboot.c | 3 +
62389 arch/x86/kernel/sys_i386_32.c | 14 +-
62390 arch/x86/kernel/sys_x86_64.c | 3 +-
62391 arch/x86/kernel/verify_cpu.S | 1 +
62392 arch/x86/kernel/vm86_32.c | 16 +
62393 arch/x86/mm/fault.c | 12 +-
62394 arch/x86/mm/hugetlbpage.c | 3 +-
62395 arch/x86/mm/init.c | 66 +-
62396 arch/x86/net/bpf_jit_comp.c | 126 +-
62397 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
62398 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
62399 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
62400 crypto/ablkcipher.c | 12 +-
62401 crypto/aead.c | 9 +-
62402 crypto/ahash.c | 2 +-
62403 crypto/blkcipher.c | 6 +-
62404 crypto/crypto_user.c | 38 +-
62405 crypto/pcompress.c | 3 +-
62406 crypto/rng.c | 2 +-
62407 crypto/shash.c | 3 +-
62408 drivers/block/cciss.c | 2 +
62409 drivers/char/Kconfig | 4 +-
62410 drivers/char/genrtc.c | 1 +
62411 drivers/char/mem.c | 17 +
62412 drivers/char/random.c | 12 +
62413 drivers/gpu/drm/drm_info.c | 4 +
62414 drivers/hid/hid-wiimote-debug.c | 2 +-
62415 drivers/media/radio/radio-cadet.c | 2 +-
62416 drivers/message/fusion/mptbase.c | 5 +
62417 drivers/net/phy/mdio-bitbang.c | 1 +
62418 drivers/pci/proc.c | 9 +
62419 drivers/rtc/rtc-dev.c | 3 +
62420 drivers/tty/sysrq.c | 2 +-
62421 drivers/tty/vt/keyboard.c | 22 +-
62422 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++--------
62423 drivers/xen/xenfs/xenstored.c | 5 +
62424 fs/attr.c | 1 +
62425 fs/autofs4/waitq.c | 9 +
62426 fs/binfmt_aout.c | 7 +
62427 fs/binfmt_elf.c | 6 +
62428 fs/btrfs/inode.c | 10 +-
62429 fs/btrfs/ioctl.c | 6 +-
62430 fs/compat.c | 18 +
62431 fs/coredump.c | 10 +-
62432 fs/debugfs/inode.c | 4 +
62433 fs/exec.c | 155 +-
62434 fs/ext2/balloc.c | 4 +-
62435 fs/ext3/balloc.c | 4 +-
62436 fs/ext4/balloc.c | 4 +-
62437 fs/fcntl.c | 5 +
62438 fs/file.c | 4 +
62439 fs/filesystems.c | 5 +
62440 fs/fs_struct.c | 26 +-
62441 fs/hugetlbfs/inode.c | 5 +-
62442 fs/namei.c | 269 ++-
62443 fs/namespace.c | 24 +
62444 fs/open.c | 38 +
62445 fs/pipe.c | 2 +-
62446 fs/proc/Kconfig | 10 +-
62447 fs/proc/array.c | 59 +-
62448 fs/proc/base.c | 168 +-
62449 fs/proc/cmdline.c | 4 +
62450 fs/proc/devices.c | 4 +
62451 fs/proc/fd.c | 17 +-
62452 fs/proc/inode.c | 17 +
62453 fs/proc/internal.h | 3 +
62454 fs/proc/kcore.c | 3 +
62455 fs/proc/proc_net.c | 12 +
62456 fs/proc/proc_sysctl.c | 43 +-
62457 fs/proc/root.c | 8 +
62458 fs/proc/task_mmu.c | 75 +-
62459 fs/readdir.c | 19 +
62460 fs/select.c | 2 +
62461 fs/seq_file.c | 12 +-
62462 fs/stat.c | 19 +-
62463 fs/sysfs/dir.c | 12 +
62464 fs/utimes.c | 7 +
62465 fs/xattr.c | 19 +-
62466 grsecurity/Kconfig | 1021 +++++
62467 grsecurity/Makefile | 38 +
62468 grsecurity/gracl.c | 4017 ++++++++++++++++++++
62469 grsecurity/gracl_alloc.c | 105 +
62470 grsecurity/gracl_cap.c | 110 +
62471 grsecurity/gracl_fs.c | 431 +++
62472 grsecurity/gracl_ip.c | 384 ++
62473 grsecurity/gracl_learn.c | 207 +
62474 grsecurity/gracl_res.c | 68 +
62475 grsecurity/gracl_segv.c | 299 ++
62476 grsecurity/gracl_shm.c | 40 +
62477 grsecurity/grsec_chdir.c | 19 +
62478 grsecurity/grsec_chroot.c | 357 ++
62479 grsecurity/grsec_disabled.c | 434 +++
62480 grsecurity/grsec_exec.c | 174 +
62481 grsecurity/grsec_fifo.c | 24 +
62482 grsecurity/grsec_fork.c | 23 +
62483 grsecurity/grsec_init.c | 283 ++
62484 grsecurity/grsec_link.c | 58 +
62485 grsecurity/grsec_log.c | 329 ++
62486 grsecurity/grsec_mem.c | 40 +
62487 grsecurity/grsec_mount.c | 62 +
62488 grsecurity/grsec_pax.c | 36 +
62489 grsecurity/grsec_ptrace.c | 30 +
62490 grsecurity/grsec_sig.c | 222 ++
62491 grsecurity/grsec_sock.c | 244 ++
62492 grsecurity/grsec_sysctl.c | 469 +++
62493 grsecurity/grsec_time.c | 16 +
62494 grsecurity/grsec_tpe.c | 73 +
62495 grsecurity/grsum.c | 61 +
62496 include/linux/capability.h | 5 +
62497 include/linux/cred.h | 3 +
62498 include/linux/fs.h | 10 +
62499 include/linux/fsnotify.h | 6 +
62500 include/linux/gracl.h | 319 ++
62501 include/linux/gralloc.h | 9 +
62502 include/linux/grdefs.h | 140 +
62503 include/linux/grinternal.h | 215 ++
62504 include/linux/grmsg.h | 111 +
62505 include/linux/grsecurity.h | 257 ++
62506 include/linux/grsock.h | 19 +
62507 include/linux/kallsyms.h | 14 +-
62508 include/linux/kmod.h | 2 +
62509 include/linux/netfilter/xt_gradm.h | 9 +
62510 include/linux/printk.h | 3 +-
62511 include/linux/proc_fs.h | 12 +
62512 include/linux/sched.h | 66 +-
62513 include/linux/security.h | 1 +
62514 include/linux/seq_file.h | 3 +
62515 include/linux/shm.h | 4 +
62516 include/linux/sysctl.h | 2 +
62517 include/linux/thread_info.h | 2 +
62518 include/linux/vermagic.h | 9 +-
62519 include/trace/events/fs.h | 53 +
62520 include/uapi/linux/personality.h | 1 +
62521 init/Kconfig | 5 +-
62522 init/main.c | 14 +
62523 ipc/mqueue.c | 1 +
62524 ipc/shm.c | 28 +
62525 kernel/capability.c | 39 +-
62526 kernel/cgroup.c | 2 +-
62527 kernel/compat.c | 1 +
62528 kernel/configs.c | 11 +
62529 kernel/cred.c | 109 +-
62530 kernel/exit.c | 10 +-
62531 kernel/fork.c | 24 +-
62532 kernel/futex.c | 1 +
62533 kernel/kallsyms.c | 9 +
62534 kernel/kcmp.c | 4 +
62535 kernel/kmod.c | 71 +-
62536 kernel/kprobes.c | 4 +-
62537 kernel/ksysfs.c | 2 +
62538 kernel/lockdep_proc.c | 10 +-
62539 kernel/module.c | 80 +-
62540 kernel/panic.c | 4 +-
62541 kernel/pid.c | 19 +-
62542 kernel/posix-timers.c | 8 +
62543 kernel/printk.c | 5 +
62544 kernel/ptrace.c | 20 +-
62545 kernel/resource.c | 10 +
62546 kernel/sched/core.c | 6 +-
62547 kernel/signal.c | 37 +-
62548 kernel/sys.c | 38 +-
62549 kernel/sysctl.c | 39 +-
62550 kernel/taskstats.c | 6 +
62551 kernel/time.c | 5 +
62552 kernel/time/timekeeping.c | 3 +
62553 kernel/time/timer_list.c | 12 +
62554 kernel/time/timer_stats.c | 10 +-
62555 lib/Kconfig.debug | 5 +-
62556 lib/is_single_threaded.c | 3 +
62557 lib/vsprintf.c | 35 +-
62558 localversion-grsec | 1 +
62559 mm/Kconfig | 4 +-
62560 mm/filemap.c | 1 +
62561 mm/kmemleak.c | 4 +-
62562 mm/mempolicy.c | 12 +-
62563 mm/migrate.c | 3 +-
62564 mm/mlock.c | 3 +
62565 mm/mmap.c | 62 +-
62566 mm/mprotect.c | 8 +
62567 mm/page_alloc.c | 6 +
62568 mm/process_vm_access.c | 6 +
62569 mm/shmem.c | 2 +-
62570 mm/slab.c | 2 +-
62571 mm/slub.c | 14 +-
62572 mm/vmalloc.c | 4 +
62573 mm/vmstat.c | 18 +-
62574 net/core/dev.c | 9 +
62575 net/core/sock_diag.c | 7 +
62576 net/ipv4/inet_hashtables.c | 5 +
62577 net/ipv4/ip_sockglue.c | 3 +-
62578 net/ipv4/tcp_input.c | 4 +-
62579 net/ipv4/tcp_ipv4.c | 24 +-
62580 net/ipv4/tcp_minisocks.c | 9 +-
62581 net/ipv4/tcp_timer.c | 11 +
62582 net/ipv4/udp.c | 24 +
62583 net/ipv6/tcp_ipv6.c | 23 +-
62584 net/ipv6/udp.c | 7 +
62585 net/netfilter/Kconfig | 10 +
62586 net/netfilter/Makefile | 1 +
62587 net/netfilter/nf_conntrack_core.c | 8 +
62588 net/netfilter/xt_gradm.c | 51 +
62589 net/netrom/af_netrom.c | 2 +-
62590 net/phonet/af_phonet.c | 4 +-
62591 net/sctp/proc.c | 3 +-
62592 net/socket.c | 62 +-
62593 net/sysctl_net.c | 2 +-
62594 net/unix/af_unix.c | 19 +
62595 security/Kconfig | 320 ++-
62596 security/apparmor/lsm.c | 2 +-
62597 security/commoncap.c | 29 +
62598 security/min_addr.c | 2 +
62599 security/security.c | 2 -
62600 security/selinux/hooks.c | 2 -
62601 security/yama/Kconfig | 2 +-
62602 tools/gcc/Makefile | 2 +-
62603 286 files changed, 15083 insertions(+), 2067 deletions(-)
62604
62605 commit 4b61d2188de70da9dc9b3e67fc0565077370eb27
62606 Author: Brad Spengler <spender@grsecurity.net>
62607 Date: Wed Feb 20 21:00:42 2013 -0500
62608
62609 Initial import of pax-linux-3.8-test3.patch
62610
62611 Documentation/dontdiff | 43 +-
62612 Documentation/kernel-parameters.txt | 7 +
62613 Makefile | 97 +-
62614 arch/alpha/include/asm/atomic.h | 10 +
62615 arch/alpha/include/asm/elf.h | 7 +
62616 arch/alpha/include/asm/pgalloc.h | 6 +
62617 arch/alpha/include/asm/pgtable.h | 11 +
62618 arch/alpha/kernel/module.c | 2 +-
62619 arch/alpha/kernel/osf_sys.c | 10 +-
62620 arch/alpha/mm/fault.c | 141 +-
62621 arch/arm/Kconfig | 2 +-
62622 arch/arm/include/asm/atomic.h | 421 +++-
62623 arch/arm/include/asm/cache.h | 3 +-
62624 arch/arm/include/asm/cacheflush.h | 2 +-
62625 arch/arm/include/asm/checksum.h | 14 +-
62626 arch/arm/include/asm/cmpxchg.h | 2 +
62627 arch/arm/include/asm/delay.h | 8 +-
62628 arch/arm/include/asm/domain.h | 32 +-
62629 arch/arm/include/asm/elf.h | 13 +-
62630 arch/arm/include/asm/fncpy.h | 2 +
62631 arch/arm/include/asm/futex.h | 10 +
62632 arch/arm/include/asm/kmap_types.h | 2 +-
62633 arch/arm/include/asm/mach/dma.h | 2 +-
62634 arch/arm/include/asm/mach/map.h | 7 +-
62635 arch/arm/include/asm/outercache.h | 2 +-
62636 arch/arm/include/asm/page.h | 2 +-
62637 arch/arm/include/asm/pgalloc.h | 22 +-
62638 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
62639 arch/arm/include/asm/pgtable-2level.h | 1 +
62640 arch/arm/include/asm/pgtable-3level-hwdef.h | 4 +
62641 arch/arm/include/asm/pgtable-3level.h | 2 +
62642 arch/arm/include/asm/pgtable.h | 56 +-
62643 arch/arm/include/asm/proc-fns.h | 2 +-
62644 arch/arm/include/asm/processor.h | 5 +-
62645 arch/arm/include/asm/smp.h | 2 +-
62646 arch/arm/include/asm/thread_info.h | 6 +-
62647 arch/arm/include/asm/uaccess.h | 92 +-
62648 arch/arm/include/uapi/asm/ptrace.h | 2 +-
62649 arch/arm/kernel/armksyms.c | 4 +-
62650 arch/arm/kernel/entry-armv.S | 107 +-
62651 arch/arm/kernel/entry-common.S | 41 +-
62652 arch/arm/kernel/entry-header.S | 60 +
62653 arch/arm/kernel/fiq.c | 2 +
62654 arch/arm/kernel/head.S | 6 +-
62655 arch/arm/kernel/hw_breakpoint.c | 2 +-
62656 arch/arm/kernel/module.c | 29 +-
62657 arch/arm/kernel/perf_event_cpu.c | 2 +-
62658 arch/arm/kernel/process.c | 10 +-
62659 arch/arm/kernel/setup.c | 22 +-
62660 arch/arm/kernel/smp.c | 2 +-
62661 arch/arm/kernel/traps.c | 8 +-
62662 arch/arm/kernel/vmlinux.lds.S | 20 +-
62663 arch/arm/lib/clear_user.S | 6 +-
62664 arch/arm/lib/copy_from_user.S | 6 +-
62665 arch/arm/lib/copy_page.S | 1 +
62666 arch/arm/lib/copy_to_user.S | 6 +-
62667 arch/arm/lib/csumpartialcopyuser.S | 4 +-
62668 arch/arm/lib/delay.c | 14 +-
62669 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
62670 arch/arm/mach-kirkwood/common.c | 19 +-
62671 arch/arm/mach-omap2/board-n8x0.c | 2 +-
62672 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
62673 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
62674 arch/arm/mach-ux500/include/mach/setup.h | 7 -
62675 arch/arm/mm/Kconfig | 3 +-
62676 arch/arm/mm/fault.c | 78 +
62677 arch/arm/mm/fault.h | 12 +
62678 arch/arm/mm/init.c | 41 +
62679 arch/arm/mm/ioremap.c | 4 +-
62680 arch/arm/mm/mmap.c | 36 +-
62681 arch/arm/mm/mmu.c | 186 +-
62682 arch/arm/mm/proc-v7-2level.S | 3 +
62683 arch/arm/plat-omap/sram.c | 2 +
62684 arch/arm/plat-orion/include/plat/addr-map.h | 2 +-
62685 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
62686 arch/arm64/kernel/debug-monitors.c | 2 +-
62687 arch/arm64/kernel/hw_breakpoint.c | 2 +-
62688 arch/avr32/include/asm/elf.h | 8 +-
62689 arch/avr32/include/asm/kmap_types.h | 4 +-
62690 arch/avr32/mm/fault.c | 27 +
62691 arch/frv/include/asm/atomic.h | 10 +
62692 arch/frv/include/asm/kmap_types.h | 2 +-
62693 arch/frv/mm/elf-fdpic.c | 7 +-
62694 arch/ia64/include/asm/atomic.h | 10 +
62695 arch/ia64/include/asm/elf.h | 7 +
62696 arch/ia64/include/asm/pgalloc.h | 12 +
62697 arch/ia64/include/asm/pgtable.h | 13 +-
62698 arch/ia64/include/asm/spinlock.h | 2 +-
62699 arch/ia64/include/asm/uaccess.h | 28 +-
62700 arch/ia64/kernel/err_inject.c | 2 +-
62701 arch/ia64/kernel/mca.c | 2 +-
62702 arch/ia64/kernel/module.c | 48 +-
62703 arch/ia64/kernel/palinfo.c | 2 +-
62704 arch/ia64/kernel/salinfo.c | 2 +-
62705 arch/ia64/kernel/sys_ia64.c | 13 +-
62706 arch/ia64/kernel/topology.c | 2 +-
62707 arch/ia64/kernel/vmlinux.lds.S | 2 +-
62708 arch/ia64/mm/fault.c | 32 +-
62709 arch/ia64/mm/hugetlbpage.c | 2 +-
62710 arch/ia64/mm/init.c | 13 +
62711 arch/m32r/lib/usercopy.c | 6 +
62712 arch/mips/include/asm/atomic.h | 14 +
62713 arch/mips/include/asm/elf.h | 11 +-
62714 arch/mips/include/asm/exec.h | 2 +-
62715 arch/mips/include/asm/page.h | 2 +-
62716 arch/mips/include/asm/pgalloc.h | 5 +
62717 arch/mips/kernel/binfmt_elfn32.c | 7 +
62718 arch/mips/kernel/binfmt_elfo32.c | 7 +
62719 arch/mips/kernel/process.c | 12 -
62720 arch/mips/mm/fault.c | 17 +
62721 arch/mips/mm/mmap.c | 51 +-
62722 arch/parisc/include/asm/atomic.h | 10 +
62723 arch/parisc/include/asm/elf.h | 7 +
62724 arch/parisc/include/asm/pgalloc.h | 6 +
62725 arch/parisc/include/asm/pgtable.h | 11 +
62726 arch/parisc/include/asm/uaccess.h | 4 +-
62727 arch/parisc/kernel/module.c | 50 +-
62728 arch/parisc/kernel/sys_parisc.c | 6 +-
62729 arch/parisc/kernel/traps.c | 4 +-
62730 arch/parisc/mm/fault.c | 140 +-
62731 arch/powerpc/include/asm/atomic.h | 10 +
62732 arch/powerpc/include/asm/elf.h | 19 +-
62733 arch/powerpc/include/asm/exec.h | 2 +-
62734 arch/powerpc/include/asm/kmap_types.h | 2 +-
62735 arch/powerpc/include/asm/mman.h | 2 +-
62736 arch/powerpc/include/asm/page.h | 8 +-
62737 arch/powerpc/include/asm/page_64.h | 7 +-
62738 arch/powerpc/include/asm/pgalloc-64.h | 7 +
62739 arch/powerpc/include/asm/pgtable.h | 1 +
62740 arch/powerpc/include/asm/pte-hash32.h | 1 +
62741 arch/powerpc/include/asm/reg.h | 1 +
62742 arch/powerpc/include/asm/uaccess.h | 142 +-
62743 arch/powerpc/kernel/exceptions-64e.S | 4 +-
62744 arch/powerpc/kernel/exceptions-64s.S | 2 +-
62745 arch/powerpc/kernel/module_32.c | 13 +-
62746 arch/powerpc/kernel/process.c | 55 -
62747 arch/powerpc/kernel/signal_32.c | 2 +-
62748 arch/powerpc/kernel/signal_64.c | 2 +-
62749 arch/powerpc/kernel/sysfs.c | 2 +-
62750 arch/powerpc/kernel/vdso.c | 5 +-
62751 arch/powerpc/lib/usercopy_64.c | 18 -
62752 arch/powerpc/mm/fault.c | 54 +-
62753 arch/powerpc/mm/mmap_64.c | 16 +
62754 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
62755 arch/powerpc/mm/numa.c | 2 +-
62756 arch/powerpc/mm/slice.c | 23 +-
62757 arch/powerpc/platforms/powermac/smp.c | 2 +-
62758 arch/s390/include/asm/atomic.h | 10 +
62759 arch/s390/include/asm/elf.h | 13 +-
62760 arch/s390/include/asm/exec.h | 2 +-
62761 arch/s390/include/asm/uaccess.h | 15 +-
62762 arch/s390/kernel/module.c | 22 +-
62763 arch/s390/kernel/process.c | 36 -
62764 arch/s390/mm/mmap.c | 24 +
62765 arch/score/include/asm/exec.h | 2 +-
62766 arch/score/kernel/process.c | 5 -
62767 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
62768 arch/sh/mm/mmap.c | 22 +-
62769 arch/sparc/include/asm/atomic_64.h | 106 +-
62770 arch/sparc/include/asm/cache.h | 2 +-
62771 arch/sparc/include/asm/elf_32.h | 7 +
62772 arch/sparc/include/asm/elf_64.h | 7 +
62773 arch/sparc/include/asm/pgalloc_32.h | 1 +
62774 arch/sparc/include/asm/pgalloc_64.h | 1 +
62775 arch/sparc/include/asm/pgtable_32.h | 15 +-
62776 arch/sparc/include/asm/pgtsrmmu.h | 5 +
62777 arch/sparc/include/asm/spinlock_64.h | 35 +-
62778 arch/sparc/include/asm/thread_info_32.h | 2 +
62779 arch/sparc/include/asm/thread_info_64.h | 2 +
62780 arch/sparc/include/asm/uaccess.h | 8 +
62781 arch/sparc/include/asm/uaccess_32.h | 27 +-
62782 arch/sparc/include/asm/uaccess_64.h | 19 +-
62783 arch/sparc/kernel/Makefile | 2 +-
62784 arch/sparc/kernel/sys_sparc_32.c | 2 +-
62785 arch/sparc/kernel/sys_sparc_64.c | 48 +-
62786 arch/sparc/kernel/sysfs.c | 2 +-
62787 arch/sparc/kernel/traps_64.c | 13 +-
62788 arch/sparc/lib/Makefile | 2 +-
62789 arch/sparc/lib/atomic_64.S | 136 +-
62790 arch/sparc/lib/ksyms.c | 6 +
62791 arch/sparc/mm/Makefile | 2 +-
62792 arch/sparc/mm/fault_32.c | 292 ++
62793 arch/sparc/mm/fault_64.c | 486 +++
62794 arch/sparc/mm/hugetlbpage.c | 21 +-
62795 arch/tile/include/asm/atomic_64.h | 10 +
62796 arch/tile/include/asm/uaccess.h | 4 +-
62797 arch/um/Makefile | 4 +
62798 arch/um/include/asm/kmap_types.h | 2 +-
62799 arch/um/include/asm/page.h | 3 +
62800 arch/um/include/asm/pgtable-3level.h | 1 +
62801 arch/um/kernel/process.c | 16 -
62802 arch/x86/Kconfig | 10 +-
62803 arch/x86/Kconfig.cpu | 6 +-
62804 arch/x86/Kconfig.debug | 6 +-
62805 arch/x86/Makefile | 10 +
62806 arch/x86/boot/Makefile | 3 +
62807 arch/x86/boot/bitops.h | 4 +-
62808 arch/x86/boot/boot.h | 4 +-
62809 arch/x86/boot/compressed/Makefile | 3 +
62810 arch/x86/boot/compressed/eboot.c | 2 -
62811 arch/x86/boot/compressed/head_32.S | 7 +-
62812 arch/x86/boot/compressed/head_64.S | 4 +-
62813 arch/x86/boot/compressed/misc.c | 4 +-
62814 arch/x86/boot/cpucheck.c | 28 +-
62815 arch/x86/boot/header.S | 6 +-
62816 arch/x86/boot/memory.c | 2 +-
62817 arch/x86/boot/video-vesa.c | 1 +
62818 arch/x86/boot/video.c | 2 +-
62819 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
62820 arch/x86/crypto/aesni-intel_asm.S | 31 +
62821 arch/x86/crypto/blowfish-x86_64-asm_64.S | 8 +
62822 arch/x86/crypto/camellia-x86_64-asm_64.S | 8 +
62823 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 8 +
62824 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 8 +
62825 arch/x86/crypto/salsa20-x86_64-asm_64.S | 5 +
62826 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 8 +
62827 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 5 +
62828 arch/x86/crypto/sha1_ssse3_asm.S | 3 +
62829 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 8 +
62830 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 5 +
62831 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
62832 arch/x86/ia32/ia32_signal.c | 14 +-
62833 arch/x86/ia32/ia32entry.S | 141 +-
62834 arch/x86/ia32/sys_ia32.c | 12 +-
62835 arch/x86/include/asm/alternative-asm.h | 39 +
62836 arch/x86/include/asm/alternative.h | 4 +-
62837 arch/x86/include/asm/apic.h | 2 +-
62838 arch/x86/include/asm/apm.h | 4 +-
62839 arch/x86/include/asm/atomic.h | 307 ++-
62840 arch/x86/include/asm/atomic64_32.h | 100 +
62841 arch/x86/include/asm/atomic64_64.h | 202 ++-
62842 arch/x86/include/asm/bitops.h | 2 +-
62843 arch/x86/include/asm/boot.h | 7 +-
62844 arch/x86/include/asm/cache.h | 5 +-
62845 arch/x86/include/asm/cacheflush.h | 2 +-
62846 arch/x86/include/asm/checksum_32.h | 12 +-
62847 arch/x86/include/asm/cmpxchg.h | 35 +
62848 arch/x86/include/asm/cpufeature.h | 4 +-
62849 arch/x86/include/asm/desc.h | 65 +-
62850 arch/x86/include/asm/desc_defs.h | 6 +
62851 arch/x86/include/asm/elf.h | 31 +-
62852 arch/x86/include/asm/emergency-restart.h | 2 +-
62853 arch/x86/include/asm/fpu-internal.h | 6 +-
62854 arch/x86/include/asm/futex.h | 16 +-
62855 arch/x86/include/asm/hw_irq.h | 4 +-
62856 arch/x86/include/asm/io.h | 13 +-
62857 arch/x86/include/asm/irqflags.h | 5 +
62858 arch/x86/include/asm/kprobes.h | 9 +-
62859 arch/x86/include/asm/local.h | 142 +-
62860 arch/x86/include/asm/mman.h | 15 +
62861 arch/x86/include/asm/mmu.h | 16 +-
62862 arch/x86/include/asm/mmu_context.h | 76 +-
62863 arch/x86/include/asm/module.h | 17 +-
62864 arch/x86/include/asm/page_64_types.h | 2 +-
62865 arch/x86/include/asm/paravirt.h | 44 +-
62866 arch/x86/include/asm/paravirt_types.h | 17 +-
62867 arch/x86/include/asm/pgalloc.h | 23 +
62868 arch/x86/include/asm/pgtable-2level.h | 2 +
62869 arch/x86/include/asm/pgtable-3level.h | 4 +
62870 arch/x86/include/asm/pgtable.h | 110 +-
62871 arch/x86/include/asm/pgtable_32.h | 14 +-
62872 arch/x86/include/asm/pgtable_32_types.h | 15 +-
62873 arch/x86/include/asm/pgtable_64.h | 19 +-
62874 arch/x86/include/asm/pgtable_64_types.h | 5 +
62875 arch/x86/include/asm/pgtable_types.h | 36 +-
62876 arch/x86/include/asm/processor.h | 39 +-
62877 arch/x86/include/asm/ptrace.h | 26 +-
62878 arch/x86/include/asm/realmode.h | 4 +-
62879 arch/x86/include/asm/reboot.h | 10 +-
62880 arch/x86/include/asm/rwsem.h | 60 +-
62881 arch/x86/include/asm/segment.h | 24 +-
62882 arch/x86/include/asm/smp.h | 14 +-
62883 arch/x86/include/asm/spinlock.h | 36 +-
62884 arch/x86/include/asm/stackprotector.h | 4 +-
62885 arch/x86/include/asm/stacktrace.h | 32 +-
62886 arch/x86/include/asm/switch_to.h | 4 +-
62887 arch/x86/include/asm/thread_info.h | 83 +-
62888 arch/x86/include/asm/uaccess.h | 96 +-
62889 arch/x86/include/asm/uaccess_32.h | 106 +-
62890 arch/x86/include/asm/uaccess_64.h | 232 +-
62891 arch/x86/include/asm/word-at-a-time.h | 2 +-
62892 arch/x86/include/asm/x86_init.h | 10 +-
62893 arch/x86/include/asm/xsave.h | 10 +-
62894 arch/x86/include/uapi/asm/e820.h | 2 +-
62895 arch/x86/kernel/Makefile | 2 +-
62896 arch/x86/kernel/acpi/sleep.c | 4 +
62897 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
62898 arch/x86/kernel/alternative.c | 65 +-
62899 arch/x86/kernel/apic/apic.c | 6 +-
62900 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
62901 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
62902 arch/x86/kernel/apic/es7000_32.c | 5 +-
62903 arch/x86/kernel/apic/io_apic.c | 8 +-
62904 arch/x86/kernel/apic/numaq_32.c | 3 +-
62905 arch/x86/kernel/apic/probe_32.c | 2 +-
62906 arch/x86/kernel/apic/summit_32.c | 2 +-
62907 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
62908 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
62909 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
62910 arch/x86/kernel/apm_32.c | 19 +-
62911 arch/x86/kernel/asm-offsets.c | 20 +
62912 arch/x86/kernel/asm-offsets_64.c | 1 +
62913 arch/x86/kernel/cpu/Makefile | 4 -
62914 arch/x86/kernel/cpu/amd.c | 2 +-
62915 arch/x86/kernel/cpu/common.c | 75 +-
62916 arch/x86/kernel/cpu/intel.c | 2 +-
62917 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
62918 arch/x86/kernel/cpu/mcheck/mce.c | 29 +-
62919 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
62920 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
62921 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
62922 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
62923 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
62924 arch/x86/kernel/cpu/perf_event.c | 4 +-
62925 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
62926 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
62927 arch/x86/kernel/cpuid.c | 2 +-
62928 arch/x86/kernel/crash.c | 4 +-
62929 arch/x86/kernel/doublefault_32.c | 8 +-
62930 arch/x86/kernel/dumpstack.c | 30 +-
62931 arch/x86/kernel/dumpstack_32.c | 34 +-
62932 arch/x86/kernel/dumpstack_64.c | 63 +-
62933 arch/x86/kernel/early_printk.c | 1 +
62934 arch/x86/kernel/entry_32.S | 354 ++-
62935 arch/x86/kernel/entry_64.S | 512 +++-
62936 arch/x86/kernel/ftrace.c | 14 +-
62937 arch/x86/kernel/head32.c | 4 +-
62938 arch/x86/kernel/head_32.S | 237 ++-
62939 arch/x86/kernel/head_64.S | 158 +-
62940 arch/x86/kernel/i386_ksyms_32.c | 8 +
62941 arch/x86/kernel/i387.c | 2 +-
62942 arch/x86/kernel/i8259.c | 2 +-
62943 arch/x86/kernel/ioport.c | 2 +-
62944 arch/x86/kernel/irq.c | 10 +-
62945 arch/x86/kernel/irq_32.c | 69 +-
62946 arch/x86/kernel/irq_64.c | 2 +-
62947 arch/x86/kernel/kdebugfs.c | 2 +-
62948 arch/x86/kernel/kgdb.c | 25 +-
62949 arch/x86/kernel/kprobes-opt.c | 12 +-
62950 arch/x86/kernel/kprobes.c | 30 +-
62951 arch/x86/kernel/kvm.c | 2 +-
62952 arch/x86/kernel/ldt.c | 31 +-
62953 arch/x86/kernel/machine_kexec_32.c | 6 +-
62954 arch/x86/kernel/microcode_core.c | 2 +-
62955 arch/x86/kernel/microcode_intel.c | 4 +-
62956 arch/x86/kernel/module.c | 76 +-
62957 arch/x86/kernel/msr.c | 2 +-
62958 arch/x86/kernel/nmi.c | 11 +
62959 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
62960 arch/x86/kernel/paravirt.c | 43 +-
62961 arch/x86/kernel/pci-iommu_table.c | 2 +-
62962 arch/x86/kernel/process.c | 57 +-
62963 arch/x86/kernel/process_32.c | 29 +-
62964 arch/x86/kernel/process_64.c | 15 +-
62965 arch/x86/kernel/ptrace.c | 25 +-
62966 arch/x86/kernel/pvclock.c | 8 +-
62967 arch/x86/kernel/reboot.c | 44 +-
62968 arch/x86/kernel/relocate_kernel_64.S | 4 +-
62969 arch/x86/kernel/setup.c | 14 +-
62970 arch/x86/kernel/setup_percpu.c | 27 +-
62971 arch/x86/kernel/signal.c | 15 +-
62972 arch/x86/kernel/smp.c | 2 +-
62973 arch/x86/kernel/smpboot.c | 15 +-
62974 arch/x86/kernel/step.c | 10 +-
62975 arch/x86/kernel/sys_i386_32.c | 247 ++
62976 arch/x86/kernel/sys_x86_64.c | 19 +-
62977 arch/x86/kernel/tboot.c | 14 +-
62978 arch/x86/kernel/time.c | 10 +-
62979 arch/x86/kernel/tls.c | 7 +-
62980 arch/x86/kernel/traps.c | 64 +-
62981 arch/x86/kernel/uprobes.c | 2 +-
62982 arch/x86/kernel/vm86_32.c | 6 +-
62983 arch/x86/kernel/vmlinux.lds.S | 148 +-
62984 arch/x86/kernel/vsyscall_64.c | 12 +-
62985 arch/x86/kernel/x8664_ksyms_64.c | 2 -
62986 arch/x86/kernel/x86_init.c | 8 +-
62987 arch/x86/kernel/xsave.c | 2 +
62988 arch/x86/kvm/cpuid.c | 21 +-
62989 arch/x86/kvm/emulate.c | 4 +-
62990 arch/x86/kvm/lapic.c | 2 +-
62991 arch/x86/kvm/paging_tmpl.h | 2 +-
62992 arch/x86/kvm/svm.c | 8 +
62993 arch/x86/kvm/vmx.c | 47 +-
62994 arch/x86/kvm/x86.c | 10 +-
62995 arch/x86/lguest/boot.c | 3 +-
62996 arch/x86/lib/atomic64_386_32.S | 164 +
62997 arch/x86/lib/atomic64_cx8_32.S | 103 +-
62998 arch/x86/lib/checksum_32.S | 100 +-
62999 arch/x86/lib/clear_page_64.S | 5 +-
63000 arch/x86/lib/cmpxchg16b_emu.S | 2 +
63001 arch/x86/lib/copy_page_64.S | 24 +-
63002 arch/x86/lib/copy_user_64.S | 47 +-
63003 arch/x86/lib/copy_user_nocache_64.S | 20 +-
63004 arch/x86/lib/csum-copy_64.S | 2 +
63005 arch/x86/lib/csum-wrappers_64.c | 4 +-
63006 arch/x86/lib/getuser.S | 68 +-
63007 arch/x86/lib/insn.c | 6 +-
63008 arch/x86/lib/iomap_copy_64.S | 2 +
63009 arch/x86/lib/memcpy_64.S | 18 +-
63010 arch/x86/lib/memmove_64.S | 34 +-
63011 arch/x86/lib/memset_64.S | 7 +-
63012 arch/x86/lib/mmx_32.c | 243 +-
63013 arch/x86/lib/msr-reg.S | 18 +-
63014 arch/x86/lib/putuser.S | 90 +-
63015 arch/x86/lib/rwlock.S | 42 +
63016 arch/x86/lib/rwsem.S | 6 +-
63017 arch/x86/lib/thunk_64.S | 2 +
63018 arch/x86/lib/usercopy_32.c | 376 ++-
63019 arch/x86/lib/usercopy_64.c | 25 +-
63020 arch/x86/mm/extable.c | 25 +-
63021 arch/x86/mm/fault.c | 555 +++-
63022 arch/x86/mm/gup.c | 2 +-
63023 arch/x86/mm/highmem_32.c | 4 +
63024 arch/x86/mm/hugetlbpage.c | 30 +-
63025 arch/x86/mm/init.c | 92 +-
63026 arch/x86/mm/init_32.c | 122 +-
63027 arch/x86/mm/init_64.c | 48 +-
63028 arch/x86/mm/iomap_32.c | 4 +
63029 arch/x86/mm/ioremap.c | 12 +-
63030 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
63031 arch/x86/mm/mmap.c | 41 +-
63032 arch/x86/mm/mmio-mod.c | 10 +-
63033 arch/x86/mm/pageattr-test.c | 2 +-
63034 arch/x86/mm/pageattr.c | 33 +-
63035 arch/x86/mm/pat.c | 12 +-
63036 arch/x86/mm/pf_in.c | 10 +-
63037 arch/x86/mm/pgtable.c | 137 +-
63038 arch/x86/mm/pgtable_32.c | 3 +
63039 arch/x86/mm/setup_nx.c | 7 +
63040 arch/x86/mm/tlb.c | 4 +
63041 arch/x86/net/bpf_jit.S | 14 +
63042 arch/x86/net/bpf_jit_comp.c | 37 +-
63043 arch/x86/oprofile/backtrace.c | 8 +-
63044 arch/x86/pci/amd_bus.c | 2 +-
63045 arch/x86/pci/mrst.c | 4 +-
63046 arch/x86/pci/pcbios.c | 144 +-
63047 arch/x86/platform/efi/efi_32.c | 19 +
63048 arch/x86/platform/efi/efi_stub_32.S | 64 +-
63049 arch/x86/platform/efi/efi_stub_64.S | 8 +
63050 arch/x86/platform/mrst/mrst.c | 6 +-
63051 arch/x86/platform/olpc/olpc_dt.c | 2 +-
63052 arch/x86/power/cpu.c | 4 +-
63053 arch/x86/realmode/init.c | 8 +-
63054 arch/x86/realmode/rm/Makefile | 3 +
63055 arch/x86/realmode/rm/header.S | 4 +-
63056 arch/x86/realmode/rm/trampoline_32.S | 12 +-
63057 arch/x86/realmode/rm/trampoline_64.S | 2 +-
63058 arch/x86/tools/relocs.c | 95 +-
63059 arch/x86/vdso/Makefile | 2 +-
63060 arch/x86/vdso/vdso32-setup.c | 23 +-
63061 arch/x86/vdso/vma.c | 29 +-
63062 arch/x86/xen/enlighten.c | 47 +-
63063 arch/x86/xen/mmu.c | 9 +
63064 arch/x86/xen/smp.c | 18 +-
63065 arch/x86/xen/xen-asm_32.S | 12 +-
63066 arch/x86/xen/xen-head.S | 11 +
63067 arch/x86/xen/xen-ops.h | 2 -
63068 block/blk-iopoll.c | 4 +-
63069 block/blk-map.c | 2 +-
63070 block/blk-softirq.c | 4 +-
63071 block/bsg.c | 12 +-
63072 block/compat_ioctl.c | 2 +-
63073 block/partitions/efi.c | 8 +-
63074 block/scsi_ioctl.c | 27 +-
63075 crypto/cryptd.c | 4 +-
63076 drivers/acpi/apei/cper.c | 8 +-
63077 drivers/acpi/ec_sys.c | 12 +-
63078 drivers/acpi/processor_driver.c | 2 +-
63079 drivers/ata/libata-core.c | 8 +-
63080 drivers/ata/pata_arasan_cf.c | 4 +-
63081 drivers/atm/adummy.c | 2 +-
63082 drivers/atm/ambassador.c | 8 +-
63083 drivers/atm/atmtcp.c | 14 +-
63084 drivers/atm/eni.c | 10 +-
63085 drivers/atm/firestream.c | 8 +-
63086 drivers/atm/fore200e.c | 14 +-
63087 drivers/atm/he.c | 18 +-
63088 drivers/atm/horizon.c | 4 +-
63089 drivers/atm/idt77252.c | 36 +-
63090 drivers/atm/iphase.c | 34 +-
63091 drivers/atm/lanai.c | 12 +-
63092 drivers/atm/nicstar.c | 46 +-
63093 drivers/atm/solos-pci.c | 4 +-
63094 drivers/atm/suni.c | 4 +-
63095 drivers/atm/uPD98402.c | 16 +-
63096 drivers/atm/zatm.c | 6 +-
63097 drivers/base/devtmpfs.c | 2 +-
63098 drivers/base/power/wakeup.c | 8 +-
63099 drivers/block/cciss.c | 28 +-
63100 drivers/block/cciss.h | 2 +-
63101 drivers/block/cpqarray.c | 28 +-
63102 drivers/block/cpqarray.h | 2 +-
63103 drivers/block/drbd/drbd_int.h | 6 +-
63104 drivers/block/drbd/drbd_main.c | 8 +-
63105 drivers/block/drbd/drbd_receiver.c | 18 +-
63106 drivers/block/loop.c | 2 +-
63107 drivers/cdrom/cdrom.c | 9 +-
63108 drivers/cdrom/gdrom.c | 1 -
63109 drivers/char/agp/frontend.c | 2 +-
63110 drivers/char/hpet.c | 2 +-
63111 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
63112 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
63113 drivers/char/mem.c | 41 +-
63114 drivers/char/nvram.c | 2 +-
63115 drivers/char/pcmcia/synclink_cs.c | 18 +-
63116 drivers/char/random.c | 8 +-
63117 drivers/char/sonypi.c | 9 +-
63118 drivers/char/tpm/tpm.c | 2 +-
63119 drivers/char/tpm/tpm_acpi.c | 3 +-
63120 drivers/char/tpm/tpm_eventlog.c | 7 +-
63121 drivers/char/virtio_console.c | 4 +-
63122 drivers/clocksource/arm_generic.c | 2 +-
63123 drivers/cpufreq/cpufreq.c | 2 +-
63124 drivers/cpufreq/cpufreq_stats.c | 2 +-
63125 drivers/dma/sh/shdma.c | 2 +-
63126 drivers/edac/edac_pci_sysfs.c | 20 +-
63127 drivers/edac/mce_amd.h | 2 +-
63128 drivers/firewire/core-card.c | 2 +-
63129 drivers/firewire/core-cdev.c | 3 +-
63130 drivers/firewire/core-transaction.c | 1 +
63131 drivers/firewire/core.h | 1 +
63132 drivers/firmware/dmi_scan.c | 7 +-
63133 drivers/firmware/efivars.c | 2 +-
63134 drivers/gpio/gpio-vr41xx.c | 2 +-
63135 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
63136 drivers/gpu/drm/drm_drv.c | 4 +-
63137 drivers/gpu/drm/drm_fops.c | 18 +-
63138 drivers/gpu/drm/drm_global.c | 14 +-
63139 drivers/gpu/drm/drm_info.c | 14 +-
63140 drivers/gpu/drm/drm_ioc32.c | 4 +-
63141 drivers/gpu/drm/drm_ioctl.c | 2 +-
63142 drivers/gpu/drm/drm_lock.c | 4 +-
63143 drivers/gpu/drm/drm_stub.c | 2 +-
63144 drivers/gpu/drm/i810/i810_dma.c | 8 +-
63145 drivers/gpu/drm/i810/i810_drv.h | 4 +-
63146 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
63147 drivers/gpu/drm/i915/i915_dma.c | 2 +-
63148 drivers/gpu/drm/i915/i915_drv.h | 6 +-
63149 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +-
63150 drivers/gpu/drm/i915/i915_irq.c | 22 +-
63151 drivers/gpu/drm/i915/intel_display.c | 9 +-
63152 drivers/gpu/drm/mga/mga_drv.h | 4 +-
63153 drivers/gpu/drm/mga/mga_irq.c | 8 +-
63154 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
63155 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
63156 drivers/gpu/drm/nouveau/nouveau_fence.h | 2 +-
63157 drivers/gpu/drm/nouveau/nouveau_gem.c | 2 +-
63158 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
63159 drivers/gpu/drm/r128/r128_cce.c | 2 +-
63160 drivers/gpu/drm/r128/r128_drv.h | 4 +-
63161 drivers/gpu/drm/r128/r128_irq.c | 4 +-
63162 drivers/gpu/drm/r128/r128_state.c | 4 +-
63163 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
63164 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
63165 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
63166 drivers/gpu/drm/radeon/radeon_ioc32.c | 2 +-
63167 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
63168 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
63169 drivers/gpu/drm/radeon/radeon_ttm.c | 4 +-
63170 drivers/gpu/drm/radeon/rs690.c | 4 +-
63171 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
63172 drivers/gpu/drm/via/via_drv.h | 4 +-
63173 drivers/gpu/drm/via/via_irq.c | 18 +-
63174 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
63175 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
63176 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
63177 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
63178 drivers/hid/hid-core.c | 4 +-
63179 drivers/hv/channel.c | 4 +-
63180 drivers/hv/hv.c | 2 +-
63181 drivers/hv/hyperv_vmbus.h | 2 +-
63182 drivers/hv/vmbus_drv.c | 4 +-
63183 drivers/hwmon/coretemp.c | 2 +-
63184 drivers/hwmon/sht15.c | 12 +-
63185 drivers/hwmon/via-cputemp.c | 2 +-
63186 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
63187 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
63188 drivers/ide/ide-cd.c | 2 +-
63189 drivers/infiniband/core/cm.c | 32 +-
63190 drivers/infiniband/core/fmr_pool.c | 20 +-
63191 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
63192 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
63193 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
63194 drivers/infiniband/hw/nes/nes.c | 4 +-
63195 drivers/infiniband/hw/nes/nes.h | 40 +-
63196 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
63197 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
63198 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
63199 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
63200 drivers/infiniband/hw/qib/qib.h | 1 +
63201 drivers/input/gameport/gameport.c | 4 +-
63202 drivers/input/input.c | 4 +-
63203 drivers/input/joystick/sidewinder.c | 1 +
63204 drivers/input/joystick/xpad.c | 4 +-
63205 drivers/input/mousedev.c | 2 +-
63206 drivers/input/serio/serio.c | 4 +-
63207 drivers/isdn/capi/capi.c | 10 +-
63208 drivers/isdn/gigaset/interface.c | 8 +-
63209 drivers/isdn/hardware/avm/b1.c | 4 +-
63210 drivers/isdn/i4l/isdn_tty.c | 22 +-
63211 drivers/isdn/icn/icn.c | 2 +-
63212 drivers/lguest/core.c | 10 +-
63213 drivers/lguest/x86/core.c | 12 +-
63214 drivers/lguest/x86/switcher_32.S | 27 +-
63215 drivers/md/bitmap.c | 2 +-
63216 drivers/md/dm-ioctl.c | 2 +-
63217 drivers/md/dm-raid1.c | 16 +-
63218 drivers/md/dm-stripe.c | 10 +-
63219 drivers/md/dm-table.c | 2 +-
63220 drivers/md/dm-thin-metadata.c | 4 +-
63221 drivers/md/dm.c | 16 +-
63222 drivers/md/md.c | 26 +-
63223 drivers/md/md.h | 6 +-
63224 drivers/md/persistent-data/dm-space-map.h | 1 +
63225 drivers/md/raid1.c | 4 +-
63226 drivers/md/raid10.c | 16 +-
63227 drivers/md/raid5.c | 10 +-
63228 drivers/media/dvb-core/dvbdev.c | 2 +-
63229 drivers/media/dvb-frontends/dib3000.h | 2 +-
63230 drivers/media/platform/omap/omap_vout.c | 11 +-
63231 drivers/media/platform/s5p-tv/mixer.h | 2 +-
63232 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
63233 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
63234 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
63235 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
63236 drivers/media/radio/radio-cadet.c | 2 +
63237 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
63238 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
63239 drivers/message/fusion/mptsas.c | 34 +-
63240 drivers/message/fusion/mptscsih.c | 19 +-
63241 drivers/message/i2o/i2o_proc.c | 51 +-
63242 drivers/message/i2o/iop.c | 8 +-
63243 drivers/mfd/janz-cmodio.c | 1 +
63244 drivers/misc/kgdbts.c | 4 +-
63245 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
63246 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
63247 drivers/misc/sgi-gru/gruhandles.c | 4 +-
63248 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
63249 drivers/misc/sgi-gru/grutables.h | 154 +-
63250 drivers/misc/sgi-xp/xp.h | 2 +-
63251 drivers/misc/sgi-xp/xpc.h | 3 +-
63252 drivers/misc/sgi-xp/xpc_main.c | 4 +-
63253 drivers/mmc/core/mmc_ops.c | 2 +-
63254 drivers/mmc/host/dw_mmc.h | 2 +-
63255 drivers/mmc/host/sdhci-s3c.c | 8 +-
63256 drivers/mtd/devices/doc2000.c | 2 +-
63257 drivers/mtd/nand/denali.c | 1 +
63258 drivers/mtd/nftlmount.c | 1 +
63259 drivers/net/ethernet/8390/ax88796.c | 4 +-
63260 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
63261 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
63262 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
63263 drivers/net/ethernet/broadcom/tg3.h | 1 +
63264 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
63265 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
63266 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
63267 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
63268 drivers/net/ethernet/faraday/ftmac100.c | 2 +
63269 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
63270 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
63271 drivers/net/ethernet/realtek/r8169.c | 8 +-
63272 drivers/net/ethernet/sfc/ptp.c | 2 +-
63273 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
63274 drivers/net/hyperv/hyperv_net.h | 2 +-
63275 drivers/net/hyperv/rndis_filter.c | 4 +-
63276 drivers/net/ieee802154/fakehard.c | 2 +-
63277 drivers/net/macvlan.c | 2 +-
63278 drivers/net/macvtap.c | 2 +-
63279 drivers/net/ppp/ppp_generic.c | 4 +-
63280 drivers/net/team/team.c | 2 +-
63281 drivers/net/tun.c | 5 +-
63282 drivers/net/usb/hso.c | 23 +-
63283 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
63284 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
63285 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
63286 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
63287 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
63288 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
63289 drivers/net/wireless/mac80211_hwsim.c | 32 +-
63290 drivers/net/wireless/rndis_wlan.c | 2 +-
63291 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
63292 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
63293 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
63294 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
63295 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
63296 drivers/oprofile/buffer_sync.c | 8 +-
63297 drivers/oprofile/event_buffer.c | 2 +-
63298 drivers/oprofile/oprof.c | 2 +-
63299 drivers/oprofile/oprofile_stats.c | 10 +-
63300 drivers/oprofile/oprofile_stats.h | 10 +-
63301 drivers/oprofile/oprofilefs.c | 2 +-
63302 drivers/oprofile/timer_int.c | 2 +-
63303 drivers/parport/procfs.c | 4 +-
63304 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
63305 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
63306 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
63307 drivers/pci/pcie/aspm.c | 6 +-
63308 drivers/pci/probe.c | 2 +-
63309 drivers/platform/x86/thinkpad_acpi.c | 70 +-
63310 drivers/pnp/pnpbios/bioscalls.c | 14 +-
63311 drivers/pnp/resource.c | 4 +-
63312 drivers/power/pda_power.c | 7 +-
63313 drivers/regulator/max8660.c | 6 +-
63314 drivers/regulator/max8973-regulator.c | 8 +-
63315 drivers/regulator/mc13892-regulator.c | 6 +-
63316 drivers/scsi/bfa/bfa.h | 2 +-
63317 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
63318 drivers/scsi/bfa/bfa_ioc.h | 4 +-
63319 drivers/scsi/hosts.c | 4 +-
63320 drivers/scsi/hpsa.c | 30 +-
63321 drivers/scsi/hpsa.h | 2 +-
63322 drivers/scsi/libfc/fc_exch.c | 50 +-
63323 drivers/scsi/libsas/sas_ata.c | 2 +-
63324 drivers/scsi/lpfc/lpfc.h | 8 +-
63325 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
63326 drivers/scsi/lpfc/lpfc_init.c | 6 +-
63327 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
63328 drivers/scsi/pmcraid.c | 20 +-
63329 drivers/scsi/pmcraid.h | 8 +-
63330 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
63331 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
63332 drivers/scsi/qla2xxx/qla_os.c | 6 +-
63333 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
63334 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
63335 drivers/scsi/scsi.c | 2 +-
63336 drivers/scsi/scsi_lib.c | 6 +-
63337 drivers/scsi/scsi_sysfs.c | 2 +-
63338 drivers/scsi/scsi_tgt_lib.c | 2 +-
63339 drivers/scsi/scsi_transport_fc.c | 8 +-
63340 drivers/scsi/scsi_transport_iscsi.c | 6 +-
63341 drivers/scsi/scsi_transport_srp.c | 6 +-
63342 drivers/scsi/sd.c | 2 +-
63343 drivers/scsi/sg.c | 2 +-
63344 drivers/spi/spi.c | 2 +-
63345 drivers/staging/octeon/ethernet-rx.c | 12 +-
63346 drivers/staging/octeon/ethernet.c | 8 +-
63347 drivers/staging/ramster/tmem.c | 54 +-
63348 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
63349 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
63350 drivers/staging/usbip/vhci.h | 2 +-
63351 drivers/staging/usbip/vhci_hcd.c | 6 +-
63352 drivers/staging/usbip/vhci_rx.c | 2 +-
63353 drivers/staging/vt6655/hostap.c | 7 +-
63354 drivers/staging/vt6656/hostap.c | 7 +-
63355 drivers/staging/zcache/tmem.c | 4 +-
63356 drivers/staging/zcache/tmem.h | 2 +
63357 drivers/target/target_core_device.c | 2 +-
63358 drivers/target/target_core_transport.c | 2 +-
63359 drivers/tty/cyclades.c | 6 +-
63360 drivers/tty/hvc/hvc_console.c | 14 +-
63361 drivers/tty/hvc/hvcs.c | 21 +-
63362 drivers/tty/ipwireless/tty.c | 27 +-
63363 drivers/tty/moxa.c | 2 +-
63364 drivers/tty/n_gsm.c | 4 +-
63365 drivers/tty/n_tty.c | 3 +-
63366 drivers/tty/pty.c | 4 +-
63367 drivers/tty/rocket.c | 6 +-
63368 drivers/tty/serial/kgdboc.c | 32 +-
63369 drivers/tty/serial/samsung.c | 9 +-
63370 drivers/tty/serial/serial_core.c | 8 +-
63371 drivers/tty/synclink.c | 34 +-
63372 drivers/tty/synclink_gt.c | 28 +-
63373 drivers/tty/synclinkmp.c | 34 +-
63374 drivers/tty/tty_io.c | 2 +-
63375 drivers/tty/tty_ldisc.c | 10 +-
63376 drivers/tty/tty_port.c | 22 +-
63377 drivers/uio/uio.c | 21 +-
63378 drivers/usb/atm/cxacru.c | 2 +-
63379 drivers/usb/atm/usbatm.c | 24 +-
63380 drivers/usb/core/devices.c | 6 +-
63381 drivers/usb/core/hcd.c | 4 +-
63382 drivers/usb/core/sysfs.c | 2 +-
63383 drivers/usb/core/usb.c | 2 +-
63384 drivers/usb/early/ehci-dbgp.c | 16 +-
63385 drivers/usb/gadget/u_serial.c | 22 +-
63386 drivers/usb/serial/console.c | 6 +-
63387 drivers/usb/wusbcore/wa-hc.h | 4 +-
63388 drivers/usb/wusbcore/wa-xfer.c | 2 +-
63389 drivers/video/aty/aty128fb.c | 2 +-
63390 drivers/video/fbcmap.c | 3 +-
63391 drivers/video/fbmem.c | 6 +-
63392 drivers/video/i810/i810_accel.c | 1 +
63393 drivers/video/udlfb.c | 32 +-
63394 drivers/video/uvesafb.c | 39 +-
63395 drivers/video/vesafb.c | 51 +-
63396 drivers/video/via/via_clock.h | 2 +-
63397 fs/9p/vfs_inode.c | 2 +-
63398 fs/Kconfig.binfmt | 2 +-
63399 fs/aio.c | 11 +-
63400 fs/autofs4/waitq.c | 2 +-
63401 fs/befs/linuxvfs.c | 2 +-
63402 fs/binfmt_aout.c | 23 +-
63403 fs/binfmt_elf.c | 604 ++++-
63404 fs/binfmt_flat.c | 6 +
63405 fs/bio.c | 6 +-
63406 fs/block_dev.c | 2 +-
63407 fs/btrfs/ctree.c | 9 +-
63408 fs/btrfs/relocation.c | 2 +-
63409 fs/btrfs/super.c | 2 +-
63410 fs/cachefiles/bind.c | 6 +-
63411 fs/cachefiles/daemon.c | 8 +-
63412 fs/cachefiles/internal.h | 12 +-
63413 fs/cachefiles/namei.c | 2 +-
63414 fs/cachefiles/proc.c | 12 +-
63415 fs/cachefiles/rdwr.c | 2 +-
63416 fs/ceph/dir.c | 2 +-
63417 fs/cifs/cifs_debug.c | 12 +-
63418 fs/cifs/cifsfs.c | 8 +-
63419 fs/cifs/cifsglob.h | 54 +-
63420 fs/cifs/link.c | 2 +-
63421 fs/cifs/misc.c | 4 +-
63422 fs/cifs/smb1ops.c | 80 +-
63423 fs/cifs/smb2ops.c | 84 +-
63424 fs/cifs/smb2pdu.c | 3 +-
63425 fs/coda/cache.c | 10 +-
63426 fs/compat.c | 6 +-
63427 fs/compat_binfmt_elf.c | 2 +
63428 fs/compat_ioctl.c | 8 +-
63429 fs/configfs/dir.c | 10 +-
63430 fs/coredump.c | 24 +-
63431 fs/dcache.c | 2 +-
63432 fs/ecryptfs/inode.c | 4 +-
63433 fs/ecryptfs/miscdev.c | 2 +-
63434 fs/ecryptfs/read_write.c | 4 +-
63435 fs/exec.c | 356 ++-
63436 fs/ext4/ext4.h | 20 +-
63437 fs/ext4/mballoc.c | 44 +-
63438 fs/fhandle.c | 3 +-
63439 fs/fifo.c | 22 +-
63440 fs/fs_struct.c | 8 +-
63441 fs/fscache/cookie.c | 36 +-
63442 fs/fscache/internal.h | 196 +-
63443 fs/fscache/object.c | 28 +-
63444 fs/fscache/operation.c | 30 +-
63445 fs/fscache/page.c | 110 +-
63446 fs/fscache/stats.c | 344 +-
63447 fs/fuse/cuse.c | 10 +-
63448 fs/fuse/dev.c | 2 +-
63449 fs/fuse/dir.c | 2 +-
63450 fs/gfs2/inode.c | 2 +-
63451 fs/hugetlbfs/inode.c | 13 +-
63452 fs/inode.c | 4 +-
63453 fs/jffs2/erase.c | 3 +-
63454 fs/jffs2/wbuf.c | 3 +-
63455 fs/jfs/super.c | 2 +-
63456 fs/libfs.c | 10 +-
63457 fs/lockd/clntproc.c | 4 +-
63458 fs/locks.c | 8 +-
63459 fs/namei.c | 15 +-
63460 fs/namespace.c | 2 +-
63461 fs/nfs/inode.c | 6 +-
63462 fs/nfsd/vfs.c | 6 +-
63463 fs/notify/fanotify/fanotify_user.c | 4 +-
63464 fs/notify/notification.c | 4 +-
63465 fs/ntfs/dir.c | 2 +-
63466 fs/ntfs/file.c | 4 +-
63467 fs/ocfs2/localalloc.c | 2 +-
63468 fs/ocfs2/ocfs2.h | 10 +-
63469 fs/ocfs2/suballoc.c | 12 +-
63470 fs/ocfs2/super.c | 20 +-
63471 fs/pipe.c | 33 +-
63472 fs/proc/array.c | 20 +
63473 fs/proc/kcore.c | 32 +-
63474 fs/proc/meminfo.c | 2 +-
63475 fs/proc/nommu.c | 2 +-
63476 fs/proc/self.c | 2 +-
63477 fs/proc/task_mmu.c | 39 +-
63478 fs/proc/task_nommu.c | 4 +-
63479 fs/quota/netlink.c | 4 +-
63480 fs/readdir.c | 2 +-
63481 fs/reiserfs/do_balan.c | 2 +-
63482 fs/reiserfs/procfs.c | 2 +-
63483 fs/reiserfs/reiserfs.h | 4 +-
63484 fs/seq_file.c | 2 +-
63485 fs/splice.c | 36 +-
63486 fs/sysfs/file.c | 10 +-
63487 fs/sysfs/symlink.c | 2 +-
63488 fs/udf/misc.c | 2 +-
63489 fs/xattr_acl.c | 4 +-
63490 fs/xfs/xfs_bmap.c | 2 +-
63491 fs/xfs/xfs_dir2_sf.c | 10 +-
63492 fs/xfs/xfs_ioctl.c | 2 +-
63493 fs/xfs/xfs_iops.c | 2 +-
63494 include/asm-generic/4level-fixup.h | 2 +
63495 include/asm-generic/atomic-long.h | 210 ++
63496 include/asm-generic/atomic.h | 2 +-
63497 include/asm-generic/atomic64.h | 12 +
63498 include/asm-generic/cache.h | 4 +-
63499 include/asm-generic/emergency-restart.h | 2 +-
63500 include/asm-generic/kmap_types.h | 4 +-
63501 include/asm-generic/local.h | 13 +
63502 include/asm-generic/pgtable-nopmd.h | 18 +-
63503 include/asm-generic/pgtable-nopud.h | 15 +-
63504 include/asm-generic/pgtable.h | 8 +
63505 include/asm-generic/vmlinux.lds.h | 10 +-
63506 include/crypto/algapi.h | 2 +-
63507 include/drm/drmP.h | 5 +-
63508 include/drm/drm_crtc_helper.h | 2 +-
63509 include/drm/ttm/ttm_memory.h | 2 +-
63510 include/linux/atmdev.h | 2 +-
63511 include/linux/binfmts.h | 1 +
63512 include/linux/blkdev.h | 2 +-
63513 include/linux/blktrace_api.h | 2 +-
63514 include/linux/cache.h | 4 +
63515 include/linux/cdrom.h | 1 -
63516 include/linux/cleancache.h | 2 +-
63517 include/linux/compiler-gcc4.h | 20 +
63518 include/linux/compiler.h | 72 +-
63519 include/linux/cpu.h | 2 +-
63520 include/linux/crypto.h | 6 +-
63521 include/linux/decompress/mm.h | 2 +-
63522 include/linux/dma-mapping.h | 2 +-
63523 include/linux/dmaengine.h | 4 +-
63524 include/linux/efi.h | 1 +
63525 include/linux/elf.h | 2 +
63526 include/linux/filter.h | 4 +
63527 include/linux/frontswap.h | 2 +-
63528 include/linux/fs.h | 3 +-
63529 include/linux/fs_struct.h | 2 +-
63530 include/linux/fscache-cache.h | 4 +-
63531 include/linux/fsnotify.h | 2 +-
63532 include/linux/ftrace_event.h | 2 +-
63533 include/linux/genhd.h | 2 +-
63534 include/linux/gfp.h | 12 +-
63535 include/linux/highmem.h | 12 +
63536 include/linux/i2c.h | 1 +
63537 include/linux/i2o.h | 2 +-
63538 include/linux/if_pppox.h | 2 +-
63539 include/linux/init.h | 33 +-
63540 include/linux/init_task.h | 7 +
63541 include/linux/interrupt.h | 8 +-
63542 include/linux/kgdb.h | 6 +-
63543 include/linux/kobject.h | 2 +-
63544 include/linux/kref.h | 2 +-
63545 include/linux/kvm_host.h | 4 +-
63546 include/linux/libata.h | 2 +-
63547 include/linux/list.h | 3 +
63548 include/linux/mm.h | 91 +-
63549 include/linux/mm_types.h | 22 +-
63550 include/linux/mmiotrace.h | 4 +-
63551 include/linux/mmzone.h | 2 +-
63552 include/linux/mod_devicetable.h | 4 +-
63553 include/linux/module.h | 55 +-
63554 include/linux/moduleloader.h | 18 +-
63555 include/linux/moduleparam.h | 4 +-
63556 include/linux/namei.h | 6 +-
63557 include/linux/netdevice.h | 3 +-
63558 include/linux/netfilter/ipset/ip_set.h | 2 +-
63559 include/linux/netfilter/nfnetlink.h | 2 +-
63560 include/linux/notifier.h | 3 +-
63561 include/linux/oprofile.h | 4 +-
63562 include/linux/perf_event.h | 10 +-
63563 include/linux/pipe_fs_i.h | 6 +-
63564 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
63565 include/linux/pm_runtime.h | 2 +-
63566 include/linux/poison.h | 4 +-
63567 include/linux/power/smartreflex.h | 2 +-
63568 include/linux/random.h | 5 +
63569 include/linux/reboot.h | 14 +-
63570 include/linux/regset.h | 3 +-
63571 include/linux/relay.h | 2 +-
63572 include/linux/rio.h | 2 +-
63573 include/linux/rmap.h | 4 +-
63574 include/linux/sched.h | 64 +-
63575 include/linux/seq_file.h | 1 +
63576 include/linux/skbuff.h | 12 +-
63577 include/linux/slab.h | 36 +-
63578 include/linux/slab_def.h | 33 +-
63579 include/linux/slob_def.h | 4 +-
63580 include/linux/slub_def.h | 10 +-
63581 include/linux/sonet.h | 2 +-
63582 include/linux/sunrpc/clnt.h | 8 +-
63583 include/linux/sunrpc/svc_rdma.h | 18 +-
63584 include/linux/sysrq.h | 2 +-
63585 include/linux/thread_info.h | 7 +
63586 include/linux/tty.h | 4 +-
63587 include/linux/tty_driver.h | 2 +-
63588 include/linux/tty_ldisc.h | 2 +-
63589 include/linux/types.h | 16 +
63590 include/linux/uaccess.h | 6 +-
63591 include/linux/unaligned/access_ok.h | 12 +-
63592 include/linux/usb.h | 2 +-
63593 include/linux/usb/renesas_usbhs.h | 2 +-
63594 include/linux/vermagic.h | 21 +-
63595 include/linux/vmalloc.h | 11 +-
63596 include/linux/vmstat.h | 20 +-
63597 include/media/v4l2-dev.h | 2 +-
63598 include/media/v4l2-ioctl.h | 1 -
63599 include/net/caif/cfctrl.h | 6 +-
63600 include/net/flow.h | 2 +-
63601 include/net/gro_cells.h | 6 +-
63602 include/net/inet_connection_sock.h | 2 +-
63603 include/net/inetpeer.h | 8 +-
63604 include/net/ip_fib.h | 2 +-
63605 include/net/ip_vs.h | 4 +-
63606 include/net/irda/ircomm_tty.h | 1 +
63607 include/net/iucv/af_iucv.h | 2 +-
63608 include/net/neighbour.h | 2 +-
63609 include/net/net_namespace.h | 6 +-
63610 include/net/netdma.h | 2 +-
63611 include/net/netlink.h | 2 +-
63612 include/net/netns/ipv4.h | 2 +-
63613 include/net/protocol.h | 4 +-
63614 include/net/sctp/sctp.h | 6 +-
63615 include/net/sctp/structs.h | 4 +-
63616 include/net/sock.h | 6 +-
63617 include/net/tcp.h | 8 +-
63618 include/net/xfrm.h | 4 +-
63619 include/rdma/iw_cm.h | 2 +-
63620 include/scsi/libfc.h | 3 +-
63621 include/scsi/scsi_device.h | 6 +-
63622 include/scsi/scsi_transport_fc.h | 3 +-
63623 include/sound/soc.h | 4 +-
63624 include/target/target_core_base.h | 2 +-
63625 include/trace/events/irq.h | 4 +-
63626 include/uapi/linux/a.out.h | 8 +
63627 include/uapi/linux/byteorder/little_endian.h | 24 +-
63628 include/uapi/linux/elf.h | 28 +
63629 include/uapi/linux/screen_info.h | 3 +-
63630 include/uapi/linux/sysctl.h | 6 +-
63631 include/uapi/linux/xattr.h | 4 +
63632 include/video/udlfb.h | 8 +-
63633 include/video/uvesafb.h | 1 +
63634 init/Kconfig | 2 +-
63635 init/Makefile | 3 +
63636 init/do_mounts.c | 14 +-
63637 init/do_mounts.h | 8 +-
63638 init/do_mounts_initrd.c | 22 +-
63639 init/do_mounts_md.c | 6 +-
63640 init/init_task.c | 4 +
63641 init/initramfs.c | 40 +-
63642 init/main.c | 78 +-
63643 ipc/msg.c | 11 +-
63644 ipc/sem.c | 11 +-
63645 ipc/shm.c | 17 +-
63646 kernel/acct.c | 2 +-
63647 kernel/audit.c | 8 +-
63648 kernel/auditsc.c | 4 +-
63649 kernel/capability.c | 3 +
63650 kernel/compat.c | 40 +-
63651 kernel/debug/debug_core.c | 16 +-
63652 kernel/debug/kdb/kdb_main.c | 4 +-
63653 kernel/events/core.c | 28 +-
63654 kernel/exit.c | 4 +-
63655 kernel/fork.c | 167 +-
63656 kernel/futex.c | 9 +
63657 kernel/gcov/base.c | 7 +-
63658 kernel/hrtimer.c | 4 +-
63659 kernel/jump_label.c | 5 +
63660 kernel/kallsyms.c | 39 +-
63661 kernel/kexec.c | 3 +-
63662 kernel/kmod.c | 2 +-
63663 kernel/kprobes.c | 8 +-
63664 kernel/lockdep.c | 7 +-
63665 kernel/module.c | 333 ++-
63666 kernel/mutex-debug.c | 12 +-
63667 kernel/mutex-debug.h | 4 +-
63668 kernel/mutex.c | 7 +-
63669 kernel/notifier.c | 17 +-
63670 kernel/panic.c | 3 +-
63671 kernel/pid.c | 2 +-
63672 kernel/posix-cpu-timers.c | 4 +-
63673 kernel/posix-timers.c | 20 +-
63674 kernel/power/process.c | 12 +-
63675 kernel/profile.c | 14 +-
63676 kernel/ptrace.c | 6 +-
63677 kernel/rcutiny.c | 4 +-
63678 kernel/rcutiny_plugin.h | 2 +-
63679 kernel/rcutorture.c | 56 +-
63680 kernel/rcutree.c | 72 +-
63681 kernel/rcutree.h | 24 +-
63682 kernel/rcutree_plugin.h | 18 +-
63683 kernel/rcutree_trace.c | 22 +-
63684 kernel/rtmutex-tester.c | 24 +-
63685 kernel/sched/auto_group.c | 4 +-
63686 kernel/sched/core.c | 2 +-
63687 kernel/sched/fair.c | 4 +-
63688 kernel/signal.c | 12 +-
63689 kernel/smp.c | 2 +-
63690 kernel/softirq.c | 16 +-
63691 kernel/srcu.c | 6 +-
63692 kernel/stop_machine.c | 2 +-
63693 kernel/sys.c | 12 +-
63694 kernel/sysctl.c | 37 +-
63695 kernel/sysctl_binary.c | 14 +-
63696 kernel/time/alarmtimer.c | 2 +-
63697 kernel/time/tick-broadcast.c | 2 +-
63698 kernel/time/timer_stats.c | 10 +-
63699 kernel/timer.c | 4 +-
63700 kernel/trace/blktrace.c | 6 +-
63701 kernel/trace/ftrace.c | 20 +-
63702 kernel/trace/ring_buffer.c | 76 +-
63703 kernel/trace/trace.c | 6 +-
63704 kernel/trace/trace_events.c | 25 +-
63705 kernel/trace/trace_mmiotrace.c | 8 +-
63706 kernel/trace/trace_output.c | 12 +-
63707 kernel/trace/trace_stack.c | 2 +-
63708 lib/Makefile | 2 +-
63709 lib/bitmap.c | 8 +-
63710 lib/bug.c | 2 +
63711 lib/debugobjects.c | 2 +-
63712 lib/devres.c | 4 +-
63713 lib/dma-debug.c | 4 +-
63714 lib/inflate.c | 2 +-
63715 lib/ioremap.c | 4 +-
63716 lib/list_debug.c | 89 +-
63717 lib/radix-tree.c | 2 +-
63718 lib/strncpy_from_user.c | 2 +-
63719 lib/strnlen_user.c | 2 +-
63720 lib/vsprintf.c | 12 +-
63721 mm/Kconfig | 6 +-
63722 mm/filemap.c | 2 +-
63723 mm/fremap.c | 5 +
63724 mm/highmem.c | 7 +-
63725 mm/hugetlb.c | 54 +
63726 mm/internal.h | 1 +
63727 mm/maccess.c | 4 +-
63728 mm/madvise.c | 41 +
63729 mm/memory-failure.c | 18 +-
63730 mm/memory.c | 404 ++-
63731 mm/mempolicy.c | 26 +
63732 mm/mlock.c | 16 +-
63733 mm/mmap.c | 573 +++-
63734 mm/mprotect.c | 138 +-
63735 mm/mremap.c | 44 +-
63736 mm/nommu.c | 11 +-
63737 mm/page-writeback.c | 2 +-
63738 mm/page_alloc.c | 14 +-
63739 mm/percpu.c | 2 +-
63740 mm/process_vm_access.c | 14 +-
63741 mm/rmap.c | 38 +-
63742 mm/shmem.c | 19 +-
63743 mm/slab.c | 104 +-
63744 mm/slab.h | 5 +-
63745 mm/slab_common.c | 9 +-
63746 mm/slob.c | 200 +-
63747 mm/slub.c | 98 +-
63748 mm/sparse-vmemmap.c | 4 +-
63749 mm/sparse.c | 2 +-
63750 mm/swap.c | 3 +
63751 mm/swapfile.c | 12 +-
63752 mm/util.c | 6 +
63753 mm/vmalloc.c | 82 +-
63754 mm/vmstat.c | 12 +-
63755 net/8021q/vlan.c | 5 +-
63756 net/9p/trans_fd.c | 2 +-
63757 net/atm/atm_misc.c | 8 +-
63758 net/atm/lec.h | 2 +-
63759 net/atm/proc.c | 6 +-
63760 net/atm/resources.c | 4 +-
63761 net/batman-adv/bat_iv_ogm.c | 8 +-
63762 net/batman-adv/hard-interface.c | 4 +-
63763 net/batman-adv/soft-interface.c | 4 +-
63764 net/batman-adv/types.h | 6 +-
63765 net/batman-adv/unicast.c | 2 +-
63766 net/bluetooth/hci_sock.c | 2 +-
63767 net/bluetooth/l2cap_core.c | 6 +-
63768 net/bluetooth/l2cap_sock.c | 12 +-
63769 net/bluetooth/rfcomm/sock.c | 4 +-
63770 net/bluetooth/rfcomm/tty.c | 10 +-
63771 net/bridge/netfilter/ebtables.c | 6 +-
63772 net/caif/cfctrl.c | 11 +-
63773 net/can/af_can.c | 2 +-
63774 net/can/gw.c | 6 +-
63775 net/compat.c | 34 +-
63776 net/core/datagram.c | 2 +-
63777 net/core/dev.c | 16 +-
63778 net/core/flow.c | 8 +-
63779 net/core/iovec.c | 4 +-
63780 net/core/rtnetlink.c | 2 +-
63781 net/core/scm.c | 8 +-
63782 net/core/sock.c | 24 +-
63783 net/decnet/sysctl_net_decnet.c | 4 +-
63784 net/ipv4/ah4.c | 2 +-
63785 net/ipv4/esp4.c | 2 +-
63786 net/ipv4/fib_frontend.c | 6 +-
63787 net/ipv4/fib_semantics.c | 2 +-
63788 net/ipv4/inetpeer.c | 4 +-
63789 net/ipv4/ip_fragment.c | 2 +-
63790 net/ipv4/ip_sockglue.c | 2 +-
63791 net/ipv4/ipcomp.c | 2 +-
63792 net/ipv4/ipconfig.c | 6 +-
63793 net/ipv4/netfilter/arp_tables.c | 12 +-
63794 net/ipv4/netfilter/ip_tables.c | 12 +-
63795 net/ipv4/ping.c | 2 +-
63796 net/ipv4/raw.c | 14 +-
63797 net/ipv4/route.c | 2 +-
63798 net/ipv4/tcp_input.c | 2 +-
63799 net/ipv4/tcp_probe.c | 2 +-
63800 net/ipv4/udp.c | 10 +-
63801 net/ipv6/addrconf.c | 2 +-
63802 net/ipv6/ip6_gre.c | 2 +-
63803 net/ipv6/ipv6_sockglue.c | 2 +-
63804 net/ipv6/netfilter/ip6_tables.c | 12 +-
63805 net/ipv6/raw.c | 19 +-
63806 net/ipv6/udp.c | 8 +-
63807 net/irda/ircomm/ircomm_tty.c | 18 +-
63808 net/iucv/af_iucv.c | 4 +-
63809 net/iucv/iucv.c | 2 +-
63810 net/key/af_key.c | 4 +-
63811 net/mac80211/cfg.c | 4 +-
63812 net/mac80211/ieee80211_i.h | 3 +-
63813 net/mac80211/iface.c | 14 +-
63814 net/mac80211/main.c | 2 +-
63815 net/mac80211/pm.c | 6 +-
63816 net/mac80211/rate.c | 2 +-
63817 net/mac80211/rc80211_pid_debugfs.c | 2 +-
63818 net/mac80211/util.c | 2 +-
63819 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
63820 net/netfilter/ipvs/ip_vs_core.c | 4 +-
63821 net/netfilter/ipvs/ip_vs_ctl.c | 10 +-
63822 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
63823 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
63824 net/netfilter/nfnetlink_log.c | 4 +-
63825 net/netfilter/xt_statistic.c | 8 +-
63826 net/netlink/af_netlink.c | 4 +-
63827 net/packet/af_packet.c | 12 +-
63828 net/phonet/pep.c | 6 +-
63829 net/phonet/socket.c | 2 +-
63830 net/rds/cong.c | 6 +-
63831 net/rds/ib.h | 2 +-
63832 net/rds/ib_cm.c | 2 +-
63833 net/rds/ib_recv.c | 4 +-
63834 net/rds/iw.h | 2 +-
63835 net/rds/iw_cm.c | 2 +-
63836 net/rds/iw_recv.c | 4 +-
63837 net/rds/tcp.c | 2 +-
63838 net/rds/tcp_send.c | 2 +-
63839 net/rxrpc/af_rxrpc.c | 2 +-
63840 net/rxrpc/ar-ack.c | 14 +-
63841 net/rxrpc/ar-call.c | 2 +-
63842 net/rxrpc/ar-connection.c | 2 +-
63843 net/rxrpc/ar-connevent.c | 2 +-
63844 net/rxrpc/ar-input.c | 4 +-
63845 net/rxrpc/ar-internal.h | 8 +-
63846 net/rxrpc/ar-local.c | 2 +-
63847 net/rxrpc/ar-output.c | 4 +-
63848 net/rxrpc/ar-peer.c | 2 +-
63849 net/rxrpc/ar-proc.c | 4 +-
63850 net/rxrpc/ar-transport.c | 2 +-
63851 net/rxrpc/rxkad.c | 4 +-
63852 net/sctp/ipv6.c | 2 +-
63853 net/sctp/protocol.c | 8 +-
63854 net/sctp/socket.c | 2 +
63855 net/socket.c | 34 +-
63856 net/sunrpc/sched.c | 4 +-
63857 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
63858 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
63859 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
63860 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
63861 net/tipc/link.c | 6 +-
63862 net/tipc/msg.c | 2 +-
63863 net/tipc/subscr.c | 2 +-
63864 net/wireless/wext-core.c | 19 +-
63865 net/xfrm/xfrm_policy.c | 16 +-
63866 net/xfrm/xfrm_state.c | 4 +-
63867 scripts/Makefile.build | 2 +-
63868 scripts/Makefile.clean | 3 +-
63869 scripts/Makefile.host | 28 +-
63870 scripts/basic/fixdep.c | 12 +-
63871 scripts/gcc-plugin.sh | 17 +
63872 scripts/link-vmlinux.sh | 2 +-
63873 scripts/mod/file2alias.c | 14 +-
63874 scripts/mod/modpost.c | 25 +-
63875 scripts/mod/modpost.h | 6 +-
63876 scripts/mod/sumversion.c | 2 +-
63877 scripts/pnmtologo.c | 6 +-
63878 security/Kconfig | 654 ++++-
63879 security/integrity/ima/ima.h | 4 +-
63880 security/integrity/ima/ima_api.c | 2 +-
63881 security/integrity/ima/ima_fs.c | 4 +-
63882 security/integrity/ima/ima_queue.c | 2 +-
63883 security/keys/compat.c | 2 +-
63884 security/keys/keyctl.c | 8 +-
63885 security/keys/keyring.c | 6 +-
63886 security/security.c | 9 +-
63887 security/selinux/hooks.c | 2 +-
63888 security/selinux/include/xfrm.h | 2 +-
63889 security/smack/smack_lsm.c | 2 +-
63890 security/tomoyo/tomoyo.c | 2 +-
63891 sound/aoa/codecs/onyx.c | 7 +-
63892 sound/aoa/codecs/onyx.h | 1 +
63893 sound/core/oss/pcm_oss.c | 18 +-
63894 sound/core/pcm_compat.c | 2 +-
63895 sound/core/pcm_native.c | 4 +-
63896 sound/core/seq/seq_device.c | 8 +-
63897 sound/drivers/mts64.c | 14 +-
63898 sound/drivers/opl4/opl4_lib.c | 2 +-
63899 sound/drivers/portman2x4.c | 3 +-
63900 sound/firewire/amdtp.c | 4 +-
63901 sound/firewire/amdtp.h | 2 +-
63902 sound/firewire/isight.c | 10 +-
63903 sound/firewire/scs1x.c | 8 +-
63904 sound/oss/sb_audio.c | 2 +-
63905 sound/oss/swarm_cs4297a.c | 6 +-
63906 sound/pci/ymfpci/ymfpci.h | 2 +-
63907 sound/pci/ymfpci/ymfpci_main.c | 12 +-
63908 tools/gcc/.gitignore | 1 +
63909 tools/gcc/Makefile | 43 +
63910 tools/gcc/checker_plugin.c | 171 +
63911 tools/gcc/colorize_plugin.c | 151 +
63912 tools/gcc/constify_plugin.c | 359 +++
63913 tools/gcc/generate_size_overflow_hash.sh | 94 +
63914 tools/gcc/kallocstat_plugin.c | 170 +
63915 tools/gcc/kernexec_plugin.c | 465 +++
63916 tools/gcc/latent_entropy_plugin.c | 321 ++
63917 tools/gcc/size_overflow_hash.data | 3713 ++++++++++++++++++++++
63918 tools/gcc/size_overflow_plugin.c | 1941 +++++++++++
63919 tools/gcc/stackleak_plugin.c | 327 ++
63920 tools/perf/util/include/asm/alternative-asm.h | 3 +
63921 virt/kvm/kvm_main.c | 32 +-
63922 1311 files changed, 26668 insertions(+), 6394 deletions(-)
63923 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
63924 Merge: 0949bd4 fc53d63
63925 Author: Brad Spengler <spender@grsecurity.net>
63926 Date: Thu Mar 22 19:03:44 2012 -0400
63927
63928 Merge branch 'pax-test' into grsec-test
63929
63930 commit fc53d6338964741b368070ec5c935bc579b8c2a6
63931 Author: Brad Spengler <spender@grsecurity.net>
63932 Date: Thu Mar 22 19:02:45 2012 -0400
63933
63934 Update to pax-linux-3.2.12-test33.patch
63935
63936 commit 0949bd46a6455b308f66ad7c993bfee62412db35
63937 Author: Brad Spengler <spender@grsecurity.net>
63938 Date: Thu Mar 22 16:56:09 2012 -0400
63939
63940 Use current_umask() instead of current->fs->umask
63941
63942 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
63943 Author: Brad Spengler <spender@grsecurity.net>
63944 Date: Wed Mar 21 19:42:42 2012 -0400
63945
63946 compile fix
63947
63948 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
63949 Author: Brad Spengler <spender@grsecurity.net>
63950 Date: Wed Mar 21 19:34:56 2012 -0400
63951
63952 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
63953 uses of domains with particular hash collisions
63954
63955 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
63956 Author: Brad Spengler <spender@grsecurity.net>
63957 Date: Tue Mar 20 20:25:49 2012 -0400
63958
63959 zero kernel_role
63960
63961 commit b00953b43c69238d181d21121ef1577c988d5f6b
63962 Author: Brad Spengler <spender@grsecurity.net>
63963 Date: Tue Mar 20 19:29:34 2012 -0400
63964
63965 zero real_root after releasing it
63966
63967 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
63968 Merge: b724f59 273f98e
63969 Author: Brad Spengler <spender@grsecurity.net>
63970 Date: Tue Mar 20 19:11:26 2012 -0400
63971
63972 Merge branch 'pax-test' into grsec-test
63973
63974 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
63975 Author: Brad Spengler <spender@grsecurity.net>
63976 Date: Tue Mar 20 19:10:52 2012 -0400
63977
63978 Temporary workaround for (most) size_overflow plugin false-positives
63979 Increase randomization for brk-managed heap to 21 bits
63980 Update to pax-linux-3.2.12-test32.patch
63981
63982 commit b724f59125304460c2af8bd4b02921993afbb5d3
63983 Author: Brad Spengler <spender@grsecurity.net>
63984 Date: Tue Mar 20 18:58:53 2012 -0400
63985
63986 compile fix
63987
63988 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
63989 Author: Brad Spengler <spender@grsecurity.net>
63990 Date: Tue Mar 20 18:52:23 2012 -0400
63991
63992 Require default and kernel role
63993
63994 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
63995 Author: Brad Spengler <spender@grsecurity.net>
63996 Date: Tue Mar 20 18:47:28 2012 -0400
63997
63998 Allow policies without special roles
63999 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
64000
64001 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
64002 Merge: 8e012dc f14661a
64003 Author: Brad Spengler <spender@grsecurity.net>
64004 Date: Mon Mar 19 18:06:59 2012 -0400
64005
64006 Merge branch 'pax-test' into grsec-test
64007
64008 Conflicts:
64009 fs/namei.c
64010
64011 commit f14661aaf202155c97f66626cea0269017bb7775
64012 Merge: eae671f 058b017
64013 Author: Brad Spengler <spender@grsecurity.net>
64014 Date: Mon Mar 19 18:05:44 2012 -0400
64015
64016 Merge branch 'linux-3.2.y' into pax-test
64017
64018 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
64019 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
64020 Date: Fri Mar 16 17:08:39 2012 -0700
64021
64022 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
64023
64024 According to the report from Slicky Devil, nilfs caused kernel oops at
64025 nilfs_load_super_block function during mount after he shrank the
64026 partition without resizing the filesystem:
64027
64028 BUG: unable to handle kernel NULL pointer dereference at 00000048
64029 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
64030 *pde = 00000000
64031 Oops: 0000 [#1] PREEMPT SMP
64032 ...
64033 Call Trace:
64034 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
64035 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
64036 [<c0226636>] mount_fs+0x36/0x180
64037 [<c023d961>] vfs_kern_mount+0x51/0xa0
64038 [<c023ddae>] do_kern_mount+0x3e/0xe0
64039 [<c023f189>] do_mount+0x169/0x700
64040 [<c023fa9b>] sys_mount+0x6b/0xa0
64041 [<c04abd1f>] sysenter_do_call+0x12/0x28
64042 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
64043 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
64044 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
64045 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
64046 CR2: 0000000000000048
64047
64048 This turned out due to a defect in an error path which runs if the
64049 calculated location of the secondary super block was invalid.
64050
64051 This patch fixes it and eliminates the reported oops.
64052
64053 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
64054 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
64055 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
64056 Cc: <stable@vger.kernel.org> [2.6.30+]
64057 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
64058 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64059
64060 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
64061 Author: Haogang Chen <haogangchen@gmail.com>
64062 Date: Fri Mar 16 17:08:38 2012 -0700
64063
64064 nilfs2: clamp ns_r_segments_percentage to [1, 99]
64065
64066 ns_r_segments_percentage is read from the disk. Bogus or malicious
64067 value could cause integer overflow and malfunction due to meaningless
64068 disk usage calculation. This patch reports error when mounting such
64069 bogus volumes.
64070
64071 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
64072 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
64073 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
64074 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64075
64076 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
64077 Author: Eric Dumazet <eric.dumazet@gmail.com>
64078 Date: Sat Mar 10 09:20:21 2012 +0000
64079
64080 tcp: fix syncookie regression
64081
64082 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
64083 added a serious regression on synflood handling.
64084
64085 Simon Kirby discovered a successful connection was delayed by 20 seconds
64086 before being responsive.
64087
64088 In my tests, I discovered that xmit frames were lost, and needed ~4
64089 retransmits and a socket dst rebuild before being really sent.
64090
64091 In case of syncookie initiated connection, we use a different path to
64092 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
64093
64094 As ip_queue_xmit() now depends on inet flow being setup, fix this by
64095 copying the temp flowi4 we use in cookie_v4_check().
64096
64097 Reported-by: Simon Kirby <sim@netnation.com>
64098 Bisected-by: Simon Kirby <sim@netnation.com>
64099 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
64100 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
64101 Signed-off-by: David S. Miller <davem@davemloft.net>
64102
64103 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
64104 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
64105 Date: Mon Mar 12 02:59:41 2012 +0000
64106
64107 tun: don't hold network namespace by tun sockets
64108
64109 v3: added previously removed sock_put() to the tun_release() callback, because
64110 sk_release_kernel() doesn't drop the socket reference.
64111
64112 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
64113 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
64114 call.
64115
64116 TUN was designed to destroy it's socket on network namesapce shutdown. But this
64117 will never happen for persistent device, because it's socket holds network
64118 namespace.
64119 This patch removes of holding network namespace by TUN socket and replaces it
64120 by creating socket in init_net and then changing it's net it to desired one. On
64121 shutdown socket is moved back to init_net prior to final put.
64122
64123 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
64124 Signed-off-by: David S. Miller <davem@davemloft.net>
64125
64126 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
64127 Author: Tyler Hicks <tyhicks@canonical.com>
64128 Date: Mon Dec 12 10:02:30 2011 -0600
64129
64130 vfs: Correctly set the dir i_mutex lockdep class
64131
64132 9a7aa12f3911853a introduced additional logic around setting the i_mutex
64133 lockdep class for directory inodes. The idea was that some filesystems
64134 may want their own special lockdep class for different directory
64135 inodes and calling unlock_new_inode() should not clobber one of
64136 those special classes.
64137
64138 I believe that the added conditional, around the *negated* return value
64139 of lockdep_match_class(), caused directory inodes to be placed in the
64140 wrong lockdep class.
64141
64142 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
64143 all inodes. If the filesystem did not change the class during inode
64144 initialization, then the conditional mentioned above was false and the
64145 directory inode was incorrectly left in the non-directory lockdep class.
64146 If the filesystem did set a special lockdep class, then the conditional
64147 mentioned above was true and that class was clobbered with
64148 i_mutex_dir_key.
64149
64150 This patch removes the negation from the conditional so that the i_mutex
64151 lockdep class is properly set for directory inodes. Special classes are
64152 preserved and directory inodes with unmodified classes are set with
64153 i_mutex_dir_key.
64154
64155 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
64156 Reviewed-by: Jan Kara <jack@suse.cz>
64157 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64158
64159 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
64160 Author: Jan Kara <jack@suse.cz>
64161 Date: Mon Feb 20 17:54:00 2012 +0100
64162
64163 udf: Fix deadlock in udf_release_file()
64164
64165 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
64166 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
64167 i_mutex is not needed in udf_release_file() anymore since protection by
64168 i_data_sem is enough to protect from races with write and truncate.
64169
64170 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
64171 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
64172 Signed-off-by: Jan Kara <jack@suse.cz>
64173 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64174
64175 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
64176 Author: Miklos Szeredi <mszeredi@suse.cz>
64177 Date: Tue Mar 6 13:56:33 2012 +0100
64178
64179 vfs: fix double put after complete_walk()
64180
64181 complete_walk() already puts nd->path, no need to do it again at cleanup time.
64182
64183 This would result in Oopses if triggered, apparently the codepath is not too
64184 well exercised.
64185
64186 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
64187 CC: stable@vger.kernel.org
64188 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64189
64190 commit 13885ba2b18400f3ef6540497d30f1af896605e5
64191 Author: Miklos Szeredi <mszeredi@suse.cz>
64192 Date: Tue Mar 6 13:56:34 2012 +0100
64193
64194 vfs: fix return value from do_last()
64195
64196 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
64197 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
64198 which is complete nonsense.
64199
64200 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
64201 CC: stable@vger.kernel.org
64202 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64203
64204 Conflicts:
64205
64206 fs/namei.c
64207
64208 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
64209 Author: Al Viro <viro@zeniv.linux.org.uk>
64210 Date: Sat Mar 10 17:07:28 2012 -0500
64211
64212 restore smp_mb() in unlock_new_inode()
64213
64214 wait_on_inode() doesn't have ->i_lock
64215
64216 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64217
64218 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
64219 Author: David S. Miller <davem@davemloft.net>
64220 Date: Tue Mar 13 18:19:51 2012 -0700
64221
64222 sparc32: Add -Av8 to assembler command line.
64223
64224 Newer version of binutils are more strict about specifying the
64225 correct options to enable certain classes of instructions.
64226
64227 The sparc32 build is done for v7 in order to support sun4c systems
64228 which lack hardware integer multiply and divide instructions.
64229
64230 So we have to pass -Av8 when building the assembler routines that
64231 use these instructions and get patched into the kernel when we find
64232 out that we have a v8 capable cpu.
64233
64234 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
64235 Signed-off-by: David S. Miller <davem@davemloft.net>
64236
64237 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
64238 Author: Thomas Gleixner <tglx@linutronix.de>
64239 Date: Fri Mar 9 20:55:10 2012 +0100
64240
64241 x86: Derandom delay_tsc for 64 bit
64242
64243 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
64244 delay_tsc() into a random delay generator for 64 bit. The reason is
64245 that it merged the mostly identical versions of delay_32.c and
64246 delay_64.c. Though the subtle difference of the result was:
64247
64248 static void delay_tsc(unsigned long loops)
64249 {
64250 - unsigned bclock, now;
64251 + unsigned long bclock, now;
64252
64253 Now the function uses rdtscl() which returns the lower 32bit of the
64254 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
64255 bit this fails when the lower 32bit are close to wrap around when
64256 bclock is read, because the following check
64257
64258 if ((now - bclock) >= loops)
64259 break;
64260
64261 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
64262 because the unsigned long (now - bclock) of these values results in
64263 0xffffffff00000001 which is definitely larger than the loops
64264 value. That explains Tvortkos observation:
64265
64266 "Because I am seeing udelay(500) (_occasionally_) being short, and
64267 that by delaying for some duration between 0us (yep) and 491us."
64268
64269 Make those variables explicitely u32 again, so this works for both 32
64270 and 64 bit.
64271
64272 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
64273 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
64274 Cc: stable@vger.kernel.org # >= 2.6.27
64275 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64276
64277 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
64278 Author: Al Viro <viro@ZenIV.linux.org.uk>
64279 Date: Thu Mar 8 17:51:19 2012 +0000
64280
64281 aio: fix the "too late munmap()" race
64282
64283 Current code has put_ioctx() called asynchronously from aio_fput_routine();
64284 that's done *after* we have killed the request that used to pin ioctx,
64285 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
64286 from progressing. As the result, we can end up with async call of
64287 put_ioctx() being the last one and possibly happening during exit_mmap()
64288 or elf_core_dump(), neither of which expects stray munmap() being done
64289 to them...
64290
64291 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
64292 with that, but that's all we care about - neither io_destroy() nor
64293 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
64294 does really_put_req(), so the ioctx teardown won't be done until then
64295 and we don't care about the contents of ioctx past that point.
64296
64297 Since actual freeing of these suckers is RCU-delayed, we don't need to
64298 bump ioctx refcount when request goes into list for async removal.
64299 All we need is rcu_read_lock held just over the ->ctx_lock-protected
64300 area in aio_fput_routine().
64301
64302 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64303 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
64304 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
64305 Cc: stable@vger.kernel.org
64306 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64307
64308 commit 002124c055afbf09b52226af65621999e8316448
64309 Author: Al Viro <viro@ZenIV.linux.org.uk>
64310 Date: Wed Mar 7 05:16:35 2012 +0000
64311
64312 aio: fix io_setup/io_destroy race
64313
64314 Have ioctx_alloc() return an extra reference, so that caller would drop it
64315 on success and not bother with re-grabbing it on failure exit. The current
64316 code is obviously broken - io_destroy() from another thread that managed
64317 to guess the address io_setup() would've returned would free ioctx right
64318 under us; gets especially interesting if aio_context_t * we pass to
64319 io_setup() points to PROT_READ mapping, so put_user() fails and we end
64320 up doing io_destroy() on kioctx another thread has just got freed...
64321
64322 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64323 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
64324 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
64325 Cc: stable@vger.kernel.org
64326 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64327
64328 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
64329 Author: Dan Carpenter <dan.carpenter@oracle.com>
64330 Date: Thu Mar 15 15:17:12 2012 -0700
64331
64332 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
64333
64334 strict_strtoul() writes a long but ->gamma_mode only has space to store an
64335 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
64336 well. I've changed it to use kstrtouint() instead.
64337
64338 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
64339 Acked-by: Inki Dae <inki.dae@samsung.com>
64340 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
64341 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
64342 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64343
64344 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
64345 Merge: e4b05b6 eae671f
64346 Author: Brad Spengler <spender@grsecurity.net>
64347 Date: Fri Mar 16 21:04:27 2012 -0400
64348
64349 Merge branch 'pax-test' into grsec-test
64350
64351 Conflicts:
64352 security/Kconfig
64353
64354 commit eae671fafe93f04685c04a089cc13efebc05d600
64355 Author: Brad Spengler <spender@grsecurity.net>
64356 Date: Fri Mar 16 20:58:01 2012 -0400
64357
64358 Update to pax-linux-3.2.11-test31.patch
64359 Introduction of the size_overflow plugin from Emese Revfy
64360 Many thanks to Emese for her hard work :)
64361
64362 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
64363 Merge: e55aa68 258c015
64364 Author: Brad Spengler <spender@grsecurity.net>
64365 Date: Thu Mar 15 20:59:19 2012 -0400
64366
64367 Merge branch 'pax-test' into grsec-test
64368
64369 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
64370 Author: Brad Spengler <spender@grsecurity.net>
64371 Date: Thu Mar 15 20:59:05 2012 -0400
64372
64373 fix ARM compilation
64374
64375 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
64376 Merge: 8f95ea9 55b7573
64377 Author: Brad Spengler <spender@grsecurity.net>
64378 Date: Wed Mar 14 19:33:41 2012 -0400
64379
64380 Merge branch 'pax-test' into grsec-test
64381
64382 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
64383 Author: Brad Spengler <spender@grsecurity.net>
64384 Date: Wed Mar 14 19:33:15 2012 -0400
64385
64386 Update to pax-linux-3.2.10-test28.patch
64387
64388 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
64389 Merge: c8786a2 886ac5e
64390 Author: Brad Spengler <spender@grsecurity.net>
64391 Date: Tue Mar 13 17:38:13 2012 -0400
64392
64393 Merge branch 'pax-test' into grsec-test
64394
64395 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
64396
64397 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
64398 Author: Brad Spengler <spender@grsecurity.net>
64399 Date: Tue Mar 13 17:37:44 2012 -0400
64400
64401 Update to pax-linux-3.2.10-test26.patch
64402
64403 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
64404 Merge: 219c982 c061fcf
64405 Author: Brad Spengler <spender@grsecurity.net>
64406 Date: Tue Mar 13 17:25:06 2012 -0400
64407
64408 Merge branch 'pax-test' into grsec-test
64409
64410 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
64411 Merge: 89373d2 3f4b3b2
64412 Author: Brad Spengler <spender@grsecurity.net>
64413 Date: Tue Mar 13 17:25:02 2012 -0400
64414
64415 Merge branch 'linux-3.2.y' into pax-test
64416
64417 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
64418 Merge: 54e19a3 89373d2
64419 Author: Brad Spengler <spender@grsecurity.net>
64420 Date: Mon Mar 12 17:23:57 2012 -0400
64421
64422 Merge branch 'pax-test' into grsec-test
64423
64424 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
64425 Merge: a778588 7459f11
64426 Author: Brad Spengler <spender@grsecurity.net>
64427 Date: Mon Mar 12 17:23:49 2012 -0400
64428
64429 Merge branch 'linux-3.2.y' into pax-test
64430
64431 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
64432 Merge: c4650f1 a778588
64433 Author: Brad Spengler <spender@grsecurity.net>
64434 Date: Mon Mar 12 16:51:25 2012 -0400
64435
64436 Merge branch 'pax-test' into grsec-test
64437
64438 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
64439 Author: Brad Spengler <spender@grsecurity.net>
64440 Date: Mon Mar 12 16:51:12 2012 -0400
64441
64442 Update to pax-linux-3.2.9-test24.patch
64443
64444 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
64445 Merge: fb2abee 1015790
64446 Author: Brad Spengler <spender@grsecurity.net>
64447 Date: Sun Mar 11 21:08:28 2012 -0400
64448
64449 Merge branch 'pax-test' into grsec-test
64450
64451 Conflicts:
64452 security/Kconfig
64453
64454 commit 101579028a736c224e590c7e12a7357018c424e1
64455 Author: Brad Spengler <spender@grsecurity.net>
64456 Date: Sun Mar 11 21:07:27 2012 -0400
64457
64458 Update to pax-linux-3.2.9-test22.patch
64459
64460 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
64461 Author: Brad Spengler <spender@grsecurity.net>
64462 Date: Sun Mar 11 11:02:17 2012 -0400
64463
64464 Allow 4096 CPUs
64465
64466 commit 96bae28cbe6a41d48e3b56e5904814096e956000
64467 Author: Brad Spengler <spender@grsecurity.net>
64468 Date: Sun Mar 11 10:25:58 2012 -0400
64469
64470 Use a per-cpu 48-bit counter instead of a global atomic64
64471 Initialize each counter to have the cpu number in the lower 16 bits
64472 instead of incrementing the counter each time by 1, perform the increments
64473 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
64474 any state
64475 idea from PaX Team
64476
64477 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
64478 Author: Brad Spengler <spender@grsecurity.net>
64479 Date: Sat Mar 10 20:33:12 2012 -0500
64480
64481 Special vnsec edition! :)
64482 Further reduce argv/env allowance for suid/sgid apps to 512KB
64483 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
64484 Clear 3GB personality on suid/sgid binaries
64485 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
64486 with the main purpose of throwing off program stack -> arg/env alignment
64487 Update documentation
64488
64489 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
64490 Author: Brad Spengler <spender@grsecurity.net>
64491 Date: Sat Mar 10 19:54:47 2012 -0500
64492
64493 Resolve skbuff.h warnings that turn into errors during compilation in
64494 the grsecurity directory with -Werror
64495
64496 commit 2023210ad43a944033fcacc660ce410888f562ee
64497 Merge: ece4383 5f66adf
64498 Author: Brad Spengler <spender@grsecurity.net>
64499 Date: Fri Mar 9 19:48:01 2012 -0500
64500
64501 Merge branch 'pax-test' into grsec-test
64502
64503 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
64504 Author: Brad Spengler <spender@grsecurity.net>
64505 Date: Fri Mar 9 19:47:06 2012 -0500
64506
64507 Add colorize plugin
64508
64509 commit ece4383e5e91c92d138c4df84225a70b552f4d69
64510 Merge: a366d0e ab4a5a1
64511 Author: Brad Spengler <spender@grsecurity.net>
64512 Date: Fri Mar 9 17:56:46 2012 -0500
64513
64514 Merge branch 'pax-test' into grsec-test
64515
64516 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
64517 Author: Brad Spengler <spender@grsecurity.net>
64518 Date: Fri Mar 9 17:56:26 2012 -0500
64519
64520 Update to pax-linux-3.2.9-test21.patch
64521
64522 commit a366d0ed963ce93fce10121c1100989d5f064e75
64523 Author: Mikulas Patocka <mpatocka@redhat.com>
64524 Date: Sun Mar 4 19:52:03 2012 -0500
64525
64526 mm: fix find_vma_prev
64527
64528 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
64529 management on PA-RISC.
64530
64531 After application of the patch, programs that allocate big arrays on the
64532 stack crash with segfault, for example, this will crash if compiled
64533 without optimization:
64534
64535 int main()
64536 {
64537 char array[200000];
64538 array[199999] = 0;
64539 return 0;
64540 }
64541
64542 The reason is that PA-RISC has up-growing stack and the stack is usually
64543 the last memory area. In the above example, a page fault happens above
64544 the stack.
64545
64546 Previously, if we passed too high address to find_vma_prev, it returned
64547 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
64548 change, it stores NULL in *pprev. Consequently, the stack area is not
64549 found and it is not expanded, as it used to be before the change.
64550
64551 This patch restores the old behavior and makes it return the last VMA in
64552 *pprev if the requested address is higher than address of any other VMA.
64553
64554 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
64555 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
64556 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64557
64558 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
64559 Author: Hugh Dickins <hughd@google.com>
64560 Date: Tue Mar 6 12:28:52 2012 -0800
64561
64562 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
64563
64564 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
64565 from shared anonymous: hoist the file case's -EINVAL up for both.
64566
64567 Signed-off-by: Hugh Dickins <hughd@google.com>
64568 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64569
64570 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
64571 Author: Al Viro <viro@ZenIV.linux.org.uk>
64572 Date: Mon Mar 5 06:38:42 2012 +0000
64573
64574 aout: move setup_arg_pages() prior to reading/mapping the binary
64575
64576 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64577 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64578
64579 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
64580 Author: Jan Beulich <JBeulich@suse.com>
64581 Date: Mon Mar 5 16:49:24 2012 +0000
64582
64583 vsprintf: make %pV handling compatible with kasprintf()
64584
64585 kasprintf() (and potentially other functions that I didn't run across so
64586 far) want to evaluate argument lists twice. Caring to do so for the
64587 primary list is obviously their job, but they can't reasonably be
64588 expected to check the format string for instances of %pV, which however
64589 need special handling too: On architectures like x86-64 (as opposed to
64590 e.g. ix86), using the same argument list twice doesn't produce the
64591 expected results, as an internally managed cursor gets updated during
64592 the first run.
64593
64594 Fix the problem by always acting on a copy of the original list when
64595 handling %pV.
64596
64597 Signed-off-by: Jan Beulich <jbeulich@suse.com>
64598 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64599
64600 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
64601 Author: Al Viro <viro@ZenIV.linux.org.uk>
64602 Date: Mon Mar 5 06:39:47 2012 +0000
64603
64604 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
64605
64606 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
64607 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64608
64609 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
64610 Author: Christian König <deathsimple@vodafone.de>
64611 Date: Tue Feb 28 23:19:20 2012 +0100
64612
64613 drm/radeon: fix uninitialized variable
64614
64615 Without this fix the driver randomly treats
64616 textures as arrays and I'm really wondering
64617 why gcc isn't complaining about it.
64618
64619 Signed-off-by: Christian König <deathsimple@vodafone.de>
64620 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
64621 Signed-off-by: Dave Airlie <airlied@redhat.com>
64622
64623 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
64624 Author: H. Peter Anvin <hpa@zytor.com>
64625 Date: Fri Mar 2 10:43:48 2012 -0800
64626
64627 regset: Prevent null pointer reference on readonly regsets
64628
64629 The regset common infrastructure assumed that regsets would always
64630 have .get and .set methods, but not necessarily .active methods.
64631 Unfortunately people have since written regsets without .set methods.
64632
64633 Rather than putting in stub functions everywhere, handle regsets with
64634 null .get or .set methods explicitly.
64635
64636 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
64637 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
64638 Acked-by: Roland McGrath <roland@hack.frob.com>
64639 Cc: <stable@vger.kernel.org>
64640 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64641
64642 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
64643 Author: Brad Spengler <spender@grsecurity.net>
64644 Date: Mon Mar 5 18:12:57 2012 -0500
64645
64646 Fix compiler errors reported on forums
64647
64648 commit 1606774b48af24e6f99d99c624c0e447d4b66474
64649 Merge: 3127bd5 4ca2ffd
64650 Author: Brad Spengler <spender@grsecurity.net>
64651 Date: Mon Mar 5 17:31:35 2012 -0500
64652
64653 Merge branch 'pax-test' into grsec-test
64654
64655 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
64656 Author: Brad Spengler <spender@grsecurity.net>
64657 Date: Mon Mar 5 17:31:21 2012 -0500
64658
64659 Update to pax-linux-3.2.9-test20.patch
64660
64661 commit 3127bd581a292966b1057c7433219dac188c3720
64662 Author: Brad Spengler <spender@grsecurity.net>
64663 Date: Fri Mar 2 21:30:37 2012 -0500
64664
64665 Fix memory leak on logged exec_id check failure in /proc/pid/statm
64666 Thanks to Djalal Harouni for the report
64667
64668 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
64669 Merge: 0a56be8 9aa8288
64670 Author: Brad Spengler <spender@grsecurity.net>
64671 Date: Fri Mar 2 18:38:22 2012 -0500
64672
64673 Merge branch 'pax-test' into grsec-test
64674
64675 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
64676 Author: Brad Spengler <spender@grsecurity.net>
64677 Date: Fri Mar 2 18:37:43 2012 -0500
64678
64679 Update to pax-linux-3.2.9-test19.patch
64680
64681 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
64682 Merge: 9e66745 3f5c52a
64683 Author: Brad Spengler <spender@grsecurity.net>
64684 Date: Thu Mar 1 20:18:01 2012 -0500
64685
64686 Merge branch 'pax-test' into grsec-test
64687
64688 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
64689 Author: Brad Spengler <spender@grsecurity.net>
64690 Date: Thu Mar 1 20:16:56 2012 -0500
64691
64692 Update to pax-linux-3.2.9-test18.patch
64693
64694 commit ae53ec231d12719a36bf871f8c5841020ed692ee
64695 Merge: b255baf 44fb317
64696 Author: Brad Spengler <spender@grsecurity.net>
64697 Date: Thu Mar 1 20:15:31 2012 -0500
64698
64699 Merge branch 'linux-3.2.y' into pax-test
64700
64701 commit 9e667456c03eadea2f305be761abe4de9a5877a3
64702 Merge: 5e4e200 b255baf
64703 Author: Brad Spengler <spender@grsecurity.net>
64704 Date: Mon Feb 27 20:53:59 2012 -0500
64705
64706 Merge branch 'pax-test' into grsec-test
64707
64708 commit b255baf50365d39b406f43aab2c64745607baaa2
64709 Merge: 340ce90 1de504e
64710 Author: Brad Spengler <spender@grsecurity.net>
64711 Date: Mon Feb 27 20:53:29 2012 -0500
64712
64713 Merge branch 'linux-3.2.y' into pax-test
64714 Update to pax-linux-3.2.8-test17.patch
64715
64716 Conflicts:
64717 arch/x86/include/asm/i387.h
64718 arch/x86/kernel/process_32.c
64719 arch/x86/kernel/traps.c
64720
64721 commit 5e4e200ac530452884b625cb75de240e1e98c731
64722 Merge: 44306d7 340ce90
64723 Author: Brad Spengler <spender@grsecurity.net>
64724 Date: Mon Feb 27 18:02:13 2012 -0500
64725
64726 Merge branch 'pax-test' into grsec-test
64727
64728 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
64729 Author: Brad Spengler <spender@grsecurity.net>
64730 Date: Mon Feb 27 18:01:48 2012 -0500
64731
64732 Update to pax-linux-3.2.7-test17.patch
64733
64734 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
64735 Merge: 29d0b07 521c411
64736 Author: Brad Spengler <spender@grsecurity.net>
64737 Date: Sun Feb 26 19:04:15 2012 -0500
64738
64739 Merge branch 'pax-test' into grsec-test
64740
64741 Conflicts:
64742 Makefile
64743
64744 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
64745 Author: Brad Spengler <spender@grsecurity.net>
64746 Date: Sun Feb 26 19:03:33 2012 -0500
64747
64748 Update to pax-linux-3.2.7-test16.patch
64749
64750 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
64751 Author: Brad Spengler <spender@grsecurity.net>
64752 Date: Sun Feb 26 17:12:44 2012 -0500
64753
64754 fix typo
64755
64756 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
64757 Merge: f45b3be caa8f83
64758 Author: Brad Spengler <spender@grsecurity.net>
64759 Date: Sat Feb 25 20:59:27 2012 -0500
64760
64761 Merge branch 'pax-test' into grsec-test
64762
64763 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
64764 Author: Brad Spengler <spender@grsecurity.net>
64765 Date: Sat Feb 25 20:59:12 2012 -0500
64766
64767 Update to pax-linux-3.2.7-test15.patch
64768
64769 commit f45b3be34a345502a302e736af9a65742ddef7cb
64770 Merge: 62f35fd 9f1309b
64771 Author: Brad Spengler <spender@grsecurity.net>
64772 Date: Sat Feb 25 11:40:15 2012 -0500
64773
64774 Merge branch 'pax-test' into grsec-test
64775
64776 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
64777 Author: Brad Spengler <spender@grsecurity.net>
64778 Date: Sat Feb 25 11:39:57 2012 -0500
64779
64780 Update to pax-linux-3.2.7-test14.patch
64781
64782 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
64783 Author: Brad Spengler <spender@grsecurity.net>
64784 Date: Sat Feb 25 09:08:55 2012 -0500
64785
64786 We could log on attempted exploits of writing /proc/self/mem, but the current
64787 log function declares the access a read, so just swap the ordering for now
64788
64789 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
64790 Author: Brad Spengler <spender@grsecurity.net>
64791 Date: Sat Feb 25 08:46:14 2012 -0500
64792
64793 Log /proc/pid/mem attempts
64794
64795 commit 674471e581893a94d475acac3e3c4496209b3ac9
64796 Author: Brad Spengler <spender@grsecurity.net>
64797 Date: Sat Feb 25 08:15:00 2012 -0500
64798
64799 Make use of f_version for protecting /proc file structs (fine since we're not a directory
64800 or seq_file)
64801
64802 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
64803 Author: Brad Spengler <spender@grsecurity.net>
64804 Date: Fri Feb 24 20:02:19 2012 -0500
64805
64806 Fix ia64 compilation
64807
64808 commit 50dfea412fd395e0183c2ade368efa525d38b267
64809 Merge: 12db845 4c6f99b
64810 Author: Brad Spengler <spender@grsecurity.net>
64811 Date: Fri Feb 24 19:00:53 2012 -0500
64812
64813 Merge branch 'pax-test' into grsec-test
64814
64815 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
64816 Author: Brad Spengler <spender@grsecurity.net>
64817 Date: Fri Feb 24 19:00:36 2012 -0500
64818
64819 (6:57:09 PM) pipacs: but you can be proactive
64820 (Fix other-arch atomic64/REFCOUNT compilation failures)
64821
64822 commit 12db8453f6bb0a756f369c9151668ba1249bc478
64823 Author: Brad Spengler <spender@grsecurity.net>
64824 Date: Thu Feb 23 21:10:12 2012 -0500
64825
64826 Remove unnecessary copies, as suggested by solar
64827
64828 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
64829 Author: Brad Spengler <spender@grsecurity.net>
64830 Date: Thu Feb 23 20:59:35 2012 -0500
64831
64832 Make global_exec_counter static, as suggested by solar
64833
64834 commit e642091a475ebb3a30e81f85e7751233d0c2af43
64835 Author: Brad Spengler <spender@grsecurity.net>
64836 Date: Thu Feb 23 19:00:26 2012 -0500
64837
64838 sync with stable tree
64839
64840 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
64841 Author: Brad Spengler <spender@grsecurity.net>
64842 Date: Thu Feb 23 18:48:47 2012 -0500
64843
64844 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
64845 Remove handling of old kludge in chmod/fchmod
64846
64847 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
64848 Author: Brad Spengler <spender@grsecurity.net>
64849 Date: Thu Feb 23 18:18:49 2012 -0500
64850
64851 Apply umask checks to chmod/fchmod as well, as requested by sponsor
64852 Union the enforced umask with the existing one to produce minimal privilege
64853 Change umask type to u16
64854
64855 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
64856 Author: Brad Spengler <spender@grsecurity.net>
64857 Date: Wed Feb 22 18:16:11 2012 -0500
64858
64859 Add per-role umask enforcement to RBAC, requested by a sponsor
64860
64861 commit ad5ac943fe58199f1cc475912a39edb157acb77b
64862 Merge: dda0bb5 41722e3
64863 Author: Brad Spengler <spender@grsecurity.net>
64864 Date: Mon Feb 20 20:04:42 2012 -0500
64865
64866 Merge branch 'pax-test' into grsec-test
64867
64868 commit 41722e342e116d95f3d3556d66c97c888d752d39
64869 Author: Brad Spengler <spender@grsecurity.net>
64870 Date: Mon Feb 20 20:04:00 2012 -0500
64871
64872 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
64873 KERNEXEC plugin
64874
64875 commit dda0bb57137846a476a866c60db2681aaf6052c0
64876 Merge: 4fd554e d70927a
64877 Author: Brad Spengler <spender@grsecurity.net>
64878 Date: Mon Feb 20 20:01:41 2012 -0500
64879
64880 Merge branch 'pax-test' into grsec-test
64881
64882 commit d70927afec977d489a54c106a3c3ddc32e953050
64883 Merge: 1daebf1 9d0231c
64884 Author: Brad Spengler <spender@grsecurity.net>
64885 Date: Mon Feb 20 20:01:33 2012 -0500
64886
64887 Merge branch 'linux-3.2.y' into pax-test
64888
64889 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
64890 Author: Brad Spengler <spender@grsecurity.net>
64891 Date: Mon Feb 20 09:17:57 2012 -0500
64892
64893 Fix wrong logic on capability checks for switching roles, broke policies
64894 Thanks to Richard Kojedzinszky for reporting
64895
64896 commit 12f97d52ac603f24344f8d71569c412a307e9422
64897 Author: Brad Spengler <spender@grsecurity.net>
64898 Date: Thu Feb 16 21:20:10 2012 -0500
64899
64900 sparc64 compile fix
64901
64902 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
64903 Author: Brad Spengler <spender@grsecurity.net>
64904 Date: Thu Feb 16 18:38:32 2012 -0500
64905
64906 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
64907
64908 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
64909 Author: Brad Spengler <spender@grsecurity.net>
64910 Date: Thu Feb 16 18:18:01 2012 -0500
64911
64912 optimize the check a bit
64913
64914 commit 03159050f64989be44ae03be769cbed62a7cd2e5
64915 Author: Brad Spengler <spender@grsecurity.net>
64916 Date: Thu Feb 16 18:00:45 2012 -0500
64917
64918 smile VUPEN :D
64919 (limit argv+env to 1MB for suid/sgid binaries)
64920
64921 commit dd759d8800d225a397e4de49fe729c7d601298d2
64922 Author: Brad Spengler <spender@grsecurity.net>
64923 Date: Thu Feb 16 17:49:33 2012 -0500
64924
64925 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
64926
64927 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
64928 Author: Brad Spengler <spender@grsecurity.net>
64929 Date: Thu Feb 16 17:45:06 2012 -0500
64930
64931 Change the long long type for exec_id to the proper u64
64932
64933 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
64934 Author: Dan Carpenter <dan.carpenter@oracle.com>
64935 Date: Thu Feb 9 00:46:47 2012 +0000
64936
64937 isdn: type bug in isdn_net_header()
64938
64939 We use len to store the return value from eth_header(). eth_header()
64940 can return -ETH_HLEN (-14). We want to pass this back instead of
64941 truncating it to 65522 and returning that.
64942
64943 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
64944 Acked-by: Neil Horman <nhorman@tuxdriver.com>
64945 Signed-off-by: David S. Miller <davem@davemloft.net>
64946
64947 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
64948 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
64949 Date: Sat Feb 4 10:47:10 2012 +0100
64950
64951 exec: fix use-after-free bug in setup_new_exec()
64952
64953 Setting the task name is done within setup_new_exec() by accessing
64954 bprm->filename. However this happens after flush_old_exec().
64955 This may result in a use after free bug, flush_old_exec() may
64956 "complete" vfork_done, which will wake up the parent which in turn
64957 may free the passed in filename.
64958 To fix this add a new tcomm field in struct linux_binprm which
64959 contains the now early generated task name until it is used.
64960
64961 Fixes this bug on s390:
64962
64963 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
64964 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
64965 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
64966 Call Trace:
64967 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
64968 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
64969 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
64970 [<0000000000282b6c>] do_execve_common+0x410/0x514
64971 [<0000000000282cb6>] do_execve+0x46/0x58
64972 [<00000000005bce58>] kernel_execve+0x28/0x70
64973 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
64974 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
64975 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
64976 Last Breaking-Event-Address:
64977 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
64978
64979 Kernel panic - not syncing: Fatal exception: panic_on_oops
64980
64981 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
64982 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
64983 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
64984
64985 commit d758ee9f5230893dabb5aab737b3109684bde196
64986 Author: Dan Carpenter <dan.carpenter@oracle.com>
64987 Date: Fri Feb 10 09:03:58 2012 +0100
64988
64989 relay: prevent integer overflow in relay_open()
64990
64991 "subbuf_size" and "n_subbufs" come from the user and they need to be
64992 capped to prevent an integer overflow.
64993
64994 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
64995 Cc: stable@kernel.org
64996 Signed-off-by: Jens Axboe <axboe@kernel.dk>
64997
64998 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
64999 Merge: b1baadf 1daebf1
65000 Author: Brad Spengler <spender@grsecurity.net>
65001 Date: Mon Feb 13 17:47:04 2012 -0500
65002
65003 Merge branch 'pax-test' into grsec-test
65004
65005 Conflicts:
65006 fs/proc/base.c
65007
65008 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
65009 Merge: 1413df2 c2db2e2
65010 Author: Brad Spengler <spender@grsecurity.net>
65011 Date: Mon Feb 13 17:45:54 2012 -0500
65012
65013 Merge branch 'linux-3.2.y' into pax-test
65014
65015 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
65016 Author: Brad Spengler <spender@grsecurity.net>
65017 Date: Sun Feb 12 16:44:05 2012 -0500
65018
65019 add missing declaration
65020
65021 commit 3981059c35e8463002517935c28f3d74b8e3703c
65022 Author: Brad Spengler <spender@grsecurity.net>
65023 Date: Sun Feb 12 16:36:04 2012 -0500
65024
65025 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
65026 in addition to existing checks (this handles the setresuid ruid = euid case)
65027
65028 commit 0beab03263c773f463412c350ad9064b44b6ede0
65029 Author: Brad Spengler <spender@grsecurity.net>
65030 Date: Sun Feb 12 16:13:40 2012 -0500
65031
65032 Revert setreuid changes when RBAC is enabled, breaks freeradius
65033 I'll fix the learning issue Lavish reported a different way through
65034 gradm modifications
65035
65036 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
65037
65038 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
65039 Author: Brad Spengler <spender@grsecurity.net>
65040 Date: Sat Feb 11 14:22:46 2012 -0500
65041
65042 copy exec_id on fork
65043
65044 commit 000c08e0890630086b2ed04084050ed856a7ec31
65045 Author: Brad Spengler <spender@grsecurity.net>
65046 Date: Fri Feb 10 20:00:36 2012 -0500
65047
65048 compile fix
65049
65050 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
65051 Author: Brad Spengler <spender@grsecurity.net>
65052 Date: Fri Feb 10 19:19:52 2012 -0500
65053
65054 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
65055 denies reading of sensitive /proc/pid entries where the file descriptor
65056 was opened in a different task than the one performing the read
65057
65058 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
65059 Author: Brad Spengler <spender@grsecurity.net>
65060 Date: Fri Feb 10 17:43:24 2012 -0500
65061
65062 Remove duplicate signal check
65063
65064 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
65065 Merge: 4eba97e 1413df2
65066 Author: Brad Spengler <spender@grsecurity.net>
65067 Date: Wed Feb 8 19:24:34 2012 -0500
65068
65069 Merge branch 'pax-test' into grsec-test
65070
65071 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
65072 Author: Brad Spengler <spender@grsecurity.net>
65073 Date: Wed Feb 8 19:24:08 2012 -0500
65074
65075 Merge changes from pax-linux-3.2.4-test11.patch
65076
65077 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
65078 Merge: 0e058dd 8dd90a2
65079 Author: Brad Spengler <spender@grsecurity.net>
65080 Date: Mon Feb 6 17:50:12 2012 -0500
65081
65082 Merge branch 'pax-test' into grsec-test
65083
65084 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
65085 Author: Brad Spengler <spender@grsecurity.net>
65086 Date: Mon Feb 6 17:49:07 2012 -0500
65087
65088 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
65089
65090 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
65091 Merge: 7e4169c 6133971
65092 Author: Brad Spengler <spender@grsecurity.net>
65093 Date: Mon Feb 6 17:48:57 2012 -0500
65094
65095 Merge branch 'linux-3.2.y' into pax-test
65096
65097 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
65098 Author: Brad Spengler <spender@grsecurity.net>
65099 Date: Sun Feb 5 19:24:45 2012 -0500
65100
65101 We now allow configurations with no PaX markings, giving the system no way to override the defaults
65102
65103 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
65104 Author: Brad Spengler <spender@grsecurity.net>
65105 Date: Sun Feb 5 10:01:23 2012 -0500
65106
65107 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
65108
65109 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
65110 Author: Brad Spengler <spender@grsecurity.net>
65111 Date: Sat Feb 4 21:01:16 2012 -0500
65112
65113 Improve security of ptrace-based monitoring/sandboxing
65114 See:
65115 http://article.gmane.org/gmane.linux.kernel.lsm/15156
65116
65117 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
65118 Author: Brad Spengler <spender@grsecurity.net>
65119 Date: Fri Feb 3 20:42:55 2012 -0500
65120
65121 fix typo
65122
65123 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
65124 Author: Brad Spengler <spender@grsecurity.net>
65125 Date: Fri Feb 3 20:25:38 2012 -0500
65126
65127 Reported by lavish on IRC:
65128 If a suid/sgid binary did not learn any setuid/setgid call during learning,
65129 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
65130 any restrictions on uid/gid changes. uid and gid can however be changed
65131 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
65132 euid/egid.
65133
65134 My fix:
65135 POSIX doesn't specify whether unprivileged users can perform the above
65136 setresuid/setresgid as an unprivileged user, though Linux has historically
65137 permitted them. Modify this behavior when RBAC is enabled to require
65138 CAP_SETUID/CAP_SETGID for these operations.
65139
65140 Thanks to Lavish for the report!
65141
65142 Conflicts:
65143
65144 kernel/sys.c
65145
65146 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
65147 Merge: ba586eb 7e4169c
65148 Author: Brad Spengler <spender@grsecurity.net>
65149 Date: Fri Feb 3 20:10:21 2012 -0500
65150
65151 Merge branch 'pax-test' into grsec-test
65152
65153 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
65154 Author: Brad Spengler <spender@grsecurity.net>
65155 Date: Fri Feb 3 20:10:05 2012 -0500
65156
65157 Merge changes from pax-linux-3.2.4-test9.patch
65158
65159 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
65160 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
65161 Date: Thu Feb 2 11:34:09 2012 +1030
65162
65163 Fix race in process_vm_rw_core
65164
65165 This fixes the race in process_vm_core found by Oleg (see
65166
65167 http://article.gmane.org/gmane.linux.kernel/1235667/
65168
65169 for details).
65170
65171 This has been updated since I last sent it as the creation of the new
65172 mm_access() function did almost exactly the same thing as parts of the
65173 previous version of this patch did.
65174
65175 In order to use mm_access() even when /proc isn't enabled, we move it to
65176 kernel/fork.c where other related process mm access functions already
65177 are.
65178
65179 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
65180 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65181
65182 Conflicts:
65183
65184 fs/proc/base.c
65185 mm/process_vm_access.c
65186
65187 commit b9194d60fb9fe579f5c34817ed822abde18939a0
65188 Author: Oleg Nesterov <oleg@redhat.com>
65189 Date: Tue Jan 31 17:15:11 2012 +0100
65190
65191 proc: make sure mem_open() doesn't pin the target's memory
65192
65193 Once /proc/pid/mem is opened, the memory can't be released until
65194 mem_release() even if its owner exits.
65195
65196 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
65197 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
65198 before access_remote_vm(), this verifies that this mm is still alive.
65199
65200 I am not sure what should mem_rw() return if atomic_inc_not_zero()
65201 fails. With this patch it returns zero to match the "mm == NULL" case,
65202 may be it should return -EINVAL like it did before e268337d.
65203
65204 Perhaps it makes sense to add the additional fatal_signal_pending()
65205 check into the main loop, to ensure we do not hold this memory if
65206 the target task was oom-killed.
65207
65208 Cc: stable@kernel.org
65209 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
65210 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65211
65212 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
65213 Author: Oleg Nesterov <oleg@redhat.com>
65214 Date: Tue Jan 31 17:14:38 2012 +0100
65215
65216 proc: mem_release() should check mm != NULL
65217
65218 mem_release() can hit mm == NULL, add the necessary check.
65219
65220 Cc: stable@kernel.org
65221 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
65222 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65223
65224 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
65225 Author: Oleg Nesterov <oleg@redhat.com>
65226 Date: Tue Jan 31 17:14:54 2012 +0100
65227
65228 note: redisabled mem_write
65229
65230 proc: unify mem_read() and mem_write()
65231
65232 No functional changes, cleanup and preparation.
65233
65234 mem_read() and mem_write() are very similar. Move this code into the
65235 new common helper, mem_rw(), which takes the additional "int write"
65236 argument.
65237
65238 Cc: stable@kernel.org
65239 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
65240 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65241
65242 Conflicts:
65243
65244 fs/proc/base.c
65245
65246 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
65247 Merge: 3903f01 01fee18
65248 Author: Brad Spengler <spender@grsecurity.net>
65249 Date: Fri Feb 3 19:50:40 2012 -0500
65250
65251 Merge branch 'pax-test' into grsec-test
65252
65253 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
65254 Author: Brad Spengler <spender@grsecurity.net>
65255 Date: Fri Feb 3 19:49:46 2012 -0500
65256
65257 Merge changes from pax-linux-3.2.4-test8.patch
65258
65259 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
65260 Merge: 201c0db 141936c
65261 Author: Brad Spengler <spender@grsecurity.net>
65262 Date: Fri Feb 3 19:49:01 2012 -0500
65263
65264 Merge branch 'linux-3.2.y' into pax-test
65265
65266 commit 3903f0172ecadf7a575ba3535402a1506133640a
65267 Author: Brad Spengler <spender@grsecurity.net>
65268 Date: Mon Jan 30 23:26:44 2012 -0500
65269
65270 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
65271
65272 We'll whitelist required directories for compatibility instead of requiring
65273 that people disable the feature entirely if they use SELinux, fuse, etc
65274
65275 Conflicts:
65276
65277 fs/sysfs/mount.c
65278
65279 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
65280 Author: Brad Spengler <spender@grsecurity.net>
65281 Date: Sun Jan 29 01:12:19 2012 -0500
65282
65283 perform RBAC check if TPE is on but match fails, matches previous behavior
65284
65285 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
65286 Author: Brad Spengler <spender@grsecurity.net>
65287 Date: Sat Jan 28 13:17:06 2012 -0500
65288
65289 log more information about the reason for a TPE denial for novice users, requested by a sponsor
65290
65291 commit efefd67008cbad8a8591e2484410966a300a39a5
65292 Author: Brad Spengler <spender@grsecurity.net>
65293 Date: Fri Jan 27 19:58:53 2012 -0500
65294
65295 merge upstream sha512 changes
65296
65297 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
65298 Author: Brad Spengler <spender@grsecurity.net>
65299 Date: Fri Jan 27 19:49:07 2012 -0500
65300
65301 drop lock on error in xfs_readlink
65302
65303 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
65304
65305 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
65306 Author: Li Wang <liwang@nudt.edu.cn>
65307 Date: Thu Jan 19 09:44:36 2012 +0800
65308
65309 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
65310
65311 ecryptfs_write() can enter an infinite loop when truncating a file to a
65312 size larger than 4G. This only happens on architectures where size_t is
65313 represented by 32 bits.
65314
65315 This was caused by a size_t overflow due to it incorrectly being used to
65316 store the result of a calculation which uses potentially large values of
65317 type loff_t.
65318
65319 [tyhicks@canonical.com: rewrite subject and commit message]
65320 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
65321 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
65322 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
65323 Cc: <stable@vger.kernel.org>
65324 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
65325
65326 commit a7607747d0f74f357d78bb796d70635dd05f46e8
65327 Author: Tyler Hicks <tyhicks@canonical.com>
65328 Date: Thu Jan 19 20:33:44 2012 -0600
65329
65330 eCryptfs: Check inode changes in setattr
65331
65332 Most filesystems call inode_change_ok() very early in ->setattr(), but
65333 eCryptfs didn't call it at all. It allowed the lower filesystem to make
65334 the call in its ->setattr() function. Then, eCryptfs would copy the
65335 appropriate inode attributes from the lower inode to the eCryptfs inode.
65336
65337 This patch changes that and actually calls inode_change_ok() on the
65338 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
65339 would happen earlier in ecryptfs_setattr(), but there are some possible
65340 inode initialization steps that must happen first.
65341
65342 Since the call was already being made on the lower inode, the change in
65343 functionality should be minimal, except for the case of a file extending
65344 truncate call. In that case, inode_newsize_ok() was never being
65345 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
65346 maximum file size errors early on, eCryptfs would encrypt zeroed pages
65347 and write them to the lower filesystem until the lower filesystem's
65348 write path caught the error in generic_write_checks(). This patch
65349 introduces a new function, called ecryptfs_inode_newsize_ok(), which
65350 checks if the new lower file size is within the appropriate limits when
65351 the truncate operation will be growing the lower file.
65352
65353 In summary this change prevents eCryptfs truncate operations (and the
65354 resulting page encryptions), which would exceed the lower filesystem
65355 limits or FSIZE rlimits, from ever starting.
65356
65357 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
65358 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
65359 Cc: <stable@vger.kernel.org>
65360
65361 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
65362 Author: Tyler Hicks <tyhicks@canonical.com>
65363 Date: Wed Jan 18 18:30:04 2012 -0600
65364
65365 eCryptfs: Make truncate path killable
65366
65367 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
65368 page, zeroes out the appropriate portions, and then encrypts the page
65369 before writing it to the lower filesystem. It was unkillable and due to
65370 the lack of sparse file support could result in tying up a large portion
65371 of system resources, while encrypting pages of zeros, with no way for
65372 the truncate operation to be stopped from userspace.
65373
65374 This patch adds the ability for ecryptfs_write() to detect a pending
65375 fatal signal and return as gracefully as possible. The intent is to
65376 leave the lower file in a useable state, while still allowing a user to
65377 break out of the encryption loop. If a pending fatal signal is detected,
65378 the eCryptfs inode size is updated to reflect the modified inode size
65379 and then -EINTR is returned.
65380
65381 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
65382 Cc: <stable@vger.kernel.org>
65383
65384 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
65385 Author: Tyler Hicks <tyhicks@canonical.com>
65386 Date: Tue Jan 24 10:02:22 2012 -0600
65387
65388 eCryptfs: Fix oops when printing debug info in extent crypto functions
65389
65390 If pages passed to the eCryptfs extent-based crypto functions are not
65391 mapped and the module parameter ecryptfs_verbosity=1 was specified at
65392 loading time, a NULL pointer dereference will occur.
65393
65394 Note that this wouldn't happen on a production system, as you wouldn't
65395 pass ecryptfs_verbosity=1 on a production system. It leaks private
65396 information to the system logs and is for debugging only.
65397
65398 The debugging info printed in these messages is no longer very useful
65399 and rather than doing a kmap() in these debugging paths, it will be
65400 better to simply remove the debugging paths completely.
65401
65402 https://launchpad.net/bugs/913651
65403
65404 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
65405 Reported-by: Daniel DeFreez
65406 Cc: <stable@vger.kernel.org>
65407
65408 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
65409 Author: Tyler Hicks <tyhicks@canonical.com>
65410 Date: Thu Jan 12 11:30:44 2012 +0100
65411
65412 eCryptfs: Sanitize write counts of /dev/ecryptfs
65413
65414 A malicious count value specified when writing to /dev/ecryptfs may
65415 result in a a very large kernel memory allocation.
65416
65417 This patch peeks at the specified packet payload size, adds that to the
65418 size of the packet headers and compares the result with the write count
65419 value. The resulting maximum memory allocation size is approximately 532
65420 bytes.
65421
65422 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
65423 Reported-by: Sasha Levin <levinsasha928@gmail.com>
65424 Cc: <stable@vger.kernel.org>
65425
65426 commit 96dcb7282d323813181a1791f51c0ab7696b675b
65427 Merge: 6c09fa5 201c0db
65428 Author: Brad Spengler <spender@grsecurity.net>
65429 Date: Fri Jan 27 19:44:15 2012 -0500
65430
65431 Merge branch 'pax-test' into grsec-test
65432
65433 commit 201c0dbf177527367676028151e36d340923f033
65434 Author: Brad Spengler <spender@grsecurity.net>
65435 Date: Fri Jan 27 19:43:24 2012 -0500
65436
65437 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
65438 on loading modules with empty sections
65439
65440 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
65441 Author: Brad Spengler <spender@grsecurity.net>
65442 Date: Fri Jan 27 19:42:13 2012 -0500
65443
65444 compile fix
65445
65446 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
65447 Author: Brad Spengler <spender@grsecurity.net>
65448 Date: Fri Jan 27 19:39:28 2012 -0500
65449
65450 use LSM flags instead of duplicating checks
65451
65452 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
65453 Merge: 44b9f11 558718b
65454 Author: Brad Spengler <spender@grsecurity.net>
65455 Date: Fri Jan 27 18:56:23 2012 -0500
65456
65457 Merge branch 'pax-test' into grsec-test
65458
65459 commit 558718b2217beff69edf60f34a6f9893d910e9ac
65460 Author: Brad Spengler <spender@grsecurity.net>
65461 Date: Fri Jan 27 18:56:04 2012 -0500
65462
65463 Merge changes from pax-linux-3.2.2-test6.patch
65464
65465 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
65466 Author: Brad Spengler <spender@grsecurity.net>
65467 Date: Fri Jan 27 18:53:55 2012 -0500
65468
65469 don't increase the size of task_struct when unnecessary
65470 change ptrace_readexec log message
65471
65472 commit a9c9626e054adb885883aa64f85506852894dd33
65473 Author: Brad Spengler <spender@grsecurity.net>
65474 Date: Fri Jan 27 18:16:28 2012 -0500
65475
65476 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
65477 the protection applies to all unreadable binaries.
65478
65479 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
65480 Merge: 7b3f3af 05a1349
65481 Author: Brad Spengler <spender@grsecurity.net>
65482 Date: Wed Jan 25 20:52:09 2012 -0500
65483
65484 Merge branch 'pax-test' into grsec-test
65485
65486 Conflicts:
65487 block/scsi_ioctl.c
65488 drivers/scsi/sd.c
65489 fs/proc/base.c
65490
65491 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
65492 Author: Brad Spengler <spender@grsecurity.net>
65493 Date: Wed Jan 25 20:47:36 2012 -0500
65494
65495 Resync with pax-linux-3.2.2-test5.patch
65496
65497 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
65498 Merge: c6d443d 3499d64
65499 Author: Brad Spengler <spender@grsecurity.net>
65500 Date: Wed Jan 25 20:45:16 2012 -0500
65501
65502 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
65503
65504 Conflicts:
65505 ipc/shm.c
65506
65507 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
65508 Author: Brad Spengler <spender@grsecurity.net>
65509 Date: Tue Jan 24 19:42:01 2012 -0500
65510
65511 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
65512 (may be changed if it breaks some userland), the other has its own
65513 config option
65514
65515 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
65516 the syscall or /proc/sys.
65517
65518 Second feature requires read access to a suid/sgid binary in order
65519 to ptrace it, preventing infoleaking of binaries in situations where
65520 the admin has specified 4711 or 2711 perms. Feature has been
65521 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
65522 a sysctl entry of ptrace_readexec
65523
65524 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
65525 Author: Brad Spengler <spender@grsecurity.net>
65526 Date: Sun Jan 22 14:37:10 2012 -0500
65527
65528 Compilation fixes
65529
65530 commit cd400e21c7c352baba47d6f375297a7847afb33a
65531 Author: Brad Spengler <spender@grsecurity.net>
65532 Date: Sun Jan 22 14:20:27 2012 -0500
65533
65534 Initial port of grsecurity 2.2.2 for Linux 3.2.1
65535 Note that the new syscalls added to this kernel for remote process read/write
65536 are subject to ptrace hardening/other relevant RBAC features
65537 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
65538 as well
65539 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
65540 you should be using a version of gcc with plugin support
65541
65542 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
65543 Author: Brad Spengler <spender@grsecurity.net>
65544 Date: Sun Jan 22 11:47:31 2012 -0500
65545
65546 Import pax-linux-3.2.1-test5.patch
65547 commit bfd7db842f835f9837cd43644459b3a95b0b488d
65548 Author: Brad Spengler <spender@grsecurity.net>
65549 Date: Sun Jan 22 11:02:02 2012 -0500
65550
65551 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
65552 instead of returning -EACCES
65553 thanks to Wraith from irc for the report
65554
65555 commit 873ac13576506cd48ddb527c2540f274e249da50
65556 Merge: 34083dd 8a44fcc
65557 Author: Brad Spengler <spender@grsecurity.net>
65558 Date: Fri Jan 20 18:04:02 2012 -0500
65559
65560 Merge branch 'pax-test' into grsec-test
65561
65562 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
65563 Author: Brad Spengler <spender@grsecurity.net>
65564 Date: Fri Jan 20 18:02:15 2012 -0500
65565
65566 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
65567 Denies executable shared memory when MPROTECT is active
65568 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
65569
65570 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
65571 Author: Brad Spengler <spender@grsecurity.net>
65572 Date: Thu Jan 19 20:23:14 2012 -0500
65573
65574 Introduce new GRKERNSEC_SETXID implementation
65575 We're not able to change the credentials of other threads in the process until at most
65576 one syscall after the first thread does it, since we mark the threads as needing rescheduling
65577 and such work occurs on syscall exit.
65578 This does however ensure that we're only modifying the current task's credentials
65579 which upholds RCU expectations
65580
65581 Many thanks to corsac for testing
65582
65583 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
65584 Author: Brad Spengler <spender@grsecurity.net>
65585 Date: Thu Jan 19 17:42:48 2012 -0500
65586
65587 Simplify backport
65588
65589 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
65590 Author: Brad Spengler <spender@grsecurity.net>
65591 Date: Thu Jan 19 17:08:16 2012 -0500
65592
65593 Commit the latest silent fix for a local privilege escalation from Linus
65594 Also disable writing to /proc/pid/mem
65595 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
65596
65597 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
65598 Merge: 0394a3f 7e6299b
65599 Author: Brad Spengler <spender@grsecurity.net>
65600 Date: Wed Jan 18 20:22:09 2012 -0500
65601
65602 Merge branch 'pax-test' into grsec-test
65603
65604 commit 7e6299b4733c082dde930375dd207b63237751ec
65605 Merge: 83555fb 9bb1282
65606 Author: Brad Spengler <spender@grsecurity.net>
65607 Date: Wed Jan 18 20:21:37 2012 -0500
65608
65609 Merge branch 'linux-3.1.y' into pax-test
65610
65611 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
65612 Author: Jesper Juhl <jj@chaosbits.net>
65613 Date: Sun Jan 8 22:44:29 2012 +0100
65614
65615 audit: always follow va_copy() with va_end()
65616
65617 A call to va_copy() should always be followed by a call to va_end() in
65618 the same function. In kernel/autit.c::audit_log_vformat() this is not
65619 always done. This patch makes sure va_end() is always called.
65620
65621 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
65622 Cc: Al Viro <viro@zeniv.linux.org.uk>
65623 Cc: Eric Paris <eparis@redhat.com>
65624 Cc: Andrew Morton <akpm@linux-foundation.org>
65625 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65626
65627 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
65628 Author: Andi Kleen <ak@linux.intel.com>
65629 Date: Thu Jan 12 17:20:30 2012 -0800
65630
65631 panic: don't print redundant backtraces on oops
65632
65633 When an oops causes a panic and panic prints another backtrace it's pretty
65634 common to have the original oops data be scrolled away on a 80x50 screen.
65635
65636 The second backtrace is quite redundant and not needed anyways.
65637
65638 So don't print the panic backtrace when oops_in_progress is true.
65639
65640 [akpm@linux-foundation.org: add comment]
65641 Signed-off-by: Andi Kleen <ak@linux.intel.com>
65642 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
65643 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
65644 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65645
65646 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
65647 Author: Miklos Szeredi <mszeredi@suse.cz>
65648 Date: Thu Jan 12 17:59:46 2012 +0100
65649
65650 fsnotify: don't BUG in fsnotify_destroy_mark()
65651
65652 Removing the parent of a watched file results in "kernel BUG at
65653 fs/notify/mark.c:139".
65654
65655 To reproduce
65656
65657 add "-w /tmp/audit/dir/watched_file" to audit.rules
65658 rm -rf /tmp/audit/dir
65659
65660 This is caused by fsnotify_destroy_mark() being called without an
65661 extra reference taken by the caller.
65662
65663 Reported by Francesco Cosoleto here:
65664
65665 https://bugzilla.novell.com/show_bug.cgi?id=689860
65666
65667 Fix by removing the BUG_ON and adding a comment about not accessing mark after
65668 the iput.
65669
65670 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
65671 CC: stable@vger.kernel.org
65672 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65673
65674 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
65675 Author: Paolo Bonzini <pbonzini@redhat.com>
65676 Date: Thu Jan 12 16:01:28 2012 +0100
65677
65678 block: fail SCSI passthrough ioctls on partition devices
65679
65680 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
65681 will pass the command to the underlying block device. This is
65682 well-known, but it is also a large security problem when (via Unix
65683 permissions, ACLs, SELinux or a combination thereof) a program or user
65684 needs to be granted access only to part of the disk.
65685
65686 This patch lets partitions forward a small set of harmless ioctls;
65687 others are logged with printk so that we can see which ioctls are
65688 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
65689 Of course it was being sent to a (partition on a) hard disk, so it would
65690 have failed with ENOTTY and the patch isn't changing anything in
65691 practice. Still, I'm treating it specially to avoid spamming the logs.
65692
65693 In principle, this restriction should include programs running with
65694 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
65695 /dev/sdb, it still should not be able to read/write outside the
65696 boundaries of /dev/sda2 independent of the capabilities. However, for
65697 now programs with CAP_SYS_RAWIO will still be allowed to send the
65698 ioctls. Their actions will still be logged.
65699
65700 This patch does not affect the non-libata IDE driver. That driver
65701 however already tests for bd != bd->bd_contains before issuing some
65702 ioctl; it could be restricted further to forbid these ioctls even for
65703 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
65704
65705 Cc: linux-scsi@vger.kernel.org
65706 Cc: Jens Axboe <axboe@kernel.dk>
65707 Cc: James Bottomley <JBottomley@parallels.com>
65708 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
65709 [ Make it also print the command name when warning - Linus ]
65710 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65711
65712 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
65713 Author: Paolo Bonzini <pbonzini@redhat.com>
65714 Date: Thu Jan 12 16:01:27 2012 +0100
65715
65716 block: add and use scsi_blk_cmd_ioctl
65717
65718 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
65719
65720 The function will then be enhanced to detect partition block devices
65721 and, in that case, subject the ioctls to whitelisting.
65722
65723 Cc: linux-scsi@vger.kernel.org
65724 Cc: Jens Axboe <axboe@kernel.dk>
65725 Cc: James Bottomley <JBottomley@parallels.com>
65726 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
65727 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
65728
65729 commit 97a79814903fc350e1d13704ea31528a42705401
65730 Author: Kees Cook <keescook@chromium.org>
65731 Date: Sat Jan 7 10:41:04 2012 -0800
65732
65733 audit: treat s_id as an untrusted string
65734
65735 The use of s_id should go through the untrusted string path, just to be
65736 extra careful.
65737
65738 Signed-off-by: Kees Cook <keescook@chromium.org>
65739 Acked-by: Mimi Zohar <zohar@us.ibm.com>
65740 Signed-off-by: Eric Paris <eparis@redhat.com>
65741
65742 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
65743 Author: Xi Wang <xi.wang@gmail.com>
65744 Date: Tue Dec 20 18:39:41 2011 -0500
65745
65746 audit: fix signedness bug in audit_log_execve_info()
65747
65748 In the loop, a size_t "len" is used to hold the return value of
65749 audit_log_single_execve_arg(), which returns -1 on error. In that
65750 case the error handling (len <= 0) will be bypassed since "len" is
65751 unsigned, and the loop continues with (p += len) being wrapped.
65752 Change the type of "len" to signed int to fix the error handling.
65753
65754 size_t len;
65755 ...
65756 for (...) {
65757 len = audit_log_single_execve_arg(...);
65758 if (len <= 0)
65759 break;
65760 p += len;
65761 }
65762
65763 Signed-off-by: Xi Wang <xi.wang@gmail.com>
65764 Signed-off-by: Eric Paris <eparis@redhat.com>
65765
65766 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
65767 Author: Dan Carpenter <dan.carpenter@oracle.com>
65768 Date: Tue Jan 17 03:28:51 2012 -0300
65769
65770 [media] ds3000: using logical && instead of bitwise &
65771
65772 The intent here was to test if the FE_HAS_LOCK was set. The current
65773 test is equivalent to "if (status) { ..."
65774
65775 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
65776 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
65777
65778 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
65779 Author: Brad Spengler <spender@grsecurity.net>
65780 Date: Mon Jan 16 13:10:38 2012 -0500
65781
65782 Ignore the 0 signal for protected task RBAC checks
65783
65784 commit d513acd55f7a683f6e146a4f570cdb63300479ab
65785 Author: Brad Spengler <spender@grsecurity.net>
65786 Date: Mon Jan 16 11:56:13 2012 -0500
65787
65788 whitespace cleanup
65789
65790 commit ced261c4b82818c700aff8487f647f6f3e5b5122
65791 Merge: d48751f 83555fb
65792 Author: Brad Spengler <spender@grsecurity.net>
65793 Date: Fri Jan 13 20:12:54 2012 -0500
65794
65795 Merge branch 'pax-test' into grsec-test
65796
65797 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
65798 Merge: fcd8129 93dad39
65799 Author: Brad Spengler <spender@grsecurity.net>
65800 Date: Fri Jan 13 20:12:43 2012 -0500
65801
65802 Merge branch 'linux-3.1.y' into pax-test
65803
65804 commit d48751f3919ae855fda0ff6c149db82442329253
65805 Author: Brad Spengler <spender@grsecurity.net>
65806 Date: Wed Jan 11 19:05:47 2012 -0500
65807
65808 Call our own set_user when forcing change to new id
65809
65810 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
65811 Merge: e6578ff fcd8129
65812 Author: Brad Spengler <spender@grsecurity.net>
65813 Date: Tue Jan 10 16:00:10 2012 -0500
65814
65815 Merge branch 'pax-test' into grsec-test
65816
65817 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
65818 Author: Brad Spengler <spender@grsecurity.net>
65819 Date: Tue Jan 10 15:58:43 2012 -0500
65820
65821 Merge changes from pax-linux-3.1.8-test23.patch
65822
65823 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
65824 Merge: 8859ec3 a120549
65825 Author: Brad Spengler <spender@grsecurity.net>
65826 Date: Fri Jan 6 21:45:56 2012 -0500
65827
65828 Merge branch 'pax-test' into grsec-test
65829
65830 commit a12054967a77090de1caa07c41e694a77db4e237
65831 Author: Brad Spengler <spender@grsecurity.net>
65832 Date: Fri Jan 6 21:45:30 2012 -0500
65833
65834 Merge changes from pax-linux-3.1.8-test22.patch
65835
65836 commit 8859ec32f9815c274df65448f9f2960176c380d3
65837 Merge: a5016b4 ddd4114
65838 Author: Brad Spengler <spender@grsecurity.net>
65839 Date: Fri Jan 6 21:26:08 2012 -0500
65840
65841 Merge branch 'pax-test' into grsec-test
65842
65843 Conflicts:
65844 fs/binfmt_elf.c
65845 security/Kconfig
65846
65847 commit ddd41147e158a79704983a409b7433eba797cf66
65848 Author: Brad Spengler <spender@grsecurity.net>
65849 Date: Fri Jan 6 21:12:42 2012 -0500
65850
65851 Resync with PaX patch (whitespace difference)
65852
65853 commit 29e569df8205c5f0e043fe4803aa984406c8b118
65854 Author: Brad Spengler <spender@grsecurity.net>
65855 Date: Fri Jan 6 21:09:47 2012 -0500
65856
65857 Merge changes from pax-linux-3.1.8-test21.patch
65858
65859 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
65860 Merge: 0124c92 04231d5
65861 Author: Brad Spengler <spender@grsecurity.net>
65862 Date: Fri Jan 6 18:52:20 2012 -0500
65863
65864 Merge branch 'pax-test' into grsec-test
65865
65866 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
65867 Merge: 7bdddeb a919904
65868 Author: Brad Spengler <spender@grsecurity.net>
65869 Date: Fri Jan 6 18:51:50 2012 -0500
65870
65871 Merge branch 'linux-3.1.y' into pax-test
65872
65873 Conflicts:
65874 include/net/flow.h
65875
65876 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
65877 Author: Brad Spengler <spender@grsecurity.net>
65878 Date: Fri Jan 6 18:33:05 2012 -0500
65879
65880 Make GRKERNSEC_SETXID option compatible with credential debugging
65881
65882 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
65883 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
65884 Date: Wed Dec 28 15:57:11 2011 -0800
65885
65886 mm/mempolicy.c: refix mbind_range() vma issue
65887
65888 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
65889 slightly incorrect fix.
65890
65891 Why? Think following case.
65892
65893 1. map 4 pages of a file at offset 0
65894
65895 [0123]
65896
65897 2. map 2 pages just after the first mapping of the same file but with
65898 page offset 2
65899
65900 [0123][23]
65901
65902 3. mbind() 2 pages from the first mapping at offset 2.
65903 mbind_range() should treat new vma is,
65904
65905 [0123][23]
65906 |23|
65907 mbind vma
65908
65909 but it does
65910
65911 [0123][23]
65912 |01|
65913 mbind vma
65914
65915 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
65916
65917 This patch fixes it.
65918
65919 [testcase]
65920 test result - before the patch
65921
65922 case4: 126: test failed. expect '2,4', actual '2,2,2'
65923 case5: passed
65924 case6: passed
65925 case7: passed
65926 case8: passed
65927 case_n: 246: test failed. expect '4,2', actual '1,4'
65928
65929 ------------[ cut here ]------------
65930 kernel BUG at mm/filemap.c:135!
65931 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
65932
65933 (snip long bug on messages)
65934
65935 test result - after the patch
65936
65937 case4: passed
65938 case5: passed
65939 case6: passed
65940 case7: passed
65941 case8: passed
65942 case_n: passed
65943
65944 source: mbind_vma_test.c
65945 ============================================================
65946 #include <numaif.h>
65947 #include <numa.h>
65948 #include <sys/mman.h>
65949 #include <stdio.h>
65950 #include <unistd.h>
65951 #include <stdlib.h>
65952 #include <string.h>
65953
65954 static unsigned long pagesize;
65955 void* mmap_addr;
65956 struct bitmask *nmask;
65957 char buf[1024];
65958 FILE *file;
65959 char retbuf[10240] = "";
65960 int mapped_fd;
65961
65962 char *rubysrc = "ruby -e '\
65963 pid = %d; \
65964 vstart = 0x%llx; \
65965 vend = 0x%llx; \
65966 s = `pmap -q #{pid}`; \
65967 rary = []; \
65968 s.each_line {|line|; \
65969 ary=line.split(\" \"); \
65970 addr = ary[0].to_i(16); \
65971 if(vstart <= addr && addr < vend) then \
65972 rary.push(ary[1].to_i()/4); \
65973 end; \
65974 }; \
65975 print rary.join(\",\"); \
65976 '";
65977
65978 void init(void)
65979 {
65980 void* addr;
65981 char buf[128];
65982
65983 nmask = numa_allocate_nodemask();
65984 numa_bitmask_setbit(nmask, 0);
65985
65986 pagesize = getpagesize();
65987
65988 sprintf(buf, "%s", "mbind_vma_XXXXXX");
65989 mapped_fd = mkstemp(buf);
65990 if (mapped_fd == -1)
65991 perror("mkstemp "), exit(1);
65992 unlink(buf);
65993
65994 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
65995 perror("lseek "), exit(1);
65996 if (write(mapped_fd, "\0", 1) < 0)
65997 perror("write "), exit(1);
65998
65999 addr = mmap(NULL, pagesize*8, PROT_NONE,
66000 MAP_SHARED, mapped_fd, 0);
66001 if (addr == MAP_FAILED)
66002 perror("mmap "), exit(1);
66003
66004 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
66005 perror("mprotect "), exit(1);
66006
66007 mmap_addr = addr + pagesize;
66008
66009 /* make page populate */
66010 memset(mmap_addr, 0, pagesize*6);
66011 }
66012
66013 void fin(void)
66014 {
66015 void* addr = mmap_addr - pagesize;
66016 munmap(addr, pagesize*8);
66017
66018 memset(buf, 0, sizeof(buf));
66019 memset(retbuf, 0, sizeof(retbuf));
66020 }
66021
66022 void mem_bind(int index, int len)
66023 {
66024 int err;
66025
66026 err = mbind(mmap_addr+pagesize*index, pagesize*len,
66027 MPOL_BIND, nmask->maskp, nmask->size, 0);
66028 if (err)
66029 perror("mbind "), exit(err);
66030 }
66031
66032 void mem_interleave(int index, int len)
66033 {
66034 int err;
66035
66036 err = mbind(mmap_addr+pagesize*index, pagesize*len,
66037 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
66038 if (err)
66039 perror("mbind "), exit(err);
66040 }
66041
66042 void mem_unbind(int index, int len)
66043 {
66044 int err;
66045
66046 err = mbind(mmap_addr+pagesize*index, pagesize*len,
66047 MPOL_DEFAULT, NULL, 0, 0);
66048 if (err)
66049 perror("mbind "), exit(err);
66050 }
66051
66052 void Assert(char *expected, char *value, char *name, int line)
66053 {
66054 if (strcmp(expected, value) == 0) {
66055 fprintf(stderr, "%s: passed\n", name);
66056 return;
66057 }
66058 else {
66059 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
66060 name, line,
66061 expected, value);
66062 // exit(1);
66063 }
66064 }
66065
66066 /*
66067 AAAA
66068 PPPPPPNNNNNN
66069 might become
66070 PPNNNNNNNNNN
66071 case 4 below
66072 */
66073 void case4(void)
66074 {
66075 init();
66076 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
66077
66078 mem_bind(0, 4);
66079 mem_unbind(2, 2);
66080
66081 file = popen(buf, "r");
66082 fread(retbuf, sizeof(retbuf), 1, file);
66083 Assert("2,4", retbuf, "case4", __LINE__);
66084
66085 fin();
66086 }
66087
66088 /*
66089 AAAA
66090 PPPPPPNNNNNN
66091 might become
66092 PPPPPPPPPPNN
66093 case 5 below
66094 */
66095 void case5(void)
66096 {
66097 init();
66098 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
66099
66100 mem_bind(0, 2);
66101 mem_bind(2, 2);
66102
66103 file = popen(buf, "r");
66104 fread(retbuf, sizeof(retbuf), 1, file);
66105 Assert("4,2", retbuf, "case5", __LINE__);
66106
66107 fin();
66108 }
66109
66110 /*
66111 AAAA
66112 PPPPNNNNXXXX
66113 might become
66114 PPPPPPPPPPPP 6
66115 */
66116 void case6(void)
66117 {
66118 init();
66119 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
66120
66121 mem_bind(0, 2);
66122 mem_bind(4, 2);
66123 mem_bind(2, 2);
66124
66125 file = popen(buf, "r");
66126 fread(retbuf, sizeof(retbuf), 1, file);
66127 Assert("6", retbuf, "case6", __LINE__);
66128
66129 fin();
66130 }
66131
66132 /*
66133 AAAA
66134 PPPPNNNNXXXX
66135 might become
66136 PPPPPPPPXXXX 7
66137 */
66138 void case7(void)
66139 {
66140 init();
66141 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
66142
66143 mem_bind(0, 2);
66144 mem_interleave(4, 2);
66145 mem_bind(2, 2);
66146
66147 file = popen(buf, "r");
66148 fread(retbuf, sizeof(retbuf), 1, file);
66149 Assert("4,2", retbuf, "case7", __LINE__);
66150
66151 fin();
66152 }
66153
66154 /*
66155 AAAA
66156 PPPPNNNNXXXX
66157 might become
66158 PPPPNNNNNNNN 8
66159 */
66160 void case8(void)
66161 {
66162 init();
66163 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
66164
66165 mem_bind(0, 2);
66166 mem_interleave(4, 2);
66167 mem_interleave(2, 2);
66168
66169 file = popen(buf, "r");
66170 fread(retbuf, sizeof(retbuf), 1, file);
66171 Assert("2,4", retbuf, "case8", __LINE__);
66172
66173 fin();
66174 }
66175
66176 void case_n(void)
66177 {
66178 init();
66179 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
66180
66181 /* make redundunt mappings [0][1234][34][7] */
66182 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
66183 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
66184
66185 /* Expect to do nothing. */
66186 mem_unbind(2, 2);
66187
66188 file = popen(buf, "r");
66189 fread(retbuf, sizeof(retbuf), 1, file);
66190 Assert("4,2", retbuf, "case_n", __LINE__);
66191
66192 fin();
66193 }
66194
66195 int main(int argc, char** argv)
66196 {
66197 case4();
66198 case5();
66199 case6();
66200 case7();
66201 case8();
66202 case_n();
66203
66204 return 0;
66205 }
66206 =============================================================
66207
66208 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
66209 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
66210 Cc: Minchan Kim <minchan.kim@gmail.com>
66211 Cc: Caspar Zhang <caspar@casparzhang.com>
66212 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
66213 Cc: Christoph Lameter <cl@linux.com>
66214 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
66215 Cc: Mel Gorman <mel@csn.ul.ie>
66216 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
66217 Cc: <stable@vger.kernel.org> [3.1.x]
66218 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
66219 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
66220
66221 commit f3a1082005781777086df235049f8c0b7efe524e
66222 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
66223 Date: Tue Dec 27 22:32:41 2011 -0500
66224
66225 packet: fix possible dev refcnt leak when bind fail
66226
66227 If bind is fail when bind is called after set PACKET_FANOUT
66228 sock option, the dev refcnt will leak.
66229
66230 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
66231 Signed-off-by: David S. Miller <davem@davemloft.net>
66232
66233 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
66234 Author: Haogang Chen <haogangchen@gmail.com>
66235 Date: Mon Dec 19 17:11:56 2011 -0800
66236
66237 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
66238
66239 There is a potential integer overflow in nilfs_ioctl_clean_segments().
66240 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
66241 call to vmalloc() will allocate a buffer smaller than expected, which
66242 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
66243 lfs_clean_segments().
66244
66245 The following check does not prevent the overflow because nsegs is also
66246 controlled by the userspace and could be very large.
66247
66248 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
66249 goto out_free;
66250
66251 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
66252 returns -EINVAL when overflow.
66253
66254 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
66255 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
66256 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
66257 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
66258
66259 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
66260 Author: Kautuk Consul <consul.kautuk@gmail.com>
66261 Date: Mon Dec 19 17:12:04 2011 -0800
66262
66263 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
66264
66265 Static storage is not required for the struct vmap_area in
66266 __get_vm_area_node.
66267
66268 Removing "static" to store this variable on the stack instead.
66269
66270 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
66271 Acked-by: David Rientjes <rientjes@google.com>
66272 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
66273 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
66274
66275 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
66276 Author: Michel Lespinasse <walken@google.com>
66277 Date: Mon Dec 19 17:12:06 2011 -0800
66278
66279 binary_sysctl(): fix memory leak
66280
66281 binary_sysctl() calls sysctl_getname() which allocates from names_cache
66282 slab usin __getname()
66283
66284 The matching function to free the name is __putname(), and not putname()
66285 which should be used only to match getname() allocations.
66286
66287 This is because when auditing is enabled, putname() calls audit_putname
66288 *instead* (not in addition) to __putname(). Then, if a syscall is in
66289 progress, audit_putname does not release the name - instead, it expects
66290 the name to get released when the syscall completes, but that will happen
66291 only if audit_getname() was called previously, i.e. if the name was
66292 allocated with getname() rather than the naked __getname(). So,
66293 __getname() followed by putname() ends up leaking memory.
66294
66295 Signed-off-by: Michel Lespinasse <walken@google.com>
66296 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
66297 Cc: Christoph Hellwig <hch@infradead.org>
66298 Cc: Eric Paris <eparis@redhat.com>
66299 Cc: <stable@vger.kernel.org>
66300 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
66301 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
66302
66303 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
66304 Author: Sean Hefty <sean.hefty@intel.com>
66305 Date: Tue Dec 6 21:17:11 2011 +0000
66306
66307 RDMA/cma: Verify private data length
66308
66309 private_data_len is defined as a u8. If the user specifies a large
66310 private_data size (> 220 bytes), we will calculate a total length that
66311 exceeds 255, resulting in private_data_len wrapping back to 0. This
66312 can lead to overwriting random kernel memory. Avoid this by verifying
66313 that the resulting size fits into a u8.
66314
66315 Reported-by: B. Thery <benjamin.thery@bull.net>
66316 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
66317 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
66318 Signed-off-by: Roland Dreier <roland@purestorage.com>
66319
66320 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
66321 Author: Xi Wang <xi.wang@gmail.com>
66322 Date: Sun Dec 11 23:40:56 2011 -0800
66323
66324 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
66325
66326 The error check (intr_status < 0) didn't work because intr_status is
66327 a u8. Change its type to signed int.
66328
66329 Signed-off-by: Xi Wang <xi.wang@gmail.com>
66330 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
66331
66332 commit e27f34e383d7863b2528a63b81b23db09781f6b6
66333 Author: Xi Wang <xi.wang@gmail.com>
66334 Date: Fri Dec 16 12:44:15 2011 +0000
66335
66336 sctp: fix incorrect overflow check on autoclose
66337
66338 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
66339 limiting the autoclose value. If userspace passes in -1 on 32-bit
66340 platform, the overflow check didn't work and autoclose would be set
66341 to 0xffffffff.
66342
66343 This patch defines a max_autoclose (in seconds) for limiting the value
66344 and exposes it through sysctl, with the following intentions.
66345
66346 1) Avoid overflowing autoclose * HZ.
66347
66348 2) Keep the default autoclose bound consistent across 32- and 64-bit
66349 platforms (INT_MAX / HZ in this patch).
66350
66351 3) Keep the autoclose value consistent between setsockopt() and
66352 getsockopt() calls.
66353
66354 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
66355 Signed-off-by: Xi Wang <xi.wang@gmail.com>
66356 Signed-off-by: David S. Miller <davem@davemloft.net>
66357
66358 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
66359 Author: Xi Wang <xi.wang@gmail.com>
66360 Date: Wed Dec 21 05:18:33 2011 -0500
66361
66362 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
66363
66364 Commit e133e737 didn't correctly fix the integer overflow issue.
66365
66366 - unsigned int required_size;
66367 + u64 required_size;
66368 ...
66369 required_size = mode_cmd->pitch * mode_cmd->height;
66370 - if (unlikely(required_size > dev_priv->vram_size)) {
66371 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
66372
66373 Note that both pitch and height are u32. Their product is still u32 and
66374 would overflow before being assigned to required_size. A correct way is
66375 to convert pitch and height to u64 before the multiplication.
66376
66377 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
66378
66379 This patch calls the existing vmw_kms_validate_mode_vram() for
66380 validation.
66381
66382 Signed-off-by: Xi Wang <xi.wang@gmail.com>
66383 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
66384 Signed-off-by: Dave Airlie <airlied@redhat.com>
66385
66386 Conflicts:
66387
66388 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
66389
66390 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
66391 Author: Xi Wang <xi.wang@gmail.com>
66392 Date: Thu Dec 22 13:35:22 2011 +0000
66393
66394 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
66395
66396 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
66397 cause a kernel oops due to insufficient bounds checking.
66398
66399 if (count > 1<<30) {
66400 /* Enforce a limit to prevent overflow */
66401 return -EINVAL;
66402 }
66403 count = roundup_pow_of_two(count);
66404 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
66405
66406 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
66407
66408 ... + (count * sizeof(struct rps_dev_flow))
66409
66410 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
66411 32 bits.
66412
66413 This patch replaces the magic number (1 << 30) with a symbolic bound.
66414
66415 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
66416 Signed-off-by: Xi Wang <xi.wang@gmail.com>
66417 Signed-off-by: David S. Miller <davem@davemloft.net>
66418
66419 commit 648188958672024b616c42c1f6c98c8cfc85619d
66420 Author: Xi Wang <xi.wang@gmail.com>
66421 Date: Fri Dec 30 10:40:17 2011 -0500
66422
66423 netfilter: ctnetlink: fix timeout calculation
66424
66425 The sanity check (timeout < 0) never works; the dividend is unsigned
66426 and so is the division, which should have been a signed division.
66427
66428 long timeout = (ct->timeout.expires - jiffies) / HZ;
66429 if (timeout < 0)
66430 timeout = 0;
66431
66432 This patch converts the time values to signed for the division.
66433
66434 Signed-off-by: Xi Wang <xi.wang@gmail.com>
66435 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
66436
66437 commit ab03a0973cee73f88655ff4981812ad316a6cd59
66438 Merge: 76f82df 7bdddeb
66439 Author: Brad Spengler <spender@grsecurity.net>
66440 Date: Tue Jan 3 17:42:50 2012 -0500
66441
66442 Merge branch 'pax-test' into grsec-test
66443
66444 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
66445 Merge: 3e59cb5 55cc81a
66446 Author: Brad Spengler <spender@grsecurity.net>
66447 Date: Tue Jan 3 17:42:36 2012 -0500
66448
66449 Merge branch 'linux-3.1.y' into pax-test
66450
66451 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
66452 Author: Brad Spengler <spender@grsecurity.net>
66453 Date: Thu Dec 22 20:15:02 2011 -0500
66454
66455 Only further restrict futex targeting another process -- our modified
66456 permission check also happened to allow a case where a process retaining
66457 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
66458 being non-zero (reported on forums by ben_w)
66459
66460 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
66461 Merge: 97c16f0 3e59cb5
66462 Author: Brad Spengler <spender@grsecurity.net>
66463 Date: Thu Dec 22 19:11:06 2011 -0500
66464
66465 Merge branch 'pax-test' into grsec-test
66466
66467 Conflicts:
66468 fs/hfs/btree.c
66469
66470 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
66471 Merge: 285eb4e c26f60b
66472 Author: Brad Spengler <spender@grsecurity.net>
66473 Date: Thu Dec 22 19:09:57 2011 -0500
66474
66475 Merge branch 'linux-3.1.y' into pax-test
66476
66477 Conflicts:
66478 arch/x86/kernel/process.c
66479
66480 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
66481 Author: Brad Spengler <spender@grsecurity.net>
66482 Date: Mon Dec 19 21:54:01 2011 -0500
66483
66484 Add new option: "Enforce consistent multithreaded privileges"
66485
66486 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
66487 Author: Brad Spengler <spender@grsecurity.net>
66488 Date: Wed Dec 7 19:58:31 2011 -0500
66489
66490 Remove harmless duplicate code -- exec_file would be null already so the
66491 second check would never pass.
66492
66493 commit 4e3304e94aa72737810bc50169519af157dce4ce
66494 Author: Brad Spengler <spender@grsecurity.net>
66495 Date: Wed Dec 7 19:50:39 2011 -0500
66496
66497 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
66498 depended on for attaching to a thread. Entries exist in /proc for
66499 threads, but are not visible in a readdir.
66500
66501 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
66502 Author: Brad Spengler <spender@grsecurity.net>
66503 Date: Sun Dec 4 18:03:28 2011 -0500
66504
66505 Put the already-walked path if in RCU-walk mode
66506
66507 commit ec7ae36b7159f10649709779443a988662965d66
66508 Author: Brad Spengler <spender@grsecurity.net>
66509 Date: Sun Dec 4 17:35:21 2011 -0500
66510
66511 Fix memory leak introduced by recent (unpublished) commit
66512 75ab998b94a29d464518d6d501bdde3fbfcbfa14
66513
66514 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
66515 Author: Brad Spengler <spender@grsecurity.net>
66516 Date: Sun Dec 4 13:56:10 2011 -0500
66517
66518 Explicitly check size copied to userland in override_release to silence gcc
66519
66520 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
66521 Author: Brad Spengler <spender@grsecurity.net>
66522 Date: Sun Dec 4 13:54:02 2011 -0500
66523
66524 Initialize variable to silence erroneous gcc warning
66525
66526 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
66527 Author: Brad Spengler <spender@grsecurity.net>
66528 Date: Sun Dec 4 13:47:47 2011 -0500
66529
66530 Future-proof other potential RCU-aware locations where we can log.
66531
66532 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
66533 Author: Brad Spengler <spender@grsecurity.net>
66534 Date: Sun Dec 4 13:02:54 2011 -0500
66535
66536 Fix freeze reported by 'vs' on the forums. Bug occurred due to
66537 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
66538 in generic_permission() was in the task's effective set but disallowed by
66539 RBAC, would block when acquiring locks resulting in the freeze.
66540
66541 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
66542 as being required when CAP_DAC_OVERRIDE is present (consistent with
66543 older patches).
66544
66545 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
66546 Author: Xi Wang <xi.wang@gmail.com>
66547 Date: Tue Nov 29 09:26:30 2011 +0000
66548
66549 sctp: better integer overflow check in sctp_auth_create_key()
66550
66551 The check from commit 30c2235c is incomplete and cannot prevent
66552 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
66553 left-hand side of the check (INT_MAX - key_len), which is unsigned,
66554 becomes 0xffffffff (UINT_MAX) and bypasses the check.
66555
66556 However this shouldn't be a security issue. The function is called
66557 from the following two code paths:
66558
66559 1) setsockopt()
66560
66561 2) sctp_auth_asoc_set_secret()
66562
66563 In case (1), sca_keylength is never going to exceed 65535 since it's
66564 bounded by a u16 from the user API. As such, the key length will
66565 never overflow.
66566
66567 In case (2), sca_keylength is computed based on the user key (1 short)
66568 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
66569 will not overflow.
66570
66571 In other words, this overflow check is not really necessary. Just
66572 make it more correct.
66573
66574 Signed-off-by: Xi Wang <xi.wang@gmail.com>
66575 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
66576 Signed-off-by: David S. Miller <davem@davemloft.net>
66577
66578 commit e565e28c3635a1d50f80541fbf6b606d742fec76
66579 Author: Josh Boyer <jwboyer@redhat.com>
66580 Date: Fri Aug 19 14:50:26 2011 -0400
66581
66582 fs/minix: Verify bitmap block counts before mounting
66583
66584 Newer versions of MINIX can create filesystems that allocate an extra
66585 bitmap block. Mounting of this succeeds, but doing a statfs call will
66586 result in an oops in count_free because of a negative number being used
66587 for the bh index.
66588
66589 Avoid this by verifying the number of allocated blocks at mount time,
66590 erroring out if there are not enough and make statfs ignore the extras
66591 if there are too many.
66592
66593 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
66594
66595 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
66596 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
66597
66598 commit 6e134e398ec1a3f428261680e83df4319e64bed9
66599 Author: Julia Lawall <julia@diku.dk>
66600 Date: Tue Nov 15 14:53:11 2011 -0800
66601
66602 drivers/gpu/vga/vgaarb.c: add missing kfree
66603
66604 kbuf is a buffer that is local to this function, so all of the error paths
66605 leaving the function should release it.
66606
66607 Signed-off-by: Julia Lawall <julia@diku.dk>
66608 Cc: Jesper Juhl <jj@chaosbits.net>
66609 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
66610 Signed-off-by: Dave Airlie <airlied@redhat.com>
66611
66612 commit 2b9057b321e36860e8d63985b5c4e496f254b717
66613 Author: Brad Spengler <spender@grsecurity.net>
66614 Date: Sat Dec 3 21:33:28 2011 -0500
66615
66616 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
66617
66618 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
66619 Author: Brad Spengler <spender@grsecurity.net>
66620 Date: Sat Dec 3 21:29:37 2011 -0500
66621
66622 Import pax-linux-3.1.4-test18.patch
66623
66624 commit 285eb4ea45d853ae00426b3315a61c1368080dad
66625 Author: Brad Spengler <spender@grsecurity.net>
66626 Date: Sat Dec 10 18:33:46 2011 -0500
66627
66628 Import changes from pax-linux-3.1.5-test20.patch
66629
66630 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
66631 Author: Brad Spengler <spender@grsecurity.net>
66632 Date: Thu Dec 8 20:55:54 2011 -0500
66633
66634 Import changes from pax-linux-3.1.4-test19.patch
66635
66636 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
66637 Author: Brad Spengler <spender@grsecurity.net>
66638 Date: Sat Dec 3 21:29:37 2011 -0500
66639
66640 Import pax-linux-3.1.4-test18.patch
66641 commit 9a7168e3d96ba81ab00bde22d38f7a035cc25466
66642 Author: Brad Spengler <spender@grsecurity.net>
66643 Date: Sun Nov 24 17:50:21 2013 -0500
66644
66645 remove unnecessary code/comments after new reload method
66646
66647 grsecurity/gracl.c | 4 ----
66648 grsecurity/gracl_policy.c | 13 -------------
66649 2 files changed, 0 insertions(+), 17 deletions(-)
66650
66651 commit 4e61142788b54cbbc4e0d3418987ee892b34ee7d
66652 Author: Brad Spengler <spender@grsecurity.net>
66653 Date: Sun Nov 24 16:05:01 2013 -0500
66654
66655 Version bumped to 3.0 (we'd been on 2.9.1 for way too long and numerous
66656 features have been added since then)
66657
66658 Introduce new atomic RBAC reload method, developed as part of sponsorship
66659 by EIG
66660
66661 This is accompanied by an updated 3.0 gradm which will use the new reload
66662 method when -R is passed to gradm. The old method will still be available
66663 via gradm -r (which is what a 2.9.1 gradm will continue to use).
66664
66665 The new RBAC reload method is atomic in the sense that at no point in the
66666 reload process will the system not be covered by a coherent full policy.
66667 In contrast to previous reload behavior, it also preserves inherited subjects
66668 and special roles.
66669
66670 The old RBAC reload method has also been made atomic. Both methods have
66671 been updated to perform role_allowed_ip checks only against the IP tagged
66672 to the task at the time its role was first applied or changed. This resolves
66673 long-standing usability problems with the use of role_allowed_ip and matches
66674 the policies created by learning.
66675
66676 grsecurity/Makefile | 2 +-
66677 grsecurity/gracl.c | 3903 +++++++++++++------------------------------
66678 grsecurity/gracl_alloc.c | 42 +-
66679 grsecurity/gracl_compat.c | 3 +-
66680 grsecurity/gracl_policy.c | 1838 ++++++++++++++++++++
66681 grsecurity/gracl_segv.c | 12 +-
66682 grsecurity/grsec_disabled.c | 7 -
66683 grsecurity/grsec_init.c | 15 -
66684 include/linux/gracl.h | 43 +-
66685 include/linux/grinternal.h | 1 -
66686 include/linux/grsecurity.h | 1 -
66687 include/linux/sched.h | 2 +
66688 12 files changed, 3082 insertions(+), 2787 deletions(-)
66689
66690 commit d8981a4fd03025434a466fd87a0eaea93755bc70
66691 Author: Brad Spengler <spender@grsecurity.net>
66692 Date: Sun Nov 24 15:08:28 2013 -0500
66693
66694 compile fix for recent GRKERNSEC_CHROOT_INITRD change
66695
66696 init/main.c | 12 +++---------
66697 1 files changed, 3 insertions(+), 9 deletions(-)
66698
66699 commit c3f95fe9875bea3eeb61cad1586b3f9b6226a42f
66700 Author: Brad Spengler <spender@grsecurity.net>
66701 Date: Sat Nov 23 18:27:37 2013 -0500
66702
66703 Make the recent usermode_helper protection race-free as far as userland
66704 is concerned by creating a copy of the path to be executed, then check against
66705 that copied path instead of the still-mutable original path
66706
66707 include/linux/kmod.h | 3 +++
66708 kernel/kmod.c | 13 +++++++++++++
66709 2 files changed, 16 insertions(+), 0 deletions(-)
66710
66711 commit ecdd0610bef058fd33fee50b489d949c1a0db07a
66712 Author: Brad Spengler <spender@grsecurity.net>
66713 Date: Sat Nov 23 17:20:15 2013 -0500
66714
66715 Produce a UDEREF message when faulting on kernel access to a non-present
66716 page in the userland range. This is purely for consistency of logs,
66717 due to there being no domain present to fault based on. An
66718 "Unable to handle kernel fault.." oops would already (and still is)
66719 generated for these cases, triggering grsec's bruteforce prevention.
66720
66721 Reported by acez on IRC
66722
66723 arch/arm/mm/fault.c | 11 +++++++++++
66724 1 files changed, 11 insertions(+), 0 deletions(-)
66725
66726 commit 3f4adfade80bba0d865b5c603bd58da555ca4553
66727 Author: Brad Spengler <spender@grsecurity.net>
66728 Date: Sat Nov 23 16:56:46 2013 -0500
66729
66730 Make GRKERNSEC_CHROOT_INITRD depend on the correct initrd option,
66731 Also make sure we mark init as run if no initrd was used. Though this
66732 should already be enforced in grsec_chroot.c, this should future-proof
66733 the feature a bit in case userland somehow changes drastically.
66734
66735 Conflicts:
66736
66737 init/main.c
66738
66739 grsecurity/Kconfig | 2 +-
66740 grsecurity/grsec_chroot.c | 2 +-
66741 init/main.c | 15 +++++++++++++++
66742 3 files changed, 17 insertions(+), 2 deletions(-)
66743
66744 commit d4a9bb63091852b5b49ebd216796b374e5c0dc71
66745 Author: Brad Spengler <spender@grsecurity.net>
66746 Date: Sat Nov 23 16:33:20 2013 -0500
66747
66748 limit all usermode helper binaries to /sbin, all other attempts will be logged and rejected
66749
66750 kernel/kmod.c | 8 ++++++++
66751 1 files changed, 8 insertions(+), 0 deletions(-)
66752
66753 commit e727db195f8bed17c65d050e1772643d730fe565
66754 Author: Brad Spengler <spender@grsecurity.net>
66755 Date: Sat Nov 23 16:02:01 2013 -0500
66756
66757 perform USERCOPY kernel text checks against the linear mapping on amd64 as well
66758
66759 fs/exec.c | 8 ++++++++
66760 1 files changed, 8 insertions(+), 0 deletions(-)
66761
66762 commit 7e0e0cf6d81af9c7901e16345737157fd563ccfb
66763 Merge: 2fcc3a5 2d1263b
66764 Author: Brad Spengler <spender@grsecurity.net>
66765 Date: Fri Nov 22 21:11:44 2013 -0500
66766
66767 Merge branch 'pax-test' into grsec-test
66768
66769 commit 2d1263be436ef0c7c964a2028dec3fc7e90205a1
66770 Merge: d52f291 e0cd057
66771 Author: Brad Spengler <spender@grsecurity.net>
66772 Date: Fri Nov 22 21:11:33 2013 -0500
66773
66774 Merge branch 'linux-3.11.y' into pax-test
66775
66776 Conflicts:
66777 drivers/net/ethernet/chelsio/cxgb3/sge.c
66778
66779 commit 2fcc3a573d2b676c6cdb1aa0c9f61ce723189972
66780 Author: Brad Spengler <spender@grsecurity.net>
66781 Date: Fri Nov 22 20:31:37 2013 -0500
66782
66783 Revert "Upstream commit: bceaa90240b6019ed73b49965eac7d167610be69"
66784
66785 This reverts commit 8bb32f2682953e1b748a59c4a4363b237c3510df.
66786
66787 It caused errors with traceroute, reported to upstream and fixed with
66788 http://patchwork.ozlabs.org/patch/293614/
66789 But there's no reason for us to maintain this backport as we're
66790 already impervious to recvmsg/msg_name infoleaks
66791
66792 Conflicts:
66793
66794 net/ipv4/ping.c
66795
66796 net/ieee802154/dgram.c | 3 ++-
66797 net/ipv4/ping.c | 11 +++++++++--
66798 net/ipv4/raw.c | 4 +++-
66799 net/ipv4/udp.c | 7 ++++++-
66800 net/ipv6/raw.c | 4 +++-
66801 net/ipv6/udp.c | 5 ++++-
66802 net/l2tp/l2tp_ip.c | 4 +++-
66803 net/phonet/datagram.c | 9 +++++----
66804 8 files changed, 35 insertions(+), 12 deletions(-)
66805
66806 commit 5a0b39755f07014ed0d34a432b89cfbb38b82e0b
66807 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
66808 Date: Mon Nov 18 07:07:45 2013 +0100
66809
66810 Upstream commit: cf970c002d270c36202bd5b9c2804d3097a52da0
66811
66812 ping: prevent NULL pointer dereference on write to msg_name
66813
66814 A plain read() on a socket does set msg->msg_name to NULL. So check for
66815 NULL pointer first.
66816
66817 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
66818 Signed-off-by: David S. Miller <davem@davemloft.net>
66819
66820 net/ipv4/ping.c | 34 +++++++++++++++++++---------------
66821 1 files changed, 19 insertions(+), 15 deletions(-)
66822
66823 commit 8bb32f2682953e1b748a59c4a4363b237c3510df
66824 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
66825 Date: Mon Nov 18 04:20:45 2013 +0100
66826
66827 Upstream commit: bceaa90240b6019ed73b49965eac7d167610be69
66828
66829 inet: prevent leakage of uninitialized memory to user in recv syscalls
66830
66831 Only update *addr_len when we actually fill in sockaddr, otherwise we
66832 can return uninitialized memory from the stack to the caller in the
66833 recvfrom, recvmmsg and recvmsg syscalls. Drop the the (addr_len == NULL)
66834 checks because we only get called with a valid addr_len pointer either
66835 from sock_common_recvmsg or inet_recvmsg.
66836
66837 If a blocking read waits on a socket which is concurrently shut down we
66838 now return zero and set msg_msgnamelen to 0.
66839
66840 Reported-by: mpb <mpb.mail@gmail.com>
66841 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
66842 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
66843 Signed-off-by: David S. Miller <davem@davemloft.net>
66844
66845 net/ieee802154/dgram.c | 3 +--
66846 net/ipv4/ping.c | 19 +++++++------------
66847 net/ipv4/raw.c | 4 +---
66848 net/ipv4/udp.c | 7 +------
66849 net/ipv6/raw.c | 4 +---
66850 net/ipv6/udp.c | 5 +----
66851 net/l2tp/l2tp_ip.c | 4 +---
66852 net/phonet/datagram.c | 9 ++++-----
66853 8 files changed, 17 insertions(+), 38 deletions(-)
66854
66855 commit 642d754081c130a151e7df27e5c07edf2f368106
66856 Author: Jeff Layton <jlayton@redhat.com>
66857 Date: Wed Nov 13 09:08:21 2013 -0500
66858
66859 Upstream commit: 6d769f1e1420179d1f83cf1a9cdc585b46c28545
66860
66861 nfs: don't retry detect_trunking with RPC_AUTH_UNIX more than once
66862
66863 Currently, when we try to mount and get back NFS4ERR_CLID_IN_USE or
66864 NFS4ERR_WRONGSEC, we create a new rpc_clnt and then try the call again.
66865 There is no guarantee that doing so will work however, so we can end up
66866 retrying the call in an infinite loop.
66867
66868 Worse yet, we create the new client using rpc_clone_client_set_auth,
66869 which creates the new client as a child of the old one. Thus, we can end
66870 up with a *very* long lineage of rpc_clnts. When we go to put all of the
66871 references to them, we can end up with a long call chain that can smash
66872 the stack as each rpc_free_client() call can recurse back into itself.
66873
66874 This patch fixes this by simply ensuring that the SETCLIENTID call will
66875 only be retried in this situation if the last attempt did not use
66876 RPC_AUTH_UNIX.
66877
66878 Note too that with this change, we don't need the (i > 2) check in the
66879 -EACCES case since we now have a more reliable test as to whether we
66880 should reattempt.
66881
66882 Cc: stable@vger.kernel.org # v3.10+
66883 Cc: Chuck Lever <chuck.lever@oracle.com>
66884 Tested-by/Acked-by: Weston Andros Adamson <dros@netapp.com>
66885 Signed-off-by: Jeff Layton <jlayton@redhat.com>
66886 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
66887
66888 fs/nfs/nfs4state.c | 7 ++++++-
66889 1 files changed, 6 insertions(+), 1 deletions(-)
66890
66891 commit a96ee20d2e099c56fd89b91ee309551e7b50b8f2
66892 Author: Chuck Lever <chuck.lever@oracle.com>
66893 Date: Wed Jul 24 12:28:28 2013 -0400
66894
66895 Upstream commit: d688f7b8f62857c252b886fa16e8b38b83cfaf7e
66896
66897 NFS: Use root's credential for lease management when keytab is missing
66898
66899 Commit 05f4c350 "NFS: Discover NFSv4 server trunking when mounting"
66900 Fri Sep 14 17:24:32 2012 introduced Uniform Client String support,
66901 which forces our NFS client to establish a client ID immediately
66902 during a mount operation rather than waiting until a user wants to
66903 open a file.
66904
66905 Normally machine credentials (eg. from a keytab) are used to perform
66906 a mount operation that is protected by Kerberos. Before 05fc350,
66907 SETCLIENTID used a machine credential, or fell back to a regular
66908 user's credential if no keytab is available.
66909
66910 On clients that don't have a keytab, performing SETCLIENTID early
66911 means there's no user credential to fall back on, since no regular
66912 user has kinit'd yet. 05f4c350 seems to have broken the ability
66913 to mount with sec=krb5 on clients that don't have a keytab in
66914 kernels 3.7 - 3.10.
66915
66916 To address this regression, commit 4edaa308 (NFS: Use "krb5i" to
66917 establish NFSv4 state whenever possible), Sat Mar 16 15:56:20 2013,
66918 was merged in 3.10. This commit forces the NFS client to fall back
66919 to AUTH_SYS for lease management operations if no keytab is
66920 available.
66921
66922 Neil Brown noticed that, since root is required to kinit to do a
66923 sec=krb5 mount when a client doesn't have a keytab, we can try to
66924 use root's Kerberos credential before AUTH_SYS.
66925
66926 Now, when determining a principal and flavor to use for lease
66927 management, the NFS client tries in this order:
66928
66929 1. Flavor: AUTH_GSS, krb5i
66930 Principal: service principal (via keytab)
66931
66932 2. Flavor: AUTH_GSS, krb5i
66933 Principal: user principal established for UID 0 (via kinit)
66934
66935 3. Flavor: AUTH_SYS
66936 Principal: UID 0 / GID 0
66937
66938 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
66939 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
66940
66941 fs/nfs/nfs4state.c | 19 ++++++++++++++++++-
66942 1 files changed, 18 insertions(+), 1 deletions(-)
66943
66944 commit 6ebab64904f37af82e950b0c6d321437e810b248
66945 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
66946 Date: Tue Nov 12 17:24:36 2013 -0500
66947
66948 Upstream commit: d07ba8422f1e58be94cc98a1f475946dc1b89f1b
66949
66950 SUNRPC: Avoid deep recursion in rpc_release_client
66951
66952 In cases where an rpc client has a parent hierarchy, then
66953 rpc_free_client may end up calling rpc_release_client() on the
66954 parent, thus recursing back into rpc_free_client. If the hierarchy
66955 is deep enough, then we can get into situations where the stack
66956 simply overflows.
66957
66958 The fix is to have rpc_release_client() loop so that it can take
66959 care of the parent rpc client hierarchy without needing to
66960 recurse.
66961
66962 Reported-by: Jeff Layton <jlayton@redhat.com>
66963 Reported-by: Weston Andros Adamson <dros@netapp.com>
66964 Reported-by: Bruce Fields <bfields@fieldses.org>
66965 Link: http://lkml.kernel.org/r/2C73011F-0939-434C-9E4D-13A1EB1403D7@netapp.com
66966 Cc: stable@vger.kernel.org
66967 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
66968
66969 net/sunrpc/clnt.c | 29 +++++++++++++++++------------
66970 1 files changed, 17 insertions(+), 12 deletions(-)
66971
66972 commit fcb4306973aed105cc6d042077bf31e21b812008
66973 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
66974 Date: Fri Nov 8 16:03:50 2013 -0500
66975
66976 Upstream commit: a6b31d18b02ff9d7915c5898c9b5ca41a798cd73
66977
66978 SUNRPC: Fix a data corruption issue when retransmitting RPC calls
66979
66980 The following scenario can cause silent data corruption when doing
66981 NFS writes. It has mainly been observed when doing database writes
66982 using O_DIRECT.
66983
66984 1) The RPC client uses sendpage() to do zero-copy of the page data.
66985 2) Due to networking issues, the reply from the server is delayed,
66986 and so the RPC client times out.
66987
66988 3) The client issues a second sendpage of the page data as part of
66989 an RPC call retransmission.
66990
66991 4) The reply to the first transmission arrives from the server
66992 _before_ the client hardware has emptied the TCP socket send
66993 buffer.
66994 5) After processing the reply, the RPC state machine rules that
66995 the call to be done, and triggers the completion callbacks.
66996 6) The application notices the RPC call is done, and reuses the
66997 pages to store something else (e.g. a new write).
66998
66999 7) The client NIC drains the TCP socket send buffer. Since the
67000 page data has now changed, it reads a corrupted version of the
67001 initial RPC call, and puts it on the wire.
67002
67003 This patch fixes the problem in the following manner:
67004
67005 The ordering guarantees of TCP ensure that when the server sends a
67006 reply, then we know that the _first_ transmission has completed. Using
67007 zero-copy in that situation is therefore safe.
67008 If a time out occurs, we then send the retransmission using sendmsg()
67009 (i.e. no zero-copy), We then know that the socket contains a full copy of
67010 the data, and so it will retransmit a faithful reproduction even if the
67011 RPC call completes, and the application reuses the O_DIRECT buffer in
67012 the meantime.
67013
67014 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
67015 Cc: stable@vger.kernel.org
67016
67017 net/sunrpc/xprtsock.c | 28 +++++++++++++++++++++-------
67018 1 files changed, 21 insertions(+), 7 deletions(-)
67019
67020 commit 2c59d4080ae744532dbe595f6923dcba72279977
67021 Merge: b2b99c6 d52f291
67022 Author: Brad Spengler <spender@grsecurity.net>
67023 Date: Mon Nov 18 19:07:55 2013 -0500
67024
67025 Merge branch 'pax-test' into grsec-test
67026
67027 commit d52f291621da9227cda5fd647e82dfe9bfc11265
67028 Author: Brad Spengler <spender@grsecurity.net>
67029 Date: Mon Nov 18 19:07:14 2013 -0500
67030
67031 Update to pax-linux-3.11.8-test14.patch:
67032 - fixed a gcc-4.6 crash caused by a recent change in the latent entropy plugin, reported by Marko Randjelovic and mckinney (http://forums.grsecurity.net/viewtopic.php?f=3&t=3878)
67033
67034 mm/page_alloc.c | 2 +-
67035 tools/gcc/latent_entropy_plugin.c | 34 ++++++++++++++++++++++++----------
67036 2 files changed, 25 insertions(+), 11 deletions(-)
67037
67038 commit b2b99c6972e345565d561b722de210f071e5e259
67039 Author: Brad Spengler <spender@grsecurity.net>
67040 Date: Thu Nov 14 20:47:37 2013 -0500
67041
67042 Upstream commit: 0e033e04c2678dbbe74a46b23fffb7bb918c288e
67043
67044 ipv6: fix headroom calculation in udp6_ufo_fragment
67045 Commit 1e2bd517c108816220f262d7954b697af03b5f9c ("udp6: Fix udp
67046 fragmentation for tunnel traffic.") changed the calculation if
67047 there is enough space to include a fragment header in the skb from a
67048 skb->mac_header dervived one to skb_headroom. Because we already peeled
67049 off the skb to transport_header this is wrong. Change this back to check
67050 if we have enough room before the mac_header.
67051
67052 This fixes a panic Saran Neti reported. He used the tbf scheduler which
67053 skb_gso_segments the skb. The offsets get negative and we panic in memcpy
67054 because the skb was erroneously not expanded at the head.
67055
67056 Reported-by: Saran Neti <Saran.Neti@telus.com>
67057 Cc: Pravin B Shelar <pshelar@nicira.com>
67058 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
67059 Signed-off-by: David S. Miller <davem@davemloft.net>
67060
67061 net/ipv6/udp_offload.c | 2 +-
67062 1 files changed, 1 insertions(+), 1 deletions(-)
67063
67064 commit 012ee7647e16f464f8d1ad004e28eac2ba778158
67065 Author: Dan Carpenter <dan.carpenter@oracle.com>
67066 Date: Thu Nov 14 11:21:10 2013 +0300
67067
67068 Upstream commit: f9a23c84486ed350cce7bb1b2828abd1f6658796
67069
67070 isdnloop: use strlcpy() instead of strcpy()
67071
67072 These strings come from a copy_from_user() and there is no way to be
67073 sure they are NUL terminated.
67074
67075 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67076 Signed-off-by: David S. Miller <davem@davemloft.net>
67077
67078 drivers/isdn/isdnloop/isdnloop.c | 8 +++++---
67079 1 files changed, 5 insertions(+), 3 deletions(-)
67080
67081 commit 2a897c9870257c3cd6dd17ec6ff453331dc71a4f
67082 Author: Eric Dumazet <edumazet@google.com>
67083 Date: Thu Nov 14 13:37:54 2013 -0800
67084
67085 Upstream commit: c9e9042994d37cbc1ee538c500e9da1bb9d1bcdf
67086
67087 ipv4: fix possible seqlock deadlock
67088
67089 ip4_datagram_connect() being called from process context,
67090 it should use IP_INC_STATS() instead of IP_INC_STATS_BH()
67091 otherwise we can deadlock on 32bit arches, or get corruptions of
67092 SNMP counters.
67093
67094 Fixes: 584bdf8cbdf6 ("[IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP")
67095 Signed-off-by: Eric Dumazet <edumazet@google.com>
67096 Reported-by: Dave Jones <davej@redhat.com>
67097 Signed-off-by: David S. Miller <davem@davemloft.net>
67098
67099 net/ipv4/datagram.c | 2 +-
67100 1 files changed, 1 insertions(+), 1 deletions(-)
67101
67102 commit 1a642170613ae336331f2df38aa8f2c1227d3c96
67103 Merge: 60c6423 84d78c7
67104 Author: Brad Spengler <spender@grsecurity.net>
67105 Date: Thu Nov 14 20:28:51 2013 -0500
67106
67107 Merge branch 'pax-test' into grsec-test
67108
67109 commit 84d78c7b2f5d1517e8c9d5ef2ca178c90e80a730
67110 Author: Brad Spengler <spender@grsecurity.net>
67111 Date: Thu Nov 14 20:28:07 2013 -0500
67112
67113 Update to pax-linux-3.11.8-test13.patch:
67114 - forward port to 3.11.8
67115 - removed some no longer used code from bpf jit
67116 - fixed some atomic_unchecked_t usage in oprofile and uio
67117 - fixed a few incorrect uses of static local variables based on an analysis plugin written by Emese Revfy
67118
67119 arch/x86/include/asm/mmu_context.h | 8 ++++++++
67120 arch/x86/kernel/setup.c | 2 +-
67121 drivers/bluetooth/btwilink.c | 2 +-
67122 drivers/md/dm-table.c | 2 +-
67123 drivers/message/i2o/i2o_proc.c | 16 ++++++++--------
67124 drivers/mfd/max8925-i2c.c | 2 +-
67125 drivers/mfd/tps65910.c | 2 +-
67126 drivers/mtd/chips/cfi_cmdset_0020.c | 2 +-
67127 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
67128 .../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 2 +-
67129 drivers/net/wireless/airo.c | 2 +-
67130 drivers/net/wireless/b43/phy_lp.c | 2 +-
67131 drivers/nfc/nfcwilink.c | 2 +-
67132 drivers/oprofile/oprofilefs.c | 4 ++--
67133 drivers/platform/x86/msi-wmi.c | 2 +-
67134 drivers/scsi/aic7xxx/aic79xx_pci.c | 18 +++++-------------
67135 drivers/scsi/mpt2sas/mpt2sas_scsih.c | 8 ++++----
67136 drivers/usb/serial/console.c | 2 +-
67137 include/linux/filter.h | 4 ----
67138 kernel/audit.c | 2 +-
67139 20 files changed, 41 insertions(+), 45 deletions(-)
67140
67141 commit 60c642339ceb814688d1fdfa9bf3f9bc4cd0a38c
67142 Author: Brad Spengler <spender@grsecurity.net>
67143 Date: Thu Nov 14 20:15:51 2013 -0500
67144
67145 GRKERNSEC_HARDEN_IPC should depend on SYSVIPC
67146
67147 grsecurity/Kconfig | 1 +
67148 1 files changed, 1 insertions(+), 0 deletions(-)
67149
67150 commit a5bc567fc9cea02e7e0146d4d25bbc25d9903f43
67151 Author: Brad Spengler <spender@grsecurity.net>
67152 Date: Thu Nov 14 19:07:11 2013 -0500
67153
67154 Not necessary since CPU_V6 is the only bool that would select CPU_USE_DOMAINS
67155 and that depended on !PAX_KERNEXEC && !PAX_MEMORY_UDEREF, but this helps
67156 make it more obvious that while we make use of domains, CPU_USE_DOMAINS is
67157 disabled as far as the kernel knows
67158
67159 arch/arm/mm/Kconfig | 2 +-
67160 1 files changed, 1 insertions(+), 1 deletions(-)
67161
67162 commit a2568c19e361c8599fb9bb0a58ba758f5cb40dba
67163 Author: Brad Spengler <spender@grsecurity.net>
67164 Date: Thu Nov 14 19:01:59 2013 -0500
67165
67166 Add a new feature: GRKERNSEC_HARDEN_IPC in response to Tim Brown's research
67167 on overly-permissive shared memory found in hundreds of areas in Linux
67168 distros:
67169 http://labs.portcullis.co.uk/whitepapers/memory-squatting-attacks-on-system-v-shared-memory/
67170
67171 Will let this sit in -test for a while to weed out any app incompatibilities
67172
67173 grsecurity/Kconfig | 17 +++++++++++++++++
67174 grsecurity/Makefile | 2 +-
67175 grsecurity/grsec_init.c | 4 ++++
67176 grsecurity/grsec_ipc.c | 22 ++++++++++++++++++++++
67177 grsecurity/grsec_sysctl.c | 9 +++++++++
67178 include/linux/grinternal.h | 1 +
67179 include/linux/grmsg.h | 1 +
67180 ipc/util.c | 5 +++++
67181 8 files changed, 60 insertions(+), 1 deletions(-)
67182
67183 commit 27c3b43bd5ad9c9b877016f26192dbc30da54018
67184 Merge: 08e883f d0a09ad
67185 Author: Brad Spengler <spender@grsecurity.net>
67186 Date: Wed Nov 13 22:27:13 2013 -0500
67187
67188 Merge branch 'pax-test' into grsec-test
67189
67190 commit d0a09ad6430008135b98da6e1941e98a6110b59e
67191 Merge: 4e826ac 02709ef
67192 Author: Brad Spengler <spender@grsecurity.net>
67193 Date: Wed Nov 13 22:27:03 2013 -0500
67194
67195 Merge branch 'linux-3.11.y' into pax-test
67196
67197 commit 08e883f3159b541ec8b2740a4b3f35fb25629fd1
67198 Author: Brad Spengler <spender@grsecurity.net>
67199 Date: Mon Nov 11 10:48:10 2013 -0500
67200
67201 Fix the overflowable range check just to be correct.
67202 Referenced in http://www.x90c.org/advisories/xadv-2013003_linux_kernel.txt
67203 but I believe this to be unexploitable due to bounds checks on 'count'
67204 from rw_verify_area() in fs/read_write.c
67205
67206 drivers/video/arcfb.c | 2 +-
67207 1 files changed, 1 insertions(+), 1 deletions(-)
67208
67209 commit 094c08532f9877a287ffac7a87b05841a56b4e5d
67210 Author: Brad Spengler <spender@grsecurity.net>
67211 Date: Sun Nov 10 22:01:33 2013 -0500
67212
67213 Add missing include
67214
67215 fs/proc/proc_sysctl.c | 1 +
67216 1 files changed, 1 insertions(+), 0 deletions(-)
67217
67218 commit e383790f8252620f52895e202cc057c4318da3f4
67219 Author: Brad Spengler <spender@grsecurity.net>
67220 Date: Sun Nov 10 17:50:12 2013 -0500
67221
67222 add an option to handle old ARM userlands to properly toggle the KUSER_HELPERS
67223 option: GRKERNSEC_OLD_ARM_USERLAND
67224
67225 arch/arm/mm/Kconfig | 2 +-
67226 grsecurity/Kconfig | 14 ++++++++++++++
67227 2 files changed, 15 insertions(+), 1 deletions(-)
67228
67229 commit 9b2775742dbcfcc004f02e5cc6bed6dcd9d73d26
67230 Author: Brad Spengler <spender@grsecurity.net>
67231 Date: Sun Nov 10 15:19:27 2013 -0500
67232
67233 On ARM (and other arches) we were defaulting mmap_min_addr to 64K if the LSM-based mmap_min_addr
67234 was disabled in config. This caused non-root execs to fail in some cases (via SIGKILL during ELF
67235 loading). Fix this by setting a proper default on these architectures like set on the LSM-based
67236 mmap_min_addr.
67237
67238 Thanks to acez from IRC for debugging.
67239
67240 mm/Kconfig | 1 +
67241 1 files changed, 1 insertions(+), 0 deletions(-)
67242
67243 commit 17f832897194f46c4759aa02e048ad5623a04eed
67244 Author: Brad Spengler <spender@grsecurity.net>
67245 Date: Sun Nov 10 13:54:25 2013 -0500
67246
67247 Compatibility fix for LXC:
67248 Don't require CAP_SYS_ADMIN to modify our own net namespace's sysctl values,
67249 use a CAP_NET_ADMIN check within the user namespace of the process performing the modification
67250 CAP_SYS_ADMIN is still required for any other sysctl modification, including modification
67251 of sysctls of a net namespace other than our own
67252
67253 This allows for LXC containers to not need CAP_SYS_ADMIN to be able to set up their namespace's
67254 networking
67255
67256 Thanks to ncopa from IRC for testing
67257
67258 fs/proc/proc_sysctl.c | 9 +++++++--
67259 1 files changed, 7 insertions(+), 2 deletions(-)
67260
67261 commit b374a895f9ecfccbf3c8536a5a1a51b359a66a20
67262 Merge: fb281bd 4e826ac
67263 Author: Brad Spengler <spender@grsecurity.net>
67264 Date: Wed Nov 6 17:27:16 2013 -0500
67265
67266 Merge branch 'pax-test' into grsec-test
67267
67268 Conflicts:
67269 net/l2tp/l2tp_core.c
67270
67271 commit 4e826ac763867707352d93b7d23ed86e4c6829cf
67272 Merge: e309bfb 39773be
67273 Author: Brad Spengler <spender@grsecurity.net>
67274 Date: Wed Nov 6 17:26:23 2013 -0500
67275
67276 Merge branch 'linux-3.11.y' into pax-test
67277
67278 Conflicts:
67279 net/compat.c
67280
67281 commit fb281bdee5ccb76facfe1172318a867b624011f4
67282 Author: Brad Spengler <spender@grsecurity.net>
67283 Date: Wed Nov 6 16:23:36 2013 -0500
67284
67285 Force on DEBUG_LIST so all users can benefit from safe linking/unlinking
67286
67287 Conflicts:
67288
67289 security/Kconfig
67290
67291 security/Kconfig | 1 +
67292 1 files changed, 1 insertions(+), 0 deletions(-)
67293
67294 commit e249a2a0ee333a6ec0234de20d17670fe0d2b64a
67295 Author: Brad Spengler <spender@grsecurity.net>
67296 Date: Wed Nov 6 16:19:21 2013 -0500
67297
67298 change DEBUG_LIST WARNs back to BUGs so they can benefit from the kernel
67299 bruteforce deterrence
67300
67301 Conflicts:
67302
67303 lib/list_debug.c
67304
67305 lib/list_debug.c | 65 ++++++++++++++++++++++++++++++++++-------------------
67306 1 files changed, 42 insertions(+), 23 deletions(-)
67307
67308 commit 61f8b4eb5c8b11ff11d28372a44d6e0f3b9b68ba
67309 Author: Dan Carpenter <dan.carpenter@oracle.com>
67310 Date: Tue Oct 29 23:01:43 2013 +0300
67311
67312 Upstream commit: a8b33654b1e3b0c74d4a1fed041c9aae50b3c427
67313
67314 Staging: sb105x: info leak in mp_get_count()
67315
67316 The icount.reserved[] array isn't initialized so it leaks stack
67317 information to userspace.
67318
67319 Reported-by: Nico Golde <nico@ngolde.de>
67320 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
67321 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67322 Cc: stable@kernel.org
67323 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67324
67325 drivers/staging/sb105x/sb_pci_mp.c | 2 +-
67326 1 files changed, 1 insertions(+), 1 deletions(-)
67327
67328 commit 731cf7d12aa699cc30c18e5fe25b8c72b97df3de
67329 Author: Dan Carpenter <dan.carpenter@oracle.com>
67330 Date: Tue Oct 29 22:06:04 2013 +0300
67331
67332 Upstream commit: 201f99f170df14ba52ea4c52847779042b7a623b
67333
67334 uml: check length in exitcode_proc_write()
67335
67336 We don't cap the size of buffer from the user so we could write past the
67337 end of the array here. Only root can write to this file.
67338
67339 Reported-by: Nico Golde <nico@ngolde.de>
67340 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
67341 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67342 Cc: stable@kernel.org
67343 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67344
67345 arch/um/kernel/exitcode.c | 4 +++-
67346 1 files changed, 3 insertions(+), 1 deletions(-)
67347
67348 commit 1285d10ec38f216f3c5de7ce085ce43447c78916
67349 Author: Jason Wang <jasowang@redhat.com>
67350 Date: Fri Nov 1 15:01:10 2013 +0800
67351
67352 Upstream commit: 6f092343855a71e03b8d209815d8c45bf3a27fcd
67353
67354 net: flow_dissector: fail on evil iph->ihl
67355
67356 We don't validate iph->ihl which may lead a dead loop if we meet a IPIP
67357 skb whose iph->ihl is zero. Fix this by failing immediately when iph->ihl
67358 is evil (less than 5).
67359
67360 This issue were introduced by commit ec5efe7946280d1e84603389a1030ccec0a767ae
67361 (rps: support IPIP encapsulation).
67362
67363 Cc: Eric Dumazet <edumazet@google.com>
67364 Cc: Petr Matousek <pmatouse@redhat.com>
67365 Cc: Michael S. Tsirkin <mst@redhat.com>
67366 Cc: Daniel Borkmann <dborkman@redhat.com>
67367 Signed-off-by: Jason Wang <jasowang@redhat.com>
67368 Acked-by: Eric Dumazet <edumazet@google.com>
67369 Signed-off-by: David S. Miller <davem@davemloft.net>
67370
67371 net/core/flow_dissector.c | 2 +-
67372 1 files changed, 1 insertions(+), 1 deletions(-)
67373
67374 commit 3afa8cd39a80620059d7de6c382c853afe1ab4cc
67375 Author: Ming Lei <ming.lei@canonical.com>
67376 Date: Thu Oct 31 16:34:17 2013 -0700
67377
67378 Upstream commit: 3d77b50c5874b7e923be946ba793644f82336b75
67379
67380 lib/scatterlist.c: don't flush_kernel_dcache_page on slab page
67381
67382 Commit b1adaf65ba03 ("[SCSI] block: add sg buffer copy helper
67383 functions") introduces two sg buffer copy helpers, and calls
67384 flush_kernel_dcache_page() on pages in SG list after these pages are
67385 written to.
67386
67387 Unfortunately, the commit may introduce a potential bug:
67388
67389 - Before sending some SCSI commands, kmalloc() buffer may be passed to
67390 block layper, so flush_kernel_dcache_page() can see a slab page
67391 finally
67392
67393 - According to cachetlb.txt, flush_kernel_dcache_page() is only called
67394 on "a user page", which surely can't be a slab page.
67395
67396 - ARCH's implementation of flush_kernel_dcache_page() may use page
67397 mapping information to do optimization so page_mapping() will see the
67398 slab page, then VM_BUG_ON() is triggered.
67399
67400 Aaro Koskinen reported the bug on ARM/kirkwood when DEBUG_VM is enabled,
67401 and this patch fixes the bug by adding test of '!PageSlab(miter->page)'
67402 before calling flush_kernel_dcache_page().
67403
67404 Signed-off-by: Ming Lei <ming.lei@canonical.com>
67405 Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
67406 Tested-by: Simon Baatz <gmbnomis@gmail.com>
67407 Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
67408 Cc: Will Deacon <will.deacon@arm.com>
67409 Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
67410 Acked-by: Catalin Marinas <catalin.marinas@arm.com>
67411 Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
67412 Cc: Tejun Heo <tj@kernel.org>
67413 Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
67414 Cc: Jens Axboe <axboe@kernel.dk>
67415 Cc: <stable@vger.kernel.org> [3.2+]
67416 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
67417 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67418
67419 lib/scatterlist.c | 3 ++-
67420 1 files changed, 2 insertions(+), 1 deletions(-)
67421
67422 commit 54a2d1367d37e6ff23e91e81e8a293f6db3572c4
67423 Author: Dan Carpenter <dan.carpenter@oracle.com>
67424 Date: Tue Oct 29 23:01:11 2013 +0300
67425
67426 Upstream commit: 8d1e72250c847fa96498ec029891de4dc638a5ba
67427
67428 Staging: bcm: info leak in ioctl
67429
67430 The DevInfo.u32Reserved[] array isn't initialized so it leaks kernel
67431 information to user space.
67432
67433 Reported-by: Nico Golde <nico@ngolde.de>
67434 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
67435 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67436 Cc: stable@kernel.org
67437 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67438
67439 drivers/staging/bcm/Bcmchar.c | 1 +
67440 1 files changed, 1 insertions(+), 0 deletions(-)
67441
67442 commit a2ab9d69265a08280241a2f2152e535316d02f53
67443 Author: Dan Carpenter <dan.carpenter@oracle.com>
67444 Date: Tue Oct 29 22:11:06 2013 +0300
67445
67446 Upstream commit: f856567b930dfcdbc3323261bf77240ccdde01f5
67447
67448 aacraid: missing capable() check in compat ioctl
67449
67450 In commit d496f94d22d1 ('[SCSI] aacraid: fix security weakness') we
67451 added a check on CAP_SYS_RAWIO to the ioctl. The compat ioctls need the
67452 check as well.
67453
67454 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67455 Cc: stable@kernel.org
67456 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67457
67458 drivers/scsi/aacraid/linit.c | 2 ++
67459 1 files changed, 2 insertions(+), 0 deletions(-)
67460
67461 commit 45be53b2583e3c3d9eb0bad55f22e03ad7943b3e
67462 Author: Dan Carpenter <dan.carpenter@oracle.com>
67463 Date: Tue Oct 29 23:00:15 2013 +0300
67464
67465 Upstream commit: b5e2f339865fb443107e5b10603e53bbc92dc054
67466
67467 staging: wlags49_h2: buffer overflow setting station name
67468
67469 We need to check the length parameter before doing the memcpy(). I've
67470 actually changed it to strlcpy() as well so that it's NUL terminated.
67471
67472 You need CAP_NET_ADMIN to trigger these so it's not the end of the
67473 world.
67474
67475 Reported-by: Nico Golde <nico@ngolde.de>
67476 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
67477 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67478 Cc: stable@kernel.org
67479 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67480
67481 drivers/staging/wlags49_h2/wl_priv.c | 9 ++++++---
67482 1 files changed, 6 insertions(+), 3 deletions(-)
67483
67484 commit afd645c1684265260b64ec8189cbc2703b91f6ab
67485 Author: Dan Carpenter <dan.carpenter@oracle.com>
67486 Date: Tue Oct 29 22:07:47 2013 +0300
67487
67488 Upstream commit: c2c65cd2e14ada6de44cb527e7f1990bede24e15
67489
67490 staging: ozwpan: prevent overflow in oz_cdev_write()
67491
67492 We need to check "count" so we don't overflow the ei->data buffer.
67493
67494 Reported-by: Nico Golde <nico@ngolde.de>
67495 Reported-by: Fabian Yamaguchi <fabs@goesec.de>
67496 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67497 Cc: stable@kernel.org
67498 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67499
67500 drivers/staging/ozwpan/ozcdev.c | 3 +++
67501 1 files changed, 3 insertions(+), 0 deletions(-)
67502
67503 commit 4a907baeb462b7e0f50923be5a9d842aec93c97a
67504 Author: Linus Torvalds <torvalds@linux-foundation.org>
67505 Date: Tue Oct 29 10:21:34 2013 -0700
67506
67507 Fixed a little differently than Linus...
67508
67509 Obfuscated upstream security commit: 7314e613d5ff9f0934f7a0f74ed7973b903315d1
67510
67511 Fix a few incorrectly checked [io_]remap_pfn_range() calls
67512
67513 Nico Golde reports a few straggling uses of [io_]remap_pfn_range() that
67514 really should use the vm_iomap_memory() helper. This trivially converts
67515 two of them to the helper, and comments about why the third one really
67516 needs to continue to use remap_pfn_range(), and adds the missing size
67517 check.
67518
67519 Reported-by: Nico Golde <nico@ngolde.de>
67520 Cc: stable@kernel.org
67521 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org.
67522
67523 Conflicts:
67524
67525 drivers/uio/uio.c
67526
67527 drivers/uio/uio.c | 19 +++++++++++++++++--
67528 drivers/video/au1100fb.c | 26 +-------------------------
67529 drivers/video/au1200fb.c | 23 +----------------------
67530 3 files changed, 19 insertions(+), 49 deletions(-)
67531
67532 commit e68e94ddd03cf81d875b30a5e7b0e1bb4682e61f
67533 Merge: 0970b16 e309bfb
67534 Author: Brad Spengler <spender@grsecurity.net>
67535 Date: Sun Oct 27 15:17:05 2013 -0400
67536
67537 Merge branch 'pax-test' into grsec-test
67538
67539 commit e309bfbf7b506b2294b30233f7a3299173a75cf7
67540 Author: Hugh Dickins <hughd@google.com>
67541 Date: Wed Oct 16 13:47:09 2013 -0700
67542
67543 Upstream commit: 57a8f0cdb87da776bf0e4ce7554a9133854fa779
67544
67545 mm: revert mremap pud_free anti-fix
67546
67547 Revert commit 1ecfd533f4c5 ("mm/mremap.c: call pud_free() after fail
67548 calling pmd_alloc()").
67549
67550 The original code was correct: pud_alloc(), pmd_alloc(), pte_alloc_map()
67551 ensure that the pud, pmd, pt is already allocated, and seldom do they
67552 need to allocate; on failure, upper levels are freed if appropriate by
67553 the subsequent do_munmap(). Whereas commit 1ecfd533f4c5 did an
67554 unconditional pud_free() of a most-likely still-in-use pud: saved only
67555 by the near-impossiblity of pmd_alloc() failing.
67556
67557 Signed-off-by: Hugh Dickins <hughd@google.com>
67558 Cc: Chen Gang <gang.chen@asianux.com>
67559 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
67560 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67561
67562 mm/mremap.c | 5 +----
67563 1 files changed, 1 insertions(+), 4 deletions(-)
67564
67565 commit 0970b16a9df08b8cca6929b6443f67df432ac3e5
67566 Author: Eric Dumazet <edumazet@google.com>
67567 Date: Tue Oct 1 21:04:11 2013 -0700
67568
67569 Upstream commit: 80ad1d61e72d626e30ebe8529a0455e660ca4693
67570
67571 net: do not call sock_put() on TIMEWAIT sockets
67572
67573 commit 3ab5aee7fe84 ("net: Convert TCP & DCCP hash tables to use RCU /
67574 hlist_nulls") incorrectly used sock_put() on TIMEWAIT sockets.
67575
67576 We should instead use inet_twsk_put()
67577
67578 Signed-off-by: Eric Dumazet <edumazet@google.com>
67579 Signed-off-by: David S. Miller <davem@davemloft.net>
67580
67581 net/ipv4/inet_hashtables.c | 2 +-
67582 net/ipv6/inet6_hashtables.c | 2 +-
67583 2 files changed, 2 insertions(+), 2 deletions(-)
67584
67585 commit ed0c9c47bc3468ad88b45b8ec55d0ad335214d28
67586 Author: Andi Kleen <ak@linux.intel.com>
67587 Date: Mon Sep 30 13:29:08 2013 -0700
67588
67589 Upstream commit: 58e4e1f6cacddb7823c44bcfb272174553f6c645
67590
67591 igb: Avoid uninitialized advertised variable in eee_set_cur
67592
67593 eee_get_cur assumes that the output data is already zeroed. It can
67594 read-modify-write the advertised field:
67595
67596 if (ipcnfg & E1000_IPCNFG_EEE_100M_AN)
67597 2594 edata->advertised |= ADVERTISED_100baseT_Full;
67598
67599 This is ok for the normal ethtool eee_get call, which always
67600 zeroes the input data before.
67601
67602 But eee_set_cur also calls eee_get_cur and it did not zero the input
67603 field. Later on it then compares agsinst the field, which can contain partial
67604 stack garbage.
67605
67606 Zero the input field in eee_set_cur() too.
67607
67608 Cc: jeffrey.t.kirsher@intel.com
67609 Cc: netdev@vger.kernel.org
67610 Signed-off-by: Andi Kleen <ak@linux.intel.com>
67611 Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
67612 Signed-off-by: David S. Miller <davem@davemloft.net>
67613
67614 drivers/net/ethernet/intel/igb/igb_ethtool.c | 2 ++
67615 1 files changed, 2 insertions(+), 0 deletions(-)
67616
67617 commit 651730a8caabce37f78d8e6c84283b96e434d19f
67618 Author: Dan Carpenter <dan.carpenter@oracle.com>
67619 Date: Thu Oct 3 00:27:20 2013 +0300
67620
67621 Upstream commit: 1661bf364ae9c506bc8795fef70d1532931be1e8
67622
67623 net: heap overflow in __audit_sockaddr()
67624
67625 We need to cap ->msg_namelen or it leads to a buffer overflow when we
67626 to the memcpy() in __audit_sockaddr(). It requires CAP_AUDIT_CONTROL to
67627 exploit this bug.
67628
67629 The call tree is:
67630 ___sys_recvmsg()
67631 move_addr_to_user()
67632 audit_sockaddr()
67633 __audit_sockaddr()
67634
67635 Reported-by: Jüri Aedla <juri.aedla@gmail.com>
67636 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67637 Signed-off-by: David S. Miller <davem@davemloft.net>
67638
67639 Conflicts:
67640
67641 net/compat.c
67642
67643 net/compat.c | 2 ++
67644 net/socket.c | 24 ++++++++++++++++++++----
67645 2 files changed, 22 insertions(+), 4 deletions(-)
67646
67647 commit b52e008aa27ecec1ca4a2d92ffe2fe874c47fcfc
67648 Author: Salva Peiró <speiro@ai2.upv.es>
67649 Date: Wed Oct 16 12:46:50 2013 +0200
67650
67651 Upstream commit: 2b13d06c9584b4eb773f1e80bbaedab9a1c344e1
67652
67653 wanxl: fix info leak in ioctl
67654
67655 The wanxl_ioctl() code fails to initialize the two padding bytes of
67656 struct sync_serial_settings after the ->loopback member. Add an explicit
67657 memset(0) before filling the structure to avoid the info leak.
67658
67659 Signed-off-by: Salva Peiró <speiro@ai2.upv.es>
67660 Signed-off-by: David S. Miller <davem@davemloft.net>
67661
67662 drivers/net/wan/wanxl.c | 1 +
67663 1 files changed, 1 insertions(+), 0 deletions(-)
67664
67665 commit d7e5b4f97fbdd06c03433939efe0e444d877ab4f
67666 Author: Geyslan G. Bem <geyslan@gmail.com>
67667 Date: Fri Oct 11 16:49:16 2013 -0300
67668
67669 Upstream commit: 3edc8376c06133e3386265a824869cad03a4efd4
67670
67671 ecryptfs: Fix memory leakage in keystore.c
67672
67673 In 'decrypt_pki_encrypted_session_key' function:
67674
67675 Initializes 'payload' pointer and releases it on exit.
67676
67677 Signed-off-by: Geyslan G. Bem <geyslan@gmail.com>
67678 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
67679 Cc: stable@vger.kernel.org # v2.6.28+
67680
67681 fs/ecryptfs/keystore.c | 3 ++-
67682 1 files changed, 2 insertions(+), 1 deletions(-)
67683
67684 commit 0ccb7b191245318a36bbd1f59a1846dda72cb738
67685 Author: Colin Ian King <colin.king@canonical.com>
67686 Date: Thu Oct 24 14:08:07 2013 +0000
67687
67688 Upstream commit: 43b7c6c6a4e3916edd186ceb61be0c67d1e0969e
67689
67690 eCryptfs: fix 32 bit corruption issue
67691
67692 Shifting page->index on 32 bit systems was overflowing, causing
67693 data corruption of > 4GB files. Fix this by casting it first.
67694
67695 https://launchpad.net/bugs/1243636
67696
67697 Signed-off-by: Colin Ian King <colin.king@canonical.com>
67698 Reported-by: Lars Duesing <lars.duesing@camelotsweb.de>
67699 Cc: stable@vger.kernel.org # v3.11+
67700 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
67701
67702 fs/ecryptfs/crypto.c | 2 +-
67703 1 files changed, 1 insertions(+), 1 deletions(-)
67704
67705 commit eeb8d56181a3fa3cdfbc106156d4f60cf3a386d4
67706 Author: Brad Spengler <spender@grsecurity.net>
67707 Date: Sun Oct 27 13:29:49 2013 -0400
67708
67709 This is a replacement patch only for stable which does fix the problems
67710 handled by the following two commits in -net:
67711
67712 "ip_output: do skb ufo init for peeked non ufo skb as well" (e93b7d748be887cd7639b113ba7d7ef792a7efb9)
67713 "ip6_output: do skb ufo init for peeked non ufo skb as well" (c547dbf55d5f8cf615ccc0e7265e98db27d3fb8b)
67714
67715 Three frames are written on a corked udp socket for which the output
67716 netdevice has UFO enabled. If the first and third frame are smaller than
67717 the mtu and the second one is bigger, we enqueue the second frame with
67718 skb_append_datato_frags without initializing the gso fields. This leads
67719 to the third frame appended regulary and thus constructing an invalid skb.
67720
67721 This fixes the problem by always using skb_append_datato_frags as soon
67722 as the first frag got enqueued to the skb without marking the packet
67723 as SKB_GSO_UDP.
67724
67725 The problem with only two frames for ipv6 was fixed by "ipv6: udp
67726 packets following an UFO enqueued packet need also be handled by UFO"
67727 (2811ebac2521ceac84f2bdae402455baa6a7fb47).
67728
67729 Cc: Jiri Pirko <jiri@resnulli.us>
67730 Cc: Eric Dumazet <eric.dumazet@gmail.com>
67731 Cc: David Miller <davem@davemloft.net>
67732 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
67733
67734 include/linux/skbuff.h | 5 +++++
67735 net/ipv4/ip_output.c | 2 +-
67736 net/ipv6/ip6_output.c | 2 +-
67737 3 files changed, 7 insertions(+), 2 deletions(-)
67738
67739 commit aead8ff29424c6a5d25eb4614be91a01f9f6af00
67740 Merge: 5cf8361 ddadc82
67741 Author: Brad Spengler <spender@grsecurity.net>
67742 Date: Sat Oct 26 08:42:26 2013 -0400
67743
67744 Merge branch 'pax-test' into grsec-test
67745
67746 Conflicts:
67747 security/Kconfig
67748
67749 commit ddadc822a1de40d3992a5c58ca2f970b5fee57ec
67750 Author: Brad Spengler <spender@grsecurity.net>
67751 Date: Sat Oct 26 08:41:24 2013 -0400
67752
67753 - fixed miscompilation caused by a kernexec plugin related change in copy_user_generic, by Timo Teräs <timo.teras@iki.f> and Natanael Copa <ncopa@alpinelinux.org> (https://github.com/ncopa/linux-stable-grsec/commit/b8bf456d13988fb38cfe248676327f44a2d2ed2e)
67754 - updated config help for latent entropy to reflect recent changes
67755
67756 arch/x86/include/asm/uaccess_64.h | 4 ++--
67757 security/Kconfig | 6 +++---
67758 2 files changed, 5 insertions(+), 5 deletions(-)
67759
67760 commit 5cf8361c2a7762aa1cdd3d75655361058ad451ad
67761 Author: Johannes Weiner <hannes@cmpxchg.org>
67762 Date: Wed Oct 16 13:47:00 2013 -0700
67763
67764 Upstream commit: 84235de394d9775bfaa7fa9762a59d91fef0c1fc
67765
67766 fs: buffer: move allocation failure loop into the allocator
67767
67768 Buffer allocation has a very crude indefinite loop around waking the
67769 flusher threads and performing global NOFS direct reclaim because it can
67770 not handle allocation failures.
67771
67772 The most immediate problem with this is that the allocation may fail due
67773 to a memory cgroup limit, where flushers + direct reclaim might not make
67774 any progress towards resolving the situation at all. Because unlike the
67775 global case, a memory cgroup may not have any cache at all, only
67776 anonymous pages but no swap. This situation will lead to a reclaim
67777 livelock with insane IO from waking the flushers and thrashing unrelated
67778 filesystem cache in a tight loop.
67779
67780 Use __GFP_NOFAIL allocations for buffers for now. This makes sure that
67781 any looping happens in the page allocator, which knows how to
67782 orchestrate kswapd, direct reclaim, and the flushers sensibly. It also
67783 allows memory cgroups to detect allocations that can't handle failure
67784 and will allow them to ultimately bypass the limit if reclaim can not
67785 make progress.
67786
67787 Reported-by: azurIt <azurit@pobox.sk>
67788 Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
67789 Cc: Michal Hocko <mhocko@suse.cz>
67790 Cc: <stable@kernel.org>
67791 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
67792 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67793
67794 fs/buffer.c | 14 ++++++++++++--
67795 mm/memcontrol.c | 2 ++
67796 2 files changed, 14 insertions(+), 2 deletions(-)
67797
67798 commit 799326c8683d8d70b2035b1e5ab913c159112b6b
67799 Author: Miklos Szeredi <mszeredi@suse.cz>
67800 Date: Thu Oct 10 16:48:19 2013 +0200
67801
67802 Upstream commit: 43ae9e3fc70ca0057ae0a24ef5eedff05e3fae06
67803
67804 ext[34]: fix double put in tmpfile
67805
67806 d_tmpfile() already swallowed the inode ref.
67807
67808 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
67809 Cc: stable@vger.kernel.org
67810 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
67811
67812 fs/ext3/namei.c | 5 ++---
67813 fs/ext4/namei.c | 5 ++---
67814 2 files changed, 4 insertions(+), 6 deletions(-)
67815
67816 commit 799651db9a3b5b08eac1de0ee05f406df7a9a2e3
67817 Author: Jan Klos <honza.klos@gmail.com>
67818 Date: Sun Oct 6 21:08:20 2013 +0200
67819
67820 Upstream commit: 2f6c9479633780ba4a3484bba7eba5a721a5cf20
67821
67822 cifs: Fix inability to write files >2GB to SMB2/3 shares
67823
67824 When connecting to SMB2/3 shares, maximum file size is set to non-LFS maximum in superblock. This is due to cap_large_files bit being different for SMB1 and SMB2/3 (where it is just an internal flag that is not negotiated and the SMB1 one corresponds to multichannel capability, so maybe LFS works correctly if server sends 0x08 flag) while capabilities are checked always for the SMB1 bit in cifs_read_super().
67825
67826 The patch fixes this by checking for the correct bit according to the protocol version.
67827
67828 CC: Stable <stable@kernel.org>
67829 Signed-off-by: Jan Klos <honza.klos@gmail.com>
67830 Reviewed-by: Jeff Layton <jlayton@redhat.com>
67831 Signed-off-by: Steve French <smfrench@gmail.com>
67832
67833 fs/cifs/cifsfs.c | 6 ++++--
67834 1 files changed, 4 insertions(+), 2 deletions(-)
67835
67836 commit 549fe4c5bb5e67cb1351bb09455b1d77abe5ab22
67837 Author: Tim Gardner <tim.gardner@canonical.com>
67838 Date: Sun Oct 13 13:29:03 2013 -0600
67839
67840 Upstream commit: 0c26606cbe4937f2228a27bb0c2cad19855be87a
67841
67842 cifs: ntstatus_to_dos_map[] is not terminated
67843
67844 Functions that walk the ntstatus_to_dos_map[] array could
67845 run off the end. For example, ntstatus_to_dos() loops
67846 while ntstatus_to_dos_map[].ntstatus is not 0. Granted,
67847 this is mostly theoretical, but could be used as a DOS attack
67848 if the error code in the SMB header is bogus.
67849
67850 [Might consider adding to stable, as this patch is low risk - Steve]
67851
67852 Reviewed-by: Jeff Layton <jlayton@redhat.com>
67853 Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
67854 Signed-off-by: Steve French <smfrench@gmail.com>
67855
67856 fs/cifs/netmisc.c | 4 +++-
67857 1 files changed, 3 insertions(+), 1 deletions(-)
67858
67859 commit ed8c09a96fa260e1864c632e1dd91b1320876305
67860 Author: Eric Dumazet <edumazet@google.com>
67861 Date: Tue Oct 15 11:54:30 2013 -0700
67862
67863 Upstream commit: c52e2421f7368fd36cbe330d2cf41b10452e39a9
67864
67865 tcp: must unclone packets before mangling them
67866
67867 TCP stack should make sure it owns skbs before mangling them.
67868
67869 We had various crashes using bnx2x, and it turned out gso_size
67870 was cleared right before bnx2x driver was populating TC descriptor
67871 of the _previous_ packet send. TCP stack can sometime retransmit
67872 packets that are still in Qdisc.
67873
67874 Of course we could make bnx2x driver more robust (using
67875 ACCESS_ONCE(shinfo->gso_size) for example), but the bug is TCP stack.
67876
67877 We have identified two points where skb_unclone() was needed.
67878
67879 This patch adds a WARN_ON_ONCE() to warn us if we missed another
67880 fix of this kind.
67881
67882 Kudos to Neal for finding the root cause of this bug. Its visible
67883 using small MSS.
67884
67885 Signed-off-by: Eric Dumazet <edumazet@google.com>
67886 Signed-off-by: Neal Cardwell <ncardwell@google.com>
67887 Cc: Yuchung Cheng <ycheng@google.com>
67888 Signed-off-by: David S. Miller <davem@davemloft.net>
67889
67890 net/ipv4/tcp_output.c | 9 ++++++---
67891 1 files changed, 6 insertions(+), 3 deletions(-)
67892
67893 commit e5dcf1772ca2a85952da10a21d0650507dc061d3
67894 Author: Dan Carpenter <dan.carpenter@oracle.com>
67895 Date: Mon Oct 14 15:28:38 2013 +0300
67896
67897 Upstream commit: 9e5f1721907fcfbd4b575bcafa0314188f7330a5
67898
67899 yam: integer underflow in yam_ioctl()
67900
67901 We cap bitrate at YAM_MAXBITRATE in yam_ioctl(), but it could also be
67902 negative. I don't know the impact of using a negative bitrate but let's
67903 prevent it.
67904
67905 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
67906 Signed-off-by: David S. Miller <davem@davemloft.net>
67907
67908 include/linux/yam.h | 2 +-
67909 1 files changed, 1 insertions(+), 1 deletions(-)
67910
67911 commit 1f5d72d633f317248bba25158c326a61394aebf2
67912 Merge: 7ca4328 4df1b96
67913 Author: Brad Spengler <spender@grsecurity.net>
67914 Date: Fri Oct 18 19:36:17 2013 -0400
67915
67916 Merge branch 'pax-test' into grsec-test
67917
67918 Conflicts:
67919 ipc/shm.c
67920
67921 commit 4df1b965687831808af2548487e0f35a2ccc5c29
67922 Merge: e41125e 5070441
67923 Author: Brad Spengler <spender@grsecurity.net>
67924 Date: Fri Oct 18 19:35:31 2013 -0400
67925
67926 Merge branch 'linux-3.11.y' into pax-test
67927
67928 Conflicts:
67929 arch/x86/kernel/setup.c
67930
67931 commit 7ca43282302f7777ca3ae48d2552dbd0a6cef525
67932 Author: Brad Spengler <spender@grsecurity.net>
67933 Date: Wed Oct 16 18:35:00 2013 -0400
67934
67935 From: Mathias Krause <minipli@googlemail.com>
67936 To: Evgeniy Polyakov <zbr@ioremap.net>
67937 Cc: Mathias Krause <minipli@googlemail.com>, netdev@vger.kernel.org
67938 Subject: [PATCH 2/4] connector: use nlmsg_len() to check message length
67939
67940 The current code tests the length of the whole netlink message to be
67941 at least as long to fit a cn_msg. This is wrong as nlmsg_len includes
67942 the length of the netlink message header. Use nlmsg_len() instead to
67943 fix this "off-by-NLMSG_HDRLEN" size check.
67944
67945 Cc: stable@vger.kernel.org # v2.6.14+
67946 Signed-off-by: Mathias Krause <minipli@googlemail.com>
67947
67948 drivers/connector/connector.c | 7 ++++---
67949 1 files changed, 4 insertions(+), 3 deletions(-)
67950
67951 commit 6c495f94e2f002ed19fb8e265e2746fd6ee08489
67952 Author: Brad Spengler <spender@grsecurity.net>
67953 Date: Wed Oct 16 18:36:25 2013 -0400
67954
67955 From: Mathias Krause <minipli@googlemail.com>
67956 To: linux-audit@redhat.com
67957 Cc: Mathias Krause <minipli@googlemail.com>, Al Viro <viro@zeniv.linux.org.uk>, Eric Paris <eparis@redhat.com>
67958 Subject: [PATCH 1/2] audit: fix info leak in AUDIT_GET requests
67959
67960 We leak 4 bytes of kernel stack in response to an AUDIT_GET request as
67961 we miss to initialize the mask member of status_set. Fix that.
67962
67963 Cc: Al Viro <viro@zeniv.linux.org.uk>
67964 Cc: Eric Paris <eparis@redhat.com>
67965 Cc: stable@vger.kernel.org # v2.6.6+
67966 Signed-off-by: Mathias Krause <minipli@googlemail.com>
67967
67968 kernel/audit.c | 1 +
67969 1 files changed, 1 insertions(+), 0 deletions(-)
67970
67971 commit 9557a8727fd46e68f092dec0830a982e85b231f7
67972 Author: Brad Spengler <spender@grsecurity.net>
67973 Date: Wed Oct 16 19:02:32 2013 -0400
67974
67975 add 2nd chunk of audit nlmsg_len() fix from minipli
67976
67977 kernel/audit.c | 2 +-
67978 1 files changed, 1 insertions(+), 1 deletions(-)
67979
67980 commit ceb5f8bae05f3321af941eddb9d2bbe264e0d2cd
67981 Author: Brad Spengler <spender@grsecurity.net>
67982 Date: Wed Oct 16 18:37:59 2013 -0400
67983
67984 From: Mathias Krause <minipli@googlemail.com>
67985 To: linux-audit@redhat.com
67986 Cc: Mathias Krause <minipli@googlemail.com>, Al Viro <viro@zeniv.linux.org.uk>, Eric Paris <eparis@redhat.com>
67987 Subject: [PATCH 2/2] audit: use nlmsg_len() to get message payload length
67988
67989 Using the nlmsg_len member of the netlink header to test if the message
67990 is valid is wrong as it includes the size of the netlink header itself.
67991 Thereby allowing to send short netlink messages that pass those checks.
67992
67993 Use nlmsg_len() instead to test for the right message length. The result
67994 of nlmsg_len() is guaranteed to be non-negative as the netlink message
67995 already passed the checks of nlmsg_ok().
67996
67997 Also switch to min_t() to please checkpatch.pl.
67998
67999 Cc: Al Viro <viro@zeniv.linux.org.uk>
68000 Cc: Eric Paris <eparis@redhat.com>
68001 Cc: stable@vger.kernel.org # v2.6.6+ for the 1st hunk, v2.6.23+ for the 2nd
68002
68003 kernel/audit.c | 2 +-
68004 1 files changed, 1 insertions(+), 1 deletions(-)
68005
68006 commit 7547b29750381c776dfd47f4b1277a492d5b0f72
68007 Author: Brad Spengler <spender@grsecurity.net>
68008 Date: Wed Oct 16 18:41:01 2013 -0400
68009
68010 From: Mathias Krause <minipli@googlemail.com>
68011 To: netfilter-devel@vger.kernel.org
68012 Cc: Mathias Krause <minipli@googlemail.com>, Pablo Neira Ayuso <pablo@netfilter.org>, Patrick McHardy <kaber@trash.net>, Jozsef Kadlecsik
68013 <kadlec@blackhole.kfki.hu>, Bart De Schuymer <bart.de.schuymer@pandora.be>
68014 Subject: [PATCH 1/2] netfilter: ebt_ulog: fix info leaks
68015
68016 The ulog messages leak heap bytes by the means of padding bytes and
68017 incompletely filled string arrays. Fix those by memset(0)'ing the
68018 whole struct before filling it.
68019
68020 Cc: Bart De Schuymer <bart.de.schuymer@pandora.be>
68021 Signed-off-by: Mathias Krause <minipli@googlemail.com>
68022
68023 Conflicts:
68024
68025 net/bridge/netfilter/ebt_ulog.c
68026
68027 net/bridge/netfilter/ebt_ulog.c | 9 +++------
68028 1 files changed, 3 insertions(+), 6 deletions(-)
68029
68030 commit c1da6a5ba1b529d70214142de4eaa7f1b9d62528
68031 Author: Brad Spengler <spender@grsecurity.net>
68032 Date: Wed Oct 16 18:43:01 2013 -0400
68033
68034 From: Mathias Krause <minipli@googlemail.com>
68035 To: netfilter-devel@vger.kernel.org
68036 Cc: Mathias Krause <minipli@googlemail.com>, Pablo Neira Ayuso <pablo@netfilter.org>, Patrick McHardy <kaber@trash.net>, Jozsef Kadlecsik
68037 <kadlec@blackhole.kfki.hu>
68038 Subject: [PATCH 2/2] netfilter: ipt_ULOG: fix info leaks
68039
68040 The ulog messages leak heap bytes by the means of padding bytes and
68041 incompletely filled string arrays. Fix those by memset(0)'ing the
68042 whole struct before filling it.
68043
68044 Cc: Pablo Neira Ayuso <pablo@netfilter.org>
68045 Cc: Patrick McHardy <kaber@trash.net>
68046 Cc: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
68047 Signed-off-by: Mathias Krause <minipli@googlemail.com>
68048
68049 Conflicts:
68050
68051 net/ipv4/netfilter/ipt_ULOG.c
68052
68053 net/ipv4/netfilter/ipt_ULOG.c | 7 +------
68054 1 files changed, 1 insertions(+), 6 deletions(-)
68055
68056 commit 2965f6e6122325a18e69296ad3817c66ca59b7e3
68057 Author: Brad Spengler <spender@grsecurity.net>
68058 Date: Wed Oct 16 18:49:45 2013 -0400
68059
68060 From: Mathias Krause <minipli@googlemail.com>
68061 To: "David S. Miller" <davem@davemloft.net>
68062 Cc: Mathias Krause <minipli@googlemail.com>, netdev@vger.kernel.org
68063 Subject: [PATCH net] unix_diag: fix info leak
68064
68065 When filling the netlink message we miss to wipe the pad field,
68066 therefore leak one byte of heap memory to userland. Fix this by
68067 setting pad to 0.
68068
68069 Signed-off-by: Mathias Krause <minipli@googlemail.com>
68070
68071 net/unix/diag.c | 1 +
68072 1 files changed, 1 insertions(+), 0 deletions(-)
68073
68074 commit c6bc48165dc213ad8b24fbd872d5c01deb4508bc
68075 Author: Mathias Krause <minipli@googlemail.com>
68076 Date: Mon Sep 30 22:03:06 2013 +0200
68077
68078 Upstream commit: e727ca82e0e9616ab4844301e6bae60ca7327682
68079
68080 proc connector: fix info leaks
68081
68082 Initialize event_data for all possible message types to prevent leaking
68083 kernel stack contents to userland (up to 20 bytes). Also set the flags
68084 member of the connector message to 0 to prevent leaking two more stack
68085 bytes this way.
68086
68087 Cc: stable@vger.kernel.org # v2.6.15+
68088 Signed-off-by: Mathias Krause <minipli@googlemail.com>
68089 Signed-off-by: David S. Miller <davem@davemloft.net>
68090
68091 drivers/connector/cn_proc.c | 18 ++++++++++++++++++
68092 1 files changed, 18 insertions(+), 0 deletions(-)
68093
68094 commit 6398c8e93f1f8fcf80ae2f024a8cca9ea84ccd04
68095 Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
68096 Date: Wed Oct 9 15:58:29 2013 +0100
68097
68098 Upstream commit: 3c1532df5c1b54b5f6246cdef94eeb73a39fe43a
68099
68100 ARM: 7851/1: check for number of arguments in syscall_get/set_arguments()
68101
68102 In ftrace_syscall_enter(),
68103 syscall_get_arguments(..., 0, n, ...)
68104 if (i == 0) { <handle ORIG_r0> ...; n--;}
68105 memcpy(..., n * sizeof(args[0]));
68106 If 'number of arguments(n)' is zero and 'argument index(i)' is also zero in
68107 syscall_get_arguments(), none of arguments should be copied by memcpy().
68108 Otherwise 'n--' can be a big positive number and unexpected amount of data
68109 will be copied. Tracing system calls which take no argument, say sync(void),
68110 may hit this case and eventually make the system corrupted.
68111 This patch fixes the issue both in syscall_get_arguments() and
68112 syscall_set_arguments().
68113
68114 Cc: <stable@vger.kernel.org>
68115 Acked-by: Will Deacon <will.deacon@arm.com>
68116 Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
68117 Signed-off-by: Will Deacon <will.deacon@arm.com>
68118 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
68119
68120 arch/arm/include/asm/syscall.h | 6 ++++++
68121 1 files changed, 6 insertions(+), 0 deletions(-)
68122
68123 commit c062c6b6774efea3e8b21dc5262f8bf9b34609c2
68124 Author: Dave Jones <davej@redhat.com>
68125 Date: Thu Oct 10 20:05:35 2013 -0400
68126
68127 Upstream commit: 6e4ea8e33b2057b85d75175dd89b93f5e26de3bc
68128
68129 ext4: fix memory leak in xattr
68130
68131 If we take the 2nd retry path in ext4_expand_extra_isize_ea, we
68132 potentionally return from the function without having freed these
68133 allocations. If we don't do the return, we over-write the previous
68134 allocation pointers, so we leak either way.
68135
68136 Spotted with Coverity.
68137
68138 [ Fixed by tytso to set is and bs to NULL after freeing these
68139 pointers, in case in the retry loop we later end up triggering an
68140 error causing a jump to cleanup, at which point we could have a double
68141 free bug. -- Ted ]
68142
68143 Signed-off-by: Dave Jones <davej@fedoraproject.org>
68144 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
68145 Reviewed-by: Eric Sandeen <sandeen@redhat.com>
68146 Cc: stable@vger.kernel.org
68147
68148 fs/ext4/xattr.c | 2 ++
68149 1 files changed, 2 insertions(+), 0 deletions(-)
68150
68151 commit 224e55268fbd4f81fca479e315c9483df591411d
68152 Author: Salva Peiró <speiro@ai2.upv.es>
68153 Date: Fri Oct 11 12:50:03 2013 +0300
68154
68155 Upstream commit: 96b340406724d87e4621284ebac5e059d67b2194
68156
68157 farsync: fix info leak in ioctl
68158
68159 The fst_get_iface() code fails to initialize the two padding bytes of
68160 struct sync_serial_settings after the ->loopback member. Add an explicit
68161 memset(0) before filling the structure to avoid the info leak.
68162
68163 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
68164 Signed-off-by: David S. Miller <davem@davemloft.net>
68165
68166 drivers/net/wan/farsync.c | 1 +
68167 1 files changed, 1 insertions(+), 0 deletions(-)
68168
68169 commit 2df2f7f9ca7c383331795980a56a2f47a0d0dfd9
68170 Author: James Hogan <james.hogan@imgtec.com>
68171 Date: Mon Oct 7 12:14:26 2013 +0100
68172
68173 Upstream commit: 8b3c569a3999a8fd5a819f892525ab5520777c92
68174
68175 MIPS: stack protector: Fix per-task canary switch
68176
68177 Commit 1400eb6 (MIPS: r4k,octeon,r2300: stack protector: change canary
68178 per task) was merged in v3.11 and introduced assembly in the MIPS resume
68179 functions to update the value of the current canary in
68180 __stack_chk_guard. However it used PTR_L resulting in a load of the
68181 canary value, instead of PTR_LA to construct its address. The value is
68182 intended to be random but is then treated as an address in the
68183 subsequent LONG_S (store).
68184
68185 This was observed to cause a fault and panic:
68186
68187 CPU 0 Unable to handle kernel paging request at virtual address 139fea20, epc == 8000cc0c, ra == 8034f2a4
68188 Oops[#1]:
68189 ...
68190 $24 : 139fea20 1e1f7cb6
68191 ...
68192 Call Trace:
68193 [<8000cc0c>] resume+0xac/0x118
68194 [<8034f2a4>] __schedule+0x5f8/0x78c
68195 [<8034f4e0>] schedule_preempt_disabled+0x20/0x2c
68196 [<80348eec>] rest_init+0x74/0x84
68197 [<804dc990>] start_kernel+0x43c/0x454
68198 Code: 3c18804b 8f184030 8cb901f8 <af190000> 00c0e021 8cb002f0 8cb102f4 8cb202f8 8cb302fc
68199
68200 This can also be forced by modifying
68201 arch/mips/include/asm/stackprotector.h so that the default
68202 __stack_chk_guard value is more likely to be a bad (or unaligned)
68203 pointer.
68204
68205 Fix it to use PTR_LA instead, to load the address of the canary value,
68206 which the LONG_S can then use to write into it.
68207
68208 Reported-by: bobjones (via #mipslinux on IRC)
68209 Signed-off-by: James Hogan <james.hogan@imgtec.com>
68210 Cc: Ralf Baechle <ralf@linux-mips.org>
68211 Cc: Gregory Fong <gregory.0xf0@gmail.com>
68212 Cc: linux-mips@linux-mips.org
68213 Cc: stable@vger.kernel.org
68214 Patchwork: https://patchwork.linux-mips.org/patch/6026/
68215 Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
68216
68217 arch/mips/kernel/octeon_switch.S | 2 +-
68218 arch/mips/kernel/r2300_switch.S | 2 +-
68219 arch/mips/kernel/r4k_switch.S | 2 +-
68220 3 files changed, 3 insertions(+), 3 deletions(-)
68221
68222 commit 4541f6c6871c1cffa3637ccbc817a37d6f093d1c
68223 Author: Fan Du <fan.du@windriver.com>
68224 Date: Tue Sep 17 15:14:13 2013 +0800
68225
68226 Upstream commit: 33fce60d6a6e137035f8e23a89d7fd55f3a24cda
68227
68228 xfrm: Guard IPsec anti replay window against replay bitmap
68229
68230 For legacy IPsec anti replay mechanism:
68231
68232 bitmap in struct xfrm_replay_state could only provide a 32 bits
68233 window size limit in current design, thus user level parameter
68234 sadb_sa_replay should honor this limit, otherwise misleading
68235 outputs("replay=244") by setkey -D will be:
68236
68237 192.168.25.2 192.168.22.2
68238 esp mode=transport spi=147561170(0x08cb9ad2) reqid=0(0x00000000)
68239 E: aes-cbc 9a8d7468 7655cf0b 719d27be b0ddaac2
68240 A: hmac-sha1 2d2115c2 ebf7c126 1c54f186 3b139b58 264a7331
68241 seq=0x00000000 replay=244 flags=0x00000000 state=mature
68242 created: Sep 17 14:00:00 2013 current: Sep 17 14:00:22 2013
68243 diff: 22(s) hard: 30(s) soft: 26(s)
68244 last: Sep 17 14:00:00 2013 hard: 0(s) soft: 0(s)
68245 current: 1408(bytes) hard: 0(bytes) soft: 0(bytes)
68246 allocated: 22 hard: 0 soft: 0
68247 sadb_seq=1 pid=4854 refcnt=0
68248 192.168.22.2 192.168.25.2
68249 esp mode=transport spi=255302123(0x0f3799eb) reqid=0(0x00000000)
68250 E: aes-cbc 6485d990 f61a6bd5 e5660252 608ad282
68251 A: hmac-sha1 0cca811a eb4fa893 c47ae56c 98f6e413 87379a88
68252 seq=0x00000000 replay=244 flags=0x00000000 state=mature
68253 created: Sep 17 14:00:00 2013 current: Sep 17 14:00:22 2013
68254 diff: 22(s) hard: 30(s) soft: 26(s)
68255 last: Sep 17 14:00:00 2013 hard: 0(s) soft: 0(s)
68256 current: 1408(bytes) hard: 0(bytes) soft: 0(bytes)
68257 allocated: 22 hard: 0 soft: 0
68258 sadb_seq=0 pid=4854 refcnt=0
68259
68260 And also, optimizing xfrm_replay_check window checking by setting the
68261 desirable x->props.replay_window with only doing the comparison once
68262 for all when xfrm_state is first born.
68263
68264 Signed-off-by: Fan Du <fan.du@windriver.com>
68265 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
68266
68267 net/key/af_key.c | 3 ++-
68268 net/xfrm/xfrm_replay.c | 3 +--
68269 net/xfrm/xfrm_user.c | 3 ++-
68270 3 files changed, 5 insertions(+), 4 deletions(-)
68271
68272 commit 3853002f1fb21ca8e23784e9eaeb971eaebc7541
68273 Author: Thomas Egerer <thomas.egerer@secunet.com>
68274 Date: Thu Sep 19 13:19:19 2013 +0200
68275
68276 Upstream commit: cd808fc9a6c7cd3a4311d9d2cffc4adbeaef5f6c
68277
68278 xfrm: Fix aevent generation for each received packet
68279
68280 If asynchronous events are enabled for a particular netlink socket,
68281 the notify function is called by the advance function. The notify
68282 function creates and dispatches a km_event if a replay timeout occurred,
68283 or at least replay_maxdiff packets have been received since the last
68284 asynchronous event has been sent. The function is supposed to return if
68285 neither of the two events were detected for a state, or replay_maxdiff
68286 is equal to zero.
68287 Replay_maxdiff is initialized in xfrm_state_construct to the value of
68288 the xfrm.sysctl_aevent_rseqth (2 by default), and updated if for a state
68289 if the netlink attribute XFRMA_REPLAY_THRESH is set.
68290 If, however, replay_maxdiff is set to zero, then all of the three notify
68291 implementations perform a break from the switch statement instead of
68292 checking whether a timeout occurred, and -- if not -- return. As a
68293 result an asynchronous event is generated for every replay update of a
68294 state that has a zero replay_maxdiff value.
68295 This patch modifies the notify functions such that they immediately
68296 return if replay_maxdiff has the value zero, unless a timeout occurred.
68297
68298 Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
68299 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
68300
68301 net/xfrm/xfrm_replay.c | 51 +++++++++++++++++++++++++----------------------
68302 1 files changed, 27 insertions(+), 24 deletions(-)
68303
68304 commit dafbbf04fb91cc92c049dcf7cabcc92fd5d29cb8
68305 Author: Steffen Klassert <steffen.klassert@secunet.com>
68306 Date: Tue Oct 8 10:49:45 2013 +0200
68307
68308 Upstream commit: e7d8f6cb2f8735693396872f4608bbe305e8baee
68309
68310 xfrm: Add refcount handling to queued policies
68311
68312 We need to ensure that policies can't go away as long as the hold timer
68313 is armed, so take a refcont when we arm the timer and drop one if we
68314 delete it.
68315
68316 Bug was introduced with git commit a0073fe18 ("xfrm: Add a state
68317 resolution packet queue")
68318
68319 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
68320
68321 net/xfrm/xfrm_policy.c | 24 +++++++++++++++++-------
68322 1 files changed, 17 insertions(+), 7 deletions(-)
68323
68324 commit b4948dc963442682534b3a039664b564c764e4f8
68325 Author: Steffen Klassert <steffen.klassert@secunet.com>
68326 Date: Tue Oct 8 10:49:51 2013 +0200
68327
68328 Upstream commit: 2bb53e2557964c2c5368a0392cf3b3b63a288cd0
68329
68330 xfrm: check for a vaild skb in xfrm_policy_queue_process
68331
68332 We might dreference a NULL pointer if the hold_queue is empty,
68333 so add a check to avoid this.
68334
68335 Bug was introduced with git commit a0073fe18 ("xfrm: Add a state
68336 resolution packet queue")
68337
68338 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
68339
68340 net/xfrm/xfrm_policy.c | 4 ++++
68341 1 files changed, 4 insertions(+), 0 deletions(-)
68342
68343 commit fad7f264b264b0b17a307aa16162cb43c7688a30
68344 Author: Marc Kleine-Budde <mkl@pengutronix.de>
68345 Date: Mon Oct 7 23:19:58 2013 +0200
68346
68347 Upstream commit: c33a39c575068c2ea9bffb22fd6de2df19c74b89
68348
68349 net: vlan: fix nlmsg size calculation in vlan_get_size()
68350
68351 This patch fixes the calculation of the nlmsg size, by adding the missing
68352 nla_total_size().
68353
68354 Cc: Patrick McHardy <kaber@trash.net>
68355 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
68356 Signed-off-by: David S. Miller <davem@davemloft.net>
68357
68358 net/8021q/vlan_netlink.c | 2 +-
68359 1 files changed, 1 insertions(+), 1 deletions(-)
68360
68361 commit 675e5611464fe6b4d41e7d8ba56ed845286b28dd
68362 Author: François Cachereul <f.cachereul@alphalink.fr>
68363 Date: Wed Oct 2 10:16:02 2013 +0200
68364
68365 Upstream commit: e18503f41f9b12132c95d7c31ca6ee5155e44e5c
68366
68367 l2tp: fix kernel panic when using IPv4-mapped IPv6 addresses
68368
68369 IPv4 mapped addresses cause kernel panic.
68370 The patch juste check whether the IPv6 address is an IPv4 mapped
68371 address. If so, use IPv4 API instead of IPv6.
68372
68373 [ 940.026915] general protection fault: 0000 [#1]
68374 [ 940.026915] Modules linked in: l2tp_ppp l2tp_netlink l2tp_core pppox ppp_generic slhc loop psmouse
68375 [ 940.026915] CPU: 0 PID: 3184 Comm: memcheck-amd64- Not tainted 3.11.0+ #1
68376 [ 940.026915] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
68377 [ 940.026915] task: ffff880007130e20 ti: ffff88000737e000 task.ti: ffff88000737e000
68378 [ 940.026915] RIP: 0010:[<ffffffff81333780>] [<ffffffff81333780>] ip6_xmit+0x276/0x326
68379 [ 940.026915] RSP: 0018:ffff88000737fd28 EFLAGS: 00010286
68380 [ 940.026915] RAX: c748521a75ceff48 RBX: ffff880000c30800 RCX: 0000000000000000
68381 [ 940.026915] RDX: ffff88000075cc4e RSI: 0000000000000028 RDI: ffff8800060e5a40
68382 [ 940.026915] RBP: ffff8800060e5a40 R08: 0000000000000000 R09: ffff88000075cc90
68383 [ 940.026915] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88000737fda0
68384 [ 940.026915] R13: 0000000000000000 R14: 0000000000002000 R15: ffff880005d3b580
68385 [ 940.026915] FS: 00007f163dc5e800(0000) GS:ffffffff81623000(0000) knlGS:0000000000000000
68386 [ 940.026915] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
68387 [ 940.026915] CR2: 00000004032dc940 CR3: 0000000005c25000 CR4: 00000000000006f0
68388 [ 940.026915] Stack:
68389 [ 940.026915] ffff88000075cc4e ffffffff81694e90 ffff880000c30b38 0000000000000020
68390 [ 940.026915] 11000000523c4bac ffff88000737fdb4 0000000000000000 ffff880000c30800
68391 [ 940.026915] ffff880005d3b580 ffff880000c30b38 ffff8800060e5a40 0000000000000020
68392 [ 940.026915] Call Trace:
68393 [ 940.026915] [<ffffffff81356cc3>] ? inet6_csk_xmit+0xa4/0xc4
68394 [ 940.026915] [<ffffffffa0038535>] ? l2tp_xmit_skb+0x503/0x55a [l2tp_core]
68395 [ 940.026915] [<ffffffff812b8d3b>] ? pskb_expand_head+0x161/0x214
68396 [ 940.026915] [<ffffffffa003e91d>] ? pppol2tp_xmit+0xf2/0x143 [l2tp_ppp]
68397 [ 940.026915] [<ffffffffa00292e0>] ? ppp_channel_push+0x36/0x8b [ppp_generic]
68398 [ 940.026915] [<ffffffffa00293fe>] ? ppp_write+0xaf/0xc5 [ppp_generic]
68399 [ 940.026915] [<ffffffff8110ead4>] ? vfs_write+0xa2/0x106
68400 [ 940.026915] [<ffffffff8110edd6>] ? SyS_write+0x56/0x8a
68401 [ 940.026915] [<ffffffff81378ac0>] ? system_call_fastpath+0x16/0x1b
68402 [ 940.026915] Code: 00 49 8b 8f d8 00 00 00 66 83 7c 11 02 00 74 60 49
68403 8b 47 58 48 83 e0 fe 48 8b 80 18 01 00 00 48 85 c0 74 13 48 8b 80 78 02
68404 00 00 <48> ff 40 28 41 8b 57 68 48 01 50 30 48 8b 54 24 08 49 c7 c1 51
68405 [ 940.026915] RIP [<ffffffff81333780>] ip6_xmit+0x276/0x326
68406 [ 940.026915] RSP <ffff88000737fd28>
68407 [ 940.057945] ---[ end trace be8aba9a61c8b7f3 ]---
68408 [ 940.058583] Kernel panic - not syncing: Fatal exception in interrupt
68409
68410 Signed-off-by: François CACHEREUL <f.cachereul@alphalink.fr>
68411 Signed-off-by: David S. Miller <davem@davemloft.net>
68412
68413 net/l2tp/l2tp_core.c | 27 +++++++++++++++++++++++----
68414 net/l2tp/l2tp_core.h | 3 +++
68415 2 files changed, 26 insertions(+), 4 deletions(-)
68416
68417 commit 2db6fe58460d400bc8b995fa2328be03e27e55e1
68418 Merge: 28f9622 e41125e
68419 Author: Brad Spengler <spender@grsecurity.net>
68420 Date: Tue Oct 15 10:00:52 2013 -0400
68421
68422 Merge branch 'pax-test' into grsec-test
68423
68424 Conflicts:
68425 arch/sparc/kernel/ds.c
68426 net/sysctl_net.c
68427
68428 commit e41125e4742f332cd8cd8cf0c00cb189dba0e037
68429 Merge: 740e5ec a145cb9
68430 Author: Brad Spengler <spender@grsecurity.net>
68431 Date: Tue Oct 15 09:58:29 2013 -0400
68432
68433 Merge branch 'linux-3.11.y' into pax-test
68434
68435 commit 28f9622091224541efadf3ae006f0e5651c7fa45
68436 Author: Brad Spengler <spender@grsecurity.net>
68437 Date: Tue Oct 1 22:48:34 2013 -0400
68438
68439 Fix this strlcpy crap properly
68440
68441 arch/sparc/kernel/ds.c | 7 +++----
68442 1 files changed, 3 insertions(+), 4 deletions(-)
68443
68444 commit 837193210e4125fe4e9e554b28d7bc33985f3554
68445 Author: David S. Miller <davem@davemloft.net>
68446 Date: Fri Sep 27 13:46:04 2013 -0700
68447
68448 Upstream commit: 2bd161a605f1f84a5fc8a4fe8410113a94f79355
68449
68450 sparc64: Fix buggy strlcpy() conversion in ldom_reboot().
68451
68452 Commit 117a0c5fc9c2d06045bd217385b2b39ea426b5a6 ("sparc: kernel: using
68453 strlcpy() instead of strcpy()") added a bug to ldom_reboot in
68454 arch/sparc/kernel/ds.c
68455
68456 - strcpy(full_boot_str + strlen("boot "), boot_command);
68457 + strlcpy(full_boot_str + strlen("boot "), boot_command,
68458 + sizeof(full_boot_str + strlen("boot ")));
68459
68460 That last sizeof() expression evaluates to sizeof(size_t) which is
68461 not what was intended.
68462
68463 Also even the corrected:
68464
68465 sizeof(full_boot_str) + strlen("boot ")
68466
68467 is not right as the destination buffer length is just plain
68468 "sizeof(full_boot_str)" and that's what the final argument
68469 should be.
68470
68471 Signed-off-by: David S. Miller <davem@davemloft.net>
68472
68473 arch/sparc/kernel/ds.c | 2 +-
68474 1 files changed, 1 insertions(+), 1 deletions(-)
68475
68476 commit fc25f7a8bc9f268e659f0265bcdb4dcac648c249
68477 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
68478 Date: Sun Sep 29 05:40:50 2013 +0200
68479
68480 Upstream commit: 3da812d860755925da890e8c713f2d2e2d7b1bae
68481
68482 ipv6: gre: correct calculation of max_headroom
68483
68484 gre_hlen already accounts for sizeof(struct ipv6_hdr) + gre header,
68485 so initialize max_headroom to zero. Otherwise the
68486
68487 if (encap_limit >= 0) {
68488 max_headroom += 8;
68489 mtu -= 8;
68490 }
68491
68492 increments an uninitialized variable before max_headroom was reset.
68493
68494 Found with coverity: 728539
68495
68496 Cc: Dmitry Kozlov <xeb@mail.ru>
68497 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
68498 Acked-by: Eric Dumazet <edumazet@google.com>
68499 Signed-off-by: David S. Miller <davem@davemloft.net>
68500
68501 Conflicts:
68502
68503 net/ipv6/ip6_gre.c
68504
68505 net/ipv6/ip6_gre.c | 4 ++--
68506 1 files changed, 2 insertions(+), 2 deletions(-)
68507
68508 commit 0d68ac550952d0eaf60851497ceee68dbba24516
68509 Merge: 64257ad 740e5ec
68510 Author: Brad Spengler <spender@grsecurity.net>
68511 Date: Tue Oct 1 18:11:52 2013 -0400
68512
68513 Merge branch 'pax-test' into grsec-test
68514
68515 Conflicts:
68516 drivers/hid/hid-core.c
68517 drivers/hid/hid-lg2ff.c
68518 drivers/hid/hid-lg3ff.c
68519 drivers/hid/hid-lg4ff.c
68520 drivers/hid/hid-lgff.c
68521 drivers/hid/hid-logitech-dj.c
68522 drivers/hid/hid-steelseries.c
68523 drivers/hid/hid-zpff.c
68524 include/linux/hid.h
68525
68526 commit 740e5ec087969afd43ae0b552b4e05914437ed32
68527 Merge: c38c6b0 db20388
68528 Author: Brad Spengler <spender@grsecurity.net>
68529 Date: Tue Oct 1 17:40:46 2013 -0400
68530
68531 Merge branch 'linux-3.11.y' into pax-test
68532
68533 commit 64257ad95c51285d415f93ebdd486fae6bb9415d
68534 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
68535 Date: Sat Sep 21 06:27:00 2013 +0200
68536
68537 Upstream commit: 2811ebac2521ceac84f2bdae402455baa6a7fb47
68538
68539 ipv6: udp packets following an UFO enqueued packet need also be handled by UFO
68540
68541 In the following scenario the socket is corked:
68542 If the first UDP packet is larger then the mtu we try to append it to the
68543 write queue via ip6_ufo_append_data. A following packet, which is smaller
68544 than the mtu would be appended to the already queued up gso-skb via
68545 plain ip6_append_data. This causes random memory corruptions.
68546
68547 In ip6_ufo_append_data we also have to be careful to not queue up the
68548 same skb multiple times. So setup the gso frame only when no first skb
68549 is available.
68550
68551 This also fixes a shortcoming where we add the current packet's length to
68552 cork->length but return early because of a packet > mtu with dontfrag set
68553 (instead of sutracting it again).
68554
68555 Found with trinity.
68556
68557 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
68558 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
68559 Reported-by: Dmitry Vyukov <dvyukov@google.com>
68560 Signed-off-by: David S. Miller <davem@davemloft.net>
68561
68562 net/ipv6/ip6_output.c | 53 ++++++++++++++++++++----------------------------
68563 1 files changed, 22 insertions(+), 31 deletions(-)
68564
68565 commit ee4ab63f6dfd57e8c5d67e1e154b86d1139937f6
68566 Author: Dan Carpenter <dan.carpenter@oracle.com>
68567 Date: Tue Sep 24 15:27:45 2013 -0700
68568
68569 Just a whitespace fix to sync with upstream as we already applied this fix
68570 via Vasiliy Kulikov in 2010. It fell through the cracks upstream
68571
68572 cciss: fix info leak in cciss_ioctl32_passthru()
68573
68574 The arg64 struct has a hole after ->buf_size which isn't cleared. Or if
68575 any of the calls to copy_from_user() fail then that would cause an
68576 information leak as well.
68577
68578 This was assigned CVE-2013-2147.
68579
68580 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
68581 Acked-by: Mike Miller <mike.miller@hp.com>
68582 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
68583 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
68584
68585 Conflicts:
68586
68587 drivers/block/cciss.c
68588
68589 drivers/block/cciss.c | 1 -
68590 1 files changed, 0 insertions(+), 1 deletions(-)
68591
68592 commit 2a5d630a83f5ddd2ab0ce9cb32a93ad3e1f6dc3e
68593 Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
68594 Date: Tue Sep 24 18:29:11 2013 -0700
68595
68596 Upstream commit: 22356f447ceb8d97a4885792e7d9e4607f712e1b
68597
68598 mm: Place preemption point in do_mlockall() loop
68599
68600 There is a loop in do_mlockall() that lacks a preemption point, which
68601 means that the following can happen on non-preemptible builds of the
68602 kernel. Dave Jones reports:
68603
68604 "My fuzz tester keeps hitting this. Every instance shows the non-irq
68605 stack came in from mlockall. I'm only seeing this on one box, but
68606 that has more ram (8gb) than my other machines, which might explain
68607 it.
68608
68609 INFO: rcu_preempt self-detected stall on CPU { 3} (t=6500 jiffies g=470344 c=470343 q=0)
68610 sending NMI to all CPUs:
68611 NMI backtrace for cpu 3
68612 CPU: 3 PID: 29664 Comm: trinity-child2 Not tainted 3.11.0-rc1+ #32
68613 Call Trace:
68614 lru_add_drain_all+0x15/0x20
68615 SyS_mlockall+0xa5/0x1a0
68616 tracesys+0xdd/0xe2"
68617
68618 This commit addresses this problem by inserting the required preemption
68619 point.
68620
68621 Reported-by: Dave Jones <davej@redhat.com>
68622 Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
68623 Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
68624 Cc: Michel Lespinasse <walken@google.com>
68625 Cc: Andrew Morton <akpm@linux-foundation.org>
68626 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
68627
68628 mm/mlock.c | 1 +
68629 1 files changed, 1 insertions(+), 0 deletions(-)
68630
68631 commit 042ecff756f1246abb9c84dd20ad9f6e9c429ed9
68632 Author: Brad Spengler <spender@grsecurity.net>
68633 Date: Fri Sep 27 21:06:17 2013 -0400
68634
68635 Don't log attempts to create a socket with a family that the kernel doesn't
68636 support
68637 Further, if the kernel doesn't support the socket family, instead of returning
68638 -EACCES, return -EAFNOSUPPORT -- should resolve the need to allow ipv6
68639 sockets in RBAC policy despite a kernel that doesn't support ipv6
68640 observed during a Debian userland update necessitating a policy change
68641
68642 grsecurity/gracl_ip.c | 7 +++----
68643 net/socket.c | 26 +++++++++++++++-----------
68644 2 files changed, 18 insertions(+), 15 deletions(-)
68645
68646 commit 55f1e409275973513a3314fe5bfa76a4781c0db7
68647 Merge: 2eac654 c38c6b0
68648 Author: Brad Spengler <spender@grsecurity.net>
68649 Date: Fri Sep 27 20:35:04 2013 -0400
68650
68651 Merge branch 'pax-test' into grsec-test
68652
68653 Conflicts:
68654 drivers/hid/hid-picolcd_core.c
68655
68656 commit c38c6b0bbbe53bd528aeeb4a059764abc028c276
68657 Merge: 115bf6a a3308b5
68658 Author: Brad Spengler <spender@grsecurity.net>
68659 Date: Fri Sep 27 20:34:15 2013 -0400
68660
68661 Merge branch 'linux-3.11.y' into pax-test
68662
68663 Conflicts:
68664 arch/x86/ia32/ia32_signal.c
68665 arch/x86/include/asm/checksum_32.h
68666 arch/x86/include/asm/mmu_context.h
68667 arch/x86/kernel/signal.c
68668 arch/x86/lib/csum-wrappers_64.c
68669 include/linux/compat.h
68670
68671 commit 2eac65435fdffca548a56e5187840908438fc95c
68672 Merge: ba0ebde 115bf6a
68673 Author: Brad Spengler <spender@grsecurity.net>
68674 Date: Thu Sep 26 20:00:00 2013 -0400
68675
68676 Merge branch 'pax-test' into grsec-test
68677
68678 commit 115bf6af0083ea28c751d551a39cfdba1798e9dc
68679 Author: Brad Spengler <spender@grsecurity.net>
68680 Date: Thu Sep 26 19:59:14 2013 -0400
68681
68682 Update to pax-linux-3.11.1-test10.patch:
68683 - added missing exports for module_alloc_exec/module_free_exec on arm, by Arnaud Fontaine
68684 - fixed potential .exit.text section reference problem with REFCOUNT on arm, reported by Corey Minyard
68685 - fixed REFCOUNT false positive in the new percpu refcount code, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=486040)
68686 - fixed an integer overflow in the ELF loader that happens to be harmless due to another overflow, found by Emese Revfy's new size overflow plugin (not yet released)
68687 - beefed up latent entropy extraction
68688 - latent_entropy itself will be initialized to a compile-time random value (instead of 0)
68689 - entropy will be collected from various irq and softirq handlers
68690
68691 arch/arm/kernel/module.c | 2 ++
68692 arch/arm/kernel/vmlinux.lds.S | 2 +-
68693 block/blk-iopoll.c | 2 +-
68694 block/blk-softirq.c | 2 +-
68695 fs/binfmt_elf.c | 8 +++++---
68696 include/linux/genhd.h | 2 +-
68697 include/linux/random.h | 4 ++--
68698 kernel/hrtimer.c | 2 +-
68699 kernel/rcutiny.c | 2 +-
68700 kernel/rcutree.c | 2 +-
68701 kernel/sched/fair.c | 2 +-
68702 kernel/softirq.c | 4 ++--
68703 kernel/timer.c | 2 +-
68704 lib/percpu-refcount.c | 2 +-
68705 net/core/dev.c | 4 ++--
68706 tools/gcc/latent_entropy_plugin.c | 2 +-
68707 16 files changed, 24 insertions(+), 20 deletions(-)
68708
68709 commit ba0ebdedeb2e128654dac48641bdc9d8b34530d6
68710 Author: Brad Spengler <spender@grsecurity.net>
68711 Date: Sun Sep 22 18:14:07 2013 -0400
68712
68713 Revert "Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db"
68714
68715 This reverts commit 7a430f97a2f6538693cb8e354c67c874f24c5ebf.
68716
68717 net/netlink/genetlink.c | 7 -------
68718 1 files changed, 0 insertions(+), 7 deletions(-)
68719
68720 commit ca27c99c4f2df039e21ec15c52824d84e2cd2f35
68721 Merge: f1e4228 90db383
68722 Author: Brad Spengler <spender@grsecurity.net>
68723 Date: Wed Sep 18 17:34:37 2013 -0400
68724
68725 Merge branch 'pax-test' into grsec-test
68726
68727 commit 90db383fd7d650172d52229b0116ad7604c9bec1
68728 Author: Brad Spengler <spender@grsecurity.net>
68729 Date: Wed Sep 18 17:32:42 2013 -0400
68730
68731 Update to pax-linux-3.11.1-test9.patch:
68732 - fixed some arm compile regressions, reported by Arnaud Ebalard and Michael Tremer
68733 - better implementation of __read_only for modules
68734 - fixed a regression and an apparently needed kuser emulation on arm, reported by Arnaud Ebalard
68735
68736 arch/arm/kernel/entry-common.S | 12 ++++++------
68737 arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 ++--
68738 arch/arm/mm/fault.c | 26 +++++++++++++++++++++++++-
68739 arch/x86/include/asm/cache.h | 4 ----
68740 drivers/bus/arm-cci.c | 2 +-
68741 drivers/clk/socfpga/clk.c | 2 +-
68742 drivers/mmc/host/mmci.c | 4 +++-
68743 drivers/net/ethernet/chelsio/cxgb3/sge.c | 2 +-
68744 include/linux/cache.h | 4 ++++
68745 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
68746 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
68747 scripts/module-common.lds | 4 ++++
68748 12 files changed, 49 insertions(+), 19 deletions(-)
68749
68750 commit 43fd6b476981f2b72f1fcb7dd4de6b04643e0810
68751 Author: Brad Spengler <spender@grsecurity.net>
68752 Date: Wed Sep 18 17:32:25 2013 -0400
68753
68754 Revert "mark sctp_af_inet forward declaration as __read_only to fix compile error"
68755
68756 This reverts commit 5e30989102e2d0df166ab6ff915b90f675f8786f.
68757
68758 net/sctp/protocol.c | 2 +-
68759 1 files changed, 1 insertions(+), 1 deletions(-)
68760
68761 commit f1e42285e17479067b6cbcffc43916720e6dedd3
68762 Merge: 456ca17 5e30989
68763 Author: Brad Spengler <spender@grsecurity.net>
68764 Date: Mon Sep 16 21:42:34 2013 -0400
68765
68766 Merge branch 'pax-test' into grsec-test
68767
68768 commit 5e30989102e2d0df166ab6ff915b90f675f8786f
68769 Author: Brad Spengler <spender@grsecurity.net>
68770 Date: Mon Sep 16 21:41:44 2013 -0400
68771
68772 mark sctp_af_inet forward declaration as __read_only to fix compile error
68773
68774 net/sctp/protocol.c | 2 +-
68775 1 files changed, 1 insertions(+), 1 deletions(-)
68776
68777 commit 456ca176141f10355c1569b29225c9ce4b7db18e
68778 Merge: b406eac 5df8f36
68779 Author: Brad Spengler <spender@grsecurity.net>
68780 Date: Mon Sep 16 20:02:05 2013 -0400
68781
68782 Merge branch 'pax-test' into grsec-test
68783
68784 commit 5df8f36fbb39fbd47e04945001d11e52c16fc0b6
68785 Author: Brad Spengler <spender@grsecurity.net>
68786 Date: Mon Sep 16 20:01:38 2013 -0400
68787
68788 Update to pax-linux-3.11.1-test7.patch:
68789 - fixed arm compile error, reported by Arnaud Ebalard
68790 - fixed NULL deref due to some xfrm constification, reported by marcin1j (http://forums.grsecurity.net/viewtopic.php?f=3&t=3743)
68791 - fixed od_ops constification, fixes cpufreq ondemand on AMD
68792 - latent entropy will now be gathered from module init code as well (i.e., at module load/init time)
68793 - __read_only will now be enforced in modules as well
68794 - removed unneccessary __read_only from ntfs
68795
68796 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
68797 arch/x86/include/asm/cache.h | 4 ++++
68798 drivers/cpufreq/cpufreq_governor.h | 2 +-
68799 drivers/cpufreq/cpufreq_ondemand.c | 2 +-
68800 fs/ntfs/file.c | 4 ++--
68801 include/linux/init.h | 5 -----
68802 include/net/xfrm.h | 5 ++++-
68803 init/main.c | 9 +++------
68804 mm/page_alloc.c | 1 +
68805 net/ipv4/xfrm4_policy.c | 4 ++--
68806 net/ipv6/xfrm6_policy.c | 4 ++--
68807 net/xfrm/xfrm_policy.c | 11 ++---------
68808 12 files changed, 23 insertions(+), 30 deletions(-)
68809
68810 commit b406eac579bb3a5faa1c9d73b8af5530f942009a
68811 Author: Brad Spengler <spender@grsecurity.net>
68812 Date: Mon Sep 16 12:53:22 2013 -0400
68813
68814 Backport commit from https://git.kernel.org/cgit/linux/kernel/git/klassert/ipsec.git/commit/?h=testing&id=4479ff76c43607b680f9349128d8493228b49dce
68815
68816 author Steffen Klassert <steffen.klassert@secunet.com> 2013-09-09 07:39:01 (GMT)
68817 committer Steffen Klassert <steffen.klassert@secunet.com> 2013-09-16 07:39:37 (GMT)
68818
68819 xfrm: Fix replay size checking on async events
68820 We pass the wrong netlink attribute to xfrm_replay_verify_len().
68821 It should be XFRMA_REPLAY_ESN_VAL and not XFRMA_REPLAY_VAL as
68822 we currently doing. This causes memory corruptions if the
68823 replay esn attribute has incorrect length. Fix this by passing
68824 the right attribute to xfrm_replay_verify_len().
68825
68826 Reported-by: Michael Rossberg <michael.rossberg@tu-ilmenau.de>
68827 Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
68828
68829 net/xfrm/xfrm_user.c | 2 +-
68830 1 files changed, 1 insertions(+), 1 deletions(-)
68831
68832 commit 9eeb1f53a99068a1f2a77e4d250e334165b789c9
68833 Merge: 84843a3 0a0ced6
68834 Author: Brad Spengler <spender@grsecurity.net>
68835 Date: Sun Sep 15 11:24:30 2013 -0400
68836
68837 Merge branch 'pax-test' into grsec-test
68838
68839 Conflicts:
68840 drivers/net/wireless/ath/ath10k/core.c
68841 drivers/net/wireless/ath/ath10k/htc.c
68842
68843 commit 0a0ced69ec737fc1abe5bc1c5a66579a22e9bb1d
68844 Author: Brad Spengler <spender@grsecurity.net>
68845 Date: Sun Sep 15 11:21:43 2013 -0400
68846
68847 Update to pax-linux-3.11.1-test6.patch:
68848 - forward port to 3.11.1
68849 - fixed some CONSTIFY fallout, reported by spender
68850 - fixed INVPCID on i386, reported by spender
68851 - simplified/consolidated the recent security_ops change
68852
68853 arch/x86/include/asm/mmu_context.h | 4 ++--
68854 arch/x86/include/asm/tlbflush.h | 6 +++---
68855 arch/x86/kernel/cpu/perf_event_amd_iommu.c | 2 +-
68856 drivers/net/wireless/ath/ath10k/core.c | 6 +++---
68857 drivers/net/wireless/ath/ath10k/htc.c | 7 ++++---
68858 include/linux/security.h | 2 --
68859 security/security.c | 3 ---
68860 security/selinux/hooks.c | 5 +++--
68861 8 files changed, 16 insertions(+), 19 deletions(-)
68862
68863 commit 84843a394cde0578be728cb5fd34da9859dcf110
68864 Author: Brad Spengler <spender@grsecurity.net>
68865 Date: Sun Sep 15 09:19:21 2013 -0400
68866
68867 remove unnecessary check from when protocol was signed
68868
68869 net/phonet/af_phonet.c | 2 +-
68870 1 files changed, 1 insertions(+), 1 deletions(-)
68871
68872 commit cc7c916cac4c2eb0ec243690627e2b6a13234fef
68873 Author: Brad Spengler <spender@grsecurity.net>
68874 Date: Sun Sep 15 08:53:27 2013 -0400
68875
68876 resync with PaX
68877
68878 security/selinux/hooks.c | 4 ++--
68879 1 files changed, 2 insertions(+), 2 deletions(-)
68880
68881 commit fdeadf7ba061242685e07a2504c6be99161f292c
68882 Author: Brad Spengler <spender@grsecurity.net>
68883 Date: Sat Sep 14 23:04:53 2013 -0400
68884
68885 Fix constification of ath10k_hif_cb struct located on stack
68886
68887 drivers/net/wireless/ath/ath10k/hif.h | 1 +
68888 drivers/net/wireless/ath/ath10k/htc.c | 2 +-
68889 2 files changed, 2 insertions(+), 1 deletions(-)
68890
68891 commit 73c6875760e610cb636f86566a1be7a744d89b82
68892 Author: Brad Spengler <spender@grsecurity.net>
68893 Date: Sat Sep 14 22:41:06 2013 -0400
68894
68895 use a no_const typedef for ath10k_htc_ops, which is located on the stack
68896
68897 drivers/net/wireless/ath/ath10k/core.c | 6 +++---
68898 drivers/net/wireless/ath/ath10k/htc.h | 1 +
68899 2 files changed, 4 insertions(+), 3 deletions(-)
68900
68901 commit bffb0279b95b717c739365a5a25ca0391e7479b1
68902 Author: Brad Spengler <spender@grsecurity.net>
68903 Date: Sat Sep 14 22:13:46 2013 -0400
68904
68905 fix compilation error under constify
68906
68907 drivers/net/wireless/ath/ath10k/core.c | 6 +++---
68908 1 files changed, 3 insertions(+), 3 deletions(-)
68909
68910 commit 1044c726fd98de89a711c6655f811600d4051e46
68911 Merge: ffc8003 e39d12a
68912 Author: Brad Spengler <spender@grsecurity.net>
68913 Date: Sat Sep 14 21:57:25 2013 -0400
68914
68915 Merge branch 'pax-test' into grsec-test
68916
68917 commit e39d12a3b877293ba677bf7642c8887144ae1576
68918 Author: Brad Spengler <spender@grsecurity.net>
68919 Date: Sat Sep 14 21:56:56 2013 -0400
68920
68921 Update to pax-linux-3.11-test5.patch:
68922 - backported 1ecfd533f4c528b0b4cc5bc115c4c47f0b5e4828 (pud leak in alloc_new_pmd)
68923 - build_string doesn't need to account for the null terminator, fix some usage in the kernexec plugin
68924
68925 mm/mremap.c | 5 ++++-
68926 tools/gcc/kernexec_plugin.c | 4 ++--
68927 2 files changed, 6 insertions(+), 3 deletions(-)
68928
68929 commit ffc8003e9c6d9a26c92ca83a8cdc48f1bf0d7a4b
68930 Author: Brad Spengler <spender@grsecurity.net>
68931 Date: Sat Sep 14 21:48:03 2013 -0400
68932
68933 fix compile error introduced by pipacs
68934
68935 security/selinux/hooks.c | 2 ++
68936 1 files changed, 2 insertions(+), 0 deletions(-)
68937
68938 commit 874e80f445b1325df45f04cc317f67587e241218
68939 Author: Brad Spengler <spender@grsecurity.net>
68940 Date: Sat Sep 14 21:12:45 2013 -0400
68941
68942 Fix invalid dependency causing warning:
68943 warning: (DEBUG_WW_MUTEX_SLOWPATH) selects DEBUG_LOCK_ALLOC which has unmet direct dependencies (DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT && !PAX_CONSTIFY_PLUGIN)
68944
68945 lib/Kconfig.debug | 2 +-
68946 1 files changed, 1 insertions(+), 1 deletions(-)
68947
68948 commit 76675229b0398d812bd885c2ea9ebdc66cd5d74a
68949 Author: Brad Spengler <spender@grsecurity.net>
68950 Date: Sat Sep 14 19:53:56 2013 -0400
68951
68952 change unsigned long descriptor array to u64, for 32bit kernels on Haswell CPUs
68953
68954 arch/x86/include/asm/tlbflush.h | 6 +++---
68955 1 files changed, 3 insertions(+), 3 deletions(-)
68956
68957 commit b6dd7c7dd3e78d549c4c0e18f7803aa918d3a838
68958 Author: Daniel Borkmann <dborkman@redhat.com>
68959 Date: Sat Sep 7 16:44:59 2013 +0200
68960
68961 Upstream commit: a0fb05d1aef0f5df936f80b726d1b3bfd4275f95
68962
68963 net: sctp: fix bug in sctp_poll for SOCK_SELECT_ERR_QUEUE
68964
68965 If we do not add braces around ...
68966
68967 mask |= POLLERR |
68968 sock_flag(sk, SOCK_SELECT_ERR_QUEUE) ? POLLPRI : 0;
68969
68970 ... then this condition always evaluates to true as POLLERR is
68971 defined as 8 and binary or'd with whatever result comes out of
68972 sock_flag(). Hence instead of (X | Y) ? A : B, transform it into
68973 X | (Y ? A : B). Unfortunatelty, commit 8facd5fb73 ("net: fix
68974 smatch warnings inside datagram_poll") forgot about SCTP. :-(
68975
68976 Introduced by 7d4c04fc170 ("net: add option to enable error queue
68977 packets waking select").
68978
68979 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
68980 Cc: Jacob Keller <jacob.e.keller@intel.com>
68981 Acked-by: Neil Horman <nhorman@tuxdriver.com>
68982 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
68983 Acked-by: Jacob Keller <jacob.e.keller@intel.com>
68984 Signed-off-by: David S. Miller <davem@davemloft.net>
68985
68986 net/sctp/socket.c | 2 +-
68987 1 files changed, 1 insertions(+), 1 deletions(-)
68988
68989 commit 4ad458cf887df99b3de3ce11fb83cd27bd13d986
68990 Author: Jason Wang <jasowang@redhat.com>
68991 Date: Wed Sep 11 18:09:48 2013 +0800
68992
68993 Upstream commit: 662ca437e714caaab855b12415d6ffd815985bc0
68994
68995 tuntap: correctly handle error in tun_set_iff()
68996
68997 Commit c8d68e6be1c3b242f1c598595830890b65cea64a
68998 (tuntap: multiqueue support) only call free_netdev() on error in
68999 tun_set_iff(). This causes several issues:
69000
69001 - memory of tun security were leaked
69002 - use after free since the flow gc timer was not deleted and the tfile
69003 were not detached
69004
69005 This patch solves the above issues.
69006
69007 Reported-by: Wannes Rombouts <wannes.rombouts@epitech.eu>
69008 Cc: Michael S. Tsirkin <mst@redhat.com>
69009 Signed-off-by: Jason Wang <jasowang@redhat.com>
69010 Acked-by: Michael S. Tsirkin <mst@redhat.com>
69011 Signed-off-by: David S. Miller <davem@davemloft.net>
69012
69013 drivers/net/tun.c | 11 ++++++++---
69014 1 files changed, 8 insertions(+), 3 deletions(-)
69015
69016 commit b504140d8590bd67ed481ea84824a9846dde2d74
69017 Author: Herbert Xu <herbert@gondor.apana.org.au>
69018 Date: Sun Sep 8 14:33:50 2013 +1000
69019
69020 Upstream commit: 77dbd7a95e4a4f15264c333a9e9ab97ee27dc2aa
69021
69022 crypto: api - Fix race condition in larval lookup
69023
69024 crypto_larval_lookup should only return a larval if it created one.
69025 Any larval created by another entity must be processed through
69026 crypto_larval_wait before being returned.
69027
69028 Otherwise this will lead to a larval being killed twice, which
69029 will most likely lead to a crash.
69030
69031 Cc: stable@vger.kernel.org
69032 Reported-by: Kees Cook <keescook@chromium.org>
69033 Tested-by: Kees Cook <keescook@chromium.org>
69034 Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
69035
69036 crypto/api.c | 7 ++++++-
69037 1 files changed, 6 insertions(+), 1 deletions(-)
69038
69039 commit f4212fa9ec1c34c59fabc43904e16112b776b6b2
69040 Author: Daniel Borkmann <dborkman@redhat.com>
69041 Date: Wed Sep 11 16:58:36 2013 +0200
69042
69043 Upstream commit: 95ee62083cb6453e056562d91f597552021e6ae7
69044
69045 net: sctp: fix ipv6 ipsec encryption bug in sctp_v6_xmit
69046
69047 Alan Chester reported an issue with IPv6 on SCTP that IPsec traffic is not
69048 being encrypted, whereas on IPv4 it is. Setting up an AH + ESP transport
69049 does not seem to have the desired effect:
69050
69051 SCTP + IPv4:
69052
69053 22:14:20.809645 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto AH (51), length 116)
69054 192.168.0.2 > 192.168.0.5: AH(spi=0x00000042,sumlen=16,seq=0x1): ESP(spi=0x00000044,seq=0x1), length 72
69055 22:14:20.813270 IP (tos 0x2,ECT(0), ttl 64, id 0, offset 0, flags [DF], proto AH (51), length 340)
69056 192.168.0.5 > 192.168.0.2: AH(spi=0x00000043,sumlen=16,seq=0x1):
69057
69058 SCTP + IPv6:
69059
69060 22:31:19.215029 IP6 (class 0x02, hlim 64, next-header SCTP (132) payload length: 364)
69061 fe80::222:15ff:fe87:7fc.3333 > fe80::92e6:baff:fe0d:5a54.36767: sctp
69062 1) [INIT ACK] [init tag: 747759530] [rwnd: 62464] [OS: 10] [MIS: 10]
69063
69064 Moreover, Alan says:
69065
69066 This problem was seen with both Racoon and Racoon2. Other people have seen
69067 this with OpenSwan. When IPsec is configured to encrypt all upper layer
69068 protocols the SCTP connection does not initialize. After using Wireshark to
69069 follow packets, this is because the SCTP packet leaves Box A unencrypted and
69070 Box B believes all upper layer protocols are to be encrypted so it drops
69071 this packet, causing the SCTP connection to fail to initialize. When IPsec
69072 is configured to encrypt just SCTP, the SCTP packets are observed unencrypted.
69073
69074 In fact, using `socat sctp6-listen:3333 -` on one end and transferring "plaintext"
69075 string on the other end, results in cleartext on the wire where SCTP eventually
69076 does not report any errors, thus in the latter case that Alan reports, the
69077 non-paranoid user might think he's communicating over an encrypted transport on
69078 SCTP although he's not (tcpdump ... -X):
69079
69080 ...
69081 0x0030: 5d70 8e1a 0003 001a 177d eb6c 0000 0000 ]p.......}.l....
69082 0x0040: 0000 0000 706c 6169 6e74 6578 740a 0000 ....plaintext...
69083
69084 Only in /proc/net/xfrm_stat we can see XfrmInTmplMismatch increasing on the
69085 receiver side. Initial follow-up analysis from Alan's bug report was done by
69086 Alexey Dobriyan. Also thanks to Vlad Yasevich for feedback on this.
69087
69088 SCTP has its own implementation of sctp_v6_xmit() not calling inet6_csk_xmit().
69089 This has the implication that it probably never really got updated along with
69090 changes in inet6_csk_xmit() and therefore does not seem to invoke xfrm handlers.
69091
69092 SCTP's IPv4 xmit however, properly calls ip_queue_xmit() to do the work. Since
69093 a call to inet6_csk_xmit() would solve this problem, but result in unecessary
69094 route lookups, let us just use the cached flowi6 instead that we got through
69095 sctp_v6_get_dst(). Since all SCTP packets are being sent through sctp_packet_transmit(),
69096 we do the route lookup / flow caching in sctp_transport_route(), hold it in
69097 tp->dst and skb_dst_set() right after that. If we would alter fl6->daddr in
69098 sctp_v6_xmit() to np->opt->srcrt, we possibly could run into the same effect
69099 of not having xfrm layer pick it up, hence, use fl6_update_dst() in sctp_v6_get_dst()
69100 instead to get the correct source routed dst entry, which we assign to the skb.
69101
69102 Also source address routing example from 625034113 ("sctp: fix sctp to work with
69103 ipv6 source address routing") still works with this patch! Nevertheless, in RFC5095
69104 it is actually 'recommended' to not use that anyway due to traffic amplification [1].
69105 So it seems we're not supposed to do that anyway in sctp_v6_xmit(). Moreover, if
69106 we overwrite the flow destination here, the lower IPv6 layer will be unable to
69107 put the correct destination address into IP header, as routing header is added in
69108 ipv6_push_nfrag_opts() but then probably with wrong final destination. Things aside,
69109 result of this patch is that we do not have any XfrmInTmplMismatch increase plus on
69110 the wire with this patch it now looks like:
69111
69112 SCTP + IPv6:
69113
69114 08:17:47.074080 IP6 2620:52:0:102f:7a2b:cbff:fe27:1b0a > 2620:52:0:102f:213:72ff:fe32:7eba:
69115 AH(spi=0x00005fb4,seq=0x1): ESP(spi=0x00005fb5,seq=0x1), length 72
69116 08:17:47.074264 IP6 2620:52:0:102f:213:72ff:fe32:7eba > 2620:52:0:102f:7a2b:cbff:fe27:1b0a:
69117 AH(spi=0x00003d54,seq=0x1): ESP(spi=0x00003d55,seq=0x1), length 296
69118
69119 This fixes Kernel Bugzilla 24412. This security issue seems to be present since
69120 2.6.18 kernels. Lets just hope some big passive adversary in the wild didn't have
69121 its fun with that. lksctp-tools IPv6 regression test suite passes as well with
69122 this patch.
69123
69124 [1] http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf
69125
69126 Reported-by: Alan Chester <alan.chester@tekelec.com>
69127 Reported-by: Alexey Dobriyan <adobriyan@gmail.com>
69128 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
69129 Cc: Steffen Klassert <steffen.klassert@secunet.com>
69130 Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
69131 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
69132 Signed-off-by: David S. Miller <davem@davemloft.net>
69133
69134 net/sctp/ipv6.c | 42 +++++++++++++-----------------------------
69135 1 files changed, 13 insertions(+), 29 deletions(-)
69136
69137 commit 726915e42b1a23b88cd420029003d82208a30006
69138 Author: Kees Cook <keescook@chromium.org>
69139 Date: Fri Sep 13 14:52:04 2013 -0700
69140
69141 Upstream commit: 35a4a5733b0a8290de39558b82896ab795b108a7
69142
69143 isdn: clean up debug format string usage
69144
69145 Avoid unneeded local string buffers for constructing debug output. Also
69146 cleans up debug calls that contain a single parameter so that they cannot
69147 be accidentally parsed as format strings.
69148
69149 Signed-off-by: Kees Cook <keescook@chromium.org>
69150 Cc: Karsten Keil <isdn@linux-pingi.de>
69151 Cc: David Miller <davem@davemloft.net>
69152 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
69153 Signed-off-by: David S. Miller <davem@davemloft.net>
69154
69155 drivers/isdn/hisax/amd7930_fn.c | 4 +-
69156 drivers/isdn/hisax/avm_pci.c | 4 +-
69157 drivers/isdn/hisax/config.c | 2 +-
69158 drivers/isdn/hisax/diva.c | 4 +-
69159 drivers/isdn/hisax/elsa.c | 2 +-
69160 drivers/isdn/hisax/elsa_ser.c | 2 +-
69161 drivers/isdn/hisax/hfc_pci.c | 2 +-
69162 drivers/isdn/hisax/hfc_sx.c | 2 +-
69163 drivers/isdn/hisax/hscx_irq.c | 4 +-
69164 drivers/isdn/hisax/icc.c | 4 +-
69165 drivers/isdn/hisax/ipacx.c | 8 +++---
69166 drivers/isdn/hisax/isac.c | 4 +-
69167 drivers/isdn/hisax/isar.c | 6 ++--
69168 drivers/isdn/hisax/jade.c | 18 ++++----------
69169 drivers/isdn/hisax/jade_irq.c | 4 +-
69170 drivers/isdn/hisax/l3_1tr6.c | 50 ++++++++++++++-------------------------
69171 drivers/isdn/hisax/netjet.c | 2 +-
69172 drivers/isdn/hisax/q931.c | 6 ++--
69173 drivers/isdn/hisax/w6692.c | 8 +++---
69174 19 files changed, 57 insertions(+), 79 deletions(-)
69175
69176 commit 4c90e693066a984f2c3a05bd2b75fe2273906eb3
69177 Author: Brad Spengler <spender@grsecurity.net>
69178 Date: Sat Sep 14 19:16:48 2013 -0400
69179
69180 Fix a bad git merge, re-applied a previously reverted patch
69181
69182 arch/x86/include/asm/processor.h | 4 ++--
69183 arch/x86/kernel/cpu/common.c | 2 +-
69184 arch/x86/kernel/process_64.c | 2 +-
69185 arch/x86/kernel/smpboot.c | 2 +-
69186 arch/x86/xen/smp.c | 2 +-
69187 5 files changed, 6 insertions(+), 6 deletions(-)
69188
69189 commit 5dea4b212b0405d6bcbea57516d77b21035d1178
69190 Author: Brad Spengler <spender@grsecurity.net>
69191 Date: Sat Sep 14 16:56:37 2013 -0400
69192
69193 finish porting namei.c
69194
69195 fs/namei.c | 50 +++++++++++---------------------------------------
69196 1 files changed, 11 insertions(+), 39 deletions(-)
69197
69198 commit a7d5c5e2d0fd4831df19247e41c73c362809b00f
69199 Author: Brad Spengler <spender@grsecurity.net>
69200 Date: Sat Sep 14 16:44:08 2013 -0400
69201
69202 cred->user -> current_user()
69203
69204 fs/exec.c | 2 +-
69205 1 files changed, 1 insertions(+), 1 deletions(-)
69206
69207 commit be3db5fa6532557384fb66d2d9297d77666912cf
69208 Author: Brad Spengler <spender@grsecurity.net>
69209 Date: Sat Sep 14 16:36:24 2013 -0400
69210
69211 Fix GRKERNSEC_DENYUSB dependency as reported by Victor Roman of Funtoo Linux
69212
69213 grsecurity/Kconfig | 3 ++-
69214 1 files changed, 2 insertions(+), 1 deletions(-)
69215
69216 commit ce9afc12137b65991bfc7cce70e28d86bbb76956
69217 Author: Daniel Borkmann <dborkman@redhat.com>
69218 Date: Tue Sep 3 19:29:12 2013 +0200
69219
69220 Upstream commit: 3a1c756590633c0e86df606e5c618c190926a0df
69221
69222 net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv
69223
69224 In tcp_v6_do_rcv() code, when processing pkt options, we soley work
69225 on our skb clone opt_skb that we've created earlier before entering
69226 tcp_rcv_established() on our way. However, only in condition ...
69227
69228 if (np->rxopt.bits.rxtclass)
69229 np->rcv_tclass = ipv6_get_dsfield(ipv6_hdr(skb));
69230
69231 ... we work on skb itself. As we extract every other information out
69232 of opt_skb in ipv6_pktoptions path, this seems wrong, since skb can
69233 already be released by tcp_rcv_established() earlier on. When we try
69234 to access it in ipv6_hdr(), we will dereference freed skb.
69235
69236 [ Bug added by commit 4c507d2897bd9b ("net: implement IP_RECVTOS for
69237 IP_PKTOPTIONS") ]
69238
69239 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
69240 Cc: Eric Dumazet <eric.dumazet@gmail.com>
69241 Acked-by: Eric Dumazet <edumazet@google.com>
69242 Acked-by: Jiri Benc <jbenc@redhat.com>
69243 Signed-off-by: David S. Miller <davem@davemloft.net>
69244 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69245
69246 net/ipv6/tcp_ipv6.c | 2 +-
69247 1 files changed, 1 insertions(+), 1 deletions(-)
69248
69249 commit 84aa149aa0f178516f5784d028522d60d35696c9
69250 Author: Brad Spengler <spender@grsecurity.net>
69251 Date: Thu Sep 5 19:36:23 2013 -0400
69252
69253 fix dependencies for GRKERNSEC_ROFS / GRKERNSEC_DENYUSB
69254
69255 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69256
69257 grsecurity/Kconfig | 3 ++-
69258 1 files changed, 2 insertions(+), 1 deletions(-)
69259
69260 commit 1145b56059535549be226da9891b56ab2d902b2f
69261 Author: Brad Spengler <spender@grsecurity.net>
69262 Date: Thu Sep 5 19:17:02 2013 -0400
69263
69264 Allow the deny_new_usb sysctl to be toggled off by a user with CAP_SYS_ADMIN. This allows for more inventive uses of the feature that would be impossible otherwise (like toggling it while the screen is locked, etc)
69265
69266 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69267
69268 grsecurity/grsec_sysctl.c | 4 +---
69269 1 files changed, 1 insertions(+), 3 deletions(-)
69270
69271 commit cc604c1c66e7034ad7ddc7fb3cec749e0e5828a3
69272 Author: Brad Spengler <spender@grsecurity.net>
69273 Date: Thu Sep 5 18:41:49 2013 -0400
69274
69275 Add a new GRKERNSEC_DENYUSB_FORCE option that achieves what GRKERNSEC_DENYUSB does without the need for a sysctl toggle, for users who know they want the functionality but don't want to bother with modifying init scripts
69276
69277 Also eliminate reset_security_ops() as a ROP target when
69278 SECURITY_SELINUX_DISABLE is disabled as it's the only user
69279
69280 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69281
69282 grsecurity/Kconfig | 17 ++++++++++++++++-
69283 grsecurity/grsec_init.c | 3 +++
69284 grsecurity/grsec_sysctl.c | 2 +-
69285 3 files changed, 20 insertions(+), 2 deletions(-)
69286
69287 commit 06f8e6fe41a0de311b0c94bf853cb2c15aee67d4
69288 Author: Brad Spengler <spender@grsecurity.net>
69289 Date: Fri Aug 30 17:11:11 2013 -0400
69290
69291 fix compilation with GRKERNSEC_DENYUSB as reported by slashbeast
69292
69293 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69294
69295 grsecurity/grsec_sysctl.c | 7 ++++---
69296 1 files changed, 4 insertions(+), 3 deletions(-)
69297
69298 commit 74dc00678ec84a254617b500a2880974dac95220
69299 Author: Brad Spengler <spender@grsecurity.net>
69300 Date: Wed Aug 28 20:42:39 2013 -0400
69301
69302 add export of gr_handle_new_usb()
69303
69304 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69305
69306 grsecurity/grsec_usb.c | 2 ++
69307 1 files changed, 2 insertions(+), 0 deletions(-)
69308
69309 commit f9b60ffe6e67563faa8d207fa6d00bd04252cf4f
69310 Author: Brad Spengler <spender@grsecurity.net>
69311 Date: Wed Aug 28 19:24:47 2013 -0400
69312
69313 Add new GRKERNSEC_DENYUSB feature that I've been sitting on for a bit Kees' recent findings are motivation enough to publish it
69314
69315 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69316
69317 drivers/usb/core/hub.c | 5 +++++
69318 grsecurity/Kconfig | 20 ++++++++++++++++++++
69319 grsecurity/Makefile | 3 ++-
69320 grsecurity/grsec_init.c | 1 +
69321 grsecurity/grsec_sysctl.c | 11 +++++++++++
69322 grsecurity/grsec_usb.c | 13 +++++++++++++
69323 include/linux/grinternal.h | 1 +
69324 include/linux/grsecurity.h | 2 ++
69325 8 files changed, 55 insertions(+), 1 deletions(-)
69326
69327 commit 889852764d245f44e416da4eb203fda0bd327584
69328 Author: Kees Cook <keescook@chromium.org>
69329 Date: Wed Aug 14 09:35:07 2013 -0700
69330
69331 HID: zeroplus: validate output report details
69332
69333 The zeroplus HID driver was not checking the size of allocated values
69334 in fields it used. A HID device could send a malicious output report
69335 that would cause the driver to write beyond the output report allocation
69336 during initialization, causing a heap overflow:
69337
69338 [ 1442.728680] usb 1-1: New USB device found, idVendor=0c12, idProduct=0005
69339 ...
69340 [ 1466.243173] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
69341
69342 CVE-2013-2889
69343
69344 Signed-off-by: Kees Cook <keescook@chromium.org>
69345 Cc: stable@kernel.org
69346 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69347
69348 drivers/hid/hid-zpff.c | 14 ++------------
69349 1 files changed, 2 insertions(+), 12 deletions(-)
69350
69351 commit f30e932a87f25b53779d1f92b49923f8a2dc9834
69352 Author: Kees Cook <keescook@chromium.org>
69353 Date: Wed Aug 14 14:36:15 2013 -0700
69354
69355 HID: provide a helper for validating hid reports
69356
69357 Many drivers need to validate the characteristics of their HID report
69358 during initialization to avoid misusing the reports. This adds a common
69359 helper to perform validation of the report, its field count, and the
69360 value count within the fields.
69361
69362 Signed-off-by: Kees Cook <keescook@chromium.org>
69363 Cc: stable@kernel.org
69364 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69365
69366 drivers/hid/hid-core.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
69367 include/linux/hid.h | 4 +++
69368 2 files changed, 54 insertions(+), 0 deletions(-)
69369
69370 commit f9eac59133855befee23d0c899e0d0e6ebcd3d44
69371 Author: Kees Cook <keescook@chromium.org>
69372 Date: Wed Aug 14 09:14:34 2013 -0700
69373
69374 HID: steelseries: validate output report details
69375
69376 A HID device could send a malicious output report that would cause the
69377 steelseries HID driver to write beyond the output report allocation
69378 during initialization, causing a heap overflow:
69379
69380 [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410
69381 ...
69382 [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten
69383
69384 CVE-2013-2891
69385
69386 Signed-off-by: Kees Cook <keescook@chromium.org>
69387 Cc: stable@kernel.org
69388 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69389
69390 drivers/hid/hid-steelseries.c | 5 +++++
69391 1 files changed, 5 insertions(+), 0 deletions(-)
69392
69393 commit 9f5ae466957014bc300929374ebb7afdd9d116d6
69394 Author: Kees Cook <keescook@chromium.org>
69395 Date: Wed Aug 14 08:49:21 2013 -0700
69396
69397 HID: pantherlord: validate output report details
69398
69399 A HID device could send a malicious output report that would cause the
69400 pantherlord HID driver to write beyond the output report allocation
69401 during initialization, causing a heap overflow:
69402
69403 [ 310.939483] usb 1-1: New USB device found, idVendor=0e8f, idProduct=0003
69404 ...
69405 [ 315.980774] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
69406
69407 CVE-2013-2892
69408
69409 Signed-off-by: Kees Cook <keescook@chromium.org>
69410 Cc: stable@kernel.org
69411 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69412
69413 drivers/hid/hid-pl.c | 10 ++++++++--
69414 1 files changed, 8 insertions(+), 2 deletions(-)
69415
69416 commit b643b8f8af23488d92f16a817bf16c162d612ce1
69417 Author: Kees Cook <keescook@chromium.org>
69418 Date: Tue Aug 13 16:49:01 2013 -0700
69419
69420 HID: LG: validate HID output report details
69421
69422 A HID device could send a malicious output report that would cause the
69423 lg, lg3, and lg4 HID drivers to write beyond the output report allocation
69424 during an event, causing a heap overflow:
69425
69426 [ 325.245240] usb 1-1: New USB device found, idVendor=046d, idProduct=c287
69427 ...
69428 [ 414.518960] BUG kmalloc-4096 (Not tainted): Redzone overwritten
69429
69430 Additionally, while lg2 did correctly validate the report details, it was
69431 cleaned up and shortened.
69432
69433 CVE-2013-2893
69434
69435 Signed-off-by: Kees Cook <keescook@chromium.org>
69436 Cc: stable@kernel.org
69437 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69438
69439 drivers/hid/hid-lg2ff.c | 19 +++----------------
69440 drivers/hid/hid-lg3ff.c | 29 ++++++-----------------------
69441 drivers/hid/hid-lg4ff.c | 20 +-------------------
69442 drivers/hid/hid-lgff.c | 17 ++---------------
69443 4 files changed, 12 insertions(+), 73 deletions(-)
69444
69445 commit 975723a41239b1befae172e88082ff4422753508
69446 Author: Kees Cook <keescook@chromium.org>
69447 Date: Thu Aug 15 23:21:23 2013 -0700
69448
69449 HID: lenovo-tpkbd: validate output report details
69450
69451 A HID device could send a malicious output report that would cause the
69452 lenovo-tpkbd HID driver to write just beyond the output report allocation
69453 during initialization, causing a heap overflow:
69454
69455 [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009
69456 ...
69457 [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
69458
69459 CVE-2013-2894
69460
69461 Signed-off-by: Kees Cook <keescook@chromium.org>
69462 Cc: stable@kernel.org
69463 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69464
69465 drivers/hid/hid-lenovo-tpkbd.c | 5 +++++
69466 1 files changed, 5 insertions(+), 0 deletions(-)
69467
69468 commit 54b39084efe20a3f10fcb58ee8327d7b6250b7cd
69469 Author: Kees Cook <keescook@chromium.org>
69470 Date: Thu Aug 15 23:45:03 2013 -0700
69471
69472 HID: logitech-dj: validate output report details
69473
69474 A HID device could send a malicious output report that would cause the
69475 logitech-dj HID driver to leak kernel memory contents to the device, or
69476 trigger a NULL dereference during initialization:
69477
69478 [ 304.424553] usb 1-1: New USB device found, idVendor=046d, idProduct=c52b
69479 ...
69480 [ 304.780467] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
69481 [ 304.781409] IP: [<ffffffff815d50aa>] logi_dj_recv_send_report.isra.11+0x1a/0x90
69482
69483 CVE-2013-2895
69484
69485 Signed-off-by: Kees Cook <keescook@chromium.org>
69486 Cc: stable@kernel.org
69487 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69488
69489 drivers/hid/hid-logitech-dj.c | 12 ++++++++++--
69490 1 files changed, 10 insertions(+), 2 deletions(-)
69491
69492 commit 05c3db7daee82d79c628c15b304f8621159e14f3
69493 Author: Kees Cook <keescook@chromium.org>
69494 Date: Fri Aug 16 00:18:15 2013 -0700
69495
69496 HID: ntrig: validate feature report details
69497
69498 A HID device could send a malicious feature report that would cause the
69499 ntrig HID driver to trigger a NULL dereference during initialization:
69500
69501 [57383.031190] usb 3-1: New USB device found, idVendor=1b96, idProduct=0001
69502 ...
69503 [57383.315193] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
69504 [57383.315308] IP: [<ffffffffa08102de>] ntrig_probe+0x25e/0x420 [hid_ntrig]
69505
69506 CVE-2013-2896
69507
69508 Signed-off-by: Kees Cook <keescook@chromium.org>
69509 Cc: stable@kernel.org
69510 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69511
69512 drivers/hid/hid-ntrig.c | 3 ++-
69513 1 files changed, 2 insertions(+), 1 deletions(-)
69514
69515 commit a79f25f59fdd0abaf4ecfab93017aa49de089498
69516 Author: Kees Cook <keescook@chromium.org>
69517 Date: Fri Aug 16 00:11:32 2013 -0700
69518
69519 HID: multitouch: validate feature report details
69520
69521 When working on report indexes, always validate that they are in bounds.
69522 Without this, a HID device could report a malicious feature report that
69523 could trick the driver into a heap overflow:
69524
69525 [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500
69526 ...
69527 [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
69528
69529 CVE-2013-2897
69530
69531 Signed-off-by: Kees Cook <keescook@chromium.org>
69532 Cc: stable@kernel.org
69533 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69534
69535 drivers/hid/hid-multitouch.c | 25 ++++++++++++++++++++-----
69536 1 files changed, 20 insertions(+), 5 deletions(-)
69537
69538 commit 6fe8eb06e432f165872d3486fdce0d09de1515b3
69539 Author: Kees Cook <keescook@chromium.org>
69540 Date: Fri Aug 16 08:12:45 2013 -0700
69541
69542 HID: sensor-hub: validate feature report details
69543
69544 A HID device could send a malicious feature report that would cause the
69545 sensor-hub HID driver to read past the end of heap allocation, leaking
69546 kernel memory contents to the caller.
69547
69548 CVE-2013-2898
69549
69550 Signed-off-by: Kees Cook <keescook@chromium.org>
69551 Cc: stable@kernel.org
69552 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69553
69554 drivers/hid/hid-sensor-hub.c | 3 ++-
69555 1 files changed, 2 insertions(+), 1 deletions(-)
69556
69557 commit cd5ea45deb4aae3a6ca7b99e261d771792c2e8bf
69558 Author: Kees Cook <keescook@chromium.org>
69559 Date: Fri Aug 16 08:05:10 2013 -0700
69560
69561 HID: picolcd_core: validate output report details
69562
69563 A HID device could send a malicious output report that would cause the
69564 picolcd HID driver to trigger a NULL dereference during attr file writing.
69565
69566 CVE-2013-2899
69567
69568 Signed-off-by: Kees Cook <keescook@chromium.org>
69569 Cc: stable@kernel.org
69570 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69571
69572 drivers/hid/hid-picolcd_core.c | 2 +-
69573 1 files changed, 1 insertions(+), 1 deletions(-)
69574
69575 commit c147e32922dd91edf1969b8a6eb333aafb4abb79
69576 Author: Kees Cook <keescook@chromium.org>
69577 Date: Fri Aug 16 08:09:54 2013 -0700
69578
69579 HID: check for NULL field when setting values
69580
69581 Defensively check that the field to be worked on is not NULL.
69582
69583 Signed-off-by: Kees Cook <keescook@chromium.org>
69584 Cc: stable@kernel.org
69585 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69586
69587 drivers/hid/hid-core.c | 7 ++++++-
69588 1 files changed, 6 insertions(+), 1 deletions(-)
69589
69590 commit 51b66e0a8cfd2eedb4f3275c7ffc2f7a831b4683
69591 Author: Kees Cook <keescook@chromium.org>
69592 Date: Wed Aug 28 18:09:18 2013 -0400
69593
69594 http://marc.info/?l=linux-input&m=137772180514608&q=raw
69595
69596 The "Report ID" field of a HID report is used to build indexes of
69597 reports. The kernel's index of these is limited to 256 entries, so any
69598 malicious device that sets a Report ID greater than 255 will trigger
69599 memory corruption on the host:
69600
69601 [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878
69602 [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b
69603
69604 CVE-2013-2888
69605
69606 Signed-off-by: Kees Cook <keescook@chromium.org>
69607 Cc: stable@kernel.org
69608 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69609
69610 drivers/hid/hid-core.c | 10 +++++++---
69611 include/linux/hid.h | 4 +++-
69612 2 files changed, 10 insertions(+), 4 deletions(-)
69613
69614 commit 4ab7b9ed96612f5621898cead7163b6eecf30c7c
69615 Author: Brad Spengler <spender@grsecurity.net>
69616 Date: Mon Aug 19 22:10:04 2013 -0400
69617
69618 fix bad git merge (call to __cpu_disable_lazy_restore was duplicated) as reported by pipacs
69619
69620 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69621
69622 arch/x86/kernel/smpboot.c | 3 ---
69623 1 files changed, 0 insertions(+), 3 deletions(-)
69624
69625 commit 8a6f59dd3e43d20d8e999d50001b85ba605a4dac
69626 Author: Brad Spengler <spender@grsecurity.net>
69627 Date: Sat Aug 17 12:00:20 2013 -0400
69628
69629 make kallsyms_lookup_size_offset available to approved source files
69630
69631 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69632
69633 include/linux/kallsyms.h | 3 +++
69634 1 files changed, 3 insertions(+), 0 deletions(-)
69635
69636 commit abde07f6c047c0331f511318cb49a36d49218dfc
69637 Author: Brad Spengler <spender@grsecurity.net>
69638 Date: Sat Aug 17 11:18:09 2013 -0400
69639
69640 allow use of kallsyms_lookup_name to approved source files
69641
69642 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69643
69644 include/linux/kallsyms.h | 1 +
69645 1 files changed, 1 insertions(+), 0 deletions(-)
69646
69647 commit 7a430f97a2f6538693cb8e354c67c874f24c5ebf
69648 Author: Johannes Berg <johannes.berg@intel.com>
69649 Date: Tue Aug 13 09:04:05 2013 +0200
69650
69651 Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db
69652
69653 genetlink: fix family dump race
69654
69655 When dumping generic netlink families, only the first dump call
69656 is locked with genl_lock(), which protects the list of families,
69657 and thus subsequent calls can access the data without locking,
69658 racing against family addition/removal. This can cause a crash.
69659 Fix it - the locking needs to be conditional because the first
69660 time around it's already locked.
69661
69662 A similar bug was reported to me on an old kernel (3.4.47) but
69663 the exact scenario that happened there is no longer possible,
69664 on those kernels the first round wasn't locked either. Looking
69665 at the current code I found the race described above, which had
69666 also existed on the old kernel.
69667
69668 Cc: stable@vger.kernel.org
69669 Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
69670 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
69671 Signed-off-by: David S. Miller <davem@davemloft.net>
69672 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69673
69674 net/netlink/genetlink.c | 7 +++++++
69675 1 files changed, 7 insertions(+), 0 deletions(-)
69676
69677 commit ab0fc298348a3fce6c8aaf4bef11f388b1bf4782
69678 Author: Brad Spengler <spender@grsecurity.net>
69679 Date: Sat Aug 17 08:58:34 2013 -0400
69680
69681 Fix two harmless compiler warnings
69682
69683 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69684
69685 arch/arm/kernel/process.c | 4 ++--
69686 fs/exec.c | 2 +-
69687 2 files changed, 3 insertions(+), 3 deletions(-)
69688
69689 commit d502375416b17270008ebdf11f1c3be7837f7c50
69690 Author: Brad Spengler <spender@grsecurity.net>
69691 Date: Fri Aug 16 22:46:01 2013 -0400
69692
69693 Fix HIDESYM compatibility with kprobes, as reported by feandil at: http://forums.grsecurity.net/viewtopic.php?t=3701&p=13376#p13376
69694
69695 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69696
69697 include/linux/kallsyms.h | 2 +-
69698 kernel/kprobes.c | 3 +++
69699 2 files changed, 4 insertions(+), 1 deletions(-)
69700
69701 commit f6c363aba68cccff2815a488a7e9ed68990100d2
69702 Author: Brad Spengler <spender@grsecurity.net>
69703 Date: Sat Aug 10 09:41:40 2013 -0400
69704
69705 propagate the threadstack offset through to the topdown/bottomup allocators on sparc64 hugepages
69706
69707 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69708
69709 arch/sparc/mm/hugetlbpage.c | 12 ++++++++----
69710 1 files changed, 8 insertions(+), 4 deletions(-)
69711
69712 commit 279d4c6643931d6488b2d5f1e7d29db8a3c3a347
69713 Author: Brad Spengler <spender@grsecurity.net>
69714 Date: Mon Aug 5 17:58:42 2013 -0400
69715
69716 Disable RANDKSTACK for a VirtualBox host as mentioned on the gentoo-hardened bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=382793
69717
69718 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69719
69720 security/Kconfig | 2 +-
69721 1 files changed, 1 insertions(+), 1 deletions(-)
69722
69723 commit 55ee7adc9d4cd900fd86a4cfad7e0841b4373ee1
69724 Author: Brad Spengler <spender@grsecurity.net>
69725 Date: Mon Aug 5 17:26:40 2013 -0400
69726
69727 Move user namespace capability check to shared create_user_ns code so we cover unshare() as well.
69728
69729 Also kill a trivial 1-line, 22-character upstream kernel DoS, thanks to
69730 user namespaces!
69731
69732 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69733
69734 kernel/fork.c | 17 -----------------
69735 kernel/user_namespace.c | 15 +++++++++++++++
69736 2 files changed, 15 insertions(+), 17 deletions(-)
69737
69738 commit 5c0737b045d057152a39154746d8c8e5d59185ed
69739 Author: Brad Spengler <spender@grsecurity.net>
69740 Date: Mon Aug 5 16:05:41 2013 -0400
69741
69742 silence a warning on older gcc
69743
69744 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69745
69746 grsecurity/gracl.c | 2 +-
69747 1 files changed, 1 insertions(+), 1 deletions(-)
69748
69749 commit b9cb48614b154a4c9a4caec48f5c6a391c7b4eb8
69750 Author: Brad Spengler <spender@grsecurity.net>
69751 Date: Sat Aug 3 08:31:08 2013 -0400
69752
69753 we only care about mmaps of the beginning of an ELF, filter out all others as suggested by pipacs
69754
69755 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69756
69757 mm/mmap.c | 2 +-
69758 1 files changed, 1 insertions(+), 1 deletions(-)
69759
69760 commit abc10b7630ee1a61c18e7b03b3cbbc9849a346c6
69761 Author: Brad Spengler <spender@grsecurity.net>
69762 Date: Fri Aug 2 23:54:51 2013 -0400
69763
69764 add include
69765
69766 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69767
69768 grsecurity/grsec_log.c | 1 +
69769 1 files changed, 1 insertions(+), 0 deletions(-)
69770
69771 commit 448fdce6e5e32cc5dc8f6a649d58104c11cbe2f5
69772 Author: Brad Spengler <spender@grsecurity.net>
69773 Date: Fri Aug 2 23:49:13 2013 -0400
69774
69775 fix compilation
69776
69777 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69778
69779 include/linux/grinternal.h | 3 ++-
69780 1 files changed, 2 insertions(+), 1 deletions(-)
69781
69782 commit d4d49138661d5cb646f0dd012178447380b79956
69783 Author: Brad Spengler <spender@grsecurity.net>
69784 Date: Fri Aug 2 23:34:35 2013 -0400
69785
69786 Improve PaX reporting (tells when anon mapping is stack or heap) Remove textrel logging option, combine into rwx logging option Enhance RWX logging option to display when PT_GNU_STACK-enabled library is loaded under an MPROTECTed binary Enhance RWX mprotect logging to display stack/heap instead of just anon mapping
69787
69788 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69789
69790 fs/binfmt_elf.c | 37 +++++++++++++++++++++++++++++++++++++
69791 fs/exec.c | 4 ++++
69792 grsecurity/Kconfig | 21 +++++----------------
69793 grsecurity/grsec_init.c | 4 ----
69794 grsecurity/grsec_log.c | 14 ++++++++++++++
69795 grsecurity/grsec_pax.c | 19 ++++++++++++++-----
69796 grsecurity/grsec_sysctl.c | 9 ---------
69797 include/linux/binfmts.h | 1 +
69798 include/linux/grinternal.h | 2 +-
69799 include/linux/grmsg.h | 3 ++-
69800 include/linux/grsecurity.h | 3 ++-
69801 mm/mmap.c | 7 +++++++
69802 mm/mprotect.c | 2 +-
69803 13 files changed, 88 insertions(+), 38 deletions(-)
69804
69805 commit cfa6b85e91c7e8e7f00eeaf1908d22cbec4b0a15
69806 Author: Brad Spengler <spender@grsecurity.net>
69807 Date: Thu Aug 1 18:52:02 2013 -0400
69808
69809 add missing #define
69810
69811 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69812
69813 grsecurity/gracl.c | 1 +
69814 1 files changed, 1 insertions(+), 0 deletions(-)
69815
69816 commit 4a307f7d3ff3ab232c0b6341415088e7618c494e
69817 Author: Brad Spengler <spender@grsecurity.net>
69818 Date: Thu Aug 1 18:43:53 2013 -0400
69819
69820 fix compilation for !COMPAT as reported on the forums
69821
69822 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69823
69824 grsecurity/gracl.c | 195 ++++++++++++++++++++++++++--------------------------
69825 1 files changed, 97 insertions(+), 98 deletions(-)
69826
69827 commit 78011eb5c2454b8afc96b98bd86ac172e589b13c
69828 Author: Brad Spengler <spender@grsecurity.net>
69829 Date: Wed Jul 31 17:47:20 2013 -0400
69830
69831 Revert "revert recent PaX change that causes boot failures with 32bit userland"
69832
69833 This reverts commit 23278a1ee1c7738dd1e7005241394d32b82196e4.
69834
69835 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69836
69837 arch/x86/include/asm/processor.h | 4 ++--
69838 arch/x86/kernel/cpu/common.c | 2 +-
69839 arch/x86/kernel/process_64.c | 2 +-
69840 arch/x86/kernel/smpboot.c | 2 +-
69841 arch/x86/xen/smp.c | 2 +-
69842 5 files changed, 6 insertions(+), 6 deletions(-)
69843
69844 commit 17cdb36c3bee85c0985f7cc18aa8405fc7838cad
69845 Author: Brad Spengler <spender@grsecurity.net>
69846 Date: Wed Jul 31 16:26:58 2013 -0400
69847
69848 compile fix for !COMPAT as mentioned on forums
69849
69850 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69851
69852 grsecurity/gracl.c | 2 ++
69853 1 files changed, 2 insertions(+), 0 deletions(-)
69854
69855 commit e670dc535e4501fd12d8bf00f1e1306c44266fe7
69856 Author: Brad Spengler <spender@grsecurity.net>
69857 Date: Tue Jul 30 22:33:14 2013 -0400
69858
69859 perform compat conversion of rlimit infinity
69860
69861 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69862
69863 grsecurity/gracl_compat.c | 10 ++++++++--
69864 1 files changed, 8 insertions(+), 2 deletions(-)
69865
69866 commit 2834fe28e69176da6ac4989c6e3dc713faafefe5
69867 Author: Brad Spengler <spender@grsecurity.net>
69868 Date: Tue Jul 30 22:21:40 2013 -0400
69869
69870 remove debugging
69871
69872 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69873
69874 grsecurity/gracl_compat.c | 44 +++++++++++---------------------------------
69875 1 files changed, 11 insertions(+), 33 deletions(-)
69876
69877 commit 2669672647f6955f0e5154596492c73cd4fda330
69878 Author: Brad Spengler <spender@grsecurity.net>
69879 Date: Tue Jul 30 22:20:32 2013 -0400
69880
69881 eliminate compat_dev_t
69882
69883 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69884
69885 include/linux/gracl_compat.h | 4 ++--
69886 1 files changed, 2 insertions(+), 2 deletions(-)
69887
69888 commit 75de5da79f5e03936a79ffe2c827462000001985
69889 Author: Brad Spengler <spender@grsecurity.net>
69890 Date: Tue Jul 30 22:13:22 2013 -0400
69891
69892 fix compat rlimit size
69893
69894 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69895
69896 grsecurity/gracl_compat.c | 68 +++++++++++++++++++++++++++++-------------
69897 include/linux/gracl_compat.h | 4 +-
69898 2 files changed, 49 insertions(+), 23 deletions(-)
69899
69900 commit 9055a8feb8493a30d1ad0fcef25eb496630d223f
69901 Author: Brad Spengler <spender@grsecurity.net>
69902 Date: Tue Jul 30 21:20:18 2013 -0400
69903
69904 compile fix
69905
69906 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69907
69908 grsecurity/gracl.c | 4 ++--
69909 1 files changed, 2 insertions(+), 2 deletions(-)
69910
69911 commit 080577d5a71de3d2700c4c17e1d13c67bc9b6720
69912 Author: Brad Spengler <spender@grsecurity.net>
69913 Date: Tue Jul 30 21:14:29 2013 -0400
69914
69915 copy correct pointer size in new compat code
69916
69917 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69918
69919 grsecurity/gracl.c | 8 ++++----
69920 grsecurity/gracl_compat.c | 4 ++--
69921 2 files changed, 6 insertions(+), 6 deletions(-)
69922
69923 commit 129b6204587740fd082e731a54d00e8a9fc35f8b
69924 Author: Brad Spengler <spender@grsecurity.net>
69925 Date: Tue Jul 30 19:15:50 2013 -0400
69926
69927 compile fix
69928
69929 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69930
69931 grsecurity/gracl_compat.c | 6 ++++++
69932 1 files changed, 6 insertions(+), 0 deletions(-)
69933
69934 commit 1a8481118c2da1cf9610ec5ba9ad950358e8cd3f
69935 Author: Brad Spengler <spender@grsecurity.net>
69936 Date: Tue Jul 30 19:12:46 2013 -0400
69937
69938 remove BUILD_BUG_ONs
69939
69940 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69941
69942 grsecurity/gracl_compat.c | 20 --------------------
69943 1 files changed, 0 insertions(+), 20 deletions(-)
69944
69945 commit 67fc73af0876d311c0d01d3b16fa429f44af12b9
69946 Author: Brad Spengler <spender@grsecurity.net>
69947 Date: Tue Jul 30 00:18:36 2013 -0400
69948
69949 compile fixes
69950
69951 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69952
69953 grsecurity/gracl_compat.c | 8 ++++----
69954 include/linux/gracl_compat.h | 2 +-
69955 2 files changed, 5 insertions(+), 5 deletions(-)
69956
69957 commit 32f9c3609f8d6c5c893c848e0bd76e0d8d3fa096
69958 Author: Brad Spengler <spender@grsecurity.net>
69959 Date: Tue Jul 30 00:16:42 2013 -0400
69960
69961 compile fixes
69962
69963 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69964
69965 grsecurity/gracl.c | 4 ++--
69966 grsecurity/gracl_compat.c | 2 +-
69967 2 files changed, 3 insertions(+), 3 deletions(-)
69968
69969 commit 798adb5cab6c3a8056e1b415e6f34a270f369721
69970 Author: Brad Spengler <spender@grsecurity.net>
69971 Date: Tue Jul 30 00:13:51 2013 -0400
69972
69973 compile fixes
69974
69975 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69976
69977 grsecurity/gracl.c | 8 ++++----
69978 1 files changed, 4 insertions(+), 4 deletions(-)
69979
69980 commit 4d4945ce90d83784634b898f83cb5a7699537733
69981 Author: Brad Spengler <spender@grsecurity.net>
69982 Date: Tue Jul 30 00:11:03 2013 -0400
69983
69984 compile fixes
69985
69986 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69987
69988 grsecurity/gracl_compat.c | 3 +++
69989 1 files changed, 3 insertions(+), 0 deletions(-)
69990
69991 commit 2e0b7505d92a89b872d9ebccae57720e3c00e4a2
69992 Author: Brad Spengler <spender@grsecurity.net>
69993 Date: Tue Jul 30 00:08:21 2013 -0400
69994
69995 more compile fixes
69996
69997 Signed-off-by: Brad Spengler <spender@grsecurity.net>
69998
69999 grsecurity/gracl.c | 28 ++++++++++++++--------------
70000 1 files changed, 14 insertions(+), 14 deletions(-)
70001
70002 commit 6db464f72eff84f77335b69dc2748a3759e151d1
70003 Author: Brad Spengler <spender@grsecurity.net>
70004 Date: Mon Jul 29 23:59:50 2013 -0400
70005
70006 more compile fixes
70007
70008 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70009
70010 grsecurity/gracl.c | 10 +++++++++-
70011 1 files changed, 9 insertions(+), 1 deletions(-)
70012
70013 commit c5c54a2490dd8ec3fcad322d5c64b8cdfc6ce8d7
70014 Author: Brad Spengler <spender@grsecurity.net>
70015 Date: Mon Jul 29 23:56:47 2013 -0400
70016
70017 additional compile fixes
70018
70019 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70020
70021 grsecurity/gracl.c | 59 +++++++++++++++++++++++++++++++++++++++++++--------
70022 1 files changed, 49 insertions(+), 10 deletions(-)
70023
70024 commit e78a78dcfc089142273243b54509840d3b50c538
70025 Author: Brad Spengler <spender@grsecurity.net>
70026 Date: Mon Jul 29 23:47:15 2013 -0400
70027
70028 fix typo
70029
70030 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70031
70032 grsecurity/gracl.c | 2 +-
70033 1 files changed, 1 insertions(+), 1 deletions(-)
70034
70035 commit b27005e62bebc09e6604a6f5dc099742bb6b4434
70036 Author: Brad Spengler <spender@grsecurity.net>
70037 Date: Mon Jul 29 23:46:59 2013 -0400
70038
70039 compile fixes
70040
70041 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70042
70043 grsecurity/gracl.c | 53 ++++++++++++++++++++++++++++++++++++++-------------
70044 1 files changed, 39 insertions(+), 14 deletions(-)
70045
70046 commit 101b84a778c254dfd7399f5bcd6264ff437f1176
70047 Author: Brad Spengler <spender@grsecurity.net>
70048 Date: Mon Jul 29 23:22:44 2013 -0400
70049
70050 Initial commit of compat RBAC loading Permits 32bit gradm to load policy for a 64bit kernel
70051
70052 Also removed code duplication for copying strings into the kernel
70053
70054 Work performed as part of sponsorship
70055
70056 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70057
70058 grsecurity/Makefile | 4 +
70059 grsecurity/gracl.c | 315 +++++++++++++++++++++++-------------------
70060 grsecurity/gracl_compat.c | 270 ++++++++++++++++++++++++++++++++++++
70061 include/linux/gracl_compat.h | 156 +++++++++++++++++++++
70062 4 files changed, 603 insertions(+), 142 deletions(-)
70063
70064 commit 9b2b2be730d058a2bac5ded5b51d087aa65eed9e
70065 Author: Brad Spengler <spender@grsecurity.net>
70066 Date: Tue Jul 16 20:40:24 2013 -0400
70067
70068 allow viewing of ecryptfs version under SYSFS_RESTRICT
70069
70070 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70071
70072 fs/sysfs/dir.c | 2 +-
70073 1 files changed, 1 insertions(+), 1 deletions(-)
70074
70075 commit 3e182e4da46de4c6b9a9f45d41030bef19260954
70076 Author: Brad Spengler <spender@grsecurity.net>
70077 Date: Sun Jul 14 11:49:17 2013 -0400
70078
70079 Update PaX fix, just return the error
70080
70081 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70082
70083 mm/madvise.c | 11 +++++------
70084 1 files changed, 5 insertions(+), 6 deletions(-)
70085
70086 commit 0e4d6c92225be5ed70eb4d826d020c1e49fb4870
70087 Author: Brad Spengler <spender@grsecurity.net>
70088 Date: Sun Jul 14 11:36:00 2013 -0400
70089
70090 Fix madvise oops reported by Peter Keel
70091
70092 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70093
70094 mm/madvise.c | 11 ++++++-----
70095 1 files changed, 6 insertions(+), 5 deletions(-)
70096
70097 commit 32537d92b8da84f38bf45eb85b6953f452064936
70098 Author: Brad Spengler <spender@grsecurity.net>
70099 Date: Tue Jul 9 22:04:59 2013 -0400
70100
70101 compile fixes
70102
70103 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70104
70105 fs/exec.c | 2 +-
70106 mm/mmap.c | 4 ++--
70107 2 files changed, 3 insertions(+), 3 deletions(-)
70108
70109 commit a03302441afb0f56cccc9648a5d5e3c4c4d0db70
70110 Author: Brad Spengler <spender@grsecurity.net>
70111 Date: Sat Sep 14 16:15:10 2013 -0400
70112
70113 Initial port of grsecurity to 3.11 using new git method
70114
70115 Documentation/kernel-parameters.txt | 4 +
70116 Makefile | 8 +-
70117 arch/alpha/include/asm/cache.h | 4 +-
70118 arch/alpha/kernel/osf_sys.c | 12 +-
70119 arch/arm/include/asm/thread_info.h | 3 +-
70120 arch/arm/kernel/ptrace.c | 9 +
70121 arch/arm/kernel/traps.c | 7 +-
70122 arch/arm/mm/fault.c | 29 +-
70123 arch/arm/mm/mmap.c | 8 +-
70124 arch/avr32/include/asm/cache.h | 4 +-
70125 arch/blackfin/include/asm/cache.h | 3 +-
70126 arch/cris/include/arch-v10/arch/cache.h | 3 +-
70127 arch/cris/include/arch-v32/arch/cache.h | 3 +-
70128 arch/frv/include/asm/cache.h | 3 +-
70129 arch/frv/mm/elf-fdpic.c | 4 +-
70130 arch/hexagon/include/asm/cache.h | 6 +-
70131 arch/ia64/include/asm/cache.h | 3 +-
70132 arch/ia64/kernel/sys_ia64.c | 2 +
70133 arch/ia64/mm/hugetlbpage.c | 2 +
70134 arch/m32r/include/asm/cache.h | 4 +-
70135 arch/m68k/include/asm/cache.h | 4 +-
70136 arch/metag/mm/hugetlbpage.c | 1 +
70137 arch/microblaze/include/asm/cache.h | 3 +-
70138 arch/mips/include/asm/cache.h | 3 +-
70139 arch/mips/include/asm/thread_info.h | 12 +-
70140 arch/mips/kernel/ptrace.c | 9 +
70141 arch/mips/mm/mmap.c | 4 +-
70142 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
70143 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
70144 arch/openrisc/include/asm/cache.h | 4 +-
70145 arch/parisc/include/asm/cache.h | 5 +-
70146 arch/parisc/kernel/sys_parisc.c | 17 +-
70147 arch/powerpc/include/asm/cache.h | 3 +-
70148 arch/powerpc/kernel/process.c | 10 +-
70149 arch/powerpc/kernel/ptrace.c | 14 +
70150 arch/powerpc/kernel/traps.c | 5 +
70151 arch/s390/include/asm/cache.h | 4 +-
70152 arch/score/include/asm/cache.h | 4 +-
70153 arch/sh/include/asm/cache.h | 3 +-
70154 arch/sh/mm/mmap.c | 6 +-
70155 arch/sparc/include/asm/cache.h | 4 +-
70156 arch/sparc/include/asm/thread_info_64.h | 9 +-
70157 arch/sparc/kernel/process_32.c | 6 +-
70158 arch/sparc/kernel/process_64.c | 4 +-
70159 arch/sparc/kernel/ptrace_64.c | 14 +
70160 arch/sparc/kernel/sys_sparc_64.c | 8 +-
70161 arch/sparc/kernel/syscalls.S | 8 +-
70162 arch/sparc/kernel/traps_32.c | 8 +-
70163 arch/sparc/kernel/traps_64.c | 28 +-
70164 arch/sparc/kernel/unaligned_64.c | 2 +-
70165 arch/sparc/mm/fault_64.c | 2 +-
70166 arch/sparc/mm/hugetlbpage.c | 3 +-
70167 arch/tile/include/asm/cache.h | 3 +-
70168 arch/tile/mm/hugetlbpage.c | 2 +
70169 arch/um/defconfig | 1 -
70170 arch/um/include/asm/cache.h | 3 +-
70171 arch/unicore32/include/asm/cache.h | 6 +-
70172 arch/x86/Kconfig | 5 +-
70173 arch/x86/ia32/ia32_aout.c | 2 +
70174 arch/x86/include/asm/thread_info.h | 8 +-
70175 arch/x86/kernel/dumpstack.c | 8 +
70176 arch/x86/kernel/entry_32.S | 2 +-
70177 arch/x86/kernel/entry_64.S | 2 +-
70178 arch/x86/kernel/ioport.c | 13 +
70179 arch/x86/kernel/ptrace.c | 14 +
70180 arch/x86/kernel/signal.c | 9 +-
70181 arch/x86/kernel/smpboot.c | 3 +
70182 arch/x86/kernel/sys_i386_32.c | 9 +-
70183 arch/x86/kernel/sys_x86_64.c | 8 +-
70184 arch/x86/kernel/verify_cpu.S | 1 +
70185 arch/x86/kernel/vm86_32.c | 1 +
70186 arch/x86/mm/fault.c | 12 +-
70187 arch/x86/mm/hugetlbpage.c | 15 +-
70188 arch/x86/mm/init.c | 66 +-
70189 arch/x86/net/bpf_jit_comp.c | 128 ++-
70190 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
70191 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
70192 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
70193 drivers/block/cciss.c | 2 +
70194 drivers/block/cpqarray.c | 1 +
70195 drivers/cdrom/cdrom.c | 2 +-
70196 drivers/char/Kconfig | 4 +-
70197 drivers/char/genrtc.c | 1 +
70198 drivers/char/mem.c | 17 +
70199 drivers/char/random.c | 12 +
70200 drivers/gpu/drm/drm_info.c | 4 +
70201 drivers/hid/hid-wiimote-debug.c | 2 +-
70202 drivers/media/radio/radio-cadet.c | 2 +-
70203 drivers/message/fusion/mptbase.c | 9 +
70204 drivers/net/bonding/bond_main.c | 2 +-
70205 drivers/net/phy/mdio-bitbang.c | 1 +
70206 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
70207 drivers/pci/proc.c | 9 +
70208 drivers/rtc/rtc-dev.c | 3 +
70209 drivers/tty/sysrq.c | 2 +-
70210 drivers/tty/vt/keyboard.c | 22 +-
70211 drivers/video/logo/logo_linux_clut224.ppm | 2000 +++++++++++---------
70212 drivers/xen/xenfs/xenstored.c | 5 +
70213 fs/attr.c | 1 +
70214 fs/autofs4/waitq.c | 9 +
70215 fs/binfmt_aout.c | 7 +
70216 fs/binfmt_elf.c | 8 +-
70217 fs/btrfs/ioctl.c | 6 +-
70218 fs/compat.c | 20 +-
70219 fs/coredump.c | 9 +-
70220 fs/debugfs/inode.c | 4 +
70221 fs/exec.c | 184 ++-
70222 fs/ext2/balloc.c | 4 +-
70223 fs/ext3/balloc.c | 4 +-
70224 fs/fcntl.c | 5 +
70225 fs/file.c | 4 +
70226 fs/filesystems.c | 4 +
70227 fs/fs_struct.c | 13 +-
70228 fs/hugetlbfs/inode.c | 5 +-
70229 fs/namei.c | 256 +++-
70230 fs/namespace.c | 16 +
70231 fs/open.c | 38 +
70232 fs/proc/Kconfig | 10 +-
70233 fs/proc/array.c | 59 +-
70234 fs/proc/base.c | 166 ++-
70235 fs/proc/cmdline.c | 4 +
70236 fs/proc/devices.c | 4 +
70237 fs/proc/fd.c | 17 +-
70238 fs/proc/inode.c | 4 +
70239 fs/proc/kcore.c | 3 +
70240 fs/proc/proc_net.c | 12 +
70241 fs/proc/proc_sysctl.c | 43 +-
70242 fs/proc/root.c | 8 +
70243 fs/proc/task_mmu.c | 75 +-
70244 fs/readdir.c | 19 +
70245 fs/select.c | 2 +
70246 fs/seq_file.c | 12 +-
70247 fs/stat.c | 19 +-
70248 fs/sysfs/dir.c | 12 +
70249 fs/utimes.c | 7 +
70250 fs/xattr.c | 19 +-
70251 include/linux/capability.h | 5 +
70252 include/linux/cred.h | 3 +
70253 include/linux/fs.h | 10 +
70254 include/linux/fsnotify.h | 6 +
70255 include/linux/kallsyms.h | 14 +-
70256 include/linux/kmod.h | 2 +
70257 include/linux/mm.h | 1 +
70258 include/linux/perf_event.h | 13 +-
70259 include/linux/printk.h | 3 +-
70260 include/linux/sched.h | 24 +-
70261 include/linux/security.h | 1 +
70262 include/linux/seq_file.h | 3 +
70263 include/linux/shm.h | 4 +
70264 include/linux/skbuff.h | 3 +
70265 include/linux/slab.h | 9 -
70266 include/linux/sysctl.h | 2 +
70267 include/linux/thread_info.h | 2 +
70268 include/linux/uidgid.h | 5 +
70269 include/linux/vermagic.h | 9 +-
70270 include/uapi/linux/personality.h | 1 +
70271 init/Kconfig | 3 +-
70272 init/main.c | 14 +
70273 ipc/mqueue.c | 1 +
70274 ipc/shm.c | 28 +
70275 kernel/capability.c | 39 +-
70276 kernel/cgroup.c | 2 +-
70277 kernel/compat.c | 1 +
70278 kernel/configs.c | 11 +
70279 kernel/cred.c | 110 ++-
70280 kernel/events/core.c | 14 +-
70281 kernel/exit.c | 10 +-
70282 kernel/fork.c | 41 +-
70283 kernel/futex.c | 1 +
70284 kernel/kallsyms.c | 9 +
70285 kernel/kcmp.c | 4 +
70286 kernel/kmod.c | 64 +-
70287 kernel/kprobes.c | 4 +-
70288 kernel/ksysfs.c | 2 +
70289 kernel/lockdep_proc.c | 10 +-
70290 kernel/module.c | 81 +-
70291 kernel/panic.c | 2 +-
70292 kernel/pid.c | 19 +-
70293 kernel/posix-timers.c | 7 +
70294 kernel/printk/printk.c | 5 +
70295 kernel/ptrace.c | 20 +-
70296 kernel/resource.c | 10 +
70297 kernel/sched/core.c | 6 +-
70298 kernel/signal.c | 37 +-
70299 kernel/sys.c | 45 +-
70300 kernel/sysctl.c | 69 +-
70301 kernel/taskstats.c | 6 +
70302 kernel/time.c | 5 +
70303 kernel/time/timekeeping.c | 1 +
70304 kernel/time/timer_list.c | 12 +
70305 kernel/time/timer_stats.c | 10 +-
70306 lib/Kconfig.debug | 5 +-
70307 lib/is_single_threaded.c | 3 +
70308 mm/Kconfig | 4 +-
70309 mm/filemap.c | 1 +
70310 mm/kmemleak.c | 4 +-
70311 mm/mempolicy.c | 12 +-
70312 mm/migrate.c | 3 +-
70313 mm/mlock.c | 3 +
70314 mm/mmap.c | 63 +-
70315 mm/mprotect.c | 8 +
70316 mm/process_vm_access.c | 6 +
70317 mm/slab.c | 2 +-
70318 mm/slub.c | 14 +-
70319 mm/vmalloc.c | 4 +
70320 mm/vmstat.c | 18 +-
70321 net/core/dev_ioctl.c | 4 +
70322 net/core/sock_diag.c | 7 +
70323 net/ipv4/inet_hashtables.c | 5 +
70324 net/ipv4/ip_sockglue.c | 3 +-
70325 net/ipv4/tcp_input.c | 4 +-
70326 net/ipv4/tcp_ipv4.c | 24 +-
70327 net/ipv4/tcp_minisocks.c | 9 +-
70328 net/ipv4/tcp_timer.c | 11 +
70329 net/ipv4/udp.c | 24 +
70330 net/ipv6/tcp_ipv6.c | 23 +-
70331 net/ipv6/udp.c | 4 +
70332 net/netfilter/Kconfig | 10 +
70333 net/netfilter/Makefile | 1 +
70334 net/netfilter/nf_conntrack_core.c | 8 +
70335 net/netrom/af_netrom.c | 1 -
70336 net/phonet/af_phonet.c | 2 +-
70337 net/sctp/proc.c | 3 +-
70338 net/socket.c | 66 +-
70339 net/sysctl_net.c | 2 +-
70340 net/unix/af_unix.c | 31 +-
70341 security/Kconfig | 341 +++-
70342 security/apparmor/Kconfig | 9 +
70343 security/apparmor/apparmorfs.c | 231 +++
70344 security/commoncap.c | 29 +
70345 security/min_addr.c | 2 +
70346 security/security.c | 2 -
70347 security/selinux/hooks.c | 2 -
70348 security/tomoyo/mount.c | 4 +
70349 security/yama/Kconfig | 2 +-
70350 235 files changed, 4384 insertions(+), 1312 deletions(-)
70351
70352 commit a76b033c58b4886552911442f1b89e0cee041dae
70353 Author: Brad Spengler <spender@grsecurity.net>
70354 Date: Tue Jul 9 20:57:40 2013 -0400
70355
70356 Commit merge of new files and rejected patches
70357
70358 Signed-off-by: Brad Spengler <spender@grsecurity.net>
70359
70360 arch/arm/include/asm/thread_info.h | 6 +-
70361 arch/arm/kernel/process.c | 4 +-
70362 arch/powerpc/include/asm/thread_info.h | 7 +-
70363 arch/powerpc/mm/slice.c | 2 +-
70364 arch/sparc/kernel/process_64.c | 4 +-
70365 arch/x86/kernel/vm86_32.c | 15 +
70366 fs/coredump.c | 1 +
70367 fs/ext4/balloc.c | 4 +-
70368 fs/namei.c | 7 +
70369 fs/namespace.c | 8 +
70370 fs/pipe.c | 2 +-
70371 fs/proc/inode.c | 13 +
70372 fs/proc/internal.h | 3 +
70373 grsecurity/Kconfig | 1054 +++++++++
70374 grsecurity/Makefile | 38 +
70375 grsecurity/gracl.c | 4073 ++++++++++++++++++++++++++++++++
70376 grsecurity/gracl_alloc.c | 105 +
70377 grsecurity/gracl_cap.c | 110 +
70378 grsecurity/gracl_fs.c | 431 ++++
70379 grsecurity/gracl_ip.c | 387 +++
70380 grsecurity/gracl_learn.c | 207 ++
70381 grsecurity/gracl_res.c | 68 +
70382 grsecurity/gracl_segv.c | 305 +++
70383 grsecurity/gracl_shm.c | 40 +
70384 grsecurity/grsec_chdir.c | 19 +
70385 grsecurity/grsec_chroot.c | 370 +++
70386 grsecurity/grsec_disabled.c | 434 ++++
70387 grsecurity/grsec_exec.c | 187 ++
70388 grsecurity/grsec_fifo.c | 24 +
70389 grsecurity/grsec_fork.c | 23 +
70390 grsecurity/grsec_init.c | 283 +++
70391 grsecurity/grsec_link.c | 58 +
70392 grsecurity/grsec_log.c | 326 +++
70393 grsecurity/grsec_mem.c | 40 +
70394 grsecurity/grsec_mount.c | 62 +
70395 grsecurity/grsec_pax.c | 36 +
70396 grsecurity/grsec_ptrace.c | 30 +
70397 grsecurity/grsec_sig.c | 246 ++
70398 grsecurity/grsec_sock.c | 244 ++
70399 grsecurity/grsec_sysctl.c | 469 ++++
70400 grsecurity/grsec_time.c | 16 +
70401 grsecurity/grsec_tpe.c | 73 +
70402 grsecurity/grsum.c | 61 +
70403 include/linux/gracl.h | 319 +++
70404 include/linux/gralloc.h | 9 +
70405 include/linux/grdefs.h | 140 ++
70406 include/linux/grinternal.h | 227 ++
70407 include/linux/grmsg.h | 112 +
70408 include/linux/grsecurity.h | 241 ++
70409 include/linux/grsock.h | 19 +
70410 include/linux/netfilter/xt_gradm.h | 9 +
70411 include/linux/proc_fs.h | 13 +
70412 include/linux/sched.h | 48 +-
70413 include/trace/events/fs.h | 53 +
70414 kernel/kmod.c | 7 +-
70415 kernel/panic.c | 2 +-
70416 kernel/posix-timers.c | 1 +
70417 kernel/time/timekeeping.c | 2 +
70418 lib/Kconfig.debug | 2 +-
70419 lib/vsprintf.c | 31 +
70420 localversion-grsec | 1 +
70421 mm/mmap.c | 13 +-
70422 mm/shmem.c | 2 +-
70423 net/core/net-procfs.c | 5 +
70424 net/ipv6/udp.c | 3 +
70425 net/netfilter/xt_gradm.c | 51 +
70426 66 files changed, 11184 insertions(+), 21 deletions(-)
70427
70428 commit d1cf217118e0750f54aca9136d8c6a41f0ae439c
70429 Author: Brad Spengler <spender@grsecurity.net>
70430 Date: Sat Sep 14 14:36:40 2013 -0400
70431
70432 Initial import of pax-linux-3.11-test4.patch
70433
70434 Documentation/dontdiff | 46 +-
70435 Documentation/kernel-parameters.txt | 23 +
70436 Makefile | 100 +-
70437 arch/alpha/include/asm/atomic.h | 10 +
70438 arch/alpha/include/asm/elf.h | 7 +
70439 arch/alpha/include/asm/pgalloc.h | 6 +
70440 arch/alpha/include/asm/pgtable.h | 11 +
70441 arch/alpha/kernel/module.c | 2 +-
70442 arch/alpha/kernel/osf_sys.c | 8 +-
70443 arch/alpha/mm/fault.c | 141 +-
70444 arch/arm/Kconfig | 2 +-
70445 arch/arm/include/asm/atomic.h | 444 ++-
70446 arch/arm/include/asm/cache.h | 5 +-
70447 arch/arm/include/asm/cacheflush.h | 2 +-
70448 arch/arm/include/asm/checksum.h | 14 +-
70449 arch/arm/include/asm/cmpxchg.h | 2 +
70450 arch/arm/include/asm/domain.h | 33 +-
70451 arch/arm/include/asm/elf.h | 13 +-
70452 arch/arm/include/asm/fncpy.h | 2 +
70453 arch/arm/include/asm/futex.h | 10 +
70454 arch/arm/include/asm/kmap_types.h | 2 +-
70455 arch/arm/include/asm/mach/dma.h | 2 +-
70456 arch/arm/include/asm/mach/map.h | 7 +-
70457 arch/arm/include/asm/outercache.h | 2 +-
70458 arch/arm/include/asm/page.h | 2 +-
70459 arch/arm/include/asm/pgalloc.h | 22 +-
70460 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
70461 arch/arm/include/asm/pgtable-2level.h | 3 +
70462 arch/arm/include/asm/pgtable-3level-hwdef.h | 1 +
70463 arch/arm/include/asm/pgtable-3level.h | 2 +
70464 arch/arm/include/asm/pgtable.h | 54 +-
70465 arch/arm/include/asm/proc-fns.h | 2 +-
70466 arch/arm/include/asm/psci.h | 2 +-
70467 arch/arm/include/asm/smp.h | 2 +-
70468 arch/arm/include/asm/thread_info.h | 6 +-
70469 arch/arm/include/asm/uaccess.h | 95 +-
70470 arch/arm/include/uapi/asm/ptrace.h | 2 +-
70471 arch/arm/kernel/armksyms.c | 8 +-
70472 arch/arm/kernel/entry-armv.S | 110 +-
70473 arch/arm/kernel/entry-common.S | 40 +-
70474 arch/arm/kernel/entry-header.S | 60 +
70475 arch/arm/kernel/fiq.c | 3 +
70476 arch/arm/kernel/head.S | 6 +-
70477 arch/arm/kernel/module.c | 29 +-
70478 arch/arm/kernel/patch.c | 2 +
70479 arch/arm/kernel/process.c | 42 +-
70480 arch/arm/kernel/psci.c | 2 +-
70481 arch/arm/kernel/setup.c | 22 +-
70482 arch/arm/kernel/signal.c | 35 +-
70483 arch/arm/kernel/smp.c | 2 +-
70484 arch/arm/kernel/traps.c | 8 +-
70485 arch/arm/kernel/vmlinux.lds.S | 22 +-
70486 arch/arm/kvm/arm.c | 8 +-
70487 arch/arm/lib/clear_user.S | 6 +-
70488 arch/arm/lib/copy_from_user.S | 6 +-
70489 arch/arm/lib/copy_page.S | 1 +
70490 arch/arm/lib/copy_to_user.S | 6 +-
70491 arch/arm/lib/csumpartialcopyuser.S | 4 +-
70492 arch/arm/lib/delay.c | 2 +-
70493 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
70494 arch/arm/mach-kirkwood/common.c | 19 +-
70495 arch/arm/mach-omap2/board-n8x0.c | 2 +-
70496 arch/arm/mach-omap2/gpmc.c | 22 +-
70497 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
70498 arch/arm/mach-omap2/omap_device.c | 4 +-
70499 arch/arm/mach-omap2/omap_device.h | 4 +-
70500 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
70501 arch/arm/mach-omap2/wd_timer.c | 6 +-
70502 arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +-
70503 arch/arm/mach-ux500/setup.h | 7 -
70504 arch/arm/mm/Kconfig | 6 +-
70505 arch/arm/mm/alignment.c | 8 +
70506 arch/arm/mm/context.c | 10 +-
70507 arch/arm/mm/fault.c | 104 +
70508 arch/arm/mm/fault.h | 12 +
70509 arch/arm/mm/init.c | 41 +
70510 arch/arm/mm/ioremap.c | 4 +-
70511 arch/arm/mm/mmap.c | 30 +-
70512 arch/arm/mm/mmu.c | 185 +-
70513 arch/arm/plat-omap/sram.c | 2 +
70514 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
70515 arch/avr32/include/asm/elf.h | 8 +-
70516 arch/avr32/include/asm/kmap_types.h | 4 +-
70517 arch/avr32/mm/fault.c | 27 +
70518 arch/frv/include/asm/atomic.h | 10 +
70519 arch/frv/include/asm/kmap_types.h | 2 +-
70520 arch/frv/mm/elf-fdpic.c | 3 +-
70521 arch/ia64/include/asm/atomic.h | 10 +
70522 arch/ia64/include/asm/elf.h | 7 +
70523 arch/ia64/include/asm/pgalloc.h | 12 +
70524 arch/ia64/include/asm/pgtable.h | 13 +-
70525 arch/ia64/include/asm/spinlock.h | 2 +-
70526 arch/ia64/include/asm/uaccess.h | 26 +-
70527 arch/ia64/kernel/module.c | 48 +-
70528 arch/ia64/kernel/palinfo.c | 2 +-
70529 arch/ia64/kernel/sys_ia64.c | 7 +
70530 arch/ia64/kernel/vmlinux.lds.S | 2 +-
70531 arch/ia64/mm/fault.c | 32 +-
70532 arch/ia64/mm/init.c | 13 +
70533 arch/m32r/lib/usercopy.c | 6 +
70534 arch/mips/include/asm/atomic.h | 728 +++-
70535 arch/mips/include/asm/elf.h | 11 +-
70536 arch/mips/include/asm/exec.h | 2 +-
70537 arch/mips/include/asm/local.h | 57 +
70538 arch/mips/include/asm/page.h | 2 +-
70539 arch/mips/include/asm/pgalloc.h | 5 +
70540 arch/mips/include/asm/smtc_proc.h | 2 +-
70541 arch/mips/kernel/binfmt_elfn32.c | 7 +
70542 arch/mips/kernel/binfmt_elfo32.c | 7 +
70543 arch/mips/kernel/irq.c | 6 +-
70544 arch/mips/kernel/process.c | 12 -
70545 arch/mips/kernel/smtc-proc.c | 6 +-
70546 arch/mips/kernel/smtc.c | 2 +-
70547 arch/mips/kernel/sync-r4k.c | 24 +-
70548 arch/mips/kernel/traps.c | 13 +-
70549 arch/mips/mm/fault.c | 25 +
70550 arch/mips/mm/mmap.c | 51 +-
70551 arch/mips/sgi-ip27/ip27-nmi.c | 6 +-
70552 arch/parisc/include/asm/atomic.h | 10 +
70553 arch/parisc/include/asm/elf.h | 7 +
70554 arch/parisc/include/asm/pgalloc.h | 6 +
70555 arch/parisc/include/asm/pgtable.h | 11 +
70556 arch/parisc/include/asm/uaccess.h | 4 +-
70557 arch/parisc/kernel/module.c | 50 +-
70558 arch/parisc/kernel/sys_parisc.c | 9 +-
70559 arch/parisc/kernel/traps.c | 4 +-
70560 arch/parisc/mm/fault.c | 140 +-
70561 arch/powerpc/include/asm/atomic.h | 10 +
70562 arch/powerpc/include/asm/elf.h | 19 +-
70563 arch/powerpc/include/asm/exec.h | 2 +-
70564 arch/powerpc/include/asm/kmap_types.h | 2 +-
70565 arch/powerpc/include/asm/mman.h | 2 +-
70566 arch/powerpc/include/asm/page.h | 8 +-
70567 arch/powerpc/include/asm/page_64.h | 7 +-
70568 arch/powerpc/include/asm/pgalloc-64.h | 7 +
70569 arch/powerpc/include/asm/pgtable.h | 1 +
70570 arch/powerpc/include/asm/pte-hash32.h | 1 +
70571 arch/powerpc/include/asm/reg.h | 1 +
70572 arch/powerpc/include/asm/smp.h | 2 +-
70573 arch/powerpc/include/asm/uaccess.h | 140 +-
70574 arch/powerpc/kernel/exceptions-64e.S | 4 +-
70575 arch/powerpc/kernel/exceptions-64s.S | 2 +-
70576 arch/powerpc/kernel/module_32.c | 13 +-
70577 arch/powerpc/kernel/process.c | 55 -
70578 arch/powerpc/kernel/signal_32.c | 2 +-
70579 arch/powerpc/kernel/signal_64.c | 2 +-
70580 arch/powerpc/kernel/vdso.c | 5 +-
70581 arch/powerpc/lib/usercopy_64.c | 18 -
70582 arch/powerpc/mm/fault.c | 54 +-
70583 arch/powerpc/mm/mmap.c | 16 +
70584 arch/powerpc/mm/slice.c | 13 +-
70585 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
70586 arch/s390/include/asm/atomic.h | 10 +
70587 arch/s390/include/asm/elf.h | 13 +-
70588 arch/s390/include/asm/exec.h | 2 +-
70589 arch/s390/include/asm/uaccess.h | 15 +-
70590 arch/s390/kernel/module.c | 22 +-
70591 arch/s390/kernel/process.c | 36 -
70592 arch/s390/mm/mmap.c | 24 +
70593 arch/score/include/asm/exec.h | 2 +-
70594 arch/score/kernel/process.c | 5 -
70595 arch/sh/mm/mmap.c | 22 +-
70596 arch/sparc/include/asm/atomic_64.h | 106 +-
70597 arch/sparc/include/asm/cache.h | 2 +-
70598 arch/sparc/include/asm/elf_32.h | 7 +
70599 arch/sparc/include/asm/elf_64.h | 7 +
70600 arch/sparc/include/asm/pgalloc_32.h | 1 +
70601 arch/sparc/include/asm/pgalloc_64.h | 1 +
70602 arch/sparc/include/asm/pgtable_32.h | 15 +-
70603 arch/sparc/include/asm/pgtsrmmu.h | 5 +
70604 arch/sparc/include/asm/spinlock_64.h | 35 +-
70605 arch/sparc/include/asm/thread_info_32.h | 2 +
70606 arch/sparc/include/asm/thread_info_64.h | 2 +
70607 arch/sparc/include/asm/uaccess.h | 1 +
70608 arch/sparc/include/asm/uaccess_32.h | 27 +-
70609 arch/sparc/include/asm/uaccess_64.h | 19 +-
70610 arch/sparc/kernel/Makefile | 2 +-
70611 arch/sparc/kernel/prom_common.c | 2 +-
70612 arch/sparc/kernel/smp_64.c | 12 +-
70613 arch/sparc/kernel/sys_sparc_32.c | 2 +-
70614 arch/sparc/kernel/sys_sparc_64.c | 52 +-
70615 arch/sparc/kernel/traps_64.c | 27 +-
70616 arch/sparc/lib/Makefile | 2 +-
70617 arch/sparc/lib/atomic_64.S | 136 +-
70618 arch/sparc/lib/ksyms.c | 6 +
70619 arch/sparc/mm/Makefile | 2 +-
70620 arch/sparc/mm/fault_32.c | 292 +
70621 arch/sparc/mm/fault_64.c | 486 ++
70622 arch/sparc/mm/hugetlbpage.c | 21 +-
70623 arch/sparc/mm/init_64.c | 10 +-
70624 arch/tile/include/asm/atomic_64.h | 10 +
70625 arch/tile/include/asm/uaccess.h | 4 +-
70626 arch/um/Makefile | 4 +
70627 arch/um/include/asm/kmap_types.h | 2 +-
70628 arch/um/include/asm/page.h | 3 +
70629 arch/um/include/asm/pgtable-3level.h | 1 +
70630 arch/um/kernel/process.c | 16 -
70631 arch/x86/Kconfig | 10 +-
70632 arch/x86/Kconfig.cpu | 6 +-
70633 arch/x86/Kconfig.debug | 4 +-
70634 arch/x86/Makefile | 10 +
70635 arch/x86/boot/Makefile | 3 +
70636 arch/x86/boot/bitops.h | 4 +-
70637 arch/x86/boot/boot.h | 4 +-
70638 arch/x86/boot/compressed/Makefile | 3 +
70639 arch/x86/boot/compressed/eboot.c | 2 -
70640 arch/x86/boot/compressed/efi_stub_32.S | 16 +-
70641 arch/x86/boot/compressed/head_32.S | 7 +-
70642 arch/x86/boot/compressed/head_64.S | 8 +-
70643 arch/x86/boot/compressed/misc.c | 4 +-
70644 arch/x86/boot/cpucheck.c | 28 +-
70645 arch/x86/boot/header.S | 6 +-
70646 arch/x86/boot/memory.c | 2 +-
70647 arch/x86/boot/video-vesa.c | 1 +
70648 arch/x86/boot/video.c | 2 +-
70649 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
70650 arch/x86/crypto/aesni-intel_asm.S | 22 +
70651 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
70652 arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 +
70653 arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 +
70654 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
70655 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
70656 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 9 +
70657 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +
70658 arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +
70659 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
70660 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 +
70661 arch/x86/crypto/serpent-avx2-asm_64.S | 9 +
70662 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
70663 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
70664 arch/x86/crypto/sha256-avx-asm.S | 2 +
70665 arch/x86/crypto/sha256-avx2-asm.S | 2 +
70666 arch/x86/crypto/sha256-ssse3-asm.S | 2 +
70667 arch/x86/crypto/sha512-avx-asm.S | 2 +
70668 arch/x86/crypto/sha512-avx2-asm.S | 2 +
70669 arch/x86/crypto/sha512-ssse3-asm.S | 2 +
70670 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 9 +
70671 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
70672 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
70673 arch/x86/ia32/ia32_signal.c | 16 +-
70674 arch/x86/ia32/ia32entry.S | 157 +-
70675 arch/x86/ia32/sys_ia32.c | 4 +-
70676 arch/x86/include/asm/alternative-asm.h | 39 +
70677 arch/x86/include/asm/alternative.h | 4 +-
70678 arch/x86/include/asm/apic.h | 2 +-
70679 arch/x86/include/asm/apm.h | 4 +-
70680 arch/x86/include/asm/atomic.h | 307 +-
70681 arch/x86/include/asm/atomic64_32.h | 100 +
70682 arch/x86/include/asm/atomic64_64.h | 202 +-
70683 arch/x86/include/asm/bitops.h | 4 +-
70684 arch/x86/include/asm/boot.h | 7 +-
70685 arch/x86/include/asm/cache.h | 5 +-
70686 arch/x86/include/asm/cacheflush.h | 2 +-
70687 arch/x86/include/asm/checksum_32.h | 12 +-
70688 arch/x86/include/asm/cmpxchg.h | 35 +
70689 arch/x86/include/asm/compat.h | 2 +-
70690 arch/x86/include/asm/cpufeature.h | 16 +-
70691 arch/x86/include/asm/desc.h | 74 +-
70692 arch/x86/include/asm/desc_defs.h | 6 +
70693 arch/x86/include/asm/div64.h | 2 +-
70694 arch/x86/include/asm/elf.h | 31 +-
70695 arch/x86/include/asm/emergency-restart.h | 2 +-
70696 arch/x86/include/asm/fpu-internal.h | 8 +-
70697 arch/x86/include/asm/futex.h | 20 +-
70698 arch/x86/include/asm/hw_irq.h | 4 +-
70699 arch/x86/include/asm/i8259.h | 2 +-
70700 arch/x86/include/asm/io.h | 21 +-
70701 arch/x86/include/asm/irqflags.h | 5 +
70702 arch/x86/include/asm/kprobes.h | 9 +-
70703 arch/x86/include/asm/local.h | 142 +-
70704 arch/x86/include/asm/mman.h | 15 +
70705 arch/x86/include/asm/mmu.h | 16 +-
70706 arch/x86/include/asm/mmu_context.h | 128 +-
70707 arch/x86/include/asm/module.h | 17 +-
70708 arch/x86/include/asm/nmi.h | 6 +-
70709 arch/x86/include/asm/page.h | 1 +
70710 arch/x86/include/asm/page_64.h | 4 +-
70711 arch/x86/include/asm/paravirt.h | 46 +-
70712 arch/x86/include/asm/paravirt_types.h | 17 +-
70713 arch/x86/include/asm/pgalloc.h | 23 +
70714 arch/x86/include/asm/pgtable-2level.h | 2 +
70715 arch/x86/include/asm/pgtable-3level.h | 4 +
70716 arch/x86/include/asm/pgtable.h | 124 +-
70717 arch/x86/include/asm/pgtable_32.h | 14 +-
70718 arch/x86/include/asm/pgtable_32_types.h | 15 +-
70719 arch/x86/include/asm/pgtable_64.h | 19 +-
70720 arch/x86/include/asm/pgtable_64_types.h | 5 +
70721 arch/x86/include/asm/pgtable_types.h | 36 +-
70722 arch/x86/include/asm/processor.h | 82 +-
70723 arch/x86/include/asm/ptrace.h | 26 +-
70724 arch/x86/include/asm/realmode.h | 4 +-
70725 arch/x86/include/asm/reboot.h | 10 +-
70726 arch/x86/include/asm/rwsem.h | 60 +-
70727 arch/x86/include/asm/segment.h | 29 +-
70728 arch/x86/include/asm/smap.h | 64 +-
70729 arch/x86/include/asm/smp.h | 14 +-
70730 arch/x86/include/asm/spinlock.h | 36 +-
70731 arch/x86/include/asm/stackprotector.h | 4 +-
70732 arch/x86/include/asm/stacktrace.h | 32 +-
70733 arch/x86/include/asm/switch_to.h | 4 +-
70734 arch/x86/include/asm/thread_info.h | 83 +-
70735 arch/x86/include/asm/tlbflush.h | 74 +-
70736 arch/x86/include/asm/uaccess.h | 112 +-
70737 arch/x86/include/asm/uaccess_32.h | 106 +-
70738 arch/x86/include/asm/uaccess_64.h | 232 +-
70739 arch/x86/include/asm/word-at-a-time.h | 2 +-
70740 arch/x86/include/asm/x86_init.h | 10 +-
70741 arch/x86/include/asm/xsave.h | 14 +-
70742 arch/x86/include/uapi/asm/e820.h | 2 +-
70743 arch/x86/kernel/Makefile | 2 +-
70744 arch/x86/kernel/acpi/boot.c | 4 +-
70745 arch/x86/kernel/acpi/sleep.c | 4 +
70746 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
70747 arch/x86/kernel/alternative.c | 65 +-
70748 arch/x86/kernel/apic/apic.c | 4 +-
70749 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
70750 arch/x86/kernel/apic/apic_noop.c | 2 +-
70751 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
70752 arch/x86/kernel/apic/es7000_32.c | 5 +-
70753 arch/x86/kernel/apic/io_apic.c | 8 +-
70754 arch/x86/kernel/apic/numaq_32.c | 3 +-
70755 arch/x86/kernel/apic/probe_32.c | 2 +-
70756 arch/x86/kernel/apic/summit_32.c | 2 +-
70757 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
70758 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
70759 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
70760 arch/x86/kernel/apm_32.c | 19 +-
70761 arch/x86/kernel/asm-offsets.c | 20 +
70762 arch/x86/kernel/asm-offsets_64.c | 1 +
70763 arch/x86/kernel/cpu/Makefile | 4 -
70764 arch/x86/kernel/cpu/amd.c | 2 +-
70765 arch/x86/kernel/cpu/common.c | 130 +-
70766 arch/x86/kernel/cpu/intel_cacheinfo.c | 48 +-
70767 arch/x86/kernel/cpu/mcheck/mce.c | 31 +-
70768 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
70769 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
70770 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
70771 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
70772 arch/x86/kernel/cpu/perf_event.c | 8 +-
70773 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
70774 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
70775 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
70776 arch/x86/kernel/cpuid.c | 2 +-
70777 arch/x86/kernel/crash.c | 4 +-
70778 arch/x86/kernel/crash_dump_64.c | 2 +-
70779 arch/x86/kernel/doublefault.c | 8 +-
70780 arch/x86/kernel/dumpstack.c | 30 +-
70781 arch/x86/kernel/dumpstack_32.c | 34 +-
70782 arch/x86/kernel/dumpstack_64.c | 61 +-
70783 arch/x86/kernel/e820.c | 4 +-
70784 arch/x86/kernel/early_printk.c | 1 +
70785 arch/x86/kernel/entry_32.S | 356 +-
70786 arch/x86/kernel/entry_64.S | 669 ++-
70787 arch/x86/kernel/ftrace.c | 14 +-
70788 arch/x86/kernel/head64.c | 13 +-
70789 arch/x86/kernel/head_32.S | 228 +-
70790 arch/x86/kernel/head_64.S | 138 +-
70791 arch/x86/kernel/i386_ksyms_32.c | 12 +
70792 arch/x86/kernel/i387.c | 2 +-
70793 arch/x86/kernel/i8259.c | 10 +-
70794 arch/x86/kernel/io_delay.c | 2 +-
70795 arch/x86/kernel/ioport.c | 2 +-
70796 arch/x86/kernel/irq.c | 8 +-
70797 arch/x86/kernel/irq_32.c | 67 +-
70798 arch/x86/kernel/irq_64.c | 2 +-
70799 arch/x86/kernel/kdebugfs.c | 2 +-
70800 arch/x86/kernel/kgdb.c | 25 +-
70801 arch/x86/kernel/kprobes/core.c | 30 +-
70802 arch/x86/kernel/kprobes/opt.c | 16 +-
70803 arch/x86/kernel/ldt.c | 31 +-
70804 arch/x86/kernel/machine_kexec_32.c | 6 +-
70805 arch/x86/kernel/microcode_core.c | 2 +-
70806 arch/x86/kernel/microcode_intel.c | 4 +-
70807 arch/x86/kernel/module.c | 76 +-
70808 arch/x86/kernel/msr.c | 2 +-
70809 arch/x86/kernel/nmi.c | 19 +-
70810 arch/x86/kernel/nmi_selftest.c | 4 +-
70811 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
70812 arch/x86/kernel/paravirt.c | 43 +-
70813 arch/x86/kernel/pci-calgary_64.c | 2 +-
70814 arch/x86/kernel/pci-iommu_table.c | 2 +-
70815 arch/x86/kernel/pci-swiotlb.c | 2 +-
70816 arch/x86/kernel/process.c | 55 +-
70817 arch/x86/kernel/process_32.c | 29 +-
70818 arch/x86/kernel/process_64.c | 20 +-
70819 arch/x86/kernel/ptrace.c | 25 +-
70820 arch/x86/kernel/pvclock.c | 8 +-
70821 arch/x86/kernel/reboot.c | 42 +-
70822 arch/x86/kernel/reboot_fixups_32.c | 2 +-
70823 arch/x86/kernel/relocate_kernel_64.S | 5 +-
70824 arch/x86/kernel/setup.c | 65 +-
70825 arch/x86/kernel/setup_percpu.c | 29 +-
70826 arch/x86/kernel/signal.c | 19 +-
70827 arch/x86/kernel/smp.c | 2 +-
70828 arch/x86/kernel/smpboot.c | 28 +-
70829 arch/x86/kernel/step.c | 10 +-
70830 arch/x86/kernel/sys_i386_32.c | 184 +
70831 arch/x86/kernel/sys_x86_64.c | 22 +-
70832 arch/x86/kernel/tboot.c | 12 +-
70833 arch/x86/kernel/time.c | 10 +-
70834 arch/x86/kernel/tls.c | 7 +-
70835 arch/x86/kernel/tracepoint.c | 4 +-
70836 arch/x86/kernel/traps.c | 62 +-
70837 arch/x86/kernel/uprobes.c | 4 +-
70838 arch/x86/kernel/vm86_32.c | 6 +-
70839 arch/x86/kernel/vmlinux.lds.S | 147 +-
70840 arch/x86/kernel/vsyscall_64.c | 12 +-
70841 arch/x86/kernel/x8664_ksyms_64.c | 6 +-
70842 arch/x86/kernel/x86_init.c | 6 +-
70843 arch/x86/kernel/xsave.c | 2 +
70844 arch/x86/kvm/cpuid.c | 21 +-
70845 arch/x86/kvm/lapic.c | 2 +-
70846 arch/x86/kvm/paging_tmpl.h | 2 +-
70847 arch/x86/kvm/svm.c | 8 +
70848 arch/x86/kvm/vmx.c | 61 +-
70849 arch/x86/kvm/x86.c | 8 +-
70850 arch/x86/lguest/boot.c | 3 +-
70851 arch/x86/lib/atomic64_386_32.S | 164 +
70852 arch/x86/lib/atomic64_cx8_32.S | 103 +-
70853 arch/x86/lib/checksum_32.S | 100 +-
70854 arch/x86/lib/clear_page_64.S | 5 +-
70855 arch/x86/lib/cmpxchg16b_emu.S | 2 +
70856 arch/x86/lib/copy_page_64.S | 24 +-
70857 arch/x86/lib/copy_user_64.S | 89 +-
70858 arch/x86/lib/copy_user_nocache_64.S | 22 +-
70859 arch/x86/lib/csum-copy_64.S | 2 +
70860 arch/x86/lib/csum-wrappers_64.c | 13 +-
70861 arch/x86/lib/getuser.S | 74 +-
70862 arch/x86/lib/insn.c | 6 +-
70863 arch/x86/lib/iomap_copy_64.S | 2 +
70864 arch/x86/lib/memcpy_64.S | 22 +-
70865 arch/x86/lib/memmove_64.S | 36 +-
70866 arch/x86/lib/memset_64.S | 11 +-
70867 arch/x86/lib/mmx_32.c | 243 +-
70868 arch/x86/lib/msr-reg.S | 18 +-
70869 arch/x86/lib/putuser.S | 90 +-
70870 arch/x86/lib/rwlock.S | 42 +
70871 arch/x86/lib/rwsem.S | 6 +-
70872 arch/x86/lib/thunk_64.S | 2 +
70873 arch/x86/lib/usercopy_32.c | 363 +-
70874 arch/x86/lib/usercopy_64.c | 18 +-
70875 arch/x86/mm/Makefile | 4 +
70876 arch/x86/mm/extable.c | 25 +-
70877 arch/x86/mm/fault.c | 571 ++-
70878 arch/x86/mm/gup.c | 2 +-
70879 arch/x86/mm/highmem_32.c | 4 +
70880 arch/x86/mm/hugetlbpage.c | 30 +-
70881 arch/x86/mm/init.c | 101 +-
70882 arch/x86/mm/init_32.c | 111 +-
70883 arch/x86/mm/init_64.c | 45 +-
70884 arch/x86/mm/iomap_32.c | 4 +
70885 arch/x86/mm/ioremap.c | 15 +-
70886 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
70887 arch/x86/mm/mmap.c | 36 +-
70888 arch/x86/mm/mmio-mod.c | 10 +-
70889 arch/x86/mm/numa.c | 2 +-
70890 arch/x86/mm/pageattr-test.c | 2 +-
70891 arch/x86/mm/pageattr.c | 33 +-
70892 arch/x86/mm/pat.c | 12 +-
70893 arch/x86/mm/pat_rbtree.c | 2 +-
70894 arch/x86/mm/pf_in.c | 10 +-
70895 arch/x86/mm/pgtable.c | 139 +-
70896 arch/x86/mm/pgtable_32.c | 3 +
70897 arch/x86/mm/physaddr.c | 4 +-
70898 arch/x86/mm/setup_nx.c | 7 +
70899 arch/x86/mm/tlb.c | 4 +
70900 arch/x86/mm/uderef_64.c | 37 +
70901 arch/x86/net/bpf_jit.S | 14 +
70902 arch/x86/net/bpf_jit_comp.c | 39 +-
70903 arch/x86/oprofile/backtrace.c | 8 +-
70904 arch/x86/oprofile/nmi_int.c | 8 +-
70905 arch/x86/oprofile/op_model_amd.c | 8 +-
70906 arch/x86/oprofile/op_model_ppro.c | 7 +-
70907 arch/x86/oprofile/op_x86_model.h | 2 +-
70908 arch/x86/pci/irq.c | 8 +-
70909 arch/x86/pci/mrst.c | 4 +-
70910 arch/x86/pci/pcbios.c | 144 +-
70911 arch/x86/platform/efi/efi_32.c | 24 +
70912 arch/x86/platform/efi/efi_64.c | 10 +
70913 arch/x86/platform/efi/efi_stub_32.S | 64 +-
70914 arch/x86/platform/efi/efi_stub_64.S | 8 +
70915 arch/x86/platform/mrst/mrst.c | 6 +-
70916 arch/x86/platform/olpc/olpc_dt.c | 2 +-
70917 arch/x86/power/cpu.c | 11 +-
70918 arch/x86/realmode/init.c | 10 +-
70919 arch/x86/realmode/rm/Makefile | 3 +
70920 arch/x86/realmode/rm/header.S | 4 +-
70921 arch/x86/realmode/rm/trampoline_32.S | 12 +-
70922 arch/x86/realmode/rm/trampoline_64.S | 3 +-
70923 arch/x86/tools/Makefile | 2 +-
70924 arch/x86/tools/relocs.c | 94 +-
70925 arch/x86/um/tls_32.c | 2 +-
70926 arch/x86/vdso/Makefile | 2 +-
70927 arch/x86/vdso/vdso32-setup.c | 23 +-
70928 arch/x86/vdso/vma.c | 29 +-
70929 arch/x86/xen/enlighten.c | 45 +-
70930 arch/x86/xen/mmu.c | 9 +
70931 arch/x86/xen/smp.c | 18 +-
70932 arch/x86/xen/xen-asm_32.S | 12 +-
70933 arch/x86/xen/xen-head.S | 11 +
70934 arch/x86/xen/xen-ops.h | 2 -
70935 block/blk-cgroup.c | 4 +-
70936 block/blk-iopoll.c | 2 +-
70937 block/blk-map.c | 2 +-
70938 block/blk-softirq.c | 2 +-
70939 block/bsg.c | 12 +-
70940 block/compat_ioctl.c | 2 +-
70941 block/genhd.c | 9 +-
70942 block/partitions/efi.c | 8 +-
70943 block/scsi_ioctl.c | 27 +-
70944 crypto/cryptd.c | 4 +-
70945 crypto/pcrypt.c | 2 +-
70946 drivers/acpi/apei/apei-internal.h | 2 +-
70947 drivers/acpi/apei/cper.c | 8 +-
70948 drivers/acpi/apei/ghes.c | 4 +-
70949 drivers/acpi/bgrt.c | 6 +-
70950 drivers/acpi/blacklist.c | 4 +-
70951 drivers/acpi/processor_idle.c | 2 +-
70952 drivers/acpi/sysfs.c | 4 +-
70953 drivers/ata/libahci.c | 2 +-
70954 drivers/ata/libata-core.c | 12 +-
70955 drivers/ata/libata-scsi.c | 2 +-
70956 drivers/ata/libata.h | 2 +-
70957 drivers/ata/pata_arasan_cf.c | 4 +-
70958 drivers/atm/adummy.c | 2 +-
70959 drivers/atm/ambassador.c | 8 +-
70960 drivers/atm/atmtcp.c | 14 +-
70961 drivers/atm/eni.c | 10 +-
70962 drivers/atm/firestream.c | 8 +-
70963 drivers/atm/fore200e.c | 14 +-
70964 drivers/atm/he.c | 18 +-
70965 drivers/atm/horizon.c | 4 +-
70966 drivers/atm/idt77252.c | 36 +-
70967 drivers/atm/iphase.c | 34 +-
70968 drivers/atm/lanai.c | 12 +-
70969 drivers/atm/nicstar.c | 46 +-
70970 drivers/atm/solos-pci.c | 4 +-
70971 drivers/atm/suni.c | 4 +-
70972 drivers/atm/uPD98402.c | 16 +-
70973 drivers/atm/zatm.c | 6 +-
70974 drivers/base/bus.c | 4 +-
70975 drivers/base/devtmpfs.c | 8 +-
70976 drivers/base/node.c | 2 +-
70977 drivers/base/power/domain.c | 4 +-
70978 drivers/base/power/sysfs.c | 2 +-
70979 drivers/base/power/wakeup.c | 8 +-
70980 drivers/base/syscore.c | 4 +-
70981 drivers/block/cciss.c | 28 +-
70982 drivers/block/cciss.h | 2 +-
70983 drivers/block/cpqarray.c | 28 +-
70984 drivers/block/cpqarray.h | 2 +-
70985 drivers/block/drbd/drbd_int.h | 6 +-
70986 drivers/block/drbd/drbd_main.c | 8 +-
70987 drivers/block/drbd/drbd_nl.c | 4 +-
70988 drivers/block/drbd/drbd_receiver.c | 22 +-
70989 drivers/block/loop.c | 2 +-
70990 drivers/block/pktcdvd.c | 2 +-
70991 drivers/cdrom/cdrom.c | 11 +-
70992 drivers/cdrom/gdrom.c | 1 -
70993 drivers/char/agp/compat_ioctl.c | 2 +-
70994 drivers/char/agp/frontend.c | 4 +-
70995 drivers/char/hpet.c | 2 +-
70996 drivers/char/hw_random/intel-rng.c | 2 +-
70997 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
70998 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
70999 drivers/char/mem.c | 43 +-
71000 drivers/char/nvram.c | 2 +-
71001 drivers/char/pcmcia/synclink_cs.c | 18 +-
71002 drivers/char/random.c | 10 +-
71003 drivers/char/sonypi.c | 9 +-
71004 drivers/char/tpm/tpm_acpi.c | 3 +-
71005 drivers/char/tpm/tpm_eventlog.c | 7 +-
71006 drivers/char/virtio_console.c | 4 +-
71007 drivers/clk/clk-composite.c | 2 +-
71008 drivers/clk/socfpga/clk.c | 7 +-
71009 drivers/cpufreq/acpi-cpufreq.c | 20 +-
71010 drivers/cpufreq/cpufreq.c | 9 +-
71011 drivers/cpufreq/cpufreq_governor.c | 6 +-
71012 drivers/cpufreq/cpufreq_governor.h | 2 +-
71013 drivers/cpufreq/cpufreq_ondemand.c | 8 +-
71014 drivers/cpufreq/cpufreq_stats.c | 2 +-
71015 drivers/cpufreq/p4-clockmod.c | 12 +-
71016 drivers/cpufreq/sparc-us3-cpufreq.c | 69 +-
71017 drivers/cpufreq/speedstep-centrino.c | 7 +-
71018 drivers/cpuidle/cpuidle.c | 2 +-
71019 drivers/cpuidle/governor.c | 4 +-
71020 drivers/cpuidle/sysfs.c | 2 +-
71021 drivers/crypto/hifn_795x.c | 4 +-
71022 drivers/devfreq/devfreq.c | 4 +-
71023 drivers/dma/sh/shdma.c | 2 +-
71024 drivers/edac/edac_device.c | 4 +-
71025 drivers/edac/edac_mc_sysfs.c | 12 +-
71026 drivers/edac/edac_pci.c | 4 +-
71027 drivers/edac/edac_pci_sysfs.c | 22 +-
71028 drivers/edac/mce_amd.h | 2 +-
71029 drivers/firewire/core-card.c | 6 +-
71030 drivers/firewire/core-device.c | 2 +-
71031 drivers/firewire/core-transaction.c | 1 +
71032 drivers/firewire/core.h | 1 +
71033 drivers/firmware/dmi-id.c | 2 +-
71034 drivers/firmware/dmi_scan.c | 7 +-
71035 drivers/firmware/efi/efi.c | 12 +-
71036 drivers/firmware/efi/efivars.c | 2 +-
71037 drivers/firmware/google/memconsole.c | 4 +-
71038 drivers/gpio/gpio-ich.c | 2 +-
71039 drivers/gpio/gpio-vr41xx.c | 2 +-
71040 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
71041 drivers/gpu/drm/drm_drv.c | 6 +-
71042 drivers/gpu/drm/drm_fops.c | 18 +-
71043 drivers/gpu/drm/drm_global.c | 14 +-
71044 drivers/gpu/drm/drm_info.c | 14 +-
71045 drivers/gpu/drm/drm_ioc32.c | 13 +-
71046 drivers/gpu/drm/drm_ioctl.c | 2 +-
71047 drivers/gpu/drm/drm_lock.c | 4 +-
71048 drivers/gpu/drm/drm_stub.c | 2 +-
71049 drivers/gpu/drm/drm_sysfs.c | 2 +-
71050 drivers/gpu/drm/i810/i810_dma.c | 8 +-
71051 drivers/gpu/drm/i810/i810_drv.h | 4 +-
71052 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
71053 drivers/gpu/drm/i915/i915_dma.c | 2 +-
71054 drivers/gpu/drm/i915/i915_drv.h | 2 +-
71055 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +-
71056 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
71057 drivers/gpu/drm/i915/i915_irq.c | 24 +-
71058 drivers/gpu/drm/i915/intel_display.c | 26 +-
71059 drivers/gpu/drm/mga/mga_drv.h | 4 +-
71060 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
71061 drivers/gpu/drm/mga/mga_irq.c | 8 +-
71062 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
71063 drivers/gpu/drm/nouveau/nouveau_drm.h | 1 -
71064 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
71065 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
71066 drivers/gpu/drm/qxl/qxl_ttm.c | 38 +-
71067 drivers/gpu/drm/r128/r128_cce.c | 2 +-
71068 drivers/gpu/drm/r128/r128_drv.h | 4 +-
71069 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
71070 drivers/gpu/drm/r128/r128_irq.c | 4 +-
71071 drivers/gpu/drm/r128/r128_state.c | 4 +-
71072 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
71073 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
71074 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
71075 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
71076 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
71077 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
71078 drivers/gpu/drm/radeon/radeon_ttm.c | 57 +-
71079 drivers/gpu/drm/radeon/rs690.c | 4 +-
71080 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
71081 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
71082 drivers/gpu/drm/udl/udl_fb.c | 1 -
71083 drivers/gpu/drm/via/via_drv.h | 4 +-
71084 drivers/gpu/drm/via/via_irq.c | 18 +-
71085 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
71086 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
71087 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 +-
71088 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
71089 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
71090 drivers/gpu/host1x/drm/dc.c | 2 +-
71091 drivers/hid/hid-core.c | 4 +-
71092 drivers/hid/uhid.c | 6 +-
71093 drivers/hv/channel.c | 4 +-
71094 drivers/hv/hv.c | 2 +-
71095 drivers/hv/hv_balloon.c | 18 +-
71096 drivers/hv/hyperv_vmbus.h | 2 +-
71097 drivers/hv/vmbus_drv.c | 4 +-
71098 drivers/hwmon/acpi_power_meter.c | 4 +-
71099 drivers/hwmon/applesmc.c | 2 +-
71100 drivers/hwmon/asus_atk0110.c | 10 +-
71101 drivers/hwmon/coretemp.c | 2 +-
71102 drivers/hwmon/ibmaem.c | 2 +-
71103 drivers/hwmon/iio_hwmon.c | 2 +-
71104 drivers/hwmon/pmbus/pmbus_core.c | 10 +-
71105 drivers/hwmon/sht15.c | 12 +-
71106 drivers/hwmon/via-cputemp.c | 2 +-
71107 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
71108 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
71109 drivers/i2c/i2c-dev.c | 2 +-
71110 drivers/ide/ide-cd.c | 2 +-
71111 drivers/iio/industrialio-core.c | 2 +-
71112 drivers/infiniband/core/cm.c | 32 +-
71113 drivers/infiniband/core/fmr_pool.c | 20 +-
71114 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
71115 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
71116 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
71117 drivers/infiniband/hw/mlx4/mad.c | 2 +-
71118 drivers/infiniband/hw/mlx4/mcg.c | 2 +-
71119 drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
71120 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
71121 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
71122 drivers/infiniband/hw/nes/nes.c | 4 +-
71123 drivers/infiniband/hw/nes/nes.h | 40 +-
71124 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
71125 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
71126 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
71127 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
71128 drivers/infiniband/hw/qib/qib.h | 1 +
71129 drivers/input/gameport/gameport.c | 4 +-
71130 drivers/input/input.c | 4 +-
71131 drivers/input/joystick/sidewinder.c | 1 +
71132 drivers/input/joystick/xpad.c | 4 +-
71133 drivers/input/misc/ims-pcu.c | 4 +-
71134 drivers/input/mouse/psmouse.h | 2 +-
71135 drivers/input/mousedev.c | 2 +-
71136 drivers/input/serio/serio.c | 4 +-
71137 drivers/input/serio/serio_raw.c | 4 +-
71138 drivers/iommu/iommu.c | 2 +-
71139 drivers/iommu/irq_remapping.c | 12 +-
71140 drivers/irqchip/irq-gic.c | 4 +-
71141 drivers/isdn/capi/capi.c | 10 +-
71142 drivers/isdn/gigaset/interface.c | 8 +-
71143 drivers/isdn/gigaset/usb-gigaset.c | 2 +-
71144 drivers/isdn/hardware/avm/b1.c | 4 +-
71145 drivers/isdn/i4l/isdn_common.c | 2 +
71146 drivers/isdn/i4l/isdn_tty.c | 22 +-
71147 drivers/isdn/icn/icn.c | 2 +-
71148 drivers/leds/leds-clevo-mail.c | 2 +-
71149 drivers/leds/leds-ss4200.c | 2 +-
71150 drivers/lguest/core.c | 10 +-
71151 drivers/lguest/page_tables.c | 2 +-
71152 drivers/lguest/x86/core.c | 12 +-
71153 drivers/lguest/x86/switcher_32.S | 27 +-
71154 drivers/md/bcache/closure.h | 2 +-
71155 drivers/md/bcache/super.c | 2 +-
71156 drivers/md/bitmap.c | 2 +-
71157 drivers/md/dm-ioctl.c | 2 +-
71158 drivers/md/dm-raid1.c | 16 +-
71159 drivers/md/dm-stripe.c | 10 +-
71160 drivers/md/dm-table.c | 2 +-
71161 drivers/md/dm-thin-metadata.c | 4 +-
71162 drivers/md/dm.c | 16 +-
71163 drivers/md/md.c | 26 +-
71164 drivers/md/md.h | 6 +-
71165 drivers/md/persistent-data/dm-space-map.h | 1 +
71166 drivers/md/raid1.c | 4 +-
71167 drivers/md/raid10.c | 16 +-
71168 drivers/md/raid5.c | 10 +-
71169 drivers/media/dvb-core/dvbdev.c | 2 +-
71170 drivers/media/dvb-frontends/dib3000.h | 2 +-
71171 drivers/media/pci/cx88/cx88-video.c | 6 +-
71172 drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
71173 drivers/media/platform/omap/omap_vout.c | 11 +-
71174 drivers/media/platform/s5p-tv/mixer.h | 2 +-
71175 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
71176 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
71177 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
71178 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
71179 drivers/media/radio/radio-cadet.c | 2 +
71180 drivers/media/radio/radio-maxiradio.c | 2 +-
71181 drivers/media/radio/radio-shark.c | 2 +-
71182 drivers/media/radio/radio-shark2.c | 2 +-
71183 drivers/media/radio/radio-si476x.c | 2 +-
71184 drivers/media/rc/rc-main.c | 4 +-
71185 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
71186 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
71187 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +-
71188 drivers/media/v4l2-core/v4l2-device.c | 4 +-
71189 drivers/media/v4l2-core/v4l2-ioctl.c | 11 +-
71190 drivers/message/fusion/mptsas.c | 34 +-
71191 drivers/message/fusion/mptscsih.c | 19 +-
71192 drivers/message/i2o/i2o_proc.c | 51 +-
71193 drivers/message/i2o/iop.c | 8 +-
71194 drivers/mfd/janz-cmodio.c | 1 +
71195 drivers/mfd/twl4030-irq.c | 9 +-
71196 drivers/mfd/twl6030-irq.c | 10 +-
71197 drivers/misc/c2port/core.c | 4 +-
71198 drivers/misc/kgdbts.c | 4 +-
71199 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
71200 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
71201 drivers/misc/sgi-gru/gruhandles.c | 4 +-
71202 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
71203 drivers/misc/sgi-gru/grutables.h | 154 +-
71204 drivers/misc/sgi-xp/xp.h | 2 +-
71205 drivers/misc/sgi-xp/xpc.h | 3 +-
71206 drivers/misc/sgi-xp/xpc_main.c | 4 +-
71207 drivers/mmc/core/mmc_ops.c | 2 +-
71208 drivers/mmc/host/dw_mmc.h | 2 +-
71209 drivers/mmc/host/sdhci-s3c.c | 8 +-
71210 drivers/mtd/nand/denali.c | 1 +
71211 drivers/mtd/nftlmount.c | 1 +
71212 drivers/mtd/sm_ftl.c | 2 +-
71213 drivers/net/bonding/bond_main.c | 2 +-
71214 drivers/net/ethernet/8390/ax88796.c | 4 +-
71215 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
71216 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
71217 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
71218 drivers/net/ethernet/broadcom/tg3.h | 1 +
71219 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
71220 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
71221 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
71222 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
71223 drivers/net/ethernet/faraday/ftmac100.c | 2 +
71224 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
71225 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
71226 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +-
71227 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +-
71228 drivers/net/ethernet/realtek/r8169.c | 8 +-
71229 drivers/net/ethernet/sfc/ptp.c | 2 +-
71230 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
71231 drivers/net/hyperv/hyperv_net.h | 2 +-
71232 drivers/net/hyperv/rndis_filter.c | 4 +-
71233 drivers/net/ieee802154/fakehard.c | 2 +-
71234 drivers/net/macvlan.c | 18 +-
71235 drivers/net/macvtap.c | 2 +-
71236 drivers/net/ppp/ppp_generic.c | 4 +-
71237 drivers/net/slip/slhc.c | 2 +-
71238 drivers/net/team/team.c | 2 +-
71239 drivers/net/tun.c | 5 +-
71240 drivers/net/usb/hso.c | 23 +-
71241 drivers/net/usb/sierra_net.c | 4 +-
71242 drivers/net/vxlan.c | 2 +-
71243 drivers/net/wimax/i2400m/rx.c | 2 +-
71244 drivers/net/wireless/at76c50x-usb.c | 2 +-
71245 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
71246 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
71247 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
71248 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
71249 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 34 +-
71250 drivers/net/wireless/iwlwifi/dvm/main.c | 3 +-
71251 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
71252 drivers/net/wireless/mac80211_hwsim.c | 32 +-
71253 drivers/net/wireless/rndis_wlan.c | 2 +-
71254 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
71255 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
71256 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
71257 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
71258 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
71259 drivers/oprofile/buffer_sync.c | 8 +-
71260 drivers/oprofile/event_buffer.c | 2 +-
71261 drivers/oprofile/oprof.c | 2 +-
71262 drivers/oprofile/oprofile_files.c | 2 +-
71263 drivers/oprofile/oprofile_stats.c | 10 +-
71264 drivers/oprofile/oprofile_stats.h | 10 +-
71265 drivers/oprofile/oprofilefs.c | 2 +-
71266 drivers/oprofile/timer_int.c | 2 +-
71267 drivers/parport/procfs.c | 4 +-
71268 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
71269 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
71270 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
71271 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
71272 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
71273 drivers/pci/hotplug/pciehp_core.c | 2 +-
71274 drivers/pci/pci-sysfs.c | 6 +-
71275 drivers/pci/pci.h | 2 +-
71276 drivers/pci/pcie/aspm.c | 6 +-
71277 drivers/pci/probe.c | 2 +-
71278 drivers/platform/x86/chromeos_laptop.c | 2 +-
71279 drivers/platform/x86/msi-laptop.c | 14 +-
71280 drivers/platform/x86/sony-laptop.c | 2 +-
71281 drivers/platform/x86/thinkpad_acpi.c | 70 +-
71282 drivers/pnp/pnpbios/bioscalls.c | 14 +-
71283 drivers/pnp/resource.c | 4 +-
71284 drivers/power/pda_power.c | 7 +-
71285 drivers/power/power_supply.h | 4 +-
71286 drivers/power/power_supply_core.c | 7 +-
71287 drivers/power/power_supply_sysfs.c | 6 +-
71288 drivers/regulator/core.c | 4 +-
71289 drivers/regulator/max8660.c | 6 +-
71290 drivers/regulator/max8973-regulator.c | 8 +-
71291 drivers/regulator/mc13892-regulator.c | 6 +-
71292 drivers/rtc/rtc-cmos.c | 4 +-
71293 drivers/rtc/rtc-ds1307.c | 2 +-
71294 drivers/rtc/rtc-m48t59.c | 4 +-
71295 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
71296 drivers/scsi/bfa/bfa_ioc.h | 4 +-
71297 drivers/scsi/fcoe/fcoe_sysfs.c | 12 +-
71298 drivers/scsi/hosts.c | 4 +-
71299 drivers/scsi/hpsa.c | 30 +-
71300 drivers/scsi/hpsa.h | 2 +-
71301 drivers/scsi/libfc/fc_exch.c | 50 +-
71302 drivers/scsi/libsas/sas_ata.c | 2 +-
71303 drivers/scsi/lpfc/lpfc.h | 8 +-
71304 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
71305 drivers/scsi/lpfc/lpfc_init.c | 6 +-
71306 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
71307 drivers/scsi/pmcraid.c | 20 +-
71308 drivers/scsi/pmcraid.h | 8 +-
71309 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
71310 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
71311 drivers/scsi/qla2xxx/qla_os.c | 6 +-
71312 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
71313 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
71314 drivers/scsi/scsi.c | 2 +-
71315 drivers/scsi/scsi_lib.c | 6 +-
71316 drivers/scsi/scsi_sysfs.c | 2 +-
71317 drivers/scsi/scsi_tgt_lib.c | 2 +-
71318 drivers/scsi/scsi_transport_fc.c | 8 +-
71319 drivers/scsi/scsi_transport_iscsi.c | 6 +-
71320 drivers/scsi/scsi_transport_srp.c | 6 +-
71321 drivers/scsi/sd.c | 2 +-
71322 drivers/scsi/sg.c | 2 +-
71323 drivers/spi/spi.c | 2 +-
71324 drivers/staging/android/timed_output.c | 6 +-
71325 drivers/staging/media/solo6x10/solo6x10-core.c | 2 +-
71326 drivers/staging/media/solo6x10/solo6x10-p2m.c | 2 +-
71327 drivers/staging/media/solo6x10/solo6x10.h | 2 +-
71328 drivers/staging/octeon/ethernet-rx.c | 12 +-
71329 drivers/staging/octeon/ethernet.c | 8 +-
71330 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
71331 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
71332 drivers/staging/usbip/vhci.h | 2 +-
71333 drivers/staging/usbip/vhci_hcd.c | 6 +-
71334 drivers/staging/usbip/vhci_rx.c | 2 +-
71335 drivers/staging/vt6655/hostap.c | 7 +-
71336 drivers/staging/vt6656/hostap.c | 7 +-
71337 drivers/staging/zcache/tmem.h | 4 +-
71338 drivers/target/sbp/sbp_target.c | 4 +-
71339 drivers/target/target_core_device.c | 2 +-
71340 drivers/target/target_core_transport.c | 2 +-
71341 drivers/tty/cyclades.c | 6 +-
71342 drivers/tty/hvc/hvc_console.c | 14 +-
71343 drivers/tty/hvc/hvcs.c | 21 +-
71344 drivers/tty/hvc/hvsi.c | 12 +-
71345 drivers/tty/hvc/hvsi_lib.c | 6 +-
71346 drivers/tty/ipwireless/tty.c | 27 +-
71347 drivers/tty/moxa.c | 2 +-
71348 drivers/tty/n_gsm.c | 4 +-
71349 drivers/tty/n_tty.c | 3 +-
71350 drivers/tty/pty.c | 4 +-
71351 drivers/tty/rocket.c | 6 +-
71352 drivers/tty/serial/ioc4_serial.c | 6 +-
71353 drivers/tty/serial/kgdboc.c | 32 +-
71354 drivers/tty/serial/msm_serial.c | 4 +-
71355 drivers/tty/serial/samsung.c | 9 +-
71356 drivers/tty/serial/serial_core.c | 8 +-
71357 drivers/tty/synclink.c | 34 +-
71358 drivers/tty/synclink_gt.c | 28 +-
71359 drivers/tty/synclinkmp.c | 34 +-
71360 drivers/tty/tty_io.c | 2 +-
71361 drivers/tty/tty_ldisc.c | 10 +-
71362 drivers/tty/tty_port.c | 22 +-
71363 drivers/uio/uio.c | 21 +-
71364 drivers/usb/atm/cxacru.c | 2 +-
71365 drivers/usb/atm/usbatm.c | 24 +-
71366 drivers/usb/core/devices.c | 6 +-
71367 drivers/usb/core/hcd.c | 4 +-
71368 drivers/usb/core/message.c | 2 +-
71369 drivers/usb/core/sysfs.c | 2 +-
71370 drivers/usb/core/usb.c | 2 +-
71371 drivers/usb/dwc3/gadget.c | 2 -
71372 drivers/usb/early/ehci-dbgp.c | 16 +-
71373 drivers/usb/gadget/u_serial.c | 22 +-
71374 drivers/usb/misc/appledisplay.c | 4 +-
71375 drivers/usb/serial/console.c | 6 +-
71376 drivers/usb/storage/usb.h | 2 +-
71377 drivers/usb/wusbcore/wa-hc.h | 4 +-
71378 drivers/usb/wusbcore/wa-xfer.c | 2 +-
71379 drivers/vfio/vfio.c | 2 +-
71380 drivers/vhost/vringh.c | 2 +-
71381 drivers/video/aty/aty128fb.c | 2 +-
71382 drivers/video/aty/atyfb_base.c | 8 +-
71383 drivers/video/aty/mach64_cursor.c | 5 +-
71384 drivers/video/backlight/kb3886_bl.c | 2 +-
71385 drivers/video/fb_defio.c | 6 +-
71386 drivers/video/fbcmap.c | 3 +-
71387 drivers/video/fbmem.c | 6 +-
71388 drivers/video/hyperv_fb.c | 4 +-
71389 drivers/video/i810/i810_accel.c | 1 +
71390 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
71391 drivers/video/nvidia/nvidia.c | 27 +-
71392 drivers/video/s1d13xxxfb.c | 6 +-
71393 drivers/video/smscufx.c | 4 +-
71394 drivers/video/udlfb.c | 36 +-
71395 drivers/video/uvesafb.c | 53 +-
71396 drivers/video/vesafb.c | 58 +-
71397 drivers/video/via/via_clock.h | 2 +-
71398 fs/9p/vfs_addr.c | 2 +-
71399 fs/9p/vfs_inode.c | 2 +-
71400 fs/Kconfig.binfmt | 2 +-
71401 fs/afs/inode.c | 4 +-
71402 fs/aio.c | 12 +-
71403 fs/autofs4/waitq.c | 2 +-
71404 fs/befs/endian.h | 4 +-
71405 fs/befs/linuxvfs.c | 2 +-
71406 fs/binfmt_aout.c | 23 +-
71407 fs/binfmt_elf.c | 648 ++-
71408 fs/binfmt_flat.c | 6 +
71409 fs/bio.c | 6 +-
71410 fs/block_dev.c | 2 +-
71411 fs/btrfs/ctree.c | 9 +-
71412 fs/btrfs/delayed-inode.c | 6 +-
71413 fs/btrfs/delayed-inode.h | 4 +-
71414 fs/btrfs/super.c | 2 +-
71415 fs/buffer.c | 2 +-
71416 fs/cachefiles/bind.c | 6 +-
71417 fs/cachefiles/daemon.c | 8 +-
71418 fs/cachefiles/internal.h | 12 +-
71419 fs/cachefiles/namei.c | 2 +-
71420 fs/cachefiles/proc.c | 12 +-
71421 fs/cachefiles/rdwr.c | 2 +-
71422 fs/ceph/dir.c | 2 +-
71423 fs/ceph/super.c | 4 +-
71424 fs/cifs/cifs_debug.c | 12 +-
71425 fs/cifs/cifsfs.c | 8 +-
71426 fs/cifs/cifsglob.h | 54 +-
71427 fs/cifs/link.c | 2 +-
71428 fs/cifs/misc.c | 4 +-
71429 fs/cifs/smb1ops.c | 80 +-
71430 fs/cifs/smb2ops.c | 84 +-
71431 fs/cifs/smb2pdu.c | 3 +-
71432 fs/coda/cache.c | 10 +-
71433 fs/compat.c | 4 +-
71434 fs/compat_binfmt_elf.c | 2 +
71435 fs/compat_ioctl.c | 12 +-
71436 fs/configfs/dir.c | 10 +-
71437 fs/coredump.c | 18 +-
71438 fs/dcache.c | 3 +-
71439 fs/ecryptfs/inode.c | 4 +-
71440 fs/ecryptfs/miscdev.c | 2 +-
71441 fs/exec.c | 362 +-
71442 fs/ext4/ext4.h | 20 +-
71443 fs/ext4/mballoc.c | 44 +-
71444 fs/ext4/mmp.c | 2 +-
71445 fs/ext4/super.c | 4 +-
71446 fs/fhandle.c | 3 +-
71447 fs/fs_struct.c | 8 +-
71448 fs/fscache/cookie.c | 38 +-
71449 fs/fscache/internal.h | 196 +-
71450 fs/fscache/object.c | 26 +-
71451 fs/fscache/operation.c | 30 +-
71452 fs/fscache/page.c | 110 +-
71453 fs/fscache/stats.c | 344 +-
71454 fs/fuse/cuse.c | 10 +-
71455 fs/fuse/dev.c | 4 +-
71456 fs/fuse/dir.c | 2 +-
71457 fs/gfs2/inode.c | 2 +-
71458 fs/hugetlbfs/inode.c | 13 +-
71459 fs/inode.c | 4 +-
71460 fs/jffs2/erase.c | 3 +-
71461 fs/jffs2/wbuf.c | 3 +-
71462 fs/jfs/super.c | 2 +-
71463 fs/libfs.c | 10 +-
71464 fs/lockd/clntproc.c | 4 +-
71465 fs/locks.c | 8 +-
71466 fs/namei.c | 15 +-
71467 fs/namespace.c | 16 +-
71468 fs/nfs/callback_xdr.c | 2 +-
71469 fs/nfs/inode.c | 6 +-
71470 fs/nfsd/nfs4proc.c | 2 +-
71471 fs/nfsd/nfs4xdr.c | 6 +-
71472 fs/nfsd/nfscache.c | 9 +-
71473 fs/nfsd/vfs.c | 6 +-
71474 fs/nls/nls_base.c | 18 +-
71475 fs/nls/nls_euc-jp.c | 6 +-
71476 fs/nls/nls_koi8-ru.c | 6 +-
71477 fs/notify/fanotify/fanotify_user.c | 4 +-
71478 fs/notify/notification.c | 4 +-
71479 fs/ntfs/dir.c | 2 +-
71480 fs/ntfs/file.c | 6 +-
71481 fs/ntfs/super.c | 6 +-
71482 fs/ocfs2/localalloc.c | 2 +-
71483 fs/ocfs2/ocfs2.h | 10 +-
71484 fs/ocfs2/suballoc.c | 12 +-
71485 fs/ocfs2/super.c | 20 +-
71486 fs/pipe.c | 61 +-
71487 fs/proc/array.c | 20 +
71488 fs/proc/base.c | 4 +-
71489 fs/proc/kcore.c | 32 +-
71490 fs/proc/meminfo.c | 2 +-
71491 fs/proc/nommu.c | 2 +-
71492 fs/proc/proc_sysctl.c | 18 +-
71493 fs/proc/self.c | 2 +-
71494 fs/proc/task_mmu.c | 39 +-
71495 fs/proc/task_nommu.c | 4 +-
71496 fs/proc/vmcore.c | 12 +-
71497 fs/qnx6/qnx6.h | 4 +-
71498 fs/quota/netlink.c | 4 +-
71499 fs/read_write.c | 2 +-
71500 fs/reiserfs/do_balan.c | 2 +-
71501 fs/reiserfs/procfs.c | 2 +-
71502 fs/reiserfs/reiserfs.h | 4 +-
71503 fs/seq_file.c | 2 +-
71504 fs/splice.c | 41 +-
71505 fs/sysfs/bin.c | 6 +-
71506 fs/sysfs/dir.c | 2 +-
71507 fs/sysfs/file.c | 10 +-
71508 fs/sysfs/symlink.c | 2 +-
71509 fs/sysv/sysv.h | 2 +-
71510 fs/ubifs/io.c | 2 +-
71511 fs/udf/misc.c | 2 +-
71512 fs/ufs/swab.h | 4 +-
71513 fs/xattr.c | 21 +
71514 fs/xattr_acl.c | 4 +-
71515 fs/xfs/xfs_bmap.c | 2 +-
71516 fs/xfs/xfs_dir2_sf.c | 7 +-
71517 fs/xfs/xfs_ioctl.c | 2 +-
71518 fs/xfs/xfs_iops.c | 2 +-
71519 include/asm-generic/4level-fixup.h | 2 +
71520 include/asm-generic/atomic-long.h | 210 +
71521 include/asm-generic/atomic.h | 2 +-
71522 include/asm-generic/atomic64.h | 12 +
71523 include/asm-generic/cache.h | 4 +-
71524 include/asm-generic/emergency-restart.h | 2 +-
71525 include/asm-generic/kmap_types.h | 4 +-
71526 include/asm-generic/local.h | 13 +
71527 include/asm-generic/pgtable-nopmd.h | 18 +-
71528 include/asm-generic/pgtable-nopud.h | 15 +-
71529 include/asm-generic/pgtable.h | 16 +
71530 include/asm-generic/uaccess.h | 16 +
71531 include/asm-generic/vmlinux.lds.h | 10 +-
71532 include/crypto/algapi.h | 2 +-
71533 include/drm/drmP.h | 17 +-
71534 include/drm/drm_crtc_helper.h | 2 +-
71535 include/drm/ttm/ttm_memory.h | 2 +-
71536 include/keys/asymmetric-subtype.h | 2 +-
71537 include/linux/atmdev.h | 4 +-
71538 include/linux/binfmts.h | 3 +-
71539 include/linux/blkdev.h | 2 +-
71540 include/linux/blktrace_api.h | 2 +-
71541 include/linux/cache.h | 4 +
71542 include/linux/cdrom.h | 1 -
71543 include/linux/cleancache.h | 2 +-
71544 include/linux/clk-provider.h | 1 +
71545 include/linux/compat.h | 5 +-
71546 include/linux/compiler-gcc4.h | 20 +
71547 include/linux/compiler.h | 65 +-
71548 include/linux/completion.h | 6 +-
71549 include/linux/configfs.h | 2 +-
71550 include/linux/cpufreq.h | 3 +-
71551 include/linux/cpuidle.h | 5 +-
71552 include/linux/cpumask.h | 12 +-
71553 include/linux/crypto.h | 6 +-
71554 include/linux/ctype.h | 2 +-
71555 include/linux/decompress/mm.h | 2 +-
71556 include/linux/devfreq.h | 2 +-
71557 include/linux/device.h | 7 +-
71558 include/linux/dma-mapping.h | 2 +-
71559 include/linux/dmaengine.h | 4 +-
71560 include/linux/efi.h | 1 +
71561 include/linux/elf.h | 2 +
71562 include/linux/err.h | 4 +-
71563 include/linux/extcon.h | 2 +-
71564 include/linux/fb.h | 2 +-
71565 include/linux/fdtable.h | 2 +-
71566 include/linux/filter.h | 4 +
71567 include/linux/frontswap.h | 2 +-
71568 include/linux/fs.h | 3 +-
71569 include/linux/fs_struct.h | 2 +-
71570 include/linux/fscache-cache.h | 4 +-
71571 include/linux/fscache.h | 2 +-
71572 include/linux/fsnotify.h | 2 +-
71573 include/linux/genhd.h | 2 +-
71574 include/linux/genl_magic_func.h | 2 +-
71575 include/linux/gfp.h | 12 +-
71576 include/linux/highmem.h | 12 +
71577 include/linux/hwmon-sysfs.h | 5 +-
71578 include/linux/i2c.h | 1 +
71579 include/linux/i2o.h | 2 +-
71580 include/linux/if_pppox.h | 2 +-
71581 include/linux/init.h | 17 +-
71582 include/linux/init_task.h | 7 +
71583 include/linux/interrupt.h | 8 +-
71584 include/linux/iommu.h | 2 +-
71585 include/linux/ioport.h | 2 +-
71586 include/linux/irq.h | 3 +-
71587 include/linux/irqchip/arm-gic.h | 4 +-
71588 include/linux/key-type.h | 2 +-
71589 include/linux/kgdb.h | 6 +-
71590 include/linux/kobject.h | 3 +-
71591 include/linux/kobject_ns.h | 2 +-
71592 include/linux/kref.h | 2 +-
71593 include/linux/kvm_host.h | 4 +-
71594 include/linux/libata.h | 2 +-
71595 include/linux/linkage.h | 1 +
71596 include/linux/list.h | 15 +
71597 include/linux/math64.h | 8 +-
71598 include/linux/mm.h | 116 +-
71599 include/linux/mm_types.h | 20 +
71600 include/linux/mmiotrace.h | 4 +-
71601 include/linux/mmzone.h | 2 +-
71602 include/linux/mod_devicetable.h | 6 +-
71603 include/linux/module.h | 60 +-
71604 include/linux/moduleloader.h | 16 +
71605 include/linux/moduleparam.h | 4 +-
71606 include/linux/namei.h | 6 +-
71607 include/linux/net.h | 2 +-
71608 include/linux/netdevice.h | 3 +-
71609 include/linux/netfilter.h | 2 +-
71610 include/linux/netfilter/ipset/ip_set.h | 2 +-
71611 include/linux/netfilter/nfnetlink.h | 2 +-
71612 include/linux/nls.h | 2 +-
71613 include/linux/notifier.h | 3 +-
71614 include/linux/oprofile.h | 4 +-
71615 include/linux/pci_hotplug.h | 3 +-
71616 include/linux/perf_event.h | 10 +-
71617 include/linux/pipe_fs_i.h | 8 +-
71618 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
71619 include/linux/platform_data/usb-ohci-exynos.h | 2 +-
71620 include/linux/pm_domain.h | 2 +-
71621 include/linux/pm_runtime.h | 2 +-
71622 include/linux/pnp.h | 2 +-
71623 include/linux/poison.h | 4 +-
71624 include/linux/power/smartreflex.h | 2 +-
71625 include/linux/ppp-comp.h | 2 +-
71626 include/linux/preempt.h | 19 +
71627 include/linux/proc_ns.h | 2 +-
71628 include/linux/random.h | 15 +
71629 include/linux/rculist.h | 16 +
71630 include/linux/reboot.h | 14 +-
71631 include/linux/regset.h | 3 +-
71632 include/linux/relay.h | 2 +-
71633 include/linux/rio.h | 2 +-
71634 include/linux/rmap.h | 4 +-
71635 include/linux/sched.h | 67 +-
71636 include/linux/sched/sysctl.h | 1 +
71637 include/linux/security.h | 2 +-
71638 include/linux/seq_file.h | 1 +
71639 include/linux/signal.h | 1 +
71640 include/linux/skbuff.h | 12 +-
71641 include/linux/slab.h | 48 +-
71642 include/linux/slab_def.h | 32 +-
71643 include/linux/slob_def.h | 4 +-
71644 include/linux/slub_def.h | 8 +-
71645 include/linux/smp.h | 2 +
71646 include/linux/sock_diag.h | 2 +-
71647 include/linux/sonet.h | 2 +-
71648 include/linux/sunrpc/addr.h | 8 +-
71649 include/linux/sunrpc/clnt.h | 2 +-
71650 include/linux/sunrpc/svc.h | 2 +-
71651 include/linux/sunrpc/svc_rdma.h | 18 +-
71652 include/linux/sunrpc/svcauth.h | 2 +-
71653 include/linux/swiotlb.h | 3 +-
71654 include/linux/syscalls.h | 18 +-
71655 include/linux/syscore_ops.h | 2 +-
71656 include/linux/sysctl.h | 6 +-
71657 include/linux/sysfs.h | 9 +-
71658 include/linux/sysrq.h | 3 +-
71659 include/linux/thread_info.h | 7 +
71660 include/linux/tty.h | 4 +-
71661 include/linux/tty_driver.h | 2 +-
71662 include/linux/tty_ldisc.h | 2 +-
71663 include/linux/types.h | 16 +
71664 include/linux/uaccess.h | 6 +-
71665 include/linux/unaligned/access_ok.h | 24 +-
71666 include/linux/usb.h | 4 +-
71667 include/linux/usb/renesas_usbhs.h | 2 +-
71668 include/linux/vermagic.h | 21 +-
71669 include/linux/vmalloc.h | 11 +-
71670 include/linux/vmstat.h | 20 +-
71671 include/linux/xattr.h | 5 +-
71672 include/linux/zlib.h | 3 +-
71673 include/media/v4l2-dev.h | 2 +-
71674 include/media/v4l2-device.h | 2 +-
71675 include/net/9p/transport.h | 2 +-
71676 include/net/bluetooth/l2cap.h | 2 +-
71677 include/net/caif/cfctrl.h | 6 +-
71678 include/net/flow.h | 2 +-
71679 include/net/genetlink.h | 2 +-
71680 include/net/gro_cells.h | 2 +-
71681 include/net/inet_connection_sock.h | 2 +-
71682 include/net/inetpeer.h | 17 +-
71683 include/net/ip.h | 2 +-
71684 include/net/ip_fib.h | 2 +-
71685 include/net/ip_vs.h | 8 +-
71686 include/net/irda/ircomm_tty.h | 1 +
71687 include/net/iucv/af_iucv.h | 2 +-
71688 include/net/llc_c_ac.h | 2 +-
71689 include/net/llc_c_ev.h | 4 +-
71690 include/net/llc_c_st.h | 2 +-
71691 include/net/llc_s_ac.h | 2 +-
71692 include/net/llc_s_st.h | 2 +-
71693 include/net/mac80211.h | 2 +-
71694 include/net/neighbour.h | 2 +-
71695 include/net/net_namespace.h | 18 +-
71696 include/net/netdma.h | 2 +-
71697 include/net/netlink.h | 2 +-
71698 include/net/netns/conntrack.h | 6 +-
71699 include/net/netns/ipv4.h | 2 +-
71700 include/net/netns/ipv6.h | 2 +-
71701 include/net/ping.h | 2 +-
71702 include/net/protocol.h | 4 +-
71703 include/net/rtnetlink.h | 2 +-
71704 include/net/sctp/sm.h | 4 +-
71705 include/net/sctp/structs.h | 2 +-
71706 include/net/sock.h | 6 +-
71707 include/net/tcp.h | 8 +-
71708 include/net/xfrm.h | 8 +-
71709 include/rdma/iw_cm.h | 2 +-
71710 include/scsi/libfc.h | 3 +-
71711 include/scsi/scsi_device.h | 6 +-
71712 include/scsi/scsi_transport_fc.h | 3 +-
71713 include/sound/compress_driver.h | 2 +-
71714 include/sound/soc.h | 4 +-
71715 include/target/target_core_base.h | 2 +-
71716 include/trace/events/irq.h | 4 +-
71717 include/uapi/linux/a.out.h | 8 +
71718 include/uapi/linux/byteorder/little_endian.h | 28 +-
71719 include/uapi/linux/elf.h | 28 +
71720 include/uapi/linux/screen_info.h | 3 +-
71721 include/uapi/linux/swab.h | 6 +-
71722 include/uapi/linux/sysctl.h | 6 +-
71723 include/uapi/linux/xattr.h | 4 +
71724 include/video/udlfb.h | 8 +-
71725 include/video/uvesafb.h | 1 +
71726 init/Kconfig | 2 +-
71727 init/Makefile | 3 +
71728 init/do_mounts.c | 14 +-
71729 init/do_mounts.h | 8 +-
71730 init/do_mounts_initrd.c | 30 +-
71731 init/do_mounts_md.c | 6 +-
71732 init/init_task.c | 4 +
71733 init/initramfs.c | 42 +-
71734 init/main.c | 84 +-
71735 ipc/ipc_sysctl.c | 10 +-
71736 ipc/mq_sysctl.c | 2 +-
71737 ipc/msg.c | 11 +-
71738 ipc/sem.c | 11 +-
71739 ipc/shm.c | 17 +-
71740 kernel/acct.c | 2 +-
71741 kernel/audit.c | 8 +-
71742 kernel/auditsc.c | 4 +-
71743 kernel/capability.c | 3 +
71744 kernel/compat.c | 38 +-
71745 kernel/debug/debug_core.c | 16 +-
71746 kernel/debug/kdb/kdb_main.c | 4 +-
71747 kernel/events/core.c | 30 +-
71748 kernel/events/internal.h | 12 +-
71749 kernel/events/uprobes.c | 2 +-
71750 kernel/exit.c | 4 +-
71751 kernel/fork.c | 170 +-
71752 kernel/futex.c | 11 +-
71753 kernel/futex_compat.c | 2 +-
71754 kernel/gcov/base.c | 7 +-
71755 kernel/hrtimer.c | 2 +-
71756 kernel/irq_work.c | 7 +-
71757 kernel/jump_label.c | 5 +
71758 kernel/kallsyms.c | 39 +-
71759 kernel/kexec.c | 3 +-
71760 kernel/kmod.c | 4 +-
71761 kernel/kprobes.c | 8 +-
71762 kernel/ksysfs.c | 2 +-
71763 kernel/lockdep.c | 7 +-
71764 kernel/module.c | 337 +-
71765 kernel/mutex-debug.c | 12 +-
71766 kernel/mutex-debug.h | 4 +-
71767 kernel/mutex.c | 10 +-
71768 kernel/notifier.c | 17 +-
71769 kernel/panic.c | 3 +-
71770 kernel/pid.c | 2 +-
71771 kernel/pid_namespace.c | 2 +-
71772 kernel/posix-cpu-timers.c | 4 +-
71773 kernel/posix-timers.c | 24 +-
71774 kernel/power/process.c | 12 +-
71775 kernel/profile.c | 14 +-
71776 kernel/ptrace.c | 8 +-
71777 kernel/rcupdate.c | 4 +-
71778 kernel/rcutiny.c | 4 +-
71779 kernel/rcutorture.c | 56 +-
71780 kernel/rcutree.c | 74 +-
71781 kernel/rcutree.h | 24 +-
71782 kernel/rcutree_plugin.h | 20 +-
71783 kernel/rcutree_trace.c | 22 +-
71784 kernel/rtmutex-tester.c | 24 +-
71785 kernel/sched/auto_group.c | 4 +-
71786 kernel/sched/core.c | 49 +-
71787 kernel/sched/fair.c | 4 +-
71788 kernel/sched/sched.h | 2 +-
71789 kernel/signal.c | 32 +-
71790 kernel/smpboot.c | 4 +-
71791 kernel/softirq.c | 14 +-
71792 kernel/srcu.c | 4 +-
71793 kernel/sys.c | 10 +-
71794 kernel/sysctl.c | 39 +-
71795 kernel/time.c | 2 +-
71796 kernel/time/alarmtimer.c | 2 +-
71797 kernel/time/timer_stats.c | 10 +-
71798 kernel/timer.c | 4 +-
71799 kernel/trace/blktrace.c | 6 +-
71800 kernel/trace/ftrace.c | 18 +-
71801 kernel/trace/ring_buffer.c | 76 +-
71802 kernel/trace/trace.c | 2 +-
71803 kernel/trace/trace.h | 2 +-
71804 kernel/trace/trace_clock.c | 4 +-
71805 kernel/trace/trace_events.c | 25 +-
71806 kernel/trace/trace_mmiotrace.c | 8 +-
71807 kernel/trace/trace_output.c | 12 +-
71808 kernel/trace/trace_stack.c | 2 +-
71809 kernel/user_namespace.c | 2 +-
71810 kernel/utsname_sysctl.c | 2 +-
71811 kernel/watchdog.c | 2 +-
71812 kernel/workqueue.c | 2 +-
71813 lib/Kconfig.debug | 8 +-
71814 lib/Makefile | 2 +-
71815 lib/bitmap.c | 8 +-
71816 lib/bug.c | 2 +
71817 lib/debugobjects.c | 2 +-
71818 lib/devres.c | 4 +-
71819 lib/div64.c | 4 +-
71820 lib/dma-debug.c | 4 +-
71821 lib/inflate.c | 2 +-
71822 lib/ioremap.c | 4 +-
71823 lib/kobject.c | 4 +-
71824 lib/list_debug.c | 126 +-
71825 lib/radix-tree.c | 2 +-
71826 lib/strncpy_from_user.c | 2 +-
71827 lib/strnlen_user.c | 2 +-
71828 lib/swiotlb.c | 2 +-
71829 lib/usercopy.c | 6 +
71830 lib/vsprintf.c | 12 +-
71831 mm/Kconfig | 6 +-
71832 mm/backing-dev.c | 4 +-
71833 mm/filemap.c | 10 +-
71834 mm/fremap.c | 5 +
71835 mm/highmem.c | 7 +-
71836 mm/hugetlb.c | 70 +-
71837 mm/internal.h | 3 +-
71838 mm/maccess.c | 4 +-
71839 mm/madvise.c | 41 +
71840 mm/memory-failure.c | 26 +-
71841 mm/memory.c | 424 ++-
71842 mm/mempolicy.c | 25 +
71843 mm/mlock.c | 15 +-
71844 mm/mmap.c | 588 ++-
71845 mm/mprotect.c | 139 +-
71846 mm/mremap.c | 44 +-
71847 mm/nommu.c | 21 +-
71848 mm/page-writeback.c | 2 +-
71849 mm/page_alloc.c | 41 +-
71850 mm/page_io.c | 2 +-
71851 mm/percpu.c | 2 +-
71852 mm/process_vm_access.c | 14 +-
71853 mm/rmap.c | 44 +-
71854 mm/shmem.c | 19 +-
71855 mm/slab.c | 108 +-
71856 mm/slab.h | 15 +-
71857 mm/slab_common.c | 60 +-
71858 mm/slob.c | 206 +-
71859 mm/slub.c | 88 +-
71860 mm/sparse-vmemmap.c | 4 +-
71861 mm/sparse.c | 2 +-
71862 mm/swap.c | 3 +
71863 mm/swapfile.c | 12 +-
71864 mm/util.c | 6 +
71865 mm/vmalloc.c | 77 +-
71866 mm/vmstat.c | 10 +-
71867 net/8021q/vlan.c | 5 +-
71868 net/9p/mod.c | 4 +-
71869 net/9p/trans_fd.c | 2 +-
71870 net/atm/atm_misc.c | 8 +-
71871 net/atm/lec.h | 2 +-
71872 net/atm/proc.c | 6 +-
71873 net/atm/resources.c | 4 +-
71874 net/ax25/sysctl_net_ax25.c | 2 +-
71875 net/batman-adv/bat_iv_ogm.c | 8 +-
71876 net/batman-adv/hard-interface.c | 2 +-
71877 net/batman-adv/soft-interface.c | 4 +-
71878 net/batman-adv/types.h | 6 +-
71879 net/batman-adv/unicast.c | 2 +-
71880 net/bluetooth/hci_sock.c | 2 +-
71881 net/bluetooth/l2cap_core.c | 6 +-
71882 net/bluetooth/l2cap_sock.c | 12 +-
71883 net/bluetooth/rfcomm/sock.c | 4 +-
71884 net/bluetooth/rfcomm/tty.c | 10 +-
71885 net/bridge/netfilter/ebtables.c | 6 +-
71886 net/caif/cfctrl.c | 11 +-
71887 net/can/af_can.c | 2 +-
71888 net/can/gw.c | 6 +-
71889 net/ceph/messenger.c | 4 +-
71890 net/compat.c | 34 +-
71891 net/core/datagram.c | 2 +-
71892 net/core/dev.c | 16 +-
71893 net/core/flow.c | 8 +-
71894 net/core/iovec.c | 4 +-
71895 net/core/neighbour.c | 2 +-
71896 net/core/net-sysfs.c | 2 +-
71897 net/core/net_namespace.c | 8 +-
71898 net/core/netpoll.c | 4 +-
71899 net/core/rtnetlink.c | 13 +-
71900 net/core/scm.c | 8 +-
71901 net/core/skbuff.c | 6 +-
71902 net/core/sock.c | 24 +-
71903 net/core/sock_diag.c | 9 +-
71904 net/core/sysctl_net_core.c | 18 +-
71905 net/decnet/af_decnet.c | 1 +
71906 net/decnet/sysctl_net_decnet.c | 4 +-
71907 net/ieee802154/6lowpan.c | 2 +-
71908 net/ipv4/af_inet.c | 8 +-
71909 net/ipv4/devinet.c | 18 +-
71910 net/ipv4/fib_frontend.c | 6 +-
71911 net/ipv4/fib_semantics.c | 2 +-
71912 net/ipv4/inet_connection_sock.c | 2 +-
71913 net/ipv4/inetpeer.c | 4 +-
71914 net/ipv4/ip_fragment.c | 15 +-
71915 net/ipv4/ip_gre.c | 6 +-
71916 net/ipv4/ip_sockglue.c | 2 +-
71917 net/ipv4/ip_vti.c | 4 +-
71918 net/ipv4/ipconfig.c | 6 +-
71919 net/ipv4/ipip.c | 4 +-
71920 net/ipv4/netfilter/arp_tables.c | 12 +-
71921 net/ipv4/netfilter/ip_tables.c | 12 +-
71922 net/ipv4/ping.c | 14 +-
71923 net/ipv4/raw.c | 14 +-
71924 net/ipv4/route.c | 20 +-
71925 net/ipv4/sysctl_net_ipv4.c | 45 +-
71926 net/ipv4/tcp_input.c | 2 +-
71927 net/ipv4/tcp_probe.c | 2 +-
71928 net/ipv4/udp.c | 10 +-
71929 net/ipv4/xfrm4_policy.c | 14 +-
71930 net/ipv6/addrconf.c | 12 +-
71931 net/ipv6/datagram.c | 2 +-
71932 net/ipv6/icmp.c | 2 +-
71933 net/ipv6/ip6_gre.c | 8 +-
71934 net/ipv6/ip6_tunnel.c | 4 +-
71935 net/ipv6/ipv6_sockglue.c | 2 +-
71936 net/ipv6/netfilter/ip6_tables.c | 12 +-
71937 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
71938 net/ipv6/output_core.c | 15 +-
71939 net/ipv6/ping.c | 28 +-
71940 net/ipv6/raw.c | 19 +-
71941 net/ipv6/reassembly.c | 13 +-
71942 net/ipv6/route.c | 2 +-
71943 net/ipv6/sit.c | 4 +-
71944 net/ipv6/sysctl_net_ipv6.c | 2 +-
71945 net/ipv6/udp.c | 6 +-
71946 net/ipv6/xfrm6_policy.c | 13 +-
71947 net/irda/ircomm/ircomm_tty.c | 18 +-
71948 net/iucv/af_iucv.c | 4 +-
71949 net/iucv/iucv.c | 2 +-
71950 net/key/af_key.c | 4 +-
71951 net/mac80211/cfg.c | 8 +-
71952 net/mac80211/ieee80211_i.h | 3 +-
71953 net/mac80211/iface.c | 16 +-
71954 net/mac80211/main.c | 2 +-
71955 net/mac80211/pm.c | 6 +-
71956 net/mac80211/rate.c | 2 +-
71957 net/mac80211/rc80211_pid_debugfs.c | 2 +-
71958 net/mac80211/util.c | 4 +-
71959 net/netfilter/ipset/ip_set_core.c | 2 +-
71960 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
71961 net/netfilter/ipvs/ip_vs_core.c | 4 +-
71962 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
71963 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
71964 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
71965 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
71966 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
71967 net/netfilter/nf_conntrack_acct.c | 2 +-
71968 net/netfilter/nf_conntrack_ecache.c | 2 +-
71969 net/netfilter/nf_conntrack_helper.c | 2 +-
71970 net/netfilter/nf_conntrack_proto.c | 2 +-
71971 net/netfilter/nf_conntrack_proto_dccp.c | 10 +-
71972 net/netfilter/nf_conntrack_standalone.c | 2 +-
71973 net/netfilter/nf_conntrack_timestamp.c | 2 +-
71974 net/netfilter/nf_log.c | 10 +-
71975 net/netfilter/nf_sockopt.c | 4 +-
71976 net/netfilter/nfnetlink_log.c | 4 +-
71977 net/netfilter/xt_statistic.c | 8 +-
71978 net/netlink/af_netlink.c | 4 +-
71979 net/netlink/genetlink.c | 16 +-
71980 net/packet/af_packet.c | 12 +-
71981 net/phonet/pep.c | 6 +-
71982 net/phonet/socket.c | 2 +-
71983 net/phonet/sysctl.c | 2 +-
71984 net/rds/cong.c | 6 +-
71985 net/rds/ib.h | 2 +-
71986 net/rds/ib_cm.c | 2 +-
71987 net/rds/ib_recv.c | 4 +-
71988 net/rds/iw.h | 2 +-
71989 net/rds/iw_cm.c | 2 +-
71990 net/rds/iw_recv.c | 4 +-
71991 net/rds/rds.h | 2 +-
71992 net/rds/tcp.c | 2 +-
71993 net/rds/tcp_send.c | 2 +-
71994 net/rxrpc/af_rxrpc.c | 2 +-
71995 net/rxrpc/ar-ack.c | 14 +-
71996 net/rxrpc/ar-call.c | 2 +-
71997 net/rxrpc/ar-connection.c | 2 +-
71998 net/rxrpc/ar-connevent.c | 2 +-
71999 net/rxrpc/ar-input.c | 4 +-
72000 net/rxrpc/ar-internal.h | 8 +-
72001 net/rxrpc/ar-local.c | 2 +-
72002 net/rxrpc/ar-output.c | 4 +-
72003 net/rxrpc/ar-peer.c | 2 +-
72004 net/rxrpc/ar-proc.c | 4 +-
72005 net/rxrpc/ar-transport.c | 2 +-
72006 net/rxrpc/rxkad.c | 4 +-
72007 net/sctp/ipv6.c | 6 +-
72008 net/sctp/protocol.c | 10 +-
72009 net/sctp/sm_sideeffect.c | 2 +-
72010 net/sctp/socket.c | 21 +-
72011 net/sctp/sysctl.c | 4 +-
72012 net/socket.c | 18 +-
72013 net/sunrpc/auth_gss/svcauth_gss.c | 4 +-
72014 net/sunrpc/clnt.c | 4 +-
72015 net/sunrpc/sched.c | 4 +-
72016 net/sunrpc/svc.c | 4 +-
72017 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
72018 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
72019 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
72020 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
72021 net/tipc/link.c | 4 +-
72022 net/tipc/msg.c | 2 +-
72023 net/tipc/subscr.c | 2 +-
72024 net/unix/sysctl_net_unix.c | 2 +-
72025 net/wireless/wext-core.c | 19 +-
72026 net/xfrm/xfrm_policy.c | 27 +-
72027 net/xfrm/xfrm_state.c | 33 +-
72028 net/xfrm/xfrm_sysctl.c | 2 +-
72029 scripts/Makefile.build | 2 +-
72030 scripts/Makefile.clean | 3 +-
72031 scripts/Makefile.host | 28 +-
72032 scripts/basic/fixdep.c | 12 +-
72033 scripts/gcc-plugin.sh | 17 +
72034 scripts/headers_install.sh | 1 +
72035 scripts/link-vmlinux.sh | 2 +-
72036 scripts/mod/file2alias.c | 14 +-
72037 scripts/mod/modpost.c | 25 +-
72038 scripts/mod/modpost.h | 6 +-
72039 scripts/mod/sumversion.c | 2 +-
72040 scripts/package/builddeb | 1 +
72041 scripts/pnmtologo.c | 6 +-
72042 scripts/sortextable.h | 6 +-
72043 security/Kconfig | 690 +++-
72044 security/apparmor/lsm.c | 2 +-
72045 security/integrity/ima/ima.h | 4 +-
72046 security/integrity/ima/ima_api.c | 2 +-
72047 security/integrity/ima/ima_fs.c | 4 +-
72048 security/integrity/ima/ima_queue.c | 2 +-
72049 security/keys/compat.c | 2 +-
72050 security/keys/internal.h | 2 +-
72051 security/keys/key.c | 18 +-
72052 security/keys/keyctl.c | 8 +-
72053 security/keys/keyring.c | 6 +-
72054 security/security.c | 12 +-
72055 security/selinux/avc.c | 6 +-
72056 security/selinux/hooks.c | 6 +-
72057 security/selinux/include/xfrm.h | 2 +-
72058 security/smack/smack_lsm.c | 2 +-
72059 security/tomoyo/tomoyo.c | 2 +-
72060 security/yama/yama_lsm.c | 22 +-
72061 sound/aoa/codecs/onyx.c | 7 +-
72062 sound/aoa/codecs/onyx.h | 1 +
72063 sound/core/oss/pcm_oss.c | 18 +-
72064 sound/core/pcm_compat.c | 2 +-
72065 sound/core/pcm_native.c | 4 +-
72066 sound/core/seq/seq_device.c | 8 +-
72067 sound/core/sound.c | 2 +-
72068 sound/drivers/mts64.c | 14 +-
72069 sound/drivers/opl4/opl4_lib.c | 2 +-
72070 sound/drivers/portman2x4.c | 3 +-
72071 sound/firewire/amdtp.c | 4 +-
72072 sound/firewire/amdtp.h | 2 +-
72073 sound/firewire/isight.c | 10 +-
72074 sound/firewire/scs1x.c | 8 +-
72075 sound/oss/sb_audio.c | 2 +-
72076 sound/oss/swarm_cs4297a.c | 6 +-
72077 sound/pci/hda/hda_codec.c | 8 +-
72078 sound/pci/ymfpci/ymfpci.h | 2 +-
72079 sound/pci/ymfpci/ymfpci_main.c | 12 +-
72080 sound/soc/fsl/fsl_ssi.c | 2 +-
72081 tools/gcc/.gitignore | 1 +
72082 tools/gcc/Makefile | 45 +
72083 tools/gcc/checker_plugin.c | 172 +
72084 tools/gcc/colorize_plugin.c | 151 +
72085 tools/gcc/constify_plugin.c | 560 ++
72086 tools/gcc/generate_size_overflow_hash.sh | 94 +
72087 tools/gcc/kallocstat_plugin.c | 170 +
72088 tools/gcc/kernexec_plugin.c | 471 ++
72089 tools/gcc/latent_entropy_plugin.c | 321 +
72090 tools/gcc/size_overflow_hash.data | 6350 ++++++++++++++++++++
72091 tools/gcc/size_overflow_plugin.c | 2113 +++++++
72092 tools/gcc/stackleak_plugin.c | 327 +
72093 tools/gcc/structleak_plugin.c | 277 +
72094 tools/lib/lk/Makefile | 2 +-
72095 tools/perf/util/include/asm/alternative-asm.h | 3 +
72096 tools/perf/util/include/linux/compiler.h | 8 +
72097 virt/kvm/kvm_main.c | 32 +-
72098 1664 files changed, 32957 insertions(+), 7636 deletions(-)
72099 commit 4c61dba17c53d0a775c77aed0c0ddb15a12daa3c
72100 Merge: c3ccfb2 777e08c
72101 Author: Brad Spengler <spender@grsecurity.net>
72102 Date: Sun Sep 8 19:49:04 2013 -0400
72103
72104 Merge branch 'pax-test' into grsec-test
72105
72106 commit 777e08c6a87ef43439f4431d8d458732ca5e17c6
72107 Author: Brad Spengler <spender@grsecurity.net>
72108 Date: Sun Sep 8 19:47:32 2013 -0400
72109
72110 Update to pax-linux-3.10.11-test26.patch:
72111 - reworked __SC_LONG to care about only int and smaller types, this eliminates size overflow false positives reported by hunger
72112 - fixed an uninitialized read in splice, reported by hunger
72113
72114 fs/splice.c | 1 +
72115 include/linux/syscalls.h | 14 +-
72116 tools/gcc/size_overflow_hash.data | 426 +++++++++++++++++++++----------------
72117 3 files changed, 247 insertions(+), 194 deletions(-)
72118
72119 commit 5c3161364270c842d901789faac731f79a9f9cd6
72120 Merge: cf9c476 85cdabb
72121 Author: Brad Spengler <spender@grsecurity.net>
72122 Date: Sun Sep 8 19:24:25 2013 -0400
72123
72124 Merge branch 'linux-3.10.y' into pax-test
72125
72126 commit c3ccfb29794a03413095422100ce90d40ef7df0f
72127 Author: Jakob Bornecrantz <jakob@vmware.com>
72128 Date: Thu Aug 29 02:32:53 2013 +0200
72129
72130 Upstream commit: 6e4dcff3adbf25acb87e74500a58e3c07bdec40f
72131
72132 drm/vmwgfx: Split GMR2_REMAP commands if they are to large
72133
72134 This fixes the piglit test texturing/max-texture-size
72135 causing the VM to die due to a too large SVGA command.
72136
72137 Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
72138 Reviewed-by: Biran Paul <brianp@vmware.com>
72139 Reviewed-by: Zack Rusin <zackr@vmware.com>
72140 Cc: stable@vger.kernel.org
72141 Signed-off-by: Dave Airlie <airlied@gmail.com>
72142
72143 drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c | 58 +++++++++++++++++++++++-----------
72144 1 files changed, 39 insertions(+), 19 deletions(-)
72145
72146 commit d260badf708d6aa16c44f56f54727532dcae826e
72147 Author: Daniel Borkmann <dborkman@redhat.com>
72148 Date: Tue Sep 3 19:29:12 2013 +0200
72149
72150 Upstream commit: 3a1c756590633c0e86df606e5c618c190926a0df
72151
72152 net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv
72153
72154 In tcp_v6_do_rcv() code, when processing pkt options, we soley work
72155 on our skb clone opt_skb that we've created earlier before entering
72156 tcp_rcv_established() on our way. However, only in condition ...
72157
72158 if (np->rxopt.bits.rxtclass)
72159 np->rcv_tclass = ipv6_get_dsfield(ipv6_hdr(skb));
72160
72161 ... we work on skb itself. As we extract every other information out
72162 of opt_skb in ipv6_pktoptions path, this seems wrong, since skb can
72163 already be released by tcp_rcv_established() earlier on. When we try
72164 to access it in ipv6_hdr(), we will dereference freed skb.
72165
72166 [ Bug added by commit 4c507d2897bd9b ("net: implement IP_RECVTOS for
72167 IP_PKTOPTIONS") ]
72168
72169 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
72170 Cc: Eric Dumazet <eric.dumazet@gmail.com>
72171 Acked-by: Eric Dumazet <edumazet@google.com>
72172 Acked-by: Jiri Benc <jbenc@redhat.com>
72173 Signed-off-by: David S. Miller <davem@davemloft.net>
72174
72175 net/ipv6/tcp_ipv6.c | 2 +-
72176 1 files changed, 1 insertions(+), 1 deletions(-)
72177
72178 commit ee3db7a4fb3619d70b8e0c1a8de07402a67e8d31
72179 Author: Dan Carpenter <dan.carpenter@oracle.com>
72180 Date: Thu Aug 29 11:47:00 2013 +0300
72181
72182 Upstream commit: 0d63c27d9e879a0b54eb405636d60ab12040ca46
72183
72184 mISDN: return -EINVAL on error in dsp_control_req()
72185
72186 If skb->len is too short then we should return an error. Otherwise we
72187 read beyond the end of skb->data for several bytes.
72188
72189 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
72190 Signed-off-by: David S. Miller <davem@davemloft.net>
72191
72192 drivers/isdn/mISDN/dsp_core.c | 4 +++-
72193 1 files changed, 3 insertions(+), 1 deletions(-)
72194
72195 commit af7c2bc789c8fe5ef7474f22dacf212be22fd0af
72196 Author: Brad Spengler <spender@grsecurity.net>
72197 Date: Thu Sep 5 19:36:23 2013 -0400
72198
72199 fix dependencies for GRKERNSEC_ROFS / GRKERNSEC_DENYUSB
72200
72201 grsecurity/Kconfig | 3 ++-
72202 1 files changed, 2 insertions(+), 1 deletions(-)
72203
72204 commit da68dbcd96c617923a0aedb177d36b2701f9c858
72205 Author: Brad Spengler <spender@grsecurity.net>
72206 Date: Thu Sep 5 19:17:02 2013 -0400
72207
72208 Allow the deny_new_usb sysctl to be toggled off by a user with
72209 CAP_SYS_ADMIN. This allows for more inventive uses of the feature
72210 that would be impossible otherwise (like toggling it while the screen is
72211 locked, etc)
72212
72213 grsecurity/grsec_sysctl.c | 4 +---
72214 1 files changed, 1 insertions(+), 3 deletions(-)
72215
72216 commit ce0e893adc830ee110f97071cc17e661fb35ae3d
72217 Author: Brad Spengler <spender@grsecurity.net>
72218 Date: Thu Sep 5 18:41:49 2013 -0400
72219
72220 Add a new GRKERNSEC_DENYUSB_FORCE option that achieves what
72221 GRKERNSEC_DENYUSB does without the need for a sysctl toggle, for
72222 users who know they want the functionality but don't want to bother
72223 with modifying init scripts
72224
72225 Also eliminate reset_security_ops() as a ROP target when
72226 SECURITY_SELINUX_DISABLE is disabled as it's the only user
72227
72228 grsecurity/Kconfig | 17 ++++++++++++++++-
72229 grsecurity/grsec_init.c | 3 +++
72230 grsecurity/grsec_sysctl.c | 2 +-
72231 security/security.c | 4 ++++
72232 4 files changed, 24 insertions(+), 2 deletions(-)
72233
72234 commit 0d5ca3a057ae48b5fdccb2f0a7a841a5cc76d3dd
72235 Merge: 7ee3899 cf9c476
72236 Author: Brad Spengler <spender@grsecurity.net>
72237 Date: Sun Sep 1 13:56:57 2013 -0400
72238
72239 Merge branch 'pax-test' into grsec-test
72240
72241 commit cf9c47690fa0f3da590de766ea8c6a543984ee3c
72242 Author: Brad Spengler <spender@grsecurity.net>
72243 Date: Sun Sep 1 13:56:16 2013 -0400
72244
72245 Update to pax-linux-3.10.10-test25.patch:
72246 - fixed a few more REFCOUNT false positives, by Mathias Krause <minipli@googlemail.com>
72247 - got inet_getid and ipv6_select_ident rid of the cmpxchg loop
72248
72249 block/blk-cgroup.c | 4 ++--
72250 drivers/video/hyperv_fb.c | 4 ++--
72251 fs/namespace.c | 4 ++--
72252 include/net/inetpeer.h | 13 +++++--------
72253 kernel/trace/trace_clock.c | 4 ++--
72254 net/ipv6/output_core.c | 15 ++++++---------
72255 net/sunrpc/auth_gss/svcauth_gss.c | 4 ++--
72256 7 files changed, 21 insertions(+), 27 deletions(-)
72257
72258 commit 7ee3899312d611b85cadd3eda173f7a3952bb8aa
72259 Merge: fd0338c 2bdeae7
72260 Author: Brad Spengler <spender@grsecurity.net>
72261 Date: Sat Aug 31 22:07:38 2013 -0400
72262
72263 Merge branch 'pax-test' into grsec-test
72264
72265 commit 2bdeae76eab5c34e4b88c7090a435b969037a3c1
72266 Author: Brad Spengler <spender@grsecurity.net>
72267 Date: Sat Aug 31 22:06:55 2013 -0400
72268
72269 Update to pax-linux-3.10.10-test24.patch:
72270 - fixed a REFCOUNT false positive, by Mathias Krause <minipli@googlemail.com>
72271 - fixed a bunch more after a quick audit of atomic_inc_return users
72272
72273 drivers/acpi/apei/ghes.c | 4 ++--
72274 drivers/ata/libata-core.c | 4 ++--
72275 drivers/ata/libata-scsi.c | 2 +-
72276 drivers/ata/libata.h | 2 +-
72277 drivers/block/drbd/drbd_nl.c | 4 ++--
72278 drivers/crypto/hifn_795x.c | 4 ++--
72279 drivers/edac/edac_device.c | 4 ++--
72280 drivers/edac/edac_pci.c | 4 ++--
72281 drivers/firewire/core-card.c | 4 ++--
72282 drivers/hv/hv_balloon.c | 18 +++++++++---------
72283 drivers/infiniband/hw/mlx4/mad.c | 2 +-
72284 drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
72285 drivers/input/misc/ims-pcu.c | 4 ++--
72286 drivers/input/serio/serio_raw.c | 4 ++--
72287 drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
72288 drivers/media/radio/radio-maxiradio.c | 2 +-
72289 drivers/media/radio/radio-shark.c | 2 +-
72290 drivers/media/radio/radio-shark2.c | 2 +-
72291 drivers/media/radio/radio-si476x.c | 2 +-
72292 drivers/media/rc/rc-main.c | 4 ++--
72293 drivers/media/v4l2-core/v4l2-device.c | 4 ++--
72294 drivers/net/usb/sierra_net.c | 4 ++--
72295 drivers/pci/hotplug/pciehp_hpc.c | 4 +---
72296 drivers/regulator/core.c | 4 ++--
72297 drivers/scsi/fcoe/fcoe_sysfs.c | 12 ++++++------
72298 drivers/staging/android/timed_output.c | 6 +++---
72299 drivers/staging/media/solo6x10/solo6x10-p2m.c | 2 +-
72300 drivers/staging/media/solo6x10/solo6x10.h | 2 +-
72301 drivers/target/sbp/sbp_target.c | 4 ++--
72302 drivers/tty/hvc/hvsi.c | 12 ++++++------
72303 drivers/tty/hvc/hvsi_lib.c | 6 +++---
72304 drivers/tty/serial/ioc4_serial.c | 6 +++---
72305 drivers/tty/serial/msm_serial.c | 4 ++--
72306 drivers/usb/misc/appledisplay.c | 4 ++--
72307 fs/afs/inode.c | 4 ++--
72308 fs/btrfs/delayed-inode.c | 6 +++---
72309 fs/btrfs/delayed-inode.h | 4 ++--
72310 fs/fscache/cookie.c | 4 ++--
72311 include/media/v4l2-device.h | 2 +-
72312 net/ceph/messenger.c | 4 ++--
72313 net/core/netpoll.c | 4 ++--
72314 net/xfrm/xfrm_state.c | 4 ++--
72315 security/selinux/avc.c | 6 +++---
72316 43 files changed, 93 insertions(+), 95 deletions(-)
72317
72318 commit fd0338c8877c47789a9cc61f3a26c83e68aa3d37
72319 Merge: 1bdf7ec 85099d2
72320 Author: Brad Spengler <spender@grsecurity.net>
72321 Date: Sat Aug 31 21:07:29 2013 -0400
72322
72323 Merge branch 'pax-test' into grsec-test
72324
72325 commit 85099d220fb014b6e4c6ffe18a55b20c61f6daed
72326 Author: Brad Spengler <spender@grsecurity.net>
72327 Date: Sat Aug 31 21:06:55 2013 -0400
72328
72329 Update to pax-linux-3.10.10-test23.patch:
72330 - added the necessary atomic_unchecked_t conversion for mips
72331 - audited and fixed arm and sparc for proper atomic_unchecked_t usage
72332
72333 arch/arm/kvm/arm.c | 8 ++++----
72334 arch/arm/mm/context.c | 10 +++++-----
72335 arch/mips/kernel/irq.c | 6 +++---
72336 arch/mips/kernel/sync-r4k.c | 24 ++++++++++++------------
72337 arch/mips/sgi-ip27/ip27-nmi.c | 6 +++---
72338 arch/sparc/kernel/smp_64.c | 12 ++++++------
72339 arch/sparc/kernel/traps_64.c | 14 +++++++-------
72340 arch/sparc/mm/init_64.c | 10 +++++-----
72341 8 files changed, 45 insertions(+), 45 deletions(-)
72342
72343 commit 1bdf7ec39027ffd7c3099b78ff20c39295448b34
72344 Merge: 995a168 38ee86c
72345 Author: Brad Spengler <spender@grsecurity.net>
72346 Date: Fri Aug 30 19:23:36 2013 -0400
72347
72348 Merge branch 'pax-test' into grsec-test
72349
72350 commit 38ee86c05df0f8db582df8776b9f23f317d42bbb
72351 Author: Brad Spengler <spender@grsecurity.net>
72352 Date: Fri Aug 30 19:23:11 2013 -0400
72353
72354 Update to pax-linux-3.10.10-test22.patch:
72355 - fixed !REFCOUNT/mips compilation, by Corey Minyard <cminyard@mvista.com>
72356 - fixed a few more format strings
72357
72358 arch/mips/include/asm/atomic.h | 20 ++++++++++++++++----
72359 drivers/md/bcache/super.c | 2 +-
72360 drivers/net/wireless/iwlwifi/dvm/main.c | 3 +--
72361 drivers/pci/hotplug/pciehp_hpc.c | 2 +-
72362 drivers/platform/x86/wmi.c | 2 +-
72363 drivers/scsi/sd.c | 2 +-
72364 drivers/vfio/vfio.c | 4 ++--
72365 fs/ntfs/super.c | 6 +++---
72366 include/linux/workqueue.h | 6 +++---
72367 net/mac80211/main.c | 2 +-
72368 sound/pci/hda/hda_codec.c | 8 ++------
72369 11 files changed, 32 insertions(+), 25 deletions(-)
72370
72371 commit 995a16841e2097c3a9dfc652e856469679c4a0ba
72372 Author: Brad Spengler <spender@grsecurity.net>
72373 Date: Fri Aug 30 17:11:11 2013 -0400
72374
72375 fix compilation with GRKERNSEC_DENYUSB as reported by slashbeast
72376
72377 grsecurity/grsec_sysctl.c | 7 ++++---
72378 1 files changed, 4 insertions(+), 3 deletions(-)
72379
72380 commit 8ba1cc35ec5216383369ddf3ef2cde5e4aaacb57
72381 Merge: be2497c 1052971
72382 Author: Brad Spengler <spender@grsecurity.net>
72383 Date: Thu Aug 29 20:44:29 2013 -0400
72384
72385 Merge branch 'pax-test' into grsec-test
72386
72387 Conflicts:
72388 include/linux/sched.h
72389
72390 commit 10529710192fe7f7d42ad7bb1dfef2143cca8ad2
72391 Merge: e902dad 8bf3379
72392 Author: Brad Spengler <spender@grsecurity.net>
72393 Date: Thu Aug 29 20:39:50 2013 -0400
72394
72395 Update to pax-linux-3.10.10-test21.patch
72396
72397 Merge branch 'linux-3.10.y' into pax-test
72398
72399 Conflicts:
72400 arch/x86/kernel/sys_x86_64.c
72401 arch/x86/mm/mmap.c
72402 include/linux/sched.h
72403
72404 commit be2497c1b629a5ad604a8b0ec265ef5d801c7de8
72405 Merge: 081c22b e902dad
72406 Author: Brad Spengler <spender@grsecurity.net>
72407 Date: Wed Aug 28 20:52:44 2013 -0400
72408
72409 Merge branch 'pax-test' into grsec-test
72410
72411 commit e902dad6b609a176f58c1b9393b3a98f14bd4b74
72412 Author: Brad Spengler <spender@grsecurity.net>
72413 Date: Wed Aug 28 20:51:21 2013 -0400
72414
72415 Update to pax-linux-3.10.9-test21.patch:
72416 - removed unnecessary type cast in do_PrefetchAbort, noticed by spender
72417 - since pax_report_refcount_overflow disables preemption inside, no need to do it explicitly in do_ov
72418 - fixed a REFCOUNT false positive in UHID
72419 - inspired by Dan Carpenter's recent fix (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=909bd5926d474e275599094acad986af79671ac9)
72420 Emese Revfy wrote a gcc plugin to find other instances of the same error, here's the fallout
72421 (come to the 10th H2HC if you want to learn about the magic behind this and other plugins):
72422 - icmpv6_filter: no memory corruption, probably just some logical error in the caller
72423 - dccp_new/dccp_packet/dccp_error: probably remote kernel stack overflow (12 byte network data overwriting a local ptr variable)
72424 - gigaset_brkchars: causes DMA on the kernel stack, some archs don't like it (more of this is to come)
72425 - isdn_ioctl/IIOCDBGVAR: kernel heap address leak (by design), restricted to CAP_SYS_RAWIO now
72426 - __dwc3_gadget_ep_enable: probably forgotten memset, seems harmless
72427 - lowpan_header_create: leaks 3 bytes of a kernel heap address over the network
72428
72429 arch/arm/mm/fault.c | 2 +-
72430 arch/mips/kernel/traps.c | 2 --
72431 drivers/hid/uhid.c | 6 +++---
72432 drivers/isdn/gigaset/usb-gigaset.c | 2 +-
72433 drivers/isdn/i4l/isdn_common.c | 2 ++
72434 drivers/net/wireless/hostap/hostap_ioctl.c | 4 ++--
72435 drivers/usb/dwc3/gadget.c | 2 --
72436 net/ieee802154/6lowpan.c | 2 +-
72437 net/ipv6/raw.c | 2 +-
72438 net/netfilter/nf_conntrack_proto_dccp.c | 6 +++---
72439 10 files changed, 14 insertions(+), 16 deletions(-)
72440
72441 commit 081c22b436d4d4ac8c9ef7c3f3b9587cfb02d804
72442 Author: Brad Spengler <spender@grsecurity.net>
72443 Date: Wed Aug 28 20:42:39 2013 -0400
72444
72445 add export of gr_handle_new_usb()
72446
72447 grsecurity/grsec_usb.c | 2 ++
72448 1 files changed, 2 insertions(+), 0 deletions(-)
72449
72450 commit 2e708ca9984ef74536d1d9b1d4e6e73d27561ed6
72451 Author: Brad Spengler <spender@grsecurity.net>
72452 Date: Wed Aug 28 19:24:47 2013 -0400
72453
72454 Add new GRKERNSEC_DENYUSB feature that I've been sitting on for a bit
72455 Kees' recent findings are motivation enough to publish it
72456
72457 drivers/usb/core/hub.c | 5 +++++
72458 grsecurity/Kconfig | 20 ++++++++++++++++++++
72459 grsecurity/Makefile | 3 ++-
72460 grsecurity/grsec_init.c | 1 +
72461 grsecurity/grsec_sysctl.c | 11 +++++++++++
72462 grsecurity/grsec_usb.c | 13 +++++++++++++
72463 include/linux/grinternal.h | 1 +
72464 include/linux/grsecurity.h | 2 ++
72465 8 files changed, 55 insertions(+), 1 deletions(-)
72466
72467 commit 8044382257ec75a03f3d784ce048ef14e94b90ca
72468 Author: Kees Cook <keescook@chromium.org>
72469 Date: Wed Aug 14 09:35:07 2013 -0700
72470
72471 HID: zeroplus: validate output report details
72472
72473 The zeroplus HID driver was not checking the size of allocated values
72474 in fields it used. A HID device could send a malicious output report
72475 that would cause the driver to write beyond the output report allocation
72476 during initialization, causing a heap overflow:
72477
72478 [ 1442.728680] usb 1-1: New USB device found, idVendor=0c12, idProduct=0005
72479 ...
72480 [ 1466.243173] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
72481
72482 CVE-2013-2889
72483
72484 Signed-off-by: Kees Cook <keescook@chromium.org>
72485 Cc: stable@kernel.org
72486
72487 drivers/hid/hid-zpff.c | 14 ++------------
72488 1 files changed, 2 insertions(+), 12 deletions(-)
72489
72490 commit 1ead832874dde8c45c3d4c8c704f2cd7ad6a328f
72491 Author: Kees Cook <keescook@chromium.org>
72492 Date: Wed Aug 14 14:36:15 2013 -0700
72493
72494 HID: provide a helper for validating hid reports
72495
72496 Many drivers need to validate the characteristics of their HID report
72497 during initialization to avoid misusing the reports. This adds a common
72498 helper to perform validation of the report, its field count, and the
72499 value count within the fields.
72500
72501 Signed-off-by: Kees Cook <keescook@chromium.org>
72502 Cc: stable@kernel.org
72503
72504 drivers/hid/hid-core.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
72505 include/linux/hid.h | 4 +++
72506 2 files changed, 54 insertions(+), 0 deletions(-)
72507
72508 commit 270ba9096ddecdc3cf6c4d76e6892184820116be
72509 Author: Kees Cook <keescook@chromium.org>
72510 Date: Wed Aug 14 09:14:34 2013 -0700
72511
72512 HID: steelseries: validate output report details
72513
72514 A HID device could send a malicious output report that would cause the
72515 steelseries HID driver to write beyond the output report allocation
72516 during initialization, causing a heap overflow:
72517
72518 [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410
72519 ...
72520 [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten
72521
72522 CVE-2013-2891
72523
72524 Signed-off-by: Kees Cook <keescook@chromium.org>
72525 Cc: stable@kernel.org
72526
72527 drivers/hid/hid-steelseries.c | 5 +++++
72528 1 files changed, 5 insertions(+), 0 deletions(-)
72529
72530 commit 366e6cf394366e4bb2598e5d3763c6ca53fb7248
72531 Author: Kees Cook <keescook@chromium.org>
72532 Date: Wed Aug 14 08:49:21 2013 -0700
72533
72534 HID: pantherlord: validate output report details
72535
72536 A HID device could send a malicious output report that would cause the
72537 pantherlord HID driver to write beyond the output report allocation
72538 during initialization, causing a heap overflow:
72539
72540 [ 310.939483] usb 1-1: New USB device found, idVendor=0e8f, idProduct=0003
72541 ...
72542 [ 315.980774] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
72543
72544 CVE-2013-2892
72545
72546 Signed-off-by: Kees Cook <keescook@chromium.org>
72547 Cc: stable@kernel.org
72548
72549 drivers/hid/hid-pl.c | 10 ++++++++--
72550 1 files changed, 8 insertions(+), 2 deletions(-)
72551
72552 commit 60115e8108e508060815bce5ef9504233c81898c
72553 Author: Kees Cook <keescook@chromium.org>
72554 Date: Tue Aug 13 16:49:01 2013 -0700
72555
72556 HID: LG: validate HID output report details
72557
72558 A HID device could send a malicious output report that would cause the
72559 lg, lg3, and lg4 HID drivers to write beyond the output report allocation
72560 during an event, causing a heap overflow:
72561
72562 [ 325.245240] usb 1-1: New USB device found, idVendor=046d, idProduct=c287
72563 ...
72564 [ 414.518960] BUG kmalloc-4096 (Not tainted): Redzone overwritten
72565
72566 Additionally, while lg2 did correctly validate the report details, it was
72567 cleaned up and shortened.
72568
72569 CVE-2013-2893
72570
72571 Signed-off-by: Kees Cook <keescook@chromium.org>
72572 Cc: stable@kernel.org
72573
72574 drivers/hid/hid-lg2ff.c | 19 +++----------------
72575 drivers/hid/hid-lg3ff.c | 29 ++++++-----------------------
72576 drivers/hid/hid-lg4ff.c | 20 +-------------------
72577 drivers/hid/hid-lgff.c | 17 ++---------------
72578 4 files changed, 12 insertions(+), 73 deletions(-)
72579
72580 commit 1814f6ffbd0d5feccce1f03e8cc17882528e8a9f
72581 Author: Kees Cook <keescook@chromium.org>
72582 Date: Thu Aug 15 23:21:23 2013 -0700
72583
72584 HID: lenovo-tpkbd: validate output report details
72585
72586 A HID device could send a malicious output report that would cause the
72587 lenovo-tpkbd HID driver to write just beyond the output report allocation
72588 during initialization, causing a heap overflow:
72589
72590 [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009
72591 ...
72592 [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
72593
72594 CVE-2013-2894
72595
72596 Signed-off-by: Kees Cook <keescook@chromium.org>
72597 Cc: stable@kernel.org
72598
72599 drivers/hid/hid-lenovo-tpkbd.c | 5 +++++
72600 1 files changed, 5 insertions(+), 0 deletions(-)
72601
72602 commit 38627769bb2b9a550e251b2caf1babda7566fb4a
72603 Author: Kees Cook <keescook@chromium.org>
72604 Date: Thu Aug 15 23:45:03 2013 -0700
72605
72606 HID: logitech-dj: validate output report details
72607
72608 A HID device could send a malicious output report that would cause the
72609 logitech-dj HID driver to leak kernel memory contents to the device, or
72610 trigger a NULL dereference during initialization:
72611
72612 [ 304.424553] usb 1-1: New USB device found, idVendor=046d, idProduct=c52b
72613 ...
72614 [ 304.780467] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
72615 [ 304.781409] IP: [<ffffffff815d50aa>] logi_dj_recv_send_report.isra.11+0x1a/0x90
72616
72617 CVE-2013-2895
72618
72619 Signed-off-by: Kees Cook <keescook@chromium.org>
72620 Cc: stable@kernel.org
72621
72622 drivers/hid/hid-logitech-dj.c | 12 ++++++++++--
72623 1 files changed, 10 insertions(+), 2 deletions(-)
72624
72625 commit db334388c9d3f95aeb6aacdcec72169b6edd6f07
72626 Author: Kees Cook <keescook@chromium.org>
72627 Date: Fri Aug 16 00:18:15 2013 -0700
72628
72629 HID: ntrig: validate feature report details
72630
72631 A HID device could send a malicious feature report that would cause the
72632 ntrig HID driver to trigger a NULL dereference during initialization:
72633
72634 [57383.031190] usb 3-1: New USB device found, idVendor=1b96, idProduct=0001
72635 ...
72636 [57383.315193] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
72637 [57383.315308] IP: [<ffffffffa08102de>] ntrig_probe+0x25e/0x420 [hid_ntrig]
72638
72639 CVE-2013-2896
72640
72641 Signed-off-by: Kees Cook <keescook@chromium.org>
72642 Cc: stable@kernel.org
72643
72644 drivers/hid/hid-ntrig.c | 3 ++-
72645 1 files changed, 2 insertions(+), 1 deletions(-)
72646
72647 commit 86adcfe96ceefd7d64593a493abe07c155bb8f88
72648 Author: Kees Cook <keescook@chromium.org>
72649 Date: Fri Aug 16 00:11:32 2013 -0700
72650
72651 HID: multitouch: validate feature report details
72652
72653 When working on report indexes, always validate that they are in bounds.
72654 Without this, a HID device could report a malicious feature report that
72655 could trick the driver into a heap overflow:
72656
72657 [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500
72658 ...
72659 [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
72660
72661 CVE-2013-2897
72662
72663 Signed-off-by: Kees Cook <keescook@chromium.org>
72664 Cc: stable@kernel.org
72665
72666 drivers/hid/hid-multitouch.c | 25 ++++++++++++++++++++-----
72667 1 files changed, 20 insertions(+), 5 deletions(-)
72668
72669 commit 813f51e0881e4ea6d221da828b1cced02ad9694d
72670 Author: Kees Cook <keescook@chromium.org>
72671 Date: Fri Aug 16 08:12:45 2013 -0700
72672
72673 HID: sensor-hub: validate feature report details
72674
72675 A HID device could send a malicious feature report that would cause the
72676 sensor-hub HID driver to read past the end of heap allocation, leaking
72677 kernel memory contents to the caller.
72678
72679 CVE-2013-2898
72680
72681 Signed-off-by: Kees Cook <keescook@chromium.org>
72682 Cc: stable@kernel.org
72683
72684 drivers/hid/hid-sensor-hub.c | 3 ++-
72685 1 files changed, 2 insertions(+), 1 deletions(-)
72686
72687 commit 6ed7d602e322c67adcfa3ebe79ca2c4a3376330c
72688 Author: Kees Cook <keescook@chromium.org>
72689 Date: Fri Aug 16 08:05:10 2013 -0700
72690
72691 HID: picolcd_core: validate output report details
72692
72693 A HID device could send a malicious output report that would cause the
72694 picolcd HID driver to trigger a NULL dereference during attr file writing.
72695
72696 CVE-2013-2899
72697
72698 Signed-off-by: Kees Cook <keescook@chromium.org>
72699 Cc: stable@kernel.org
72700
72701 drivers/hid/hid-picolcd_core.c | 2 +-
72702 1 files changed, 1 insertions(+), 1 deletions(-)
72703
72704 commit 95e3cfb5a995dabe45b98cafb77e59d074de151f
72705 Author: Kees Cook <keescook@chromium.org>
72706 Date: Fri Aug 16 08:09:54 2013 -0700
72707
72708 HID: check for NULL field when setting values
72709
72710 Defensively check that the field to be worked on is not NULL.
72711
72712 Signed-off-by: Kees Cook <keescook@chromium.org>
72713 Cc: stable@kernel.org
72714
72715 drivers/hid/hid-core.c | 7 ++++++-
72716 1 files changed, 6 insertions(+), 1 deletions(-)
72717
72718 commit 96a55ce1b2f3af376c400a02059174e79ce4399c
72719 Author: Brad Spengler <spender@grsecurity.net>
72720 Date: Wed Aug 28 18:09:18 2013 -0400
72721
72722 http://marc.info/?l=linux-input&m=137772180514608&q=raw
72723
72724 From: Kees Cook <keescook@chromium.org>
72725
72726 The "Report ID" field of a HID report is used to build indexes of
72727 reports. The kernel's index of these is limited to 256 entries, so any
72728 malicious device that sets a Report ID greater than 255 will trigger
72729 memory corruption on the host:
72730
72731 [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878
72732 [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b
72733
72734 CVE-2013-2888
72735
72736 Signed-off-by: Kees Cook <keescook@chromium.org>
72737 Cc: stable@kernel.org
72738 ---
72739 drivers/hid/hid-core.c | 10 +++++++---
72740 include/linux/hid.h | 4 +++-
72741 2 files changed, 10 insertions(+), 4 deletions(-)
72742
72743 drivers/hid/hid-core.c | 10 +++++++---
72744 include/linux/hid.h | 4 +++-
72745 2 files changed, 10 insertions(+), 4 deletions(-)
72746
72747 commit eb1106eef5f17bfda833ca3cf89e315919173257
72748 Author: Dan Carpenter <dan.carpenter@oracle.com>
72749 Date: Fri Aug 9 12:52:31 2013 +0300
72750
72751 Upstream commit: 909bd5926d474e275599094acad986af79671ac9
72752
72753 Hostap: copying wrong data prism2_ioctl_giwaplist()
72754
72755 We want the data stored in "addr" and "qual", but the extra ampersands
72756 mean we are copying stack data instead.
72757
72758 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
72759 Cc: stable@vger.kernel.org
72760 Signed-off-by: John W. Linville <linville@tuxdriver.com>
72761
72762 drivers/net/wireless/hostap/hostap_ioctl.c | 4 ++--
72763 1 files changed, 2 insertions(+), 2 deletions(-)
72764
72765 commit b12fdddbc01b0d855dd56fa6fea6b4100aae7af4
72766 Author: Brad Spengler <spender@grsecurity.net>
72767 Date: Wed Aug 28 17:01:21 2013 -0400
72768
72769 fix typo in ipv6 backport
72770
72771 net/ipv6/addrconf.c | 2 +-
72772 1 files changed, 1 insertions(+), 1 deletions(-)
72773
72774 commit b42367d45ce67de82c38c5c7cb6f4cf521cca2f4
72775 Author: Andy Lutomirski <luto@amacapital.net>
72776 Date: Thu Aug 22 11:39:15 2013 -0700
72777
72778 Upstream commit: d661684cf6820331feae71146c35da83d794467e
72779
72780 net: Check the correct namespace when spoofing pid over SCM_RIGHTS
72781
72782 This is a security bug.
72783
72784 The follow-up will fix nsproxy to discourage this type of issue from
72785 happening again.
72786
72787 Cc: stable@vger.kernel.org
72788 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
72789 Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
72790 Signed-off-by: David S. Miller <davem@davemloft.net>
72791
72792 net/core/scm.c | 2 +-
72793 1 files changed, 1 insertions(+), 1 deletions(-)
72794
72795 commit 10b2e7e1f75d1da2e0bbe0bff04233ea2ec1bed9
72796 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
72797 Date: Fri Aug 16 13:02:27 2013 +0200
72798
72799 Upstream commit: 4b08a8f1bd8cb4541c93ec170027b4d0782dab52
72800
72801 ipv6: remove max_addresses check from ipv6_create_tempaddr
72802
72803 Because of the max_addresses check attackers were able to disable privacy
72804 extensions on an interface by creating enough autoconfigured addresses:
72805
72806 <http://seclists.org/oss-sec/2012/q4/292>
72807
72808 But the check is not actually needed: max_addresses protects the
72809 kernel to install too many ipv6 addresses on an interface and guards
72810 addrconf_prefix_rcv to install further addresses as soon as this limit
72811 is reached. We only generate temporary addresses in direct response of
72812 a new address showing up. As soon as we filled up the maximum number of
72813 addresses of an interface, we stop installing more addresses and thus
72814 also stop generating more temp addresses.
72815
72816 Even if the attacker tries to generate a lot of temporary addresses
72817 by announcing a prefix and removing it again (lifetime == 0) we won't
72818 install more temp addresses, because the temporary addresses do count
72819 to the maximum number of addresses, thus we would stop installing new
72820 autoconfigured addresses when the limit is reached.
72821
72822 This patch fixes CVE-2013-0343 (but other layer-2 attacks are still
72823 possible).
72824
72825 Thanks to Ding Tianhong to bring this topic up again.
72826
72827 Cc: Ding Tianhong <dingtianhong@huawei.com>
72828 Cc: George Kargiotakis <kargig@void.gr>
72829 Cc: P J P <ppandit@redhat.com>
72830 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
72831 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
72832 Acked-by: Ding Tianhong <dingtianhong@huawei.com>
72833 Signed-off-by: David S. Miller <davem@davemloft.net>
72834
72835 Conflicts:
72836
72837 net/ipv6/addrconf.c
72838
72839 net/ipv6/addrconf.c | 10 ++++------
72840 1 files changed, 4 insertions(+), 6 deletions(-)
72841
72842 commit 8333e0981469a226a47d0142ff31090a48db95a4
72843 Author: David Vrabel <david.vrabel@citrix.com>
72844 Date: Thu Aug 15 13:21:06 2013 +0100
72845
72846 Upstream commit: 84ca7a8e45dafb49cd5ca90a343ba033e2885c17
72847
72848 xen/events: initialize local per-cpu mask for all possible events
72849
72850 The sizeof() argument in init_evtchn_cpu_bindings() is incorrect
72851 resulting in only the first 64 (or 32 in 32-bit guests) ports having
72852 their bindings being initialized to VCPU 0.
72853
72854 In most cases this does not cause a problem as request_irq() will set
72855 the irq affinity which will set the correct local per-cpu mask.
72856 However, if the request_irq() is called on a VCPU other than 0, there
72857 is a window between the unmasking of the event and the affinity being
72858 set were an event may be lost because it is not locally unmasked on
72859 any VCPU. If request_irq() is called on VCPU 0 then local irqs are
72860 disabled during the window and the race does not occur.
72861
72862 Fix this by initializing all NR_EVENT_CHANNEL bits in the local
72863 per-cpu masks.
72864
72865 Signed-off-by: David Vrabel <david.vrabel@citrix.com>
72866 Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
72867 CC: stable@vger.kernel.org
72868
72869 drivers/xen/events.c | 2 +-
72870 1 files changed, 1 insertions(+), 1 deletions(-)
72871
72872 commit 2a9a83768433937a2b7a97001ba1627156c0efed
72873 Author: Roland Dreier <roland@purestorage.com>
72874 Date: Mon Aug 5 17:55:01 2013 -0700
72875
72876 Upstream commit: 35dc248383bbab0a7203fca4d722875bc81ef091
72877
72878 [SCSI] sg: Fix user memory corruption when SG_IO is interrupted by a signal
72879
72880 There is a nasty bug in the SCSI SG_IO ioctl that in some circumstances
72881 leads to one process writing data into the address space of some other
72882 random unrelated process if the ioctl is interrupted by a signal.
72883 What happens is the following:
72884
72885 - A process issues an SG_IO ioctl with direction DXFER_FROM_DEV (ie the
72886 underlying SCSI command will transfer data from the SCSI device to
72887 the buffer provided in the ioctl)
72888
72889 - Before the command finishes, a signal is sent to the process waiting
72890 in the ioctl. This will end up waking up the sg_ioctl() code:
72891
72892 result = wait_event_interruptible(sfp->read_wait,
72893 (srp_done(sfp, srp) || sdp->detached));
72894
72895 but neither srp_done() nor sdp->detached is true, so we end up just
72896 setting srp->orphan and returning to userspace:
72897
72898 srp->orphan = 1;
72899 write_unlock_irq(&sfp->rq_list_lock);
72900 return result; /* -ERESTARTSYS because signal hit process */
72901
72902 At this point the original process is done with the ioctl and
72903 blithely goes ahead handling the signal, reissuing the ioctl, etc.
72904
72905 - Eventually, the SCSI command issued by the first ioctl finishes and
72906 ends up in sg_rq_end_io(). At the end of that function, we run through:
72907
72908 write_lock_irqsave(&sfp->rq_list_lock, iflags);
72909 if (unlikely(srp->orphan)) {
72910 if (sfp->keep_orphan)
72911 srp->sg_io_owned = 0;
72912 else
72913 done = 0;
72914 }
72915 srp->done = done;
72916 write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
72917
72918 if (likely(done)) {
72919 /* Now wake up any sg_read() that is waiting for this
72920 * packet.
72921 */
72922 wake_up_interruptible(&sfp->read_wait);
72923 kill_fasync(&sfp->async_qp, SIGPOLL, POLL_IN);
72924 kref_put(&sfp->f_ref, sg_remove_sfp);
72925 } else {
72926 INIT_WORK(&srp->ew.work, sg_rq_end_io_usercontext);
72927 schedule_work(&srp->ew.work);
72928 }
72929
72930 Since srp->orphan *is* set, we set done to 0 (assuming the
72931 userspace app has not set keep_orphan via an SG_SET_KEEP_ORPHAN
72932 ioctl), and therefore we end up scheduling sg_rq_end_io_usercontext()
72933 to run in a workqueue.
72934
72935 - In workqueue context we go through sg_rq_end_io_usercontext() ->
72936 sg_finish_rem_req() -> blk_rq_unmap_user() -> ... ->
72937 bio_uncopy_user() -> __bio_copy_iov() -> copy_to_user().
72938
72939 The key point here is that we are doing copy_to_user() on a
72940 workqueue -- that is, we're on a kernel thread with current->mm
72941 equal to whatever random previous user process was scheduled before
72942 this kernel thread. So we end up copying whatever data the SCSI
72943 command returned to the virtual address of the buffer passed into
72944 the original ioctl, but it's quite likely we do this copying into a
72945 different address space!
72946
72947 As suggested by James Bottomley <James.Bottomley@hansenpartnership.com>,
72948 add a check for current->mm (which is NULL if we're on a kernel thread
72949 without a real userspace address space) in bio_uncopy_user(), and skip
72950 the copy if we're on a kernel thread.
72951
72952 There's no reason that I can think of for any caller of bio_uncopy_user()
72953 to want to do copying on a kernel thread with a random active userspace
72954 address space.
72955
72956 Huge thanks to Costa Sapuntzakis <costa@purestorage.com> for the
72957 original pointer to this bug in the sg code.
72958
72959 Signed-off-by: Roland Dreier <roland@purestorage.com>
72960 Tested-by: David Milburn <dmilburn@redhat.com>
72961 Cc: Jens Axboe <axboe@kernel.dk>
72962 Cc: <stable@vger.kernel.org>
72963 Signed-off-by: James Bottomley <JBottomley@Parallels.com>
72964
72965 fs/bio.c | 20 +++++++++++++++-----
72966 1 files changed, 15 insertions(+), 5 deletions(-)
72967
72968 commit e6fe57dee152671afd618d6bc8cbf23155be6c34
72969 Merge: cdc8f7d f2095a4
72970 Author: Brad Spengler <spender@grsecurity.net>
72971 Date: Tue Aug 27 18:13:35 2013 -0400
72972
72973 Merge branch 'pax-test' into grsec-test
72974
72975 Conflicts:
72976 arch/arm/mm/fault.c
72977 security/Kconfig
72978
72979 commit f2095a4787f7d332e5919f0bd00f8de6021ad612
72980 Author: Brad Spengler <spender@grsecurity.net>
72981 Date: Tue Aug 27 18:08:23 2013 -0400
72982
72983 Update to pax-linux-3.10.9-test20.patch:
72984 - removed unnecessary mark_sym_for_renaming calls from the gcc plugins, reported by Emese Revfy
72985 - made some KERNEXEC/UDEREF induced fault handling on arm more robust (IFAR isn't always set on v7), by Corey Minyard <cminyard@mvista.com>
72986 - converted some mips atomic accessor macros to functions in preparation of REFCOUNT support, by Corey Minyard <cminyard@mvista.com>
72987 - __copy_from_user_inatomic on amd64 will now return unsigned long like other userland accessors do
72988 - added REFCOUNT support for mips, by Corey Minyard <cminyard@mvista.com>
72989 - fixed arm compilation with UDEREF disabled, reported by fabled (http://forums.grsecurity.net/viewtopic.php?f=1&t=3720)
72990 - fixed early boot panic due to a INVCPID/PCID mismatch, reported by Patrick McLean (https://bugs.gentoo.org/show_bug.cgi?id=482010)
72991
72992 arch/arm/mm/fault.c | 11 +-
72993 arch/mips/include/asm/atomic.h | 722 +++++++++++++++++++++++++++++++++++--
72994 arch/mips/kernel/traps.c | 14 +-
72995 arch/x86/include/asm/tlbflush.h | 4 +
72996 arch/x86/include/asm/uaccess_64.h | 2 +-
72997 fs/ntfs/file.c | 2 +-
72998 kernel/events/internal.h | 4 +-
72999 kernel/events/uprobes.c | 2 +-
73000 kernel/futex.c | 2 +-
73001 mm/filemap.c | 8 +-
73002 security/Kconfig | 2 +-
73003 tools/gcc/kernexec_plugin.c | 18 +-
73004 tools/gcc/latent_entropy_plugin.c | 26 +-
73005 tools/gcc/size_overflow_plugin.c | 3 +-
73006 14 files changed, 750 insertions(+), 70 deletions(-)
73007
73008 commit cdc8f7d7a0d09f5ccec1717d1378ac284b5bb4e9
73009 Merge: 5a9ae57 745975e
73010 Author: Brad Spengler <spender@grsecurity.net>
73011 Date: Mon Aug 26 20:27:33 2013 -0400
73012
73013 Merge branch 'pax-test' into grsec-test
73014
73015 commit 745975e3b3b74b64e00e85778f9a22714d1274f2
73016 Author: Brad Spengler <spender@grsecurity.net>
73017 Date: Mon Aug 26 20:26:33 2013 -0400
73018
73019 Fix compilation when UDEREF is enabled and KERNEXEC is disabled,
73020 as reported by fabled on the forums:
73021 http://forums.grsecurity.net/viewtopic.php?f=1&t=3720
73022
73023 arch/arm/include/asm/pgtable.h | 4 +---
73024 1 files changed, 1 insertions(+), 3 deletions(-)
73025
73026 commit 5a9ae577def10802fc8ad6957f05ce2a180dfa36
73027 Merge: 486ec00 f68df21
73028 Author: Brad Spengler <spender@grsecurity.net>
73029 Date: Tue Aug 20 20:15:20 2013 -0400
73030
73031 Merge branch 'pax-test' into grsec-test
73032
73033 commit f68df215c8bf7fada2710c14b3f3a0ea53fd9e43
73034 Author: Brad Spengler <spender@grsecurity.net>
73035 Date: Tue Aug 20 20:14:50 2013 -0400
73036
73037 Update to pax-linux-3.10.9-test18.patch:
73038 - fixed missing export of cpu_pgd, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=481786)
73039 - fixed UDEREF regression on !PCID processors, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=481790)
73040 - forward port to 3.10.9
73041
73042 arch/x86/kernel/entry_64.S | 18 +++++++++---------
73043 arch/x86/kernel/i386_ksyms_32.c | 4 ++++
73044 arch/x86/kernel/x8664_ksyms_64.c | 4 ++++
73045 3 files changed, 17 insertions(+), 9 deletions(-)
73046
73047 commit 486ec00945b5dd8826f625e4af8995c5c8cb2a6f
73048 Merge: f47a293 d8fed0e
73049 Author: Brad Spengler <spender@grsecurity.net>
73050 Date: Tue Aug 20 20:12:47 2013 -0400
73051
73052 Merge branch 'pax-test' into grsec-test
73053
73054 commit d8fed0eba89a7607afe296c0caf17bc72311d6e9
73055 Merge: f6ace8e 0a4b6d4
73056 Author: Brad Spengler <spender@grsecurity.net>
73057 Date: Tue Aug 20 20:12:33 2013 -0400
73058
73059 Merge branch 'linux-3.10.y' into pax-test
73060
73061 commit f47a293a1440da2a3e2c239d43d636e37ca74f10
73062 Merge: f1e8ec7 f6ace8e
73063 Author: Brad Spengler <spender@grsecurity.net>
73064 Date: Tue Aug 20 18:20:05 2013 -0400
73065
73066 Merge branch 'pax-test' into grsec-test
73067
73068 Conflicts:
73069 arch/arm/kernel/perf_event.c
73070 include/linux/sched.h
73071
73072 commit f6ace8e1804aadc296bec38b4c4a2d711b9e7c72
73073 Merge: b4fa847 6f54059
73074 Author: Brad Spengler <spender@grsecurity.net>
73075 Date: Tue Aug 20 18:18:02 2013 -0400
73076
73077 Update to pax-linux-3.10.8-test18.patch
73078
73079 Merge branch 'linux-3.10.y' into pax-test
73080
73081 Conflicts:
73082 arch/x86/kernel/sys_x86_64.c
73083 arch/x86/mm/mmap.c
73084 include/linux/sched.h
73085
73086 commit f1e8ec79b6019ca0aa6a6cdde5668c1bbd9f51ca
73087 Merge: 6f88011 b4fa847
73088 Author: Brad Spengler <spender@grsecurity.net>
73089 Date: Tue Aug 20 18:05:12 2013 -0400
73090
73091 Merge branch 'pax-test' into grsec-test
73092
73093 commit b4fa84790ec760430818ab9b74a8b5acc6b40e63
73094 Author: Brad Spengler <spender@grsecurity.net>
73095 Date: Tue Aug 20 18:04:14 2013 -0400
73096
73097 Update to pax-linux-3.10.7-test18.patch:
73098 - reverted constification of zcache, problem reported by Marcin Mirosław (https://bugs.gentoo.org/show_bug.cgi?id=481752)
73099 - fixed a UDEREF resume regression due to the constification of clone_pgd_mask
73100 - fixed suspend/resume regression due to the recent constification of mmu_cr4_features, reported by Mathias Krause
73101
73102 arch/arm/kernel/process.c | 2 +-
73103 arch/x86/include/asm/processor.h | 25 ++-----------------------
73104 arch/x86/kernel/cpu/common.c | 4 ++++
73105 arch/x86/kernel/setup.c | 36 ++++++++++++++++++++++++++++++++++++
73106 drivers/staging/zcache/tmem.c | 4 ++--
73107 drivers/staging/zcache/tmem.h | 6 ++----
73108 6 files changed, 47 insertions(+), 30 deletions(-)
73109
73110 commit 6f88011297cb3b1b79ff4d96f8a9b8e2ed5a025f
73111 Author: Brad Spengler <spender@grsecurity.net>
73112 Date: Mon Aug 19 22:10:04 2013 -0400
73113
73114 fix bad git merge (call to __cpu_disable_lazy_restore was duplicated)
73115 as reported by pipacs
73116
73117 arch/x86/kernel/smpboot.c | 3 ---
73118 1 files changed, 0 insertions(+), 3 deletions(-)
73119
73120 commit 07f718e061bc4696b64a98ac1cf56e9ca1275dc3
73121 Merge: 6eba999 5de93c8
73122 Author: Brad Spengler <spender@grsecurity.net>
73123 Date: Sun Aug 18 22:03:19 2013 -0400
73124
73125 Merge branch 'pax-test' into grsec-test
73126
73127 commit 5de93c8e2a86865f7a2d62dbcf8702dbf12494db
73128 Author: Brad Spengler <spender@grsecurity.net>
73129 Date: Sun Aug 18 22:02:47 2013 -0400
73130
73131 Update to pax-linux-3.10.7-test15.patch:
73132 - fixed more PCID fallout, reported by spender, Negres and GBit (http://forums.grsecurity.net/viewtopic.php?f=3&t=3705)
73133 - fixed some new REFCOUNT false positives, caught by inspection
73134
73135 arch/x86/kernel/cpu/common.c | 5 +++--
73136 arch/x86/kernel/entry_64.S | 11 +++++++----
73137 fs/ceph/super.c | 4 ++--
73138 mm/backing-dev.c | 4 ++--
73139 4 files changed, 14 insertions(+), 10 deletions(-)
73140
73141 commit 94c119587c76723c1072237b98fff9886ccb7689
73142 Author: Brad Spengler <spender@grsecurity.net>
73143 Date: Sun Aug 18 20:49:39 2013 -0400
73144
73145 fix pipacs' DEMORGAN typo
73146
73147 arch/x86/include/asm/tlbflush.h | 2 +-
73148 1 files changed, 1 insertions(+), 1 deletions(-)
73149
73150 commit 6eba999a3263c2ed3f7e87222a5c9c55315c7f00
73151 Merge: df347f6 64a293e
73152 Author: Brad Spengler <spender@grsecurity.net>
73153 Date: Sun Aug 18 18:13:04 2013 -0400
73154
73155 Merge branch 'pax-test' into grsec-test
73156
73157 commit 64a293ebd17bf4a7ce6bd921ed879673e79fe128
73158 Author: Brad Spengler <spender@grsecurity.net>
73159 Date: Sun Aug 18 18:12:37 2013 -0400
73160
73161 Update to pax-linux-3.10.7-test14.patch:
73162 - fixed compile error introduced by the previous PCID change
73163 - fixed timer_create kernel stack leak, reported by Roman Žilka (https://bugs.gentoo.org/show_bug.cgi?id=470214)
73164
73165 arch/x86/include/asm/tlbflush.h | 2 +-
73166 kernel/posix-timers.c | 2 +-
73167 2 files changed, 2 insertions(+), 2 deletions(-)
73168
73169 commit df347f6db6cc0aaa40406d8a8b7284b7c15bc685
73170 Merge: d8efbc5 e11b314
73171 Author: Brad Spengler <spender@grsecurity.net>
73172 Date: Sun Aug 18 08:15:00 2013 -0400
73173
73174 Merge branch 'pax-test' into grsec-test
73175
73176 commit e11b314734c5b7317f5468be75305ad812e78c2b
73177 Author: Brad Spengler <spender@grsecurity.net>
73178 Date: Sun Aug 18 08:14:26 2013 -0400
73179
73180 Update to pax-linux-3.10.7-test13.patch:
73181 - always enable the use of PCID and INVPCID when available in the CPU
73182 - kvm guest kernels can use these features even if the host kernel lacks UDEREF
73183
73184 arch/x86/include/asm/tlbflush.h | 69 ++++++++++++++++++++++----------------
73185 arch/x86/kernel/cpu/common.c | 48 +++++++++++++++++----------
73186 2 files changed, 70 insertions(+), 47 deletions(-)
73187
73188 commit d8efbc54f5c8aba589d4d12eed9257a754a67de8
73189 Author: Brad Spengler <spender@grsecurity.net>
73190 Date: Sat Aug 17 12:00:20 2013 -0400
73191
73192 make kallsyms_lookup_size_offset available to approved source files
73193
73194 include/linux/kallsyms.h | 3 +++
73195 1 files changed, 3 insertions(+), 0 deletions(-)
73196
73197 commit 6c8feffa95ce2db280160015027b52bb41a344c8
73198 Merge: dbf6930 0bb1c2b
73199 Author: Brad Spengler <spender@grsecurity.net>
73200 Date: Sat Aug 17 11:57:50 2013 -0400
73201
73202 Merge branch 'pax-test' into grsec-test
73203
73204 commit 0bb1c2b2d9ba9a15fb504d47270499e8e2764106
73205 Author: Brad Spengler <spender@grsecurity.net>
73206 Date: Sat Aug 17 11:56:43 2013 -0400
73207
73208 Update to pax-linux-3.10.7-test12.patch:
73209 - fixed superfluous initializer in __native_flush_tlb_single, reported by Mathias Krause
73210 - fixed some arm compile problems
73211
73212 arch/x86/include/asm/tlbflush.h | 2 +-
73213 drivers/clocksource/bcm_kona_timer.c | 2 +-
73214 kernel/signal.c | 4 ++++
73215 3 files changed, 6 insertions(+), 2 deletions(-)
73216
73217 commit dbf69305ad4f8a037aae95af90f9201f556dcb48
73218 Author: Brad Spengler <spender@grsecurity.net>
73219 Date: Sat Aug 17 11:18:09 2013 -0400
73220
73221 allow use of kallsyms_lookup_name to approved source files
73222
73223 include/linux/kallsyms.h | 1 +
73224 1 files changed, 1 insertions(+), 0 deletions(-)
73225
73226 commit a566c5f4dec33f410678c257e95ab6726ce8e4f9
73227 Merge: 68bd16f f562e3e
73228 Author: Brad Spengler <spender@grsecurity.net>
73229 Date: Sat Aug 17 10:35:02 2013 -0400
73230
73231 Merge branch 'pax-test' into grsec-test
73232
73233 commit f562e3ef7737ea8d80431a722479b36a12504ace
73234 Author: Brad Spengler <spender@grsecurity.net>
73235 Date: Sat Aug 17 10:34:51 2013 -0400
73236
73237 add uderef_64.c
73238
73239 arch/x86/mm/uderef_64.c | 37 +++++++++++++++++++++++++++++++++++++
73240 1 files changed, 37 insertions(+), 0 deletions(-)
73241
73242 commit 68bd16fce3cf51c4c407e2ac6bc3db0629783622
73243 Author: Asbjoern Sloth Toennesen <ast@fiberby.net>
73244 Date: Mon Aug 12 16:30:09 2013 +0000
73245
73246 Upstream commit: 3e805ad288c524bb65aad3f1e004402223d3d504
73247
73248 rtnetlink: rtnl_bridge_getlink: Call nlmsg_find_attr() with ifinfomsg header
73249
73250 Fix the iproute2 command `bridge vlan show`, after switching from
73251 rtgenmsg to ifinfomsg.
73252
73253 Let's start with a little history:
73254
73255 Feb 20: Vlad Yasevich got his VLAN-aware bridge patchset included in
73256 the 3.9 merge window.
73257 In the kernel commit 6cbdceeb, he added attribute support to
73258 bridge GETLINK requests sent with rtgenmsg.
73259
73260 Mar 6th: Vlad got this iproute2 reference implementation of the bridge
73261 vlan netlink interface accepted (iproute2 9eff0e5c)
73262
73263 Apr 25th: iproute2 switched from using rtgenmsg to ifinfomsg (63338dca)
73264 http://patchwork.ozlabs.org/patch/239602/
73265 http://marc.info/?t=136680900700007
73266
73267 Apr 28th: Linus released 3.9
73268
73269 Apr 30th: Stephen released iproute2 3.9.0
73270
73271 The `bridge vlan show` command haven't been working since the switch to
73272 ifinfomsg, or in a released version of iproute2. Since the kernel side
73273 only supports rtgenmsg, which iproute2 switched away from just prior to
73274 the iproute2 3.9.0 release.
73275
73276 I haven't been able to find any documentation, about neither rtgenmsg
73277 nor ifinfomsg, and in which situation to use which, but kernel commit
73278 88c5b5ce seams to suggest that ifinfomsg should be used.
73279
73280 Fixing this in kernel will break compatibility, but I doubt that anybody
73281 have been using it due to this bug in the user space reference
73282 implementation, at least not without noticing this bug. That said the
73283 functionality is still fully functional in 3.9, when reversing iproute2
73284 commit 63338dca.
73285
73286 This could also be fixed in iproute2, but thats an ugly patch that would
73287 reintroduce rtgenmsg in iproute2, and from searching in netdev it seams
73288 like rtgenmsg usage is discouraged. I'm assuming that the only reason
73289 that Vlad implemented the kernel side to use rtgenmsg, was because
73290 iproute2 was using it at the time.
73291
73292 Signed-off-by: Asbjoern Sloth Toennesen <ast@fiberby.net>
73293 Reviewed-by: Vlad Yasevich <vyasevich@gmail.com>
73294 Signed-off-by: David S. Miller <davem@davemloft.net>
73295
73296 net/core/rtnetlink.c | 2 +-
73297 1 files changed, 1 insertions(+), 1 deletions(-)
73298
73299 commit 8c7bc5bafddddff55ed4687203a977e96f72540a
73300 Author: Johannes Berg <johannes.berg@intel.com>
73301 Date: Tue Aug 13 09:04:05 2013 +0200
73302
73303 Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db
73304
73305 genetlink: fix family dump race
73306
73307 When dumping generic netlink families, only the first dump call
73308 is locked with genl_lock(), which protects the list of families,
73309 and thus subsequent calls can access the data without locking,
73310 racing against family addition/removal. This can cause a crash.
73311 Fix it - the locking needs to be conditional because the first
73312 time around it's already locked.
73313
73314 A similar bug was reported to me on an old kernel (3.4.47) but
73315 the exact scenario that happened there is no longer possible,
73316 on those kernels the first round wasn't locked either. Looking
73317 at the current code I found the race described above, which had
73318 also existed on the old kernel.
73319
73320 Cc: stable@vger.kernel.org
73321 Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
73322 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
73323 Signed-off-by: David S. Miller <davem@davemloft.net>
73324
73325 net/netlink/genetlink.c | 7 +++++++
73326 1 files changed, 7 insertions(+), 0 deletions(-)
73327
73328 commit 0aef405c4f269d1e35abb5393cee4e7d452ed4bb
73329 Author: Daniel Borkmann <dborkman@redhat.com>
73330 Date: Fri Aug 9 16:25:21 2013 +0200
73331
73332 Upstream commit: 771085d6bf3c52de29fc213e5bad07a82e57c23e
73333
73334 net: sctp: sctp_transport_destroy{, _rcu}: fix potential pointer corruption
73335
73336 Probably this one is quite unlikely to be triggered, but it's more safe
73337 to do the call_rcu() at the end after we have dropped the reference on
73338 the asoc and freed sctp packet chunks. The reason why is because in
73339 sctp_transport_destroy_rcu() the transport is being kfree()'d, and if
73340 we're unlucky enough we could run into corrupted pointers. Probably
73341 that's more of theoretical nature, but it's safer to have this simple fix.
73342
73343 Introduced by commit 8c98653f ("sctp: sctp_close: fix release of bindings
73344 for deferred call_rcu's"). I also did the 8c98653f regression test and
73345 it's fine that way.
73346
73347 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
73348 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
73349 Signed-off-by: David S. Miller <davem@davemloft.net>
73350
73351 net/sctp/transport.c | 4 ++--
73352 1 files changed, 2 insertions(+), 2 deletions(-)
73353
73354 commit 3925eab5483946fd746575a46f97bee9d566bb77
73355 Author: Stephane Grosjean <s.grosjean@peak-system.com>
73356 Date: Fri Aug 9 11:44:06 2013 +0200
73357
73358 Upstream commit: 3c322a56b01695df15c70bfdc2d02e0ccd80654e
73359
73360 can: pcan_usb: fix wrong memcpy() bytes length
73361
73362 Fix possibly wrong memcpy() bytes length since some CAN records received from
73363 PCAN-USB could define a DLC field in range [9..15].
73364 In that case, the real DLC value MUST be used to move forward the record pointer
73365 but, only 8 bytes max. MUST be copied into the data field of the struct
73366 can_frame object of the skb given to the network core.
73367
73368 Cc: linux-stable <stable@vger.kernel.org>
73369 Signed-off-by: Stephane Grosjean <s.grosjean@peak-system.com>
73370 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
73371 Signed-off-by: David S. Miller <davem@davemloft.net>
73372
73373 drivers/net/can/usb/peak_usb/pcan_usb.c | 2 +-
73374 1 files changed, 1 insertions(+), 1 deletions(-)
73375
73376 commit c1ac6642baae4a400d1f87115024d1bb1ef53598
73377 Author: Linus Lüssing <linus.luessing@web.de>
73378 Date: Tue Aug 6 20:21:15 2013 +0200
73379
73380 Upstream commit: 9d2c9488cedb666bc8206fbdcdc1575e0fbc5929
73381
73382 batman-adv: fix potential kernel paging errors for unicast transmissions
73383
73384 There are several functions which might reallocate skb data. Currently
73385 some places keep reusing their old ethhdr pointer regardless of whether
73386 they became invalid after such a reallocation or not. This potentially
73387 leads to kernel paging errors.
73388
73389 This patch fixes these by refetching the ethdr pointer after the
73390 potential reallocations.
73391
73392 Signed-off-by: Linus Lüssing <linus.luessing@web.de>
73393 Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
73394 Signed-off-by: Antonio Quartulli <ordex@autistici.org>
73395
73396 net/batman-adv/bridge_loop_avoidance.c | 2 ++
73397 net/batman-adv/gateway_client.c | 13 ++++++++++++-
73398 net/batman-adv/gateway_client.h | 3 +--
73399 net/batman-adv/soft-interface.c | 9 ++++++++-
73400 net/batman-adv/unicast.c | 13 ++++++++++---
73401 5 files changed, 33 insertions(+), 7 deletions(-)
73402
73403 commit d11ebb55757d366b2e445dea5a96e3ef1b4d22eb
73404 Author: Yuchung Cheng <ycheng@google.com>
73405 Date: Fri Aug 9 17:21:27 2013 -0700
73406
73407 Upstream commit: 356d7d88e088687b6578ca64601b0a2c9d145296
73408
73409 netfilter: nf_conntrack: fix tcp_in_window for Fast Open
73410
73411 Currently the conntrack checks if the ending sequence of a packet
73412 falls within the observed receive window. However it does so even
73413 if it has not observe any packet from the remote yet and uses an
73414 uninitialized receive window (td_maxwin).
73415
73416 If a connection uses Fast Open to send a SYN-data packet which is
73417 dropped afterward in the network. The subsequent SYNs retransmits
73418 will all fail this check and be discarded, leading to a connection
73419 timeout. This is because the SYN retransmit does not contain data
73420 payload so
73421
73422 end == initial sequence number (isn) + 1
73423 sender->td_end == isn + syn_data_len
73424 receiver->td_maxwin == 0
73425
73426 The fix is to only apply this check after td_maxwin is initialized.
73427
73428 Reported-by: Michael Chan <mcfchan@stanford.edu>
73429 Signed-off-by: Yuchung Cheng <ycheng@google.com>
73430 Acked-by: Eric Dumazet <edumazet@google.com>
73431 Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
73432 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
73433
73434 net/netfilter/nf_conntrack_proto_tcp.c | 12 ++++++++----
73435 1 files changed, 8 insertions(+), 4 deletions(-)
73436
73437 commit 94462727d1f151aa2e3f7fbf0dedb19d8545d2ec
73438 Author: Dan Carpenter <dan.carpenter@oracle.com>
73439 Date: Thu Aug 1 12:36:57 2013 +0300
73440
73441 Upstream commit: e4d091d7bf787cd303383725b8071d0bae76f981
73442
73443 netfilter: nfnetlink_{log,queue}: fix information leaks in netlink message
73444
73445 These structs have a "_pad" member. Also the "phw" structs have an 8
73446 byte "hw_addr[]" array but sometimes only the first 6 bytes are
73447 initialized.
73448
73449 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
73450 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
73451
73452 net/netfilter/nfnetlink_log.c | 6 +++++-
73453 net/netfilter/nfnetlink_queue_core.c | 5 ++++-
73454 2 files changed, 9 insertions(+), 2 deletions(-)
73455
73456 commit c5b469d0a0b480a8b2dcac9b4e6532c0ac17f81f
73457 Author: Pablo Neira Ayuso <pablo@netfilter.org>
73458 Date: Thu Jul 25 10:46:46 2013 +0200
73459
73460 Upstream commit: a206bcb3b02025b23137f3228109d72e0f835c05
73461
73462 netfilter: xt_TCPOPTSTRIP: fix possible off by one access
73463
73464 Fix a possible off by one access since optlen()
73465 touches opt[offset+1] unsafely when i == tcp_hdrlen(skb) - 1.
73466
73467 This patch replaces tcp_hdrlen() by the local variable tcp_hdrlen
73468 that stores the TCP header length, to save some cycles.
73469
73470 Reported-by: Julian Anastasov <ja@ssi.bg>
73471 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
73472
73473 net/netfilter/xt_TCPOPTSTRIP.c | 10 ++++++----
73474 1 files changed, 6 insertions(+), 4 deletions(-)
73475
73476 commit 4634def261cf5f635bc60afe8a6ad436b3ec151e
73477 Author: Pablo Neira Ayuso <pablo@netfilter.org>
73478 Date: Thu Jul 25 10:37:49 2013 +0200
73479
73480 Upstream commit: 71ffe9c77dd7a2b62207953091efa8dafec958dd
73481
73482 netfilter: xt_TCPMSS: fix handling of malformed TCP header and options
73483
73484 Make sure the packet has enough room for the TCP header and
73485 that it is not malformed.
73486
73487 While at it, store tcph->doff*4 in a variable, as it is used
73488 several times.
73489
73490 This patch also fixes a possible off by one in case of malformed
73491 TCP options.
73492
73493 Reported-by: Julian Anastasov <ja@ssi.bg>
73494 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
73495
73496 net/netfilter/xt_TCPMSS.c | 28 ++++++++++++++++------------
73497 1 files changed, 16 insertions(+), 12 deletions(-)
73498
73499 commit dc552b7b377b8b0cba23513ee09a2341d6714ae8
73500 Author: Dave Jones <davej@redhat.com>
73501 Date: Fri Aug 9 11:16:34 2013 -0700
73502
73503 Upstream commit: d06f5187469eee1b2932c02fd093d113cfc60d5e
73504
73505 8139cp: Fix skb leak in rx_status_loop failure path.
73506
73507 Introduced in cf3c4c03060b688cbc389ebc5065ebcce5653e96
73508 ("8139cp: Add dma_mapping_error checking")
73509
73510 Signed-off-by: Dave Jones <davej@redhat.com>
73511 Signed-off-by: David S. Miller <davem@davemloft.net>
73512
73513 drivers/net/ethernet/realtek/8139cp.c | 1 +
73514 1 files changed, 1 insertions(+), 0 deletions(-)
73515
73516 commit 227b279491a0bbcc70ca3654f34903282c378600
73517 Author: Timo Teräs <timo.teras@iki.fi>
73518 Date: Tue Aug 6 13:45:43 2013 +0300
73519
73520 Upstream commit: 77a482bdb2e68d13fae87541b341905ba70d572b
73521
73522 ip_gre: fix ipgre_header to return correct offset
73523
73524 Fix ipgre_header() (header_ops->create) to return the correct
73525 amount of bytes pushed. Most callers of dev_hard_header() seem
73526 to care only if it was success, but af_packet.c uses it as
73527 offset to the skb to copy from userspace only once. In practice
73528 this fixes packet socket sendto()/sendmsg() to gre tunnels.
73529
73530 Regression introduced in c54419321455631079c7d6e60bc732dd0c5914c5
73531 ("GRE: Refactor GRE tunneling code.")
73532
73533 Cc: Pravin B Shelar <pshelar@nicira.com>
73534 Signed-off-by: Timo Teräs <timo.teras@iki.fi>
73535 Acked-by: Eric Dumazet <edumazet@google.com>
73536 Signed-off-by: David S. Miller <davem@davemloft.net>
73537
73538 net/ipv4/ip_gre.c | 2 +-
73539 1 files changed, 1 insertions(+), 1 deletions(-)
73540
73541 commit 4b37d11c0ebb440d9335861ce8f1e690a34c10fb
73542 Author: Eric Dumazet <edumazet@google.com>
73543 Date: Mon Aug 5 11:18:49 2013 -0700
73544
73545 Upstream commit: aab515d7c32a34300312416c50314e755ea6f765
73546
73547 fib_trie: remove potential out of bound access
73548
73549 AddressSanitizer [1] dynamic checker pointed a potential
73550 out of bound access in leaf_walk_rcu()
73551
73552 We could allocate one more slot in tnode_new() to leave the prefetch()
73553 in-place but it looks not worth the pain.
73554
73555 Bug added in commit 82cfbb008572b ("[IPV4] fib_trie: iterator recode")
73556
73557 [1] :
73558 https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel
73559
73560 Reported-by: Andrey Konovalov <andreyknvl@google.com>
73561 Signed-off-by: Eric Dumazet <edumazet@google.com>
73562 Cc: Dmitry Vyukov <dvyukov@google.com>
73563 Signed-off-by: David S. Miller <davem@davemloft.net>
73564
73565 net/ipv4/fib_trie.c | 5 +----
73566 1 files changed, 1 insertions(+), 4 deletions(-)
73567
73568 commit 3928184d65fdaf3eef446f0e6c5f305352c1fd02
73569 Author: Daniel Borkmann <dborkman@redhat.com>
73570 Date: Mon Aug 5 12:49:35 2013 +0200
73571
73572 Upstream commit: 7921895a5e852fc99de347bc0600659997de9298
73573
73574 net: esp{4,6}: fix potential MTU calculation overflows
73575
73576 Commit 91657eafb ("xfrm: take net hdr len into account for esp payload
73577 size calculation") introduced a possible interger overflow in
73578 esp{4,6}_get_mtu() handlers in case of x->props.mode equals
73579 XFRM_MODE_TUNNEL. Thus, the following expression will overflow
73580
73581 unsigned int net_adj;
73582 ...
73583 <case ipv{4,6} XFRM_MODE_TUNNEL>
73584 net_adj = 0;
73585 ...
73586 return ((mtu - x->props.header_len - crypto_aead_authsize(esp->aead) -
73587 net_adj) & ~(align - 1)) + (net_adj - 2);
73588
73589 where (net_adj - 2) would be evaluated as <foo> + (0 - 2) in an unsigned
73590 context. Fix it by simply removing brackets as those operations here
73591 do not need to have special precedence.
73592
73593 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
73594 Cc: Benjamin Poirier <bpoirier@suse.de>
73595 Cc: Steffen Klassert <steffen.klassert@secunet.com>
73596 Acked-by: Benjamin Poirier <bpoirier@suse.de>
73597 Signed-off-by: David S. Miller <davem@davemloft.net>
73598
73599 net/ipv4/esp4.c | 2 +-
73600 net/ipv6/esp6.c | 2 +-
73601 2 files changed, 2 insertions(+), 2 deletions(-)
73602
73603 commit f02bce292d1c2fe610be509c96593e70b3de387b
73604 Author: Julia Lawall <Julia.Lawall@lip6.fr>
73605 Date: Mon Aug 5 16:47:38 2013 +0200
73606
73607 Upstream commit: d9af2d67e490b48f0d36f448d34e7bab9425f142
73608
73609 net/vmw_vsock/af_vsock.c: drop unneeded semicolon
73610
73611 Drop the semicolon at the end of the list_for_each_entry loop header.
73612
73613 Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
73614 Signed-off-by: David S. Miller <davem@davemloft.net>
73615
73616 net/vmw_vsock/af_vsock.c | 2 +-
73617 1 files changed, 1 insertions(+), 1 deletions(-)
73618
73619 commit 4b62f0cbc3f949056e8bbe0af036acfc20e8e049
73620 Author: Tiger Yang <tiger.yang@oracle.com>
73621 Date: Tue Aug 13 16:00:58 2013 -0700
73622
73623 Upstream commit: c7dd3392ad469e6ba125170ad29f881bed85b678
73624
73625 ocfs2: fix NULL pointer dereference in ocfs2_duplicate_clusters_by_page
73626
73627 Since ocfs2_cow_file_pos will invoke ocfs2_refcount_icow with a NULL as
73628 the struct file pointer, it finally result in a null pointer dereference
73629 in ocfs2_duplicate_clusters_by_page.
73630
73631 This patch replace file pointer with inode pointer in
73632 cow_duplicate_clusters to fix this issue.
73633
73634 [jeff.liu@oracle.com: rebased patch against linux-next tree]
73635 Signed-off-by: Tiger Yang <tiger.yang@oracle.com>
73636 Signed-off-by: Jie Liu <jeff.liu@oracle.com>
73637 Cc: Joel Becker <jlbec@evilplan.org>
73638 Cc: Mark Fasheh <mfasheh@suse.com>
73639 Acked-by: Tao Ma <tm@tao.ma>
73640 Tested-by: David Weber <wb@munzinger.de>
73641 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
73642 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
73643
73644 fs/ocfs2/aops.c | 2 +-
73645 fs/ocfs2/file.c | 6 ++--
73646 fs/ocfs2/move_extents.c | 2 +-
73647 fs/ocfs2/refcounttree.c | 53 +++++++---------------------------------------
73648 fs/ocfs2/refcounttree.h | 6 ++--
73649 5 files changed, 16 insertions(+), 53 deletions(-)
73650
73651 commit 433bf493c7472435b328b2bc85b6e54f6dd3d0d3
73652 Author: Dan Carpenter <dan.carpenter@oracle.com>
73653 Date: Thu Aug 15 15:52:57 2013 +0300
73654
73655 Upstream commit: 15718ea0d844e4816dbd95d57a8a0e3e264ba90e
73656
73657 tun: signedness bug in tun_get_user()
73658
73659 The recent fix d9bf5f1309 "tun: compare with 0 instead of total_len" is
73660 not totally correct. Because "len" and "sizeof()" are size_t type, that
73661 means they are never less than zero.
73662
73663 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
73664 Acked-by: Michael S. Tsirkin <mst@redhat.com>
73665 Acked-by: Neil Horman <nhorman@tuxdriver.com>
73666 Signed-off-by: David S. Miller <davem@davemloft.net>
73667
73668 drivers/net/tun.c | 6 ++++--
73669 1 files changed, 4 insertions(+), 2 deletions(-)
73670
73671 commit 26ad267ddda451919357965a0cf271ca24d1bcf2
73672 Author: Weiping Pan <wpan@redhat.com>
73673 Date: Tue Aug 13 21:46:56 2013 +0800
73674
73675 Upstream commit: d9bf5f130946695063469749bfd190087b7fad39
73676
73677 tun: compare with 0 instead of total_len
73678
73679 Since we set "len = total_len" in the beginning of tun_get_user(),
73680 so we should compare the new len with 0, instead of total_len,
73681 or the if statement always returns false.
73682
73683 Signed-off-by: Weiping Pan <wpan@redhat.com>
73684 Signed-off-by: David S. Miller <davem@davemloft.net>
73685
73686 drivers/net/tun.c | 4 ++--
73687 1 files changed, 2 insertions(+), 2 deletions(-)
73688
73689 commit 70023d3ea40fae8b6b6a142a7a5c3db0bcc283f9
73690 Author: Guenter Roeck <linux@roeck-us.net>
73691 Date: Fri Aug 16 20:50:55 2013 -0700
73692
73693 Upstream commit: 215b28a5308f3d332df2ee09ef11fda45d7e4a92
73694
73695 s390: Fix broken build
73696
73697 Fix this build error:
73698
73699 In file included from fs/exec.c:61:0:
73700 arch/s390/include/asm/tlb.h:35:23: error: expected identifier or '(' before 'unsigned'
73701 arch/s390/include/asm/tlb.h:36:1: warning: no semicolon at end of struct or union [enabled by default]
73702 arch/s390/include/asm/tlb.h: In function 'tlb_gather_mmu':
73703 arch/s390/include/asm/tlb.h:57:5: error: 'struct mmu_gather' has no member named 'end'
73704
73705 Broken due to commit 2b047252d0 ("Fix TLB gather virtual address range
73706 invalidation corner cases").
73707
73708 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
73709 Cc: stable@vger.kernel.org
73710 Signed-off-by: Guenter Roeck <linux@roeck-us.net>
73711 [ Oh well. We had build testing for ppc amd um, but no s390 - Linus ]
73712 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
73713
73714 arch/s390/include/asm/tlb.h | 2 +-
73715 1 files changed, 1 insertions(+), 1 deletions(-)
73716
73717 commit 4e57312c2de2a25ddb181d129dafbc0251062c33
73718 Author: Linus Torvalds <torvalds@linux-foundation.org>
73719 Date: Thu Aug 15 11:42:25 2013 -0700
73720
73721 Upstream commit: 2b047252d087be7f2ba088b4933cd904f92e6fce
73722
73723 Fix TLB gather virtual address range invalidation corner cases
73724
73725 Ben Tebulin reported:
73726
73727 "Since v3.7.2 on two independent machines a very specific Git
73728 repository fails in 9/10 cases on git-fsck due to an SHA1/memory
73729 failures. This only occurs on a very specific repository and can be
73730 reproduced stably on two independent laptops. Git mailing list ran
73731 out of ideas and for me this looks like some very exotic kernel issue"
73732
73733 and bisected the failure to the backport of commit 53a59fc67f97 ("mm:
73734 limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT").
73735
73736 That commit itself is not actually buggy, but what it does is to make it
73737 much more likely to hit the partial TLB invalidation case, since it
73738 introduces a new case in tlb_next_batch() that previously only ever
73739 happened when running out of memory.
73740
73741 The real bug is that the TLB gather virtual memory range setup is subtly
73742 buggered. It was introduced in commit 597e1c3580b7 ("mm/mmu_gather:
73743 enable tlb flush range in generic mmu_gather"), and the range handling
73744 was already fixed at least once in commit e6c495a96ce0 ("mm: fix the TLB
73745 range flushed when __tlb_remove_page() runs out of slots"), but that fix
73746 was not complete.
73747
73748 The problem with the TLB gather virtual address range is that it isn't
73749 set up by the initial tlb_gather_mmu() initialization (which didn't get
73750 the TLB range information), but it is set up ad-hoc later by the
73751 functions that actually flush the TLB. And so any such case that forgot
73752 to update the TLB range entries would potentially miss TLB invalidates.
73753
73754 Rather than try to figure out exactly which particular ad-hoc range
73755 setup was missing (I personally suspect it's the hugetlb case in
73756 zap_huge_pmd(), which didn't have the same logic as zap_pte_range()
73757 did), this patch just gets rid of the problem at the source: make the
73758 TLB range information available to tlb_gather_mmu(), and initialize it
73759 when initializing all the other tlb gather fields.
73760
73761 This makes the patch larger, but conceptually much simpler. And the end
73762 result is much more understandable; even if you want to play games with
73763 partial ranges when invalidating the TLB contents in chunks, now the
73764 range information is always there, and anybody who doesn't want to
73765 bother with it won't introduce subtle bugs.
73766
73767 Ben verified that this fixes his problem.
73768
73769 Reported-bisected-and-tested-by: Ben Tebulin <tebulin@googlemail.com>
73770 Build-testing-by: Stephen Rothwell <sfr@canb.auug.org.au>
73771 Build-testing-by: Richard Weinberger <richard.weinberger@gmail.com>
73772 Reviewed-by: Michal Hocko <mhocko@suse.cz>
73773 Acked-by: Peter Zijlstra <peterz@infradead.org>
73774 Cc: stable@vger.kernel.org
73775 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
73776
73777 arch/arm/include/asm/tlb.h | 7 +++++--
73778 arch/arm64/include/asm/tlb.h | 7 +++++--
73779 arch/ia64/include/asm/tlb.h | 9 ++++++---
73780 arch/s390/include/asm/tlb.h | 8 ++++++--
73781 arch/sh/include/asm/tlb.h | 6 ++++--
73782 arch/um/include/asm/tlb.h | 6 ++++--
73783 fs/exec.c | 4 ++--
73784 include/asm-generic/tlb.h | 2 +-
73785 mm/hugetlb.c | 2 +-
73786 mm/memory.c | 36 +++++++++++++++++++++---------------
73787 mm/mmap.c | 4 ++--
73788 11 files changed, 57 insertions(+), 34 deletions(-)
73789
73790 commit 771ed01c6027772eca1a0df8de65043e7f0d94f8
73791 Merge: 5568c80 ffceabf
73792 Author: Brad Spengler <spender@grsecurity.net>
73793 Date: Sat Aug 17 09:11:41 2013 -0400
73794
73795 Merge branch 'pax-test' into grsec-test
73796
73797 commit ffceabfcc65c60109ba5fca694d78d4dc7047809
73798 Author: Brad Spengler <spender@grsecurity.net>
73799 Date: Sat Aug 17 09:10:44 2013 -0400
73800
73801 Update to pax-linux-3.10.7-test11.patch:
73802 - simplified some arm code
73803 - disabled preemption when calling show_regs, reported by Corey Minyard
73804 - added PCID based support for UDEREF on amd64 (blog will have more details)
73805 - requires Westmere/Sandy Bridge/Ivy Bridge/Haswell/etc
73806 - nopcid turns it off
73807 - by default a strong form of UDEREF is used under PCID
73808 - pax_weakuderef switches to the older, less secure UDEREF
73809 - fixed several bugs that would also have manifested under SMAP
73810 - INVPCID is used when available (Haswell)
73811 - added a few more return insn instrumentation in new amd64 crypto code
73812
73813 Documentation/kernel-parameters.txt | 7 +
73814 arch/arm/include/asm/uaccess.h | 3 +
73815 arch/x86/crypto/blowfish-avx2-asm_64.S | 6 +
73816 arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 ++
73817 arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 ++
73818 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +
73819 arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +
73820 arch/x86/crypto/serpent-avx2-asm_64.S | 9 ++
73821 arch/x86/crypto/sha256-avx-asm.S | 2 +
73822 arch/x86/crypto/sha256-avx2-asm.S | 2 +
73823 arch/x86/crypto/sha256-ssse3-asm.S | 2 +
73824 arch/x86/crypto/sha512-avx-asm.S | 2 +
73825 arch/x86/crypto/sha512-avx2-asm.S | 2 +
73826 arch/x86/crypto/sha512-ssse3-asm.S | 2 +
73827 arch/x86/crypto/twofish-avx2-asm_64.S | 8 ++
73828 arch/x86/ia32/ia32_signal.c | 2 +-
73829 arch/x86/ia32/ia32entry.S | 24 ++++-
73830 arch/x86/include/asm/cpufeature.h | 3 +-
73831 arch/x86/include/asm/fpu-internal.h | 2 +
73832 arch/x86/include/asm/futex.h | 4 +
73833 arch/x86/include/asm/mmu_context.h | 80 +++++++++++---
73834 arch/x86/include/asm/pgtable.h | 10 +-
73835 arch/x86/include/asm/processor.h | 15 +++-
73836 arch/x86/include/asm/segment.h | 5 +-
73837 arch/x86/include/asm/smap.h | 64 +++++++++++-
73838 arch/x86/include/asm/tlbflush.h | 63 +++++++++--
73839 arch/x86/include/asm/uaccess.h | 18 +++-
73840 arch/x86/include/asm/xsave.h | 4 +
73841 arch/x86/kernel/cpu/common.c | 38 +++++++
73842 arch/x86/kernel/entry_32.S | 2 +-
73843 arch/x86/kernel/entry_64.S | 152 +++++++++++++++++++++++---
73844 arch/x86/kernel/head_32.S | 2 +-
73845 arch/x86/kernel/head_64.S | 8 +-
73846 arch/x86/kernel/process_64.c | 5 +
73847 arch/x86/kernel/setup.c | 8 +-
73848 arch/x86/kernel/signal.c | 4 +-
73849 arch/x86/kernel/smpboot.c | 15 ++-
73850 arch/x86/lib/copy_user_64.S | 50 +--------
73851 arch/x86/lib/copy_user_nocache_64.S | 2 +
73852 arch/x86/lib/csum-wrappers_64.c | 11 ++-
73853 arch/x86/lib/memcpy_64.S | 4 +-
73854 arch/x86/lib/memmove_64.S | 2 +-
73855 arch/x86/lib/memset_64.S | 4 +-
73856 arch/x86/lib/usercopy_64.c | 5 +-
73857 arch/x86/mm/Makefile | 4 +
73858 arch/x86/mm/fault.c | 29 ++++--
73859 arch/x86/mm/init.c | 7 +-
73860 arch/x86/mm/init_64.c | 9 ++-
73861 arch/x86/mm/pageattr.c | 2 +-
73862 arch/x86/mm/pgtable.c | 3 +
73863 arch/x86/platform/efi/efi_32.c | 2 +-
73864 arch/x86/platform/efi/efi_64.c | 2 +-
73865 arch/x86/realmode/rm/trampoline_64.S | 1 +
73866 fs/exec.c | 2 +
73867 include/asm-generic/uaccess.h | 8 ++
73868 include/linux/compat.h | 1 +
73869 include/linux/preempt.h | 19 +++
73870 include/linux/signal.h | 1 +
73871 include/linux/smp.h | 2 +
73872 init/main.c | 14 ++-
73873 kernel/signal.c | 16 +++
73874 security/Kconfig | 5 +
73875 tools/lib/lk/Makefile | 2 +-
73876 tools/perf/Makefile | 2 +-
73877 64 files changed, 673 insertions(+), 136 deletions(-)
73878
73879 commit 5568c8059e78d6d002815409df4e90c83b3b08a8
73880 Author: Brad Spengler <spender@grsecurity.net>
73881 Date: Sat Aug 17 08:58:34 2013 -0400
73882
73883 Fix two harmless compiler warnings
73884
73885 arch/arm/kernel/process.c | 4 ++--
73886 fs/exec.c | 2 +-
73887 2 files changed, 3 insertions(+), 3 deletions(-)
73888
73889 commit e4a41a3eef8c6bdebdbe273cc0fbe372bcb62806
73890 Author: Brad Spengler <spender@grsecurity.net>
73891 Date: Fri Aug 16 22:55:24 2013 -0400
73892
73893 Upstream commit: c95eb3184ea1a3a2551df57190c81da695e2144b
73894
73895 arch/arm/kernel/perf_event.c | 5 ++++-
73896 1 files changed, 4 insertions(+), 1 deletions(-)
73897
73898 commit 3637bc893b57a227b01852fe34685ab237285b10
73899 Author: Stephen Boyd <sboyd@codeaurora.org>
73900 Date: Wed Aug 7 16:18:08 2013 -0700
73901
73902 Upstream commit: b88a2595b6d8aedbd275c07dfa784657b4f757eb
73903
73904 perf/arm: Fix armpmu_map_hw_event()
73905
73906 Fix constraint check in armpmu_map_hw_event().
73907
73908 Reported-and-tested-by: Vince Weaver <vincent.weaver@maine.edu>
73909 Cc: <stable@kernel.org>
73910 Signed-off-by: Ingo Molnar <mingo@kernel.org>
73911 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
73912
73913 arch/arm/kernel/perf_event.c | 7 ++++++-
73914 1 files changed, 6 insertions(+), 1 deletions(-)
73915
73916 commit 11802e1f961a088c39af58d1c1b14d861eedfb35
73917 Author: Brad Spengler <spender@grsecurity.net>
73918 Date: Fri Aug 16 22:53:30 2013 -0400
73919
73920 More ARM backports
73921
73922 arch/arm/kernel/entry-armv.S | 3 ++-
73923 arch/arm/kernel/fiq.c | 8 ++------
73924 2 files changed, 4 insertions(+), 7 deletions(-)
73925
73926 commit bf89938c71ddbd6efb2c2e43bf4f3f99fef623ea
73927 Author: Brad Spengler <spender@grsecurity.net>
73928 Date: Fri Aug 16 22:46:01 2013 -0400
73929
73930 Fix HIDESYM compatibility with kprobes, as reported by feandil at:
73931 http://forums.grsecurity.net/viewtopic.php?t=3701&p=13376#p13376
73932
73933 include/linux/kallsyms.h | 2 +-
73934 kernel/kprobes.c | 3 +++
73935 2 files changed, 4 insertions(+), 1 deletions(-)
73936
73937 commit 3d1cf88bbdbe4c0e83dd7d731ecaf1741209d6b7
73938 Author: yonghua zheng <younghua.zheng@gmail.com>
73939 Date: Tue Aug 13 16:01:03 2013 -0700
73940
73941 fs/proc/task_mmu.c: fix buffer overflow in add_page_map()
73942
73943 Recently we met quite a lot of random kernel panic issues after enabling
73944 CONFIG_PROC_PAGE_MONITOR. After debuggind we found this has something
73945 to do with following bug in pagemap:
73946
73947 In struct pagemapread:
73948
73949 struct pagemapread {
73950 int pos, len;
73951 pagemap_entry_t *buffer;
73952 bool v2;
73953 };
73954
73955 pos is number of PM_ENTRY_BYTES in buffer, but len is the size of
73956 buffer, it is a mistake to compare pos and len in add_page_map() for
73957 checking buffer is full or not, and this can lead to buffer overflow and
73958 random kernel panic issue.
73959
73960 Correct len to be total number of PM_ENTRY_BYTES in buffer.
73961
73962 [akpm@linux-foundation.org: document pagemapread.pos and .len units, fix PM_ENTRY_BYTES definition]
73963 Signed-off-by: Yonghua Zheng <younghua.zheng@gmail.com>
73964 Cc: <stable@vger.kernel.org>
73965 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
73966 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
73967
73968 Conflicts:
73969
73970 fs/proc/task_mmu.c
73971
73972 fs/proc/task_mmu.c | 8 ++++----
73973 1 files changed, 4 insertions(+), 4 deletions(-)
73974
73975 commit 0a3dac834746de241c10d4978bf61b4f146ba89d
73976 Merge: dc19474 e12de30
73977 Author: Brad Spengler <spender@grsecurity.net>
73978 Date: Fri Aug 16 17:39:01 2013 -0400
73979
73980 Merge branch 'pax-test' into grsec-test
73981
73982 commit e12de30aa6b575fc3c9f5cd098dd03623598cb33
73983 Author: Brad Spengler <spender@grsecurity.net>
73984 Date: Fri Aug 16 17:34:47 2013 -0400
73985
73986 Update to pax-linux-3.10.7-test9.patch:
73987 - Emese fixed a size overflow false positive reported by Sven Vermeulen
73988 - fixed some arm compile problems reported by spender
73989 - added empty unchecked wrappers for local_t accessors on mips, by Corey Minyard <cminyard@mvista.com>
73990 eventually we'll have full REFCOUNT support on mips
73991
73992 arch/arm/kernel/process.c | 5 ++-
73993 arch/arm/mm/Kconfig | 2 +-
73994 arch/arm/mm/fault.c | 3 ++
73995 arch/mips/include/asm/local.h | 57 +++++++++++++++++++++++++++++++++++++++++
73996 mm/internal.h | 2 +-
73997 5 files changed, 65 insertions(+), 4 deletions(-)
73998
73999 commit dc19474d0ea6ea3c939544ae5f906067b1784a10
74000 Merge: 51b78c0 82266f9
74001 Author: Brad Spengler <spender@grsecurity.net>
74002 Date: Thu Aug 15 21:47:37 2013 -0400
74003
74004 Merge branch 'pax-test' into grsec-test
74005
74006 commit 82266f90a3f87ab5017329fb539aebf94c42253a
74007 Author: Brad Spengler <spender@grsecurity.net>
74008 Date: Thu Aug 15 21:14:47 2013 -0400
74009
74010 Update to pax-linux-3.10.7-test9.patch
74011
74012 arch/arm/kernel/process.c | 6 ++----
74013 1 files changed, 2 insertions(+), 4 deletions(-)
74014
74015 commit 51b78c06d1f41614f593cd36456b4af559e9d7fa
74016 Merge: e32d904 cb77ead
74017 Author: Brad Spengler <spender@grsecurity.net>
74018 Date: Thu Aug 15 20:53:45 2013 -0400
74019
74020 Merge branch 'pax-test' into grsec-test
74021
74022 Conflicts:
74023 security/Kconfig
74024
74025 commit cb77ead0eccb5abb75f7e437a3725d0254558ccd
74026 Merge: 13675b8 519be45
74027 Author: Brad Spengler <spender@grsecurity.net>
74028 Date: Thu Aug 15 20:50:47 2013 -0400
74029
74030 Update to pax-linux-3.10.7-test8.patch
74031
74032 Merge branch 'linux-3.10.y' into pax-test
74033
74034 commit e32d904b87292288e74e2637b900fd1115687b8e
74035 Author: Brad Spengler <spender@grsecurity.net>
74036 Date: Sat Aug 10 09:41:40 2013 -0400
74037
74038 propagate the threadstack offset through to the topdown/bottomup allocators
74039 on sparc64 hugepages
74040
74041 arch/sparc/mm/hugetlbpage.c | 12 ++++++++----
74042 1 files changed, 8 insertions(+), 4 deletions(-)
74043
74044 commit cefa30759f6c977fff5cc1634ecfbfe0ee44391c
74045 Author: Oleg Nesterov <oleg@redhat.com>
74046 Date: Thu Aug 8 18:55:32 2013 +0200
74047
74048 Upstream commit: 8742f229b635bf1c1c84a3dfe5e47c814c20b5c8
74049
74050 another local DoS found in reaction to the one I reported,
74051 we don't allow unpriv user ns use so this doesn't matter much to us
74052
74053 userns: limit the maximum depth of user_namespace->parent chain
74054
74055 Ensure that user_namespace->parent chain can't grow too much.
74056 Currently we use the hardroded 32 as limit.
74057
74058 Reported-by: Andy Lutomirski <luto@amacapital.net>
74059 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
74060 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
74061
74062 include/linux/user_namespace.h | 1 +
74063 kernel/user_namespace.c | 4 ++++
74064 2 files changed, 5 insertions(+), 0 deletions(-)
74065
74066 commit 223ac007ef18bf3a5095ba0a56675c1f16200149
74067 Merge: 1c92de4 13675b8
74068 Author: Brad Spengler <spender@grsecurity.net>
74069 Date: Thu Aug 8 20:45:24 2013 -0400
74070
74071 Merge branch 'pax-test' into grsec-test
74072
74073 Conflicts:
74074 security/Kconfig
74075
74076 commit 13675b848cf02bffd26924b2b84d927095bc253d
74077 Author: Brad Spengler <spender@grsecurity.net>
74078 Date: Thu Aug 8 20:43:52 2013 -0400
74079
74080 Update to pax-linux-3.10.5-test8.patch:
74081 - Emese fixed a size overflow false positive, reported by markusle (http://forums.grsecurity.net/viewtopic.php?f=3&t=3692)
74082 - fixed the use of PXN for 2-level pages tables on arm, by Corey Minyard <cminyard@mvista.com>
74083 - added PAGEEXEC/XI violation reporting on mips, by Corey Minyard <cminyard@mvista.com>
74084
74085 arch/arm/include/asm/pgtable-2level.h | 4 +++-
74086 arch/arm/mm/proc-v7-2level.S | 3 ---
74087 arch/mips/mm/fault.c | 8 ++++++++
74088 arch/x86/include/asm/processor.h | 3 ++-
74089 include/linux/math64.h | 2 +-
74090 security/Kconfig | 2 --
74091 6 files changed, 14 insertions(+), 8 deletions(-)
74092
74093 commit 1c92de4b8811c330af033c31d83c9c45e3d064b2
74094 Merge: e65aa3d 1660f49
74095 Author: Brad Spengler <spender@grsecurity.net>
74096 Date: Mon Aug 5 18:50:45 2013 -0400
74097
74098 Merge branch 'pax-test' into grsec-test
74099
74100 commit 1660f496848b8400d263f7920989dae15e72185a
74101 Merge: 7f91ba1 dc51cd2
74102 Author: Brad Spengler <spender@grsecurity.net>
74103 Date: Mon Aug 5 18:50:12 2013 -0400
74104
74105 Update to pax-linux-3.10.5-test7.patch
74106
74107 Merge branch 'linux-3.10.y' into pax-test
74108
74109 Conflicts:
74110 arch/x86/kernel/head_64.S
74111 mm/mempolicy.c
74112
74113 commit e65aa3dd447115cb79b4815bc1ceac7b3cacef15
74114 Author: Brad Spengler <spender@grsecurity.net>
74115 Date: Mon Aug 5 17:58:42 2013 -0400
74116
74117 Disable RANDKSTACK for a VirtualBox host as mentioned on the
74118 gentoo-hardened bugzilla:
74119 https://bugs.gentoo.org/show_bug.cgi?id=382793
74120
74121 security/Kconfig | 2 +-
74122 1 files changed, 1 insertions(+), 1 deletions(-)
74123
74124 commit 60d8cffd7740fd1d527790caf9a24a35d8c45858
74125 Author: Dan Carpenter <dan.carpenter@oracle.com>
74126 Date: Tue Jul 30 13:23:39 2013 +0300
74127
74128 Upstream commit: 8cb3b9c3642c0263d48f31d525bcee7170eedc20
74129
74130 net_sched: info leak in atm_tc_dump_class()
74131
74132 The "pvc" struct has a hole after pvc.sap_family which is not cleared.
74133
74134 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
74135 Reviewed-by: Jiri Pirko <jiri@resnulli.us>
74136 Signed-off-by: David S. Miller <davem@davemloft.net>
74137
74138 net/sched/sch_atm.c | 1 +
74139 1 files changed, 1 insertions(+), 0 deletions(-)
74140
74141 commit 50d20ebce56b6e0b9622685930e007e46c7c04bb
74142 Author: Daniel Borkmann <dborkman@redhat.com>
74143 Date: Fri Aug 2 11:32:43 2013 +0200
74144
74145 Upstream commit: 446266b0c742a2c9ee8f0dce759a0117bce58a86
74146
74147 net: rtm_to_ifaddr: free ifa if ifa_cacheinfo processing fails
74148
74149 Commit 5c766d642 ("ipv4: introduce address lifetime") leaves the ifa
74150 resource that was allocated via inet_alloc_ifa() unfreed when returning
74151 the function with -EINVAL. Thus, free it first via inet_free_ifa().
74152
74153 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
74154 Reviewed-by: Jiri Pirko <jiri@resnulli.us>
74155 Signed-off-by: David S. Miller <davem@davemloft.net>
74156
74157 net/ipv4/devinet.c | 4 +++-
74158 1 files changed, 3 insertions(+), 1 deletions(-)
74159
74160 commit 0acaba4eea12097cc59bc61a46ba1ef4a468b260
74161 Author: Himanshu Madhani <himanshu.madhani@qlogic.com>
74162 Date: Fri Aug 2 23:15:56 2013 -0400
74163
74164 Upstream commit: f91bbcb0b82186b4d5669021b142c263b66505e1
74165
74166 qlcnic: Free up memory in error path.
74167
74168 Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
74169 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
74170 Signed-off-by: David S. Miller <davem@davemloft.net>
74171
74172 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 6 +++---
74173 1 files changed, 3 insertions(+), 3 deletions(-)
74174
74175 commit 3626ec32c8b24cb38b8db2a1b2f5430bd898408a
74176 Author: Shahed Shaikh <shahed.shaikh@qlogic.com>
74177 Date: Fri Aug 2 23:15:54 2013 -0400
74178
74179 Upstream commit: 4a99ab56cea66f9f67b9d07ace5cd40a336c8e6f
74180
74181 qlcnic: Fix MAC address filter issue on 82xx adapter
74182
74183 Driver was passing the address of a pointer instead of
74184 the pointer itself.
74185
74186 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
74187 Signed-off-by: David S. Miller <davem@davemloft.net>
74188
74189 drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 2 +-
74190 1 files changed, 1 insertions(+), 1 deletions(-)
74191
74192 commit 5570df953d6c143e05f1d60d9c23210e60dbbe81
74193 Author: Brad Spengler <spender@grsecurity.net>
74194 Date: Mon Aug 5 17:26:40 2013 -0400
74195
74196 Move user namespace capability check to shared create_user_ns code so we
74197 cover unshare() as well.
74198
74199 Also kill a trivial 1-line, 22-character upstream kernel DoS, thanks to
74200 user namespaces!
74201
74202 kernel/fork.c | 17 -----------------
74203 kernel/user_namespace.c | 24 ++++++++++++++++++++++--
74204 2 files changed, 22 insertions(+), 19 deletions(-)
74205
74206 commit 97112fe30de4ca84e79c82ebfa2353b9c9988ca1
74207 Author: Brad Spengler <spender@grsecurity.net>
74208 Date: Mon Aug 5 16:05:41 2013 -0400
74209
74210 silence a warning on older gcc
74211
74212 grsecurity/gracl.c | 2 +-
74213 1 files changed, 1 insertions(+), 1 deletions(-)
74214
74215 commit b8966a5d577e9220fbc63306eee978f819f24e2e
74216 Author: Brad Spengler <spender@grsecurity.net>
74217 Date: Sat Aug 3 08:31:08 2013 -0400
74218
74219 we only care about mmaps of the beginning of an ELF, filter out
74220 all others as suggested by pipacs
74221
74222 mm/mmap.c | 2 +-
74223 1 files changed, 1 insertions(+), 1 deletions(-)
74224
74225 commit 8aea9fe5866dec3c847a34f743f343e18cf1cdcb
74226 Author: Brad Spengler <spender@grsecurity.net>
74227 Date: Fri Aug 2 23:54:51 2013 -0400
74228
74229 add include
74230
74231 grsecurity/grsec_log.c | 1 +
74232 1 files changed, 1 insertions(+), 0 deletions(-)
74233
74234 commit d48425ef8cb3761ab6130e52f1f8e401f5b5a295
74235 Author: Brad Spengler <spender@grsecurity.net>
74236 Date: Fri Aug 2 23:49:13 2013 -0400
74237
74238 fix compilation
74239
74240 include/linux/grinternal.h | 3 ++-
74241 1 files changed, 2 insertions(+), 1 deletions(-)
74242
74243 commit 1704c23fdc55b68f512dc9927940e72237f3f43e
74244 Author: Brad Spengler <spender@grsecurity.net>
74245 Date: Fri Aug 2 23:34:35 2013 -0400
74246
74247 Improve PaX reporting (tells when anon mapping is stack or heap)
74248 Remove textrel logging option, combine into rwx logging option
74249 Enhance RWX logging option to display when PT_GNU_STACK-enabled library
74250 is loaded under an MPROTECTed binary
74251 Enhance RWX mprotect logging to display stack/heap instead of just
74252 anon mapping
74253
74254 fs/binfmt_elf.c | 37 +++++++++++++++++++++++++++++++++++++
74255 fs/exec.c | 4 ++++
74256 grsecurity/Kconfig | 21 +++++----------------
74257 grsecurity/grsec_init.c | 4 ----
74258 grsecurity/grsec_log.c | 14 ++++++++++++++
74259 grsecurity/grsec_pax.c | 19 ++++++++++++++-----
74260 grsecurity/grsec_sysctl.c | 9 ---------
74261 include/linux/binfmts.h | 1 +
74262 include/linux/grinternal.h | 2 +-
74263 include/linux/grmsg.h | 3 ++-
74264 include/linux/grsecurity.h | 3 ++-
74265 mm/mmap.c | 7 +++++++
74266 mm/mprotect.c | 2 +-
74267 13 files changed, 88 insertions(+), 38 deletions(-)
74268
74269 commit faf81c100c8565524e21c9af780a0ad2ce3fd925
74270 Author: Brad Spengler <spender@grsecurity.net>
74271 Date: Thu Aug 1 18:52:02 2013 -0400
74272
74273 add missing #define
74274
74275 grsecurity/gracl.c | 1 +
74276 1 files changed, 1 insertions(+), 0 deletions(-)
74277
74278 commit e87232d1fcb4da72df971cbc623aac6c9b3871a0
74279 Author: Brad Spengler <spender@grsecurity.net>
74280 Date: Thu Aug 1 18:43:53 2013 -0400
74281
74282 fix compilation for !COMPAT as reported on the forums
74283
74284 grsecurity/gracl.c | 195 ++++++++++++++++++++++++++--------------------------
74285 1 files changed, 97 insertions(+), 98 deletions(-)
74286
74287 commit 65c9b9c6c42939dc55be1b8842e7c2e05733056c
74288 Merge: 65019c9 7f91ba1
74289 Author: Brad Spengler <spender@grsecurity.net>
74290 Date: Wed Jul 31 17:47:31 2013 -0400
74291
74292 Merge branch 'pax-test' into grsec-test
74293
74294 commit 65019c9bd05f860437071cbf00e2027fd2d68615
74295 Author: Brad Spengler <spender@grsecurity.net>
74296 Date: Wed Jul 31 17:47:20 2013 -0400
74297
74298 Revert "revert recent PaX change that causes boot failures with 32bit userland"
74299
74300 This reverts commit 23278a1ee1c7738dd1e7005241394d32b82196e4.
74301
74302 arch/x86/include/asm/processor.h | 4 ++--
74303 arch/x86/kernel/cpu/common.c | 2 +-
74304 arch/x86/kernel/process_64.c | 2 +-
74305 arch/x86/kernel/smpboot.c | 2 +-
74306 arch/x86/xen/smp.c | 2 +-
74307 5 files changed, 6 insertions(+), 6 deletions(-)
74308
74309 commit 7f91ba11122fcaa96fc2dca42bddcd5f8db3b945
74310 Author: Brad Spengler <spender@grsecurity.net>
74311 Date: Wed Jul 31 17:46:00 2013 -0400
74312
74313 Update to pax-linux-3.10.4-test7.patch:
74314 - added a few more missing format strings
74315 - added reporting of mismatched MPROTECT/EMUTRAMP flags between libraries and the main executable
74316 - reverted the recent amd64 kstack alignment fix, it'll be done the harder way another time
74317 - fixed a UDEREF/i386 regression, __get_user_8 would always fail
74318
74319 arch/x86/include/asm/processor.h | 4 +-
74320 arch/x86/kernel/cpu/common.c | 2 +-
74321 arch/x86/kernel/dumpstack.c | 2 +-
74322 arch/x86/kernel/process_64.c | 2 +-
74323 arch/x86/kernel/reboot_fixups_32.c | 2 +-
74324 arch/x86/kernel/smpboot.c | 2 +-
74325 arch/x86/lib/getuser.S | 4 +-
74326 arch/x86/xen/smp.c | 2 +-
74327 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 8 ++--
74328 drivers/video/backlight/backlight.c | 2 +-
74329 drivers/video/backlight/lcd.c | 2 +-
74330 fs/binfmt_elf.c | 51 +++++++++++++++++++++++++---
74331 fs/exec.c | 50 +++++++++++++--------------
74332 include/linux/sched.h | 2 +
74333 14 files changed, 88 insertions(+), 47 deletions(-)
74334
74335 commit 043130da54cb7cc8dc44e0ce889d426e889a0532
74336 Author: Brad Spengler <spender@grsecurity.net>
74337 Date: Wed Jul 31 16:26:58 2013 -0400
74338
74339 compile fix for !COMPAT as mentioned on forums
74340
74341 grsecurity/gracl.c | 2 ++
74342 1 files changed, 2 insertions(+), 0 deletions(-)
74343
74344 commit ed0a195abd4e41c2449a020a53a19c74dc866d78
74345 Author: Brad Spengler <spender@grsecurity.net>
74346 Date: Tue Jul 30 22:33:14 2013 -0400
74347
74348 perform compat conversion of rlimit infinity
74349
74350 grsecurity/gracl_compat.c | 10 ++++++++--
74351 1 files changed, 8 insertions(+), 2 deletions(-)
74352
74353 commit a99c1b9f31678c1c72a63bea65aed1b2d3205259
74354 Author: Brad Spengler <spender@grsecurity.net>
74355 Date: Tue Jul 30 22:21:40 2013 -0400
74356
74357 remove debugging
74358
74359 grsecurity/gracl_compat.c | 44 +++++++++++---------------------------------
74360 1 files changed, 11 insertions(+), 33 deletions(-)
74361
74362 commit e75b3f504692b97960a7530ad0855d91441d79c0
74363 Author: Brad Spengler <spender@grsecurity.net>
74364 Date: Tue Jul 30 22:20:32 2013 -0400
74365
74366 eliminate compat_dev_t
74367
74368 include/linux/gracl_compat.h | 4 ++--
74369 1 files changed, 2 insertions(+), 2 deletions(-)
74370
74371 commit e5abbaf95313066a724e1a843d4fc902a9a6450e
74372 Author: Brad Spengler <spender@grsecurity.net>
74373 Date: Tue Jul 30 22:13:22 2013 -0400
74374
74375 fix compat rlimit size
74376
74377 grsecurity/gracl_compat.c | 68 +++++++++++++++++++++++++++++-------------
74378 include/linux/gracl_compat.h | 4 +-
74379 2 files changed, 49 insertions(+), 23 deletions(-)
74380
74381 commit 877d6c2f8b3518ff39601084560bb33c58d35a1f
74382 Author: Brad Spengler <spender@grsecurity.net>
74383 Date: Tue Jul 30 21:20:18 2013 -0400
74384
74385 compile fix
74386
74387 grsecurity/gracl.c | 4 ++--
74388 1 files changed, 2 insertions(+), 2 deletions(-)
74389
74390 commit a2062eae8d1dc48d338480e599fedee2dc5e2f98
74391 Author: Brad Spengler <spender@grsecurity.net>
74392 Date: Tue Jul 30 21:14:29 2013 -0400
74393
74394 copy correct pointer size in new compat code
74395
74396 grsecurity/gracl.c | 8 ++++----
74397 grsecurity/gracl_compat.c | 4 ++--
74398 2 files changed, 6 insertions(+), 6 deletions(-)
74399
74400 commit 23278a1ee1c7738dd1e7005241394d32b82196e4
74401 Author: Brad Spengler <spender@grsecurity.net>
74402 Date: Tue Jul 30 19:48:58 2013 -0400
74403
74404 revert recent PaX change that causes boot failures with 32bit userland
74405
74406 arch/x86/include/asm/processor.h | 4 ++--
74407 arch/x86/kernel/cpu/common.c | 2 +-
74408 arch/x86/kernel/process_64.c | 2 +-
74409 arch/x86/kernel/smpboot.c | 2 +-
74410 arch/x86/xen/smp.c | 2 +-
74411 5 files changed, 6 insertions(+), 6 deletions(-)
74412
74413 commit ec27f71a813656fea8ab37faecb2b485fe99d08e
74414 Merge: 3a11bcf 05f0a61
74415 Author: Brad Spengler <spender@grsecurity.net>
74416 Date: Tue Jul 30 19:42:21 2013 -0400
74417
74418 Merge branch 'pax-test' into grsec-test
74419
74420 commit 05f0a610373fa95df838f97c3fcfb59a3d79c5b8
74421 Author: Brad Spengler <spender@grsecurity.net>
74422 Date: Tue Jul 30 19:41:44 2013 -0400
74423
74424 Update to pax-linux-3.10.4-test6.patch:
74425 - fixed some size_overflow false positives on i386 caused by __SC_LONG, reported by spender
74426
74427 include/linux/syscalls.h | 8 ++++++--
74428 1 files changed, 6 insertions(+), 2 deletions(-)
74429
74430 commit 3a11bcfcc738ed5dbf0d56713db872ed36351a26
74431 Author: Brad Spengler <spender@grsecurity.net>
74432 Date: Tue Jul 30 19:15:50 2013 -0400
74433
74434 compile fix
74435
74436 grsecurity/gracl_compat.c | 6 ++++++
74437 1 files changed, 6 insertions(+), 0 deletions(-)
74438
74439 commit 1dbd99b5cb0b6757eadf22309501e7fdd84f5de7
74440 Author: Brad Spengler <spender@grsecurity.net>
74441 Date: Tue Jul 30 19:12:46 2013 -0400
74442
74443 remove BUILD_BUG_ONs
74444
74445 grsecurity/gracl_compat.c | 20 --------------------
74446 1 files changed, 0 insertions(+), 20 deletions(-)
74447
74448 commit a283b21cbd77622383a1dcb1f7bf1080db3bae88
74449 Author: Brad Spengler <spender@grsecurity.net>
74450 Date: Tue Jul 30 00:18:36 2013 -0400
74451
74452 compile fixes
74453
74454 grsecurity/gracl_compat.c | 8 ++++----
74455 include/linux/gracl_compat.h | 2 +-
74456 2 files changed, 5 insertions(+), 5 deletions(-)
74457
74458 commit 8b744005f8bae565e24c1fd88af77e6e619b9434
74459 Author: Brad Spengler <spender@grsecurity.net>
74460 Date: Tue Jul 30 00:16:42 2013 -0400
74461
74462 compile fixes
74463
74464 grsecurity/gracl.c | 4 ++--
74465 grsecurity/gracl_compat.c | 2 +-
74466 2 files changed, 3 insertions(+), 3 deletions(-)
74467
74468 commit 5cd86afa393bf9bf38c2e9063191709ac2beff2c
74469 Author: Brad Spengler <spender@grsecurity.net>
74470 Date: Tue Jul 30 00:13:51 2013 -0400
74471
74472 compile fixes
74473
74474 grsecurity/gracl.c | 8 ++++----
74475 1 files changed, 4 insertions(+), 4 deletions(-)
74476
74477 commit b93b829afcc98b6108b18d99ff63c53642d0b951
74478 Author: Brad Spengler <spender@grsecurity.net>
74479 Date: Tue Jul 30 00:11:03 2013 -0400
74480
74481 compile fixes
74482
74483 grsecurity/gracl_compat.c | 3 +++
74484 1 files changed, 3 insertions(+), 0 deletions(-)
74485
74486 commit 7da096415fa633c4ad2b1f74bd43d3a58a63b5c0
74487 Author: Brad Spengler <spender@grsecurity.net>
74488 Date: Tue Jul 30 00:08:21 2013 -0400
74489
74490 more compile fixes
74491
74492 grsecurity/gracl.c | 28 ++++++++++++++--------------
74493 1 files changed, 14 insertions(+), 14 deletions(-)
74494
74495 commit 6c1fd80e19f1449b6895f1ed77f23f1245470b3b
74496 Author: Brad Spengler <spender@grsecurity.net>
74497 Date: Mon Jul 29 23:59:50 2013 -0400
74498
74499 more compile fixes
74500
74501 grsecurity/gracl.c | 10 +++++++++-
74502 1 files changed, 9 insertions(+), 1 deletions(-)
74503
74504 commit 89dda536f276dd4bb55fa0f9ea8980ac8b750d29
74505 Author: Brad Spengler <spender@grsecurity.net>
74506 Date: Mon Jul 29 23:56:47 2013 -0400
74507
74508 additional compile fixes
74509
74510 grsecurity/gracl.c | 59 +++++++++++++++++++++++++++++++++++++++++++--------
74511 1 files changed, 49 insertions(+), 10 deletions(-)
74512
74513 commit ac695a081d1124fb28bec46814535d34c5e40611
74514 Author: Brad Spengler <spender@grsecurity.net>
74515 Date: Mon Jul 29 23:47:15 2013 -0400
74516
74517 fix typo
74518
74519 grsecurity/gracl.c | 2 +-
74520 1 files changed, 1 insertions(+), 1 deletions(-)
74521
74522 commit d95dd21a8d6d00c5cf34fee3f45dd914b6da6093
74523 Author: Brad Spengler <spender@grsecurity.net>
74524 Date: Mon Jul 29 23:46:59 2013 -0400
74525
74526 compile fixes
74527
74528 grsecurity/gracl.c | 53 ++++++++++++++++++++++++++++++++++++++-------------
74529 1 files changed, 39 insertions(+), 14 deletions(-)
74530
74531 commit 82631f451cc7432b6c5578cf8d24155473feb25c
74532 Author: Brad Spengler <spender@grsecurity.net>
74533 Date: Mon Jul 29 23:22:44 2013 -0400
74534
74535 Initial commit of compat RBAC loading
74536 Permits 32bit gradm to load policy for a 64bit kernel
74537
74538 Also removed code duplication for copying strings into the kernel
74539
74540 Work performed as part of sponsorship
74541
74542 grsecurity/Makefile | 4 +
74543 grsecurity/gracl.c | 315 +++++++++++++++++++++++-------------------
74544 grsecurity/gracl_compat.c | 270 ++++++++++++++++++++++++++++++++++++
74545 include/linux/gracl_compat.h | 156 +++++++++++++++++++++
74546 4 files changed, 603 insertions(+), 142 deletions(-)
74547
74548 commit 84c4a433dfb096e4a1162ee5e68025122c70b421
74549 Merge: c9d3ed3 9fe5897
74550 Author: Brad Spengler <spender@grsecurity.net>
74551 Date: Mon Jul 29 17:08:56 2013 -0400
74552
74553 Merge branch 'pax-test' into grsec-test
74554
74555 commit 9fe58978938e357642885866ca48090a7753d403
74556 Merge: 8f693ad 6f7bb6b
74557 Author: Brad Spengler <spender@grsecurity.net>
74558 Date: Mon Jul 29 17:08:43 2013 -0400
74559
74560 Merge branch 'linux-3.10.y' into pax-test
74561
74562 commit c9d3ed33c5370bbacfadf86f6a1566828a3d7775
74563 Merge: d5e5bfd 8f693ad
74564 Author: Brad Spengler <spender@grsecurity.net>
74565 Date: Sun Jul 28 10:03:08 2013 -0400
74566
74567 Merge branch 'pax-test' into grsec-test
74568
74569 commit 8f693ade9b3e448f92706d34148b00a087637f70
74570 Author: Brad Spengler <spender@grsecurity.net>
74571 Date: Sun Jul 28 10:02:16 2013 -0400
74572
74573 Update to pax-linux-3.10.3-test5.patch:
74574 - fixed amd64 kstack alignment (caught by some crazy codegen by clang/llvm)
74575 - fixed handling of faulting userland accesses for UDEREF/arm, from spender
74576 - updated the size overflow hash table, from Emese
74577
74578 arch/arm/kernel/entry-armv.S | 3 +-
74579 arch/x86/include/asm/processor.h | 4 +-
74580 arch/x86/kernel/cpu/common.c | 2 +-
74581 arch/x86/kernel/process_64.c | 2 +-
74582 arch/x86/kernel/smpboot.c | 2 +-
74583 arch/x86/xen/smp.c | 2 +-
74584 tools/gcc/size_overflow_hash.data | 553 +++++++++++++++++++++++++++++++++----
74585 7 files changed, 513 insertions(+), 55 deletions(-)
74586
74587 commit d5e5bfd6ecc1fc7e86d070df8eb0ce8d0643c558
74588 Merge: 19e077b 8a8a0d0
74589 Author: Brad Spengler <spender@grsecurity.net>
74590 Date: Thu Jul 25 21:05:18 2013 -0400
74591
74592 Merge branch 'pax-test' into grsec-test
74593
74594 commit 8a8a0d0b22a86bf65302d03bb6732e42bc0a2e56
74595 Author: Brad Spengler <spender@grsecurity.net>
74596 Date: Thu Jul 25 21:04:09 2013 -0400
74597
74598 Update to pax-linux-3.10.3-test4.patch:
74599 - introduced per-slab object sanitization, contributed by Mathias Krause and secunet.
74600 this is finer grained sanitization than the existing per-page based approach (which
74601 is still done) at a somewhat higher performance cost. the pax_sanitize_slab command
74602 line option can be used to enable/disable it on boot (it's enabled by default when
74603 CONFIG_PAX_MEMORY_SANITIZE is enabled).
74604
74605 Documentation/kernel-parameters.txt | 4 ++++
74606 fs/buffer.c | 2 +-
74607 fs/dcache.c | 3 ++-
74608 include/linux/slab.h | 7 +++++++
74609 include/linux/slab_def.h | 4 ++++
74610 kernel/fork.c | 2 +-
74611 mm/rmap.c | 6 ++++--
74612 mm/slab.c | 27 +++++++++++++++++++++++++++
74613 mm/slab.h | 12 +++++++++++-
74614 mm/slab_common.c | 14 ++++++++++++++
74615 mm/slob.c | 5 +++++
74616 mm/slub.c | 11 +++++++++++
74617 net/core/skbuff.c | 6 ++++--
74618 security/Kconfig | 23 +++++++++++++++++------
74619 14 files changed, 112 insertions(+), 14 deletions(-)
74620
74621 commit 19e077bfff54ca211d0142c07cb6dd88069a390c
74622 Merge: 960ec51 c8f7f51
74623 Author: Brad Spengler <spender@grsecurity.net>
74624 Date: Thu Jul 25 19:53:34 2013 -0400
74625
74626 Merge branch 'pax-test' into grsec-test
74627
74628 commit c8f7f51591207b82530214300e86277028919286
74629 Merge: d5142e3 81a4648
74630 Author: Brad Spengler <spender@grsecurity.net>
74631 Date: Thu Jul 25 19:52:29 2013 -0400
74632
74633 Update to pax-linux-3.10.3-test3.patch:
74634 - fixed some compile issues reported by Michael Tremer and spender
74635 - fixed an i386 regression with the lower address space gap on i386, reported by cnu
74636
74637 Merge branch 'linux-3.10.y' into pax-test
74638
74639 Conflicts:
74640 kernel/time/tick-broadcast.c
74641
74642 commit 960ec51ab2142544fbae563d4fd5744775408965
74643 Author: Al Viro <viro@zeniv.linux.org.uk>
74644 Date: Sat Jul 20 03:13:55 2013 +0400
74645
74646 Upstream commit: acfec9a5a892f98461f52ed5770de99a3e571ae2
74647
74648 livelock avoidance in sget()
74649
74650 Eric Sandeen has found a nasty livelock in sget() - take a mount(2) about
74651 to fail. The superblock is on ->fs_supers, ->s_umount is held exclusive,
74652 ->s_active is 1. Along comes two more processes, trying to mount the same
74653 thing; sget() in each is picking that superblock, bumping ->s_count and
74654 trying to grab ->s_umount. ->s_active is 3 now. Original mount(2)
74655 finally gets to deactivate_locked_super() on failure; ->s_active is 2,
74656 superblock is still ->fs_supers because shutdown will *not* happen until
74657 ->s_active hits 0. ->s_umount is dropped and now we have two processes
74658 chasing each other:
74659 s_active = 2, A acquired ->s_umount, B blocked
74660 A sees that the damn thing is stillborn, does deactivate_locked_super()
74661 s_active = 1, A drops ->s_umount, B gets it
74662 A restarts the search and finds the same superblock. And bumps it ->s_active.
74663 s_active = 2, B holds ->s_umount, A blocked on trying to get it
74664 ... and we are in the earlier situation with A and B switched places.
74665
74666 The root cause, of course, is that ->s_active should not grow until we'd
74667 got MS_BORN. Then failing ->mount() will have deactivate_locked_super()
74668 shut the damn thing down. Fortunately, it's easy to do - the key point
74669 is that grab_super() is called only for superblocks currently on ->fs_supers,
74670 so it can bump ->s_count and grab ->s_umount first, then check MS_BORN and
74671 bump ->s_active; we must never increment ->s_count for superblocks past
74672 ->kill_sb(), but grab_super() is never called for those.
74673
74674 The bug is pretty old; we would've caught it by now, if not for accidental
74675 exclusion between sget() for block filesystems; the things like cgroup or
74676 e.g. mtd-based filesystems don't have anything of that sort, so they get
74677 bitten. The right way to deal with that is obviously to fix sget()...
74678
74679 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
74680
74681 fs/super.c | 25 ++++++++++---------------
74682 1 files changed, 10 insertions(+), 15 deletions(-)
74683
74684 commit 3540cebbbfa4aef94527ad3e0e49097848147fb9
74685 Merge: ab95b58 d5142e3
74686 Author: Brad Spengler <spender@grsecurity.net>
74687 Date: Sun Jul 21 22:47:46 2013 -0400
74688
74689 Merge branch 'pax-test' into grsec-test
74690
74691 commit d5142e31785f8c32c7338c51fcc27313bdd4a84e
74692 Merge: f36ae8c 0f4a56e
74693 Author: Brad Spengler <spender@grsecurity.net>
74694 Date: Sun Jul 21 22:47:34 2013 -0400
74695
74696 Merge branch 'linux-3.10.y' into pax-test
74697
74698 commit ab95b5842899d61ff5c30f4582e72029b3155be8
74699 Author: Brad Spengler <spender@grsecurity.net>
74700 Date: Sun Jul 21 22:28:40 2013 -0400
74701
74702 compile fix with constification reported by Michael Tremer
74703
74704 drivers/gpu/host1x/drm/dc.c | 2 +-
74705 1 files changed, 1 insertions(+), 1 deletions(-)
74706
74707 commit 817cd2d1e7a55720326599dd8f542578eef30927
74708 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
74709 Date: Fri Jul 12 23:46:33 2013 +0200
74710
74711 Upstream commit: 307f2fb95e9b96b3577916e73d92e104f8f26494
74712
74713 ipv6: only static routes qualify for equal cost multipathing
74714
74715 Static routes in this case are non-expiring routes which did not get
74716 configured by autoconf or by icmpv6 redirects.
74717
74718 To make sure we actually get an ecmp route while searching for the first
74719 one in this fib6_node's leafs, also make sure it matches the ecmp route
74720 assumptions.
74721
74722 v2:
74723 a) Removed RTF_EXPIRE check in dst.from chain. The check of RTF_ADDRCONF
74724 already ensures that this route, even if added again without
74725 RTF_EXPIRES (in case of a RA announcement with infinite timeout),
74726 does not cause the rt6i_nsiblings logic to go wrong if a later RA
74727 updates the expiration time later.
74728
74729 v3:
74730 a) Allow RTF_EXPIRES routes to enter the ecmp route set. We have to do so,
74731 because an pmtu event could update the RTF_EXPIRES flag and we would
74732 not count this route, if another route joins this set. We now filter
74733 only for RTF_GATEWAY|RTF_ADDRCONF|RTF_DYNAMIC, which are flags that
74734 don't get changed after rt6_info construction.
74735
74736 Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
74737 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
74738 Signed-off-by: David S. Miller <davem@davemloft.net>
74739
74740 net/ipv6/ip6_fib.c | 15 +++++++++++----
74741 1 files changed, 11 insertions(+), 4 deletions(-)
74742
74743 commit 77db8196d51b043e2e2d124094da101b0f01bccb
74744 Author: Dan Carpenter <dan.carpenter@oracle.com>
74745 Date: Fri Jul 12 09:39:03 2013 +0300
74746
74747 Upstream commit: b2781e1021525649c0b33fffd005ef219da33926
74748
74749 svcrdma: underflow issue in decode_write_list()
74750
74751 My static checker marks everything from ntohl() as untrusted and it
74752 complains we could have an underflow problem doing:
74753
74754 return (u32 *)&ary->wc_array[nchunks];
74755
74756 Also on 32 bit systems the upper bound check could overflow.
74757
74758 Cc: stable@vger.kernel.org
74759 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
74760 Signed-off-by: J. Bruce Fields <bfields@redhat.com>
74761
74762 net/sunrpc/xprtrdma/svc_rdma_marshal.c | 20 ++++++++++++++------
74763 1 files changed, 14 insertions(+), 6 deletions(-)
74764
74765 commit 926473317fd7953137ef97835edd36dabc584b01
74766 Author: Brad Spengler <spender@grsecurity.net>
74767 Date: Wed Jul 17 21:29:02 2013 -0400
74768
74769 add missing asm/pgtable.h include, reported by Michael Tremer
74770
74771 drivers/clk/socfpga/clk.c | 1 +
74772 1 files changed, 1 insertions(+), 0 deletions(-)
74773
74774 commit c592ae0001b31932ef1491784dfa374058797c66
74775 Author: Brad Spengler <spender@grsecurity.net>
74776 Date: Tue Jul 16 20:40:24 2013 -0400
74777
74778 allow viewing of ecryptfs version under SYSFS_RESTRICT
74779
74780 fs/sysfs/dir.c | 2 +-
74781 1 files changed, 1 insertions(+), 1 deletions(-)
74782
74783 commit 36db325ef3b07ea8cdb47f549e706e5d71398e14
74784 Merge: 9c96441 f36ae8c
74785 Author: Brad Spengler <spender@grsecurity.net>
74786 Date: Sun Jul 14 19:23:13 2013 -0400
74787
74788 Merge branch 'pax-test' into grsec-test
74789
74790 commit f36ae8c741ae32b1caff10825be12c327792c925
74791 Author: Brad Spengler <spender@grsecurity.net>
74792 Date: Sun Jul 14 19:22:15 2013 -0400
74793
74794 Update to pax-linux-3.10-test2.patch:
74795 - spender fixed a compile regression in a recent arm/UDEREF change, reported by Michael Tremer
74796 - spender fixed arm/KERNEXEC for v5 and older CPUs, reported by Michael Tremer
74797 - spender fixed a new CONSTIFY victim on arm, reported by Michael Tremer
74798 - spender fixed an madvise regression, reported by Peter Keel
74799 - spender fixed a SLAB regression, reported by Thorsten (http://forums.grsecurity.net/viewtopic.php?f=3&t=3614) and Jens (http://forums.grsecurity.net/viewtopic.php?f=1&t=3616)
74800 - fixed a headers_install regression, reported by Mathias Krause
74801 - fixed a SLOB compile regression, reported by Mathias Krause
74802
74803 arch/arm/include/asm/uaccess.h | 4 ++--
74804 arch/arm/mm/mmu.c | 15 +++++++++++++--
74805 drivers/clk/socfpga/clk.c | 6 ++++--
74806 mm/madvise.c | 4 ++--
74807 mm/slab.c | 4 ++--
74808 mm/slob.c | 4 ++--
74809 scripts/headers_install.sh | 2 +-
74810 7 files changed, 26 insertions(+), 13 deletions(-)
74811
74812 commit 9c9644156a49637050741d9165df79174e59b0ef
74813 Author: Brad Spengler <spender@grsecurity.net>
74814 Date: Sun Jul 14 19:19:54 2013 -0400
74815
74816 Fix sparc64 compilation, reported by Blake Self
74817
74818 arch/sparc/kernel/sys_sparc_64.c | 4 ++--
74819 1 files changed, 2 insertions(+), 2 deletions(-)
74820
74821 commit 7bcd3db081454768542c3d741bcf32cd61a50cf5
74822 Author: Brad Spengler <spender@grsecurity.net>
74823 Date: Sun Jul 14 11:49:17 2013 -0400
74824
74825 Update PaX fix, just return the error
74826
74827 mm/madvise.c | 15 +++++++--------
74828 1 files changed, 7 insertions(+), 8 deletions(-)
74829
74830 commit a10e377d0eddd37e8a3665b135e546ab03d9d171
74831 Author: Brad Spengler <spender@grsecurity.net>
74832 Date: Sun Jul 14 11:36:00 2013 -0400
74833
74834 Fix madvise oops reported by Peter Keel
74835
74836 mm/madvise.c | 11 ++++++-----
74837 1 files changed, 6 insertions(+), 5 deletions(-)
74838
74839 commit 08c5adca34d408772255b313f90d82c250c1d967
74840 Author: Brad Spengler <spender@grsecurity.net>
74841 Date: Sun Jul 14 11:26:34 2013 -0400
74842
74843 don't make high vector mapping non-present on old ARM architectures, no
74844 point in emulating some vector entries when the processor doesn't even support XN
74845
74846 arch/arm/mm/mmu.c | 7 +++++--
74847 1 files changed, 5 insertions(+), 2 deletions(-)
74848
74849 commit 2b40781d4197a89a003616af584884e36361c5b2
74850 Author: Brad Spengler <spender@grsecurity.net>
74851 Date: Sun Jul 14 09:51:58 2013 -0400
74852
74853 Temporary compile fix for code incorrectly modifying const data
74854 Wrap a cast version of the code with open/close
74855
74856 Thanks to Michael Tremer for the report
74857
74858 drivers/clk/socfpga/clk.c | 6 ++++--
74859 1 files changed, 4 insertions(+), 2 deletions(-)
74860
74861 commit a8258c1b4098c396cd4ea719e20858182feac1c1
74862 Author: Brad Spengler <spender@grsecurity.net>
74863 Date: Sun Jul 14 09:41:16 2013 -0400
74864
74865 Fix missing right parens in pipacs' "improvement" of my ARM code ;)
74866 Thanks to Michael Tremer for reporting
74867
74868 arch/arm/include/asm/uaccess.h | 4 ++--
74869 1 files changed, 2 insertions(+), 2 deletions(-)
74870
74871 commit 8542e1e973be7cc9a009d2ada8033576b2890e6f
74872 Merge: 86f446e 2577f8e
74873 Author: Brad Spengler <spender@grsecurity.net>
74874 Date: Sat Jul 13 20:46:58 2013 -0400
74875
74876 Merge branch 'pax-test' into grsec-test
74877
74878 Conflicts:
74879 mm/memcontrol.c
74880
74881 commit 2577f8e4ec41efb347706a59c6838de20f0c90da
74882 Merge: 75a36f0 cb5d8be
74883 Author: Brad Spengler <spender@grsecurity.net>
74884 Date: Sat Jul 13 20:43:42 2013 -0400
74885
74886 Merge branch 'linux-3.10.y' into pax-test
74887
74888 Conflicts:
74889 crypto/algapi.c
74890 drivers/block/nbd.c
74891
74892 commit 86f446e9d5c6b475d2e9360cc04f4361ad1b19b8
74893 Author: Brad Spengler <spender@grsecurity.net>
74894 Date: Fri Jul 12 23:02:11 2013 -0400
74895
74896 we always want the vector page to be noaccess for userland
74897 therefore, when kernexec is disabled, instead of L_PTE_USER | L_PTE_RDONLY
74898 which turns into supervisor rwx, userland rx, we instead omit that entirely,
74899 leaving it as supervisor rwx only
74900
74901 Fixes booting on ARMv5 and earlier, which need to write directly
74902 to the high vector mapping via set_tls when context switching
74903
74904 Thanks to Michael Tremer for the bugreport
74905
74906 arch/arm/mm/mmu.c | 12 ++++++++++--
74907 1 files changed, 10 insertions(+), 2 deletions(-)
74908
74909 commit 90cd0827eef656ec884f19c977873fefe2f2e47d
74910 Author: Cong Wang <amwang@redhat.com>
74911 Date: Sat Jun 29 12:02:59 2013 +0800
74912
74913 Upstream commit: 6c734fb8592f6768170e48e7102cb2f0a1bb9759
74914
74915 gre: fix a regression in ioctl
74916
74917 When testing GRE tunnel, I got:
74918
74919 # ip tunnel show
74920 get tunnel gre0 failed: Invalid argument
74921 get tunnel gre1 failed: Invalid argument
74922
74923 This is a regression introduced by commit c54419321455631079c7d
74924 ("GRE: Refactor GRE tunneling code.") because previously we
74925 only check the parameters for SIOCADDTUNNEL and SIOCCHGTUNNEL,
74926 after that commit, the check is moved for all commands.
74927
74928 So, just check for SIOCADDTUNNEL and SIOCCHGTUNNEL.
74929
74930 After this patch I got:
74931
74932 # ip tunnel show
74933 gre0: gre/ip remote any local any ttl inherit nopmtudisc
74934 gre1: gre/ip remote 192.168.122.101 local 192.168.122.45 ttl inherit
74935
74936 Cc: Pravin B Shelar <pshelar@nicira.com>
74937 Cc: "David S. Miller" <davem@davemloft.net>
74938 Signed-off-by: Cong Wang <amwang@redhat.com>
74939 Signed-off-by: David S. Miller <davem@davemloft.net>
74940
74941 net/ipv4/ip_gre.c | 9 +++++----
74942 1 files changed, 5 insertions(+), 4 deletions(-)
74943
74944 commit 50d4e90ec8da630eac8840da9c53b8738a2f98b5
74945 Author: Cong Wang <amwang@redhat.com>
74946 Date: Sat Jun 29 13:00:57 2013 +0800
74947
74948 Upstream commit: ab6c7a0a43c2eaafa57583822b619b22637b49c7
74949
74950 vti: remove duplicated code to fix a memory leak
74951
74952 vti module allocates dev->tstats twice: in vti_fb_tunnel_init()
74953 and in vti_tunnel_init(), this lead to a memory leak of
74954 dev->tstats.
74955
74956 Just remove the duplicated operations in vti_fb_tunnel_init().
74957
74958 (candidate for -stable)
74959
74960 Cc: Stephen Hemminger <stephen@networkplumber.org>
74961 Cc: Saurabh Mohan <saurabh.mohan@vyatta.com>
74962 Cc: "David S. Miller" <davem@davemloft.net>
74963 Signed-off-by: Cong Wang <amwang@redhat.com>
74964 Acked-by: Stephen Hemminger <stephen@networkplumber.org>
74965 Signed-off-by: David S. Miller <davem@davemloft.net>
74966
74967 net/ipv4/ip_vti.c | 7 -------
74968 1 files changed, 0 insertions(+), 7 deletions(-)
74969
74970 commit af9e57897a8fab9bbeceb984bd0aeaedb36aefcd
74971 Author: Michal Schmidt <mschmidt@redhat.com>
74972 Date: Mon Jul 1 17:23:05 2013 +0200
74973
74974 Upstream commit: 058eec4116935c5640299913e1e0715e87ec622a
74975
74976 bnx2x: remove zeroing of dump data buffer
74977
74978 There is no need to initialize the dump data with zeros.
74979 data is allocated with vzalloc, so it's already zero-filled.
74980
74981 More importantly, the memset is harmful, because dump->len (the length
74982 requested by userspace) can be bigger than the allocated buffer (whose
74983 size is determined by asking the driver's .get_dump_flag method).
74984
74985 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
74986 Signed-off-by: David S. Miller <davem@davemloft.net>
74987
74988 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 --
74989 1 files changed, 0 insertions(+), 2 deletions(-)
74990
74991 commit c771072b72c261f9bddd6734dca6979c1b96e7df
74992 Author: Michal Schmidt <mschmidt@redhat.com>
74993 Date: Mon Jul 1 17:23:06 2013 +0200
74994
74995 Upstream commit: 5bb680d6cbe36de9d7ba12b05f845c91a8692318
74996
74997 bnx2x: fix dump flag handling
74998
74999 bnx2x interprets the dump flag as an index of a register preset.
75000 It is important to validate the index to avoid out of bounds
75001 memory accesses.
75002
75003 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
75004 Signed-off-by: David S. Miller <davem@davemloft.net>
75005
75006 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 3 +++
75007 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 ++
75008 2 files changed, 5 insertions(+), 0 deletions(-)
75009
75010 commit aed315c8fad9b2044143b46b239574b1b72135ce
75011 Author: Michal Schmidt <mschmidt@redhat.com>
75012 Date: Mon Jul 1 17:23:30 2013 +0200
75013
75014 Upstream commit: c590b5e2f05b5e98e614382582b7ae4cddb37599
75015
75016 ethtool: make .get_dump_data() harder to misuse by drivers
75017
75018 As the patch "bnx2x: remove zeroing of dump data buffer" showed,
75019 it is too easy implement .get_dump_data incorrectly in a driver.
75020
75021 Let's make sure drivers cannot get confused by userspace requesting
75022 a too big dump.
75023
75024 Also WARN if the driver sets dump->len to something weird and make
75025 sure the length reported to userspace is the actual length of data
75026 copied to userspace.
75027
75028 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
75029 Reviewed-by: Ben Hutchings <ben@decadent.org.uk>
75030 Signed-off-by: David S. Miller <davem@davemloft.net>
75031
75032 net/core/ethtool.c | 21 ++++++++++++++++++++-
75033 1 files changed, 20 insertions(+), 1 deletions(-)
75034
75035 commit 5c57991e66216e386dcc875d34c33f0edd038569
75036 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
75037 Date: Tue Jul 2 09:02:07 2013 +0800
75038
75039 Upstream commit: e1558a93b61962710733dc8c11a2bc765607f1cd
75040
75041 l2tp: add missing .owner to struct pppox_proto
75042
75043 Add missing .owner of struct pppox_proto. This prevents the
75044 module from being removed from underneath its users.
75045
75046 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
75047 Signed-off-by: David S. Miller <davem@davemloft.net>
75048
75049 net/l2tp/l2tp_ppp.c | 3 ++-
75050 1 files changed, 2 insertions(+), 1 deletions(-)
75051
75052 commit 4613b8adae32cc774bb727d2ec71f3d0bd7ff1c4
75053 Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
75054 Date: Sun Jun 30 14:37:11 2013 +1000
75055
75056 Upstream commit: 7cc47d139f9a815a91bd9e7377063238c69a0423
75057
75058 cxgb3: Missing rtnl lock in error recovery
75059
75060 When exercising error injection on IBM pseries machine, I hit the
75061 following warning:
75062
75063 [ 251.450043] RTAS: event: 89, Type: Platform Error, Severity: 2
75064 [ 253.549822] cxgb3 0006:01:00.0: enabling device (0140 -> 0142)
75065 [ 253.713560] cxgb3 0006:01:00.0: adapter recovering, PEX ERR 0x100
75066 [ 254.895437] RTNL: assertion failed at net/core/dev.c (2031)
75067 [ 254.895467] CPU: 6 PID: 5449 Comm: eehd Tainted: G W 3.10.0-rc7-00157-gea461ab #19
75068 [ 254.895474] Call Trace:
75069 [ 254.895483] [c000000fac56f7d0] [c000000000014dcc] .show_stack+0x7c/0x1f0 (unreliable)
75070 [ 254.895493] [c000000fac56f8a0] [c0000000007ba318] .dump_stack+0x28/0x3c
75071 [ 254.895500] [c000000fac56f910] [c0000000006c0384] .netif_set_real_num_tx_queues+0x224/0x230
75072 [ 254.895515] [c000000fac56f9b0] [d00000000ef35510] .cxgb_open+0x80/0x3f0 [cxgb3]
75073 [ 254.895525] [c000000fac56fa50] [d00000000ef35914] .t3_resume_ports+0x94/0x100 [cxgb3]
75074 [ 254.895533] [c000000fac56fae0] [c00000000005fc8c] .eeh_report_resume+0x8c/0xd0
75075 [ 254.895539] [c000000fac56fb60] [c00000000005e9fc] .eeh_pe_dev_traverse+0x9c/0x190
75076 [ 254.895545] [c000000fac56fc10] [c000000000060000] .eeh_handle_event+0x110/0x330
75077 [ 254.895551] [c000000fac56fca0] [c000000000060350] .eeh_event_handler+0x130/0x1a0
75078 [ 254.895558] [c000000fac56fd30] [c0000000000ad758] .kthread+0xe8/0xf0
75079 [ 254.895566] [c000000fac56fe30] [c00000000000a05c] .ret_from_kernel_thread+0x5c/0x80
75080
75081 It appears that t3_resume_ports() is called with the rtnl_lock held from
75082 the fatal error task but not from the PCI error callbacks. This fixes it.
75083
75084 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
75085 Signed-off-by: David S. Miller <davem@davemloft.net>
75086
75087 drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 2 ++
75088 1 files changed, 2 insertions(+), 0 deletions(-)
75089
75090 commit ea8f4222cddf3250dbcfc7db0437ebf74c352370
75091 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
75092 Date: Mon Jul 1 20:21:30 2013 +0200
75093
75094 Upstream commit: 8822b64a0fa64a5dd1dfcf837c5b0be83f8c05d1
75095
75096 ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET pending data
75097
75098 We accidentally call down to ip6_push_pending_frames when uncorking
75099 pending AF_INET data on a ipv6 socket. This results in the following
75100 splat (from Dave Jones):
75101
75102 skbuff: skb_under_panic: text:ffffffff816765f6 len:48 put:40 head:ffff88013deb6df0 data:ffff88013deb6dec tail:0x2c end:0xc0 dev:<NULL>
75103 ------------[ cut here ]------------
75104 kernel BUG at net/core/skbuff.c:126!
75105 invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
75106 Modules linked in: dccp_ipv4 dccp 8021q garp bridge stp dlci mpoa snd_seq_dummy sctp fuse hidp tun bnep nfnetlink scsi_transport_iscsi rfcomm can_raw can_bcm af_802154 appletalk caif_socket can caif ipt_ULOG x25 rose af_key pppoe pppox ipx phonet irda llc2 ppp_generic slhc p8023 psnap p8022 llc crc_ccitt atm bluetooth
75107 +netrom ax25 nfc rfkill rds af_rxrpc coretemp hwmon kvm_intel kvm crc32c_intel snd_hda_codec_realtek ghash_clmulni_intel microcode pcspkr snd_hda_codec_hdmi snd_hda_intel snd_hda_codec snd_hwdep usb_debug snd_seq snd_seq_device snd_pcm e1000e snd_page_alloc snd_timer ptp snd pps_core soundcore xfs libcrc32c
75108 CPU: 2 PID: 8095 Comm: trinity-child2 Not tainted 3.10.0-rc7+ #37
75109 task: ffff8801f52c2520 ti: ffff8801e6430000 task.ti: ffff8801e6430000
75110 RIP: 0010:[<ffffffff816e759c>] [<ffffffff816e759c>] skb_panic+0x63/0x65
75111 RSP: 0018:ffff8801e6431de8 EFLAGS: 00010282
75112 RAX: 0000000000000086 RBX: ffff8802353d3cc0 RCX: 0000000000000006
75113 RDX: 0000000000003b90 RSI: ffff8801f52c2ca0 RDI: ffff8801f52c2520
75114 RBP: ffff8801e6431e08 R08: 0000000000000000 R09: 0000000000000000
75115 R10: 0000000000000001 R11: 0000000000000001 R12: ffff88022ea0c800
75116 R13: ffff88022ea0cdf8 R14: ffff8802353ecb40 R15: ffffffff81cc7800
75117 FS: 00007f5720a10740(0000) GS:ffff880244c00000(0000) knlGS:0000000000000000
75118 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
75119 CR2: 0000000005862000 CR3: 000000022843c000 CR4: 00000000001407e0
75120 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
75121 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
75122 Stack:
75123 ffff88013deb6dec 000000000000002c 00000000000000c0 ffffffff81a3f6e4
75124 ffff8801e6431e18 ffffffff8159a9aa ffff8801e6431e90 ffffffff816765f6
75125 ffffffff810b756b 0000000700000002 ffff8801e6431e40 0000fea9292aa8c0
75126 Call Trace:
75127 [<ffffffff8159a9aa>] skb_push+0x3a/0x40
75128 [<ffffffff816765f6>] ip6_push_pending_frames+0x1f6/0x4d0
75129 [<ffffffff810b756b>] ? mark_held_locks+0xbb/0x140
75130 [<ffffffff81694919>] udp_v6_push_pending_frames+0x2b9/0x3d0
75131 [<ffffffff81694660>] ? udplite_getfrag+0x20/0x20
75132 [<ffffffff8162092a>] udp_lib_setsockopt+0x1aa/0x1f0
75133 [<ffffffff811cc5e7>] ? fget_light+0x387/0x4f0
75134 [<ffffffff816958a4>] udpv6_setsockopt+0x34/0x40
75135 [<ffffffff815949f4>] sock_common_setsockopt+0x14/0x20
75136 [<ffffffff81593c31>] SyS_setsockopt+0x71/0xd0
75137 [<ffffffff816f5d54>] tracesys+0xdd/0xe2
75138 Code: 00 00 48 89 44 24 10 8b 87 d8 00 00 00 48 89 44 24 08 48 8b 87 e8 00 00 00 48 c7 c7 c0 04 aa 81 48 89 04 24 31 c0 e8 e1 7e ff ff <0f> 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55
75139 RIP [<ffffffff816e759c>] skb_panic+0x63/0x65
75140 RSP <ffff8801e6431de8>
75141
75142 This patch adds a check if the pending data is of address family AF_INET
75143 and directly calls udp_push_ending_frames from udp_v6_push_pending_frames
75144 if that is the case.
75145
75146 This bug was found by Dave Jones with trinity.
75147
75148 (Also move the initialization of fl6 below the AF_INET check, even if
75149 not strictly necessary.)
75150
75151 Cc: Dave Jones <davej@redhat.com>
75152 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
75153 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
75154 Signed-off-by: David S. Miller <davem@davemloft.net>
75155
75156 include/net/udp.h | 1 +
75157 net/ipv4/udp.c | 3 ++-
75158 net/ipv6/udp.c | 7 ++++++-
75159 3 files changed, 9 insertions(+), 2 deletions(-)
75160
75161 commit cd83094a85d9bbd5a67332156407d53cf8835432
75162 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
75163 Date: Tue Jul 2 08:04:05 2013 +0200
75164
75165 Upstream commit: 75a493e60ac4bbe2e977e7129d6d8cbb0dd236be
75166
75167 ipv6: ip6_append_data_mtu did not care about pmtudisc and frag_size
75168
75169 If the socket had an IPV6_MTU value set, ip6_append_data_mtu lost track
75170 of this when appending the second frame on a corked socket. This results
75171 in the following splat:
75172
75173 [37598.993962] ------------[ cut here ]------------
75174 [37598.994008] kernel BUG at net/core/skbuff.c:2064!
75175 [37598.994008] invalid opcode: 0000 [#1] SMP
75176 [37598.994008] Modules linked in: tcp_lp uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media vfat fat usb_storage fuse ebtable_nat xt_CHECKSUM bridge stp llc ipt_MASQUERADE nf_conntrack_netbios_ns nf_conntrack_broadcast ip6table_mangle ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 iptable_nat
75177 +nf_nat_ipv4 nf_nat iptable_mangle nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ebtable_filter ebtables ip6table_filter ip6_tables be2iscsi iscsi_boot_sysfs bnx2i cnic uio cxgb4i cxgb4 cxgb3i cxgb3 mdio libcxgbi ib_iser rdma_cm ib_addr iw_cm ib_cm ib_sa ib_mad ib_core iscsi_tcp libiscsi_tcp libiscsi
75178 +scsi_transport_iscsi rfcomm bnep iTCO_wdt iTCO_vendor_support snd_hda_codec_conexant arc4 iwldvm mac80211 snd_hda_intel acpi_cpufreq mperf coretemp snd_hda_codec microcode cdc_wdm cdc_acm
75179 [37598.994008] snd_hwdep cdc_ether snd_seq snd_seq_device usbnet mii joydev btusb snd_pcm bluetooth i2c_i801 e1000e lpc_ich mfd_core ptp iwlwifi pps_core snd_page_alloc mei cfg80211 snd_timer thinkpad_acpi snd tpm_tis soundcore rfkill tpm tpm_bios vhost_net tun macvtap macvlan kvm_intel kvm uinput binfmt_misc
75180 +dm_crypt i915 i2c_algo_bit drm_kms_helper drm i2c_core wmi video
75181 [37598.994008] CPU 0
75182 [37598.994008] Pid: 27320, comm: t2 Not tainted 3.9.6-200.fc18.x86_64 #1 LENOVO 27744PG/27744PG
75183 [37598.994008] RIP: 0010:[<ffffffff815443a5>] [<ffffffff815443a5>] skb_copy_and_csum_bits+0x325/0x330
75184 [37598.994008] RSP: 0018:ffff88003670da18 EFLAGS: 00010202
75185 [37598.994008] RAX: ffff88018105c018 RBX: 0000000000000004 RCX: 00000000000006c0
75186 [37598.994008] RDX: ffff88018105a6c0 RSI: ffff88018105a000 RDI: ffff8801e1b0aa00
75187 [37598.994008] RBP: ffff88003670da78 R08: 0000000000000000 R09: ffff88018105c040
75188 [37598.994008] R10: ffff8801e1b0aa00 R11: 0000000000000000 R12: 000000000000fff8
75189 [37598.994008] R13: 00000000000004fc R14: 00000000ffff0504 R15: 0000000000000000
75190 [37598.994008] FS: 00007f28eea59740(0000) GS:ffff88023bc00000(0000) knlGS:0000000000000000
75191 [37598.994008] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
75192 [37598.994008] CR2: 0000003d935789e0 CR3: 00000000365cb000 CR4: 00000000000407f0
75193 [37598.994008] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
75194 [37598.994008] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
75195 [37598.994008] Process t2 (pid: 27320, threadinfo ffff88003670c000, task ffff88022c162ee0)
75196 [37598.994008] Stack:
75197 [37598.994008] ffff88022e098a00 ffff88020f973fc0 0000000000000008 00000000000004c8
75198 [37598.994008] ffff88020f973fc0 00000000000004c4 ffff88003670da78 ffff8801e1b0a200
75199 [37598.994008] 0000000000000018 00000000000004c8 ffff88020f973fc0 00000000000004c4
75200 [37598.994008] Call Trace:
75201 [37598.994008] [<ffffffff815fc21f>] ip6_append_data+0xccf/0xfe0
75202 [37598.994008] [<ffffffff8158d9f0>] ? ip_copy_metadata+0x1a0/0x1a0
75203 [37598.994008] [<ffffffff81661f66>] ? _raw_spin_lock_bh+0x16/0x40
75204 [37598.994008] [<ffffffff8161548d>] udpv6_sendmsg+0x1ed/0xc10
75205 [37598.994008] [<ffffffff812a2845>] ? sock_has_perm+0x75/0x90
75206 [37598.994008] [<ffffffff815c3693>] inet_sendmsg+0x63/0xb0
75207 [37598.994008] [<ffffffff812a2973>] ? selinux_socket_sendmsg+0x23/0x30
75208 [37598.994008] [<ffffffff8153a450>] sock_sendmsg+0xb0/0xe0
75209 [37598.994008] [<ffffffff810135d1>] ? __switch_to+0x181/0x4a0
75210 [37598.994008] [<ffffffff8153d97d>] sys_sendto+0x12d/0x180
75211 [37598.994008] [<ffffffff810dfb64>] ? __audit_syscall_entry+0x94/0xf0
75212 [37598.994008] [<ffffffff81020ed1>] ? syscall_trace_enter+0x231/0x240
75213 [37598.994008] [<ffffffff8166a7e7>] tracesys+0xdd/0xe2
75214 [37598.994008] Code: fe 07 00 00 48 c7 c7 04 28 a6 81 89 45 a0 4c 89 4d b8 44 89 5d a8 e8 1b ac b1 ff 44 8b 5d a8 4c 8b 4d b8 8b 45 a0 e9 cf fe ff ff <0f> 0b 66 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48 89 e5 48
75215 [37598.994008] RIP [<ffffffff815443a5>] skb_copy_and_csum_bits+0x325/0x330
75216 [37598.994008] RSP <ffff88003670da18>
75217 [37599.007323] ---[ end trace d69f6a17f8ac8eee ]---
75218
75219 While there, also check if path mtu discovery is activated for this
75220 socket. The logic was adapted from ip6_append_data when first writing
75221 on the corked socket.
75222
75223 This bug was introduced with commit
75224 0c1833797a5a6ec23ea9261d979aa18078720b74 ("ipv6: fix incorrect ipsec
75225 fragment").
75226
75227 v2:
75228 a) Replace IPV6_PMTU_DISC_DO with IPV6_PMTUDISC_PROBE.
75229 b) Don't pass ipv6_pinfo to ip6_append_data_mtu (suggestion by Gao
75230 feng, thanks!).
75231 c) Change mtu to unsigned int, else we get a warning about
75232 non-matching types because of the min()-macro type-check.
75233
75234 Acked-by: Gao feng <gaofeng@cn.fujitsu.com>
75235 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
75236 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
75237 Signed-off-by: David S. Miller <davem@davemloft.net>
75238
75239 net/ipv6/ip6_output.c | 16 ++++++++++------
75240 1 files changed, 10 insertions(+), 6 deletions(-)
75241
75242 commit 23151ca7ca80e58d2616dac7be9fd62943c9a72c
75243 Author: Michael S. Tsirkin <mst@redhat.com>
75244 Date: Sun Jul 7 14:26:53 2013 +0300
75245
75246 Upstream commit: dd7633ecd553a5e304d349aa6f8eb8a0417098c5
75247
75248 vhost-net: fix use-after-free in vhost_net_flush
75249
75250 vhost_net_ubuf_put_and_wait has a confusing name:
75251 it will actually also free it's argument.
75252 Thus since commit 1280c27f8e29acf4af2da914e80ec27c3dbd5c01
75253 "vhost-net: flush outstanding DMAs on memory change"
75254 vhost_net_flush tries to use the argument after passing it
75255 to vhost_net_ubuf_put_and_wait, this results
75256 in use after free.
75257 To fix, don't free the argument in vhost_net_ubuf_put_and_wait,
75258 add an new API for callers that want to free ubufs.
75259
75260 Acked-by: Asias He <asias@redhat.com>
75261 Acked-by: Jason Wang <jasowang@redhat.com>
75262 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
75263 Signed-off-by: David S. Miller <davem@davemloft.net>
75264
75265 drivers/vhost/net.c | 9 +++++++--
75266 1 files changed, 7 insertions(+), 2 deletions(-)
75267
75268 commit 088806db74ac2f08c106202bc5498585a9ee529f
75269 Author: Michal Hocko <mhocko@suse.cz>
75270 Date: Mon Jul 8 16:00:29 2013 -0700
75271
75272 Upstream commit: f37a96914d1aea10fed8d9af10251f0b9caea31b
75273
75274 memcg, kmem: fix reference count handling on the error path
75275
75276 mem_cgroup_css_online calls mem_cgroup_put if memcg_init_kmem fails.
75277 This is not correct because only memcg_propagate_kmem takes an
75278 additional reference while mem_cgroup_sockets_init is allowed to fail as
75279 well (although no current implementation fails) but it doesn't take any
75280 reference. This all suggests that it should be memcg_propagate_kmem
75281 that should clean up after itself so this patch moves mem_cgroup_put
75282 over there.
75283
75284 Unfortunately this is not that easy (as pointed out by Li Zefan) because
75285 memcg_kmem_mark_dead marks the group dead (KMEM_ACCOUNTED_DEAD) if it is
75286 marked active (KMEM_ACCOUNTED_ACTIVE) which is the case even if
75287 memcg_propagate_kmem fails so the additional reference is dropped in
75288 that case in kmem_cgroup_destroy which means that the reference would be
75289 dropped two times.
75290
75291 The easiest way then would be to simply remove mem_cgrroup_put from
75292 mem_cgroup_css_online and rely on kmem_cgroup_destroy doing the right
75293 thing.
75294
75295 Signed-off-by: Michal Hocko <mhocko@suse.cz>
75296 Signed-off-by: Li Zefan <lizefan@huawei.com>
75297 Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
75298 Cc: Hugh Dickins <hughd@google.com>
75299 Cc: Tejun Heo <tj@kernel.org>
75300 Cc: Glauber Costa <glommer@openvz.org>
75301 Cc: Johannes Weiner <hannes@cmpxchg.org>
75302 Cc: <stable@vger.kernel.org> [3.8]
75303 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
75304 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
75305
75306 mm/memcontrol.c | 8 --------
75307 1 files changed, 0 insertions(+), 8 deletions(-)
75308
75309 commit 08bfb6e700d13886ed722c2236e1ec10f03a95df
75310 Author: Michal Hocko <mhocko@suse.cz>
75311 Date: Mon Jul 8 16:00:27 2013 -0700
75312
75313 Upstream commit: fa460c2d37870e0a6f94c70e8b76d05ca11b6db0
75314
75315 Revert "memcg: avoid dangling reference count in creation failure"
75316
75317 This reverts commit e4715f01be697a.
75318
75319 mem_cgroup_put is hierarchy aware so mem_cgroup_put(memcg) already drops
75320 an additional reference from all parents so the additional
75321 mem_cgrroup_put(parent) potentially causes use-after-free.
75322
75323 Signed-off-by: Michal Hocko <mhocko@suse.cz>
75324 Signed-off-by: Li Zefan <lizefan@huawei.com>
75325 Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
75326 Cc: Hugh Dickins <hughd@google.com>
75327 Cc: Tejun Heo <tj@kernel.org>
75328 Cc: Glauber Costa <glommer@openvz.org>
75329 Cc: Johannes Weiner <hannes@cmpxchg.org>
75330 Cc: <stable@vger.kernel.org> [3.9+]
75331 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
75332 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
75333
75334 mm/memcontrol.c | 2 --
75335 1 files changed, 0 insertions(+), 2 deletions(-)
75336
75337 commit 3267ec559f48327a1836eccecd53215afc5810d0
75338 Author: Tyler Hicks <tyhicks@canonical.com>
75339 Date: Thu Jun 20 13:13:59 2013 -0700
75340
75341 Upstream commit: 2cb33cac622afde897aa02d3dcd9fbba8bae839e
75342
75343 libceph: Fix NULL pointer dereference in auth client code
75344
75345 A malicious monitor can craft an auth reply message that could cause a
75346 NULL function pointer dereference in the client's kernel.
75347
75348 To prevent this, the auth_none protocol handler needs an empty
75349 ceph_auth_client_ops->build_request() function.
75350
75351 CVE-2013-1059
75352
75353 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
75354 Reported-by: Chanam Park <chanam.park@hkpco.kr>
75355 Reviewed-by: Seth Arnold <seth.arnold@canonical.com>
75356 Reviewed-by: Sage Weil <sage@inktank.com>
75357 Cc: stable@vger.kernel.org
75358
75359 net/ceph/auth_none.c | 6 ++++++
75360 1 files changed, 6 insertions(+), 0 deletions(-)
75361
75362 commit cdfeb4049e7cb38702215b2c356ce0407974ac79
75363 Author: Eric Paris <eparis@redhat.com>
75364 Date: Wed Jul 3 15:08:29 2013 -0700
75365
75366 Upstream commit: b57922b6c76c3ee401bb32fd3f298409dd6e6a53
75367
75368 fork: reorder permissions when violating number of processes limits
75369
75370 When a task is attempting to violate the RLIMIT_NPROC limit we have a
75371 check to see if the task is sufficiently priviledged. The check first
75372 looks at CAP_SYS_ADMIN, then CAP_SYS_RESOURCE, then if the task is uid=0.
75373
75374 A result is that tasks which are allowed by the uid=0 check are first
75375 checked against the security subsystem. This results in the security
75376 subsystem auditting a denial for sys_admin and sys_resource and then the
75377 task passing the uid=0 check.
75378
75379 This patch rearranges the code to first check uid=0, since if we pass that
75380 we shouldn't hit the security system at all. We then check sys_resource,
75381 since it is the smallest capability which will solve the problem. Lastly
75382 we check the fallback everything cap_sysadmin. We don't want to give this
75383 capability many places since it is so powerful.
75384
75385 This will eliminate many of the false positive/needless denial messages we
75386 get when a root task tries to violate the nproc limit. (note that
75387 kthreads count against root, so on a sufficiently large machine we can
75388 actually get past the default limits before any userspace tasks are
75389 launched.)
75390
75391 Signed-off-by: Eric Paris <eparis@redhat.com>
75392 Cc: Al Viro <viro@zeniv.linux.org.uk>
75393 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
75394 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
75395
75396 kernel/fork.c | 4 ++--
75397 1 files changed, 2 insertions(+), 2 deletions(-)
75398
75399 commit 08c87e049c8a50707908785d950fd48c334f4c09
75400 Author: Chen Gang <gang.chen@asianux.com>
75401 Date: Sat Jun 22 13:26:09 2013 +0800
75402
75403 Upstream commit: f118e9abddfae94d7ef88858159d7556e1c2f7f6
75404
75405 arch: sparc: kernel: check the memory length before use strcpy().
75406
75407 For the related next strcpy(), the destination length is less than 512,
75408 but the source maximize length may be 'OPROMMAXPARAM' (4096) which is
75409 more than 512.
75410
75411 One work flow may:
75412 openprom_sunos_ioctl() -> if (cmd == OPROMSETOPT)
75413 getstrings() -> will alloc buffer with size 'OPROMMAXPARAM'.
75414 opromsetopt() -> devide the buffer into 'var' and 'value'
75415 of_set_property() -> pass
75416 prom_setprop() -> pass
75417 ldom_set_var()
75418
75419 And do not mind the additional 4 alignment buffer increasing, since
75420 'sizeof(pkt) - sizeof(pkt.header)' is 4 alignment at least.
75421
75422 Signed-off-by: Chen Gang <gang.chen@asianux.com>
75423 Signed-off-by: David S. Miller <davem@davemloft.net>
75424
75425 arch/sparc/kernel/ds.c | 10 ++++++++++
75426 1 files changed, 10 insertions(+), 0 deletions(-)
75427
75428 commit 0f5d7e1171c65a8d4e9186b3656e1206121efb13
75429 Author: Brad Spengler <spender@grsecurity.net>
75430 Date: Fri Jul 12 20:38:45 2013 -0400
75431
75432 Fix SLAB boot errors due to PAX_USERCOPY reported on the forums
75433
75434 Unlike slub, slab can initally create two of the kmalloc_caches
75435 which will be used later for generic kmallocs of their particular
75436 aligned size (since the later loop in the unified allocator code
75437 skips any already-existing kmalloc_caches)
75438
75439 mm/slab.c | 4 ++--
75440 1 files changed, 2 insertions(+), 2 deletions(-)
75441
75442 commit 7afc9d07a4c0a676aa5c4ac2b30882f60be6bae3
75443 Author: Brad Spengler <spender@grsecurity.net>
75444 Date: Tue Jul 9 22:04:59 2013 -0400
75445
75446 compile fixes
75447
75448 fs/exec.c | 2 +-
75449 mm/mmap.c | 4 ++--
75450 2 files changed, 3 insertions(+), 3 deletions(-)
75451
75452 commit e2d027c7e0f106be683c0c72482b8285daefcbe6
75453 Author: Brad Spengler <spender@grsecurity.net>
75454 Date: Tue Jul 9 20:58:40 2013 -0400
75455
75456 commit successful merges
75457
75458 Documentation/kernel-parameters.txt | 4 +
75459 Makefile | 8 +-
75460 arch/alpha/include/asm/cache.h | 4 +-
75461 arch/alpha/kernel/osf_sys.c | 12 +-
75462 arch/arm/include/asm/thread_info.h | 3 +-
75463 arch/arm/kernel/ptrace.c | 9 +
75464 arch/arm/kernel/traps.c | 7 +-
75465 arch/arm/mm/fault.c | 29 +-
75466 arch/arm/mm/mmap.c | 8 +-
75467 arch/avr32/include/asm/cache.h | 4 +-
75468 arch/blackfin/include/asm/cache.h | 3 +-
75469 arch/cris/include/arch-v10/arch/cache.h | 3 +-
75470 arch/cris/include/arch-v32/arch/cache.h | 3 +-
75471 arch/frv/include/asm/cache.h | 3 +-
75472 arch/frv/mm/elf-fdpic.c | 4 +-
75473 arch/hexagon/include/asm/cache.h | 6 +-
75474 arch/ia64/include/asm/cache.h | 3 +-
75475 arch/ia64/kernel/sys_ia64.c | 2 +
75476 arch/ia64/mm/hugetlbpage.c | 2 +
75477 arch/m32r/include/asm/cache.h | 4 +-
75478 arch/m68k/include/asm/cache.h | 4 +-
75479 arch/metag/mm/hugetlbpage.c | 1 +
75480 arch/microblaze/include/asm/cache.h | 3 +-
75481 arch/mips/include/asm/cache.h | 3 +-
75482 arch/mips/include/asm/thread_info.h | 9 +-
75483 arch/mips/kernel/ptrace.c | 9 +
75484 arch/mips/kernel/scall32-o32.S | 2 +-
75485 arch/mips/kernel/scall64-64.S | 2 +-
75486 arch/mips/kernel/scall64-n32.S | 2 +-
75487 arch/mips/kernel/scall64-o32.S | 2 +-
75488 arch/mips/mm/mmap.c | 4 +-
75489 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
75490 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
75491 arch/openrisc/include/asm/cache.h | 4 +-
75492 arch/parisc/include/asm/cache.h | 5 +-
75493 arch/parisc/kernel/sys_parisc.c | 17 +-
75494 arch/powerpc/include/asm/cache.h | 3 +-
75495 arch/powerpc/kernel/process.c | 10 +-
75496 arch/powerpc/kernel/ptrace.c | 14 +
75497 arch/powerpc/kernel/traps.c | 5 +
75498 arch/s390/include/asm/cache.h | 4 +-
75499 arch/score/include/asm/cache.h | 4 +-
75500 arch/sh/include/asm/cache.h | 3 +-
75501 arch/sh/mm/mmap.c | 6 +-
75502 arch/sparc/include/asm/cache.h | 4 +-
75503 arch/sparc/include/asm/thread_info_64.h | 9 +-
75504 arch/sparc/kernel/process_32.c | 6 +-
75505 arch/sparc/kernel/process_64.c | 4 +-
75506 arch/sparc/kernel/ptrace_64.c | 14 +
75507 arch/sparc/kernel/sys_sparc_64.c | 8 +-
75508 arch/sparc/kernel/syscalls.S | 8 +-
75509 arch/sparc/kernel/traps_32.c | 8 +-
75510 arch/sparc/kernel/traps_64.c | 28 +-
75511 arch/sparc/kernel/unaligned_64.c | 2 +-
75512 arch/sparc/mm/fault_64.c | 2 +-
75513 arch/sparc/mm/hugetlbpage.c | 3 +-
75514 arch/tile/include/asm/cache.h | 3 +-
75515 arch/tile/mm/hugetlbpage.c | 2 +
75516 arch/um/defconfig | 1 -
75517 arch/um/include/asm/cache.h | 3 +-
75518 arch/unicore32/include/asm/cache.h | 6 +-
75519 arch/x86/Kconfig | 5 +-
75520 arch/x86/ia32/ia32_aout.c | 2 +
75521 arch/x86/include/asm/thread_info.h | 8 +-
75522 arch/x86/kernel/dumpstack.c | 8 +
75523 arch/x86/kernel/entry_32.S | 2 +-
75524 arch/x86/kernel/entry_64.S | 2 +-
75525 arch/x86/kernel/ioport.c | 13 +
75526 arch/x86/kernel/ptrace.c | 14 +
75527 arch/x86/kernel/signal.c | 9 +-
75528 arch/x86/kernel/smpboot.c | 3 +
75529 arch/x86/kernel/sys_i386_32.c | 9 +-
75530 arch/x86/kernel/sys_x86_64.c | 8 +-
75531 arch/x86/kernel/verify_cpu.S | 1 +
75532 arch/x86/kernel/vm86_32.c | 1 +
75533 arch/x86/mm/fault.c | 12 +-
75534 arch/x86/mm/hugetlbpage.c | 15 +-
75535 arch/x86/mm/init.c | 66 +-
75536 arch/x86/net/bpf_jit_comp.c | 129 +-
75537 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
75538 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
75539 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
75540 drivers/block/cciss.c | 2 +
75541 drivers/block/cpqarray.c | 1 +
75542 drivers/cdrom/cdrom.c | 4 +-
75543 drivers/char/Kconfig | 4 +-
75544 drivers/char/genrtc.c | 1 +
75545 drivers/char/mem.c | 17 +
75546 drivers/char/mwave/tp3780i.c | 1 +
75547 drivers/char/random.c | 12 +
75548 drivers/gpu/drm/drm_info.c | 4 +
75549 drivers/hid/hid-wiimote-debug.c | 2 +-
75550 drivers/media/radio/radio-cadet.c | 2 +-
75551 drivers/message/fusion/mptbase.c | 9 +
75552 drivers/net/bonding/bond_main.c | 2 +-
75553 drivers/net/phy/mdio-bitbang.c | 1 +
75554 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
75555 drivers/pci/proc.c | 9 +
75556 drivers/rtc/rtc-dev.c | 3 +
75557 drivers/tty/sysrq.c | 2 +-
75558 drivers/tty/vt/keyboard.c | 22 +-
75559 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++++------------
75560 drivers/xen/xenfs/xenstored.c | 5 +
75561 fs/attr.c | 1 +
75562 fs/autofs4/waitq.c | 9 +
75563 fs/binfmt_aout.c | 7 +
75564 fs/binfmt_elf.c | 8 +-
75565 fs/btrfs/ioctl.c | 6 +-
75566 fs/compat.c | 20 +-
75567 fs/coredump.c | 9 +-
75568 fs/debugfs/inode.c | 4 +
75569 fs/exec.c | 184 ++-
75570 fs/ext2/balloc.c | 4 +-
75571 fs/ext3/balloc.c | 4 +-
75572 fs/ext4/resize.c | 17 +-
75573 fs/fcntl.c | 5 +
75574 fs/file.c | 4 +
75575 fs/filesystems.c | 4 +
75576 fs/fs_struct.c | 13 +-
75577 fs/hugetlbfs/inode.c | 5 +-
75578 fs/namei.c | 234 ++-
75579 fs/namespace.c | 16 +
75580 fs/notify/fanotify/fanotify_user.c | 1 +
75581 fs/open.c | 38 +
75582 fs/proc/Kconfig | 10 +-
75583 fs/proc/array.c | 59 +-
75584 fs/proc/base.c | 168 ++-
75585 fs/proc/cmdline.c | 4 +
75586 fs/proc/devices.c | 4 +
75587 fs/proc/fd.c | 17 +-
75588 fs/proc/inode.c | 4 +
75589 fs/proc/kcore.c | 3 +
75590 fs/proc/proc_net.c | 12 +
75591 fs/proc/proc_sysctl.c | 43 +-
75592 fs/proc/root.c | 8 +
75593 fs/proc/task_mmu.c | 75 +-
75594 fs/readdir.c | 19 +
75595 fs/select.c | 2 +
75596 fs/seq_file.c | 12 +-
75597 fs/stat.c | 19 +-
75598 fs/sysfs/dir.c | 12 +
75599 fs/utimes.c | 7 +
75600 fs/xattr.c | 19 +-
75601 include/linux/capability.h | 5 +
75602 include/linux/cred.h | 3 +
75603 include/linux/fs.h | 10 +
75604 include/linux/fsnotify.h | 6 +
75605 include/linux/kallsyms.h | 14 +-
75606 include/linux/kmod.h | 2 +
75607 include/linux/mm.h | 1 +
75608 include/linux/perf_event.h | 13 +-
75609 include/linux/printk.h | 3 +-
75610 include/linux/sched.h | 24 +-
75611 include/linux/security.h | 1 +
75612 include/linux/seq_file.h | 3 +
75613 include/linux/shm.h | 4 +
75614 include/linux/skbuff.h | 3 +
75615 include/linux/slab.h | 9 -
75616 include/linux/sysctl.h | 2 +
75617 include/linux/thread_info.h | 2 +
75618 include/linux/uidgid.h | 5 +
75619 include/linux/vermagic.h | 9 +-
75620 include/uapi/linux/personality.h | 1 +
75621 init/Kconfig | 3 +-
75622 init/main.c | 14 +
75623 ipc/mqueue.c | 1 +
75624 ipc/shm.c | 28 +
75625 kernel/capability.c | 39 +-
75626 kernel/cgroup.c | 2 +-
75627 kernel/compat.c | 1 +
75628 kernel/configs.c | 11 +
75629 kernel/cred.c | 110 +-
75630 kernel/events/core.c | 14 +-
75631 kernel/exit.c | 10 +-
75632 kernel/fork.c | 41 +-
75633 kernel/futex.c | 1 +
75634 kernel/kallsyms.c | 9 +
75635 kernel/kcmp.c | 4 +
75636 kernel/kmod.c | 64 +-
75637 kernel/kprobes.c | 4 +-
75638 kernel/ksysfs.c | 2 +
75639 kernel/lockdep_proc.c | 10 +-
75640 kernel/module.c | 81 +-
75641 kernel/panic.c | 2 +-
75642 kernel/pid.c | 19 +-
75643 kernel/posix-timers.c | 7 +
75644 kernel/printk.c | 5 +
75645 kernel/ptrace.c | 20 +-
75646 kernel/resource.c | 10 +
75647 kernel/sched/core.c | 6 +-
75648 kernel/signal.c | 37 +-
75649 kernel/sys.c | 45 +-
75650 kernel/sysctl.c | 70 +-
75651 kernel/taskstats.c | 6 +
75652 kernel/time.c | 5 +
75653 kernel/time/timekeeping.c | 1 +
75654 kernel/time/timer_list.c | 12 +
75655 kernel/time/timer_stats.c | 10 +-
75656 lib/Kconfig.debug | 5 +-
75657 lib/is_single_threaded.c | 3 +
75658 mm/Kconfig | 4 +-
75659 mm/filemap.c | 1 +
75660 mm/kmemleak.c | 4 +-
75661 mm/mempolicy.c | 12 +-
75662 mm/migrate.c | 3 +-
75663 mm/mlock.c | 3 +
75664 mm/mmap.c | 63 +-
75665 mm/mprotect.c | 8 +
75666 mm/process_vm_access.c | 6 +
75667 mm/slab.c | 2 +-
75668 mm/slub.c | 14 +-
75669 mm/vmalloc.c | 4 +
75670 mm/vmstat.c | 18 +-
75671 net/core/dev_ioctl.c | 4 +
75672 net/core/sock_diag.c | 7 +
75673 net/ipv4/inet_hashtables.c | 5 +
75674 net/ipv4/ip_sockglue.c | 3 +-
75675 net/ipv4/tcp_input.c | 4 +-
75676 net/ipv4/tcp_ipv4.c | 24 +-
75677 net/ipv4/tcp_minisocks.c | 9 +-
75678 net/ipv4/tcp_timer.c | 11 +
75679 net/ipv4/udp.c | 24 +
75680 net/ipv6/tcp_ipv6.c | 23 +-
75681 net/ipv6/udp.c | 4 +
75682 net/netfilter/Kconfig | 10 +
75683 net/netfilter/Makefile | 1 +
75684 net/netfilter/nf_conntrack_core.c | 8 +
75685 net/netrom/af_netrom.c | 1 -
75686 net/phonet/af_phonet.c | 2 +-
75687 net/sctp/proc.c | 3 +-
75688 net/socket.c | 66 +-
75689 net/sysctl_net.c | 2 +-
75690 net/unix/af_unix.c | 31 +-
75691 security/Kconfig | 343 +++-
75692 security/apparmor/Kconfig | 9 +
75693 security/apparmor/apparmorfs.c | 231 ++
75694 security/commoncap.c | 29 +
75695 security/min_addr.c | 2 +
75696 security/security.c | 2 -
75697 security/selinux/hooks.c | 2 -
75698 security/tomoyo/mount.c | 4 +
75699 security/yama/Kconfig | 2 +-
75700 242 files changed, 4385 insertions(+), 2042 deletions(-)
75701
75702 commit 043a378c0f72ed92cc30182c48abce39867ac93f
75703 Author: Brad Spengler <spender@grsecurity.net>
75704 Date: Tue Jul 9 20:57:40 2013 -0400
75705
75706 Commit merge of new files and rejected patches
75707
75708 arch/arm/include/asm/thread_info.h | 6 +-
75709 arch/arm/kernel/process.c | 4 +-
75710 arch/powerpc/include/asm/thread_info.h | 7 +-
75711 arch/powerpc/mm/slice.c | 2 +-
75712 arch/sparc/kernel/process_64.c | 4 +-
75713 arch/x86/kernel/vm86_32.c | 15 +
75714 fs/coredump.c | 1 +
75715 fs/ext4/balloc.c | 4 +-
75716 fs/namei.c | 7 +
75717 fs/namespace.c | 8 +
75718 fs/pipe.c | 2 +-
75719 fs/proc/inode.c | 13 +
75720 fs/proc/internal.h | 3 +
75721 grsecurity/Kconfig | 1054 +++++++++
75722 grsecurity/Makefile | 38 +
75723 grsecurity/gracl.c | 4073 ++++++++++++++++++++++++++++++++
75724 grsecurity/gracl_alloc.c | 105 +
75725 grsecurity/gracl_cap.c | 110 +
75726 grsecurity/gracl_fs.c | 431 ++++
75727 grsecurity/gracl_ip.c | 387 +++
75728 grsecurity/gracl_learn.c | 207 ++
75729 grsecurity/gracl_res.c | 68 +
75730 grsecurity/gracl_segv.c | 305 +++
75731 grsecurity/gracl_shm.c | 40 +
75732 grsecurity/grsec_chdir.c | 19 +
75733 grsecurity/grsec_chroot.c | 370 +++
75734 grsecurity/grsec_disabled.c | 434 ++++
75735 grsecurity/grsec_exec.c | 187 ++
75736 grsecurity/grsec_fifo.c | 24 +
75737 grsecurity/grsec_fork.c | 23 +
75738 grsecurity/grsec_init.c | 283 +++
75739 grsecurity/grsec_link.c | 58 +
75740 grsecurity/grsec_log.c | 326 +++
75741 grsecurity/grsec_mem.c | 40 +
75742 grsecurity/grsec_mount.c | 62 +
75743 grsecurity/grsec_pax.c | 36 +
75744 grsecurity/grsec_ptrace.c | 30 +
75745 grsecurity/grsec_sig.c | 246 ++
75746 grsecurity/grsec_sock.c | 244 ++
75747 grsecurity/grsec_sysctl.c | 469 ++++
75748 grsecurity/grsec_time.c | 16 +
75749 grsecurity/grsec_tpe.c | 73 +
75750 grsecurity/grsum.c | 61 +
75751 include/linux/gracl.h | 319 +++
75752 include/linux/gralloc.h | 9 +
75753 include/linux/grdefs.h | 140 ++
75754 include/linux/grinternal.h | 227 ++
75755 include/linux/grmsg.h | 112 +
75756 include/linux/grsecurity.h | 241 ++
75757 include/linux/grsock.h | 19 +
75758 include/linux/netfilter/xt_gradm.h | 9 +
75759 include/linux/proc_fs.h | 13 +
75760 include/linux/sched.h | 48 +-
75761 include/trace/events/fs.h | 53 +
75762 kernel/kmod.c | 7 +-
75763 kernel/panic.c | 2 +-
75764 kernel/posix-timers.c | 1 +
75765 kernel/time/timekeeping.c | 2 +
75766 lib/Kconfig.debug | 2 +-
75767 lib/vsprintf.c | 31 +
75768 localversion-grsec | 1 +
75769 mm/mmap.c | 13 +-
75770 mm/shmem.c | 2 +-
75771 net/core/net-procfs.c | 5 +
75772 net/ipv6/udp.c | 3 +
75773 net/netfilter/xt_gradm.c | 51 +
75774 66 files changed, 11184 insertions(+), 21 deletions(-)
75775
75776 commit 75a36f058b5abbc82f9b94ba5576eef4b40cd5d6
75777 Author: Brad Spengler <spender@grsecurity.net>
75778 Date: Tue Jul 9 17:35:47 2013 -0400
75779
75780 Initial import of pax-linux-3.10-test1.patch
75781
75782 Documentation/dontdiff | 46 +-
75783 Documentation/kernel-parameters.txt | 12 +
75784 Makefile | 100 +-
75785 arch/alpha/include/asm/atomic.h | 10 +
75786 arch/alpha/include/asm/elf.h | 7 +
75787 arch/alpha/include/asm/pgalloc.h | 6 +
75788 arch/alpha/include/asm/pgtable.h | 11 +
75789 arch/alpha/kernel/module.c | 2 +-
75790 arch/alpha/kernel/osf_sys.c | 8 +-
75791 arch/alpha/mm/fault.c | 141 +-
75792 arch/arm/Kconfig | 2 +-
75793 arch/arm/include/asm/atomic.h | 444 ++-
75794 arch/arm/include/asm/cache.h | 5 +-
75795 arch/arm/include/asm/cacheflush.h | 2 +-
75796 arch/arm/include/asm/checksum.h | 14 +-
75797 arch/arm/include/asm/cmpxchg.h | 2 +
75798 arch/arm/include/asm/domain.h | 33 +-
75799 arch/arm/include/asm/elf.h | 13 +-
75800 arch/arm/include/asm/fncpy.h | 2 +
75801 arch/arm/include/asm/futex.h | 10 +
75802 arch/arm/include/asm/kmap_types.h | 2 +-
75803 arch/arm/include/asm/mach/dma.h | 2 +-
75804 arch/arm/include/asm/mach/map.h | 7 +-
75805 arch/arm/include/asm/outercache.h | 2 +-
75806 arch/arm/include/asm/page.h | 2 +-
75807 arch/arm/include/asm/pgalloc.h | 22 +-
75808 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
75809 arch/arm/include/asm/pgtable-2level.h | 1 +
75810 arch/arm/include/asm/pgtable-3level-hwdef.h | 2 +
75811 arch/arm/include/asm/pgtable-3level.h | 2 +
75812 arch/arm/include/asm/pgtable.h | 56 +-
75813 arch/arm/include/asm/proc-fns.h | 2 +-
75814 arch/arm/include/asm/processor.h | 5 +-
75815 arch/arm/include/asm/psci.h | 2 +-
75816 arch/arm/include/asm/smp.h | 2 +-
75817 arch/arm/include/asm/thread_info.h | 6 +-
75818 arch/arm/include/asm/uaccess.h | 92 +-
75819 arch/arm/include/uapi/asm/ptrace.h | 2 +-
75820 arch/arm/kernel/armksyms.c | 8 +-
75821 arch/arm/kernel/entry-armv.S | 107 +-
75822 arch/arm/kernel/entry-common.S | 41 +-
75823 arch/arm/kernel/entry-header.S | 60 +
75824 arch/arm/kernel/fiq.c | 2 +
75825 arch/arm/kernel/head.S | 6 +-
75826 arch/arm/kernel/hw_breakpoint.c | 2 +-
75827 arch/arm/kernel/module.c | 29 +-
75828 arch/arm/kernel/patch.c | 2 +
75829 arch/arm/kernel/perf_event_cpu.c | 2 +-
75830 arch/arm/kernel/process.c | 14 +-
75831 arch/arm/kernel/psci.c | 2 +-
75832 arch/arm/kernel/setup.c | 22 +-
75833 arch/arm/kernel/signal.c | 24 +-
75834 arch/arm/kernel/smp.c | 2 +-
75835 arch/arm/kernel/traps.c | 15 +-
75836 arch/arm/kernel/vmlinux.lds.S | 22 +-
75837 arch/arm/lib/clear_user.S | 6 +-
75838 arch/arm/lib/copy_from_user.S | 6 +-
75839 arch/arm/lib/copy_page.S | 1 +
75840 arch/arm/lib/copy_to_user.S | 6 +-
75841 arch/arm/lib/csumpartialcopyuser.S | 4 +-
75842 arch/arm/lib/delay.c | 2 +-
75843 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
75844 arch/arm/mach-kirkwood/common.c | 19 +-
75845 arch/arm/mach-omap2/board-n8x0.c | 2 +-
75846 arch/arm/mach-omap2/gpmc.c | 22 +-
75847 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
75848 arch/arm/mach-omap2/omap_device.c | 4 +-
75849 arch/arm/mach-omap2/omap_device.h | 4 +-
75850 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
75851 arch/arm/mach-omap2/wd_timer.c | 6 +-
75852 arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +-
75853 arch/arm/mach-ux500/setup.h | 7 -
75854 arch/arm/mm/Kconfig | 3 +-
75855 arch/arm/mm/alignment.c | 8 +
75856 arch/arm/mm/fault.c | 91 +
75857 arch/arm/mm/fault.h | 12 +
75858 arch/arm/mm/init.c | 41 +
75859 arch/arm/mm/ioremap.c | 4 +-
75860 arch/arm/mm/mmap.c | 30 +-
75861 arch/arm/mm/mmu.c | 187 +-
75862 arch/arm/mm/proc-v7-2level.S | 3 +
75863 arch/arm/plat-omap/sram.c | 2 +
75864 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
75865 arch/arm64/kernel/debug-monitors.c | 2 +-
75866 arch/arm64/kernel/hw_breakpoint.c | 2 +-
75867 arch/avr32/include/asm/elf.h | 8 +-
75868 arch/avr32/include/asm/kmap_types.h | 4 +-
75869 arch/avr32/mm/fault.c | 27 +
75870 arch/frv/include/asm/atomic.h | 10 +
75871 arch/frv/include/asm/kmap_types.h | 2 +-
75872 arch/frv/mm/elf-fdpic.c | 3 +-
75873 arch/ia64/include/asm/atomic.h | 10 +
75874 arch/ia64/include/asm/elf.h | 7 +
75875 arch/ia64/include/asm/pgalloc.h | 12 +
75876 arch/ia64/include/asm/pgtable.h | 13 +-
75877 arch/ia64/include/asm/spinlock.h | 2 +-
75878 arch/ia64/include/asm/uaccess.h | 26 +-
75879 arch/ia64/kernel/err_inject.c | 2 +-
75880 arch/ia64/kernel/mca.c | 2 +-
75881 arch/ia64/kernel/module.c | 48 +-
75882 arch/ia64/kernel/palinfo.c | 2 +-
75883 arch/ia64/kernel/salinfo.c | 2 +-
75884 arch/ia64/kernel/sys_ia64.c | 7 +
75885 arch/ia64/kernel/topology.c | 2 +-
75886 arch/ia64/kernel/vmlinux.lds.S | 2 +-
75887 arch/ia64/mm/fault.c | 32 +-
75888 arch/ia64/mm/init.c | 13 +
75889 arch/m32r/lib/usercopy.c | 6 +
75890 arch/mips/include/asm/atomic.h | 14 +
75891 arch/mips/include/asm/elf.h | 11 +-
75892 arch/mips/include/asm/exec.h | 2 +-
75893 arch/mips/include/asm/page.h | 2 +-
75894 arch/mips/include/asm/pgalloc.h | 5 +
75895 arch/mips/kernel/binfmt_elfn32.c | 7 +
75896 arch/mips/kernel/binfmt_elfo32.c | 7 +
75897 arch/mips/kernel/process.c | 12 -
75898 arch/mips/mm/fault.c | 17 +
75899 arch/mips/mm/mmap.c | 51 +-
75900 arch/parisc/include/asm/atomic.h | 10 +
75901 arch/parisc/include/asm/elf.h | 7 +
75902 arch/parisc/include/asm/pgalloc.h | 6 +
75903 arch/parisc/include/asm/pgtable.h | 11 +
75904 arch/parisc/include/asm/uaccess.h | 4 +-
75905 arch/parisc/kernel/module.c | 50 +-
75906 arch/parisc/kernel/sys_parisc.c | 9 +-
75907 arch/parisc/kernel/traps.c | 4 +-
75908 arch/parisc/mm/fault.c | 140 +-
75909 arch/powerpc/include/asm/atomic.h | 10 +
75910 arch/powerpc/include/asm/elf.h | 19 +-
75911 arch/powerpc/include/asm/exec.h | 2 +-
75912 arch/powerpc/include/asm/kmap_types.h | 2 +-
75913 arch/powerpc/include/asm/mman.h | 2 +-
75914 arch/powerpc/include/asm/page.h | 8 +-
75915 arch/powerpc/include/asm/page_64.h | 7 +-
75916 arch/powerpc/include/asm/pgalloc-64.h | 7 +
75917 arch/powerpc/include/asm/pgtable.h | 1 +
75918 arch/powerpc/include/asm/pte-hash32.h | 1 +
75919 arch/powerpc/include/asm/reg.h | 1 +
75920 arch/powerpc/include/asm/smp.h | 2 +-
75921 arch/powerpc/include/asm/uaccess.h | 140 +-
75922 arch/powerpc/kernel/exceptions-64e.S | 4 +-
75923 arch/powerpc/kernel/exceptions-64s.S | 2 +-
75924 arch/powerpc/kernel/module_32.c | 13 +-
75925 arch/powerpc/kernel/process.c | 55 -
75926 arch/powerpc/kernel/signal_32.c | 2 +-
75927 arch/powerpc/kernel/signal_64.c | 2 +-
75928 arch/powerpc/kernel/sysfs.c | 2 +-
75929 arch/powerpc/kernel/vdso.c | 5 +-
75930 arch/powerpc/lib/usercopy_64.c | 18 -
75931 arch/powerpc/mm/fault.c | 54 +-
75932 arch/powerpc/mm/mmap_64.c | 16 +
75933 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
75934 arch/powerpc/mm/numa.c | 2 +-
75935 arch/powerpc/mm/slice.c | 13 +-
75936 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
75937 arch/powerpc/platforms/powermac/smp.c | 2 +-
75938 arch/s390/include/asm/atomic.h | 10 +
75939 arch/s390/include/asm/elf.h | 13 +-
75940 arch/s390/include/asm/exec.h | 2 +-
75941 arch/s390/include/asm/uaccess.h | 15 +-
75942 arch/s390/kernel/module.c | 22 +-
75943 arch/s390/kernel/process.c | 36 -
75944 arch/s390/mm/mmap.c | 24 +
75945 arch/score/include/asm/exec.h | 2 +-
75946 arch/score/kernel/process.c | 5 -
75947 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
75948 arch/sh/mm/mmap.c | 22 +-
75949 arch/sparc/include/asm/atomic_64.h | 106 +-
75950 arch/sparc/include/asm/cache.h | 2 +-
75951 arch/sparc/include/asm/elf_32.h | 7 +
75952 arch/sparc/include/asm/elf_64.h | 7 +
75953 arch/sparc/include/asm/pgalloc_32.h | 1 +
75954 arch/sparc/include/asm/pgalloc_64.h | 1 +
75955 arch/sparc/include/asm/pgtable_32.h | 15 +-
75956 arch/sparc/include/asm/pgtsrmmu.h | 5 +
75957 arch/sparc/include/asm/spinlock_64.h | 35 +-
75958 arch/sparc/include/asm/thread_info_32.h | 2 +
75959 arch/sparc/include/asm/thread_info_64.h | 2 +
75960 arch/sparc/include/asm/uaccess.h | 1 +
75961 arch/sparc/include/asm/uaccess_32.h | 27 +-
75962 arch/sparc/include/asm/uaccess_64.h | 19 +-
75963 arch/sparc/kernel/Makefile | 2 +-
75964 arch/sparc/kernel/prom_common.c | 2 +-
75965 arch/sparc/kernel/sys_sparc_32.c | 2 +-
75966 arch/sparc/kernel/sys_sparc_64.c | 48 +-
75967 arch/sparc/kernel/sysfs.c | 2 +-
75968 arch/sparc/kernel/traps_64.c | 13 +-
75969 arch/sparc/lib/Makefile | 2 +-
75970 arch/sparc/lib/atomic_64.S | 136 +-
75971 arch/sparc/lib/ksyms.c | 6 +
75972 arch/sparc/mm/Makefile | 2 +-
75973 arch/sparc/mm/fault_32.c | 292 +
75974 arch/sparc/mm/fault_64.c | 486 ++
75975 arch/sparc/mm/hugetlbpage.c | 21 +-
75976 arch/tile/include/asm/atomic_64.h | 10 +
75977 arch/tile/include/asm/uaccess.h | 4 +-
75978 arch/um/Makefile | 4 +
75979 arch/um/include/asm/kmap_types.h | 2 +-
75980 arch/um/include/asm/page.h | 3 +
75981 arch/um/include/asm/pgtable-3level.h | 1 +
75982 arch/um/kernel/process.c | 16 -
75983 arch/x86/Kconfig | 10 +-
75984 arch/x86/Kconfig.cpu | 6 +-
75985 arch/x86/Kconfig.debug | 4 +-
75986 arch/x86/Makefile | 10 +
75987 arch/x86/boot/Makefile | 3 +
75988 arch/x86/boot/bitops.h | 4 +-
75989 arch/x86/boot/boot.h | 4 +-
75990 arch/x86/boot/compressed/Makefile | 3 +
75991 arch/x86/boot/compressed/eboot.c | 2 -
75992 arch/x86/boot/compressed/efi_stub_32.S | 16 +-
75993 arch/x86/boot/compressed/head_32.S | 7 +-
75994 arch/x86/boot/compressed/head_64.S | 8 +-
75995 arch/x86/boot/compressed/misc.c | 4 +-
75996 arch/x86/boot/cpucheck.c | 28 +-
75997 arch/x86/boot/header.S | 6 +-
75998 arch/x86/boot/memory.c | 2 +-
75999 arch/x86/boot/video-vesa.c | 1 +
76000 arch/x86/boot/video.c | 2 +-
76001 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
76002 arch/x86/crypto/aesni-intel_asm.S | 22 +
76003 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
76004 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
76005 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
76006 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 9 +
76007 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
76008 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 +
76009 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
76010 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
76011 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 9 +
76012 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
76013 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
76014 arch/x86/ia32/ia32_signal.c | 14 +-
76015 arch/x86/ia32/ia32entry.S | 141 +-
76016 arch/x86/ia32/sys_ia32.c | 4 +-
76017 arch/x86/include/asm/alternative-asm.h | 39 +
76018 arch/x86/include/asm/alternative.h | 4 +-
76019 arch/x86/include/asm/apic.h | 2 +-
76020 arch/x86/include/asm/apm.h | 4 +-
76021 arch/x86/include/asm/atomic.h | 307 +-
76022 arch/x86/include/asm/atomic64_32.h | 100 +
76023 arch/x86/include/asm/atomic64_64.h | 202 +-
76024 arch/x86/include/asm/bitops.h | 4 +-
76025 arch/x86/include/asm/boot.h | 7 +-
76026 arch/x86/include/asm/cache.h | 5 +-
76027 arch/x86/include/asm/cacheflush.h | 2 +-
76028 arch/x86/include/asm/checksum_32.h | 12 +-
76029 arch/x86/include/asm/cmpxchg.h | 35 +
76030 arch/x86/include/asm/compat.h | 2 +-
76031 arch/x86/include/asm/cpufeature.h | 4 +-
76032 arch/x86/include/asm/desc.h | 67 +-
76033 arch/x86/include/asm/desc_defs.h | 6 +
76034 arch/x86/include/asm/div64.h | 2 +-
76035 arch/x86/include/asm/elf.h | 31 +-
76036 arch/x86/include/asm/emergency-restart.h | 2 +-
76037 arch/x86/include/asm/fpu-internal.h | 6 +-
76038 arch/x86/include/asm/futex.h | 16 +-
76039 arch/x86/include/asm/hw_irq.h | 4 +-
76040 arch/x86/include/asm/i8259.h | 2 +-
76041 arch/x86/include/asm/io.h | 21 +-
76042 arch/x86/include/asm/irqflags.h | 5 +
76043 arch/x86/include/asm/kprobes.h | 9 +-
76044 arch/x86/include/asm/local.h | 142 +-
76045 arch/x86/include/asm/mman.h | 15 +
76046 arch/x86/include/asm/mmu.h | 16 +-
76047 arch/x86/include/asm/mmu_context.h | 76 +-
76048 arch/x86/include/asm/module.h | 17 +-
76049 arch/x86/include/asm/nmi.h | 6 +-
76050 arch/x86/include/asm/page.h | 1 +
76051 arch/x86/include/asm/page_64.h | 4 +-
76052 arch/x86/include/asm/paravirt.h | 46 +-
76053 arch/x86/include/asm/paravirt_types.h | 17 +-
76054 arch/x86/include/asm/pgalloc.h | 23 +
76055 arch/x86/include/asm/pgtable-2level.h | 2 +
76056 arch/x86/include/asm/pgtable-3level.h | 4 +
76057 arch/x86/include/asm/pgtable.h | 122 +-
76058 arch/x86/include/asm/pgtable_32.h | 14 +-
76059 arch/x86/include/asm/pgtable_32_types.h | 15 +-
76060 arch/x86/include/asm/pgtable_64.h | 19 +-
76061 arch/x86/include/asm/pgtable_64_types.h | 5 +
76062 arch/x86/include/asm/pgtable_types.h | 36 +-
76063 arch/x86/include/asm/processor.h | 39 +-
76064 arch/x86/include/asm/ptrace.h | 26 +-
76065 arch/x86/include/asm/realmode.h | 4 +-
76066 arch/x86/include/asm/reboot.h | 10 +-
76067 arch/x86/include/asm/rwsem.h | 60 +-
76068 arch/x86/include/asm/segment.h | 24 +-
76069 arch/x86/include/asm/smp.h | 14 +-
76070 arch/x86/include/asm/spinlock.h | 36 +-
76071 arch/x86/include/asm/stackprotector.h | 4 +-
76072 arch/x86/include/asm/stacktrace.h | 32 +-
76073 arch/x86/include/asm/switch_to.h | 4 +-
76074 arch/x86/include/asm/thread_info.h | 83 +-
76075 arch/x86/include/asm/uaccess.h | 96 +-
76076 arch/x86/include/asm/uaccess_32.h | 106 +-
76077 arch/x86/include/asm/uaccess_64.h | 232 +-
76078 arch/x86/include/asm/word-at-a-time.h | 2 +-
76079 arch/x86/include/asm/x86_init.h | 10 +-
76080 arch/x86/include/asm/xsave.h | 10 +-
76081 arch/x86/include/uapi/asm/e820.h | 2 +-
76082 arch/x86/kernel/Makefile | 2 +-
76083 arch/x86/kernel/acpi/boot.c | 4 +-
76084 arch/x86/kernel/acpi/sleep.c | 4 +
76085 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
76086 arch/x86/kernel/alternative.c | 65 +-
76087 arch/x86/kernel/apic/apic.c | 4 +-
76088 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
76089 arch/x86/kernel/apic/apic_noop.c | 2 +-
76090 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
76091 arch/x86/kernel/apic/es7000_32.c | 5 +-
76092 arch/x86/kernel/apic/io_apic.c | 8 +-
76093 arch/x86/kernel/apic/numaq_32.c | 3 +-
76094 arch/x86/kernel/apic/probe_32.c | 2 +-
76095 arch/x86/kernel/apic/summit_32.c | 2 +-
76096 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
76097 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
76098 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
76099 arch/x86/kernel/apm_32.c | 19 +-
76100 arch/x86/kernel/asm-offsets.c | 20 +
76101 arch/x86/kernel/asm-offsets_64.c | 1 +
76102 arch/x86/kernel/cpu/Makefile | 4 -
76103 arch/x86/kernel/cpu/amd.c | 2 +-
76104 arch/x86/kernel/cpu/common.c | 75 +-
76105 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
76106 arch/x86/kernel/cpu/mcheck/mce.c | 33 +-
76107 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
76108 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
76109 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
76110 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
76111 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
76112 arch/x86/kernel/cpu/perf_event.c | 8 +-
76113 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
76114 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 4 +-
76115 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
76116 arch/x86/kernel/cpuid.c | 2 +-
76117 arch/x86/kernel/crash.c | 4 +-
76118 arch/x86/kernel/crash_dump_64.c | 2 +-
76119 arch/x86/kernel/doublefault_32.c | 8 +-
76120 arch/x86/kernel/dumpstack.c | 28 +-
76121 arch/x86/kernel/dumpstack_32.c | 34 +-
76122 arch/x86/kernel/dumpstack_64.c | 61 +-
76123 arch/x86/kernel/e820.c | 4 +-
76124 arch/x86/kernel/early_printk.c | 1 +
76125 arch/x86/kernel/entry_32.S | 354 +-
76126 arch/x86/kernel/entry_64.S | 548 ++-
76127 arch/x86/kernel/ftrace.c | 14 +-
76128 arch/x86/kernel/head64.c | 13 +-
76129 arch/x86/kernel/head_32.S | 237 +-
76130 arch/x86/kernel/head_64.S | 143 +-
76131 arch/x86/kernel/i386_ksyms_32.c | 8 +
76132 arch/x86/kernel/i387.c | 2 +-
76133 arch/x86/kernel/i8259.c | 10 +-
76134 arch/x86/kernel/io_delay.c | 2 +-
76135 arch/x86/kernel/ioport.c | 2 +-
76136 arch/x86/kernel/irq.c | 8 +-
76137 arch/x86/kernel/irq_32.c | 69 +-
76138 arch/x86/kernel/irq_64.c | 2 +-
76139 arch/x86/kernel/kdebugfs.c | 2 +-
76140 arch/x86/kernel/kgdb.c | 25 +-
76141 arch/x86/kernel/kprobes/core.c | 30 +-
76142 arch/x86/kernel/kprobes/opt.c | 16 +-
76143 arch/x86/kernel/kvm.c | 2 +-
76144 arch/x86/kernel/ldt.c | 31 +-
76145 arch/x86/kernel/machine_kexec_32.c | 6 +-
76146 arch/x86/kernel/microcode_core.c | 2 +-
76147 arch/x86/kernel/microcode_intel.c | 4 +-
76148 arch/x86/kernel/module.c | 76 +-
76149 arch/x86/kernel/msr.c | 2 +-
76150 arch/x86/kernel/nmi.c | 19 +-
76151 arch/x86/kernel/nmi_selftest.c | 4 +-
76152 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
76153 arch/x86/kernel/paravirt.c | 43 +-
76154 arch/x86/kernel/pci-calgary_64.c | 2 +-
76155 arch/x86/kernel/pci-iommu_table.c | 2 +-
76156 arch/x86/kernel/pci-swiotlb.c | 2 +-
76157 arch/x86/kernel/process.c | 55 +-
76158 arch/x86/kernel/process_32.c | 29 +-
76159 arch/x86/kernel/process_64.c | 15 +-
76160 arch/x86/kernel/ptrace.c | 25 +-
76161 arch/x86/kernel/pvclock.c | 8 +-
76162 arch/x86/kernel/reboot.c | 44 +-
76163 arch/x86/kernel/relocate_kernel_64.S | 2 +
76164 arch/x86/kernel/setup.c | 21 +-
76165 arch/x86/kernel/setup_percpu.c | 29 +-
76166 arch/x86/kernel/signal.c | 15 +-
76167 arch/x86/kernel/smp.c | 2 +-
76168 arch/x86/kernel/smpboot.c | 15 +-
76169 arch/x86/kernel/step.c | 10 +-
76170 arch/x86/kernel/sys_i386_32.c | 184 +
76171 arch/x86/kernel/sys_x86_64.c | 22 +-
76172 arch/x86/kernel/tboot.c | 14 +-
76173 arch/x86/kernel/time.c | 10 +-
76174 arch/x86/kernel/tls.c | 7 +-
76175 arch/x86/kernel/traps.c | 64 +-
76176 arch/x86/kernel/uprobes.c | 4 +-
76177 arch/x86/kernel/vm86_32.c | 6 +-
76178 arch/x86/kernel/vmlinux.lds.S | 148 +-
76179 arch/x86/kernel/vsyscall_64.c | 12 +-
76180 arch/x86/kernel/x8664_ksyms_64.c | 2 -
76181 arch/x86/kernel/x86_init.c | 8 +-
76182 arch/x86/kernel/xsave.c | 2 +
76183 arch/x86/kvm/cpuid.c | 21 +-
76184 arch/x86/kvm/emulate.c | 4 +-
76185 arch/x86/kvm/lapic.c | 2 +-
76186 arch/x86/kvm/paging_tmpl.h | 2 +-
76187 arch/x86/kvm/svm.c | 8 +
76188 arch/x86/kvm/vmx.c | 61 +-
76189 arch/x86/kvm/x86.c | 8 +-
76190 arch/x86/lguest/boot.c | 3 +-
76191 arch/x86/lib/atomic64_386_32.S | 164 +
76192 arch/x86/lib/atomic64_cx8_32.S | 103 +-
76193 arch/x86/lib/checksum_32.S | 100 +-
76194 arch/x86/lib/clear_page_64.S | 5 +-
76195 arch/x86/lib/cmpxchg16b_emu.S | 2 +
76196 arch/x86/lib/copy_page_64.S | 24 +-
76197 arch/x86/lib/copy_user_64.S | 47 +-
76198 arch/x86/lib/copy_user_nocache_64.S | 20 +-
76199 arch/x86/lib/csum-copy_64.S | 2 +
76200 arch/x86/lib/csum-wrappers_64.c | 4 +-
76201 arch/x86/lib/getuser.S | 70 +-
76202 arch/x86/lib/insn.c | 6 +-
76203 arch/x86/lib/iomap_copy_64.S | 2 +
76204 arch/x86/lib/memcpy_64.S | 18 +-
76205 arch/x86/lib/memmove_64.S | 34 +-
76206 arch/x86/lib/memset_64.S | 7 +-
76207 arch/x86/lib/mmx_32.c | 243 +-
76208 arch/x86/lib/msr-reg.S | 18 +-
76209 arch/x86/lib/putuser.S | 90 +-
76210 arch/x86/lib/rwlock.S | 42 +
76211 arch/x86/lib/rwsem.S | 6 +-
76212 arch/x86/lib/thunk_64.S | 2 +
76213 arch/x86/lib/usercopy_32.c | 363 +-
76214 arch/x86/lib/usercopy_64.c | 13 +-
76215 arch/x86/mm/extable.c | 25 +-
76216 arch/x86/mm/fault.c | 556 ++-
76217 arch/x86/mm/gup.c | 2 +-
76218 arch/x86/mm/highmem_32.c | 4 +
76219 arch/x86/mm/hugetlbpage.c | 30 +-
76220 arch/x86/mm/init.c | 98 +-
76221 arch/x86/mm/init_32.c | 113 +-
76222 arch/x86/mm/init_64.c | 38 +-
76223 arch/x86/mm/iomap_32.c | 4 +
76224 arch/x86/mm/ioremap.c | 15 +-
76225 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
76226 arch/x86/mm/mmap.c | 41 +-
76227 arch/x86/mm/mmio-mod.c | 10 +-
76228 arch/x86/mm/numa.c | 2 +-
76229 arch/x86/mm/pageattr-test.c | 2 +-
76230 arch/x86/mm/pageattr.c | 33 +-
76231 arch/x86/mm/pat.c | 12 +-
76232 arch/x86/mm/pat_rbtree.c | 2 +-
76233 arch/x86/mm/pf_in.c | 10 +-
76234 arch/x86/mm/pgtable.c | 137 +-
76235 arch/x86/mm/pgtable_32.c | 3 +
76236 arch/x86/mm/physaddr.c | 4 +-
76237 arch/x86/mm/setup_nx.c | 7 +
76238 arch/x86/mm/tlb.c | 4 +
76239 arch/x86/net/bpf_jit.S | 14 +
76240 arch/x86/net/bpf_jit_comp.c | 37 +-
76241 arch/x86/oprofile/backtrace.c | 8 +-
76242 arch/x86/oprofile/nmi_int.c | 8 +-
76243 arch/x86/oprofile/op_model_amd.c | 8 +-
76244 arch/x86/oprofile/op_model_ppro.c | 7 +-
76245 arch/x86/oprofile/op_x86_model.h | 2 +-
76246 arch/x86/pci/amd_bus.c | 2 +-
76247 arch/x86/pci/irq.c | 8 +-
76248 arch/x86/pci/mrst.c | 4 +-
76249 arch/x86/pci/pcbios.c | 144 +-
76250 arch/x86/platform/efi/efi_32.c | 24 +
76251 arch/x86/platform/efi/efi_64.c | 10 +
76252 arch/x86/platform/efi/efi_stub_32.S | 64 +-
76253 arch/x86/platform/efi/efi_stub_64.S | 8 +
76254 arch/x86/platform/mrst/mrst.c | 6 +-
76255 arch/x86/platform/olpc/olpc_dt.c | 2 +-
76256 arch/x86/power/cpu.c | 11 +-
76257 arch/x86/realmode/init.c | 10 +-
76258 arch/x86/realmode/rm/Makefile | 3 +
76259 arch/x86/realmode/rm/header.S | 4 +-
76260 arch/x86/realmode/rm/trampoline_32.S | 12 +-
76261 arch/x86/realmode/rm/trampoline_64.S | 2 +-
76262 arch/x86/tools/Makefile | 2 +-
76263 arch/x86/tools/relocs.c | 94 +-
76264 arch/x86/um/tls_32.c | 2 +-
76265 arch/x86/vdso/Makefile | 2 +-
76266 arch/x86/vdso/vdso32-setup.c | 23 +-
76267 arch/x86/vdso/vma.c | 29 +-
76268 arch/x86/xen/enlighten.c | 47 +-
76269 arch/x86/xen/mmu.c | 9 +
76270 arch/x86/xen/smp.c | 18 +-
76271 arch/x86/xen/xen-asm_32.S | 12 +-
76272 arch/x86/xen/xen-head.S | 11 +
76273 arch/x86/xen/xen-ops.h | 2 -
76274 block/blk-iopoll.c | 4 +-
76275 block/blk-map.c | 2 +-
76276 block/blk-softirq.c | 4 +-
76277 block/bsg.c | 12 +-
76278 block/compat_ioctl.c | 2 +-
76279 block/genhd.c | 11 +-
76280 block/partitions/efi.c | 8 +-
76281 block/scsi_ioctl.c | 27 +-
76282 crypto/algapi.c | 2 +-
76283 crypto/cryptd.c | 4 +-
76284 crypto/pcrypt.c | 6 +-
76285 drivers/acpi/apei/apei-internal.h | 2 +-
76286 drivers/acpi/apei/cper.c | 8 +-
76287 drivers/acpi/bgrt.c | 6 +-
76288 drivers/acpi/blacklist.c | 4 +-
76289 drivers/acpi/ec_sys.c | 12 +-
76290 drivers/acpi/processor_idle.c | 2 +-
76291 drivers/acpi/sysfs.c | 4 +-
76292 drivers/ata/libahci.c | 2 +-
76293 drivers/ata/libata-core.c | 8 +-
76294 drivers/ata/pata_arasan_cf.c | 4 +-
76295 drivers/atm/adummy.c | 2 +-
76296 drivers/atm/ambassador.c | 8 +-
76297 drivers/atm/atmtcp.c | 14 +-
76298 drivers/atm/eni.c | 10 +-
76299 drivers/atm/firestream.c | 8 +-
76300 drivers/atm/fore200e.c | 14 +-
76301 drivers/atm/he.c | 18 +-
76302 drivers/atm/horizon.c | 4 +-
76303 drivers/atm/idt77252.c | 36 +-
76304 drivers/atm/iphase.c | 34 +-
76305 drivers/atm/lanai.c | 12 +-
76306 drivers/atm/nicstar.c | 46 +-
76307 drivers/atm/solos-pci.c | 4 +-
76308 drivers/atm/suni.c | 4 +-
76309 drivers/atm/uPD98402.c | 16 +-
76310 drivers/atm/zatm.c | 6 +-
76311 drivers/base/attribute_container.c | 2 +-
76312 drivers/base/bus.c | 4 +-
76313 drivers/base/devtmpfs.c | 8 +-
76314 drivers/base/node.c | 2 +-
76315 drivers/base/power/domain.c | 4 +-
76316 drivers/base/power/sysfs.c | 2 +-
76317 drivers/base/power/wakeup.c | 8 +-
76318 drivers/base/syscore.c | 4 +-
76319 drivers/block/cciss.c | 28 +-
76320 drivers/block/cciss.h | 2 +-
76321 drivers/block/cpqarray.c | 28 +-
76322 drivers/block/cpqarray.h | 2 +-
76323 drivers/block/drbd/drbd_int.h | 6 +-
76324 drivers/block/drbd/drbd_main.c | 8 +-
76325 drivers/block/drbd/drbd_receiver.c | 22 +-
76326 drivers/block/loop.c | 2 +-
76327 drivers/block/nbd.c | 2 +-
76328 drivers/block/pktcdvd.c | 2 +-
76329 drivers/cdrom/cdrom.c | 11 +-
76330 drivers/cdrom/gdrom.c | 1 -
76331 drivers/char/agp/compat_ioctl.c | 2 +-
76332 drivers/char/agp/frontend.c | 4 +-
76333 drivers/char/hpet.c | 2 +-
76334 drivers/char/hw_random/intel-rng.c | 2 +-
76335 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
76336 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
76337 drivers/char/mem.c | 45 +-
76338 drivers/char/nvram.c | 2 +-
76339 drivers/char/pcmcia/synclink_cs.c | 18 +-
76340 drivers/char/random.c | 10 +-
76341 drivers/char/sonypi.c | 9 +-
76342 drivers/char/tpm/tpm_acpi.c | 3 +-
76343 drivers/char/tpm/tpm_eventlog.c | 7 +-
76344 drivers/char/virtio_console.c | 4 +-
76345 drivers/clk/clk-composite.c | 2 +-
76346 drivers/clocksource/arm_arch_timer.c | 2 +-
76347 drivers/clocksource/metag_generic.c | 2 +-
76348 drivers/cpufreq/acpi-cpufreq.c | 20 +-
76349 drivers/cpufreq/cpufreq.c | 9 +-
76350 drivers/cpufreq/cpufreq_governor.c | 6 +-
76351 drivers/cpufreq/cpufreq_governor.h | 2 +-
76352 drivers/cpufreq/cpufreq_ondemand.c | 8 +-
76353 drivers/cpufreq/cpufreq_stats.c | 2 +-
76354 drivers/cpufreq/p4-clockmod.c | 12 +-
76355 drivers/cpufreq/sparc-us3-cpufreq.c | 69 +-
76356 drivers/cpufreq/speedstep-centrino.c | 7 +-
76357 drivers/cpuidle/cpuidle.c | 2 +-
76358 drivers/cpuidle/governor.c | 4 +-
76359 drivers/cpuidle/sysfs.c | 2 +-
76360 drivers/devfreq/devfreq.c | 6 +-
76361 drivers/dma/sh/shdma.c | 2 +-
76362 drivers/edac/edac_mc_sysfs.c | 12 +-
76363 drivers/edac/edac_pci_sysfs.c | 22 +-
76364 drivers/edac/mce_amd.h | 2 +-
76365 drivers/firewire/core-card.c | 2 +-
76366 drivers/firewire/core-device.c | 2 +-
76367 drivers/firewire/core-transaction.c | 1 +
76368 drivers/firewire/core.h | 1 +
76369 drivers/firmware/dmi-id.c | 2 +-
76370 drivers/firmware/dmi_scan.c | 7 +-
76371 drivers/firmware/efi/efi.c | 12 +-
76372 drivers/firmware/efi/efivars.c | 2 +-
76373 drivers/firmware/google/memconsole.c | 4 +-
76374 drivers/gpio/gpio-ich.c | 2 +-
76375 drivers/gpio/gpio-vr41xx.c | 2 +-
76376 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
76377 drivers/gpu/drm/drm_drv.c | 6 +-
76378 drivers/gpu/drm/drm_fops.c | 18 +-
76379 drivers/gpu/drm/drm_global.c | 14 +-
76380 drivers/gpu/drm/drm_info.c | 14 +-
76381 drivers/gpu/drm/drm_ioc32.c | 13 +-
76382 drivers/gpu/drm/drm_ioctl.c | 2 +-
76383 drivers/gpu/drm/drm_lock.c | 4 +-
76384 drivers/gpu/drm/drm_stub.c | 2 +-
76385 drivers/gpu/drm/drm_sysfs.c | 2 +-
76386 drivers/gpu/drm/i810/i810_dma.c | 8 +-
76387 drivers/gpu/drm/i810/i810_drv.h | 4 +-
76388 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
76389 drivers/gpu/drm/i915/i915_dma.c | 2 +-
76390 drivers/gpu/drm/i915/i915_drv.h | 4 +-
76391 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +-
76392 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
76393 drivers/gpu/drm/i915/i915_irq.c | 22 +-
76394 drivers/gpu/drm/i915/intel_display.c | 26 +-
76395 drivers/gpu/drm/mga/mga_drv.h | 4 +-
76396 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
76397 drivers/gpu/drm/mga/mga_irq.c | 8 +-
76398 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
76399 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
76400 drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
76401 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
76402 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
76403 drivers/gpu/drm/qxl/qxl_ttm.c | 38 +-
76404 drivers/gpu/drm/r128/r128_cce.c | 2 +-
76405 drivers/gpu/drm/r128/r128_drv.h | 4 +-
76406 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
76407 drivers/gpu/drm/r128/r128_irq.c | 4 +-
76408 drivers/gpu/drm/r128/r128_state.c | 4 +-
76409 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
76410 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
76411 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
76412 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
76413 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
76414 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
76415 drivers/gpu/drm/radeon/radeon_ttm.c | 57 +-
76416 drivers/gpu/drm/radeon/rs690.c | 4 +-
76417 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
76418 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
76419 drivers/gpu/drm/udl/udl_fb.c | 1 -
76420 drivers/gpu/drm/via/via_drv.h | 4 +-
76421 drivers/gpu/drm/via/via_irq.c | 18 +-
76422 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
76423 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
76424 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 +-
76425 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
76426 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
76427 drivers/hid/hid-core.c | 4 +-
76428 drivers/hv/channel.c | 4 +-
76429 drivers/hv/hv.c | 2 +-
76430 drivers/hv/hyperv_vmbus.h | 2 +-
76431 drivers/hv/vmbus_drv.c | 4 +-
76432 drivers/hwmon/acpi_power_meter.c | 4 +-
76433 drivers/hwmon/applesmc.c | 2 +-
76434 drivers/hwmon/asus_atk0110.c | 10 +-
76435 drivers/hwmon/coretemp.c | 2 +-
76436 drivers/hwmon/ibmaem.c | 2 +-
76437 drivers/hwmon/iio_hwmon.c | 2 +-
76438 drivers/hwmon/pmbus/pmbus_core.c | 10 +-
76439 drivers/hwmon/sht15.c | 12 +-
76440 drivers/hwmon/via-cputemp.c | 2 +-
76441 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
76442 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
76443 drivers/i2c/i2c-dev.c | 2 +-
76444 drivers/ide/ide-cd.c | 2 +-
76445 drivers/iio/industrialio-core.c | 2 +-
76446 drivers/infiniband/core/cm.c | 32 +-
76447 drivers/infiniband/core/fmr_pool.c | 20 +-
76448 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
76449 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
76450 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
76451 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
76452 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
76453 drivers/infiniband/hw/nes/nes.c | 4 +-
76454 drivers/infiniband/hw/nes/nes.h | 40 +-
76455 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
76456 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
76457 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
76458 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
76459 drivers/infiniband/hw/qib/qib.h | 1 +
76460 drivers/input/gameport/gameport.c | 4 +-
76461 drivers/input/input.c | 4 +-
76462 drivers/input/joystick/sidewinder.c | 1 +
76463 drivers/input/joystick/xpad.c | 4 +-
76464 drivers/input/mouse/psmouse.h | 2 +-
76465 drivers/input/mousedev.c | 2 +-
76466 drivers/input/serio/serio.c | 4 +-
76467 drivers/iommu/iommu.c | 2 +-
76468 drivers/iommu/irq_remapping.c | 12 +-
76469 drivers/irqchip/irq-gic.c | 4 +-
76470 drivers/isdn/capi/capi.c | 10 +-
76471 drivers/isdn/gigaset/interface.c | 8 +-
76472 drivers/isdn/hardware/avm/b1.c | 4 +-
76473 drivers/isdn/i4l/isdn_tty.c | 22 +-
76474 drivers/isdn/icn/icn.c | 2 +-
76475 drivers/leds/leds-clevo-mail.c | 2 +-
76476 drivers/leds/leds-ss4200.c | 2 +-
76477 drivers/lguest/core.c | 10 +-
76478 drivers/lguest/page_tables.c | 2 +-
76479 drivers/lguest/x86/core.c | 12 +-
76480 drivers/lguest/x86/switcher_32.S | 27 +-
76481 drivers/md/bcache/closure.h | 2 +-
76482 drivers/md/bitmap.c | 2 +-
76483 drivers/md/dm-ioctl.c | 2 +-
76484 drivers/md/dm-raid1.c | 16 +-
76485 drivers/md/dm-stripe.c | 10 +-
76486 drivers/md/dm-table.c | 2 +-
76487 drivers/md/dm-thin-metadata.c | 4 +-
76488 drivers/md/dm.c | 16 +-
76489 drivers/md/md.c | 26 +-
76490 drivers/md/md.h | 6 +-
76491 drivers/md/persistent-data/dm-space-map.h | 1 +
76492 drivers/md/raid1.c | 4 +-
76493 drivers/md/raid10.c | 16 +-
76494 drivers/md/raid5.c | 10 +-
76495 drivers/media/dvb-core/dvbdev.c | 2 +-
76496 drivers/media/dvb-frontends/dib3000.h | 2 +-
76497 drivers/media/pci/cx88/cx88-video.c | 6 +-
76498 drivers/media/platform/omap/omap_vout.c | 11 +-
76499 drivers/media/platform/s5p-tv/mixer.h | 2 +-
76500 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
76501 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
76502 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
76503 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
76504 drivers/media/radio/radio-cadet.c | 2 +
76505 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
76506 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
76507 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +-
76508 drivers/media/v4l2-core/v4l2-ioctl.c | 11 +-
76509 drivers/message/fusion/mptsas.c | 34 +-
76510 drivers/message/fusion/mptscsih.c | 19 +-
76511 drivers/message/i2o/i2o_proc.c | 51 +-
76512 drivers/message/i2o/iop.c | 8 +-
76513 drivers/mfd/janz-cmodio.c | 1 +
76514 drivers/mfd/twl4030-irq.c | 9 +-
76515 drivers/mfd/twl6030-irq.c | 10 +-
76516 drivers/misc/c2port/core.c | 4 +-
76517 drivers/misc/kgdbts.c | 4 +-
76518 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
76519 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
76520 drivers/misc/sgi-gru/gruhandles.c | 4 +-
76521 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
76522 drivers/misc/sgi-gru/grutables.h | 154 +-
76523 drivers/misc/sgi-xp/xp.h | 2 +-
76524 drivers/misc/sgi-xp/xpc.h | 3 +-
76525 drivers/misc/sgi-xp/xpc_main.c | 4 +-
76526 drivers/mmc/core/mmc_ops.c | 2 +-
76527 drivers/mmc/host/dw_mmc.h | 2 +-
76528 drivers/mmc/host/sdhci-s3c.c | 8 +-
76529 drivers/mtd/nand/denali.c | 1 +
76530 drivers/mtd/nftlmount.c | 1 +
76531 drivers/mtd/sm_ftl.c | 2 +-
76532 drivers/net/bonding/bond_main.c | 2 +-
76533 drivers/net/ethernet/8390/ax88796.c | 4 +-
76534 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
76535 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
76536 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
76537 drivers/net/ethernet/broadcom/tg3.h | 1 +
76538 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
76539 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
76540 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
76541 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
76542 drivers/net/ethernet/faraday/ftmac100.c | 2 +
76543 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
76544 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
76545 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +-
76546 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +-
76547 drivers/net/ethernet/realtek/r8169.c | 8 +-
76548 drivers/net/ethernet/sfc/ptp.c | 2 +-
76549 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
76550 drivers/net/hyperv/hyperv_net.h | 2 +-
76551 drivers/net/hyperv/rndis_filter.c | 4 +-
76552 drivers/net/ieee802154/fakehard.c | 2 +-
76553 drivers/net/macvlan.c | 18 +-
76554 drivers/net/macvtap.c | 2 +-
76555 drivers/net/ppp/ppp_generic.c | 4 +-
76556 drivers/net/slip/slhc.c | 2 +-
76557 drivers/net/team/team.c | 2 +-
76558 drivers/net/tun.c | 5 +-
76559 drivers/net/usb/hso.c | 23 +-
76560 drivers/net/vxlan.c | 2 +-
76561 drivers/net/wireless/at76c50x-usb.c | 2 +-
76562 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
76563 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
76564 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
76565 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
76566 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
76567 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
76568 drivers/net/wireless/mac80211_hwsim.c | 32 +-
76569 drivers/net/wireless/rndis_wlan.c | 2 +-
76570 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
76571 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
76572 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
76573 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
76574 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
76575 drivers/oprofile/buffer_sync.c | 8 +-
76576 drivers/oprofile/event_buffer.c | 2 +-
76577 drivers/oprofile/oprof.c | 2 +-
76578 drivers/oprofile/oprofile_files.c | 2 +-
76579 drivers/oprofile/oprofile_stats.c | 10 +-
76580 drivers/oprofile/oprofile_stats.h | 10 +-
76581 drivers/oprofile/oprofilefs.c | 2 +-
76582 drivers/oprofile/timer_int.c | 2 +-
76583 drivers/parport/procfs.c | 4 +-
76584 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
76585 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
76586 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
76587 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
76588 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
76589 drivers/pci/hotplug/pciehp_core.c | 2 +-
76590 drivers/pci/pci-sysfs.c | 6 +-
76591 drivers/pci/pci.h | 2 +-
76592 drivers/pci/pcie/aspm.c | 6 +-
76593 drivers/pci/probe.c | 2 +-
76594 drivers/platform/x86/chromeos_laptop.c | 2 +-
76595 drivers/platform/x86/msi-laptop.c | 14 +-
76596 drivers/platform/x86/sony-laptop.c | 2 +-
76597 drivers/platform/x86/thinkpad_acpi.c | 70 +-
76598 drivers/pnp/pnpbios/bioscalls.c | 14 +-
76599 drivers/pnp/resource.c | 4 +-
76600 drivers/power/pda_power.c | 7 +-
76601 drivers/power/power_supply.h | 4 +-
76602 drivers/power/power_supply_core.c | 7 +-
76603 drivers/power/power_supply_sysfs.c | 6 +-
76604 drivers/regulator/max8660.c | 6 +-
76605 drivers/regulator/max8973-regulator.c | 8 +-
76606 drivers/regulator/mc13892-regulator.c | 6 +-
76607 drivers/rtc/rtc-cmos.c | 4 +-
76608 drivers/rtc/rtc-ds1307.c | 2 +-
76609 drivers/rtc/rtc-m48t59.c | 4 +-
76610 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
76611 drivers/scsi/bfa/bfa_ioc.h | 4 +-
76612 drivers/scsi/hosts.c | 4 +-
76613 drivers/scsi/hpsa.c | 30 +-
76614 drivers/scsi/hpsa.h | 2 +-
76615 drivers/scsi/libfc/fc_exch.c | 50 +-
76616 drivers/scsi/libsas/sas_ata.c | 2 +-
76617 drivers/scsi/lpfc/lpfc.h | 8 +-
76618 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
76619 drivers/scsi/lpfc/lpfc_init.c | 6 +-
76620 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
76621 drivers/scsi/pmcraid.c | 20 +-
76622 drivers/scsi/pmcraid.h | 8 +-
76623 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
76624 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
76625 drivers/scsi/qla2xxx/qla_os.c | 6 +-
76626 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
76627 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
76628 drivers/scsi/scsi.c | 2 +-
76629 drivers/scsi/scsi_lib.c | 6 +-
76630 drivers/scsi/scsi_sysfs.c | 2 +-
76631 drivers/scsi/scsi_tgt_lib.c | 2 +-
76632 drivers/scsi/scsi_transport_fc.c | 8 +-
76633 drivers/scsi/scsi_transport_iscsi.c | 6 +-
76634 drivers/scsi/scsi_transport_srp.c | 6 +-
76635 drivers/scsi/sd.c | 2 +-
76636 drivers/scsi/sg.c | 2 +-
76637 drivers/spi/spi.c | 2 +-
76638 drivers/staging/media/solo6x10/solo6x10-core.c | 2 +-
76639 drivers/staging/octeon/ethernet-rx.c | 12 +-
76640 drivers/staging/octeon/ethernet.c | 8 +-
76641 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
76642 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
76643 drivers/staging/usbip/vhci.h | 2 +-
76644 drivers/staging/usbip/vhci_hcd.c | 6 +-
76645 drivers/staging/usbip/vhci_rx.c | 2 +-
76646 drivers/staging/vt6655/hostap.c | 7 +-
76647 drivers/staging/vt6656/hostap.c | 7 +-
76648 drivers/staging/zcache/tmem.c | 4 +-
76649 drivers/staging/zcache/tmem.h | 2 +
76650 drivers/target/target_core_device.c | 2 +-
76651 drivers/target/target_core_transport.c | 2 +-
76652 drivers/tty/cyclades.c | 6 +-
76653 drivers/tty/hvc/hvc_console.c | 14 +-
76654 drivers/tty/hvc/hvcs.c | 21 +-
76655 drivers/tty/ipwireless/tty.c | 27 +-
76656 drivers/tty/moxa.c | 2 +-
76657 drivers/tty/n_gsm.c | 4 +-
76658 drivers/tty/n_tty.c | 3 +-
76659 drivers/tty/pty.c | 4 +-
76660 drivers/tty/rocket.c | 6 +-
76661 drivers/tty/serial/kgdboc.c | 32 +-
76662 drivers/tty/serial/samsung.c | 9 +-
76663 drivers/tty/serial/serial_core.c | 8 +-
76664 drivers/tty/synclink.c | 34 +-
76665 drivers/tty/synclink_gt.c | 28 +-
76666 drivers/tty/synclinkmp.c | 34 +-
76667 drivers/tty/tty_io.c | 2 +-
76668 drivers/tty/tty_ldisc.c | 10 +-
76669 drivers/tty/tty_port.c | 22 +-
76670 drivers/uio/uio.c | 21 +-
76671 drivers/usb/atm/cxacru.c | 2 +-
76672 drivers/usb/atm/usbatm.c | 24 +-
76673 drivers/usb/core/devices.c | 6 +-
76674 drivers/usb/core/hcd.c | 4 +-
76675 drivers/usb/core/message.c | 2 +-
76676 drivers/usb/core/sysfs.c | 2 +-
76677 drivers/usb/core/usb.c | 2 +-
76678 drivers/usb/early/ehci-dbgp.c | 16 +-
76679 drivers/usb/gadget/u_serial.c | 22 +-
76680 drivers/usb/serial/console.c | 6 +-
76681 drivers/usb/storage/usb.h | 2 +-
76682 drivers/usb/wusbcore/wa-hc.h | 4 +-
76683 drivers/usb/wusbcore/wa-xfer.c | 2 +-
76684 drivers/vhost/vringh.c | 2 +-
76685 drivers/video/aty/aty128fb.c | 2 +-
76686 drivers/video/aty/atyfb_base.c | 8 +-
76687 drivers/video/aty/mach64_cursor.c | 5 +-
76688 drivers/video/backlight/kb3886_bl.c | 2 +-
76689 drivers/video/fb_defio.c | 6 +-
76690 drivers/video/fbcmap.c | 3 +-
76691 drivers/video/fbmem.c | 6 +-
76692 drivers/video/i810/i810_accel.c | 1 +
76693 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
76694 drivers/video/nvidia/nvidia.c | 27 +-
76695 drivers/video/output.c | 2 +-
76696 drivers/video/s1d13xxxfb.c | 6 +-
76697 drivers/video/smscufx.c | 4 +-
76698 drivers/video/udlfb.c | 36 +-
76699 drivers/video/uvesafb.c | 53 +-
76700 drivers/video/vesafb.c | 58 +-
76701 drivers/video/via/via_clock.h | 2 +-
76702 fs/9p/vfs_addr.c | 2 +-
76703 fs/9p/vfs_inode.c | 2 +-
76704 fs/Kconfig.binfmt | 2 +-
76705 fs/aio.c | 12 +-
76706 fs/autofs4/waitq.c | 2 +-
76707 fs/befs/endian.h | 4 +-
76708 fs/befs/linuxvfs.c | 2 +-
76709 fs/binfmt_aout.c | 23 +-
76710 fs/binfmt_elf.c | 607 ++-
76711 fs/binfmt_flat.c | 6 +
76712 fs/bio.c | 6 +-
76713 fs/block_dev.c | 2 +-
76714 fs/btrfs/ctree.c | 9 +-
76715 fs/btrfs/super.c | 2 +-
76716 fs/cachefiles/bind.c | 6 +-
76717 fs/cachefiles/daemon.c | 8 +-
76718 fs/cachefiles/internal.h | 12 +-
76719 fs/cachefiles/namei.c | 2 +-
76720 fs/cachefiles/proc.c | 12 +-
76721 fs/cachefiles/rdwr.c | 2 +-
76722 fs/ceph/dir.c | 2 +-
76723 fs/cifs/cifs_debug.c | 12 +-
76724 fs/cifs/cifsfs.c | 8 +-
76725 fs/cifs/cifsglob.h | 54 +-
76726 fs/cifs/link.c | 2 +-
76727 fs/cifs/misc.c | 4 +-
76728 fs/cifs/smb1ops.c | 80 +-
76729 fs/cifs/smb2ops.c | 84 +-
76730 fs/cifs/smb2pdu.c | 3 +-
76731 fs/coda/cache.c | 10 +-
76732 fs/compat.c | 6 +-
76733 fs/compat_binfmt_elf.c | 2 +
76734 fs/compat_ioctl.c | 12 +-
76735 fs/configfs/dir.c | 10 +-
76736 fs/coredump.c | 24 +-
76737 fs/dcache.c | 2 +-
76738 fs/ecryptfs/inode.c | 4 +-
76739 fs/ecryptfs/miscdev.c | 2 +-
76740 fs/exec.c | 362 ++-
76741 fs/ext4/ext4.h | 20 +-
76742 fs/ext4/mballoc.c | 44 +-
76743 fs/ext4/mmp.c | 2 +-
76744 fs/ext4/super.c | 4 +-
76745 fs/fhandle.c | 3 +-
76746 fs/fs_struct.c | 8 +-
76747 fs/fscache/cookie.c | 36 +-
76748 fs/fscache/internal.h | 196 +-
76749 fs/fscache/object.c | 28 +-
76750 fs/fscache/operation.c | 30 +-
76751 fs/fscache/page.c | 110 +-
76752 fs/fscache/stats.c | 344 +-
76753 fs/fuse/cuse.c | 10 +-
76754 fs/fuse/dev.c | 4 +-
76755 fs/fuse/dir.c | 2 +-
76756 fs/gfs2/inode.c | 2 +-
76757 fs/hugetlbfs/inode.c | 13 +-
76758 fs/inode.c | 4 +-
76759 fs/jffs2/erase.c | 3 +-
76760 fs/jffs2/wbuf.c | 3 +-
76761 fs/jfs/super.c | 2 +-
76762 fs/libfs.c | 10 +-
76763 fs/lockd/clntproc.c | 4 +-
76764 fs/lockd/svc.c | 2 +-
76765 fs/locks.c | 8 +-
76766 fs/namei.c | 15 +-
76767 fs/namespace.c | 10 +-
76768 fs/nfs/callback.c | 4 +-
76769 fs/nfs/callback_xdr.c | 2 +-
76770 fs/nfs/inode.c | 6 +-
76771 fs/nfs/nfs4state.c | 2 +-
76772 fs/nfsd/nfs4proc.c | 2 +-
76773 fs/nfsd/nfs4xdr.c | 6 +-
76774 fs/nfsd/nfscache.c | 9 +-
76775 fs/nfsd/vfs.c | 6 +-
76776 fs/nls/nls_base.c | 18 +-
76777 fs/nls/nls_euc-jp.c | 6 +-
76778 fs/nls/nls_koi8-ru.c | 6 +-
76779 fs/notify/fanotify/fanotify_user.c | 4 +-
76780 fs/notify/notification.c | 4 +-
76781 fs/ntfs/dir.c | 2 +-
76782 fs/ntfs/file.c | 4 +-
76783 fs/ocfs2/localalloc.c | 2 +-
76784 fs/ocfs2/ocfs2.h | 10 +-
76785 fs/ocfs2/suballoc.c | 12 +-
76786 fs/ocfs2/super.c | 20 +-
76787 fs/pipe.c | 61 +-
76788 fs/proc/array.c | 20 +
76789 fs/proc/base.c | 4 +-
76790 fs/proc/kcore.c | 32 +-
76791 fs/proc/meminfo.c | 2 +-
76792 fs/proc/nommu.c | 2 +-
76793 fs/proc/proc_sysctl.c | 18 +-
76794 fs/proc/self.c | 2 +-
76795 fs/proc/task_mmu.c | 39 +-
76796 fs/proc/task_nommu.c | 4 +-
76797 fs/proc/vmcore.c | 12 +-
76798 fs/qnx6/qnx6.h | 4 +-
76799 fs/quota/netlink.c | 4 +-
76800 fs/read_write.c | 2 +-
76801 fs/readdir.c | 2 +-
76802 fs/reiserfs/do_balan.c | 2 +-
76803 fs/reiserfs/procfs.c | 2 +-
76804 fs/reiserfs/reiserfs.h | 4 +-
76805 fs/seq_file.c | 2 +-
76806 fs/splice.c | 40 +-
76807 fs/sysfs/bin.c | 6 +-
76808 fs/sysfs/dir.c | 2 +-
76809 fs/sysfs/file.c | 10 +-
76810 fs/sysfs/symlink.c | 2 +-
76811 fs/sysv/sysv.h | 2 +-
76812 fs/ubifs/io.c | 2 +-
76813 fs/udf/misc.c | 2 +-
76814 fs/ufs/swab.h | 4 +-
76815 fs/xattr.c | 21 +
76816 fs/xattr_acl.c | 4 +-
76817 fs/xfs/xfs_bmap.c | 2 +-
76818 fs/xfs/xfs_dir2_sf.c | 10 +-
76819 fs/xfs/xfs_ioctl.c | 2 +-
76820 fs/xfs/xfs_iops.c | 2 +-
76821 include/asm-generic/4level-fixup.h | 2 +
76822 include/asm-generic/atomic-long.h | 210 +
76823 include/asm-generic/atomic.h | 2 +-
76824 include/asm-generic/atomic64.h | 12 +
76825 include/asm-generic/cache.h | 4 +-
76826 include/asm-generic/emergency-restart.h | 2 +-
76827 include/asm-generic/kmap_types.h | 4 +-
76828 include/asm-generic/local.h | 13 +
76829 include/asm-generic/pgtable-nopmd.h | 18 +-
76830 include/asm-generic/pgtable-nopud.h | 15 +-
76831 include/asm-generic/pgtable.h | 8 +
76832 include/asm-generic/vmlinux.lds.h | 10 +-
76833 include/crypto/algapi.h | 2 +-
76834 include/drm/drmP.h | 17 +-
76835 include/drm/drm_crtc_helper.h | 2 +-
76836 include/drm/ttm/ttm_memory.h | 2 +-
76837 include/keys/asymmetric-subtype.h | 2 +-
76838 include/linux/atmdev.h | 4 +-
76839 include/linux/binfmts.h | 3 +-
76840 include/linux/blkdev.h | 2 +-
76841 include/linux/blktrace_api.h | 2 +-
76842 include/linux/cache.h | 4 +
76843 include/linux/cdrom.h | 1 -
76844 include/linux/cleancache.h | 2 +-
76845 include/linux/clk-provider.h | 1 +
76846 include/linux/compat.h | 4 +-
76847 include/linux/compiler-gcc4.h | 20 +
76848 include/linux/compiler.h | 65 +-
76849 include/linux/completion.h | 6 +-
76850 include/linux/configfs.h | 2 +-
76851 include/linux/cpu.h | 2 +-
76852 include/linux/cpufreq.h | 3 +-
76853 include/linux/cpuidle.h | 5 +-
76854 include/linux/cpumask.h | 12 +-
76855 include/linux/crypto.h | 6 +-
76856 include/linux/ctype.h | 2 +-
76857 include/linux/decompress/mm.h | 2 +-
76858 include/linux/devfreq.h | 2 +-
76859 include/linux/device.h | 7 +-
76860 include/linux/dma-mapping.h | 2 +-
76861 include/linux/dmaengine.h | 4 +-
76862 include/linux/efi.h | 1 +
76863 include/linux/elf.h | 2 +
76864 include/linux/err.h | 4 +-
76865 include/linux/extcon.h | 2 +-
76866 include/linux/fb.h | 2 +-
76867 include/linux/filter.h | 4 +
76868 include/linux/frontswap.h | 2 +-
76869 include/linux/fs.h | 3 +-
76870 include/linux/fs_struct.h | 2 +-
76871 include/linux/fscache-cache.h | 4 +-
76872 include/linux/fscache.h | 2 +-
76873 include/linux/fsnotify.h | 2 +-
76874 include/linux/genhd.h | 2 +-
76875 include/linux/genl_magic_func.h | 2 +-
76876 include/linux/gfp.h | 12 +-
76877 include/linux/highmem.h | 12 +
76878 include/linux/hwmon-sysfs.h | 5 +-
76879 include/linux/i2c.h | 1 +
76880 include/linux/i2o.h | 2 +-
76881 include/linux/if_pppox.h | 2 +-
76882 include/linux/init.h | 33 +-
76883 include/linux/init_task.h | 7 +
76884 include/linux/interrupt.h | 8 +-
76885 include/linux/iommu.h | 2 +-
76886 include/linux/ioport.h | 2 +-
76887 include/linux/irq.h | 3 +-
76888 include/linux/irqchip/arm-gic.h | 4 +-
76889 include/linux/key-type.h | 2 +-
76890 include/linux/kgdb.h | 6 +-
76891 include/linux/kobject.h | 3 +-
76892 include/linux/kobject_ns.h | 2 +-
76893 include/linux/kref.h | 2 +-
76894 include/linux/kvm_host.h | 4 +-
76895 include/linux/libata.h | 2 +-
76896 include/linux/list.h | 15 +
76897 include/linux/math64.h | 6 +-
76898 include/linux/mm.h | 116 +-
76899 include/linux/mm_types.h | 20 +
76900 include/linux/mmiotrace.h | 4 +-
76901 include/linux/mmzone.h | 2 +-
76902 include/linux/mod_devicetable.h | 6 +-
76903 include/linux/module.h | 60 +-
76904 include/linux/moduleloader.h | 16 +
76905 include/linux/moduleparam.h | 4 +-
76906 include/linux/namei.h | 6 +-
76907 include/linux/net.h | 2 +-
76908 include/linux/netdevice.h | 3 +-
76909 include/linux/netfilter.h | 2 +-
76910 include/linux/netfilter/ipset/ip_set.h | 2 +-
76911 include/linux/netfilter/nfnetlink.h | 2 +-
76912 include/linux/nls.h | 2 +-
76913 include/linux/notifier.h | 3 +-
76914 include/linux/oprofile.h | 4 +-
76915 include/linux/pci_hotplug.h | 3 +-
76916 include/linux/perf_event.h | 12 +-
76917 include/linux/pipe_fs_i.h | 8 +-
76918 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
76919 include/linux/platform_data/usb-ohci-exynos.h | 2 +-
76920 include/linux/pm_domain.h | 2 +-
76921 include/linux/pm_runtime.h | 2 +-
76922 include/linux/pnp.h | 2 +-
76923 include/linux/poison.h | 4 +-
76924 include/linux/power/smartreflex.h | 2 +-
76925 include/linux/ppp-comp.h | 2 +-
76926 include/linux/proc_ns.h | 2 +-
76927 include/linux/random.h | 5 +
76928 include/linux/rculist.h | 16 +
76929 include/linux/reboot.h | 14 +-
76930 include/linux/regset.h | 3 +-
76931 include/linux/relay.h | 2 +-
76932 include/linux/rio.h | 2 +-
76933 include/linux/rmap.h | 4 +-
76934 include/linux/sched.h | 65 +-
76935 include/linux/sched/sysctl.h | 1 +
76936 include/linux/seq_file.h | 1 +
76937 include/linux/skbuff.h | 12 +-
76938 include/linux/slab.h | 42 +-
76939 include/linux/slab_def.h | 28 +-
76940 include/linux/slob_def.h | 4 +-
76941 include/linux/slub_def.h | 8 +-
76942 include/linux/sock_diag.h | 2 +-
76943 include/linux/sonet.h | 2 +-
76944 include/linux/sunrpc/addr.h | 8 +-
76945 include/linux/sunrpc/clnt.h | 2 +-
76946 include/linux/sunrpc/svc.h | 2 +-
76947 include/linux/sunrpc/svc_rdma.h | 18 +-
76948 include/linux/sunrpc/svcauth.h | 2 +-
76949 include/linux/swiotlb.h | 3 +-
76950 include/linux/syscalls.h | 10 +-
76951 include/linux/syscore_ops.h | 2 +-
76952 include/linux/sysctl.h | 6 +-
76953 include/linux/sysfs.h | 10 +-
76954 include/linux/sysrq.h | 3 +-
76955 include/linux/thread_info.h | 7 +
76956 include/linux/tty.h | 4 +-
76957 include/linux/tty_driver.h | 2 +-
76958 include/linux/tty_ldisc.h | 2 +-
76959 include/linux/types.h | 16 +
76960 include/linux/uaccess.h | 6 +-
76961 include/linux/unaligned/access_ok.h | 24 +-
76962 include/linux/usb.h | 4 +-
76963 include/linux/usb/renesas_usbhs.h | 2 +-
76964 include/linux/vermagic.h | 21 +-
76965 include/linux/vmalloc.h | 11 +-
76966 include/linux/vmstat.h | 20 +-
76967 include/linux/xattr.h | 5 +-
76968 include/linux/zlib.h | 3 +-
76969 include/media/v4l2-dev.h | 2 +-
76970 include/net/9p/transport.h | 2 +-
76971 include/net/bluetooth/l2cap.h | 2 +-
76972 include/net/caif/cfctrl.h | 6 +-
76973 include/net/flow.h | 2 +-
76974 include/net/genetlink.h | 2 +-
76975 include/net/gro_cells.h | 2 +-
76976 include/net/inet_connection_sock.h | 2 +-
76977 include/net/inetpeer.h | 8 +-
76978 include/net/ip.h | 2 +-
76979 include/net/ip_fib.h | 2 +-
76980 include/net/ip_vs.h | 8 +-
76981 include/net/irda/ircomm_tty.h | 1 +
76982 include/net/iucv/af_iucv.h | 2 +-
76983 include/net/llc_c_ac.h | 2 +-
76984 include/net/llc_c_ev.h | 4 +-
76985 include/net/llc_c_st.h | 2 +-
76986 include/net/llc_s_ac.h | 2 +-
76987 include/net/llc_s_st.h | 2 +-
76988 include/net/mac80211.h | 2 +-
76989 include/net/neighbour.h | 2 +-
76990 include/net/net_namespace.h | 12 +-
76991 include/net/netdma.h | 2 +-
76992 include/net/netlink.h | 2 +-
76993 include/net/netns/conntrack.h | 6 +-
76994 include/net/netns/ipv4.h | 2 +-
76995 include/net/netns/ipv6.h | 2 +-
76996 include/net/protocol.h | 4 +-
76997 include/net/rtnetlink.h | 2 +-
76998 include/net/sctp/sctp.h | 6 +-
76999 include/net/sctp/sm.h | 4 +-
77000 include/net/sctp/structs.h | 2 +-
77001 include/net/sock.h | 6 +-
77002 include/net/tcp.h | 8 +-
77003 include/net/xfrm.h | 8 +-
77004 include/rdma/iw_cm.h | 2 +-
77005 include/scsi/libfc.h | 3 +-
77006 include/scsi/scsi_device.h | 6 +-
77007 include/scsi/scsi_transport_fc.h | 3 +-
77008 include/sound/compress_driver.h | 2 +-
77009 include/sound/soc.h | 4 +-
77010 include/target/target_core_base.h | 2 +-
77011 include/trace/events/irq.h | 4 +-
77012 include/uapi/linux/a.out.h | 8 +
77013 include/uapi/linux/byteorder/little_endian.h | 28 +-
77014 include/uapi/linux/elf.h | 28 +
77015 include/uapi/linux/screen_info.h | 3 +-
77016 include/uapi/linux/swab.h | 6 +-
77017 include/uapi/linux/sysctl.h | 6 +-
77018 include/uapi/linux/xattr.h | 4 +
77019 include/video/udlfb.h | 8 +-
77020 include/video/uvesafb.h | 1 +
77021 init/Kconfig | 2 +-
77022 init/Makefile | 3 +
77023 init/do_mounts.c | 14 +-
77024 init/do_mounts.h | 8 +-
77025 init/do_mounts_initrd.c | 30 +-
77026 init/do_mounts_md.c | 6 +-
77027 init/init_task.c | 4 +
77028 init/initramfs.c | 42 +-
77029 init/main.c | 83 +-
77030 ipc/ipc_sysctl.c | 10 +-
77031 ipc/mq_sysctl.c | 2 +-
77032 ipc/msg.c | 11 +-
77033 ipc/sem.c | 11 +-
77034 ipc/shm.c | 17 +-
77035 kernel/acct.c | 2 +-
77036 kernel/audit.c | 8 +-
77037 kernel/auditfilter.c | 2 +-
77038 kernel/auditsc.c | 4 +-
77039 kernel/capability.c | 3 +
77040 kernel/compat.c | 38 +-
77041 kernel/debug/debug_core.c | 16 +-
77042 kernel/debug/kdb/kdb_main.c | 4 +-
77043 kernel/events/core.c | 30 +-
77044 kernel/events/internal.h | 10 +-
77045 kernel/exit.c | 4 +-
77046 kernel/fork.c | 167 +-
77047 kernel/futex.c | 9 +
77048 kernel/futex_compat.c | 2 +-
77049 kernel/gcov/base.c | 7 +-
77050 kernel/hrtimer.c | 4 +-
77051 kernel/irq_work.c | 7 +-
77052 kernel/jump_label.c | 5 +
77053 kernel/kallsyms.c | 39 +-
77054 kernel/kexec.c | 3 +-
77055 kernel/kmod.c | 4 +-
77056 kernel/kprobes.c | 8 +-
77057 kernel/ksysfs.c | 2 +-
77058 kernel/lockdep.c | 7 +-
77059 kernel/module.c | 337 +-
77060 kernel/mutex-debug.c | 12 +-
77061 kernel/mutex-debug.h | 4 +-
77062 kernel/mutex.c | 11 +-
77063 kernel/notifier.c | 17 +-
77064 kernel/panic.c | 3 +-
77065 kernel/pid.c | 2 +-
77066 kernel/pid_namespace.c | 2 +-
77067 kernel/posix-cpu-timers.c | 4 +-
77068 kernel/posix-timers.c | 22 +-
77069 kernel/power/process.c | 12 +-
77070 kernel/profile.c | 14 +-
77071 kernel/ptrace.c | 8 +-
77072 kernel/rcupdate.c | 4 +-
77073 kernel/rcutiny.c | 4 +-
77074 kernel/rcutiny_plugin.h | 2 +-
77075 kernel/rcutorture.c | 56 +-
77076 kernel/rcutree.c | 76 +-
77077 kernel/rcutree.h | 24 +-
77078 kernel/rcutree_plugin.h | 20 +-
77079 kernel/rcutree_trace.c | 22 +-
77080 kernel/rtmutex-tester.c | 24 +-
77081 kernel/sched/auto_group.c | 4 +-
77082 kernel/sched/core.c | 51 +-
77083 kernel/sched/fair.c | 4 +-
77084 kernel/sched/sched.h | 2 +-
77085 kernel/signal.c | 12 +-
77086 kernel/smp.c | 2 +-
77087 kernel/smpboot.c | 4 +-
77088 kernel/softirq.c | 18 +-
77089 kernel/srcu.c | 4 +-
77090 kernel/sys.c | 10 +-
77091 kernel/sysctl.c | 39 +-
77092 kernel/time.c | 2 +-
77093 kernel/time/alarmtimer.c | 2 +-
77094 kernel/time/tick-broadcast.c | 2 +-
77095 kernel/time/timer_stats.c | 10 +-
77096 kernel/timer.c | 6 +-
77097 kernel/trace/blktrace.c | 6 +-
77098 kernel/trace/ftrace.c | 18 +-
77099 kernel/trace/ring_buffer.c | 76 +-
77100 kernel/trace/trace.c | 2 +-
77101 kernel/trace/trace.h | 2 +-
77102 kernel/trace/trace_events.c | 25 +-
77103 kernel/trace/trace_mmiotrace.c | 8 +-
77104 kernel/trace/trace_output.c | 12 +-
77105 kernel/trace/trace_stack.c | 2 +-
77106 kernel/user_namespace.c | 2 +-
77107 kernel/utsname_sysctl.c | 2 +-
77108 kernel/watchdog.c | 2 +-
77109 kernel/workqueue.c | 2 +-
77110 lib/Kconfig.debug | 8 +-
77111 lib/Makefile | 2 +-
77112 lib/bitmap.c | 8 +-
77113 lib/bug.c | 2 +
77114 lib/debugobjects.c | 2 +-
77115 lib/devres.c | 4 +-
77116 lib/div64.c | 4 +-
77117 lib/dma-debug.c | 4 +-
77118 lib/inflate.c | 2 +-
77119 lib/ioremap.c | 4 +-
77120 lib/kobject.c | 6 +-
77121 lib/list_debug.c | 126 +-
77122 lib/radix-tree.c | 2 +-
77123 lib/strncpy_from_user.c | 2 +-
77124 lib/strnlen_user.c | 2 +-
77125 lib/swiotlb.c | 2 +-
77126 lib/usercopy.c | 6 +
77127 lib/vsprintf.c | 12 +-
77128 mm/Kconfig | 6 +-
77129 mm/backing-dev.c | 4 +-
77130 mm/filemap.c | 2 +-
77131 mm/fremap.c | 5 +
77132 mm/highmem.c | 7 +-
77133 mm/hugetlb.c | 70 +-
77134 mm/internal.h | 1 +
77135 mm/maccess.c | 4 +-
77136 mm/madvise.c | 41 +
77137 mm/memory-failure.c | 26 +-
77138 mm/memory.c | 424 ++-
77139 mm/mempolicy.c | 26 +
77140 mm/mlock.c | 15 +-
77141 mm/mmap.c | 606 ++-
77142 mm/mprotect.c | 139 +-
77143 mm/mremap.c | 44 +-
77144 mm/nommu.c | 21 +-
77145 mm/page-writeback.c | 4 +-
77146 mm/page_alloc.c | 41 +-
77147 mm/page_io.c | 2 +-
77148 mm/percpu.c | 2 +-
77149 mm/process_vm_access.c | 14 +-
77150 mm/rmap.c | 38 +-
77151 mm/shmem.c | 19 +-
77152 mm/slab.c | 79 +-
77153 mm/slab.h | 5 +-
77154 mm/slab_common.c | 46 +-
77155 mm/slob.c | 201 +-
77156 mm/slub.c | 79 +-
77157 mm/sparse-vmemmap.c | 4 +-
77158 mm/sparse.c | 2 +-
77159 mm/swap.c | 3 +
77160 mm/swapfile.c | 12 +-
77161 mm/util.c | 6 +
77162 mm/vmalloc.c | 77 +-
77163 mm/vmstat.c | 12 +-
77164 net/8021q/vlan.c | 5 +-
77165 net/9p/mod.c | 4 +-
77166 net/9p/trans_fd.c | 2 +-
77167 net/atm/atm_misc.c | 8 +-
77168 net/atm/lec.h | 2 +-
77169 net/atm/proc.c | 6 +-
77170 net/atm/resources.c | 4 +-
77171 net/ax25/sysctl_net_ax25.c | 2 +-
77172 net/batman-adv/bat_iv_ogm.c | 8 +-
77173 net/batman-adv/hard-interface.c | 4 +-
77174 net/batman-adv/soft-interface.c | 4 +-
77175 net/batman-adv/types.h | 6 +-
77176 net/batman-adv/unicast.c | 2 +-
77177 net/bluetooth/hci_core.c | 8 +-
77178 net/bluetooth/hci_sock.c | 2 +-
77179 net/bluetooth/l2cap_core.c | 6 +-
77180 net/bluetooth/l2cap_sock.c | 12 +-
77181 net/bluetooth/rfcomm/sock.c | 4 +-
77182 net/bluetooth/rfcomm/tty.c | 10 +-
77183 net/bridge/netfilter/ebtables.c | 6 +-
77184 net/caif/cfctrl.c | 11 +-
77185 net/can/af_can.c | 2 +-
77186 net/can/gw.c | 6 +-
77187 net/compat.c | 34 +-
77188 net/core/datagram.c | 2 +-
77189 net/core/dev.c | 16 +-
77190 net/core/flow.c | 8 +-
77191 net/core/iovec.c | 4 +-
77192 net/core/neighbour.c | 2 +-
77193 net/core/net-sysfs.c | 2 +-
77194 net/core/net_namespace.c | 8 +-
77195 net/core/rtnetlink.c | 13 +-
77196 net/core/scm.c | 8 +-
77197 net/core/sock.c | 24 +-
77198 net/core/sock_diag.c | 9 +-
77199 net/core/sysctl_net_core.c | 18 +-
77200 net/decnet/af_decnet.c | 1 +
77201 net/decnet/sysctl_net_decnet.c | 4 +-
77202 net/ipv4/af_inet.c | 8 +-
77203 net/ipv4/ah4.c | 2 +-
77204 net/ipv4/devinet.c | 18 +-
77205 net/ipv4/esp4.c | 2 +-
77206 net/ipv4/fib_frontend.c | 6 +-
77207 net/ipv4/fib_semantics.c | 2 +-
77208 net/ipv4/inet_connection_sock.c | 2 +-
77209 net/ipv4/inetpeer.c | 4 +-
77210 net/ipv4/ip_fragment.c | 15 +-
77211 net/ipv4/ip_gre.c | 6 +-
77212 net/ipv4/ip_sockglue.c | 2 +-
77213 net/ipv4/ip_vti.c | 4 +-
77214 net/ipv4/ipcomp.c | 2 +-
77215 net/ipv4/ipconfig.c | 6 +-
77216 net/ipv4/ipip.c | 4 +-
77217 net/ipv4/netfilter/arp_tables.c | 12 +-
77218 net/ipv4/netfilter/ip_tables.c | 12 +-
77219 net/ipv4/ping.c | 2 +-
77220 net/ipv4/raw.c | 14 +-
77221 net/ipv4/route.c | 18 +-
77222 net/ipv4/sysctl_net_ipv4.c | 45 +-
77223 net/ipv4/tcp_input.c | 2 +-
77224 net/ipv4/tcp_probe.c | 2 +-
77225 net/ipv4/udp.c | 10 +-
77226 net/ipv4/xfrm4_policy.c | 14 +-
77227 net/ipv6/addrconf.c | 12 +-
77228 net/ipv6/icmp.c | 2 +-
77229 net/ipv6/ip6_gre.c | 8 +-
77230 net/ipv6/ip6_tunnel.c | 4 +-
77231 net/ipv6/ipv6_sockglue.c | 2 +-
77232 net/ipv6/netfilter/ip6_tables.c | 12 +-
77233 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
77234 net/ipv6/raw.c | 19 +-
77235 net/ipv6/reassembly.c | 13 +-
77236 net/ipv6/route.c | 2 +-
77237 net/ipv6/sit.c | 4 +-
77238 net/ipv6/sysctl_net_ipv6.c | 2 +-
77239 net/ipv6/udp.c | 8 +-
77240 net/ipv6/xfrm6_policy.c | 13 +-
77241 net/irda/ircomm/ircomm_tty.c | 18 +-
77242 net/iucv/af_iucv.c | 4 +-
77243 net/iucv/iucv.c | 2 +-
77244 net/key/af_key.c | 4 +-
77245 net/mac80211/cfg.c | 8 +-
77246 net/mac80211/ieee80211_i.h | 3 +-
77247 net/mac80211/iface.c | 16 +-
77248 net/mac80211/main.c | 2 +-
77249 net/mac80211/pm.c | 6 +-
77250 net/mac80211/rate.c | 2 +-
77251 net/mac80211/rc80211_pid_debugfs.c | 2 +-
77252 net/mac80211/util.c | 4 +-
77253 net/netfilter/ipset/ip_set_core.c | 2 +-
77254 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
77255 net/netfilter/ipvs/ip_vs_core.c | 4 +-
77256 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
77257 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
77258 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
77259 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
77260 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
77261 net/netfilter/nf_conntrack_acct.c | 2 +-
77262 net/netfilter/nf_conntrack_ecache.c | 2 +-
77263 net/netfilter/nf_conntrack_helper.c | 2 +-
77264 net/netfilter/nf_conntrack_proto.c | 2 +-
77265 net/netfilter/nf_conntrack_proto_dccp.c | 4 +-
77266 net/netfilter/nf_conntrack_standalone.c | 2 +-
77267 net/netfilter/nf_conntrack_timestamp.c | 2 +-
77268 net/netfilter/nf_log.c | 10 +-
77269 net/netfilter/nf_sockopt.c | 4 +-
77270 net/netfilter/nfnetlink_log.c | 4 +-
77271 net/netfilter/xt_statistic.c | 8 +-
77272 net/netlink/af_netlink.c | 4 +-
77273 net/netlink/genetlink.c | 16 +-
77274 net/packet/af_packet.c | 12 +-
77275 net/phonet/pep.c | 6 +-
77276 net/phonet/socket.c | 2 +-
77277 net/phonet/sysctl.c | 2 +-
77278 net/rds/cong.c | 6 +-
77279 net/rds/ib.h | 2 +-
77280 net/rds/ib_cm.c | 2 +-
77281 net/rds/ib_recv.c | 4 +-
77282 net/rds/iw.h | 2 +-
77283 net/rds/iw_cm.c | 2 +-
77284 net/rds/iw_recv.c | 4 +-
77285 net/rds/rds.h | 2 +-
77286 net/rds/tcp.c | 2 +-
77287 net/rds/tcp_send.c | 2 +-
77288 net/rxrpc/af_rxrpc.c | 2 +-
77289 net/rxrpc/ar-ack.c | 14 +-
77290 net/rxrpc/ar-call.c | 2 +-
77291 net/rxrpc/ar-connection.c | 2 +-
77292 net/rxrpc/ar-connevent.c | 2 +-
77293 net/rxrpc/ar-input.c | 4 +-
77294 net/rxrpc/ar-internal.h | 8 +-
77295 net/rxrpc/ar-local.c | 2 +-
77296 net/rxrpc/ar-output.c | 4 +-
77297 net/rxrpc/ar-peer.c | 2 +-
77298 net/rxrpc/ar-proc.c | 4 +-
77299 net/rxrpc/ar-transport.c | 2 +-
77300 net/rxrpc/rxkad.c | 4 +-
77301 net/sctp/ipv6.c | 6 +-
77302 net/sctp/protocol.c | 10 +-
77303 net/sctp/sm_sideeffect.c | 2 +-
77304 net/sctp/socket.c | 21 +-
77305 net/sctp/sysctl.c | 4 +-
77306 net/socket.c | 18 +-
77307 net/sunrpc/clnt.c | 4 +-
77308 net/sunrpc/sched.c | 4 +-
77309 net/sunrpc/svc.c | 6 +-
77310 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
77311 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
77312 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
77313 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
77314 net/tipc/link.c | 6 +-
77315 net/tipc/msg.c | 2 +-
77316 net/tipc/subscr.c | 2 +-
77317 net/unix/sysctl_net_unix.c | 2 +-
77318 net/wireless/wext-core.c | 19 +-
77319 net/xfrm/xfrm_policy.c | 27 +-
77320 net/xfrm/xfrm_state.c | 29 +-
77321 net/xfrm/xfrm_sysctl.c | 2 +-
77322 scripts/Makefile.build | 2 +-
77323 scripts/Makefile.clean | 3 +-
77324 scripts/Makefile.host | 28 +-
77325 scripts/basic/fixdep.c | 12 +-
77326 scripts/gcc-plugin.sh | 17 +
77327 scripts/headers_install.sh | 1 +
77328 scripts/link-vmlinux.sh | 2 +-
77329 scripts/mod/file2alias.c | 14 +-
77330 scripts/mod/modpost.c | 25 +-
77331 scripts/mod/modpost.h | 6 +-
77332 scripts/mod/sumversion.c | 2 +-
77333 scripts/package/builddeb | 1 +
77334 scripts/pnmtologo.c | 6 +-
77335 scripts/sortextable.h | 6 +-
77336 security/Kconfig | 676 +++-
77337 security/apparmor/lsm.c | 2 +-
77338 security/integrity/ima/ima.h | 4 +-
77339 security/integrity/ima/ima_api.c | 2 +-
77340 security/integrity/ima/ima_fs.c | 4 +-
77341 security/integrity/ima/ima_queue.c | 2 +-
77342 security/keys/compat.c | 2 +-
77343 security/keys/internal.h | 2 +-
77344 security/keys/key.c | 18 +-
77345 security/keys/keyctl.c | 8 +-
77346 security/keys/keyring.c | 6 +-
77347 security/security.c | 9 +-
77348 security/selinux/hooks.c | 2 +-
77349 security/selinux/include/xfrm.h | 2 +-
77350 security/smack/smack_lsm.c | 2 +-
77351 security/tomoyo/tomoyo.c | 2 +-
77352 security/yama/yama_lsm.c | 22 +-
77353 sound/aoa/codecs/onyx.c | 7 +-
77354 sound/aoa/codecs/onyx.h | 1 +
77355 sound/core/oss/pcm_oss.c | 18 +-
77356 sound/core/pcm_compat.c | 2 +-
77357 sound/core/pcm_native.c | 4 +-
77358 sound/core/seq/seq_device.c | 8 +-
77359 sound/core/sound.c | 2 +-
77360 sound/drivers/mts64.c | 14 +-
77361 sound/drivers/opl4/opl4_lib.c | 2 +-
77362 sound/drivers/portman2x4.c | 3 +-
77363 sound/firewire/amdtp.c | 4 +-
77364 sound/firewire/amdtp.h | 2 +-
77365 sound/firewire/isight.c | 10 +-
77366 sound/firewire/scs1x.c | 8 +-
77367 sound/oss/sb_audio.c | 2 +-
77368 sound/oss/swarm_cs4297a.c | 6 +-
77369 sound/pci/ymfpci/ymfpci.h | 2 +-
77370 sound/pci/ymfpci/ymfpci_main.c | 12 +-
77371 sound/soc/fsl/fsl_ssi.c | 2 +-
77372 sound/sound_core.c | 2 +-
77373 tools/gcc/.gitignore | 1 +
77374 tools/gcc/Makefile | 45 +
77375 tools/gcc/checker_plugin.c | 172 +
77376 tools/gcc/colorize_plugin.c | 151 +
77377 tools/gcc/constify_plugin.c | 560 ++
77378 tools/gcc/generate_size_overflow_hash.sh | 94 +
77379 tools/gcc/kallocstat_plugin.c | 170 +
77380 tools/gcc/kernexec_plugin.c | 465 ++
77381 tools/gcc/latent_entropy_plugin.c | 327 ++
77382 tools/gcc/size_overflow_hash.data | 5893 ++++++++++++++++++++
77383 tools/gcc/size_overflow_plugin.c | 2114 +++++++
77384 tools/gcc/stackleak_plugin.c | 327 ++
77385 tools/gcc/structleak_plugin.c | 277 +
77386 tools/perf/util/include/asm/alternative-asm.h | 3 +
77387 tools/perf/util/include/linux/compiler.h | 8 +
77388 virt/kvm/kvm_main.c | 32 +-
77389 1607 files changed, 30734 insertions(+), 7318 deletions(-)
77390 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
77391 Merge: 0949bd4 fc53d63
77392 Author: Brad Spengler <spender@grsecurity.net>
77393 Date: Thu Mar 22 19:03:44 2012 -0400
77394
77395 Merge branch 'pax-test' into grsec-test
77396
77397 commit fc53d6338964741b368070ec5c935bc579b8c2a6
77398 Author: Brad Spengler <spender@grsecurity.net>
77399 Date: Thu Mar 22 19:02:45 2012 -0400
77400
77401 Update to pax-linux-3.2.12-test33.patch
77402
77403 commit 0949bd46a6455b308f66ad7c993bfee62412db35
77404 Author: Brad Spengler <spender@grsecurity.net>
77405 Date: Thu Mar 22 16:56:09 2012 -0400
77406
77407 Use current_umask() instead of current->fs->umask
77408
77409 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
77410 Author: Brad Spengler <spender@grsecurity.net>
77411 Date: Wed Mar 21 19:42:42 2012 -0400
77412
77413 compile fix
77414
77415 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
77416 Author: Brad Spengler <spender@grsecurity.net>
77417 Date: Wed Mar 21 19:34:56 2012 -0400
77418
77419 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
77420 uses of domains with particular hash collisions
77421
77422 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
77423 Author: Brad Spengler <spender@grsecurity.net>
77424 Date: Tue Mar 20 20:25:49 2012 -0400
77425
77426 zero kernel_role
77427
77428 commit b00953b43c69238d181d21121ef1577c988d5f6b
77429 Author: Brad Spengler <spender@grsecurity.net>
77430 Date: Tue Mar 20 19:29:34 2012 -0400
77431
77432 zero real_root after releasing it
77433
77434 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
77435 Merge: b724f59 273f98e
77436 Author: Brad Spengler <spender@grsecurity.net>
77437 Date: Tue Mar 20 19:11:26 2012 -0400
77438
77439 Merge branch 'pax-test' into grsec-test
77440
77441 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
77442 Author: Brad Spengler <spender@grsecurity.net>
77443 Date: Tue Mar 20 19:10:52 2012 -0400
77444
77445 Temporary workaround for (most) size_overflow plugin false-positives
77446 Increase randomization for brk-managed heap to 21 bits
77447 Update to pax-linux-3.2.12-test32.patch
77448
77449 commit b724f59125304460c2af8bd4b02921993afbb5d3
77450 Author: Brad Spengler <spender@grsecurity.net>
77451 Date: Tue Mar 20 18:58:53 2012 -0400
77452
77453 compile fix
77454
77455 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
77456 Author: Brad Spengler <spender@grsecurity.net>
77457 Date: Tue Mar 20 18:52:23 2012 -0400
77458
77459 Require default and kernel role
77460
77461 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
77462 Author: Brad Spengler <spender@grsecurity.net>
77463 Date: Tue Mar 20 18:47:28 2012 -0400
77464
77465 Allow policies without special roles
77466 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
77467
77468 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
77469 Merge: 8e012dc f14661a
77470 Author: Brad Spengler <spender@grsecurity.net>
77471 Date: Mon Mar 19 18:06:59 2012 -0400
77472
77473 Merge branch 'pax-test' into grsec-test
77474
77475 Conflicts:
77476 fs/namei.c
77477
77478 commit f14661aaf202155c97f66626cea0269017bb7775
77479 Merge: eae671f 058b017
77480 Author: Brad Spengler <spender@grsecurity.net>
77481 Date: Mon Mar 19 18:05:44 2012 -0400
77482
77483 Merge branch 'linux-3.2.y' into pax-test
77484
77485 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
77486 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
77487 Date: Fri Mar 16 17:08:39 2012 -0700
77488
77489 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
77490
77491 According to the report from Slicky Devil, nilfs caused kernel oops at
77492 nilfs_load_super_block function during mount after he shrank the
77493 partition without resizing the filesystem:
77494
77495 BUG: unable to handle kernel NULL pointer dereference at 00000048
77496 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
77497 *pde = 00000000
77498 Oops: 0000 [#1] PREEMPT SMP
77499 ...
77500 Call Trace:
77501 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
77502 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
77503 [<c0226636>] mount_fs+0x36/0x180
77504 [<c023d961>] vfs_kern_mount+0x51/0xa0
77505 [<c023ddae>] do_kern_mount+0x3e/0xe0
77506 [<c023f189>] do_mount+0x169/0x700
77507 [<c023fa9b>] sys_mount+0x6b/0xa0
77508 [<c04abd1f>] sysenter_do_call+0x12/0x28
77509 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
77510 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
77511 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
77512 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
77513 CR2: 0000000000000048
77514
77515 This turned out due to a defect in an error path which runs if the
77516 calculated location of the secondary super block was invalid.
77517
77518 This patch fixes it and eliminates the reported oops.
77519
77520 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
77521 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
77522 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
77523 Cc: <stable@vger.kernel.org> [2.6.30+]
77524 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
77525 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
77526
77527 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
77528 Author: Haogang Chen <haogangchen@gmail.com>
77529 Date: Fri Mar 16 17:08:38 2012 -0700
77530
77531 nilfs2: clamp ns_r_segments_percentage to [1, 99]
77532
77533 ns_r_segments_percentage is read from the disk. Bogus or malicious
77534 value could cause integer overflow and malfunction due to meaningless
77535 disk usage calculation. This patch reports error when mounting such
77536 bogus volumes.
77537
77538 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
77539 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
77540 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
77541 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
77542
77543 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
77544 Author: Eric Dumazet <eric.dumazet@gmail.com>
77545 Date: Sat Mar 10 09:20:21 2012 +0000
77546
77547 tcp: fix syncookie regression
77548
77549 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
77550 added a serious regression on synflood handling.
77551
77552 Simon Kirby discovered a successful connection was delayed by 20 seconds
77553 before being responsive.
77554
77555 In my tests, I discovered that xmit frames were lost, and needed ~4
77556 retransmits and a socket dst rebuild before being really sent.
77557
77558 In case of syncookie initiated connection, we use a different path to
77559 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
77560
77561 As ip_queue_xmit() now depends on inet flow being setup, fix this by
77562 copying the temp flowi4 we use in cookie_v4_check().
77563
77564 Reported-by: Simon Kirby <sim@netnation.com>
77565 Bisected-by: Simon Kirby <sim@netnation.com>
77566 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
77567 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
77568 Signed-off-by: David S. Miller <davem@davemloft.net>
77569
77570 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
77571 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
77572 Date: Mon Mar 12 02:59:41 2012 +0000
77573
77574 tun: don't hold network namespace by tun sockets
77575
77576 v3: added previously removed sock_put() to the tun_release() callback, because
77577 sk_release_kernel() doesn't drop the socket reference.
77578
77579 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
77580 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
77581 call.
77582
77583 TUN was designed to destroy it's socket on network namesapce shutdown. But this
77584 will never happen for persistent device, because it's socket holds network
77585 namespace.
77586 This patch removes of holding network namespace by TUN socket and replaces it
77587 by creating socket in init_net and then changing it's net it to desired one. On
77588 shutdown socket is moved back to init_net prior to final put.
77589
77590 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
77591 Signed-off-by: David S. Miller <davem@davemloft.net>
77592
77593 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
77594 Author: Tyler Hicks <tyhicks@canonical.com>
77595 Date: Mon Dec 12 10:02:30 2011 -0600
77596
77597 vfs: Correctly set the dir i_mutex lockdep class
77598
77599 9a7aa12f3911853a introduced additional logic around setting the i_mutex
77600 lockdep class for directory inodes. The idea was that some filesystems
77601 may want their own special lockdep class for different directory
77602 inodes and calling unlock_new_inode() should not clobber one of
77603 those special classes.
77604
77605 I believe that the added conditional, around the *negated* return value
77606 of lockdep_match_class(), caused directory inodes to be placed in the
77607 wrong lockdep class.
77608
77609 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
77610 all inodes. If the filesystem did not change the class during inode
77611 initialization, then the conditional mentioned above was false and the
77612 directory inode was incorrectly left in the non-directory lockdep class.
77613 If the filesystem did set a special lockdep class, then the conditional
77614 mentioned above was true and that class was clobbered with
77615 i_mutex_dir_key.
77616
77617 This patch removes the negation from the conditional so that the i_mutex
77618 lockdep class is properly set for directory inodes. Special classes are
77619 preserved and directory inodes with unmodified classes are set with
77620 i_mutex_dir_key.
77621
77622 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
77623 Reviewed-by: Jan Kara <jack@suse.cz>
77624 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
77625
77626 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
77627 Author: Jan Kara <jack@suse.cz>
77628 Date: Mon Feb 20 17:54:00 2012 +0100
77629
77630 udf: Fix deadlock in udf_release_file()
77631
77632 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
77633 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
77634 i_mutex is not needed in udf_release_file() anymore since protection by
77635 i_data_sem is enough to protect from races with write and truncate.
77636
77637 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
77638 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
77639 Signed-off-by: Jan Kara <jack@suse.cz>
77640 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
77641
77642 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
77643 Author: Miklos Szeredi <mszeredi@suse.cz>
77644 Date: Tue Mar 6 13:56:33 2012 +0100
77645
77646 vfs: fix double put after complete_walk()
77647
77648 complete_walk() already puts nd->path, no need to do it again at cleanup time.
77649
77650 This would result in Oopses if triggered, apparently the codepath is not too
77651 well exercised.
77652
77653 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
77654 CC: stable@vger.kernel.org
77655 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
77656
77657 commit 13885ba2b18400f3ef6540497d30f1af896605e5
77658 Author: Miklos Szeredi <mszeredi@suse.cz>
77659 Date: Tue Mar 6 13:56:34 2012 +0100
77660
77661 vfs: fix return value from do_last()
77662
77663 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
77664 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
77665 which is complete nonsense.
77666
77667 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
77668 CC: stable@vger.kernel.org
77669 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
77670
77671 Conflicts:
77672
77673 fs/namei.c
77674
77675 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
77676 Author: Al Viro <viro@zeniv.linux.org.uk>
77677 Date: Sat Mar 10 17:07:28 2012 -0500
77678
77679 restore smp_mb() in unlock_new_inode()
77680
77681 wait_on_inode() doesn't have ->i_lock
77682
77683 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
77684
77685 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
77686 Author: David S. Miller <davem@davemloft.net>
77687 Date: Tue Mar 13 18:19:51 2012 -0700
77688
77689 sparc32: Add -Av8 to assembler command line.
77690
77691 Newer version of binutils are more strict about specifying the
77692 correct options to enable certain classes of instructions.
77693
77694 The sparc32 build is done for v7 in order to support sun4c systems
77695 which lack hardware integer multiply and divide instructions.
77696
77697 So we have to pass -Av8 when building the assembler routines that
77698 use these instructions and get patched into the kernel when we find
77699 out that we have a v8 capable cpu.
77700
77701 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
77702 Signed-off-by: David S. Miller <davem@davemloft.net>
77703
77704 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
77705 Author: Thomas Gleixner <tglx@linutronix.de>
77706 Date: Fri Mar 9 20:55:10 2012 +0100
77707
77708 x86: Derandom delay_tsc for 64 bit
77709
77710 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
77711 delay_tsc() into a random delay generator for 64 bit. The reason is
77712 that it merged the mostly identical versions of delay_32.c and
77713 delay_64.c. Though the subtle difference of the result was:
77714
77715 static void delay_tsc(unsigned long loops)
77716 {
77717 - unsigned bclock, now;
77718 + unsigned long bclock, now;
77719
77720 Now the function uses rdtscl() which returns the lower 32bit of the
77721 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
77722 bit this fails when the lower 32bit are close to wrap around when
77723 bclock is read, because the following check
77724
77725 if ((now - bclock) >= loops)
77726 break;
77727
77728 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
77729 because the unsigned long (now - bclock) of these values results in
77730 0xffffffff00000001 which is definitely larger than the loops
77731 value. That explains Tvortkos observation:
77732
77733 "Because I am seeing udelay(500) (_occasionally_) being short, and
77734 that by delaying for some duration between 0us (yep) and 491us."
77735
77736 Make those variables explicitely u32 again, so this works for both 32
77737 and 64 bit.
77738
77739 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
77740 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
77741 Cc: stable@vger.kernel.org # >= 2.6.27
77742 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
77743
77744 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
77745 Author: Al Viro <viro@ZenIV.linux.org.uk>
77746 Date: Thu Mar 8 17:51:19 2012 +0000
77747
77748 aio: fix the "too late munmap()" race
77749
77750 Current code has put_ioctx() called asynchronously from aio_fput_routine();
77751 that's done *after* we have killed the request that used to pin ioctx,
77752 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
77753 from progressing. As the result, we can end up with async call of
77754 put_ioctx() being the last one and possibly happening during exit_mmap()
77755 or elf_core_dump(), neither of which expects stray munmap() being done
77756 to them...
77757
77758 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
77759 with that, but that's all we care about - neither io_destroy() nor
77760 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
77761 does really_put_req(), so the ioctx teardown won't be done until then
77762 and we don't care about the contents of ioctx past that point.
77763
77764 Since actual freeing of these suckers is RCU-delayed, we don't need to
77765 bump ioctx refcount when request goes into list for async removal.
77766 All we need is rcu_read_lock held just over the ->ctx_lock-protected
77767 area in aio_fput_routine().
77768
77769 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
77770 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
77771 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
77772 Cc: stable@vger.kernel.org
77773 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
77774
77775 commit 002124c055afbf09b52226af65621999e8316448
77776 Author: Al Viro <viro@ZenIV.linux.org.uk>
77777 Date: Wed Mar 7 05:16:35 2012 +0000
77778
77779 aio: fix io_setup/io_destroy race
77780
77781 Have ioctx_alloc() return an extra reference, so that caller would drop it
77782 on success and not bother with re-grabbing it on failure exit. The current
77783 code is obviously broken - io_destroy() from another thread that managed
77784 to guess the address io_setup() would've returned would free ioctx right
77785 under us; gets especially interesting if aio_context_t * we pass to
77786 io_setup() points to PROT_READ mapping, so put_user() fails and we end
77787 up doing io_destroy() on kioctx another thread has just got freed...
77788
77789 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
77790 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
77791 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
77792 Cc: stable@vger.kernel.org
77793 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
77794
77795 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
77796 Author: Dan Carpenter <dan.carpenter@oracle.com>
77797 Date: Thu Mar 15 15:17:12 2012 -0700
77798
77799 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
77800
77801 strict_strtoul() writes a long but ->gamma_mode only has space to store an
77802 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
77803 well. I've changed it to use kstrtouint() instead.
77804
77805 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
77806 Acked-by: Inki Dae <inki.dae@samsung.com>
77807 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
77808 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
77809 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
77810
77811 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
77812 Merge: e4b05b6 eae671f
77813 Author: Brad Spengler <spender@grsecurity.net>
77814 Date: Fri Mar 16 21:04:27 2012 -0400
77815
77816 Merge branch 'pax-test' into grsec-test
77817
77818 Conflicts:
77819 security/Kconfig
77820
77821 commit eae671fafe93f04685c04a089cc13efebc05d600
77822 Author: Brad Spengler <spender@grsecurity.net>
77823 Date: Fri Mar 16 20:58:01 2012 -0400
77824
77825 Update to pax-linux-3.2.11-test31.patch
77826 Introduction of the size_overflow plugin from Emese Revfy
77827 Many thanks to Emese for her hard work :)
77828
77829 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
77830 Merge: e55aa68 258c015
77831 Author: Brad Spengler <spender@grsecurity.net>
77832 Date: Thu Mar 15 20:59:19 2012 -0400
77833
77834 Merge branch 'pax-test' into grsec-test
77835
77836 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
77837 Author: Brad Spengler <spender@grsecurity.net>
77838 Date: Thu Mar 15 20:59:05 2012 -0400
77839
77840 fix ARM compilation
77841
77842 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
77843 Merge: 8f95ea9 55b7573
77844 Author: Brad Spengler <spender@grsecurity.net>
77845 Date: Wed Mar 14 19:33:41 2012 -0400
77846
77847 Merge branch 'pax-test' into grsec-test
77848
77849 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
77850 Author: Brad Spengler <spender@grsecurity.net>
77851 Date: Wed Mar 14 19:33:15 2012 -0400
77852
77853 Update to pax-linux-3.2.10-test28.patch
77854
77855 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
77856 Merge: c8786a2 886ac5e
77857 Author: Brad Spengler <spender@grsecurity.net>
77858 Date: Tue Mar 13 17:38:13 2012 -0400
77859
77860 Merge branch 'pax-test' into grsec-test
77861
77862 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
77863
77864 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
77865 Author: Brad Spengler <spender@grsecurity.net>
77866 Date: Tue Mar 13 17:37:44 2012 -0400
77867
77868 Update to pax-linux-3.2.10-test26.patch
77869
77870 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
77871 Merge: 219c982 c061fcf
77872 Author: Brad Spengler <spender@grsecurity.net>
77873 Date: Tue Mar 13 17:25:06 2012 -0400
77874
77875 Merge branch 'pax-test' into grsec-test
77876
77877 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
77878 Merge: 89373d2 3f4b3b2
77879 Author: Brad Spengler <spender@grsecurity.net>
77880 Date: Tue Mar 13 17:25:02 2012 -0400
77881
77882 Merge branch 'linux-3.2.y' into pax-test
77883
77884 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
77885 Merge: 54e19a3 89373d2
77886 Author: Brad Spengler <spender@grsecurity.net>
77887 Date: Mon Mar 12 17:23:57 2012 -0400
77888
77889 Merge branch 'pax-test' into grsec-test
77890
77891 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
77892 Merge: a778588 7459f11
77893 Author: Brad Spengler <spender@grsecurity.net>
77894 Date: Mon Mar 12 17:23:49 2012 -0400
77895
77896 Merge branch 'linux-3.2.y' into pax-test
77897
77898 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
77899 Merge: c4650f1 a778588
77900 Author: Brad Spengler <spender@grsecurity.net>
77901 Date: Mon Mar 12 16:51:25 2012 -0400
77902
77903 Merge branch 'pax-test' into grsec-test
77904
77905 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
77906 Author: Brad Spengler <spender@grsecurity.net>
77907 Date: Mon Mar 12 16:51:12 2012 -0400
77908
77909 Update to pax-linux-3.2.9-test24.patch
77910
77911 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
77912 Merge: fb2abee 1015790
77913 Author: Brad Spengler <spender@grsecurity.net>
77914 Date: Sun Mar 11 21:08:28 2012 -0400
77915
77916 Merge branch 'pax-test' into grsec-test
77917
77918 Conflicts:
77919 security/Kconfig
77920
77921 commit 101579028a736c224e590c7e12a7357018c424e1
77922 Author: Brad Spengler <spender@grsecurity.net>
77923 Date: Sun Mar 11 21:07:27 2012 -0400
77924
77925 Update to pax-linux-3.2.9-test22.patch
77926
77927 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
77928 Author: Brad Spengler <spender@grsecurity.net>
77929 Date: Sun Mar 11 11:02:17 2012 -0400
77930
77931 Allow 4096 CPUs
77932
77933 commit 96bae28cbe6a41d48e3b56e5904814096e956000
77934 Author: Brad Spengler <spender@grsecurity.net>
77935 Date: Sun Mar 11 10:25:58 2012 -0400
77936
77937 Use a per-cpu 48-bit counter instead of a global atomic64
77938 Initialize each counter to have the cpu number in the lower 16 bits
77939 instead of incrementing the counter each time by 1, perform the increments
77940 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
77941 any state
77942 idea from PaX Team
77943
77944 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
77945 Author: Brad Spengler <spender@grsecurity.net>
77946 Date: Sat Mar 10 20:33:12 2012 -0500
77947
77948 Special vnsec edition! :)
77949 Further reduce argv/env allowance for suid/sgid apps to 512KB
77950 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
77951 Clear 3GB personality on suid/sgid binaries
77952 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
77953 with the main purpose of throwing off program stack -> arg/env alignment
77954 Update documentation
77955
77956 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
77957 Author: Brad Spengler <spender@grsecurity.net>
77958 Date: Sat Mar 10 19:54:47 2012 -0500
77959
77960 Resolve skbuff.h warnings that turn into errors during compilation in
77961 the grsecurity directory with -Werror
77962
77963 commit 2023210ad43a944033fcacc660ce410888f562ee
77964 Merge: ece4383 5f66adf
77965 Author: Brad Spengler <spender@grsecurity.net>
77966 Date: Fri Mar 9 19:48:01 2012 -0500
77967
77968 Merge branch 'pax-test' into grsec-test
77969
77970 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
77971 Author: Brad Spengler <spender@grsecurity.net>
77972 Date: Fri Mar 9 19:47:06 2012 -0500
77973
77974 Add colorize plugin
77975
77976 commit ece4383e5e91c92d138c4df84225a70b552f4d69
77977 Merge: a366d0e ab4a5a1
77978 Author: Brad Spengler <spender@grsecurity.net>
77979 Date: Fri Mar 9 17:56:46 2012 -0500
77980
77981 Merge branch 'pax-test' into grsec-test
77982
77983 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
77984 Author: Brad Spengler <spender@grsecurity.net>
77985 Date: Fri Mar 9 17:56:26 2012 -0500
77986
77987 Update to pax-linux-3.2.9-test21.patch
77988
77989 commit a366d0ed963ce93fce10121c1100989d5f064e75
77990 Author: Mikulas Patocka <mpatocka@redhat.com>
77991 Date: Sun Mar 4 19:52:03 2012 -0500
77992
77993 mm: fix find_vma_prev
77994
77995 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
77996 management on PA-RISC.
77997
77998 After application of the patch, programs that allocate big arrays on the
77999 stack crash with segfault, for example, this will crash if compiled
78000 without optimization:
78001
78002 int main()
78003 {
78004 char array[200000];
78005 array[199999] = 0;
78006 return 0;
78007 }
78008
78009 The reason is that PA-RISC has up-growing stack and the stack is usually
78010 the last memory area. In the above example, a page fault happens above
78011 the stack.
78012
78013 Previously, if we passed too high address to find_vma_prev, it returned
78014 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
78015 change, it stores NULL in *pprev. Consequently, the stack area is not
78016 found and it is not expanded, as it used to be before the change.
78017
78018 This patch restores the old behavior and makes it return the last VMA in
78019 *pprev if the requested address is higher than address of any other VMA.
78020
78021 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
78022 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
78023 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78024
78025 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
78026 Author: Hugh Dickins <hughd@google.com>
78027 Date: Tue Mar 6 12:28:52 2012 -0800
78028
78029 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
78030
78031 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
78032 from shared anonymous: hoist the file case's -EINVAL up for both.
78033
78034 Signed-off-by: Hugh Dickins <hughd@google.com>
78035 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78036
78037 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
78038 Author: Al Viro <viro@ZenIV.linux.org.uk>
78039 Date: Mon Mar 5 06:38:42 2012 +0000
78040
78041 aout: move setup_arg_pages() prior to reading/mapping the binary
78042
78043 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
78044 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78045
78046 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
78047 Author: Jan Beulich <JBeulich@suse.com>
78048 Date: Mon Mar 5 16:49:24 2012 +0000
78049
78050 vsprintf: make %pV handling compatible with kasprintf()
78051
78052 kasprintf() (and potentially other functions that I didn't run across so
78053 far) want to evaluate argument lists twice. Caring to do so for the
78054 primary list is obviously their job, but they can't reasonably be
78055 expected to check the format string for instances of %pV, which however
78056 need special handling too: On architectures like x86-64 (as opposed to
78057 e.g. ix86), using the same argument list twice doesn't produce the
78058 expected results, as an internally managed cursor gets updated during
78059 the first run.
78060
78061 Fix the problem by always acting on a copy of the original list when
78062 handling %pV.
78063
78064 Signed-off-by: Jan Beulich <jbeulich@suse.com>
78065 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78066
78067 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
78068 Author: Al Viro <viro@ZenIV.linux.org.uk>
78069 Date: Mon Mar 5 06:39:47 2012 +0000
78070
78071 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
78072
78073 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
78074 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78075
78076 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
78077 Author: Christian König <deathsimple@vodafone.de>
78078 Date: Tue Feb 28 23:19:20 2012 +0100
78079
78080 drm/radeon: fix uninitialized variable
78081
78082 Without this fix the driver randomly treats
78083 textures as arrays and I'm really wondering
78084 why gcc isn't complaining about it.
78085
78086 Signed-off-by: Christian König <deathsimple@vodafone.de>
78087 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
78088 Signed-off-by: Dave Airlie <airlied@redhat.com>
78089
78090 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
78091 Author: H. Peter Anvin <hpa@zytor.com>
78092 Date: Fri Mar 2 10:43:48 2012 -0800
78093
78094 regset: Prevent null pointer reference on readonly regsets
78095
78096 The regset common infrastructure assumed that regsets would always
78097 have .get and .set methods, but not necessarily .active methods.
78098 Unfortunately people have since written regsets without .set methods.
78099
78100 Rather than putting in stub functions everywhere, handle regsets with
78101 null .get or .set methods explicitly.
78102
78103 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
78104 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
78105 Acked-by: Roland McGrath <roland@hack.frob.com>
78106 Cc: <stable@vger.kernel.org>
78107 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78108
78109 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
78110 Author: Brad Spengler <spender@grsecurity.net>
78111 Date: Mon Mar 5 18:12:57 2012 -0500
78112
78113 Fix compiler errors reported on forums
78114
78115 commit 1606774b48af24e6f99d99c624c0e447d4b66474
78116 Merge: 3127bd5 4ca2ffd
78117 Author: Brad Spengler <spender@grsecurity.net>
78118 Date: Mon Mar 5 17:31:35 2012 -0500
78119
78120 Merge branch 'pax-test' into grsec-test
78121
78122 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
78123 Author: Brad Spengler <spender@grsecurity.net>
78124 Date: Mon Mar 5 17:31:21 2012 -0500
78125
78126 Update to pax-linux-3.2.9-test20.patch
78127
78128 commit 3127bd581a292966b1057c7433219dac188c3720
78129 Author: Brad Spengler <spender@grsecurity.net>
78130 Date: Fri Mar 2 21:30:37 2012 -0500
78131
78132 Fix memory leak on logged exec_id check failure in /proc/pid/statm
78133 Thanks to Djalal Harouni for the report
78134
78135 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
78136 Merge: 0a56be8 9aa8288
78137 Author: Brad Spengler <spender@grsecurity.net>
78138 Date: Fri Mar 2 18:38:22 2012 -0500
78139
78140 Merge branch 'pax-test' into grsec-test
78141
78142 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
78143 Author: Brad Spengler <spender@grsecurity.net>
78144 Date: Fri Mar 2 18:37:43 2012 -0500
78145
78146 Update to pax-linux-3.2.9-test19.patch
78147
78148 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
78149 Merge: 9e66745 3f5c52a
78150 Author: Brad Spengler <spender@grsecurity.net>
78151 Date: Thu Mar 1 20:18:01 2012 -0500
78152
78153 Merge branch 'pax-test' into grsec-test
78154
78155 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
78156 Author: Brad Spengler <spender@grsecurity.net>
78157 Date: Thu Mar 1 20:16:56 2012 -0500
78158
78159 Update to pax-linux-3.2.9-test18.patch
78160
78161 commit ae53ec231d12719a36bf871f8c5841020ed692ee
78162 Merge: b255baf 44fb317
78163 Author: Brad Spengler <spender@grsecurity.net>
78164 Date: Thu Mar 1 20:15:31 2012 -0500
78165
78166 Merge branch 'linux-3.2.y' into pax-test
78167
78168 commit 9e667456c03eadea2f305be761abe4de9a5877a3
78169 Merge: 5e4e200 b255baf
78170 Author: Brad Spengler <spender@grsecurity.net>
78171 Date: Mon Feb 27 20:53:59 2012 -0500
78172
78173 Merge branch 'pax-test' into grsec-test
78174
78175 commit b255baf50365d39b406f43aab2c64745607baaa2
78176 Merge: 340ce90 1de504e
78177 Author: Brad Spengler <spender@grsecurity.net>
78178 Date: Mon Feb 27 20:53:29 2012 -0500
78179
78180 Merge branch 'linux-3.2.y' into pax-test
78181 Update to pax-linux-3.2.8-test17.patch
78182
78183 Conflicts:
78184 arch/x86/include/asm/i387.h
78185 arch/x86/kernel/process_32.c
78186 arch/x86/kernel/traps.c
78187
78188 commit 5e4e200ac530452884b625cb75de240e1e98c731
78189 Merge: 44306d7 340ce90
78190 Author: Brad Spengler <spender@grsecurity.net>
78191 Date: Mon Feb 27 18:02:13 2012 -0500
78192
78193 Merge branch 'pax-test' into grsec-test
78194
78195 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
78196 Author: Brad Spengler <spender@grsecurity.net>
78197 Date: Mon Feb 27 18:01:48 2012 -0500
78198
78199 Update to pax-linux-3.2.7-test17.patch
78200
78201 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
78202 Merge: 29d0b07 521c411
78203 Author: Brad Spengler <spender@grsecurity.net>
78204 Date: Sun Feb 26 19:04:15 2012 -0500
78205
78206 Merge branch 'pax-test' into grsec-test
78207
78208 Conflicts:
78209 Makefile
78210
78211 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
78212 Author: Brad Spengler <spender@grsecurity.net>
78213 Date: Sun Feb 26 19:03:33 2012 -0500
78214
78215 Update to pax-linux-3.2.7-test16.patch
78216
78217 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
78218 Author: Brad Spengler <spender@grsecurity.net>
78219 Date: Sun Feb 26 17:12:44 2012 -0500
78220
78221 fix typo
78222
78223 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
78224 Merge: f45b3be caa8f83
78225 Author: Brad Spengler <spender@grsecurity.net>
78226 Date: Sat Feb 25 20:59:27 2012 -0500
78227
78228 Merge branch 'pax-test' into grsec-test
78229
78230 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
78231 Author: Brad Spengler <spender@grsecurity.net>
78232 Date: Sat Feb 25 20:59:12 2012 -0500
78233
78234 Update to pax-linux-3.2.7-test15.patch
78235
78236 commit f45b3be34a345502a302e736af9a65742ddef7cb
78237 Merge: 62f35fd 9f1309b
78238 Author: Brad Spengler <spender@grsecurity.net>
78239 Date: Sat Feb 25 11:40:15 2012 -0500
78240
78241 Merge branch 'pax-test' into grsec-test
78242
78243 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
78244 Author: Brad Spengler <spender@grsecurity.net>
78245 Date: Sat Feb 25 11:39:57 2012 -0500
78246
78247 Update to pax-linux-3.2.7-test14.patch
78248
78249 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
78250 Author: Brad Spengler <spender@grsecurity.net>
78251 Date: Sat Feb 25 09:08:55 2012 -0500
78252
78253 We could log on attempted exploits of writing /proc/self/mem, but the current
78254 log function declares the access a read, so just swap the ordering for now
78255
78256 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
78257 Author: Brad Spengler <spender@grsecurity.net>
78258 Date: Sat Feb 25 08:46:14 2012 -0500
78259
78260 Log /proc/pid/mem attempts
78261
78262 commit 674471e581893a94d475acac3e3c4496209b3ac9
78263 Author: Brad Spengler <spender@grsecurity.net>
78264 Date: Sat Feb 25 08:15:00 2012 -0500
78265
78266 Make use of f_version for protecting /proc file structs (fine since we're not a directory
78267 or seq_file)
78268
78269 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
78270 Author: Brad Spengler <spender@grsecurity.net>
78271 Date: Fri Feb 24 20:02:19 2012 -0500
78272
78273 Fix ia64 compilation
78274
78275 commit 50dfea412fd395e0183c2ade368efa525d38b267
78276 Merge: 12db845 4c6f99b
78277 Author: Brad Spengler <spender@grsecurity.net>
78278 Date: Fri Feb 24 19:00:53 2012 -0500
78279
78280 Merge branch 'pax-test' into grsec-test
78281
78282 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
78283 Author: Brad Spengler <spender@grsecurity.net>
78284 Date: Fri Feb 24 19:00:36 2012 -0500
78285
78286 (6:57:09 PM) pipacs: but you can be proactive
78287 (Fix other-arch atomic64/REFCOUNT compilation failures)
78288
78289 commit 12db8453f6bb0a756f369c9151668ba1249bc478
78290 Author: Brad Spengler <spender@grsecurity.net>
78291 Date: Thu Feb 23 21:10:12 2012 -0500
78292
78293 Remove unnecessary copies, as suggested by solar
78294
78295 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
78296 Author: Brad Spengler <spender@grsecurity.net>
78297 Date: Thu Feb 23 20:59:35 2012 -0500
78298
78299 Make global_exec_counter static, as suggested by solar
78300
78301 commit e642091a475ebb3a30e81f85e7751233d0c2af43
78302 Author: Brad Spengler <spender@grsecurity.net>
78303 Date: Thu Feb 23 19:00:26 2012 -0500
78304
78305 sync with stable tree
78306
78307 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
78308 Author: Brad Spengler <spender@grsecurity.net>
78309 Date: Thu Feb 23 18:48:47 2012 -0500
78310
78311 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
78312 Remove handling of old kludge in chmod/fchmod
78313
78314 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
78315 Author: Brad Spengler <spender@grsecurity.net>
78316 Date: Thu Feb 23 18:18:49 2012 -0500
78317
78318 Apply umask checks to chmod/fchmod as well, as requested by sponsor
78319 Union the enforced umask with the existing one to produce minimal privilege
78320 Change umask type to u16
78321
78322 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
78323 Author: Brad Spengler <spender@grsecurity.net>
78324 Date: Wed Feb 22 18:16:11 2012 -0500
78325
78326 Add per-role umask enforcement to RBAC, requested by a sponsor
78327
78328 commit ad5ac943fe58199f1cc475912a39edb157acb77b
78329 Merge: dda0bb5 41722e3
78330 Author: Brad Spengler <spender@grsecurity.net>
78331 Date: Mon Feb 20 20:04:42 2012 -0500
78332
78333 Merge branch 'pax-test' into grsec-test
78334
78335 commit 41722e342e116d95f3d3556d66c97c888d752d39
78336 Author: Brad Spengler <spender@grsecurity.net>
78337 Date: Mon Feb 20 20:04:00 2012 -0500
78338
78339 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
78340 KERNEXEC plugin
78341
78342 commit dda0bb57137846a476a866c60db2681aaf6052c0
78343 Merge: 4fd554e d70927a
78344 Author: Brad Spengler <spender@grsecurity.net>
78345 Date: Mon Feb 20 20:01:41 2012 -0500
78346
78347 Merge branch 'pax-test' into grsec-test
78348
78349 commit d70927afec977d489a54c106a3c3ddc32e953050
78350 Merge: 1daebf1 9d0231c
78351 Author: Brad Spengler <spender@grsecurity.net>
78352 Date: Mon Feb 20 20:01:33 2012 -0500
78353
78354 Merge branch 'linux-3.2.y' into pax-test
78355
78356 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
78357 Author: Brad Spengler <spender@grsecurity.net>
78358 Date: Mon Feb 20 09:17:57 2012 -0500
78359
78360 Fix wrong logic on capability checks for switching roles, broke policies
78361 Thanks to Richard Kojedzinszky for reporting
78362
78363 commit 12f97d52ac603f24344f8d71569c412a307e9422
78364 Author: Brad Spengler <spender@grsecurity.net>
78365 Date: Thu Feb 16 21:20:10 2012 -0500
78366
78367 sparc64 compile fix
78368
78369 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
78370 Author: Brad Spengler <spender@grsecurity.net>
78371 Date: Thu Feb 16 18:38:32 2012 -0500
78372
78373 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
78374
78375 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
78376 Author: Brad Spengler <spender@grsecurity.net>
78377 Date: Thu Feb 16 18:18:01 2012 -0500
78378
78379 optimize the check a bit
78380
78381 commit 03159050f64989be44ae03be769cbed62a7cd2e5
78382 Author: Brad Spengler <spender@grsecurity.net>
78383 Date: Thu Feb 16 18:00:45 2012 -0500
78384
78385 smile VUPEN :D
78386 (limit argv+env to 1MB for suid/sgid binaries)
78387
78388 commit dd759d8800d225a397e4de49fe729c7d601298d2
78389 Author: Brad Spengler <spender@grsecurity.net>
78390 Date: Thu Feb 16 17:49:33 2012 -0500
78391
78392 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
78393
78394 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
78395 Author: Brad Spengler <spender@grsecurity.net>
78396 Date: Thu Feb 16 17:45:06 2012 -0500
78397
78398 Change the long long type for exec_id to the proper u64
78399
78400 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
78401 Author: Dan Carpenter <dan.carpenter@oracle.com>
78402 Date: Thu Feb 9 00:46:47 2012 +0000
78403
78404 isdn: type bug in isdn_net_header()
78405
78406 We use len to store the return value from eth_header(). eth_header()
78407 can return -ETH_HLEN (-14). We want to pass this back instead of
78408 truncating it to 65522 and returning that.
78409
78410 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
78411 Acked-by: Neil Horman <nhorman@tuxdriver.com>
78412 Signed-off-by: David S. Miller <davem@davemloft.net>
78413
78414 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
78415 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
78416 Date: Sat Feb 4 10:47:10 2012 +0100
78417
78418 exec: fix use-after-free bug in setup_new_exec()
78419
78420 Setting the task name is done within setup_new_exec() by accessing
78421 bprm->filename. However this happens after flush_old_exec().
78422 This may result in a use after free bug, flush_old_exec() may
78423 "complete" vfork_done, which will wake up the parent which in turn
78424 may free the passed in filename.
78425 To fix this add a new tcomm field in struct linux_binprm which
78426 contains the now early generated task name until it is used.
78427
78428 Fixes this bug on s390:
78429
78430 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
78431 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
78432 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
78433 Call Trace:
78434 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
78435 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
78436 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
78437 [<0000000000282b6c>] do_execve_common+0x410/0x514
78438 [<0000000000282cb6>] do_execve+0x46/0x58
78439 [<00000000005bce58>] kernel_execve+0x28/0x70
78440 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
78441 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
78442 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
78443 Last Breaking-Event-Address:
78444 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
78445
78446 Kernel panic - not syncing: Fatal exception: panic_on_oops
78447
78448 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
78449 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
78450 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78451
78452 commit d758ee9f5230893dabb5aab737b3109684bde196
78453 Author: Dan Carpenter <dan.carpenter@oracle.com>
78454 Date: Fri Feb 10 09:03:58 2012 +0100
78455
78456 relay: prevent integer overflow in relay_open()
78457
78458 "subbuf_size" and "n_subbufs" come from the user and they need to be
78459 capped to prevent an integer overflow.
78460
78461 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
78462 Cc: stable@kernel.org
78463 Signed-off-by: Jens Axboe <axboe@kernel.dk>
78464
78465 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
78466 Merge: b1baadf 1daebf1
78467 Author: Brad Spengler <spender@grsecurity.net>
78468 Date: Mon Feb 13 17:47:04 2012 -0500
78469
78470 Merge branch 'pax-test' into grsec-test
78471
78472 Conflicts:
78473 fs/proc/base.c
78474
78475 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
78476 Merge: 1413df2 c2db2e2
78477 Author: Brad Spengler <spender@grsecurity.net>
78478 Date: Mon Feb 13 17:45:54 2012 -0500
78479
78480 Merge branch 'linux-3.2.y' into pax-test
78481
78482 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
78483 Author: Brad Spengler <spender@grsecurity.net>
78484 Date: Sun Feb 12 16:44:05 2012 -0500
78485
78486 add missing declaration
78487
78488 commit 3981059c35e8463002517935c28f3d74b8e3703c
78489 Author: Brad Spengler <spender@grsecurity.net>
78490 Date: Sun Feb 12 16:36:04 2012 -0500
78491
78492 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
78493 in addition to existing checks (this handles the setresuid ruid = euid case)
78494
78495 commit 0beab03263c773f463412c350ad9064b44b6ede0
78496 Author: Brad Spengler <spender@grsecurity.net>
78497 Date: Sun Feb 12 16:13:40 2012 -0500
78498
78499 Revert setreuid changes when RBAC is enabled, breaks freeradius
78500 I'll fix the learning issue Lavish reported a different way through
78501 gradm modifications
78502
78503 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
78504
78505 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
78506 Author: Brad Spengler <spender@grsecurity.net>
78507 Date: Sat Feb 11 14:22:46 2012 -0500
78508
78509 copy exec_id on fork
78510
78511 commit 000c08e0890630086b2ed04084050ed856a7ec31
78512 Author: Brad Spengler <spender@grsecurity.net>
78513 Date: Fri Feb 10 20:00:36 2012 -0500
78514
78515 compile fix
78516
78517 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
78518 Author: Brad Spengler <spender@grsecurity.net>
78519 Date: Fri Feb 10 19:19:52 2012 -0500
78520
78521 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
78522 denies reading of sensitive /proc/pid entries where the file descriptor
78523 was opened in a different task than the one performing the read
78524
78525 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
78526 Author: Brad Spengler <spender@grsecurity.net>
78527 Date: Fri Feb 10 17:43:24 2012 -0500
78528
78529 Remove duplicate signal check
78530
78531 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
78532 Merge: 4eba97e 1413df2
78533 Author: Brad Spengler <spender@grsecurity.net>
78534 Date: Wed Feb 8 19:24:34 2012 -0500
78535
78536 Merge branch 'pax-test' into grsec-test
78537
78538 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
78539 Author: Brad Spengler <spender@grsecurity.net>
78540 Date: Wed Feb 8 19:24:08 2012 -0500
78541
78542 Merge changes from pax-linux-3.2.4-test11.patch
78543
78544 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
78545 Merge: 0e058dd 8dd90a2
78546 Author: Brad Spengler <spender@grsecurity.net>
78547 Date: Mon Feb 6 17:50:12 2012 -0500
78548
78549 Merge branch 'pax-test' into grsec-test
78550
78551 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
78552 Author: Brad Spengler <spender@grsecurity.net>
78553 Date: Mon Feb 6 17:49:07 2012 -0500
78554
78555 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
78556
78557 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
78558 Merge: 7e4169c 6133971
78559 Author: Brad Spengler <spender@grsecurity.net>
78560 Date: Mon Feb 6 17:48:57 2012 -0500
78561
78562 Merge branch 'linux-3.2.y' into pax-test
78563
78564 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
78565 Author: Brad Spengler <spender@grsecurity.net>
78566 Date: Sun Feb 5 19:24:45 2012 -0500
78567
78568 We now allow configurations with no PaX markings, giving the system no way to override the defaults
78569
78570 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
78571 Author: Brad Spengler <spender@grsecurity.net>
78572 Date: Sun Feb 5 10:01:23 2012 -0500
78573
78574 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
78575
78576 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
78577 Author: Brad Spengler <spender@grsecurity.net>
78578 Date: Sat Feb 4 21:01:16 2012 -0500
78579
78580 Improve security of ptrace-based monitoring/sandboxing
78581 See:
78582 http://article.gmane.org/gmane.linux.kernel.lsm/15156
78583
78584 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
78585 Author: Brad Spengler <spender@grsecurity.net>
78586 Date: Fri Feb 3 20:42:55 2012 -0500
78587
78588 fix typo
78589
78590 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
78591 Author: Brad Spengler <spender@grsecurity.net>
78592 Date: Fri Feb 3 20:25:38 2012 -0500
78593
78594 Reported by lavish on IRC:
78595 If a suid/sgid binary did not learn any setuid/setgid call during learning,
78596 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
78597 any restrictions on uid/gid changes. uid and gid can however be changed
78598 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
78599 euid/egid.
78600
78601 My fix:
78602 POSIX doesn't specify whether unprivileged users can perform the above
78603 setresuid/setresgid as an unprivileged user, though Linux has historically
78604 permitted them. Modify this behavior when RBAC is enabled to require
78605 CAP_SETUID/CAP_SETGID for these operations.
78606
78607 Thanks to Lavish for the report!
78608
78609 Conflicts:
78610
78611 kernel/sys.c
78612
78613 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
78614 Merge: ba586eb 7e4169c
78615 Author: Brad Spengler <spender@grsecurity.net>
78616 Date: Fri Feb 3 20:10:21 2012 -0500
78617
78618 Merge branch 'pax-test' into grsec-test
78619
78620 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
78621 Author: Brad Spengler <spender@grsecurity.net>
78622 Date: Fri Feb 3 20:10:05 2012 -0500
78623
78624 Merge changes from pax-linux-3.2.4-test9.patch
78625
78626 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
78627 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
78628 Date: Thu Feb 2 11:34:09 2012 +1030
78629
78630 Fix race in process_vm_rw_core
78631
78632 This fixes the race in process_vm_core found by Oleg (see
78633
78634 http://article.gmane.org/gmane.linux.kernel/1235667/
78635
78636 for details).
78637
78638 This has been updated since I last sent it as the creation of the new
78639 mm_access() function did almost exactly the same thing as parts of the
78640 previous version of this patch did.
78641
78642 In order to use mm_access() even when /proc isn't enabled, we move it to
78643 kernel/fork.c where other related process mm access functions already
78644 are.
78645
78646 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
78647 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78648
78649 Conflicts:
78650
78651 fs/proc/base.c
78652 mm/process_vm_access.c
78653
78654 commit b9194d60fb9fe579f5c34817ed822abde18939a0
78655 Author: Oleg Nesterov <oleg@redhat.com>
78656 Date: Tue Jan 31 17:15:11 2012 +0100
78657
78658 proc: make sure mem_open() doesn't pin the target's memory
78659
78660 Once /proc/pid/mem is opened, the memory can't be released until
78661 mem_release() even if its owner exits.
78662
78663 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
78664 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
78665 before access_remote_vm(), this verifies that this mm is still alive.
78666
78667 I am not sure what should mem_rw() return if atomic_inc_not_zero()
78668 fails. With this patch it returns zero to match the "mm == NULL" case,
78669 may be it should return -EINVAL like it did before e268337d.
78670
78671 Perhaps it makes sense to add the additional fatal_signal_pending()
78672 check into the main loop, to ensure we do not hold this memory if
78673 the target task was oom-killed.
78674
78675 Cc: stable@kernel.org
78676 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
78677 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78678
78679 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
78680 Author: Oleg Nesterov <oleg@redhat.com>
78681 Date: Tue Jan 31 17:14:38 2012 +0100
78682
78683 proc: mem_release() should check mm != NULL
78684
78685 mem_release() can hit mm == NULL, add the necessary check.
78686
78687 Cc: stable@kernel.org
78688 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
78689 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78690
78691 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
78692 Author: Oleg Nesterov <oleg@redhat.com>
78693 Date: Tue Jan 31 17:14:54 2012 +0100
78694
78695 note: redisabled mem_write
78696
78697 proc: unify mem_read() and mem_write()
78698
78699 No functional changes, cleanup and preparation.
78700
78701 mem_read() and mem_write() are very similar. Move this code into the
78702 new common helper, mem_rw(), which takes the additional "int write"
78703 argument.
78704
78705 Cc: stable@kernel.org
78706 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
78707 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
78708
78709 Conflicts:
78710
78711 fs/proc/base.c
78712
78713 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
78714 Merge: 3903f01 01fee18
78715 Author: Brad Spengler <spender@grsecurity.net>
78716 Date: Fri Feb 3 19:50:40 2012 -0500
78717
78718 Merge branch 'pax-test' into grsec-test
78719
78720 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
78721 Author: Brad Spengler <spender@grsecurity.net>
78722 Date: Fri Feb 3 19:49:46 2012 -0500
78723
78724 Merge changes from pax-linux-3.2.4-test8.patch
78725
78726 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
78727 Merge: 201c0db 141936c
78728 Author: Brad Spengler <spender@grsecurity.net>
78729 Date: Fri Feb 3 19:49:01 2012 -0500
78730
78731 Merge branch 'linux-3.2.y' into pax-test
78732
78733 commit 3903f0172ecadf7a575ba3535402a1506133640a
78734 Author: Brad Spengler <spender@grsecurity.net>
78735 Date: Mon Jan 30 23:26:44 2012 -0500
78736
78737 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
78738
78739 We'll whitelist required directories for compatibility instead of requiring
78740 that people disable the feature entirely if they use SELinux, fuse, etc
78741
78742 Conflicts:
78743
78744 fs/sysfs/mount.c
78745
78746 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
78747 Author: Brad Spengler <spender@grsecurity.net>
78748 Date: Sun Jan 29 01:12:19 2012 -0500
78749
78750 perform RBAC check if TPE is on but match fails, matches previous behavior
78751
78752 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
78753 Author: Brad Spengler <spender@grsecurity.net>
78754 Date: Sat Jan 28 13:17:06 2012 -0500
78755
78756 log more information about the reason for a TPE denial for novice users, requested by a sponsor
78757
78758 commit efefd67008cbad8a8591e2484410966a300a39a5
78759 Author: Brad Spengler <spender@grsecurity.net>
78760 Date: Fri Jan 27 19:58:53 2012 -0500
78761
78762 merge upstream sha512 changes
78763
78764 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
78765 Author: Brad Spengler <spender@grsecurity.net>
78766 Date: Fri Jan 27 19:49:07 2012 -0500
78767
78768 drop lock on error in xfs_readlink
78769
78770 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
78771
78772 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
78773 Author: Li Wang <liwang@nudt.edu.cn>
78774 Date: Thu Jan 19 09:44:36 2012 +0800
78775
78776 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
78777
78778 ecryptfs_write() can enter an infinite loop when truncating a file to a
78779 size larger than 4G. This only happens on architectures where size_t is
78780 represented by 32 bits.
78781
78782 This was caused by a size_t overflow due to it incorrectly being used to
78783 store the result of a calculation which uses potentially large values of
78784 type loff_t.
78785
78786 [tyhicks@canonical.com: rewrite subject and commit message]
78787 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
78788 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
78789 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
78790 Cc: <stable@vger.kernel.org>
78791 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
78792
78793 commit a7607747d0f74f357d78bb796d70635dd05f46e8
78794 Author: Tyler Hicks <tyhicks@canonical.com>
78795 Date: Thu Jan 19 20:33:44 2012 -0600
78796
78797 eCryptfs: Check inode changes in setattr
78798
78799 Most filesystems call inode_change_ok() very early in ->setattr(), but
78800 eCryptfs didn't call it at all. It allowed the lower filesystem to make
78801 the call in its ->setattr() function. Then, eCryptfs would copy the
78802 appropriate inode attributes from the lower inode to the eCryptfs inode.
78803
78804 This patch changes that and actually calls inode_change_ok() on the
78805 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
78806 would happen earlier in ecryptfs_setattr(), but there are some possible
78807 inode initialization steps that must happen first.
78808
78809 Since the call was already being made on the lower inode, the change in
78810 functionality should be minimal, except for the case of a file extending
78811 truncate call. In that case, inode_newsize_ok() was never being
78812 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
78813 maximum file size errors early on, eCryptfs would encrypt zeroed pages
78814 and write them to the lower filesystem until the lower filesystem's
78815 write path caught the error in generic_write_checks(). This patch
78816 introduces a new function, called ecryptfs_inode_newsize_ok(), which
78817 checks if the new lower file size is within the appropriate limits when
78818 the truncate operation will be growing the lower file.
78819
78820 In summary this change prevents eCryptfs truncate operations (and the
78821 resulting page encryptions), which would exceed the lower filesystem
78822 limits or FSIZE rlimits, from ever starting.
78823
78824 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
78825 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
78826 Cc: <stable@vger.kernel.org>
78827
78828 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
78829 Author: Tyler Hicks <tyhicks@canonical.com>
78830 Date: Wed Jan 18 18:30:04 2012 -0600
78831
78832 eCryptfs: Make truncate path killable
78833
78834 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
78835 page, zeroes out the appropriate portions, and then encrypts the page
78836 before writing it to the lower filesystem. It was unkillable and due to
78837 the lack of sparse file support could result in tying up a large portion
78838 of system resources, while encrypting pages of zeros, with no way for
78839 the truncate operation to be stopped from userspace.
78840
78841 This patch adds the ability for ecryptfs_write() to detect a pending
78842 fatal signal and return as gracefully as possible. The intent is to
78843 leave the lower file in a useable state, while still allowing a user to
78844 break out of the encryption loop. If a pending fatal signal is detected,
78845 the eCryptfs inode size is updated to reflect the modified inode size
78846 and then -EINTR is returned.
78847
78848 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
78849 Cc: <stable@vger.kernel.org>
78850
78851 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
78852 Author: Tyler Hicks <tyhicks@canonical.com>
78853 Date: Tue Jan 24 10:02:22 2012 -0600
78854
78855 eCryptfs: Fix oops when printing debug info in extent crypto functions
78856
78857 If pages passed to the eCryptfs extent-based crypto functions are not
78858 mapped and the module parameter ecryptfs_verbosity=1 was specified at
78859 loading time, a NULL pointer dereference will occur.
78860
78861 Note that this wouldn't happen on a production system, as you wouldn't
78862 pass ecryptfs_verbosity=1 on a production system. It leaks private
78863 information to the system logs and is for debugging only.
78864
78865 The debugging info printed in these messages is no longer very useful
78866 and rather than doing a kmap() in these debugging paths, it will be
78867 better to simply remove the debugging paths completely.
78868
78869 https://launchpad.net/bugs/913651
78870
78871 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
78872 Reported-by: Daniel DeFreez
78873 Cc: <stable@vger.kernel.org>
78874
78875 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
78876 Author: Tyler Hicks <tyhicks@canonical.com>
78877 Date: Thu Jan 12 11:30:44 2012 +0100
78878
78879 eCryptfs: Sanitize write counts of /dev/ecryptfs
78880
78881 A malicious count value specified when writing to /dev/ecryptfs may
78882 result in a a very large kernel memory allocation.
78883
78884 This patch peeks at the specified packet payload size, adds that to the
78885 size of the packet headers and compares the result with the write count
78886 value. The resulting maximum memory allocation size is approximately 532
78887 bytes.
78888
78889 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
78890 Reported-by: Sasha Levin <levinsasha928@gmail.com>
78891 Cc: <stable@vger.kernel.org>
78892
78893 commit 96dcb7282d323813181a1791f51c0ab7696b675b
78894 Merge: 6c09fa5 201c0db
78895 Author: Brad Spengler <spender@grsecurity.net>
78896 Date: Fri Jan 27 19:44:15 2012 -0500
78897
78898 Merge branch 'pax-test' into grsec-test
78899
78900 commit 201c0dbf177527367676028151e36d340923f033
78901 Author: Brad Spengler <spender@grsecurity.net>
78902 Date: Fri Jan 27 19:43:24 2012 -0500
78903
78904 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
78905 on loading modules with empty sections
78906
78907 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
78908 Author: Brad Spengler <spender@grsecurity.net>
78909 Date: Fri Jan 27 19:42:13 2012 -0500
78910
78911 compile fix
78912
78913 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
78914 Author: Brad Spengler <spender@grsecurity.net>
78915 Date: Fri Jan 27 19:39:28 2012 -0500
78916
78917 use LSM flags instead of duplicating checks
78918
78919 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
78920 Merge: 44b9f11 558718b
78921 Author: Brad Spengler <spender@grsecurity.net>
78922 Date: Fri Jan 27 18:56:23 2012 -0500
78923
78924 Merge branch 'pax-test' into grsec-test
78925
78926 commit 558718b2217beff69edf60f34a6f9893d910e9ac
78927 Author: Brad Spengler <spender@grsecurity.net>
78928 Date: Fri Jan 27 18:56:04 2012 -0500
78929
78930 Merge changes from pax-linux-3.2.2-test6.patch
78931
78932 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
78933 Author: Brad Spengler <spender@grsecurity.net>
78934 Date: Fri Jan 27 18:53:55 2012 -0500
78935
78936 don't increase the size of task_struct when unnecessary
78937 change ptrace_readexec log message
78938
78939 commit a9c9626e054adb885883aa64f85506852894dd33
78940 Author: Brad Spengler <spender@grsecurity.net>
78941 Date: Fri Jan 27 18:16:28 2012 -0500
78942
78943 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
78944 the protection applies to all unreadable binaries.
78945
78946 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
78947 Merge: 7b3f3af 05a1349
78948 Author: Brad Spengler <spender@grsecurity.net>
78949 Date: Wed Jan 25 20:52:09 2012 -0500
78950
78951 Merge branch 'pax-test' into grsec-test
78952
78953 Conflicts:
78954 block/scsi_ioctl.c
78955 drivers/scsi/sd.c
78956 fs/proc/base.c
78957
78958 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
78959 Author: Brad Spengler <spender@grsecurity.net>
78960 Date: Wed Jan 25 20:47:36 2012 -0500
78961
78962 Resync with pax-linux-3.2.2-test5.patch
78963
78964 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
78965 Merge: c6d443d 3499d64
78966 Author: Brad Spengler <spender@grsecurity.net>
78967 Date: Wed Jan 25 20:45:16 2012 -0500
78968
78969 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
78970
78971 Conflicts:
78972 ipc/shm.c
78973
78974 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
78975 Author: Brad Spengler <spender@grsecurity.net>
78976 Date: Tue Jan 24 19:42:01 2012 -0500
78977
78978 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
78979 (may be changed if it breaks some userland), the other has its own
78980 config option
78981
78982 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
78983 the syscall or /proc/sys.
78984
78985 Second feature requires read access to a suid/sgid binary in order
78986 to ptrace it, preventing infoleaking of binaries in situations where
78987 the admin has specified 4711 or 2711 perms. Feature has been
78988 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
78989 a sysctl entry of ptrace_readexec
78990
78991 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
78992 Author: Brad Spengler <spender@grsecurity.net>
78993 Date: Sun Jan 22 14:37:10 2012 -0500
78994
78995 Compilation fixes
78996
78997 commit cd400e21c7c352baba47d6f375297a7847afb33a
78998 Author: Brad Spengler <spender@grsecurity.net>
78999 Date: Sun Jan 22 14:20:27 2012 -0500
79000
79001 Initial port of grsecurity 2.2.2 for Linux 3.2.1
79002 Note that the new syscalls added to this kernel for remote process read/write
79003 are subject to ptrace hardening/other relevant RBAC features
79004 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
79005 as well
79006 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
79007 you should be using a version of gcc with plugin support
79008
79009 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
79010 Author: Brad Spengler <spender@grsecurity.net>
79011 Date: Sun Jan 22 11:47:31 2012 -0500
79012
79013 Import pax-linux-3.2.1-test5.patch
79014 commit bfd7db842f835f9837cd43644459b3a95b0b488d
79015 Author: Brad Spengler <spender@grsecurity.net>
79016 Date: Sun Jan 22 11:02:02 2012 -0500
79017
79018 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
79019 instead of returning -EACCES
79020 thanks to Wraith from irc for the report
79021
79022 commit 873ac13576506cd48ddb527c2540f274e249da50
79023 Merge: 34083dd 8a44fcc
79024 Author: Brad Spengler <spender@grsecurity.net>
79025 Date: Fri Jan 20 18:04:02 2012 -0500
79026
79027 Merge branch 'pax-test' into grsec-test
79028
79029 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
79030 Author: Brad Spengler <spender@grsecurity.net>
79031 Date: Fri Jan 20 18:02:15 2012 -0500
79032
79033 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
79034 Denies executable shared memory when MPROTECT is active
79035 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
79036
79037 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
79038 Author: Brad Spengler <spender@grsecurity.net>
79039 Date: Thu Jan 19 20:23:14 2012 -0500
79040
79041 Introduce new GRKERNSEC_SETXID implementation
79042 We're not able to change the credentials of other threads in the process until at most
79043 one syscall after the first thread does it, since we mark the threads as needing rescheduling
79044 and such work occurs on syscall exit.
79045 This does however ensure that we're only modifying the current task's credentials
79046 which upholds RCU expectations
79047
79048 Many thanks to corsac for testing
79049
79050 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
79051 Author: Brad Spengler <spender@grsecurity.net>
79052 Date: Thu Jan 19 17:42:48 2012 -0500
79053
79054 Simplify backport
79055
79056 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
79057 Author: Brad Spengler <spender@grsecurity.net>
79058 Date: Thu Jan 19 17:08:16 2012 -0500
79059
79060 Commit the latest silent fix for a local privilege escalation from Linus
79061 Also disable writing to /proc/pid/mem
79062 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
79063
79064 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
79065 Merge: 0394a3f 7e6299b
79066 Author: Brad Spengler <spender@grsecurity.net>
79067 Date: Wed Jan 18 20:22:09 2012 -0500
79068
79069 Merge branch 'pax-test' into grsec-test
79070
79071 commit 7e6299b4733c082dde930375dd207b63237751ec
79072 Merge: 83555fb 9bb1282
79073 Author: Brad Spengler <spender@grsecurity.net>
79074 Date: Wed Jan 18 20:21:37 2012 -0500
79075
79076 Merge branch 'linux-3.1.y' into pax-test
79077
79078 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
79079 Author: Jesper Juhl <jj@chaosbits.net>
79080 Date: Sun Jan 8 22:44:29 2012 +0100
79081
79082 audit: always follow va_copy() with va_end()
79083
79084 A call to va_copy() should always be followed by a call to va_end() in
79085 the same function. In kernel/autit.c::audit_log_vformat() this is not
79086 always done. This patch makes sure va_end() is always called.
79087
79088 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
79089 Cc: Al Viro <viro@zeniv.linux.org.uk>
79090 Cc: Eric Paris <eparis@redhat.com>
79091 Cc: Andrew Morton <akpm@linux-foundation.org>
79092 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79093
79094 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
79095 Author: Andi Kleen <ak@linux.intel.com>
79096 Date: Thu Jan 12 17:20:30 2012 -0800
79097
79098 panic: don't print redundant backtraces on oops
79099
79100 When an oops causes a panic and panic prints another backtrace it's pretty
79101 common to have the original oops data be scrolled away on a 80x50 screen.
79102
79103 The second backtrace is quite redundant and not needed anyways.
79104
79105 So don't print the panic backtrace when oops_in_progress is true.
79106
79107 [akpm@linux-foundation.org: add comment]
79108 Signed-off-by: Andi Kleen <ak@linux.intel.com>
79109 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
79110 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
79111 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79112
79113 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
79114 Author: Miklos Szeredi <mszeredi@suse.cz>
79115 Date: Thu Jan 12 17:59:46 2012 +0100
79116
79117 fsnotify: don't BUG in fsnotify_destroy_mark()
79118
79119 Removing the parent of a watched file results in "kernel BUG at
79120 fs/notify/mark.c:139".
79121
79122 To reproduce
79123
79124 add "-w /tmp/audit/dir/watched_file" to audit.rules
79125 rm -rf /tmp/audit/dir
79126
79127 This is caused by fsnotify_destroy_mark() being called without an
79128 extra reference taken by the caller.
79129
79130 Reported by Francesco Cosoleto here:
79131
79132 https://bugzilla.novell.com/show_bug.cgi?id=689860
79133
79134 Fix by removing the BUG_ON and adding a comment about not accessing mark after
79135 the iput.
79136
79137 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
79138 CC: stable@vger.kernel.org
79139 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79140
79141 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
79142 Author: Paolo Bonzini <pbonzini@redhat.com>
79143 Date: Thu Jan 12 16:01:28 2012 +0100
79144
79145 block: fail SCSI passthrough ioctls on partition devices
79146
79147 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
79148 will pass the command to the underlying block device. This is
79149 well-known, but it is also a large security problem when (via Unix
79150 permissions, ACLs, SELinux or a combination thereof) a program or user
79151 needs to be granted access only to part of the disk.
79152
79153 This patch lets partitions forward a small set of harmless ioctls;
79154 others are logged with printk so that we can see which ioctls are
79155 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
79156 Of course it was being sent to a (partition on a) hard disk, so it would
79157 have failed with ENOTTY and the patch isn't changing anything in
79158 practice. Still, I'm treating it specially to avoid spamming the logs.
79159
79160 In principle, this restriction should include programs running with
79161 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
79162 /dev/sdb, it still should not be able to read/write outside the
79163 boundaries of /dev/sda2 independent of the capabilities. However, for
79164 now programs with CAP_SYS_RAWIO will still be allowed to send the
79165 ioctls. Their actions will still be logged.
79166
79167 This patch does not affect the non-libata IDE driver. That driver
79168 however already tests for bd != bd->bd_contains before issuing some
79169 ioctl; it could be restricted further to forbid these ioctls even for
79170 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
79171
79172 Cc: linux-scsi@vger.kernel.org
79173 Cc: Jens Axboe <axboe@kernel.dk>
79174 Cc: James Bottomley <JBottomley@parallels.com>
79175 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
79176 [ Make it also print the command name when warning - Linus ]
79177 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79178
79179 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
79180 Author: Paolo Bonzini <pbonzini@redhat.com>
79181 Date: Thu Jan 12 16:01:27 2012 +0100
79182
79183 block: add and use scsi_blk_cmd_ioctl
79184
79185 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
79186
79187 The function will then be enhanced to detect partition block devices
79188 and, in that case, subject the ioctls to whitelisting.
79189
79190 Cc: linux-scsi@vger.kernel.org
79191 Cc: Jens Axboe <axboe@kernel.dk>
79192 Cc: James Bottomley <JBottomley@parallels.com>
79193 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
79194 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79195
79196 commit 97a79814903fc350e1d13704ea31528a42705401
79197 Author: Kees Cook <keescook@chromium.org>
79198 Date: Sat Jan 7 10:41:04 2012 -0800
79199
79200 audit: treat s_id as an untrusted string
79201
79202 The use of s_id should go through the untrusted string path, just to be
79203 extra careful.
79204
79205 Signed-off-by: Kees Cook <keescook@chromium.org>
79206 Acked-by: Mimi Zohar <zohar@us.ibm.com>
79207 Signed-off-by: Eric Paris <eparis@redhat.com>
79208
79209 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
79210 Author: Xi Wang <xi.wang@gmail.com>
79211 Date: Tue Dec 20 18:39:41 2011 -0500
79212
79213 audit: fix signedness bug in audit_log_execve_info()
79214
79215 In the loop, a size_t "len" is used to hold the return value of
79216 audit_log_single_execve_arg(), which returns -1 on error. In that
79217 case the error handling (len <= 0) will be bypassed since "len" is
79218 unsigned, and the loop continues with (p += len) being wrapped.
79219 Change the type of "len" to signed int to fix the error handling.
79220
79221 size_t len;
79222 ...
79223 for (...) {
79224 len = audit_log_single_execve_arg(...);
79225 if (len <= 0)
79226 break;
79227 p += len;
79228 }
79229
79230 Signed-off-by: Xi Wang <xi.wang@gmail.com>
79231 Signed-off-by: Eric Paris <eparis@redhat.com>
79232
79233 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
79234 Author: Dan Carpenter <dan.carpenter@oracle.com>
79235 Date: Tue Jan 17 03:28:51 2012 -0300
79236
79237 [media] ds3000: using logical && instead of bitwise &
79238
79239 The intent here was to test if the FE_HAS_LOCK was set. The current
79240 test is equivalent to "if (status) { ..."
79241
79242 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
79243 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
79244
79245 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
79246 Author: Brad Spengler <spender@grsecurity.net>
79247 Date: Mon Jan 16 13:10:38 2012 -0500
79248
79249 Ignore the 0 signal for protected task RBAC checks
79250
79251 commit d513acd55f7a683f6e146a4f570cdb63300479ab
79252 Author: Brad Spengler <spender@grsecurity.net>
79253 Date: Mon Jan 16 11:56:13 2012 -0500
79254
79255 whitespace cleanup
79256
79257 commit ced261c4b82818c700aff8487f647f6f3e5b5122
79258 Merge: d48751f 83555fb
79259 Author: Brad Spengler <spender@grsecurity.net>
79260 Date: Fri Jan 13 20:12:54 2012 -0500
79261
79262 Merge branch 'pax-test' into grsec-test
79263
79264 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
79265 Merge: fcd8129 93dad39
79266 Author: Brad Spengler <spender@grsecurity.net>
79267 Date: Fri Jan 13 20:12:43 2012 -0500
79268
79269 Merge branch 'linux-3.1.y' into pax-test
79270
79271 commit d48751f3919ae855fda0ff6c149db82442329253
79272 Author: Brad Spengler <spender@grsecurity.net>
79273 Date: Wed Jan 11 19:05:47 2012 -0500
79274
79275 Call our own set_user when forcing change to new id
79276
79277 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
79278 Merge: e6578ff fcd8129
79279 Author: Brad Spengler <spender@grsecurity.net>
79280 Date: Tue Jan 10 16:00:10 2012 -0500
79281
79282 Merge branch 'pax-test' into grsec-test
79283
79284 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
79285 Author: Brad Spengler <spender@grsecurity.net>
79286 Date: Tue Jan 10 15:58:43 2012 -0500
79287
79288 Merge changes from pax-linux-3.1.8-test23.patch
79289
79290 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
79291 Merge: 8859ec3 a120549
79292 Author: Brad Spengler <spender@grsecurity.net>
79293 Date: Fri Jan 6 21:45:56 2012 -0500
79294
79295 Merge branch 'pax-test' into grsec-test
79296
79297 commit a12054967a77090de1caa07c41e694a77db4e237
79298 Author: Brad Spengler <spender@grsecurity.net>
79299 Date: Fri Jan 6 21:45:30 2012 -0500
79300
79301 Merge changes from pax-linux-3.1.8-test22.patch
79302
79303 commit 8859ec32f9815c274df65448f9f2960176c380d3
79304 Merge: a5016b4 ddd4114
79305 Author: Brad Spengler <spender@grsecurity.net>
79306 Date: Fri Jan 6 21:26:08 2012 -0500
79307
79308 Merge branch 'pax-test' into grsec-test
79309
79310 Conflicts:
79311 fs/binfmt_elf.c
79312 security/Kconfig
79313
79314 commit ddd41147e158a79704983a409b7433eba797cf66
79315 Author: Brad Spengler <spender@grsecurity.net>
79316 Date: Fri Jan 6 21:12:42 2012 -0500
79317
79318 Resync with PaX patch (whitespace difference)
79319
79320 commit 29e569df8205c5f0e043fe4803aa984406c8b118
79321 Author: Brad Spengler <spender@grsecurity.net>
79322 Date: Fri Jan 6 21:09:47 2012 -0500
79323
79324 Merge changes from pax-linux-3.1.8-test21.patch
79325
79326 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
79327 Merge: 0124c92 04231d5
79328 Author: Brad Spengler <spender@grsecurity.net>
79329 Date: Fri Jan 6 18:52:20 2012 -0500
79330
79331 Merge branch 'pax-test' into grsec-test
79332
79333 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
79334 Merge: 7bdddeb a919904
79335 Author: Brad Spengler <spender@grsecurity.net>
79336 Date: Fri Jan 6 18:51:50 2012 -0500
79337
79338 Merge branch 'linux-3.1.y' into pax-test
79339
79340 Conflicts:
79341 include/net/flow.h
79342
79343 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
79344 Author: Brad Spengler <spender@grsecurity.net>
79345 Date: Fri Jan 6 18:33:05 2012 -0500
79346
79347 Make GRKERNSEC_SETXID option compatible with credential debugging
79348
79349 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
79350 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
79351 Date: Wed Dec 28 15:57:11 2011 -0800
79352
79353 mm/mempolicy.c: refix mbind_range() vma issue
79354
79355 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
79356 slightly incorrect fix.
79357
79358 Why? Think following case.
79359
79360 1. map 4 pages of a file at offset 0
79361
79362 [0123]
79363
79364 2. map 2 pages just after the first mapping of the same file but with
79365 page offset 2
79366
79367 [0123][23]
79368
79369 3. mbind() 2 pages from the first mapping at offset 2.
79370 mbind_range() should treat new vma is,
79371
79372 [0123][23]
79373 |23|
79374 mbind vma
79375
79376 but it does
79377
79378 [0123][23]
79379 |01|
79380 mbind vma
79381
79382 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
79383
79384 This patch fixes it.
79385
79386 [testcase]
79387 test result - before the patch
79388
79389 case4: 126: test failed. expect '2,4', actual '2,2,2'
79390 case5: passed
79391 case6: passed
79392 case7: passed
79393 case8: passed
79394 case_n: 246: test failed. expect '4,2', actual '1,4'
79395
79396 ------------[ cut here ]------------
79397 kernel BUG at mm/filemap.c:135!
79398 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
79399
79400 (snip long bug on messages)
79401
79402 test result - after the patch
79403
79404 case4: passed
79405 case5: passed
79406 case6: passed
79407 case7: passed
79408 case8: passed
79409 case_n: passed
79410
79411 source: mbind_vma_test.c
79412 ============================================================
79413 #include <numaif.h>
79414 #include <numa.h>
79415 #include <sys/mman.h>
79416 #include <stdio.h>
79417 #include <unistd.h>
79418 #include <stdlib.h>
79419 #include <string.h>
79420
79421 static unsigned long pagesize;
79422 void* mmap_addr;
79423 struct bitmask *nmask;
79424 char buf[1024];
79425 FILE *file;
79426 char retbuf[10240] = "";
79427 int mapped_fd;
79428
79429 char *rubysrc = "ruby -e '\
79430 pid = %d; \
79431 vstart = 0x%llx; \
79432 vend = 0x%llx; \
79433 s = `pmap -q #{pid}`; \
79434 rary = []; \
79435 s.each_line {|line|; \
79436 ary=line.split(\" \"); \
79437 addr = ary[0].to_i(16); \
79438 if(vstart <= addr && addr < vend) then \
79439 rary.push(ary[1].to_i()/4); \
79440 end; \
79441 }; \
79442 print rary.join(\",\"); \
79443 '";
79444
79445 void init(void)
79446 {
79447 void* addr;
79448 char buf[128];
79449
79450 nmask = numa_allocate_nodemask();
79451 numa_bitmask_setbit(nmask, 0);
79452
79453 pagesize = getpagesize();
79454
79455 sprintf(buf, "%s", "mbind_vma_XXXXXX");
79456 mapped_fd = mkstemp(buf);
79457 if (mapped_fd == -1)
79458 perror("mkstemp "), exit(1);
79459 unlink(buf);
79460
79461 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
79462 perror("lseek "), exit(1);
79463 if (write(mapped_fd, "\0", 1) < 0)
79464 perror("write "), exit(1);
79465
79466 addr = mmap(NULL, pagesize*8, PROT_NONE,
79467 MAP_SHARED, mapped_fd, 0);
79468 if (addr == MAP_FAILED)
79469 perror("mmap "), exit(1);
79470
79471 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
79472 perror("mprotect "), exit(1);
79473
79474 mmap_addr = addr + pagesize;
79475
79476 /* make page populate */
79477 memset(mmap_addr, 0, pagesize*6);
79478 }
79479
79480 void fin(void)
79481 {
79482 void* addr = mmap_addr - pagesize;
79483 munmap(addr, pagesize*8);
79484
79485 memset(buf, 0, sizeof(buf));
79486 memset(retbuf, 0, sizeof(retbuf));
79487 }
79488
79489 void mem_bind(int index, int len)
79490 {
79491 int err;
79492
79493 err = mbind(mmap_addr+pagesize*index, pagesize*len,
79494 MPOL_BIND, nmask->maskp, nmask->size, 0);
79495 if (err)
79496 perror("mbind "), exit(err);
79497 }
79498
79499 void mem_interleave(int index, int len)
79500 {
79501 int err;
79502
79503 err = mbind(mmap_addr+pagesize*index, pagesize*len,
79504 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
79505 if (err)
79506 perror("mbind "), exit(err);
79507 }
79508
79509 void mem_unbind(int index, int len)
79510 {
79511 int err;
79512
79513 err = mbind(mmap_addr+pagesize*index, pagesize*len,
79514 MPOL_DEFAULT, NULL, 0, 0);
79515 if (err)
79516 perror("mbind "), exit(err);
79517 }
79518
79519 void Assert(char *expected, char *value, char *name, int line)
79520 {
79521 if (strcmp(expected, value) == 0) {
79522 fprintf(stderr, "%s: passed\n", name);
79523 return;
79524 }
79525 else {
79526 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
79527 name, line,
79528 expected, value);
79529 // exit(1);
79530 }
79531 }
79532
79533 /*
79534 AAAA
79535 PPPPPPNNNNNN
79536 might become
79537 PPNNNNNNNNNN
79538 case 4 below
79539 */
79540 void case4(void)
79541 {
79542 init();
79543 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
79544
79545 mem_bind(0, 4);
79546 mem_unbind(2, 2);
79547
79548 file = popen(buf, "r");
79549 fread(retbuf, sizeof(retbuf), 1, file);
79550 Assert("2,4", retbuf, "case4", __LINE__);
79551
79552 fin();
79553 }
79554
79555 /*
79556 AAAA
79557 PPPPPPNNNNNN
79558 might become
79559 PPPPPPPPPPNN
79560 case 5 below
79561 */
79562 void case5(void)
79563 {
79564 init();
79565 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
79566
79567 mem_bind(0, 2);
79568 mem_bind(2, 2);
79569
79570 file = popen(buf, "r");
79571 fread(retbuf, sizeof(retbuf), 1, file);
79572 Assert("4,2", retbuf, "case5", __LINE__);
79573
79574 fin();
79575 }
79576
79577 /*
79578 AAAA
79579 PPPPNNNNXXXX
79580 might become
79581 PPPPPPPPPPPP 6
79582 */
79583 void case6(void)
79584 {
79585 init();
79586 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
79587
79588 mem_bind(0, 2);
79589 mem_bind(4, 2);
79590 mem_bind(2, 2);
79591
79592 file = popen(buf, "r");
79593 fread(retbuf, sizeof(retbuf), 1, file);
79594 Assert("6", retbuf, "case6", __LINE__);
79595
79596 fin();
79597 }
79598
79599 /*
79600 AAAA
79601 PPPPNNNNXXXX
79602 might become
79603 PPPPPPPPXXXX 7
79604 */
79605 void case7(void)
79606 {
79607 init();
79608 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
79609
79610 mem_bind(0, 2);
79611 mem_interleave(4, 2);
79612 mem_bind(2, 2);
79613
79614 file = popen(buf, "r");
79615 fread(retbuf, sizeof(retbuf), 1, file);
79616 Assert("4,2", retbuf, "case7", __LINE__);
79617
79618 fin();
79619 }
79620
79621 /*
79622 AAAA
79623 PPPPNNNNXXXX
79624 might become
79625 PPPPNNNNNNNN 8
79626 */
79627 void case8(void)
79628 {
79629 init();
79630 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
79631
79632 mem_bind(0, 2);
79633 mem_interleave(4, 2);
79634 mem_interleave(2, 2);
79635
79636 file = popen(buf, "r");
79637 fread(retbuf, sizeof(retbuf), 1, file);
79638 Assert("2,4", retbuf, "case8", __LINE__);
79639
79640 fin();
79641 }
79642
79643 void case_n(void)
79644 {
79645 init();
79646 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
79647
79648 /* make redundunt mappings [0][1234][34][7] */
79649 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
79650 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
79651
79652 /* Expect to do nothing. */
79653 mem_unbind(2, 2);
79654
79655 file = popen(buf, "r");
79656 fread(retbuf, sizeof(retbuf), 1, file);
79657 Assert("4,2", retbuf, "case_n", __LINE__);
79658
79659 fin();
79660 }
79661
79662 int main(int argc, char** argv)
79663 {
79664 case4();
79665 case5();
79666 case6();
79667 case7();
79668 case8();
79669 case_n();
79670
79671 return 0;
79672 }
79673 =============================================================
79674
79675 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
79676 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
79677 Cc: Minchan Kim <minchan.kim@gmail.com>
79678 Cc: Caspar Zhang <caspar@casparzhang.com>
79679 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
79680 Cc: Christoph Lameter <cl@linux.com>
79681 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
79682 Cc: Mel Gorman <mel@csn.ul.ie>
79683 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
79684 Cc: <stable@vger.kernel.org> [3.1.x]
79685 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
79686 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79687
79688 commit f3a1082005781777086df235049f8c0b7efe524e
79689 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
79690 Date: Tue Dec 27 22:32:41 2011 -0500
79691
79692 packet: fix possible dev refcnt leak when bind fail
79693
79694 If bind is fail when bind is called after set PACKET_FANOUT
79695 sock option, the dev refcnt will leak.
79696
79697 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
79698 Signed-off-by: David S. Miller <davem@davemloft.net>
79699
79700 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
79701 Author: Haogang Chen <haogangchen@gmail.com>
79702 Date: Mon Dec 19 17:11:56 2011 -0800
79703
79704 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
79705
79706 There is a potential integer overflow in nilfs_ioctl_clean_segments().
79707 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
79708 call to vmalloc() will allocate a buffer smaller than expected, which
79709 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
79710 lfs_clean_segments().
79711
79712 The following check does not prevent the overflow because nsegs is also
79713 controlled by the userspace and could be very large.
79714
79715 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
79716 goto out_free;
79717
79718 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
79719 returns -EINVAL when overflow.
79720
79721 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
79722 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
79723 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
79724 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79725
79726 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
79727 Author: Kautuk Consul <consul.kautuk@gmail.com>
79728 Date: Mon Dec 19 17:12:04 2011 -0800
79729
79730 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
79731
79732 Static storage is not required for the struct vmap_area in
79733 __get_vm_area_node.
79734
79735 Removing "static" to store this variable on the stack instead.
79736
79737 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
79738 Acked-by: David Rientjes <rientjes@google.com>
79739 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
79740 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79741
79742 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
79743 Author: Michel Lespinasse <walken@google.com>
79744 Date: Mon Dec 19 17:12:06 2011 -0800
79745
79746 binary_sysctl(): fix memory leak
79747
79748 binary_sysctl() calls sysctl_getname() which allocates from names_cache
79749 slab usin __getname()
79750
79751 The matching function to free the name is __putname(), and not putname()
79752 which should be used only to match getname() allocations.
79753
79754 This is because when auditing is enabled, putname() calls audit_putname
79755 *instead* (not in addition) to __putname(). Then, if a syscall is in
79756 progress, audit_putname does not release the name - instead, it expects
79757 the name to get released when the syscall completes, but that will happen
79758 only if audit_getname() was called previously, i.e. if the name was
79759 allocated with getname() rather than the naked __getname(). So,
79760 __getname() followed by putname() ends up leaking memory.
79761
79762 Signed-off-by: Michel Lespinasse <walken@google.com>
79763 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
79764 Cc: Christoph Hellwig <hch@infradead.org>
79765 Cc: Eric Paris <eparis@redhat.com>
79766 Cc: <stable@vger.kernel.org>
79767 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
79768 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79769
79770 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
79771 Author: Sean Hefty <sean.hefty@intel.com>
79772 Date: Tue Dec 6 21:17:11 2011 +0000
79773
79774 RDMA/cma: Verify private data length
79775
79776 private_data_len is defined as a u8. If the user specifies a large
79777 private_data size (> 220 bytes), we will calculate a total length that
79778 exceeds 255, resulting in private_data_len wrapping back to 0. This
79779 can lead to overwriting random kernel memory. Avoid this by verifying
79780 that the resulting size fits into a u8.
79781
79782 Reported-by: B. Thery <benjamin.thery@bull.net>
79783 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
79784 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
79785 Signed-off-by: Roland Dreier <roland@purestorage.com>
79786
79787 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
79788 Author: Xi Wang <xi.wang@gmail.com>
79789 Date: Sun Dec 11 23:40:56 2011 -0800
79790
79791 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
79792
79793 The error check (intr_status < 0) didn't work because intr_status is
79794 a u8. Change its type to signed int.
79795
79796 Signed-off-by: Xi Wang <xi.wang@gmail.com>
79797 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
79798
79799 commit e27f34e383d7863b2528a63b81b23db09781f6b6
79800 Author: Xi Wang <xi.wang@gmail.com>
79801 Date: Fri Dec 16 12:44:15 2011 +0000
79802
79803 sctp: fix incorrect overflow check on autoclose
79804
79805 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
79806 limiting the autoclose value. If userspace passes in -1 on 32-bit
79807 platform, the overflow check didn't work and autoclose would be set
79808 to 0xffffffff.
79809
79810 This patch defines a max_autoclose (in seconds) for limiting the value
79811 and exposes it through sysctl, with the following intentions.
79812
79813 1) Avoid overflowing autoclose * HZ.
79814
79815 2) Keep the default autoclose bound consistent across 32- and 64-bit
79816 platforms (INT_MAX / HZ in this patch).
79817
79818 3) Keep the autoclose value consistent between setsockopt() and
79819 getsockopt() calls.
79820
79821 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
79822 Signed-off-by: Xi Wang <xi.wang@gmail.com>
79823 Signed-off-by: David S. Miller <davem@davemloft.net>
79824
79825 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
79826 Author: Xi Wang <xi.wang@gmail.com>
79827 Date: Wed Dec 21 05:18:33 2011 -0500
79828
79829 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
79830
79831 Commit e133e737 didn't correctly fix the integer overflow issue.
79832
79833 - unsigned int required_size;
79834 + u64 required_size;
79835 ...
79836 required_size = mode_cmd->pitch * mode_cmd->height;
79837 - if (unlikely(required_size > dev_priv->vram_size)) {
79838 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
79839
79840 Note that both pitch and height are u32. Their product is still u32 and
79841 would overflow before being assigned to required_size. A correct way is
79842 to convert pitch and height to u64 before the multiplication.
79843
79844 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
79845
79846 This patch calls the existing vmw_kms_validate_mode_vram() for
79847 validation.
79848
79849 Signed-off-by: Xi Wang <xi.wang@gmail.com>
79850 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
79851 Signed-off-by: Dave Airlie <airlied@redhat.com>
79852
79853 Conflicts:
79854
79855 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
79856
79857 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
79858 Author: Xi Wang <xi.wang@gmail.com>
79859 Date: Thu Dec 22 13:35:22 2011 +0000
79860
79861 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
79862
79863 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
79864 cause a kernel oops due to insufficient bounds checking.
79865
79866 if (count > 1<<30) {
79867 /* Enforce a limit to prevent overflow */
79868 return -EINVAL;
79869 }
79870 count = roundup_pow_of_two(count);
79871 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
79872
79873 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
79874
79875 ... + (count * sizeof(struct rps_dev_flow))
79876
79877 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
79878 32 bits.
79879
79880 This patch replaces the magic number (1 << 30) with a symbolic bound.
79881
79882 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
79883 Signed-off-by: Xi Wang <xi.wang@gmail.com>
79884 Signed-off-by: David S. Miller <davem@davemloft.net>
79885
79886 commit 648188958672024b616c42c1f6c98c8cfc85619d
79887 Author: Xi Wang <xi.wang@gmail.com>
79888 Date: Fri Dec 30 10:40:17 2011 -0500
79889
79890 netfilter: ctnetlink: fix timeout calculation
79891
79892 The sanity check (timeout < 0) never works; the dividend is unsigned
79893 and so is the division, which should have been a signed division.
79894
79895 long timeout = (ct->timeout.expires - jiffies) / HZ;
79896 if (timeout < 0)
79897 timeout = 0;
79898
79899 This patch converts the time values to signed for the division.
79900
79901 Signed-off-by: Xi Wang <xi.wang@gmail.com>
79902 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
79903
79904 commit ab03a0973cee73f88655ff4981812ad316a6cd59
79905 Merge: 76f82df 7bdddeb
79906 Author: Brad Spengler <spender@grsecurity.net>
79907 Date: Tue Jan 3 17:42:50 2012 -0500
79908
79909 Merge branch 'pax-test' into grsec-test
79910
79911 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
79912 Merge: 3e59cb5 55cc81a
79913 Author: Brad Spengler <spender@grsecurity.net>
79914 Date: Tue Jan 3 17:42:36 2012 -0500
79915
79916 Merge branch 'linux-3.1.y' into pax-test
79917
79918 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
79919 Author: Brad Spengler <spender@grsecurity.net>
79920 Date: Thu Dec 22 20:15:02 2011 -0500
79921
79922 Only further restrict futex targeting another process -- our modified
79923 permission check also happened to allow a case where a process retaining
79924 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
79925 being non-zero (reported on forums by ben_w)
79926
79927 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
79928 Merge: 97c16f0 3e59cb5
79929 Author: Brad Spengler <spender@grsecurity.net>
79930 Date: Thu Dec 22 19:11:06 2011 -0500
79931
79932 Merge branch 'pax-test' into grsec-test
79933
79934 Conflicts:
79935 fs/hfs/btree.c
79936
79937 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
79938 Merge: 285eb4e c26f60b
79939 Author: Brad Spengler <spender@grsecurity.net>
79940 Date: Thu Dec 22 19:09:57 2011 -0500
79941
79942 Merge branch 'linux-3.1.y' into pax-test
79943
79944 Conflicts:
79945 arch/x86/kernel/process.c
79946
79947 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
79948 Author: Brad Spengler <spender@grsecurity.net>
79949 Date: Mon Dec 19 21:54:01 2011 -0500
79950
79951 Add new option: "Enforce consistent multithreaded privileges"
79952
79953 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
79954 Author: Brad Spengler <spender@grsecurity.net>
79955 Date: Wed Dec 7 19:58:31 2011 -0500
79956
79957 Remove harmless duplicate code -- exec_file would be null already so the
79958 second check would never pass.
79959
79960 commit 4e3304e94aa72737810bc50169519af157dce4ce
79961 Author: Brad Spengler <spender@grsecurity.net>
79962 Date: Wed Dec 7 19:50:39 2011 -0500
79963
79964 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
79965 depended on for attaching to a thread. Entries exist in /proc for
79966 threads, but are not visible in a readdir.
79967
79968 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
79969 Author: Brad Spengler <spender@grsecurity.net>
79970 Date: Sun Dec 4 18:03:28 2011 -0500
79971
79972 Put the already-walked path if in RCU-walk mode
79973
79974 commit ec7ae36b7159f10649709779443a988662965d66
79975 Author: Brad Spengler <spender@grsecurity.net>
79976 Date: Sun Dec 4 17:35:21 2011 -0500
79977
79978 Fix memory leak introduced by recent (unpublished) commit
79979 75ab998b94a29d464518d6d501bdde3fbfcbfa14
79980
79981 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
79982 Author: Brad Spengler <spender@grsecurity.net>
79983 Date: Sun Dec 4 13:56:10 2011 -0500
79984
79985 Explicitly check size copied to userland in override_release to silence gcc
79986
79987 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
79988 Author: Brad Spengler <spender@grsecurity.net>
79989 Date: Sun Dec 4 13:54:02 2011 -0500
79990
79991 Initialize variable to silence erroneous gcc warning
79992
79993 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
79994 Author: Brad Spengler <spender@grsecurity.net>
79995 Date: Sun Dec 4 13:47:47 2011 -0500
79996
79997 Future-proof other potential RCU-aware locations where we can log.
79998
79999 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
80000 Author: Brad Spengler <spender@grsecurity.net>
80001 Date: Sun Dec 4 13:02:54 2011 -0500
80002
80003 Fix freeze reported by 'vs' on the forums. Bug occurred due to
80004 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
80005 in generic_permission() was in the task's effective set but disallowed by
80006 RBAC, would block when acquiring locks resulting in the freeze.
80007
80008 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
80009 as being required when CAP_DAC_OVERRIDE is present (consistent with
80010 older patches).
80011
80012 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
80013 Author: Xi Wang <xi.wang@gmail.com>
80014 Date: Tue Nov 29 09:26:30 2011 +0000
80015
80016 sctp: better integer overflow check in sctp_auth_create_key()
80017
80018 The check from commit 30c2235c is incomplete and cannot prevent
80019 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
80020 left-hand side of the check (INT_MAX - key_len), which is unsigned,
80021 becomes 0xffffffff (UINT_MAX) and bypasses the check.
80022
80023 However this shouldn't be a security issue. The function is called
80024 from the following two code paths:
80025
80026 1) setsockopt()
80027
80028 2) sctp_auth_asoc_set_secret()
80029
80030 In case (1), sca_keylength is never going to exceed 65535 since it's
80031 bounded by a u16 from the user API. As such, the key length will
80032 never overflow.
80033
80034 In case (2), sca_keylength is computed based on the user key (1 short)
80035 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
80036 will not overflow.
80037
80038 In other words, this overflow check is not really necessary. Just
80039 make it more correct.
80040
80041 Signed-off-by: Xi Wang <xi.wang@gmail.com>
80042 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
80043 Signed-off-by: David S. Miller <davem@davemloft.net>
80044
80045 commit e565e28c3635a1d50f80541fbf6b606d742fec76
80046 Author: Josh Boyer <jwboyer@redhat.com>
80047 Date: Fri Aug 19 14:50:26 2011 -0400
80048
80049 fs/minix: Verify bitmap block counts before mounting
80050
80051 Newer versions of MINIX can create filesystems that allocate an extra
80052 bitmap block. Mounting of this succeeds, but doing a statfs call will
80053 result in an oops in count_free because of a negative number being used
80054 for the bh index.
80055
80056 Avoid this by verifying the number of allocated blocks at mount time,
80057 erroring out if there are not enough and make statfs ignore the extras
80058 if there are too many.
80059
80060 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
80061
80062 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
80063 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
80064
80065 commit 6e134e398ec1a3f428261680e83df4319e64bed9
80066 Author: Julia Lawall <julia@diku.dk>
80067 Date: Tue Nov 15 14:53:11 2011 -0800
80068
80069 drivers/gpu/vga/vgaarb.c: add missing kfree
80070
80071 kbuf is a buffer that is local to this function, so all of the error paths
80072 leaving the function should release it.
80073
80074 Signed-off-by: Julia Lawall <julia@diku.dk>
80075 Cc: Jesper Juhl <jj@chaosbits.net>
80076 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
80077 Signed-off-by: Dave Airlie <airlied@redhat.com>
80078
80079 commit 2b9057b321e36860e8d63985b5c4e496f254b717
80080 Author: Brad Spengler <spender@grsecurity.net>
80081 Date: Sat Dec 3 21:33:28 2011 -0500
80082
80083 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
80084
80085 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
80086 Author: Brad Spengler <spender@grsecurity.net>
80087 Date: Sat Dec 3 21:29:37 2011 -0500
80088
80089 Import pax-linux-3.1.4-test18.patch
80090
80091 commit 285eb4ea45d853ae00426b3315a61c1368080dad
80092 Author: Brad Spengler <spender@grsecurity.net>
80093 Date: Sat Dec 10 18:33:46 2011 -0500
80094
80095 Import changes from pax-linux-3.1.5-test20.patch
80096
80097 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
80098 Author: Brad Spengler <spender@grsecurity.net>
80099 Date: Thu Dec 8 20:55:54 2011 -0500
80100
80101 Import changes from pax-linux-3.1.4-test19.patch
80102
80103 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
80104 Author: Brad Spengler <spender@grsecurity.net>
80105 Date: Sat Dec 3 21:29:37 2011 -0500
80106
80107 Import pax-linux-3.1.4-test18.patch
80108 commit d92091aac493a547d85ddf1b98bd9aaa8c7112a5
80109 Author: Brad Spengler <spender@grsecurity.net>
80110 Date: Thu Jul 4 23:05:14 2013 -0400
80111
80112 always enforce a non-zero gap for RAND_THREADSTACK
80113
80114 mm/mmap.c | 2 +-
80115 1 files changed, 1 insertions(+), 1 deletions(-)
80116
80117 commit 40d67e38a42d4e94b43b3d7400addc662b9857dc
80118 Author: Brad Spengler <spender@grsecurity.net>
80119 Date: Thu Jul 4 16:09:28 2013 -0400
80120
80121 fix up file comparisons
80122
80123 grsecurity/gracl_segv.c | 2 +-
80124 grsecurity/grsec_sig.c | 4 ++--
80125 include/linux/grinternal.h | 12 ++++++++++++
80126 3 files changed, 15 insertions(+), 3 deletions(-)
80127
80128 commit a1fff2c95162314626dd96bec71d951a8c1c4708
80129 Author: Brad Spengler <spender@grsecurity.net>
80130 Date: Thu Jul 4 15:33:18 2013 -0400
80131
80132 fix suid binary matching
80133
80134 grsecurity/grsec_sig.c | 2 +-
80135 1 files changed, 1 insertions(+), 1 deletions(-)
80136
80137 commit 00131c458eea5200971c8fc326e90fdb6c2d0baa
80138 Merge: 37b97a9 47beb61
80139 Author: Brad Spengler <spender@grsecurity.net>
80140 Date: Thu Jul 4 15:02:31 2013 -0400
80141
80142 Merge branch 'pax-test' into grsec-test
80143
80144 commit 47beb61be9d430ab3fdb79a3b1e2099b4cfcf798
80145 Author: Brad Spengler <spender@grsecurity.net>
80146 Date: Thu Jul 4 15:01:37 2013 -0400
80147
80148 Update to pax-linux-3.9.9-test13.patch:
80149 - hopefully fixed the EFI boot regression (https://bugs.gentoo.org/show_bug.cgi?id=471626)
80150 - fixed some arm compilation issues (http://forums.grsecurity.net/viewtopic.php?f=1&t=3586 and http://forums.grsecurity.net/viewtopic.php?f=1&t=3587)
80151
80152 arch/arm/include/asm/uaccess.h | 20 ++++++++++----------
80153 arch/arm/kernel/armksyms.c | 2 +-
80154 arch/arm/kernel/entry-armv.S | 4 ++--
80155 arch/arm/mm/Kconfig | 2 +-
80156 arch/x86/ia32/ia32entry.S | 4 ++--
80157 arch/x86/include/asm/page.h | 1 +
80158 arch/x86/kernel/entry_32.S | 4 ++--
80159 arch/x86/kernel/entry_64.S | 8 ++++----
80160 arch/x86/kernel/head64.c | 12 ++++++------
80161 arch/x86/kernel/head_64.S | 16 ++++++++++++----
80162 arch/x86/mm/init.c | 8 ++++++++
80163 arch/x86/mm/init_32.c | 6 ------
80164 arch/x86/mm/init_64.c | 6 ------
80165 arch/x86/platform/efi/efi_32.c | 5 +++++
80166 arch/x86/platform/efi/efi_64.c | 10 ++++++++++
80167 15 files changed, 64 insertions(+), 44 deletions(-)
80168
80169 commit 89085d2d0643813a62f23d1199a335dc1e129bc0
80170 Merge: 963af7f 0adf2e7
80171 Author: Brad Spengler <spender@grsecurity.net>
80172 Date: Thu Jul 4 14:55:44 2013 -0400
80173
80174 Merge branch 'linux-3.9.y' into pax-test
80175
80176 commit 37b97a95e97badc79cc8b6e092f0f94ac24e4ae4
80177 Author: Brad Spengler <spender@grsecurity.net>
80178 Date: Thu Jul 4 13:46:02 2013 -0400
80179
80180 fix typo
80181
80182 grsecurity/gracl.c | 2 +-
80183 1 files changed, 1 insertions(+), 1 deletions(-)
80184
80185 commit 32538dba4959a290a1de81a7f8eeaba99f952aa6
80186 Author: Brad Spengler <spender@grsecurity.net>
80187 Date: Thu Jul 4 13:29:51 2013 -0400
80188
80189 update log arguments
80190
80191 grsecurity/grsec_sig.c | 3 ++-
80192 1 files changed, 2 insertions(+), 1 deletions(-)
80193
80194 commit 5c7ee197d6ecb3ec9b3b9588d2b0cb8541d9fa71
80195 Author: Brad Spengler <spender@grsecurity.net>
80196 Date: Thu Jul 4 13:20:23 2013 -0400
80197
80198 Update logging of suid exec ban
80199
80200 Conflicts:
80201
80202 grsecurity/grsec_sig.c
80203
80204 grsecurity/grsec_sig.c | 3 +--
80205 include/linux/grmsg.h | 1 +
80206 2 files changed, 2 insertions(+), 2 deletions(-)
80207
80208 commit ef808866c070aa1901bd2224521baaf5d145a3a7
80209 Author: Brad Spengler <spender@grsecurity.net>
80210 Date: Thu Jul 4 12:58:33 2013 -0400
80211
80212 Additional improvements to the user banning code:
80213
80214 Separate the kernel-bruteforcing case from the suid bruteforcing case
80215 In the suid bruteforcing case, only kill existing copies of the bruteforced
80216 binary. Instead of preventing all future execs by this user, prevent them
80217 from executing any suid/sgid binaries for the next 15 minutes.
80218
80219 Kernel case is mostly unchanged from before, except the task trying to change
80220 real uid to the banned user will be terminated instead of failing the setuid
80221 call.
80222
80223 Configuration help has been updated to reflect the new changes.
80224
80225 fs/exec.c | 13 +++++---
80226 grsecurity/Kconfig | 5 ++-
80227 grsecurity/gracl.c | 6 ++--
80228 grsecurity/grsec_sig.c | 76 ++++++++++++++++++++++++++------------------
80229 include/linux/grsecurity.h | 1 -
80230 include/linux/sched.h | 9 +++--
80231 6 files changed, 65 insertions(+), 45 deletions(-)
80232
80233 commit 0f0b6c9d67d429364621b8784ef4a048b7e40736
80234 Author: Brad Spengler <spender@grsecurity.net>
80235 Date: Wed Jul 3 16:14:09 2013 -0400
80236
80237 fix renamed export of csum_partial_copy_from_user, as reported by fabled
80238 on the forums
80239
80240 arch/arm/kernel/armksyms.c | 2 +-
80241 1 files changed, 1 insertions(+), 1 deletions(-)
80242
80243 commit 318235973c2a548c3d25562645d6b69f66e85934
80244 Author: Brad Spengler <spender@grsecurity.net>
80245 Date: Wed Jul 3 16:09:16 2013 -0400
80246
80247 make CPU_USE_DOMAINS depend on !PAX_MEMORY_UDEREF, fixes compile error
80248 reported on the forums by fabled
80249
80250 arch/arm/mm/Kconfig | 2 +-
80251 1 files changed, 1 insertions(+), 1 deletions(-)
80252
80253 commit b569a7f60fab7a522d8c142765c8b847bbce8a1e
80254 Author: Brad Spengler <spender@grsecurity.net>
80255 Date: Wed Jul 3 15:53:12 2013 -0400
80256
80257 Revise the user ban code to kill the process issuing a banned
80258 set*id instead of returning an error. For the sake of keeping
80259 unified user banning between the suid and kernel bruteforce case,
80260 we will apply this killing to the suid bruteforce case, despite
80261 a check just at exec time (that already existed) being sufficient.
80262
80263 Returning an error could enable exploitation of the "failure to check
80264 setuid return value" case which was recently effectively closed
80265 upstream, albeit in a rare situation with a suitable binary and
80266 two colluding users.
80267
80268 Many thanks to stealth for reviewing the user ban code.
80269
80270 grsecurity/gracl.c | 4 ++--
80271 grsecurity/grsec_sig.c | 16 +++++++++++++---
80272 2 files changed, 15 insertions(+), 5 deletions(-)
80273
80274 commit 4a0808a0aa34bf3692f9ade0f11f6fbe30418c4f
80275 Author: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
80276 Date: Fri Jun 28 14:15:15 2013 +0300
80277
80278 Upstream commit: 605c912bb843c024b1ed173dc427cd5c08e5d54d
80279
80280 UBIFS: fix a horrid bug
80281
80282 Al Viro pointed me to the fact that '->readdir()' and '->llseek()' have no
80283 mutual exclusion, which means the 'ubifs_dir_llseek()' can be run while we are
80284 in the middle of 'ubifs_readdir()'.
80285
80286 This means that 'file->private_data' can be freed while 'ubifs_readdir()' uses
80287 it, and this is a very bad bug: not only 'ubifs_readdir()' can return garbage,
80288 but this may corrupt memory and lead to all kinds of problems like crashes an
80289 security holes.
80290
80291 This patch fixes the problem by using the 'file->f_version' field, which
80292 '->llseek()' always unconditionally sets to zero. We set it to 1 in
80293 'ubifs_readdir()' and whenever we detect that it became 0, we know there was a
80294 seek and it is time to clear the state saved in 'file->private_data'.
80295
80296 I tested this patch by writing a user-space program which runds readdir and
80297 seek in parallell. I could easily crash the kernel without these patches, but
80298 could not crash it with these patches.
80299
80300 Cc: stable@vger.kernel.org
80301 Reported-by: Al Viro <viro@zeniv.linux.org.uk>
80302 Tested-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
80303 Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
80304 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
80305
80306 fs/ubifs/dir.c | 30 +++++++++++++++++++++++++++---
80307 1 files changed, 27 insertions(+), 3 deletions(-)
80308
80309 commit c22280b85088978bd8b45bd23096879459b48008
80310 Author: Stephane Eranian <eranian@google.com>
80311 Date: Thu Jun 20 11:36:28 2013 +0200
80312
80313 Upstream commit: 2976b10f05bd7f6dab9f9e7524451ddfed656a89
80314
80315 perf: Disable monitoring on setuid processes for regular users
80316
80317 There was a a bug in setup_new_exec(), whereby
80318 the test to disabled perf monitoring was not
80319 correct because the new credentials for the
80320 process were not yet committed and therefore
80321 the get_dumpable() test was never firing.
80322
80323 The patch fixes the problem by moving the
80324 perf_event test until after the credentials
80325 are committed.
80326
80327 Signed-off-by: Stephane Eranian <eranian@google.com>
80328 Tested-by: Jiri Olsa <jolsa@redhat.com>
80329 Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
80330 Cc: <stable@kernel.org>
80331 Signed-off-by: Ingo Molnar <mingo@kernel.org>
80332
80333 fs/exec.c | 16 +++++++++-------
80334 1 files changed, 9 insertions(+), 7 deletions(-)
80335
80336 commit 16e6a61c34ae5ed0fbfa9151b24dc6a751cca7c0
80337 Author: Brad Spengler <spender@grsecurity.net>
80338 Date: Sat Jun 29 13:10:02 2013 -0400
80339
80340 on context switch, make sure we switch DACR when domain support and
80341 KERNEXEC is disabled but UDEREF is enabled
80342
80343 arch/arm/kernel/entry-armv.S | 4 ++--
80344 1 files changed, 2 insertions(+), 2 deletions(-)
80345
80346 commit 08d017fa51370921694ce087b28c96fec92993d4
80347 Author: Michael S. Tsirkin <mst@redhat.com>
80348 Date: Sun Jun 23 17:26:58 2013 +0300
80349
80350 Upstream commit: 4c7ab054ab4f5d63625508ed6f8a607184cae7c2
80351
80352 macvtap: fix recovery from gup errors
80353
80354 get user pages might fail partially in macvtap zero copy
80355 mode. To recover we need to put all pages that we got,
80356 but code used a wrong index resulting in double-free
80357 errors.
80358
80359 Reported-by: Brad Hubbard <bhubbard@redhat.com>
80360 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
80361 Acked-by: Jason Wang <jasowang@redhat.com>
80362 Signed-off-by: David S. Miller <davem@davemloft.net>
80363
80364 drivers/net/macvtap.c | 6 ++++--
80365 1 files changed, 4 insertions(+), 2 deletions(-)
80366
80367 commit 8118c60e6478b9d0687c2aa7779e45ac7859b1be
80368 Author: Michael S. Tsirkin <mst@redhat.com>
80369 Date: Sun Jun 23 17:19:03 2013 +0300
80370
80371 Upstream commit: 7e24bfbe43b545b1689a5f134ed83645b9e34b86
80372
80373 tun: fix recovery from gup errors
80374
80375 get user pages might fail partially in tun zero copy
80376 mode. To recover we need to put all pages that we got,
80377 but code used a wrong index resulting in double-free
80378 errors.
80379
80380 Reported-by: Brad Hubbard <bhubbard@redhat.com>
80381 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
80382 Acked-by: Jason Wang <jasowang@redhat.com>
80383 Acked-by: Neil Horman <nhorman@tuxdriver.com>
80384 Signed-off-by: David S. Miller <davem@davemloft.net>
80385
80386 drivers/net/tun.c | 6 ++++--
80387 1 files changed, 4 insertions(+), 2 deletions(-)
80388
80389 commit c71e53d3b87fba6f7ba29a440d4c835f03aadf28
80390 Author: Balazs Peter Odor <balazs@obiserver.hu>
80391 Date: Sat Jun 22 19:24:43 2013 +0200
80392
80393 Upstream commit: 5aed93875cd88502f04a0d4517b8a2d89a849773
80394
80395 netfilter: nf_nat_sip: fix mangling
80396
80397 In (b20ab9c netfilter: nf_ct_helper: better logging for dropped packets)
80398 there were some missing brackets around the logging information, thus
80399 always returning drop.
80400
80401 Closes https://bugzilla.kernel.org/show_bug.cgi?id=60061
80402
80403 Signed-off-by: Balazs Peter Odor <balazs@obiserver.hu>
80404 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
80405
80406 net/netfilter/nf_nat_sip.c | 3 ++-
80407 1 files changed, 2 insertions(+), 1 deletions(-)
80408
80409 commit 87c18924aecb841586b8972fabb20c5b75ca2fc9
80410 Author: Anderson Lizardo <anderson.lizardo@openbossa.org>
80411 Date: Sun Jun 2 16:30:40 2013 -0400
80412
80413 Upstream commit: 300b962e5244a1ea010df7e88595faa0085b461d
80414
80415 Bluetooth: Fix crash in l2cap_build_cmd() with small MTU
80416
80417 If a too small MTU value is set with ioctl(HCISETACLMTU) or by a bogus
80418 controller, memory corruption happens due to a memcpy() call with
80419 negative length.
80420
80421 Fix this crash on either incoming or outgoing connections with a MTU
80422 smaller than L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE:
80423
80424 [ 46.885433] BUG: unable to handle kernel paging request at f56ad000
80425 [ 46.888037] IP: [<c03d94cd>] memcpy+0x1d/0x40
80426 [ 46.888037] *pdpt = 0000000000ac3001 *pde = 00000000373f8067 *pte = 80000000356ad060
80427 [ 46.888037] Oops: 0002 [#1] SMP DEBUG_PAGEALLOC
80428 [ 46.888037] Modules linked in: hci_vhci bluetooth virtio_balloon i2c_piix4 uhci_hcd usbcore usb_common
80429 [ 46.888037] CPU: 0 PID: 1044 Comm: kworker/u3:0 Not tainted 3.10.0-rc1+ #12
80430 [ 46.888037] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
80431 [ 46.888037] Workqueue: hci0 hci_rx_work [bluetooth]
80432 [ 46.888037] task: f59b15b0 ti: f55c4000 task.ti: f55c4000
80433 [ 46.888037] EIP: 0060:[<c03d94cd>] EFLAGS: 00010212 CPU: 0
80434 [ 46.888037] EIP is at memcpy+0x1d/0x40
80435 [ 46.888037] EAX: f56ac1c0 EBX: fffffff8 ECX: 3ffffc6e EDX: f55c5cf2
80436 [ 46.888037] ESI: f55c6b32 EDI: f56ad000 EBP: f55c5c68 ESP: f55c5c5c
80437 [ 46.888037] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
80438 [ 46.888037] CR0: 8005003b CR2: f56ad000 CR3: 3557d000 CR4: 000006f0
80439 [ 46.888037] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
80440 [ 46.888037] DR6: ffff0ff0 DR7: 00000400
80441 [ 46.888037] Stack:
80442 [ 46.888037] fffffff8 00000010 00000003 f55c5cac f8c6a54c ffffffff f8c69eb2 00000000
80443 [ 46.888037] f4783cdc f57f0070 f759c590 1001c580 00000003 0200000a 00000000 f5a88560
80444 [ 46.888037] f5ba2600 f5a88560 00000041 00000000 f55c5d90 f8c6f4c7 00000008 f55c5cf2
80445 [ 46.888037] Call Trace:
80446 [ 46.888037] [<f8c6a54c>] l2cap_send_cmd+0x1cc/0x230 [bluetooth]
80447 [ 46.888037] [<f8c69eb2>] ? l2cap_global_chan_by_psm+0x152/0x1a0 [bluetooth]
80448 [ 46.888037] [<f8c6f4c7>] l2cap_connect+0x3f7/0x540 [bluetooth]
80449 [ 46.888037] [<c019b37b>] ? trace_hardirqs_off+0xb/0x10
80450 [ 46.888037] [<c01a0ff8>] ? mark_held_locks+0x68/0x110
80451 [ 46.888037] [<c064ad20>] ? mutex_lock_nested+0x280/0x360
80452 [ 46.888037] [<c064b9d9>] ? __mutex_unlock_slowpath+0xa9/0x150
80453 [ 46.888037] [<c01a118c>] ? trace_hardirqs_on_caller+0xec/0x1b0
80454 [ 46.888037] [<c064ad08>] ? mutex_lock_nested+0x268/0x360
80455 [ 46.888037] [<c01a125b>] ? trace_hardirqs_on+0xb/0x10
80456 [ 46.888037] [<f8c72f8d>] l2cap_recv_frame+0xb2d/0x1d30 [bluetooth]
80457 [ 46.888037] [<c01a0ff8>] ? mark_held_locks+0x68/0x110
80458 [ 46.888037] [<c064b9d9>] ? __mutex_unlock_slowpath+0xa9/0x150
80459 [ 46.888037] [<c01a118c>] ? trace_hardirqs_on_caller+0xec/0x1b0
80460 [ 46.888037] [<f8c754f1>] l2cap_recv_acldata+0x2a1/0x320 [bluetooth]
80461 [ 46.888037] [<f8c491d8>] hci_rx_work+0x518/0x810 [bluetooth]
80462 [ 46.888037] [<f8c48df2>] ? hci_rx_work+0x132/0x810 [bluetooth]
80463 [ 46.888037] [<c0158979>] process_one_work+0x1a9/0x600
80464 [ 46.888037] [<c01588fb>] ? process_one_work+0x12b/0x600
80465 [ 46.888037] [<c015922e>] ? worker_thread+0x19e/0x320
80466 [ 46.888037] [<c015922e>] ? worker_thread+0x19e/0x320
80467 [ 46.888037] [<c0159187>] worker_thread+0xf7/0x320
80468 [ 46.888037] [<c0159090>] ? rescuer_thread+0x290/0x290
80469 [ 46.888037] [<c01602f8>] kthread+0xa8/0xb0
80470 [ 46.888037] [<c0656777>] ret_from_kernel_thread+0x1b/0x28
80471 [ 46.888037] [<c0160250>] ? flush_kthread_worker+0x120/0x120
80472 [ 46.888037] Code: c3 90 8d 74 26 00 e8 63 fc ff ff eb e8 90 55 89 e5 83 ec 0c 89 5d f4 89 75 f8 89 7d fc 3e 8d 74 26 00 89 cb 89 c7 c1 e9 02 89 d6 <f3> a5 89 d9 83 e1 03 74 02 f3 a4 8b 5d f4 8b 75 f8 8b 7d fc 89
80473 [ 46.888037] EIP: [<c03d94cd>] memcpy+0x1d/0x40 SS:ESP 0068:f55c5c5c
80474 [ 46.888037] CR2: 00000000f56ad000
80475 [ 46.888037] ---[ end trace 0217c1f4d78714a9 ]---
80476
80477 Signed-off-by: Anderson Lizardo <anderson.lizardo@openbossa.org>
80478 Cc: stable@vger.kernel.org
80479 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
80480 Signed-off-by: John W. Linville <linville@tuxdriver.com>
80481
80482 net/bluetooth/l2cap_core.c | 3 +++
80483 1 files changed, 3 insertions(+), 0 deletions(-)
80484
80485 commit b0471b6c1160858fc646d8e94628fd1299f61692
80486 Author: Jaganath Kanakkassery <jaganath.k@samsung.com>
80487 Date: Fri Jun 21 19:55:11 2013 +0530
80488
80489 Upstream commit: 3f6fa3d489e127ca5a5b298eabac3ff5dbe0e112
80490
80491 Bluetooth: Fix invalid length check in l2cap_information_rsp()
80492
80493 The length check is invalid since the length varies with type of
80494 info response.
80495
80496 This was introduced by the commit cb3b3152b2f5939d67005cff841a1ca748b19888
80497
80498 Because of this, l2cap info rsp is not handled and command reject is sent.
80499
80500 > ACL data: handle 11 flags 0x02 dlen 16
80501 L2CAP(s): Info rsp: type 2 result 0
80502 Extended feature mask 0x00b8
80503 Enhanced Retransmission mode
80504 Streaming mode
80505 FCS Option
80506 Fixed Channels
80507 < ACL data: handle 11 flags 0x00 dlen 10
80508 L2CAP(s): Command rej: reason 0
80509 Command not understood
80510
80511 Cc: stable@vger.kernel.org
80512 Signed-off-by: Jaganath Kanakkassery <jaganath.k@samsung.com>
80513 Signed-off-by: Chan-Yeol Park <chanyeol.park@samsung.com>
80514 Acked-by: Johan Hedberg <johan.hedberg@intel.com>
80515 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
80516
80517 net/bluetooth/l2cap_core.c | 2 +-
80518 1 files changed, 1 insertions(+), 1 deletions(-)
80519
80520 commit 4184af98c360d825e638b268b1a9847232e8d299
80521 Author: Eric Dumazet <edumazet@google.com>
80522 Date: Wed Jun 26 04:15:07 2013 -0700
80523
80524 Upstream commit: a963a37d384d71ad43b3e9e79d68d42fbe0901f3
80525
80526 ipv6: ip6_sk_dst_check() must not assume ipv6 dst
80527
80528 It's possible to use AF_INET6 sockets and to connect to an IPv4
80529 destination. After this, socket dst cache is a pointer to a rtable,
80530 not rt6_info.
80531
80532 ip6_sk_dst_check() should check the socket dst cache is IPv6, or else
80533 various corruptions/crashes can happen.
80534
80535 Dave Jones can reproduce immediate crash with
80536 trinity -q -l off -n -c sendmsg -c connect
80537
80538 With help from Hannes Frederic Sowa
80539
80540 Reported-by: Dave Jones <davej@redhat.com>
80541 Reported-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
80542 Signed-off-by: Eric Dumazet <edumazet@google.com>
80543 Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
80544 Signed-off-by: David S. Miller <davem@davemloft.net>
80545
80546 net/ipv6/ip6_output.c | 8 +++++++-
80547 1 files changed, 7 insertions(+), 1 deletions(-)
80548
80549 commit a9909c4993e8547ebeeafc4a4f5ff8570a941eb2
80550 Author: Zefan Li <lizefan@huawei.com>
80551 Date: Wed Jun 26 15:29:54 2013 +0800
80552
80553 Upstream commit: 11eb2645cbf38a08ae491bf6c602eea900ec0bb5
80554
80555 dlci: acquire rtnl_lock before calling __dev_get_by_name()
80556
80557 Otherwise the net device returned can be freed at anytime.
80558
80559 Signed-off-by: Li Zefan <lizefan@huawei.com>
80560 Cc: stable@vger.kernel.org
80561 Signed-off-by: David S. Miller <davem@davemloft.net>
80562
80563 drivers/net/wan/dlci.c | 14 +++++++++-----
80564 1 files changed, 9 insertions(+), 5 deletions(-)
80565
80566 commit 1fe6f23c9acd14d832d056909ff326bde418e645
80567 Author: Zefan Li <lizefan@huawei.com>
80568 Date: Wed Jun 26 15:31:58 2013 +0800
80569
80570 Upstream commit: 578a1310f2592ba90c5674bca21c1dbd1adf3f0a
80571
80572 dlci: validate the net device in dlci_del()
80573
80574 We triggered an oops while running trinity with 3.4 kernel:
80575
80576 BUG: unable to handle kernel paging request at 0000000100000d07
80577 IP: [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
80578 PGD 640c0d067 PUD 0
80579 Oops: 0000 [#1] PREEMPT SMP
80580 CPU 3
80581 ...
80582 Pid: 7302, comm: trinity-child3 Not tainted 3.4.24.09+ 40 Huawei Technologies Co., Ltd. Tecal RH2285 /BC11BTSA
80583 RIP: 0010:[<ffffffffa0109738>] [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
80584 ...
80585 Call Trace:
80586 [<ffffffff8137c5c3>] sock_ioctl+0x153/0x280
80587 [<ffffffff81195494>] do_vfs_ioctl+0xa4/0x5e0
80588 [<ffffffff8118354a>] ? fget_light+0x3ea/0x490
80589 [<ffffffff81195a1f>] sys_ioctl+0x4f/0x80
80590 [<ffffffff81478b69>] system_call_fastpath+0x16/0x1b
80591 ...
80592
80593 It's because the net device is not a dlci device.
80594
80595 Reported-by: Li Jinyue <lijinyue@huawei.com>
80596 Signed-off-by: Li Zefan <lizefan@huawei.com>
80597 Cc: stable@vger.kernel.org
80598 Signed-off-by: David S. Miller <davem@davemloft.net>
80599
80600 drivers/net/wan/dlci.c | 12 ++++++++++++
80601 1 files changed, 12 insertions(+), 0 deletions(-)
80602
80603 commit 4d4464407611527ef6b6b5475cfcab6121b3da66
80604 Merge: 59571a9 963af7f
80605 Author: Brad Spengler <spender@grsecurity.net>
80606 Date: Thu Jun 27 18:54:52 2013 -0400
80607
80608 Merge branch 'pax-test' into grsec-test
80609
80610 commit 963af7f7f591759b731ce6325ceb583a72fcf423
80611 Merge: c51e25a 55db48a
80612 Author: Brad Spengler <spender@grsecurity.net>
80613 Date: Thu Jun 27 18:54:42 2013 -0400
80614
80615 Merge branch 'linux-3.9.y' into pax-test
80616
80617 commit 59571a9db7485f530a1e865a13cacc4c991ec41f
80618 Author: Brad Spengler <spender@grsecurity.net>
80619 Date: Wed Jun 26 18:39:08 2013 -0400
80620
80621 From: Mathias Krause <minipli@googlemail.com>
80622 To: Steffen Klassert <steffen.klassert@secunet.com>,
80623 "David S. Miller" <davem@davemloft.net>
80624 Cc: Mathias Krause <minipli@googlemail.com>, netdev@vger.kernel.org,
80625 Herbert Xu <herbert@gondor.apana.org.au>
80626 Subject: [PATCH] af_key: fix info leaks in notify messages
80627
80628 key_notify_sa_flush() and key_notify_policy_flush() miss to initialize
80629 the sadb_msg_reserved member of the broadcasted message and thereby
80630 leak 2 bytes of heap memory to listeners. Fix that.
80631
80632 Signed-off-by: Mathias Krause <minipli@googlemail.com>
80633 Cc: Steffen Klassert <steffen.klassert@secunet.com>
80634 Cc: "David S. Miller" <davem@davemloft.net>
80635 Cc: Herbert Xu <herbert@gondor.apana.org.au>
80636
80637 net/key/af_key.c | 2 ++
80638 1 files changed, 2 insertions(+), 0 deletions(-)
80639
80640 commit e1dd9fb168b3597f15fd5bd4bc88a7dd4cce5fd9
80641 Author: Brad Spengler <spender@grsecurity.net>
80642 Date: Wed Jun 26 18:33:06 2013 -0400
80643
80644 update rand_threadstack code to continue the search for a gap if the first
80645 choice doesn't have enough space, instead of returning ENOMEM
80646
80647 mm/mmap.c | 17 ++++++++++-------
80648 1 files changed, 10 insertions(+), 7 deletions(-)
80649
80650 commit 87020d4a4d83038d65ff1fd519938840f6888b9e
80651 Merge: 2682346 c51e25a
80652 Author: Brad Spengler <spender@grsecurity.net>
80653 Date: Wed Jun 26 18:25:32 2013 -0400
80654
80655 Merge branch 'pax-test' into grsec-test
80656
80657 commit c51e25a23f30a1198076bd085f19b2073caf164d
80658 Author: Brad Spengler <spender@grsecurity.net>
80659 Date: Wed Jun 26 18:24:54 2013 -0400
80660
80661 Update to pax-linux-3.9.7-test12.patch:
80662 - fixed a regression on PARAVIRT/amd64 kernels
80663 - simplified the recent vm_unmapped_area_info based change
80664
80665 arch/x86/kernel/entry_64.S | 8 ++++----
80666 mm/mmap.c | 22 ++++++++++++----------
80667 2 files changed, 16 insertions(+), 14 deletions(-)
80668
80669 commit 26823469a08e59cb67bea18d448d9e8c65f82e08
80670 Author: Brad Spengler <spender@grsecurity.net>
80671 Date: Tue Jun 25 21:26:51 2013 -0400
80672
80673 re-enable GRKERNSEC_RAND_THREADSTACK now that the generic PaX
80674 vm_unmapped_area code is complete
80675
80676 arch/x86/kernel/sys_i386_32.c | 5 +++++
80677 grsecurity/Kconfig | 2 +-
80678 mm/mmap.c | 11 ++++++++++-
80679 3 files changed, 16 insertions(+), 2 deletions(-)
80680
80681 commit bcd93cc348a8faba1716f5cc137a48f25d6a67e7
80682 Merge: e58fe8c c4e0704
80683 Author: Brad Spengler <spender@grsecurity.net>
80684 Date: Tue Jun 25 19:08:52 2013 -0400
80685
80686 Merge branch 'pax-test' into grsec-test
80687
80688 Conflicts:
80689 arch/x86/kernel/sys_i386_32.c
80690
80691 commit c4e07040c2c32c9eb2b093e5ae6e5bb050cb7511
80692 Author: Brad Spengler <spender@grsecurity.net>
80693 Date: Tue Jun 25 19:05:39 2013 -0400
80694
80695 Update to pax-linux-3.9.7-test11.patch:
80696 - fixed some fallout from the recent executable vmalloc changes (http://forums.grsecurity.net/viewtopic.php?t=3562#p13111)
80697 - moved the PaX specific heap-stack gap check code over to the vm_unmapped_area_info based infrastructure
80698 - fixed the recent nested nmi related fixes some more
80699 - fixed a regression in kernel memory initialization on relocatable i386 kernels
80700 - empty_zero_page can be read-only on amd64 as well
80701
80702 arch/arm/mm/mmap.c | 6 --
80703 arch/x86/kernel/entry_64.S | 8 +--
80704 arch/x86/kernel/head_64.S | 1 -
80705 arch/x86/kernel/setup.c | 2 +-
80706 arch/x86/kernel/sys_i386_32.c | 160 ++++++++++++----------------------------
80707 drivers/lguest/core.c | 2 +-
80708 include/linux/mm.h | 6 +-
80709 include/linux/vmalloc.h | 2 +-
80710 mm/mmap.c | 30 +++++++-
80711 9 files changed, 83 insertions(+), 134 deletions(-)
80712
80713 commit e58fe8c43f6ee7047ac830ebfa9a70626b7ed11d
80714 Author: Brad Spengler <spender@grsecurity.net>
80715 Date: Sun Jun 23 14:37:14 2013 -0400
80716
80717 second compile fix, reported by forsaken on forums
80718
80719 include/linux/vmalloc.h | 2 +-
80720 1 files changed, 1 insertions(+), 1 deletions(-)
80721
80722 commit 0ee10d89b09b56b46bc242ce760a1d9598276e2f
80723 Author: Brad Spengler <spender@grsecurity.net>
80724 Date: Sun Jun 23 14:36:35 2013 -0400
80725
80726 compile fix, reported by KDE on forums
80727
80728 kernel/printk.c | 7 -------
80729 1 files changed, 0 insertions(+), 7 deletions(-)
80730
80731 commit 1fc9a5e2e267205d28302e1e86ca0da434561111
80732 Author: Ben Hutchings <ben@decadent.org.uk>
80733 Date: Sun Jun 16 21:27:12 2013 +0100
80734
80735 Upstream commit: b8cb62f82103083a6e8fa5470bfe634a2c06514d
80736
80737 x86/efi: Fix dummy variable buffer allocation
80738
80739 1. Check for allocation failure
80740 2. Clear the buffer contents, as they may actually be written to flash
80741 3. Don't leak the buffer
80742
80743 Compile-tested only.
80744
80745 [ Tested successfully on my buggy ASUS machine - Matt ]
80746
80747 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
80748 Cc: stable@vger.kernel.org
80749 Signed-off-by: Matt Fleming <matt.fleming@intel.com>
80750
80751 arch/x86/platform/efi/efi.c | 7 ++++++-
80752 1 files changed, 6 insertions(+), 1 deletions(-)
80753
80754 commit 83e15c8baaa620d8c777e84aa037b4302f0487c5
80755 Author: Dave Kleikamp <dave.kleikamp@oracle.com>
80756 Date: Tue Jun 18 09:05:36 2013 -0500
80757
80758 Upstream commit: 23a01138efe216f8084cfaa74b0b90dd4b097441
80759
80760 sparc: tsb must be flushed before tlb
80761
80762 This fixes a race where a cpu may re-load a tlb from a stale tsb right
80763 after it has been flushed by a remote function call.
80764
80765 I still see some instability when stressing the system with parallel
80766 kernel builds while creating memory pressure by writing to
80767 /proc/sys/vm/nr_hugepages, but this patch improves the stability
80768 significantly.
80769
80770 Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
80771 Acked-by: Bob Picco <bob.picco@oracle.com>
80772 Signed-off-by: David S. Miller <davem@davemloft.net>
80773
80774 arch/sparc/mm/tlb.c | 2 +-
80775 1 files changed, 1 insertions(+), 1 deletions(-)
80776
80777 commit d93b62f6485db9aadda34322a6867868db07f56f
80778 Merge: 4ef62f5 71d83e9
80779 Author: Brad Spengler <spender@grsecurity.net>
80780 Date: Fri Jun 21 16:52:55 2013 -0400
80781
80782 Merge branch 'pax-test' into grsec-test
80783
80784 Conflicts:
80785 security/Kconfig
80786
80787 commit 71d83e97c936563913bcfb5a25c45b2021a331eb
80788 Author: Brad Spengler <spender@grsecurity.net>
80789 Date: Fri Jun 21 16:48:42 2013 -0400
80790
80791 Update to pax-linux-3.9.7-test10.patch:
80792 - fixed a few format string problems uncovered by -Wformat-nonliteral
80793 - another attempt at fixing the nested nmi/cr0.wp problem
80794 - fixed vmalloc when used for allocating executable memory on non-modular kernels, reported by Lorand Kelemen (https://bugs.gentoo.org/show_bug.cgi?id=473866)
80795 - worked around an intentional gcc overflow in nfscache that tripped up the size overflow plugin (https://bugs.gentoo.org/show_bug.cgi?id=472274)
80796 - fixed a locking issue with track_exec_limit reported by spender
80797 - hunger reported a size overflow event in kobj_map that turned out to be a real bug, fix by Tejun Heo (https://patchwork.kernel.org/patch/2676631/)
80798
80799 Documentation/dontdiff | 1 +
80800 arch/x86/boot/compressed/efi_stub_32.S | 16 ++-----
80801 arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
80802 arch/x86/kernel/e820.c | 4 +-
80803 arch/x86/kernel/entry_64.S | 74 ++++++++++++++++++------------
80804 arch/x86/kernel/vmlinux.lds.S | 2 +-
80805 block/genhd.c | 11 +++--
80806 crypto/algapi.c | 2 +-
80807 crypto/pcrypt.c | 6 +-
80808 drivers/base/attribute_container.c | 2 +-
80809 drivers/base/power/sysfs.c | 2 +-
80810 drivers/block/nbd.c | 2 +-
80811 drivers/cdrom/cdrom.c | 2 +-
80812 drivers/char/hw_random/intel-rng.c | 2 +-
80813 drivers/char/mem.c | 2 +-
80814 drivers/devfreq/devfreq.c | 2 +-
80815 drivers/gpu/drm/drm_encoder_slave.c | 6 +--
80816 drivers/gpu/drm/drm_sysfs.c | 2 +-
80817 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
80818 drivers/iommu/irq_remapping.c | 2 +-
80819 drivers/video/output.c | 2 +-
80820 fs/ext4/mmp.c | 2 +-
80821 fs/ext4/super.c | 2 +-
80822 fs/lockd/svc.c | 2 +-
80823 fs/nfs/callback.c | 4 +-
80824 fs/nfs/nfs4state.c | 2 +-
80825 fs/nfsd/nfscache.c | 3 +-
80826 init/initramfs.c | 2 +-
80827 kernel/rcutree.c | 2 +-
80828 lib/kobject.c | 2 +-
80829 mm/backing-dev.c | 4 +-
80830 mm/mmap.c | 4 +-
80831 mm/slub.c | 2 +-
80832 mm/vmalloc.c | 15 +++----
80833 net/bluetooth/hci_core.c | 8 ++--
80834 net/netfilter/nf_conntrack_proto_dccp.c | 4 +-
80835 net/sunrpc/svc.c | 2 +-
80836 security/Kconfig | 15 +++---
80837 sound/core/sound.c | 2 +-
80838 sound/sound_core.c | 2 +-
80839 40 files changed, 116 insertions(+), 111 deletions(-)
80840
80841 commit 4ef62f52ab23ed87aaf0106be3eddf2019bc7d2c
80842 Merge: 39efd8f 256eff7
80843 Author: Brad Spengler <spender@grsecurity.net>
80844 Date: Fri Jun 21 16:45:15 2013 -0400
80845
80846 Merge branch 'pax-test' into grsec-test
80847
80848 Conflicts:
80849 kernel/printk.c
80850
80851 commit 256eff7a817d5faa18cd56fb97cc8c25112ec0a6
80852 Merge: e6e3059 485f25f
80853 Author: Brad Spengler <spender@grsecurity.net>
80854 Date: Thu Jun 20 22:14:24 2013 -0400
80855
80856 Merge branch 'linux-3.9.y' into pax-test
80857
80858 commit 39efd8f4b9573d1ce31f47cdbea00b6c12054d4d
80859 Author: Brad Spengler <spender@grsecurity.net>
80860 Date: Tue Jun 18 17:20:18 2013 -0400
80861
80862 add apparmor compat patch
80863
80864 security/apparmor/Kconfig | 9 ++
80865 security/apparmor/apparmorfs.c | 231 ++++++++++++++++++++++++++++++++++++++++
80866 2 files changed, 240 insertions(+), 0 deletions(-)
80867
80868 commit 49bee3c5341687504669bf62becf4a419a226ba0
80869 Author: Brad Spengler <spender@grsecurity.net>
80870 Date: Mon Jun 17 18:48:04 2013 -0400
80871
80872 Revert "Upstream commit: cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db"
80873
80874 This reverts commit 066d9226bc6c569d5f420c978b758e0bddd23444.
80875
80876 kernel/sys.c | 29 +++--------------------------
80877 1 files changed, 3 insertions(+), 26 deletions(-)
80878
80879 commit bece88b4276babb2039a3e4f3e3b0cdeb8cd8328
80880 Author: Al Viro <viro@ZenIV.linux.org.uk>
80881 Date: Sun Jun 16 18:06:06 2013 +0100
80882
80883 Upstream commit: 8177a9d79c0e942dcac3312f15585d0344d505a5
80884
80885 lseek(fd, n, SEEK_END) does *not* go to eof - n
80886
80887 When you copy some code, you are supposed to read it. If nothing else,
80888 there's a chance to spot and fix an obvious bug instead of sharing it...
80889
80890 X-Song: "I Got It From Agnes", by Tom Lehrer
80891 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
80892 [ Tom Lehrer? You're dating yourself, Al ]
80893 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
80894
80895 drivers/net/ethernet/brocade/bna/bnad_debugfs.c | 2 +-
80896 drivers/scsi/bfa/bfad_debugfs.c | 2 +-
80897 drivers/scsi/fnic/fnic_debugfs.c | 2 +-
80898 drivers/scsi/lpfc/lpfc_debugfs.c | 2 +-
80899 4 files changed, 4 insertions(+), 4 deletions(-)
80900
80901 commit 5a450f1c46f0c84379518aee878993d3f4a331b6
80902 Author: Theodore Ts'o <tytso@mit.edu>
80903 Date: Thu Jun 6 11:14:31 2013 -0400
80904
80905 Upstream commit: 40c87e7a5404861cef33f6ced9809525a5ee2c50
80906
80907 ext4: verify group number in verify_group_input() before using it
80908
80909 Check the group number for sanity earilier, before calling routines
80910 such as ext4_bg_has_super() or ext4_group_overhead_blocks().
80911
80912 Reported-by: Jonathan Salwan <jonathan.salwan@gmail.com>
80913 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
80914
80915 fs/ext4/resize.c | 17 +++++++++++------
80916 1 files changed, 11 insertions(+), 6 deletions(-)
80917
80918 commit e2700ce1305cc746d2d9000392f00d96fdf28fb8
80919 Author: Neil Horman <nhorman@tuxdriver.com>
80920 Date: Wed Jun 12 14:26:44 2013 -0400
80921
80922 Upstream commit: c5c7774d7eb4397891edca9ebdf750ba90977a69
80923
80924 sctp: fully initialize sctp_outq in sctp_outq_init
80925
80926 In commit 2f94aabd9f6c925d77aecb3ff020f1cc12ed8f86
80927 (refactor sctp_outq_teardown to insure proper re-initalization)
80928 we modified sctp_outq_teardown to use sctp_outq_init to fully re-initalize the
80929 outq structure. Steve West recently asked me why I removed the q->error = 0
80930 initalization from sctp_outq_teardown. I did so because I was operating under
80931 the impression that sctp_outq_init would properly initalize that value for us,
80932 but it doesn't. sctp_outq_init operates under the assumption that the outq
80933 struct is all 0's (as it is when called from sctp_association_init), but using
80934 it in __sctp_outq_teardown violates that assumption. We should do a memset in
80935 sctp_outq_init to ensure that the entire structure is in a known state there
80936 instead.
80937
80938 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
80939 Reported-by: "West, Steve (NSN - US/Fort Worth)" <steve.west@nsn.com>
80940 CC: Vlad Yasevich <vyasevich@gmail.com>
80941 CC: netdev@vger.kernel.org
80942 CC: davem@davemloft.net
80943 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
80944 Signed-off-by: David S. Miller <davem@davemloft.net>
80945
80946 Conflicts:
80947
80948 net/sctp/outqueue.c
80949
80950 net/sctp/outqueue.c | 8 ++------
80951 1 files changed, 2 insertions(+), 6 deletions(-)
80952
80953 commit e13515ad7a9c7634599a105b2527752e527a905d
80954 Author: Saurabh Mohan <saurabh@vyatta.com>
80955 Date: Mon Jun 10 17:45:10 2013 -0700
80956
80957 Upstream commit: baafc77b32f647daa7c45825f7af8cdd55d00817
80958
80959 net/ipv4: ip_vti clear skb cb before tunneling.
80960
80961 If users apply shaper to vti tunnel then it will cause a kernel crash. The
80962 problem seems to be due to the vti_tunnel_xmit function not clearing
80963 skb->opt field before passing the packet to xfrm tunneling code.
80964
80965 Signed-off-by: Saurabh Mohan <saurabh@vyatta.com>
80966 Acked-by: Stephen Hemminger <stephen@networkplumber.org>
80967 Signed-off-by: David S. Miller <davem@davemloft.net>
80968
80969 net/ipv4/ip_vti.c | 3 +--
80970 1 files changed, 1 insertions(+), 2 deletions(-)
80971
80972 commit e63056a252ed6fc0f16ab158d7c34cb57bd762e4
80973 Author: Guillaume Nault <g.nault@alphalink.fr>
80974 Date: Wed Jun 12 16:07:36 2013 +0200
80975
80976 Upstream commit: a6f79d0f26704214b5b702bbac525cb72997f984
80977
80978 l2tp: Fix sendmsg() return value
80979
80980 PPPoL2TP sockets should comply with the standard send*() return values
80981 (i.e. return number of bytes sent instead of 0 upon success).
80982
80983 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
80984 Signed-off-by: David S. Miller <davem@davemloft.net>
80985
80986 net/l2tp/l2tp_ppp.c | 2 +-
80987 1 files changed, 1 insertions(+), 1 deletions(-)
80988
80989 commit af361b412e816e894fb42ddff7a0545b7def64c0
80990 Author: Guillaume Nault <g.nault@alphalink.fr>
80991 Date: Wed Jun 12 16:07:23 2013 +0200
80992
80993 Upstream commit: 55b92b7a11690bc377b5d373872a6b650ae88e64
80994
80995 l2tp: Fix PPP header erasure and memory leak
80996
80997 Copy user data after PPP framing header. This prevents erasure of the
80998 added PPP header and avoids leaking two bytes of uninitialised memory
80999 at the end of skb's data buffer.
81000
81001 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
81002 Signed-off-by: David S. Miller <davem@davemloft.net>
81003
81004 net/l2tp/l2tp_ppp.c | 4 ++--
81005 1 files changed, 2 insertions(+), 2 deletions(-)
81006
81007 commit 1f43aca088c35dda35abf76e08544e534c71fed4
81008 Author: Daniel Borkmann <dborkman@redhat.com>
81009 Date: Wed Jun 12 16:02:27 2013 +0200
81010
81011 Upstream commit: 2dc85bf323515e59e15dfa858d1472bb25cad0fe
81012
81013 packet: packet_getname_spkt: make sure string is always 0-terminated
81014
81015 uaddr->sa_data is exactly of size 14, which is hard-coded here and
81016 passed as a size argument to strncpy(). A device name can be of size
81017 IFNAMSIZ (== 16), meaning we might leave the destination string
81018 unterminated. Thus, use strlcpy() and also sizeof() while we're
81019 at it. We need to memset the data area beforehand, since strlcpy
81020 does not padd the remaining buffer with zeroes for user space, so
81021 that we do not possibly leak anything.
81022
81023 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
81024 Signed-off-by: David S. Miller <davem@davemloft.net>
81025
81026 net/packet/af_packet.c | 5 ++---
81027 1 files changed, 2 insertions(+), 3 deletions(-)
81028
81029 commit d0ae62fae5528bf2a393377f50b8dd9888d1e49f
81030 Author: Andy Lutomirski <luto@amacapital.net>
81031 Date: Wed Jun 5 19:38:26 2013 +0000
81032
81033 Upstream commit: a7526eb5d06b0084ef12d7b168d008fcf516caab
81034
81035 net: Unbreak compat_sys_{send,recv}msg
81036
81037 I broke them in this commit:
81038
81039 commit 1be374a0518a288147c6a7398792583200a67261
81040 Author: Andy Lutomirski <luto@amacapital.net>
81041 Date: Wed May 22 14:07:44 2013 -0700
81042
81043 net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
81044
81045 This patch adds __sys_sendmsg and __sys_sendmsg as common helpers that accept
81046 MSG_CMSG_COMPAT and blocks MSG_CMSG_COMPAT at the syscall entrypoints. It
81047 also reverts some unnecessary checks in sys_socketcall.
81048
81049 Apparently I was suffering from underscore blindness the first time around.
81050
81051 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
81052 Tested-by: Eric Dumazet <edumazet@google.com>
81053 Signed-off-by: David S. Miller <davem@davemloft.net>
81054
81055 include/linux/socket.h | 3 ++
81056 net/compat.c | 13 +++++++-
81057 net/socket.c | 72 ++++++++++++++++++++++--------------------------
81058 3 files changed, 47 insertions(+), 41 deletions(-)
81059
81060 commit b481a366021e5db07a9ea138bc0c1fe598a5ba2f
81061 Author: Andy Lutomirski <luto@amacapital.net>
81062 Date: Wed May 22 14:07:44 2013 -0700
81063
81064 Upstream commit: 1be374a0518a288147c6a7398792583200a67261
81065
81066 net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
81067
81068 To: linux-kernel@vger.kernel.org
81069 Cc: x86@kernel.org, trinity@vger.kernel.org, Andy Lutomirski <luto@amacapital.net>, netdev@vger.kernel.org, "David S.
81070 Miller" <davem@davemloft.net>
81071 Subject: [PATCH 5/5] net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
81072
81073 MSG_CMSG_COMPAT is (AFAIK) not intended to be part of the API --
81074 it's a hack that steals a bit to indicate to other networking code
81075 that a compat entry was used. So don't allow it from a non-compat
81076 syscall.
81077
81078 This prevents an oops when running this code:
81079
81080 int main()
81081 {
81082 int s;
81083 struct sockaddr_in addr;
81084 struct msghdr *hdr;
81085
81086 char *highpage = mmap((void*)(TASK_SIZE_MAX - 4096), 4096,
81087 PROT_READ | PROT_WRITE,
81088 MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
81089 if (highpage == MAP_FAILED)
81090 err(1, "mmap");
81091
81092 s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
81093 if (s == -1)
81094 err(1, "socket");
81095
81096 addr.sin_family = AF_INET;
81097 addr.sin_port = htons(1);
81098 addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
81099 if (connect(s, (struct sockaddr*)&addr, sizeof(addr)) != 0)
81100 err(1, "connect");
81101
81102 void *evil = highpage + 4096 - COMPAT_MSGHDR_SIZE;
81103 printf("Evil address is %p\n", evil);
81104
81105 if (syscall(__NR_sendmmsg, s, evil, 1, MSG_CMSG_COMPAT) < 0)
81106 err(1, "sendmmsg");
81107
81108 return 0;
81109 }
81110
81111 Cc: David S. Miller <davem@davemloft.net>
81112 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
81113 Signed-off-by: David S. Miller <davem@davemloft.net>
81114
81115 net/socket.c | 33 +++++++++++++++++++++++++++++++--
81116 1 files changed, 31 insertions(+), 2 deletions(-)
81117
81118 commit 6ccb09f408cc4ff23adbf68c7d2307f5fffcf88e
81119 Author: Kees Cook <keescook@chromium.org>
81120 Date: Fri May 10 14:48:21 2013 -0700
81121
81122 Upstream commit: e0e29b683d6784ef59bbc914eac85a04b650e63c
81123
81124 b43: stop format string leaking into error msgs
81125
81126 The module parameter "fwpostfix" is userspace controllable, unfiltered,
81127 and is used to define the firmware filename. b43_do_request_fw() populates
81128 ctx->errors[] on error, containing the firmware filename. b43err()
81129 parses its arguments as a format string. For systems with b43 hardware,
81130 this could lead to a uid-0 to ring-0 escalation.
81131
81132 CVE-2013-2852
81133
81134 Signed-off-by: Kees Cook <keescook@chromium.org>
81135 Cc: stable@vger.kernel.org
81136 Signed-off-by: John W. Linville <linville@tuxdriver.com>
81137
81138 drivers/net/wireless/b43/main.c | 2 +-
81139 1 files changed, 1 insertions(+), 1 deletions(-)
81140
81141 commit dfb67a67049ace7b94ad7e2febfac69816d50d85
81142 Author: Mark A. Greer <mgreer@animalcreek.com>
81143 Date: Wed May 29 12:25:34 2013 -0700
81144
81145 Upstream commit: f873ded213d6d8c36354c0fc903af44da4fd6ac5
81146
81147 mwifiex: debugfs: Fix out of bounds array access
81148
81149 When reading the contents of '/sys/kernel/debug/mwifiex/p2p0/info',
81150 the following panic occurs:
81151
81152 $ cat /sys/kernel/debug/mwifiex/p2p0/info
81153 Unable to handle kernel paging request at virtual address 74706164
81154 pgd = de530000
81155 [74706164] *pgd=00000000
81156 Internal error: Oops: 5 [#1] SMP ARM
81157 Modules linked in: phy_twl4030_usb omap2430 musb_hdrc mwifiex_sdio mwifiex
81158 CPU: 0 PID: 1635 Comm: cat Not tainted 3.10.0-rc1-00010-g1268390 #1
81159 task: de16b6c0 ti: de048000 task.ti: de048000
81160 PC is at strnlen+0xc/0x4c
81161 LR is at string+0x3c/0xf8
81162 pc : [<c02c123c>] lr : [<c02c2d1c>] psr: a0000013
81163 sp : de049e10 ip : c06efba0 fp : de6d2092
81164 r10: bf01a260 r9 : ffffffff r8 : 74706164
81165 r7 : 0000ffff r6 : ffffffff r5 : de6d209c r4 : 00000000
81166 r3 : ff0a0004 r2 : 74706164 r1 : ffffffff r0 : 74706164
81167 Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
81168 Control: 10c5387d Table: 9e530019 DAC: 00000015
81169 Process cat (pid: 1635, stack limit = 0xde048240)
81170 Stack: (0xde049e10 to 0xde04a000)
81171 9e00: de6d2092 00000002 bf01a25e de6d209c
81172 9e20: de049e80 c02c438c 0000000a ff0a0004 ffffffff 00000000 00000000 de049e48
81173 9e40: 00000000 2192df6d ff0a0004 ffffffff 00000000 de6d2092 de049ef8 bef3cc00
81174 9e60: de6b0000 dc358000 de6d2000 00000000 00000003 c02c45a4 bf01790c bf01a254
81175 9e80: 74706164 bf018698 00000000 de59c3c0 de048000 de049f80 00001000 bef3cc00
81176 9ea0: 00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
81177 9ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
81178 9ee0: 00000000 00000000 00000000 00000001 00000000 00000000 6669776d 20786569
81179 9f00: 20302e31 2e343128 392e3636 3231702e 00202933 00000000 00000003 c0294898
81180 9f20: 00000000 00000000 00000000 00000000 de59c3c0 c0107c04 de554000 de59c3c0
81181 9f40: 00001000 bef3cc00 de049f80 bef3cc00 de049f80 00000000 00000003 c0108a00
81182 9f60: de048000 de59c3c0 00000000 00000000 de59c3c0 00001000 bef3cc00 c0108b60
81183 9f80: 00000000 00000000 00001000 bef3cc00 00000003 00000003 c0014128 de048000
81184 9fa0: 00000000 c0013f80 00001000 bef3cc00 00000003 bef3cc00 00001000 00000000
81185 9fc0: 00001000 bef3cc00 00000003 00000003 00000001 00000001 00000001 00000003
81186 9fe0: 00000000 bef3cbdc 00011984 b6f1127c 60000010 00000003 18dbdd2c 7f7bfffd
81187 [<c02c123c>] (strnlen+0xc/0x4c) from [<c02c2d1c>] (string+0x3c/0xf8)
81188 [<c02c2d1c>] (string+0x3c/0xf8) from [<c02c438c>] (vsnprintf+0x1e8/0x3e8)
81189 [<c02c438c>] (vsnprintf+0x1e8/0x3e8) from [<c02c45a4>] (sprintf+0x18/0x24)
81190 [<c02c45a4>] (sprintf+0x18/0x24) from [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex])
81191 [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex]) from [<c0108a00>] (vfs_read+0xb0/0x144)
81192 [<c0108a00>] (vfs_read+0xb0/0x144) from [<c0108b60>] (SyS_read+0x44/0x70)
81193 [<c0108b60>] (SyS_read+0x44/0x70) from [<c0013f80>] (ret_fast_syscall+0x0/0x30)
81194 Code: e12fff1e e3510000 e1a02000 0a00000d (e5d03000)
81195 ---[ end trace ca98273dc605a04f ]---
81196
81197 The panic is caused by the mwifiex_info_read() routine assuming that
81198 there can only be four modes (0-3) which is an invalid assumption.
81199 For example, when testing P2P, the mode is '8' (P2P_CLIENT) so the
81200 code accesses data beyond the bounds of the bss_modes[] array which
81201 causes the panic. Fix this by updating bss_modes[] to support the
81202 current list of modes and adding a check to prevent the out-of-bounds
81203 access from occuring in the future when more modes are added.
81204
81205 Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
81206 Acked-by: Bing Zhao <bzhao@marvell.com>
81207 Signed-off-by: John W. Linville <linville@tuxdriver.com>
81208
81209 drivers/net/wireless/mwifiex/debugfs.c | 22 +++++++++++++++++-----
81210 1 files changed, 17 insertions(+), 5 deletions(-)
81211
81212 commit 04152dec6e99ca4c0fc52219f7cf2152dafe6b52
81213 Author: Johan Hedberg <johan.hedberg@intel.com>
81214 Date: Tue May 28 13:46:30 2013 +0300
81215
81216 Upstream commit: cb3b3152b2f5939d67005cff841a1ca748b19888
81217
81218 Bluetooth: Fix missing length checks for L2CAP signalling PDUs
81219
81220 There has been code in place to check that the L2CAP length header
81221 matches the amount of data received, but many PDU handlers have not been
81222 checking that the data received actually matches that expected by the
81223 specific PDU. This patch adds passing the length header to the specific
81224 handler functions and ensures that those functions fail cleanly in the
81225 case of an incorrect amount of data.
81226
81227 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
81228 Cc: stable@vger.kernel.org
81229 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
81230 Signed-off-by: John W. Linville <linville@tuxdriver.com>
81231
81232 net/bluetooth/l2cap_core.c | 70 ++++++++++++++++++++++++++++++++-----------
81233 1 files changed, 52 insertions(+), 18 deletions(-)
81234
81235 commit 628be2427afb241b5a1aa24bc5907d05287e1f25
81236 Author: Dan Carpenter <dan.carpenter@oracle.com>
81237 Date: Mon Jun 3 12:00:49 2013 +0300
81238
81239 Upstream commit: a8241c63517ec0b900695daa9003cddc41c536a1
81240
81241 ipvs: info leak in __ip_vs_get_dest_entries()
81242
81243 The entry struct has a 2 byte hole after ->port and another 4 byte
81244 hole after ->stats.outpkts. You must have CAP_NET_ADMIN in your
81245 namespace to hit this information leak.
81246
81247 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
81248 Acked-by: Julian Anastasov <ja@ssi.bg>
81249 Signed-off-by: Simon Horman <horms@verge.net.au>
81250 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
81251
81252 net/netfilter/ipvs/ip_vs_ctl.c | 1 +
81253 1 files changed, 1 insertions(+), 0 deletions(-)
81254
81255 commit 066d9226bc6c569d5f420c978b758e0bddd23444
81256 Author: Robin Holt <holt@sgi.com>
81257 Date: Wed Jun 12 14:04:37 2013 -0700
81258
81259 Upstream commit: cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db
81260
81261 reboot: rigrate shutdown/reboot to boot cpu
81262
81263 We recently noticed that reboot of a 1024 cpu machine takes approx 16
81264 minutes of just stopping the cpus. The slowdown was tracked to commit
81265 f96972f2dc63 ("kernel/sys.c: call disable_nonboot_cpus() in
81266 kernel_restart()").
81267
81268 The current implementation does all the work of hot removing the cpus
81269 before halting the system. We are switching to just migrating to the
81270 boot cpu and then continuing with shutdown/reboot.
81271
81272 This also has the effect of not breaking x86's command line parameter
81273 for specifying the reboot cpu. Note, this code was shamelessly copied
81274 from arch/x86/kernel/reboot.c with bits removed pertaining to the
81275 reboot_cpu command line parameter.
81276
81277 Signed-off-by: Robin Holt <holt@sgi.com>
81278 Tested-by: Shawn Guo <shawn.guo@linaro.org>
81279 Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
81280 Cc: H. Peter Anvin <hpa@zytor.com>
81281 Cc: Thomas Gleixner <tglx@linutronix.de>
81282 Cc: Ingo Molnar <mingo@elte.hu>
81283 Cc: Russ Anderson <rja@sgi.com>
81284 Cc: Robin Holt <holt@sgi.com>
81285 Cc: Russell King <linux@arm.linux.org.uk>
81286 Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
81287 Cc: <stable@vger.kernel.org>
81288 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
81289 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
81290
81291 kernel/sys.c | 29 ++++++++++++++++++++++++++---
81292 1 files changed, 26 insertions(+), 3 deletions(-)
81293
81294 commit 94e2a91600b07d39825e7059195f35eb611a39a2
81295 Merge: 20cc761 e6e3059
81296 Author: Brad Spengler <spender@grsecurity.net>
81297 Date: Thu Jun 13 16:23:46 2013 -0400
81298
81299 Merge branch 'pax-test' into grsec-test
81300
81301 commit e6e3059de5525ebcd55af43b20c9cdbf43b9d30a
81302 Merge: c6aadb1 4b73feb
81303 Author: Brad Spengler <spender@grsecurity.net>
81304 Date: Thu Jun 13 16:23:39 2013 -0400
81305
81306 Merge branch 'linux-3.9.y' into pax-test
81307
81308 commit 20cc7613e38cde07adc73179a91d6c15292e8d43
81309 Author: Daniel Borkmann <dborkman@redhat.com>
81310 Date: Thu Jun 6 15:53:47 2013 +0200
81311
81312 Upstream commit: 1abd165ed757db1afdefaac0a4bc8a70f97d258c
81313
81314 net: sctp: fix NULL pointer dereference in socket destruction
81315
81316 While stress testing sctp sockets, I hit the following panic:
81317
81318 BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
81319 IP: [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
81320 PGD 7cead067 PUD 7ce76067 PMD 0
81321 Oops: 0000 [#1] SMP
81322 Modules linked in: sctp(F) libcrc32c(F) [...]
81323 CPU: 7 PID: 2950 Comm: acc Tainted: GF 3.10.0-rc2+ #1
81324 Hardware name: Dell Inc. PowerEdge T410/0H19HD, BIOS 1.6.3 02/01/2011
81325 task: ffff88007ce0e0c0 ti: ffff88007b568000 task.ti: ffff88007b568000
81326 RIP: 0010:[<ffffffffa0490c4e>] [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
81327 RSP: 0018:ffff88007b569e08 EFLAGS: 00010292
81328 RAX: 0000000000000000 RBX: ffff88007db78a00 RCX: dead000000200200
81329 RDX: ffffffffa049fdb0 RSI: ffff8800379baf38 RDI: 0000000000000000
81330 RBP: ffff88007b569e18 R08: ffff88007c230da0 R09: 0000000000000001
81331 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
81332 R13: ffff880077990d00 R14: 0000000000000084 R15: ffff88007db78a00
81333 FS: 00007fc18ab61700(0000) GS:ffff88007fc60000(0000) knlGS:0000000000000000
81334 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
81335 CR2: 0000000000000020 CR3: 000000007cf9d000 CR4: 00000000000007e0
81336 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
81337 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
81338 Stack:
81339 ffff88007b569e38 ffff88007db78a00 ffff88007b569e38 ffffffffa049fded
81340 ffffffff81abf0c0 ffff88007db78a00 ffff88007b569e58 ffffffff8145b60e
81341 0000000000000000 0000000000000000 ffff88007b569eb8 ffffffff814df36e
81342 Call Trace:
81343 [<ffffffffa049fded>] sctp_destroy_sock+0x3d/0x80 [sctp]
81344 [<ffffffff8145b60e>] sk_common_release+0x1e/0xf0
81345 [<ffffffff814df36e>] inet_create+0x2ae/0x350
81346 [<ffffffff81455a6f>] __sock_create+0x11f/0x240
81347 [<ffffffff81455bf0>] sock_create+0x30/0x40
81348 [<ffffffff8145696c>] SyS_socket+0x4c/0xc0
81349 [<ffffffff815403be>] ? do_page_fault+0xe/0x10
81350 [<ffffffff8153cb32>] ? page_fault+0x22/0x30
81351 [<ffffffff81544e02>] system_call_fastpath+0x16/0x1b
81352 Code: 0c c9 c3 66 2e 0f 1f 84 00 00 00 00 00 e8 fb fe ff ff c9 c3 66 0f
81353 1f 84 00 00 00 00 00 55 48 89 e5 53 48 83 ec 08 66 66 66 66 90 <48>
81354 8b 47 20 48 89 fb c6 47 1c 01 c6 40 12 07 e8 9e 68 01 00 48
81355 RIP [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
81356 RSP <ffff88007b569e08>
81357 CR2: 0000000000000020
81358 ---[ end trace e0d71ec1108c1dd9 ]---
81359
81360 I did not hit this with the lksctp-tools functional tests, but with a
81361 small, multi-threaded test program, that heavily allocates, binds,
81362 listens and waits in accept on sctp sockets, and then randomly kills
81363 some of them (no need for an actual client in this case to hit this).
81364 Then, again, allocating, binding, etc, and then killing child processes.
81365
81366 This panic then only occurs when ``echo 1 > /proc/sys/net/sctp/auth_enable''
81367 is set. The cause for that is actually very simple: in sctp_endpoint_init()
81368 we enter the path of sctp_auth_init_hmacs(). There, we try to allocate
81369 our crypto transforms through crypto_alloc_hash(). In our scenario,
81370 it then can happen that crypto_alloc_hash() fails with -EINTR from
81371 crypto_larval_wait(), thus we bail out and release the socket via
81372 sk_common_release(), sctp_destroy_sock() and hit the NULL pointer
81373 dereference as soon as we try to access members in the endpoint during
81374 sctp_endpoint_free(), since endpoint at that time is still NULL. Now,
81375 if we have that case, we do not need to do any cleanup work and just
81376 leave the destruction handler.
81377
81378 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
81379 Acked-by: Neil Horman <nhorman@tuxdriver.com>
81380 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
81381 Signed-off-by: David S. Miller <davem@davemloft.net>
81382
81383 net/sctp/socket.c | 6 ++++++
81384 1 files changed, 6 insertions(+), 0 deletions(-)
81385
81386 commit 386ba837978cc8a1111440bdcd8600f2df4634a4
81387 Author: Brad Spengler <spender@grsecurity.net>
81388 Date: Wed Jun 12 20:37:48 2013 -0400
81389
81390 fix deadlock when booting i386 kernel without NX
81391
81392 mm/mmap.c | 4 +++-
81393 1 files changed, 3 insertions(+), 1 deletions(-)
81394
81395 commit fe96e11acb36fcda9a9e6f6439557db4aa4e8da0
81396 Author: Brad Spengler <spender@grsecurity.net>
81397 Date: Tue Jun 11 22:18:07 2013 -0400
81398
81399 fix elif / elif defined() typo in recent change
81400
81401 kernel/events/core.c | 2 +-
81402 1 files changed, 1 insertions(+), 1 deletions(-)
81403
81404 commit bc43377e1e757cd37a06be0187884a42af718aab
81405 Merge: 3cdea63 c6aadb1
81406 Author: Brad Spengler <spender@grsecurity.net>
81407 Date: Tue Jun 11 18:50:39 2013 -0400
81408
81409 Merge branch 'pax-test' into grsec-test
81410
81411 commit c6aadb12ae8dd3d12c2d6b8fbe80d29e514d60c0
81412 Author: Brad Spengler <spender@grsecurity.net>
81413 Date: Tue Jun 11 18:49:36 2013 -0400
81414
81415 Update to pax-linux-3.9.4-test9.patch:
81416 - fixed a KERNEXEC regression resulting in unusable RAM regions (http://forums.grsecurity.net/viewtopic.php?f=3&t=3506)
81417 - removed a user-triggerable BUG_ON, fixing it properly wasn't worth the effort
81418
81419 arch/x86/kernel/setup.c | 2 +-
81420 mm/mlock.c | 1 -
81421 2 files changed, 1 insertions(+), 2 deletions(-)
81422
81423 commit 3cdea63e90607d8d55820b101854091623feedb8
81424 Author: Brad Spengler <spender@grsecurity.net>
81425 Date: Mon Jun 10 21:21:44 2013 -0400
81426
81427 Fix fanotify infoleak reported by Dan Carpenter at:
81428 https://lkml.org/lkml/2013/6/3/128
81429
81430 Requires CAP_SYS_ADMIN, so this is about as low priority as it gets
81431
81432 fs/notify/fanotify/fanotify_user.c | 1 +
81433 1 files changed, 1 insertions(+), 0 deletions(-)
81434
81435 commit 373a2b5df78f82b9d3db72bd6577e29a71591323
81436 Author: Brad Spengler <spender@grsecurity.net>
81437 Date: Mon Jun 10 21:16:46 2013 -0400
81438
81439 Backport infoleak fix by Dan Carpenter in cpqarray:
81440 https://lkml.org/lkml/2013/6/3/131
81441
81442 drivers/block/cpqarray.c | 1 +
81443 1 files changed, 1 insertions(+), 0 deletions(-)
81444
81445 commit 251e84b9b05e063981b20be154c9389862f94759
81446 Author: Brad Spengler <spender@grsecurity.net>
81447 Date: Mon Jun 10 21:04:17 2013 -0400
81448
81449 Backport 050e4b8fb7cdd7096c987a9cd556029c622c7fe2
81450
81451 drivers/cdrom/cdrom.c | 4 ++--
81452 1 files changed, 2 insertions(+), 2 deletions(-)
81453
81454 commit 383d89bf95818b05a485a6e8b118963b5bcbc83e
81455 Author: Brad Spengler <spender@grsecurity.net>
81456 Date: Mon Jun 10 18:34:32 2013 -0400
81457
81458 change const to __read_only
81459
81460 kernel/sysctl.c | 18 +++++++++---------
81461 1 files changed, 9 insertions(+), 9 deletions(-)
81462
81463 commit 8f08f803f605649e63f0857a1b9a9805b629eaa4
81464 Author: Brad Spengler <spender@grsecurity.net>
81465 Date: Mon Jun 10 17:34:13 2013 -0400
81466
81467 compile fix, make const values const
81468
81469 kernel/sysctl.c | 18 +++++++++---------
81470 1 files changed, 9 insertions(+), 9 deletions(-)
81471
81472 commit 6b90c228f6d4a3c2cc9c2b9a6a7ac14534ebd42d
81473 Author: Brad Spengler <spender@grsecurity.net>
81474 Date: Mon Jun 10 17:37:13 2013 -0400
81475
81476 Backport upstream commit: af733960ca59f7d59ea337e1f633771c9e67101a
81477
81478 drivers/char/mwave/tp3780i.c | 1 +
81479 1 files changed, 1 insertions(+), 0 deletions(-)
81480
81481 commit 1c590aa70c95ebd76ba9672aa23d800b81780615
81482 Author: Brad Spengler <spender@grsecurity.net>
81483 Date: Sun Jun 9 19:50:35 2013 -0400
81484
81485 allow -1 perf_event_paranoid
81486
81487 kernel/sysctl.c | 2 +-
81488 1 files changed, 1 insertions(+), 1 deletions(-)
81489
81490 commit defdc4a2bd3efda4af2bb6f3aa8f495fa8078584
81491 Merge: 4e85539 117c3fa
81492 Author: Brad Spengler <spender@grsecurity.net>
81493 Date: Sun Jun 9 17:30:12 2013 -0400
81494
81495 Merge branch 'pax-test' into grsec-test
81496
81497 commit 117c3fa8d26c3806103123560f807d99071b60b6
81498 Merge: ed9b427 5dd2e98
81499 Author: Brad Spengler <spender@grsecurity.net>
81500 Date: Sun Jun 9 17:30:00 2013 -0400
81501
81502 Merge branch 'linux-3.9.y' into pax-test
81503
81504 commit 4e8553989b0406f15be4a2dccdbc7599cc2b4f42
81505 Author: Eric Dumazet <edumazet@google.com>
81506 Date: Mon May 13 21:25:52 2013 +0000
81507
81508 Upstream commit: 54d27fcb338bd9c42d1dfc5a39e18f6f9d373c2e
81509
81510 tcp: fix tcp_md5_hash_skb_data()
81511
81512 TCP md5 communications fail [1] for some devices, because sg/crypto code
81513 assume page offsets are below PAGE_SIZE.
81514
81515 This was discovered using mlx4 driver [2], but I suspect loopback
81516 might trigger the same bug now we use order-3 pages in tcp_sendmsg()
81517
81518 [1] Failure is giving following messages.
81519
81520 huh, entered softirq 3 NET_RX ffffffff806ad230 preempt_count 00000100,
81521 exited with 00000101?
81522
81523 [2] mlx4 driver uses order-2 pages to allocate RX frags
81524
81525 Reported-by: Matt Schnall <mischnal@google.com>
81526 Signed-off-by: Eric Dumazet <edumazet@google.com>
81527 Cc: Bernhard Beck <bbeck@google.com>
81528 Signed-off-by: David S. Miller <davem@davemloft.net>
81529
81530 net/ipv4/tcp.c | 7 +++++--
81531 1 files changed, 5 insertions(+), 2 deletions(-)
81532
81533 commit 4f1ed254c28a1b3e03c0b0b744c5042661c295eb
81534 Author: Eric Dumazet <edumazet@google.com>
81535 Date: Fri May 17 04:53:13 2013 +0000
81536
81537 Upstream commit: 284041ef21fdf2e0d216ab6b787bc9072b4eb58a
81538
81539 ipv6: fix possible crashes in ip6_cork_release()
81540
81541 commit 0178b695fd6b4 ("ipv6: Copy cork options in ip6_append_data")
81542 added some code duplication and bad error recovery, leading to potential
81543 crash in ip6_cork_release() as kfree() could be called with garbage.
81544
81545 use kzalloc() to make sure this wont happen.
81546
81547 Signed-off-by: Eric Dumazet <edumazet@google.com>
81548 Signed-off-by: David S. Miller <davem@davemloft.net>
81549 Cc: Herbert Xu <herbert@gondor.apana.org.au>
81550 Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
81551 Cc: Neal Cardwell <ncardwell@google.com>
81552
81553 net/ipv6/ip6_output.c | 2 +-
81554 1 files changed, 1 insertions(+), 1 deletions(-)
81555
81556 commit 5771263fe368cd384127dd17d7596a7e1a4e2eec
81557 Author: Chen Gang <gang.chen@asianux.com>
81558 Date: Thu May 16 23:13:04 2013 +0000
81559
81560 Upstream commit: ff0102ee104847023c36357e2b9f133f3f40d211
81561
81562 net: irda: using kzalloc() instead of kmalloc() to avoid strncpy() issue.
81563
81564 'discovery->data.info' length is 22, NICKNAME_MAX_LEN is 21, so the
81565 strncpy() will always left the last byte of 'discovery->data.info'
81566 uninitialized.
81567
81568 When 'text' length is longer than 21 (NICKNAME_MAX_LEN), if still left
81569 the last byte of 'discovery->data.info' uninitialized, the next
81570 strlen() will cause issue.
81571
81572 Also 'discovery->data' is 'struct irda_device_info' which defined in
81573 "include/uapi/...", it may copy to user mode, so need whole initialized.
81574
81575 All together, need use kzalloc() instead of kmalloc() to initialize all
81576 members firstly.
81577
81578 Signed-off-by: Chen Gang <gang.chen@asianux.com>
81579 Signed-off-by: David S. Miller <davem@davemloft.net>
81580
81581 net/irda/irlap_frame.c | 2 +-
81582 1 files changed, 1 insertions(+), 1 deletions(-)
81583
81584 commit c01c9af268cb066f240aec53454b8b74d8d01688
81585 Author: Dan Carpenter <dan.carpenter@oracle.com>
81586 Date: Sun May 19 08:36:36 2013 +0000
81587
81588 Upstream commit: 25dff94ff9df40d4d663bb6ea3193a7758cc50e5
81589
81590 isdn/kcapi: fix a small underflow
81591
81592 In get_capi_ctr_by_nr() and get_capi_appl_by_nr() the parameter comes
81593 from skb->data. The current code can underflow to one space before the
81594 start of the array.
81595
81596 The sanity check isn't needed in __get_capi_appl_by_nr() but I changed
81597 it to match the others.
81598
81599 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
81600 Signed-off-by: David S. Miller <davem@davemloft.net>
81601
81602 drivers/isdn/capi/kcapi.c | 6 +++---
81603 1 files changed, 3 insertions(+), 3 deletions(-)
81604
81605 commit 4a3f12a9df775147b0c4b0277de1aa99eddc5c66
81606 Author: Timo Teräs <timo.teras@iki.fi>
81607 Date: Wed May 22 01:40:47 2013 +0000
81608
81609 Upstream commit: 497574c72c9922cf20c12aed15313c389f722fa0
81610
81611 xfrm: properly handle invalid states as an error
81612
81613 The error exit path needs err explicitly set. Otherwise it
81614 returns success and the only caller, xfrm_output_resume(),
81615 would oops in skb_dst(skb)->ops derefence as skb_dst(skb) is
81616 NULL.
81617
81618 Bug introduced in commit bb65a9cb (xfrm: removes a superfluous
81619 check and add a statistic).
81620
81621 Signed-off-by: Timo Teräs <timo.teras@iki.fi>
81622 Cc: Li RongQing <roy.qing.li@gmail.com>
81623 Cc: Steffen Klassert <steffen.klassert@secunet.com>
81624 Signed-off-by: David S. Miller <davem@davemloft.net>
81625
81626 net/xfrm/xfrm_output.c | 1 +
81627 1 files changed, 1 insertions(+), 0 deletions(-)
81628
81629 commit 61d8e1e848afa93cd971f6d1da875ad98b6ddfbd
81630 Author: Jeff Mahoney <jeffm@jeffreymahoney.com>
81631 Date: Fri May 31 15:07:52 2013 -0400
81632
81633 Upstream commit: 0bdc7acba56a7ca4232f15f37b16f7ec079385ab
81634
81635 reiserfs: fix spurious multiple-fill in reiserfs_readdir_dentry
81636
81637 After sleeping for filldir(), we check to see if the file system has
81638 changed and research. The next_pos pointer is updated but its value
81639 isn't pushed into the key used for the search itself. As a result,
81640 the search returns the same item that the last cycle of the loop did
81641 and filldir() is called multiple times with the same data.
81642
81643 The end result is that the buffer can contain the same name multiple
81644 times. This can be returned to userspace or used internally in the
81645 xattr code where it can manifest with the following warning:
81646
81647 jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-2)
81648
81649 reiserfs_for_each_xattr uses reiserfs_readdir_dentry to iterate over
81650 the xattr names and ends up trying to unlink the same name twice. The
81651 second attempt fails with -ENOENT and the error is returned. At some
81652 point I'll need to add support into reiserfsck to remove the orphaned
81653 directories left behind when this occurs.
81654
81655 The fix is to push the value into the key before researching.
81656
81657 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
81658 Signed-off-by: Jan Kara <jack@suse.cz>
81659
81660 fs/reiserfs/dir.c | 2 ++
81661 1 files changed, 2 insertions(+), 0 deletions(-)
81662
81663 commit ca0746bf380eec77d75d1741ac4742ded0e55ec7
81664 Author: Jeff Mahoney <jeffm@suse.com>
81665 Date: Fri May 31 15:51:17 2013 -0400
81666
81667 Upstream commit: a1457c0ce976bad1356b9b0437f2a5c3ab8a9cfc
81668
81669 reiserfs: fix deadlock with nfs racing on create/lookup
81670
81671 Reiserfs is currently able to be deadlocked by having two NFS clients
81672 where one has removed and recreated a file and another is accessing the
81673 file with an open file handle.
81674
81675 If one client deletes and recreates a file with timing such that the
81676 recreated file obtains the same [dirid, objectid] pair as the original
81677 file while another client accesses the file via file handle, the create
81678 and lookup can race and deadlock if the lookup manages to create the
81679 in-memory inode first.
81680
81681 The create thread, in insert_inode_locked4, will hold the write lock
81682 while waiting on the other inode to be unlocked. The lookup thread,
81683 anywhere in the iget path, will release and reacquire the write lock while
81684 it schedules. If it needs to reacquire the lock while the create thread
81685 has it, it will never be able to make forward progress because it needs
81686 to reacquire the lock before ultimately unlocking the inode.
81687
81688 This patch drops the write lock across the insert_inode_locked4 call so
81689 that the ordering of inode_wait -> write lock is retained. Since this
81690 would have been the case before the BKL push-down, this is safe.
81691
81692 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
81693 Signed-off-by: Jan Kara <jack@suse.cz>
81694
81695 fs/reiserfs/inode.c | 9 +++++++--
81696 1 files changed, 7 insertions(+), 2 deletions(-)
81697
81698 commit cd21c0eb4950498be46a07257426c0cea4aa2bf1
81699 Author: Jeff Mahoney <jeffm@suse.com>
81700 Date: Fri May 31 15:54:17 2013 -0400
81701
81702 Upstream commit: 4a8570112b76a63ad21cfcbe2783f98f7fd5ba1b
81703
81704 reiserfs: fix problems with chowning setuid file w/ xattrs
81705
81706 reiserfs_chown_xattrs() takes the iattr struct passed into ->setattr
81707 and uses it to iterate over all the attrs associated with a file to change
81708 ownership of xattrs (and transfer quota associated with the xattr files).
81709
81710 When the setuid bit is cleared during chown, ATTR_MODE and iattr->ia_mode
81711 are passed to all the xattrs as well. This means that the xattr directory
81712 will have S_IFREG added to its mode bits.
81713
81714 This has been prevented in practice by a missing IS_PRIVATE check
81715 in reiserfs_acl_chmod, which caused a double-lock to occur while holding
81716 the write lock. Since the file system was completely locked up, the
81717 writeout of the corrupted mode never happened.
81718
81719 This patch temporarily clears everything but ATTR_UID|ATTR_GID for the
81720 calls to reiserfs_setattr and adds the missing IS_PRIVATE check.
81721
81722 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
81723 Signed-off-by: Jan Kara <jack@suse.cz>
81724
81725 fs/reiserfs/xattr.c | 14 +++++++++++++-
81726 fs/reiserfs/xattr_acl.c | 3 +++
81727 2 files changed, 16 insertions(+), 1 deletions(-)
81728
81729 commit c18cef940310c06bdf86d64d8cb227e56e165300
81730 Author: Dave Chinner <dchinner@redhat.com>
81731 Date: Mon May 27 16:38:25 2013 +1000
81732
81733 Upstream commit: 2962f5a5dcc56f69cbf62121a7be67cc15d6940b
81734
81735 xfs: kill suid/sgid through the truncate path.
81736
81737 XFS has failed to kill suid/sgid bits correctly when truncating
81738 files of non-zero size since commit c4ed4243 ("xfs: split
81739 xfs_setattr") introduced in the 3.1 kernel. Fix it.
81740
81741 Fix it.
81742
81743 cc: stable kernel <stable@vger.kernel.org>
81744 Signed-off-by: Dave Chinner <dchinner@redhat.com>
81745 Reviewed-by: Brian Foster <bfoster@redhat.com>
81746 Signed-off-by: Ben Myers <bpm@sgi.com>
81747
81748 (cherry picked from commit 56c19e89b38618390addfc743d822f99519055c6)
81749
81750 fs/xfs/xfs_iops.c | 47 ++++++++++++++++++++++++++++++++---------------
81751 1 files changed, 32 insertions(+), 15 deletions(-)
81752
81753 commit 8e62c6a0946a4b11a55540094a0ee5d3a222dbcc
81754 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
81755 Date: Wed May 29 15:36:40 2013 -0400
81756
81757 Upstream commit: f448badd34700ae728a32ba024249626d49c10e1
81758
81759 NFSv4: Fix a thinko in nfs4_try_open_cached
81760
81761 We need to pass the full open mode flags to nfs_may_open() when doing
81762 a delegated open.
81763
81764 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
81765 Cc: stable@vger.kernel.org
81766
81767 fs/nfs/nfs4proc.c | 2 +-
81768 1 files changed, 1 insertions(+), 1 deletions(-)
81769
81770 commit c47de62893a9f269be0a272c2840aac1e2a35c68
81771 Author: Chen Gang <gang.chen@asianux.com>
81772 Date: Thu May 30 01:18:43 2013 +0000
81773
81774 Upstream commit: ea99b1adf22abd62bdcf14b1c9a0a4d3664eefd8
81775
81776 parisc: kernel: using strlcpy() instead of strcpy()
81777
81778 'boot_args' is an input args, and 'boot_command_line' has a fix length.
81779 So use strlcpy() instead of strcpy() to avoid memory overflow.
81780
81781 Signed-off-by: Chen Gang <gang.chen@asianux.com>
81782 Acked-by: Kyle McMartin <kyle@mcmartin.ca>
81783 Signed-off-by: Helge Deller <deller@gmx.de>
81784
81785 arch/parisc/kernel/setup.c | 3 ++-
81786 1 files changed, 2 insertions(+), 1 deletions(-)
81787
81788 commit ce869e6f799f95fcac340420ba3612503df80dbf
81789 Author: Chen Gang <gang.chen@asianux.com>
81790 Date: Mon May 27 04:57:09 2013 +0000
81791
81792 Upstream commit: 3f108de96ba449a8df3d7e3c053bf890fee2cb95
81793
81794 parisc: memory overflow, 'name' length is too short for using
81795
81796 'path.bc[i]' can be asigned by PCI_SLOT() which can '> 10', so sizeof(6
81797 * "%u:" + "%u" + '\0') may be 21.
81798
81799 Since 'name' length is 20, it may be memory overflow.
81800
81801 And 'path.bc[i]' is 'unsigned char' for printing, we can be sure the
81802 max length of 'name' must be less than 28.
81803
81804 So simplify thinking, we can use 28 instead of 20 directly, and do not
81805 think of whether 'patchc.bc[i]' can '> 100'.
81806
81807 Signed-off-by: Chen Gang <gang.chen@asianux.com>
81808 Signed-off-by: Helge Deller <deller@gmx.de>
81809
81810 arch/parisc/kernel/drivers.c | 2 +-
81811 1 files changed, 1 insertions(+), 1 deletions(-)
81812
81813 commit 5dc65cd34d442783118a17c518e2daedb90a31d0
81814 Author: Brad Spengler <spender@grsecurity.net>
81815 Date: Tue Jun 4 17:52:23 2013 -0400
81816
81817 add PERF_HARDEN recommendation
81818
81819 grsecurity/Kconfig | 3 +++
81820 1 files changed, 3 insertions(+), 0 deletions(-)
81821
81822 commit 45b0f6e97666ca330b9a69e7fd2d2d9345d9618c
81823 Author: Brad Spengler <spender@grsecurity.net>
81824 Date: Tue Jun 4 17:22:44 2013 -0400
81825
81826 Introduce new feature: CONFIG_GRKERNSEC_PERF_HARDEN
81827
81828 grsecurity/Kconfig | 19 +++++++++++++++++++
81829 include/linux/perf_event.h | 5 +++++
81830 kernel/events/core.c | 10 +++++++++-
81831 kernel/sysctl.c | 9 ++++++++-
81832 4 files changed, 41 insertions(+), 2 deletions(-)
81833
81834 commit 84619a3501fd38285a72d9e963f58d1827beedd6
81835 Author: Brad Spengler <spender@grsecurity.net>
81836 Date: Sat Jun 1 14:23:31 2013 -0400
81837
81838 remove user-triggerable BUG_ON in do_munlockall()
81839
81840 mm/mlock.c | 1 -
81841 1 files changed, 0 insertions(+), 1 deletions(-)
81842
81843 commit f4bcf6087bd7b9a5b9c9021790396865c5362da0
81844 Author: Brad Spengler <spender@grsecurity.net>
81845 Date: Sat Jun 1 13:44:05 2013 -0400
81846
81847 Upstream commit: cea4dcfdad926a27a18e188720efe0f2c9403456
81848
81849 From: Kees Cook <keescook@chromium.org>
81850 Date: Thu, 23 May 2013 17:32:17 +0000
81851 Subject: iscsi-target: fix heap buffer overflow on error
81852
81853 If a key was larger than 64 bytes, as checked by iscsi_check_key(), the
81854 error response packet, generated by iscsi_add_notunderstood_response(),
81855 would still attempt to copy the entire key into the packet, overflowing
81856 the structure on the heap.
81857
81858 Remote preauthentication kernel memory corruption was possible if a
81859 target was configured and listening on the network.
81860
81861 CVE-2013-2850
81862
81863 Embargo-screwup-by: Kees Cook <keescook@chromium.org>
81864 Cc: stable@vger.kernel.org
81865 Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
81866
81867 drivers/target/iscsi/iscsi_target_parameters.c | 8 +++-----
81868 drivers/target/iscsi/iscsi_target_parameters.h | 4 +++-
81869 2 files changed, 6 insertions(+), 6 deletions(-)
81870
81871 commit 2fdc3e0a0ecd44f22d49ea2230638ed650dd5e7e
81872 Author: Brad Spengler <spender@grsecurity.net>
81873 Date: Sat Jun 1 13:43:26 2013 -0400
81874
81875 Revert "Fix distro-embargoed bug CVE-2013-2850, bad strncpy parameters"
81876 Applying upstream fix instead
81877
81878 This reverts commit 8c237f4a53a038ab0f1c4fdc3656bdb3d77b7291.
81879
81880 drivers/target/iscsi/iscsi_target_parameters.c | 5 +++--
81881 1 files changed, 3 insertions(+), 2 deletions(-)
81882
81883 commit 8ad50b7b6bbaaec7f07f894c15d76abe801f0769
81884 Author: Dan Carpenter <dan.carpenter@oracle.com>
81885 Date: Sun May 19 21:52:20 2013 +0300
81886
81887 Upstream commit: e75b61897276c5100e61c9c74fd55ded28f31431
81888
81889 USB: cxacru: potential underflow in cxacru_cm_get_array()
81890
81891 commit 2a0ebf80aa95cc758d4725f74a7016e992606a39 upstream.
81892
81893 The value of "offd" comes off the instance->rcv_buf[] and we used it as
81894 the offset into an array. The problem is that we check the upper bound
81895 but not for negative values.
81896
81897 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
81898 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
81899 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
81900
81901 drivers/usb/atm/cxacru.c | 3 ++-
81902 1 files changed, 2 insertions(+), 1 deletions(-)
81903
81904 commit 8c237f4a53a038ab0f1c4fdc3656bdb3d77b7291
81905 Author: Brad Spengler <spender@grsecurity.net>
81906 Date: Sat Jun 1 11:30:17 2013 -0400
81907
81908 Fix distro-embargoed bug CVE-2013-2850, bad strncpy parameters
81909
81910 drivers/target/iscsi/iscsi_target_parameters.c | 5 ++---
81911 1 files changed, 2 insertions(+), 3 deletions(-)
81912
81913 commit 8578566969d91678a3d7d5251b4eafc6d7775314
81914 Author: Brad Spengler <spender@grsecurity.net>
81915 Date: Thu May 30 17:44:15 2013 -0400
81916
81917 Apply compatibility fix to previous RLIMIT_NPROC change
81918 don't enforce the rlimit check at exec time if the user is root
81919 Prevents problems with sudo if root is listed as part of a group
81920 in limits.conf with process limits enforced
81921
81922 kernel/sys.c | 2 +-
81923 1 files changed, 1 insertions(+), 1 deletions(-)
81924
81925 commit 0ed0c927ce3db94e2d0c0f328e24a28fe4f143e7
81926 Merge: 643b294 ed9b427
81927 Author: Brad Spengler <spender@grsecurity.net>
81928 Date: Wed May 29 19:19:28 2013 -0400
81929
81930 Merge branch 'pax-test' into grsec-test
81931
81932 commit ed9b4276488528d0c3803df1dc0df804238241e0
81933 Author: Brad Spengler <spender@grsecurity.net>
81934 Date: Wed May 29 19:18:45 2013 -0400
81935
81936 Updated to pax-linux-3.9.4-test8.patch:
81937 - fixed some fallout detected by the checker plugin
81938
81939 arch/x86/kernel/crash_dump_64.c | 2 +-
81940 drivers/base/devtmpfs.c | 6 +++---
81941 drivers/char/agp/compat_ioctl.c | 2 +-
81942 drivers/char/agp/frontend.c | 2 +-
81943 drivers/char/mem.c | 2 +-
81944 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 ++--
81945 drivers/i2c/i2c-dev.c | 2 +-
81946 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +++---
81947 drivers/media/v4l2-core/v4l2-ioctl.c | 20 ++++++++++++--------
81948 fs/9p/vfs_addr.c | 2 +-
81949 fs/binfmt_elf.c | 4 ++--
81950 fs/compat_ioctl.c | 4 ++--
81951 fs/exec.c | 2 +-
81952 fs/namespace.c | 8 ++++----
81953 fs/proc/vmcore.c | 12 ++++++++----
81954 fs/read_write.c | 2 +-
81955 include/linux/syscalls.h | 8 ++++----
81956 init/do_mounts_initrd.c | 8 ++++----
81957 init/main.c | 4 ++--
81958 kernel/events/core.c | 2 +-
81959 kernel/events/internal.h | 10 +++++-----
81960 mm/page_io.c | 2 +-
81961 security/keys/internal.h | 2 +-
81962 tools/gcc/checker_plugin.c | 1 +
81963 24 files changed, 63 insertions(+), 54 deletions(-)
81964
81965 commit 643b294b41c6adcad1cf107efe4ae52a834e6f15
81966 Author: Brad Spengler <spender@grsecurity.net>
81967 Date: Wed May 29 18:51:31 2013 -0400
81968
81969 eliminate gcc warning
81970
81971 fs/exec.c | 4 ++--
81972 1 files changed, 2 insertions(+), 2 deletions(-)
81973
81974 commit cf6f73059387ffeddb7b1de3e97a3cf588bcef86
81975 Author: Brad Spengler <spender@grsecurity.net>
81976 Date: Wed May 29 18:30:20 2013 -0400
81977
81978 use BUILD_BUG() instead of BUILD_BUG_ON(1)
81979
81980 arch/x86/net/bpf_jit_comp.c | 4 ++--
81981 1 files changed, 2 insertions(+), 2 deletions(-)
81982
81983 commit 5343410354267368e5809f3ad8d9a264f141be18
81984 Author: Brad Spengler <spender@grsecurity.net>
81985 Date: Wed May 29 17:57:41 2013 -0400
81986
81987 defensively handle additions to the BPF JIT by introducing a BUILD_BUG_ON
81988 for unknown opcodes
81989
81990 arch/x86/net/bpf_jit_comp.c | 11 +++++++----
81991 1 files changed, 7 insertions(+), 4 deletions(-)
81992
81993 commit 01f78a604b47c93fb26e8aeb68ef619bb3b8579d
81994 Author: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
81995 Date: Fri May 24 15:55:11 2013 -0700
81996
81997 Upstream commit: d34883d4e35c0a994e91dd847a82b4c9e0c31d83
81998
81999 mm: mmu_notifier: re-fix freed page still mapped in secondary MMU
82000
82001 Commit 751efd8610d3 ("mmu_notifier_unregister NULL Pointer deref and
82002 multiple ->release()") breaks the fix 3ad3d901bbcf ("mm: mmu_notifier:
82003 fix freed page still mapped in secondary MMU").
82004
82005 Since hlist_for_each_entry_rcu() is changed now, we can not revert that
82006 patch directly, so this patch reverts the commit and simply fix the bug
82007 spotted by that patch
82008
82009 This bug spotted by commit 751efd8610d3 is:
82010
82011 There is a race condition between mmu_notifier_unregister() and
82012 __mmu_notifier_release().
82013
82014 Assume two tasks, one calling mmu_notifier_unregister() as a result
82015 of a filp_close() ->flush() callout (task A), and the other calling
82016 mmu_notifier_release() from an mmput() (task B).
82017
82018 A B
82019 t1 srcu_read_lock()
82020 t2 if (!hlist_unhashed())
82021 t3 srcu_read_unlock()
82022 t4 srcu_read_lock()
82023 t5 hlist_del_init_rcu()
82024 t6 synchronize_srcu()
82025 t7 srcu_read_unlock()
82026 t8 hlist_del_rcu() <--- NULL pointer deref.
82027
82028 This can be fixed by using hlist_del_init_rcu instead of hlist_del_rcu.
82029
82030 The another issue spotted in the commit is "multiple ->release()
82031 callouts", we needn't care it too much because it is really rare (e.g,
82032 can not happen on kvm since mmu-notify is unregistered after
82033 exit_mmap()) and the later call of multiple ->release should be fast
82034 since all the pages have already been released by the first call.
82035 Anyway, this issue should be fixed in a separate patch.
82036
82037 -stable suggestions: Any version that has commit 751efd8610d3 need to be
82038 backported. I find the oldest version has this commit is 3.0-stable.
82039
82040 [akpm@linux-foundation.org: tweak comments]
82041 Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
82042 Tested-by: Robin Holt <holt@sgi.com>
82043 Cc: <stable@vger.kernel.org>
82044 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
82045 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
82046
82047 mm/mmu_notifier.c | 79 ++++++++++++++++++++++++++---------------------------
82048 1 files changed, 39 insertions(+), 40 deletions(-)
82049
82050 commit 163a5539b36247865d39b2bcfa8efc03a62124a6
82051 Author: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
82052 Date: Fri May 24 15:55:21 2013 -0700
82053
82054 Upstream commit: 7c3425123ddfdc5f48e7913ff59d908789712b18
82055
82056 mm/THP: use pmd_populate() to update the pmd with pgtable_t pointer
82057
82058 We should not use set_pmd_at to update pmd_t with pgtable_t pointer.
82059 set_pmd_at is used to set pmd with huge pte entries and architectures
82060 like ppc64, clear few flags from the pte when saving a new entry.
82061 Without this change we observe bad pte errors like below on ppc64 with
82062 THP enabled.
82063
82064 BUG: Bad page map in process ld mm=0xc000001ee39f4780 pte:7fc3f37848000001 pmd:c000001ec0000000
82065
82066 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
82067 Cc: Hugh Dickins <hughd@google.com>
82068 Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
82069 Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
82070 Cc: <stable@vger.kernel.org>
82071 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
82072 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
82073
82074 mm/huge_memory.c | 7 ++++++-
82075 1 files changed, 6 insertions(+), 1 deletions(-)
82076
82077 commit 3e54faf888d324d5f362dcba16173ea7bba61e8a
82078 Author: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
82079 Date: Fri May 24 15:55:08 2013 -0700
82080
82081 Upstream commit: 7b92d03c3239f43e5b86c9cc9630f026d36ee995
82082
82083 fat: fix possible overflow for fat_clusters
82084
82085 Intermediate value of fat_clusters can be overflowed on 32bits arch.
82086
82087 Reported-by: Krzysztof Strasburger <strasbur@chkw386.ch.pwr.wroc.pl>
82088 Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
82089 Cc: <stable@vger.kernel.org>
82090 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
82091 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
82092
82093 fs/fat/inode.c | 15 ++++++++++++++-
82094 1 files changed, 14 insertions(+), 1 deletions(-)
82095
82096 commit 2d9fc67d9d63641e6bbf389edba8d8514c68655d
82097 Author: Jarod Wilson <jarod@redhat.com>
82098 Date: Fri May 24 15:55:31 2013 -0700
82099
82100 Upstream commit: 1e7e2e05c179a68aaf8830fe91547a87f4589e53
82101
82102 drivers/char/random.c: fix priming of last_data
82103
82104 Commit ec8f02da9ea5 ("random: prime last_data value per fips
82105 requirements") added priming of last_data per fips requirements.
82106
82107 Unfortuantely, it did so in a way that can lead to multiple threads all
82108 incrementing nbytes, but only one actually doing anything with the extra
82109 data, which leads to some fun random corruption and panics.
82110
82111 The fix is to simply do everything needed to prime last_data in a single
82112 shot, so there's no window for multiple cpus to increment nbytes -- in
82113 fact, we won't even increment or decrement nbytes anymore, we'll just
82114 extract the needed EXTRACT_SIZE one time per pool and then carry on with
82115 the normal routine.
82116
82117 All these changes have been tested across multiple hosts and
82118 architectures where panics were previously encoutered. The code changes
82119 are are strictly limited to areas only touched when when booted in fips
82120 mode.
82121
82122 This change should also go into 3.8-stable, to make the myriads of fips
82123 users on 3.8.x happy.
82124
82125 Signed-off-by: Jarod Wilson <jarod@redhat.com>
82126 Tested-by: Jan Stancek <jstancek@redhat.com>
82127 Tested-by: Jan Stodola <jstodola@redhat.com>
82128 Cc: Herbert Xu <herbert@gondor.apana.org.au>
82129 Acked-by: Neil Horman <nhorman@tuxdriver.com>
82130 Cc: "David S. Miller" <davem@davemloft.net>
82131 Cc: Matt Mackall <mpm@selenic.com>
82132 Cc: "Theodore Ts'o" <tytso@mit.edu>
82133 Cc: <stable@vger.kernel.org>
82134 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
82135 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
82136
82137 drivers/char/random.c | 30 +++++++++++++++---------------
82138 1 files changed, 15 insertions(+), 15 deletions(-)
82139
82140 commit 2d74639040ba6ce47f57ec010714ec06529c4b42
82141 Author: Jiri Kosina <jkosina@suse.cz>
82142 Date: Fri May 24 15:55:33 2013 -0700
82143
82144 Upstream commit: 10b3a32d292c21ea5b3ad5ca5975e88bb20b8d68
82145
82146 random: fix accounting race condition with lockless irq entropy_count update
82147
82148 Commit 902c098a3663 ("random: use lockless techniques in the interrupt
82149 path") turned IRQ path from being spinlock protected into lockless
82150 cmpxchg-retry update.
82151
82152 That commit removed r->lock serialization between crediting entropy bits
82153 from IRQ context and accounting when extracting entropy on userspace
82154 read path, but didn't turn the r->entropy_count reads/updates in
82155 account() to use cmpxchg as well.
82156
82157 It has been observed, that under certain circumstances this leads to
82158 read() on /dev/urandom to return 0 (EOF), as r->entropy_count gets
82159 corrupted and becomes negative, which in turn results in propagating 0
82160 all the way from account() to the actual read() call.
82161
82162 Convert the accounting code to be the proper lockless counterpart of
82163 what has been partially done by 902c098a3663.
82164
82165 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
82166 Cc: Theodore Ts'o <tytso@mit.edu>
82167 Cc: Greg KH <greg@kroah.com>
82168 Cc: <stable@vger.kernel.org>
82169 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
82170 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
82171
82172 drivers/char/random.c | 26 +++++++++++++++++---------
82173 1 files changed, 17 insertions(+), 9 deletions(-)
82174
82175 commit 65d05c7ea468c23c175105526dd4f163302a92cf
82176 Merge: 1a98d0a 6ce3a135
82177 Author: Brad Spengler <spender@grsecurity.net>
82178 Date: Sat May 25 07:48:15 2013 -0400
82179
82180 Merge branch 'pax-test' into grsec-test
82181
82182 Conflicts:
82183 arch/x86/kernel/vm86_32.c
82184
82185 commit 6ce3a13567ec17c1e72a88871ddf46da61ad5166
82186 Merge: 79bdd65 0bfd8ff
82187 Author: Brad Spengler <spender@grsecurity.net>
82188 Date: Sat May 25 07:46:55 2013 -0400
82189
82190 Merge branch 'linux-3.9.y' into pax-test
82191
82192 commit 1a98d0a10ede55ae99fabfb2d67eb536d3de9444
82193 Author: Brad Spengler <spender@grsecurity.net>
82194 Date: Thu May 23 18:42:23 2013 -0400
82195
82196 use existing local variable
82197
82198 fs/exec.c | 2 +-
82199 1 files changed, 1 insertions(+), 1 deletions(-)
82200
82201 commit b2b80ef8586061e32e986b31608717c25d1e7c54
82202 Merge: cb45fbd 79bdd65
82203 Author: Brad Spengler <spender@grsecurity.net>
82204 Date: Thu May 23 17:58:53 2013 -0400
82205
82206 Merge branch 'pax-test' into grsec-test
82207
82208 commit 79bdd65dac68267bc1b201c6b4a99966a373c305
82209 Author: Brad Spengler <spender@grsecurity.net>
82210 Date: Thu May 23 17:57:46 2013 -0400
82211
82212 Update to pax-linux-3.9.3-test7.patch:
82213 - fixed some size overflow related warnings (hash table, attributes)
82214 - fixed a gcc bug/feature exposed by constification, the investigation was prompted by http://rikiji.it/2013/05/10/CVE-2013-2094-x86.html
82215
82216 arch/x86/include/asm/page_64.h | 2 +-
82217 arch/x86/kernel/head64.c | 2 +-
82218 tools/gcc/constify_plugin.c | 48 ++-
82219 tools/gcc/size_overflow_hash.data | 1191 +++++++++++++++++++------------------
82220 4 files changed, 651 insertions(+), 592 deletions(-)
82221
82222 commit cb45fbda4967b1b544a754fbdc92d73283379522
82223 Merge: 62588fa 57c11b8
82224 Author: Brad Spengler <spender@grsecurity.net>
82225 Date: Mon May 20 17:32:17 2013 -0400
82226
82227 Merge branch 'pax-test' into grsec-test
82228
82229 commit 57c11b85acd841a088aa4df8e60be337880df8cd
82230 Merge: 0598b37 4bb0869
82231 Author: Brad Spengler <spender@grsecurity.net>
82232 Date: Mon May 20 17:32:08 2013 -0400
82233
82234 Merge branch 'linux-3.9.y' into pax-test
82235
82236 commit 62588fa72b82a8ff7027f52dc2a05729f41e0f53
82237 Merge: e261c7b 0598b37
82238 Author: Brad Spengler <spender@grsecurity.net>
82239 Date: Fri May 17 22:57:36 2013 -0400
82240
82241 Merge branch 'pax-test' into grsec-test
82242
82243 commit 0598b3778624dbc6c3887af025c040dbd6e92ba5
82244 Author: Brad Spengler <spender@grsecurity.net>
82245 Date: Fri May 17 22:57:07 2013 -0400
82246
82247 Update to pax-linux-3.9.2-test6.patch:
82248 - fixed a gcc assert in the structleak plugin, reported by Emese Revfy
82249 - fixed pfn extraction from pud/pgd entries, reported by ousado
82250
82251 arch/x86/include/asm/pgtable.h | 9 +++++++--
82252 tools/gcc/structleak_plugin.c | 3 ++-
82253 2 files changed, 9 insertions(+), 3 deletions(-)
82254
82255 commit e261c7bc611e9127bbb7bd95cddd51524bf255ae
82256 Author: Brad Spengler <spender@grsecurity.net>
82257 Date: Thu May 16 22:54:12 2013 -0400
82258
82259 add offset to topdown check, fixes compilation
82260
82261 arch/x86/kernel/sys_x86_64.c | 2 +-
82262 1 files changed, 1 insertions(+), 1 deletions(-)
82263
82264 commit 455c5ed5279cf546f5d5c3844fb16f17300b2219
82265 Author: Brad Spengler <spender@grsecurity.net>
82266 Date: Thu May 16 20:57:41 2013 -0400
82267
82268 CONFIG_GRKERNSEC depends on the recently-introduced CONFIG_TTY,
82269 reported by lulzh3ad on irc
82270
82271 security/Kconfig | 1 +
82272 1 files changed, 1 insertions(+), 0 deletions(-)
82273
82274 commit 0d4593e84707cdf6deb6b925c18c676a476b1613
82275 Merge: 43cd0c0 39a877f
82276 Author: Brad Spengler <spender@grsecurity.net>
82277 Date: Thu May 16 20:39:11 2013 -0400
82278
82279 Merge branch 'pax-test' into grsec-test
82280
82281 commit 39a877f192ed305d88edac10a14a9e8e1e161f3f
82282 Author: Brad Spengler <spender@grsecurity.net>
82283 Date: Thu May 16 20:37:35 2013 -0400
82284
82285 Update to pax-linux-3.9.2-test105.patch:
82286 - fixed !EFI boot problem, reported by spender
82287 - fixed a few compile warnings
82288 - fixed some more compile errors due to constification
82289 - fixed some arm fallout, reported by Michael Tremer
82290
82291 arch/arm/include/asm/psci.h | 2 +-
82292 arch/arm/kernel/psci.c | 2 +-
82293 arch/x86/kernel/sys_x86_64.c | 3 +--
82294 arch/x86/realmode/init.c | 2 +-
82295 drivers/hwmon/pmbus/pmbus_core.c | 10 +++++-----
82296 drivers/irqchip/irq-gic.c | 2 +-
82297 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +++-
82298 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +++++++++---
82299 drivers/platform/x86/chromeos_laptop.c | 2 +-
82300 fs/jfs/super.c | 4 ++--
82301 include/linux/irqchip/arm-gic.h | 2 ++
82302 include/sound/compress_driver.h | 2 +-
82303 net/mac80211/cfg.c | 4 ++--
82304 sound/soc/fsl/fsl_ssi.c | 2 +-
82305 14 files changed, 31 insertions(+), 22 deletions(-)
82306
82307 commit 43cd0c0c7bf3f3331689f88130a8e8ce58fc8540
82308 Author: Brad Spengler <spender@grsecurity.net>
82309 Date: Thu May 16 20:35:22 2013 -0400
82310
82311 Fix usercopy false positive under gcc 4.1
82312
82313 arch/x86/kernel/signal.c | 9 +++++++--
82314 1 files changed, 7 insertions(+), 2 deletions(-)
82315
82316 commit 56a166129d817f6634c8c230e6ec497669bdfaca
82317 Author: Amerigo Wang <amwang@redhat.com>
82318 Date: Thu May 9 21:56:37 2013 +0000
82319
82320 Upstream commit: 5dbd5068430b8bd1c19387d46d6c1a88b261257f
82321
82322 ipv6,gre: do not leak info to user-space
82323
82324 There is a hole in struct ip6_tnl_parm2, so we have to
82325 zero the struct on stack before copying it to user-space.
82326
82327 Cc: David S. Miller <davem@davemloft.net>
82328 Signed-off-by: Cong Wang <amwang@redhat.com>
82329 Signed-off-by: David S. Miller <davem@davemloft.net>
82330
82331 net/ipv6/ip6_gre.c | 2 ++
82332 1 files changed, 2 insertions(+), 0 deletions(-)
82333
82334 commit d6f50dae2653ad912952da40417a8ccbd59c7699
82335 Author: Brad Spengler <spender@grsecurity.net>
82336 Date: Tue May 14 16:52:35 2013 -0400
82337
82338 disable unprivileged kernel profiling under HIDESYM, rename
82339 the variable to something more appropriate
82340
82341 include/linux/perf_event.h | 8 ++++----
82342 kernel/events/core.c | 6 +++++-
82343 kernel/sysctl.c | 4 ++--
82344 3 files changed, 11 insertions(+), 7 deletions(-)
82345
82346 commit 01322c6951bed4eedefbd2178dbd99292b365d99
82347 Author: Brad Spengler <spender@grsecurity.net>
82348 Date: Mon May 13 17:19:57 2013 -0400
82349
82350 mark GRKERNSEC_RAND_THREADSTACK broken until PaX fixes its
82351 existing stack-heap gap code for the new unified vm_unmapped_area
82352
82353 grsecurity/Kconfig | 2 +-
82354 1 files changed, 1 insertions(+), 1 deletions(-)
82355
82356 commit 8e576ddc2196770ba2b86ba8f7b9e76c141d1083
82357 Author: Brad Spengler <spender@grsecurity.net>
82358 Date: Mon May 13 15:40:32 2013 -0400
82359
82360 fix NX fault on early boot
82361
82362 arch/x86/realmode/init.c | 2 +-
82363 1 files changed, 1 insertions(+), 1 deletions(-)
82364
82365 commit 85ce9b6f668f9b02f21d23ae61a1bacc8804f615
82366 Author: Brad Spengler <spender@grsecurity.net>
82367 Date: Mon May 13 10:48:13 2013 -0400
82368
82369 compile fix, we weren't using %pa anyway and it's now being used
82370 by upstream for physical address printing
82371
82372 lib/vsprintf.c | 3 +--
82373 1 files changed, 1 insertions(+), 2 deletions(-)
82374
82375 commit 4eeaeea04d4776b8263f0e9b018edcdbe66c929d
82376 Author: Brad Spengler <spender@grsecurity.net>
82377 Date: Mon May 13 10:39:52 2013 -0400
82378
82379 compile fix
82380
82381 grsecurity/grsec_chroot.c | 2 +-
82382 1 files changed, 1 insertions(+), 1 deletions(-)
82383
82384 commit 155fe84d0b966e41b077781e6b3bc6f6ed5b294b
82385 Author: Brad Spengler <spender@grsecurity.net>
82386 Date: Mon May 13 10:35:36 2013 -0400
82387
82388 compile fixes
82389
82390 grsecurity/grsec_chroot.c | 2 +-
82391 include/linux/grinternal.h | 8 ++++----
82392 include/linux/grsecurity.h | 4 ++--
82393 3 files changed, 7 insertions(+), 7 deletions(-)
82394
82395 commit f92047409f0a843ec0b44033ca4c37e539f9a1d5
82396 Author: Brad Spengler <spender@grsecurity.net>
82397 Date: Mon May 13 10:27:18 2013 -0400
82398
82399 compile fix
82400
82401 fs/exec.c | 6 +++---
82402 1 files changed, 3 insertions(+), 3 deletions(-)
82403
82404 commit 0e4123608755ab6af3f448cca6f6a8a57dbdcff1
82405 Author: Brad Spengler <spender@grsecurity.net>
82406 Date: Mon May 13 10:23:17 2013 -0400
82407
82408 Initial port of grsecurity for 3.9.2
82409
82410 Documentation/kernel-parameters.txt | 4 +
82411 Makefile | 8 +-
82412 arch/alpha/include/asm/cache.h | 4 +-
82413 arch/alpha/kernel/osf_sys.c | 12 +-
82414 arch/arm/include/asm/thread_info.h | 9 +-
82415 arch/arm/kernel/process.c | 4 +-
82416 arch/arm/kernel/ptrace.c | 9 +
82417 arch/arm/kernel/traps.c | 7 +-
82418 arch/arm/mm/fault.c | 29 +-
82419 arch/arm/mm/mmap.c | 8 +-
82420 arch/avr32/include/asm/cache.h | 4 +-
82421 arch/blackfin/include/asm/cache.h | 3 +-
82422 arch/cris/include/arch-v10/arch/cache.h | 3 +-
82423 arch/cris/include/arch-v32/arch/cache.h | 3 +-
82424 arch/frv/include/asm/cache.h | 3 +-
82425 arch/frv/mm/elf-fdpic.c | 4 +-
82426 arch/hexagon/include/asm/cache.h | 6 +-
82427 arch/ia64/include/asm/cache.h | 3 +-
82428 arch/ia64/kernel/sys_ia64.c | 2 +
82429 arch/ia64/mm/hugetlbpage.c | 2 +
82430 arch/m32r/include/asm/cache.h | 4 +-
82431 arch/m68k/include/asm/cache.h | 4 +-
82432 arch/metag/mm/hugetlbpage.c | 1 +
82433 arch/microblaze/include/asm/cache.h | 3 +-
82434 arch/mips/include/asm/cache.h | 3 +-
82435 arch/mips/include/asm/thread_info.h | 9 +-
82436 arch/mips/kernel/ptrace.c | 9 +
82437 arch/mips/kernel/scall32-o32.S | 2 +-
82438 arch/mips/kernel/scall64-64.S | 2 +-
82439 arch/mips/kernel/scall64-n32.S | 2 +-
82440 arch/mips/kernel/scall64-o32.S | 2 +-
82441 arch/mips/mm/mmap.c | 4 +-
82442 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
82443 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
82444 arch/openrisc/include/asm/cache.h | 4 +-
82445 arch/parisc/include/asm/cache.h | 5 +-
82446 arch/parisc/kernel/sys_parisc.c | 17 +-
82447 arch/powerpc/include/asm/cache.h | 3 +-
82448 arch/powerpc/include/asm/thread_info.h | 8 +-
82449 arch/powerpc/kernel/process.c | 10 +-
82450 arch/powerpc/kernel/ptrace.c | 14 +
82451 arch/powerpc/kernel/traps.c | 5 +
82452 arch/powerpc/mm/slice.c | 8 +-
82453 arch/s390/include/asm/cache.h | 4 +-
82454 arch/score/include/asm/cache.h | 4 +-
82455 arch/sh/include/asm/cache.h | 3 +-
82456 arch/sh/mm/mmap.c | 6 +-
82457 arch/sparc/include/asm/cache.h | 4 +-
82458 arch/sparc/include/asm/thread_info_64.h | 9 +-
82459 arch/sparc/kernel/process_32.c | 6 +-
82460 arch/sparc/kernel/process_64.c | 8 +-
82461 arch/sparc/kernel/ptrace_64.c | 14 +
82462 arch/sparc/kernel/sys_sparc_64.c | 8 +-
82463 arch/sparc/kernel/syscalls.S | 8 +-
82464 arch/sparc/kernel/traps_32.c | 8 +-
82465 arch/sparc/kernel/traps_64.c | 28 +-
82466 arch/sparc/kernel/unaligned_64.c | 2 +-
82467 arch/sparc/mm/fault_64.c | 2 +-
82468 arch/sparc/mm/hugetlbpage.c | 3 +-
82469 arch/tile/include/asm/cache.h | 3 +-
82470 arch/tile/mm/hugetlbpage.c | 2 +
82471 arch/um/defconfig | 1 -
82472 arch/um/include/asm/cache.h | 3 +-
82473 arch/unicore32/include/asm/cache.h | 6 +-
82474 arch/x86/Kconfig | 5 +-
82475 arch/x86/Kconfig.debug | 2 +-
82476 arch/x86/ia32/ia32_aout.c | 2 +
82477 arch/x86/include/asm/thread_info.h | 8 +-
82478 arch/x86/kernel/dumpstack.c | 8 +
82479 arch/x86/kernel/entry_32.S | 2 +-
82480 arch/x86/kernel/entry_64.S | 2 +-
82481 arch/x86/kernel/ioport.c | 13 +
82482 arch/x86/kernel/ptrace.c | 14 +
82483 arch/x86/kernel/smpboot.c | 3 +
82484 arch/x86/kernel/sys_i386_32.c | 14 +-
82485 arch/x86/kernel/sys_x86_64.c | 6 +-
82486 arch/x86/kernel/verify_cpu.S | 1 +
82487 arch/x86/kernel/vm86_32.c | 16 +
82488 arch/x86/mm/fault.c | 12 +-
82489 arch/x86/mm/hugetlbpage.c | 15 +-
82490 arch/x86/mm/init.c | 66 +-
82491 arch/x86/net/bpf_jit_comp.c | 126 +-
82492 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
82493 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
82494 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
82495 drivers/block/cciss.c | 2 +
82496 drivers/char/Kconfig | 4 +-
82497 drivers/char/genrtc.c | 1 +
82498 drivers/char/mem.c | 17 +
82499 drivers/char/random.c | 12 +
82500 drivers/gpu/drm/drm_info.c | 4 +
82501 drivers/hid/hid-wiimote-debug.c | 2 +-
82502 drivers/media/radio/radio-cadet.c | 2 +-
82503 drivers/message/fusion/mptbase.c | 9 +
82504 drivers/net/bonding/bond_main.c | 2 +-
82505 drivers/net/phy/mdio-bitbang.c | 1 +
82506 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
82507 drivers/pci/proc.c | 9 +
82508 drivers/rtc/rtc-dev.c | 3 +
82509 drivers/tty/sysrq.c | 2 +-
82510 drivers/tty/vt/keyboard.c | 22 +-
82511 drivers/usb/storage/realtek_cr.c | 2 +-
82512 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++--------
82513 drivers/xen/xenfs/xenstored.c | 5 +
82514 fs/attr.c | 1 +
82515 fs/autofs4/waitq.c | 9 +
82516 fs/binfmt_aout.c | 7 +
82517 fs/binfmt_elf.c | 8 +-
82518 fs/btrfs/ioctl.c | 6 +-
82519 fs/compat.c | 20 +-
82520 fs/coredump.c | 10 +-
82521 fs/debugfs/inode.c | 4 +
82522 fs/exec.c | 181 +-
82523 fs/ext2/balloc.c | 4 +-
82524 fs/ext3/balloc.c | 4 +-
82525 fs/ext4/balloc.c | 4 +-
82526 fs/fcntl.c | 5 +
82527 fs/file.c | 4 +
82528 fs/filesystems.c | 4 +
82529 fs/fs_struct.c | 13 +-
82530 fs/hugetlbfs/inode.c | 5 +-
82531 fs/namei.c | 241 ++-
82532 fs/namespace.c | 24 +
82533 fs/open.c | 38 +
82534 fs/pipe.c | 2 +-
82535 fs/proc/Kconfig | 10 +-
82536 fs/proc/array.c | 59 +-
82537 fs/proc/base.c | 168 +-
82538 fs/proc/cmdline.c | 4 +
82539 fs/proc/devices.c | 4 +
82540 fs/proc/fd.c | 17 +-
82541 fs/proc/inode.c | 17 +
82542 fs/proc/internal.h | 3 +
82543 fs/proc/kcore.c | 3 +
82544 fs/proc/proc_net.c | 12 +
82545 fs/proc/proc_sysctl.c | 43 +-
82546 fs/proc/root.c | 8 +
82547 fs/proc/task_mmu.c | 75 +-
82548 fs/readdir.c | 19 +
82549 fs/select.c | 2 +
82550 fs/seq_file.c | 12 +-
82551 fs/stat.c | 19 +-
82552 fs/sysfs/dir.c | 12 +
82553 fs/utimes.c | 7 +
82554 fs/xattr.c | 19 +-
82555 grsecurity/Kconfig | 1031 +++++
82556 grsecurity/Makefile | 38 +
82557 grsecurity/gracl.c | 4073 ++++++++++++++++++++
82558 grsecurity/gracl_alloc.c | 105 +
82559 grsecurity/gracl_cap.c | 110 +
82560 grsecurity/gracl_fs.c | 431 +++
82561 grsecurity/gracl_ip.c | 387 ++
82562 grsecurity/gracl_learn.c | 207 +
82563 grsecurity/gracl_res.c | 68 +
82564 grsecurity/gracl_segv.c | 305 ++
82565 grsecurity/gracl_shm.c | 40 +
82566 grsecurity/grsec_chdir.c | 19 +
82567 grsecurity/grsec_chroot.c | 370 ++
82568 grsecurity/grsec_disabled.c | 434 +++
82569 grsecurity/grsec_exec.c | 187 +
82570 grsecurity/grsec_fifo.c | 24 +
82571 grsecurity/grsec_fork.c | 23 +
82572 grsecurity/grsec_init.c | 283 ++
82573 grsecurity/grsec_link.c | 58 +
82574 grsecurity/grsec_log.c | 326 ++
82575 grsecurity/grsec_mem.c | 40 +
82576 grsecurity/grsec_mount.c | 62 +
82577 grsecurity/grsec_pax.c | 36 +
82578 grsecurity/grsec_ptrace.c | 30 +
82579 grsecurity/grsec_sig.c | 222 ++
82580 grsecurity/grsec_sock.c | 244 ++
82581 grsecurity/grsec_sysctl.c | 469 +++
82582 grsecurity/grsec_time.c | 16 +
82583 grsecurity/grsec_tpe.c | 73 +
82584 grsecurity/grsum.c | 61 +
82585 include/linux/capability.h | 5 +
82586 include/linux/cred.h | 3 +
82587 include/linux/fs.h | 10 +
82588 include/linux/fsnotify.h | 6 +
82589 include/linux/gracl.h | 319 ++
82590 include/linux/gralloc.h | 9 +
82591 include/linux/grdefs.h | 140 +
82592 include/linux/grinternal.h | 215 +
82593 include/linux/grmsg.h | 111 +
82594 include/linux/grsecurity.h | 242 ++
82595 include/linux/grsock.h | 19 +
82596 include/linux/kallsyms.h | 14 +-
82597 include/linux/kmod.h | 2 +
82598 include/linux/mm.h | 1 +
82599 include/linux/netfilter/xt_gradm.h | 9 +
82600 include/linux/printk.h | 3 +-
82601 include/linux/proc_fs.h | 12 +
82602 include/linux/sched.h | 68 +-
82603 include/linux/security.h | 1 +
82604 include/linux/seq_file.h | 3 +
82605 include/linux/shm.h | 4 +
82606 include/linux/skbuff.h | 3 +
82607 include/linux/slab.h | 9 -
82608 include/linux/sysctl.h | 2 +
82609 include/linux/thread_info.h | 2 +
82610 include/linux/uidgid.h | 5 +
82611 include/linux/vermagic.h | 9 +-
82612 include/net/secure_seq.h | 1 +
82613 include/trace/events/fs.h | 53 +
82614 include/uapi/linux/personality.h | 1 +
82615 init/Kconfig | 3 +-
82616 init/main.c | 14 +
82617 ipc/mqueue.c | 1 +
82618 ipc/shm.c | 28 +
82619 kernel/capability.c | 39 +-
82620 kernel/cgroup.c | 2 +-
82621 kernel/compat.c | 1 +
82622 kernel/configs.c | 11 +
82623 kernel/cred.c | 110 +-
82624 kernel/exit.c | 10 +-
82625 kernel/fork.c | 41 +-
82626 kernel/futex.c | 1 +
82627 kernel/kallsyms.c | 9 +
82628 kernel/kcmp.c | 4 +
82629 kernel/kmod.c | 71 +-
82630 kernel/kprobes.c | 4 +-
82631 kernel/ksysfs.c | 2 +
82632 kernel/lockdep_proc.c | 10 +-
82633 kernel/module.c | 81 +-
82634 kernel/panic.c | 4 +-
82635 kernel/pid.c | 19 +-
82636 kernel/posix-timers.c | 8 +
82637 kernel/printk.c | 13 +-
82638 kernel/ptrace.c | 20 +-
82639 kernel/resource.c | 10 +
82640 kernel/sched/core.c | 6 +-
82641 kernel/signal.c | 37 +-
82642 kernel/sys.c | 45 +-
82643 kernel/sysctl.c | 39 +-
82644 kernel/taskstats.c | 6 +
82645 kernel/time.c | 5 +
82646 kernel/time/timekeeping.c | 3 +
82647 kernel/time/timer_list.c | 12 +
82648 kernel/time/timer_stats.c | 10 +-
82649 lib/Kconfig.debug | 5 +-
82650 lib/is_single_threaded.c | 3 +
82651 lib/vsprintf.c | 35 +-
82652 localversion-grsec | 1 +
82653 mm/Kconfig | 4 +-
82654 mm/filemap.c | 1 +
82655 mm/kmemleak.c | 4 +-
82656 mm/mempolicy.c | 12 +-
82657 mm/migrate.c | 3 +-
82658 mm/mlock.c | 3 +
82659 mm/mmap.c | 64 +-
82660 mm/mprotect.c | 8 +
82661 mm/process_vm_access.c | 6 +
82662 mm/shmem.c | 2 +-
82663 mm/slab.c | 2 +-
82664 mm/slub.c | 14 +-
82665 mm/vmalloc.c | 4 +
82666 mm/vmstat.c | 18 +-
82667 net/8021q/vlan.c | 7 +
82668 net/core/dev_ioctl.c | 4 +
82669 net/core/net-procfs.c | 5 +
82670 net/core/secure_seq.c | 4 +-
82671 net/core/sock_diag.c | 7 +
82672 net/ipv4/af_inet.c | 5 +-
82673 net/ipv4/inet_hashtables.c | 5 +
82674 net/ipv4/ip_sockglue.c | 3 +-
82675 net/ipv4/tcp_input.c | 4 +-
82676 net/ipv4/tcp_ipv4.c | 24 +-
82677 net/ipv4/tcp_minisocks.c | 9 +-
82678 net/ipv4/tcp_timer.c | 11 +
82679 net/ipv4/udp.c | 24 +
82680 net/ipv6/tcp_ipv6.c | 23 +-
82681 net/ipv6/udp.c | 7 +
82682 net/netfilter/Kconfig | 10 +
82683 net/netfilter/Makefile | 1 +
82684 net/netfilter/nf_conntrack_core.c | 8 +
82685 net/netfilter/xt_gradm.c | 51 +
82686 net/netrom/af_netrom.c | 2 +-
82687 net/phonet/af_phonet.c | 2 +-
82688 net/sctp/probe.c | 2 +-
82689 net/sctp/proc.c | 3 +-
82690 net/socket.c | 66 +-
82691 net/sysctl_net.c | 2 +-
82692 net/tipc/link.c | 11 +-
82693 net/unix/af_unix.c | 31 +-
82694 security/Kconfig | 342 ++-
82695 security/commoncap.c | 29 +
82696 security/min_addr.c | 2 +
82697 security/security.c | 2 -
82698 security/selinux/hooks.c | 2 -
82699 security/tomoyo/mount.c | 4 +
82700 security/yama/Kconfig | 2 +-
82701 291 files changed, 15221 insertions(+), 2052 deletions(-)
82702
82703 commit 88854c350c899bceca4a94598c42bed44d0dc91b
82704 Author: Brad Spengler <spender@grsecurity.net>
82705 Date: Mon May 13 07:37:47 2013 -0400
82706
82707 Initial import of pax-linux-3.9.2-test2.patch
82708
82709 Documentation/dontdiff | 45 +-
82710 Documentation/kernel-parameters.txt | 12 +
82711 Makefile | 100 +-
82712 arch/alpha/include/asm/atomic.h | 10 +
82713 arch/alpha/include/asm/elf.h | 7 +
82714 arch/alpha/include/asm/pgalloc.h | 6 +
82715 arch/alpha/include/asm/pgtable.h | 11 +
82716 arch/alpha/kernel/module.c | 2 +-
82717 arch/alpha/kernel/osf_sys.c | 8 +-
82718 arch/alpha/mm/fault.c | 141 +-
82719 arch/arm/Kconfig | 2 +-
82720 arch/arm/include/asm/atomic.h | 421 ++-
82721 arch/arm/include/asm/cache.h | 5 +-
82722 arch/arm/include/asm/cacheflush.h | 2 +-
82723 arch/arm/include/asm/checksum.h | 14 +-
82724 arch/arm/include/asm/cmpxchg.h | 2 +
82725 arch/arm/include/asm/domain.h | 33 +-
82726 arch/arm/include/asm/elf.h | 13 +-
82727 arch/arm/include/asm/fncpy.h | 2 +
82728 arch/arm/include/asm/futex.h | 10 +
82729 arch/arm/include/asm/kmap_types.h | 2 +-
82730 arch/arm/include/asm/mach/dma.h | 2 +-
82731 arch/arm/include/asm/mach/map.h | 7 +-
82732 arch/arm/include/asm/outercache.h | 2 +-
82733 arch/arm/include/asm/page.h | 2 +-
82734 arch/arm/include/asm/pgalloc.h | 22 +-
82735 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
82736 arch/arm/include/asm/pgtable-2level.h | 1 +
82737 arch/arm/include/asm/pgtable-3level-hwdef.h | 2 +
82738 arch/arm/include/asm/pgtable-3level.h | 2 +
82739 arch/arm/include/asm/pgtable.h | 56 +-
82740 arch/arm/include/asm/proc-fns.h | 2 +-
82741 arch/arm/include/asm/processor.h | 5 +-
82742 arch/arm/include/asm/smp.h | 2 +-
82743 arch/arm/include/asm/thread_info.h | 6 +-
82744 arch/arm/include/asm/uaccess.h | 92 +-
82745 arch/arm/include/uapi/asm/ptrace.h | 2 +-
82746 arch/arm/kernel/armksyms.c | 6 +-
82747 arch/arm/kernel/entry-armv.S | 107 +-
82748 arch/arm/kernel/entry-common.S | 41 +-
82749 arch/arm/kernel/entry-header.S | 60 +
82750 arch/arm/kernel/fiq.c | 2 +
82751 arch/arm/kernel/head.S | 6 +-
82752 arch/arm/kernel/hw_breakpoint.c | 2 +-
82753 arch/arm/kernel/module.c | 29 +-
82754 arch/arm/kernel/patch.c | 2 +
82755 arch/arm/kernel/perf_event_cpu.c | 2 +-
82756 arch/arm/kernel/process.c | 15 +-
82757 arch/arm/kernel/setup.c | 22 +-
82758 arch/arm/kernel/signal.c | 24 +-
82759 arch/arm/kernel/smp.c | 2 +-
82760 arch/arm/kernel/traps.c | 15 +-
82761 arch/arm/kernel/vmlinux.lds.S | 22 +-
82762 arch/arm/lib/clear_user.S | 6 +-
82763 arch/arm/lib/copy_from_user.S | 6 +-
82764 arch/arm/lib/copy_page.S | 1 +
82765 arch/arm/lib/copy_to_user.S | 6 +-
82766 arch/arm/lib/csumpartialcopyuser.S | 4 +-
82767 arch/arm/lib/delay.c | 2 +-
82768 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
82769 arch/arm/mach-kirkwood/common.c | 19 +-
82770 arch/arm/mach-omap2/board-n8x0.c | 2 +-
82771 arch/arm/mach-omap2/gpmc.c | 22 +-
82772 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
82773 arch/arm/mach-omap2/omap_device.c | 4 +-
82774 arch/arm/mach-omap2/omap_device.h | 4 +-
82775 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
82776 arch/arm/mach-omap2/wd_timer.c | 6 +-
82777 arch/arm/mach-ux500/include/mach/setup.h | 7 -
82778 arch/arm/mm/Kconfig | 3 +-
82779 arch/arm/mm/alignment.c | 8 +
82780 arch/arm/mm/fault.c | 91 +
82781 arch/arm/mm/fault.h | 12 +
82782 arch/arm/mm/init.c | 41 +
82783 arch/arm/mm/ioremap.c | 4 +-
82784 arch/arm/mm/mmap.c | 36 +-
82785 arch/arm/mm/mmu.c | 187 +-
82786 arch/arm/mm/proc-v7-2level.S | 3 +
82787 arch/arm/plat-omap/sram.c | 2 +
82788 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
82789 arch/arm64/kernel/debug-monitors.c | 2 +-
82790 arch/arm64/kernel/hw_breakpoint.c | 2 +-
82791 arch/avr32/include/asm/elf.h | 8 +-
82792 arch/avr32/include/asm/kmap_types.h | 4 +-
82793 arch/avr32/mm/fault.c | 27 +
82794 arch/frv/include/asm/atomic.h | 10 +
82795 arch/frv/include/asm/kmap_types.h | 2 +-
82796 arch/frv/mm/elf-fdpic.c | 3 +-
82797 arch/ia64/include/asm/atomic.h | 10 +
82798 arch/ia64/include/asm/elf.h | 7 +
82799 arch/ia64/include/asm/pgalloc.h | 12 +
82800 arch/ia64/include/asm/pgtable.h | 13 +-
82801 arch/ia64/include/asm/spinlock.h | 2 +-
82802 arch/ia64/include/asm/uaccess.h | 26 +-
82803 arch/ia64/kernel/err_inject.c | 2 +-
82804 arch/ia64/kernel/mca.c | 2 +-
82805 arch/ia64/kernel/module.c | 48 +-
82806 arch/ia64/kernel/palinfo.c | 2 +-
82807 arch/ia64/kernel/salinfo.c | 2 +-
82808 arch/ia64/kernel/sys_ia64.c | 7 +
82809 arch/ia64/kernel/topology.c | 2 +-
82810 arch/ia64/kernel/vmlinux.lds.S | 2 +-
82811 arch/ia64/mm/fault.c | 32 +-
82812 arch/ia64/mm/init.c | 13 +
82813 arch/m32r/lib/usercopy.c | 6 +
82814 arch/mips/include/asm/atomic.h | 14 +
82815 arch/mips/include/asm/elf.h | 11 +-
82816 arch/mips/include/asm/exec.h | 2 +-
82817 arch/mips/include/asm/page.h | 2 +-
82818 arch/mips/include/asm/pgalloc.h | 5 +
82819 arch/mips/kernel/binfmt_elfn32.c | 7 +
82820 arch/mips/kernel/binfmt_elfo32.c | 7 +
82821 arch/mips/kernel/process.c | 12 -
82822 arch/mips/mm/fault.c | 17 +
82823 arch/mips/mm/mmap.c | 51 +-
82824 arch/parisc/include/asm/atomic.h | 10 +
82825 arch/parisc/include/asm/elf.h | 7 +
82826 arch/parisc/include/asm/pgalloc.h | 6 +
82827 arch/parisc/include/asm/pgtable.h | 11 +
82828 arch/parisc/include/asm/uaccess.h | 4 +-
82829 arch/parisc/kernel/module.c | 50 +-
82830 arch/parisc/kernel/sys_parisc.c | 9 +-
82831 arch/parisc/kernel/traps.c | 4 +-
82832 arch/parisc/mm/fault.c | 140 +-
82833 arch/powerpc/include/asm/atomic.h | 10 +
82834 arch/powerpc/include/asm/elf.h | 19 +-
82835 arch/powerpc/include/asm/exec.h | 2 +-
82836 arch/powerpc/include/asm/kmap_types.h | 2 +-
82837 arch/powerpc/include/asm/mman.h | 2 +-
82838 arch/powerpc/include/asm/page.h | 8 +-
82839 arch/powerpc/include/asm/page_64.h | 7 +-
82840 arch/powerpc/include/asm/pgalloc-64.h | 7 +
82841 arch/powerpc/include/asm/pgtable.h | 1 +
82842 arch/powerpc/include/asm/pte-hash32.h | 1 +
82843 arch/powerpc/include/asm/reg.h | 1 +
82844 arch/powerpc/include/asm/smp.h | 2 +-
82845 arch/powerpc/include/asm/uaccess.h | 140 +-
82846 arch/powerpc/kernel/exceptions-64e.S | 4 +-
82847 arch/powerpc/kernel/exceptions-64s.S | 2 +-
82848 arch/powerpc/kernel/module_32.c | 13 +-
82849 arch/powerpc/kernel/process.c | 55 -
82850 arch/powerpc/kernel/signal_32.c | 2 +-
82851 arch/powerpc/kernel/signal_64.c | 2 +-
82852 arch/powerpc/kernel/sysfs.c | 2 +-
82853 arch/powerpc/kernel/vdso.c | 5 +-
82854 arch/powerpc/lib/usercopy_64.c | 18 -
82855 arch/powerpc/mm/fault.c | 54 +-
82856 arch/powerpc/mm/mmap_64.c | 16 +
82857 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
82858 arch/powerpc/mm/numa.c | 2 +-
82859 arch/powerpc/mm/slice.c | 23 +-
82860 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
82861 arch/powerpc/platforms/powermac/smp.c | 2 +-
82862 arch/s390/include/asm/atomic.h | 10 +
82863 arch/s390/include/asm/elf.h | 13 +-
82864 arch/s390/include/asm/exec.h | 2 +-
82865 arch/s390/include/asm/uaccess.h | 15 +-
82866 arch/s390/kernel/module.c | 22 +-
82867 arch/s390/kernel/process.c | 36 -
82868 arch/s390/mm/mmap.c | 24 +
82869 arch/score/include/asm/exec.h | 2 +-
82870 arch/score/kernel/process.c | 5 -
82871 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
82872 arch/sh/mm/mmap.c | 22 +-
82873 arch/sparc/include/asm/atomic_64.h | 106 +-
82874 arch/sparc/include/asm/cache.h | 2 +-
82875 arch/sparc/include/asm/elf_32.h | 7 +
82876 arch/sparc/include/asm/elf_64.h | 7 +
82877 arch/sparc/include/asm/pgalloc_32.h | 1 +
82878 arch/sparc/include/asm/pgalloc_64.h | 1 +
82879 arch/sparc/include/asm/pgtable_32.h | 15 +-
82880 arch/sparc/include/asm/pgtsrmmu.h | 5 +
82881 arch/sparc/include/asm/spinlock_64.h | 35 +-
82882 arch/sparc/include/asm/thread_info_32.h | 2 +
82883 arch/sparc/include/asm/thread_info_64.h | 2 +
82884 arch/sparc/include/asm/uaccess.h | 1 +
82885 arch/sparc/include/asm/uaccess_32.h | 27 +-
82886 arch/sparc/include/asm/uaccess_64.h | 19 +-
82887 arch/sparc/kernel/Makefile | 2 +-
82888 arch/sparc/kernel/prom_common.c | 2 +-
82889 arch/sparc/kernel/sys_sparc_32.c | 2 +-
82890 arch/sparc/kernel/sys_sparc_64.c | 48 +-
82891 arch/sparc/kernel/sysfs.c | 2 +-
82892 arch/sparc/kernel/traps_64.c | 13 +-
82893 arch/sparc/kernel/us3_cpufreq.c | 69 +-
82894 arch/sparc/lib/Makefile | 2 +-
82895 arch/sparc/lib/atomic_64.S | 136 +-
82896 arch/sparc/lib/ksyms.c | 6 +
82897 arch/sparc/mm/Makefile | 2 +-
82898 arch/sparc/mm/fault_32.c | 292 ++
82899 arch/sparc/mm/fault_64.c | 486 ++
82900 arch/sparc/mm/hugetlbpage.c | 21 +-
82901 arch/tile/include/asm/atomic_64.h | 10 +
82902 arch/tile/include/asm/uaccess.h | 4 +-
82903 arch/um/Makefile | 4 +
82904 arch/um/include/asm/kmap_types.h | 2 +-
82905 arch/um/include/asm/page.h | 3 +
82906 arch/um/include/asm/pgtable-3level.h | 1 +
82907 arch/um/kernel/process.c | 16 -
82908 arch/x86/Kconfig | 10 +-
82909 arch/x86/Kconfig.cpu | 6 +-
82910 arch/x86/Kconfig.debug | 6 +-
82911 arch/x86/Makefile | 10 +
82912 arch/x86/boot/Makefile | 3 +
82913 arch/x86/boot/bitops.h | 4 +-
82914 arch/x86/boot/boot.h | 4 +-
82915 arch/x86/boot/compressed/Makefile | 3 +
82916 arch/x86/boot/compressed/eboot.c | 2 -
82917 arch/x86/boot/compressed/head_32.S | 7 +-
82918 arch/x86/boot/compressed/head_64.S | 8 +-
82919 arch/x86/boot/compressed/misc.c | 4 +-
82920 arch/x86/boot/cpucheck.c | 28 +-
82921 arch/x86/boot/header.S | 6 +-
82922 arch/x86/boot/memory.c | 2 +-
82923 arch/x86/boot/video-vesa.c | 1 +
82924 arch/x86/boot/video.c | 2 +-
82925 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
82926 arch/x86/crypto/aesni-intel_asm.S | 21 +
82927 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
82928 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
82929 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
82930 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 7 +
82931 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
82932 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 7 +
82933 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
82934 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
82935 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 7 +
82936 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
82937 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
82938 arch/x86/ia32/ia32_signal.c | 14 +-
82939 arch/x86/ia32/ia32entry.S | 141 +-
82940 arch/x86/ia32/sys_ia32.c | 6 +-
82941 arch/x86/include/asm/alternative-asm.h | 39 +
82942 arch/x86/include/asm/alternative.h | 4 +-
82943 arch/x86/include/asm/apic.h | 2 +-
82944 arch/x86/include/asm/apm.h | 4 +-
82945 arch/x86/include/asm/atomic.h | 307 ++-
82946 arch/x86/include/asm/atomic64_32.h | 100 +
82947 arch/x86/include/asm/atomic64_64.h | 202 +-
82948 arch/x86/include/asm/bitops.h | 4 +-
82949 arch/x86/include/asm/boot.h | 7 +-
82950 arch/x86/include/asm/cache.h | 5 +-
82951 arch/x86/include/asm/cacheflush.h | 2 +-
82952 arch/x86/include/asm/checksum_32.h | 12 +-
82953 arch/x86/include/asm/cmpxchg.h | 35 +
82954 arch/x86/include/asm/compat.h | 2 +-
82955 arch/x86/include/asm/cpufeature.h | 4 +-
82956 arch/x86/include/asm/desc.h | 67 +-
82957 arch/x86/include/asm/desc_defs.h | 6 +
82958 arch/x86/include/asm/div64.h | 2 +-
82959 arch/x86/include/asm/elf.h | 31 +-
82960 arch/x86/include/asm/emergency-restart.h | 2 +-
82961 arch/x86/include/asm/fpu-internal.h | 6 +-
82962 arch/x86/include/asm/futex.h | 16 +-
82963 arch/x86/include/asm/hw_irq.h | 4 +-
82964 arch/x86/include/asm/i8259.h | 2 +-
82965 arch/x86/include/asm/io.h | 21 +-
82966 arch/x86/include/asm/irqflags.h | 5 +
82967 arch/x86/include/asm/kprobes.h | 9 +-
82968 arch/x86/include/asm/local.h | 142 +-
82969 arch/x86/include/asm/mman.h | 15 +
82970 arch/x86/include/asm/mmu.h | 16 +-
82971 arch/x86/include/asm/mmu_context.h | 76 +-
82972 arch/x86/include/asm/module.h | 17 +-
82973 arch/x86/include/asm/nmi.h | 6 +-
82974 arch/x86/include/asm/page_64.h | 2 +-
82975 arch/x86/include/asm/paravirt.h | 46 +-
82976 arch/x86/include/asm/paravirt_types.h | 17 +-
82977 arch/x86/include/asm/pgalloc.h | 23 +
82978 arch/x86/include/asm/pgtable-2level.h | 2 +
82979 arch/x86/include/asm/pgtable-3level.h | 4 +
82980 arch/x86/include/asm/pgtable.h | 113 +-
82981 arch/x86/include/asm/pgtable_32.h | 14 +-
82982 arch/x86/include/asm/pgtable_32_types.h | 15 +-
82983 arch/x86/include/asm/pgtable_64.h | 19 +-
82984 arch/x86/include/asm/pgtable_64_types.h | 5 +
82985 arch/x86/include/asm/pgtable_types.h | 36 +-
82986 arch/x86/include/asm/processor.h | 39 +-
82987 arch/x86/include/asm/ptrace.h | 26 +-
82988 arch/x86/include/asm/realmode.h | 4 +-
82989 arch/x86/include/asm/reboot.h | 10 +-
82990 arch/x86/include/asm/rwsem.h | 60 +-
82991 arch/x86/include/asm/segment.h | 24 +-
82992 arch/x86/include/asm/smp.h | 14 +-
82993 arch/x86/include/asm/spinlock.h | 36 +-
82994 arch/x86/include/asm/stackprotector.h | 4 +-
82995 arch/x86/include/asm/stacktrace.h | 32 +-
82996 arch/x86/include/asm/switch_to.h | 4 +-
82997 arch/x86/include/asm/thread_info.h | 83 +-
82998 arch/x86/include/asm/uaccess.h | 96 +-
82999 arch/x86/include/asm/uaccess_32.h | 106 +-
83000 arch/x86/include/asm/uaccess_64.h | 232 +-
83001 arch/x86/include/asm/word-at-a-time.h | 2 +-
83002 arch/x86/include/asm/x86_init.h | 10 +-
83003 arch/x86/include/asm/xsave.h | 10 +-
83004 arch/x86/include/uapi/asm/e820.h | 2 +-
83005 arch/x86/kernel/Makefile | 2 +-
83006 arch/x86/kernel/acpi/boot.c | 4 +-
83007 arch/x86/kernel/acpi/sleep.c | 4 +
83008 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
83009 arch/x86/kernel/alternative.c | 65 +-
83010 arch/x86/kernel/apic/apic.c | 4 +-
83011 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
83012 arch/x86/kernel/apic/apic_noop.c | 2 +-
83013 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
83014 arch/x86/kernel/apic/es7000_32.c | 5 +-
83015 arch/x86/kernel/apic/io_apic.c | 8 +-
83016 arch/x86/kernel/apic/numaq_32.c | 3 +-
83017 arch/x86/kernel/apic/probe_32.c | 2 +-
83018 arch/x86/kernel/apic/summit_32.c | 2 +-
83019 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
83020 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
83021 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
83022 arch/x86/kernel/apm_32.c | 19 +-
83023 arch/x86/kernel/asm-offsets.c | 20 +
83024 arch/x86/kernel/asm-offsets_64.c | 1 +
83025 arch/x86/kernel/cpu/Makefile | 4 -
83026 arch/x86/kernel/cpu/amd.c | 2 +-
83027 arch/x86/kernel/cpu/common.c | 75 +-
83028 arch/x86/kernel/cpu/intel.c | 2 +-
83029 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
83030 arch/x86/kernel/cpu/mcheck/mce.c | 31 +-
83031 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
83032 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
83033 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
83034 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
83035 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
83036 arch/x86/kernel/cpu/perf_event.c | 8 +-
83037 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
83038 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 4 +-
83039 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
83040 arch/x86/kernel/cpuid.c | 2 +-
83041 arch/x86/kernel/crash.c | 4 +-
83042 arch/x86/kernel/doublefault_32.c | 8 +-
83043 arch/x86/kernel/dumpstack.c | 30 +-
83044 arch/x86/kernel/dumpstack_32.c | 34 +-
83045 arch/x86/kernel/dumpstack_64.c | 63 +-
83046 arch/x86/kernel/early_printk.c | 1 +
83047 arch/x86/kernel/entry_32.S | 354 ++-
83048 arch/x86/kernel/entry_64.S | 530 ++-
83049 arch/x86/kernel/ftrace.c | 14 +-
83050 arch/x86/kernel/head64.c | 1 -
83051 arch/x86/kernel/head_32.S | 237 +-
83052 arch/x86/kernel/head_64.S | 120 +-
83053 arch/x86/kernel/i386_ksyms_32.c | 8 +
83054 arch/x86/kernel/i387.c | 2 +-
83055 arch/x86/kernel/i8259.c | 10 +-
83056 arch/x86/kernel/io_delay.c | 2 +-
83057 arch/x86/kernel/ioport.c | 2 +-
83058 arch/x86/kernel/irq.c | 8 +-
83059 arch/x86/kernel/irq_32.c | 69 +-
83060 arch/x86/kernel/irq_64.c | 2 +-
83061 arch/x86/kernel/kdebugfs.c | 2 +-
83062 arch/x86/kernel/kgdb.c | 25 +-
83063 arch/x86/kernel/kprobes/core.c | 30 +-
83064 arch/x86/kernel/kprobes/opt.c | 16 +-
83065 arch/x86/kernel/kvm.c | 2 +-
83066 arch/x86/kernel/ldt.c | 31 +-
83067 arch/x86/kernel/machine_kexec_32.c | 6 +-
83068 arch/x86/kernel/microcode_core.c | 2 +-
83069 arch/x86/kernel/microcode_intel.c | 4 +-
83070 arch/x86/kernel/module.c | 76 +-
83071 arch/x86/kernel/msr.c | 2 +-
83072 arch/x86/kernel/nmi.c | 19 +-
83073 arch/x86/kernel/nmi_selftest.c | 4 +-
83074 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
83075 arch/x86/kernel/paravirt.c | 43 +-
83076 arch/x86/kernel/pci-calgary_64.c | 2 +-
83077 arch/x86/kernel/pci-iommu_table.c | 2 +-
83078 arch/x86/kernel/pci-swiotlb.c | 2 +-
83079 arch/x86/kernel/process.c | 57 +-
83080 arch/x86/kernel/process_32.c | 29 +-
83081 arch/x86/kernel/process_64.c | 15 +-
83082 arch/x86/kernel/ptrace.c | 25 +-
83083 arch/x86/kernel/pvclock.c | 8 +-
83084 arch/x86/kernel/reboot.c | 44 +-
83085 arch/x86/kernel/relocate_kernel_64.S | 4 +-
83086 arch/x86/kernel/setup.c | 19 +-
83087 arch/x86/kernel/setup_percpu.c | 29 +-
83088 arch/x86/kernel/signal.c | 15 +-
83089 arch/x86/kernel/smp.c | 2 +-
83090 arch/x86/kernel/smpboot.c | 15 +-
83091 arch/x86/kernel/step.c | 10 +-
83092 arch/x86/kernel/sys_i386_32.c | 248 +
83093 arch/x86/kernel/sys_x86_64.c | 19 +-
83094 arch/x86/kernel/tboot.c | 14 +-
83095 arch/x86/kernel/time.c | 10 +-
83096 arch/x86/kernel/tls.c | 7 +-
83097 arch/x86/kernel/traps.c | 64 +-
83098 arch/x86/kernel/uprobes.c | 2 +-
83099 arch/x86/kernel/vm86_32.c | 6 +-
83100 arch/x86/kernel/vmlinux.lds.S | 148 +-
83101 arch/x86/kernel/vsyscall_64.c | 12 +-
83102 arch/x86/kernel/x8664_ksyms_64.c | 2 -
83103 arch/x86/kernel/x86_init.c | 8 +-
83104 arch/x86/kernel/xsave.c | 2 +
83105 arch/x86/kvm/cpuid.c | 21 +-
83106 arch/x86/kvm/emulate.c | 4 +-
83107 arch/x86/kvm/lapic.c | 2 +-
83108 arch/x86/kvm/paging_tmpl.h | 2 +-
83109 arch/x86/kvm/svm.c | 8 +
83110 arch/x86/kvm/vmx.c | 57 +-
83111 arch/x86/kvm/x86.c | 10 +-
83112 arch/x86/lguest/boot.c | 3 +-
83113 arch/x86/lib/atomic64_386_32.S | 164 +
83114 arch/x86/lib/atomic64_cx8_32.S | 103 +-
83115 arch/x86/lib/checksum_32.S | 100 +-
83116 arch/x86/lib/clear_page_64.S | 5 +-
83117 arch/x86/lib/cmpxchg16b_emu.S | 2 +
83118 arch/x86/lib/copy_page_64.S | 24 +-
83119 arch/x86/lib/copy_user_64.S | 47 +-
83120 arch/x86/lib/copy_user_nocache_64.S | 20 +-
83121 arch/x86/lib/csum-copy_64.S | 2 +
83122 arch/x86/lib/csum-wrappers_64.c | 4 +-
83123 arch/x86/lib/getuser.S | 70 +-
83124 arch/x86/lib/insn.c | 6 +-
83125 arch/x86/lib/iomap_copy_64.S | 2 +
83126 arch/x86/lib/memcpy_64.S | 18 +-
83127 arch/x86/lib/memmove_64.S | 34 +-
83128 arch/x86/lib/memset_64.S | 7 +-
83129 arch/x86/lib/mmx_32.c | 243 +-
83130 arch/x86/lib/msr-reg.S | 18 +-
83131 arch/x86/lib/putuser.S | 90 +-
83132 arch/x86/lib/rwlock.S | 42 +
83133 arch/x86/lib/rwsem.S | 6 +-
83134 arch/x86/lib/thunk_64.S | 2 +
83135 arch/x86/lib/usercopy_32.c | 376 +-
83136 arch/x86/lib/usercopy_64.c | 25 +-
83137 arch/x86/mm/extable.c | 25 +-
83138 arch/x86/mm/fault.c | 556 ++-
83139 arch/x86/mm/gup.c | 2 +-
83140 arch/x86/mm/highmem_32.c | 4 +
83141 arch/x86/mm/hugetlbpage.c | 30 +-
83142 arch/x86/mm/init.c | 90 +-
83143 arch/x86/mm/init_32.c | 119 +-
83144 arch/x86/mm/init_64.c | 44 +-
83145 arch/x86/mm/iomap_32.c | 4 +
83146 arch/x86/mm/ioremap.c | 15 +-
83147 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
83148 arch/x86/mm/mmap.c | 41 +-
83149 arch/x86/mm/mmio-mod.c | 10 +-
83150 arch/x86/mm/numa.c | 2 +-
83151 arch/x86/mm/pageattr-test.c | 2 +-
83152 arch/x86/mm/pageattr.c | 33 +-
83153 arch/x86/mm/pat.c | 12 +-
83154 arch/x86/mm/pf_in.c | 10 +-
83155 arch/x86/mm/pgtable.c | 137 +-
83156 arch/x86/mm/pgtable_32.c | 3 +
83157 arch/x86/mm/physaddr.c | 4 +-
83158 arch/x86/mm/setup_nx.c | 7 +
83159 arch/x86/mm/tlb.c | 4 +
83160 arch/x86/net/bpf_jit.S | 14 +
83161 arch/x86/net/bpf_jit_comp.c | 37 +-
83162 arch/x86/oprofile/backtrace.c | 8 +-
83163 arch/x86/oprofile/nmi_int.c | 8 +-
83164 arch/x86/oprofile/op_model_amd.c | 8 +-
83165 arch/x86/oprofile/op_model_ppro.c | 7 +-
83166 arch/x86/oprofile/op_x86_model.h | 2 +-
83167 arch/x86/pci/amd_bus.c | 2 +-
83168 arch/x86/pci/irq.c | 8 +-
83169 arch/x86/pci/mrst.c | 4 +-
83170 arch/x86/pci/pcbios.c | 144 +-
83171 arch/x86/platform/efi/efi_32.c | 19 +
83172 arch/x86/platform/efi/efi_stub_32.S | 64 +-
83173 arch/x86/platform/efi/efi_stub_64.S | 8 +
83174 arch/x86/platform/mrst/mrst.c | 6 +-
83175 arch/x86/platform/olpc/olpc_dt.c | 2 +-
83176 arch/x86/power/cpu.c | 4 +-
83177 arch/x86/realmode/init.c | 8 +-
83178 arch/x86/realmode/rm/Makefile | 3 +
83179 arch/x86/realmode/rm/header.S | 4 +-
83180 arch/x86/realmode/rm/trampoline_32.S | 12 +-
83181 arch/x86/realmode/rm/trampoline_64.S | 2 +-
83182 arch/x86/tools/relocs.c | 95 +-
83183 arch/x86/vdso/Makefile | 2 +-
83184 arch/x86/vdso/vdso32-setup.c | 23 +-
83185 arch/x86/vdso/vma.c | 29 +-
83186 arch/x86/xen/enlighten.c | 47 +-
83187 arch/x86/xen/mmu.c | 9 +
83188 arch/x86/xen/smp.c | 18 +-
83189 arch/x86/xen/xen-asm_32.S | 12 +-
83190 arch/x86/xen/xen-head.S | 11 +
83191 arch/x86/xen/xen-ops.h | 2 -
83192 block/blk-iopoll.c | 4 +-
83193 block/blk-map.c | 2 +-
83194 block/blk-softirq.c | 4 +-
83195 block/bsg.c | 12 +-
83196 block/compat_ioctl.c | 2 +-
83197 block/partitions/efi.c | 8 +-
83198 block/scsi_ioctl.c | 27 +-
83199 crypto/cryptd.c | 4 +-
83200 drivers/acpi/apei/apei-internal.h | 2 +-
83201 drivers/acpi/apei/cper.c | 8 +-
83202 drivers/acpi/bgrt.c | 6 +-
83203 drivers/acpi/blacklist.c | 4 +-
83204 drivers/acpi/ec_sys.c | 12 +-
83205 drivers/acpi/processor_idle.c | 2 +-
83206 drivers/acpi/sysfs.c | 4 +-
83207 drivers/ata/libahci.c | 2 +-
83208 drivers/ata/libata-core.c | 8 +-
83209 drivers/ata/pata_arasan_cf.c | 4 +-
83210 drivers/atm/adummy.c | 2 +-
83211 drivers/atm/ambassador.c | 8 +-
83212 drivers/atm/atmtcp.c | 14 +-
83213 drivers/atm/eni.c | 10 +-
83214 drivers/atm/firestream.c | 8 +-
83215 drivers/atm/fore200e.c | 14 +-
83216 drivers/atm/he.c | 18 +-
83217 drivers/atm/horizon.c | 4 +-
83218 drivers/atm/idt77252.c | 36 +-
83219 drivers/atm/iphase.c | 34 +-
83220 drivers/atm/lanai.c | 12 +-
83221 drivers/atm/nicstar.c | 46 +-
83222 drivers/atm/solos-pci.c | 4 +-
83223 drivers/atm/suni.c | 4 +-
83224 drivers/atm/uPD98402.c | 16 +-
83225 drivers/atm/zatm.c | 6 +-
83226 drivers/base/bus.c | 4 +-
83227 drivers/base/devtmpfs.c | 2 +-
83228 drivers/base/node.c | 2 +-
83229 drivers/base/power/domain.c | 4 +-
83230 drivers/base/power/wakeup.c | 8 +-
83231 drivers/base/syscore.c | 4 +-
83232 drivers/block/cciss.c | 28 +-
83233 drivers/block/cciss.h | 2 +-
83234 drivers/block/cpqarray.c | 28 +-
83235 drivers/block/cpqarray.h | 2 +-
83236 drivers/block/drbd/drbd_int.h | 6 +-
83237 drivers/block/drbd/drbd_main.c | 8 +-
83238 drivers/block/drbd/drbd_receiver.c | 22 +-
83239 drivers/block/loop.c | 2 +-
83240 drivers/block/pktcdvd.c | 2 +-
83241 drivers/cdrom/cdrom.c | 9 +-
83242 drivers/cdrom/gdrom.c | 1 -
83243 drivers/char/agp/frontend.c | 2 +-
83244 drivers/char/hpet.c | 2 +-
83245 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
83246 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
83247 drivers/char/mem.c | 41 +-
83248 drivers/char/nvram.c | 2 +-
83249 drivers/char/pcmcia/synclink_cs.c | 18 +-
83250 drivers/char/random.c | 10 +-
83251 drivers/char/sonypi.c | 9 +-
83252 drivers/char/tpm/tpm_acpi.c | 3 +-
83253 drivers/char/tpm/tpm_eventlog.c | 7 +-
83254 drivers/char/virtio_console.c | 4 +-
83255 drivers/clocksource/arm_arch_timer.c | 2 +-
83256 drivers/clocksource/metag_generic.c | 2 +-
83257 drivers/cpufreq/acpi-cpufreq.c | 20 +-
83258 drivers/cpufreq/cpufreq.c | 9 +-
83259 drivers/cpufreq/cpufreq_governor.c | 4 +-
83260 drivers/cpufreq/cpufreq_governor.h | 2 +-
83261 drivers/cpufreq/cpufreq_stats.c | 2 +-
83262 drivers/cpufreq/p4-clockmod.c | 12 +-
83263 drivers/cpufreq/speedstep-centrino.c | 7 +-
83264 drivers/cpuidle/cpuidle.c | 2 +-
83265 drivers/cpuidle/governor.c | 4 +-
83266 drivers/cpuidle/sysfs.c | 2 +-
83267 drivers/devfreq/devfreq.c | 4 +-
83268 drivers/dma/sh/shdma.c | 2 +-
83269 drivers/edac/edac_mc_sysfs.c | 12 +-
83270 drivers/edac/edac_pci_sysfs.c | 22 +-
83271 drivers/edac/mce_amd.h | 2 +-
83272 drivers/firewire/core-card.c | 2 +-
83273 drivers/firewire/core-cdev.c | 3 +-
83274 drivers/firewire/core-device.c | 2 +-
83275 drivers/firewire/core-transaction.c | 1 +
83276 drivers/firewire/core.h | 1 +
83277 drivers/firmware/dmi-id.c | 2 +-
83278 drivers/firmware/dmi_scan.c | 7 +-
83279 drivers/firmware/efivars.c | 4 +-
83280 drivers/firmware/google/memconsole.c | 4 +-
83281 drivers/gpio/gpio-ich.c | 2 +-
83282 drivers/gpio/gpio-vr41xx.c | 2 +-
83283 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
83284 drivers/gpu/drm/drm_drv.c | 6 +-
83285 drivers/gpu/drm/drm_fops.c | 18 +-
83286 drivers/gpu/drm/drm_global.c | 14 +-
83287 drivers/gpu/drm/drm_info.c | 14 +-
83288 drivers/gpu/drm/drm_ioc32.c | 13 +-
83289 drivers/gpu/drm/drm_ioctl.c | 2 +-
83290 drivers/gpu/drm/drm_lock.c | 4 +-
83291 drivers/gpu/drm/drm_stub.c | 2 +-
83292 drivers/gpu/drm/i810/i810_dma.c | 8 +-
83293 drivers/gpu/drm/i810/i810_drv.h | 4 +-
83294 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
83295 drivers/gpu/drm/i915/i915_dma.c | 2 +-
83296 drivers/gpu/drm/i915/i915_drv.h | 4 +-
83297 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +-
83298 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
83299 drivers/gpu/drm/i915/i915_irq.c | 22 +-
83300 drivers/gpu/drm/i915/intel_display.c | 26 +-
83301 drivers/gpu/drm/mga/mga_drv.h | 4 +-
83302 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
83303 drivers/gpu/drm/mga/mga_irq.c | 8 +-
83304 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
83305 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
83306 drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
83307 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
83308 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
83309 drivers/gpu/drm/r128/r128_cce.c | 2 +-
83310 drivers/gpu/drm/r128/r128_drv.h | 4 +-
83311 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
83312 drivers/gpu/drm/r128/r128_irq.c | 4 +-
83313 drivers/gpu/drm/r128/r128_state.c | 4 +-
83314 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
83315 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
83316 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
83317 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
83318 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
83319 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
83320 drivers/gpu/drm/radeon/radeon_ttm.c | 37 +-
83321 drivers/gpu/drm/radeon/rs690.c | 4 +-
83322 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
83323 drivers/gpu/drm/udl/udl_fb.c | 1 -
83324 drivers/gpu/drm/via/via_drv.h | 4 +-
83325 drivers/gpu/drm/via/via_irq.c | 18 +-
83326 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
83327 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
83328 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
83329 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
83330 drivers/hid/hid-core.c | 4 +-
83331 drivers/hv/channel.c | 4 +-
83332 drivers/hv/hv.c | 2 +-
83333 drivers/hv/hyperv_vmbus.h | 2 +-
83334 drivers/hv/vmbus_drv.c | 4 +-
83335 drivers/hwmon/acpi_power_meter.c | 4 +-
83336 drivers/hwmon/applesmc.c | 2 +-
83337 drivers/hwmon/asus_atk0110.c | 10 +-
83338 drivers/hwmon/coretemp.c | 2 +-
83339 drivers/hwmon/ibmaem.c | 2 +-
83340 drivers/hwmon/sht15.c | 12 +-
83341 drivers/hwmon/via-cputemp.c | 2 +-
83342 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
83343 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
83344 drivers/ide/ide-cd.c | 2 +-
83345 drivers/iio/industrialio-core.c | 2 +-
83346 drivers/infiniband/core/cm.c | 32 +-
83347 drivers/infiniband/core/fmr_pool.c | 20 +-
83348 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
83349 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
83350 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
83351 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
83352 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
83353 drivers/infiniband/hw/nes/nes.c | 4 +-
83354 drivers/infiniband/hw/nes/nes.h | 40 +-
83355 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
83356 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
83357 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
83358 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
83359 drivers/infiniband/hw/qib/qib.h | 1 +
83360 drivers/input/gameport/gameport.c | 4 +-
83361 drivers/input/input.c | 4 +-
83362 drivers/input/joystick/sidewinder.c | 1 +
83363 drivers/input/joystick/xpad.c | 4 +-
83364 drivers/input/mouse/psmouse.h | 2 +-
83365 drivers/input/mousedev.c | 2 +-
83366 drivers/input/serio/serio.c | 4 +-
83367 drivers/iommu/iommu.c | 2 +-
83368 drivers/iommu/irq_remapping.c | 10 +-
83369 drivers/irqchip/irq-gic.c | 4 +-
83370 drivers/isdn/capi/capi.c | 10 +-
83371 drivers/isdn/gigaset/interface.c | 8 +-
83372 drivers/isdn/hardware/avm/b1.c | 4 +-
83373 drivers/isdn/i4l/isdn_tty.c | 22 +-
83374 drivers/isdn/icn/icn.c | 2 +-
83375 drivers/leds/leds-clevo-mail.c | 2 +-
83376 drivers/leds/leds-ss4200.c | 2 +-
83377 drivers/lguest/core.c | 10 +-
83378 drivers/lguest/page_tables.c | 2 +-
83379 drivers/lguest/x86/core.c | 12 +-
83380 drivers/lguest/x86/switcher_32.S | 27 +-
83381 drivers/md/bitmap.c | 2 +-
83382 drivers/md/dm-ioctl.c | 2 +-
83383 drivers/md/dm-raid1.c | 16 +-
83384 drivers/md/dm-stripe.c | 10 +-
83385 drivers/md/dm-table.c | 2 +-
83386 drivers/md/dm-thin-metadata.c | 4 +-
83387 drivers/md/dm.c | 16 +-
83388 drivers/md/md.c | 26 +-
83389 drivers/md/md.h | 6 +-
83390 drivers/md/persistent-data/dm-space-map.h | 1 +
83391 drivers/md/raid1.c | 4 +-
83392 drivers/md/raid10.c | 16 +-
83393 drivers/md/raid5.c | 10 +-
83394 drivers/media/dvb-core/dvbdev.c | 2 +-
83395 drivers/media/dvb-frontends/dib3000.h | 2 +-
83396 drivers/media/pci/cx88/cx88-video.c | 6 +-
83397 drivers/media/platform/omap/omap_vout.c | 11 +-
83398 drivers/media/platform/s5p-tv/mixer.h | 2 +-
83399 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
83400 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
83401 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
83402 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
83403 drivers/media/radio/radio-cadet.c | 2 +
83404 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
83405 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
83406 drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
83407 drivers/message/fusion/mptsas.c | 34 +-
83408 drivers/message/fusion/mptscsih.c | 19 +-
83409 drivers/message/i2o/i2o_proc.c | 51 +-
83410 drivers/message/i2o/iop.c | 8 +-
83411 drivers/mfd/janz-cmodio.c | 1 +
83412 drivers/mfd/twl4030-irq.c | 9 +-
83413 drivers/mfd/twl6030-irq.c | 10 +-
83414 drivers/misc/c2port/core.c | 4 +-
83415 drivers/misc/kgdbts.c | 4 +-
83416 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
83417 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
83418 drivers/misc/sgi-gru/gruhandles.c | 4 +-
83419 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
83420 drivers/misc/sgi-gru/grutables.h | 154 +-
83421 drivers/misc/sgi-xp/xp.h | 2 +-
83422 drivers/misc/sgi-xp/xpc.h | 3 +-
83423 drivers/misc/sgi-xp/xpc_main.c | 4 +-
83424 drivers/mmc/core/mmc_ops.c | 2 +-
83425 drivers/mmc/host/dw_mmc.h | 2 +-
83426 drivers/mmc/host/sdhci-s3c.c | 8 +-
83427 drivers/mtd/devices/doc2000.c | 2 +-
83428 drivers/mtd/nand/denali.c | 1 +
83429 drivers/mtd/nftlmount.c | 1 +
83430 drivers/mtd/sm_ftl.c | 2 +-
83431 drivers/net/bonding/bond_main.c | 2 +-
83432 drivers/net/ethernet/8390/ax88796.c | 4 +-
83433 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
83434 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
83435 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
83436 drivers/net/ethernet/broadcom/tg3.h | 1 +
83437 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
83438 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
83439 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
83440 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
83441 drivers/net/ethernet/faraday/ftmac100.c | 2 +
83442 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
83443 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
83444 drivers/net/ethernet/realtek/r8169.c | 8 +-
83445 drivers/net/ethernet/sfc/ptp.c | 2 +-
83446 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
83447 drivers/net/hyperv/hyperv_net.h | 2 +-
83448 drivers/net/hyperv/rndis_filter.c | 4 +-
83449 drivers/net/ieee802154/fakehard.c | 2 +-
83450 drivers/net/macvlan.c | 18 +-
83451 drivers/net/macvtap.c | 2 +-
83452 drivers/net/ppp/ppp_generic.c | 4 +-
83453 drivers/net/slip/slhc.c | 2 +-
83454 drivers/net/team/team.c | 2 +-
83455 drivers/net/tun.c | 5 +-
83456 drivers/net/usb/hso.c | 23 +-
83457 drivers/net/vxlan.c | 2 +-
83458 drivers/net/wireless/at76c50x-usb.c | 2 +-
83459 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
83460 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
83461 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
83462 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
83463 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
83464 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
83465 drivers/net/wireless/mac80211_hwsim.c | 32 +-
83466 drivers/net/wireless/rndis_wlan.c | 2 +-
83467 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
83468 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
83469 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
83470 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
83471 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
83472 drivers/oprofile/buffer_sync.c | 8 +-
83473 drivers/oprofile/event_buffer.c | 2 +-
83474 drivers/oprofile/oprof.c | 2 +-
83475 drivers/oprofile/oprofile_files.c | 2 +-
83476 drivers/oprofile/oprofile_stats.c | 10 +-
83477 drivers/oprofile/oprofile_stats.h | 10 +-
83478 drivers/oprofile/oprofilefs.c | 2 +-
83479 drivers/oprofile/timer_int.c | 2 +-
83480 drivers/parport/procfs.c | 4 +-
83481 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
83482 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
83483 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
83484 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
83485 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
83486 drivers/pci/hotplug/pciehp_core.c | 2 +-
83487 drivers/pci/pci-sysfs.c | 6 +-
83488 drivers/pci/pci.h | 2 +-
83489 drivers/pci/pcie/aspm.c | 6 +-
83490 drivers/pci/probe.c | 2 +-
83491 drivers/platform/x86/msi-laptop.c | 14 +-
83492 drivers/platform/x86/sony-laptop.c | 2 +-
83493 drivers/platform/x86/thinkpad_acpi.c | 70 +-
83494 drivers/pnp/pnpbios/bioscalls.c | 14 +-
83495 drivers/pnp/resource.c | 4 +-
83496 drivers/power/pda_power.c | 7 +-
83497 drivers/power/power_supply.h | 4 +-
83498 drivers/power/power_supply_core.c | 7 +-
83499 drivers/power/power_supply_sysfs.c | 6 +-
83500 drivers/regulator/max8660.c | 6 +-
83501 drivers/regulator/max8973-regulator.c | 8 +-
83502 drivers/regulator/mc13892-regulator.c | 6 +-
83503 drivers/rtc/rtc-cmos.c | 4 +-
83504 drivers/rtc/rtc-ds1307.c | 2 +-
83505 drivers/rtc/rtc-m48t59.c | 4 +-
83506 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
83507 drivers/scsi/bfa/bfa_ioc.h | 4 +-
83508 drivers/scsi/hosts.c | 4 +-
83509 drivers/scsi/hpsa.c | 30 +-
83510 drivers/scsi/hpsa.h | 2 +-
83511 drivers/scsi/libfc/fc_exch.c | 50 +-
83512 drivers/scsi/libsas/sas_ata.c | 2 +-
83513 drivers/scsi/lpfc/lpfc.h | 8 +-
83514 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
83515 drivers/scsi/lpfc/lpfc_init.c | 6 +-
83516 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
83517 drivers/scsi/pmcraid.c | 20 +-
83518 drivers/scsi/pmcraid.h | 8 +-
83519 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
83520 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
83521 drivers/scsi/qla2xxx/qla_os.c | 6 +-
83522 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
83523 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
83524 drivers/scsi/scsi.c | 2 +-
83525 drivers/scsi/scsi_lib.c | 6 +-
83526 drivers/scsi/scsi_sysfs.c | 2 +-
83527 drivers/scsi/scsi_tgt_lib.c | 2 +-
83528 drivers/scsi/scsi_transport_fc.c | 8 +-
83529 drivers/scsi/scsi_transport_iscsi.c | 6 +-
83530 drivers/scsi/scsi_transport_srp.c | 6 +-
83531 drivers/scsi/sd.c | 2 +-
83532 drivers/scsi/sg.c | 2 +-
83533 drivers/spi/spi.c | 2 +-
83534 drivers/staging/iio/iio_hwmon.c | 2 +-
83535 drivers/staging/octeon/ethernet-rx.c | 12 +-
83536 drivers/staging/octeon/ethernet.c | 8 +-
83537 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
83538 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
83539 drivers/staging/usbip/vhci.h | 2 +-
83540 drivers/staging/usbip/vhci_hcd.c | 6 +-
83541 drivers/staging/usbip/vhci_rx.c | 2 +-
83542 drivers/staging/vt6655/hostap.c | 7 +-
83543 drivers/staging/vt6656/hostap.c | 7 +-
83544 drivers/staging/zcache/tmem.c | 4 +-
83545 drivers/staging/zcache/tmem.h | 2 +
83546 drivers/target/target_core_device.c | 2 +-
83547 drivers/target/target_core_transport.c | 2 +-
83548 drivers/tty/cyclades.c | 6 +-
83549 drivers/tty/hvc/hvc_console.c | 14 +-
83550 drivers/tty/hvc/hvcs.c | 21 +-
83551 drivers/tty/ipwireless/tty.c | 27 +-
83552 drivers/tty/moxa.c | 2 +-
83553 drivers/tty/n_gsm.c | 4 +-
83554 drivers/tty/n_tty.c | 3 +-
83555 drivers/tty/pty.c | 4 +-
83556 drivers/tty/rocket.c | 6 +-
83557 drivers/tty/serial/kgdboc.c | 32 +-
83558 drivers/tty/serial/samsung.c | 9 +-
83559 drivers/tty/serial/serial_core.c | 8 +-
83560 drivers/tty/synclink.c | 34 +-
83561 drivers/tty/synclink_gt.c | 28 +-
83562 drivers/tty/synclinkmp.c | 34 +-
83563 drivers/tty/tty_io.c | 2 +-
83564 drivers/tty/tty_ldisc.c | 10 +-
83565 drivers/tty/tty_port.c | 22 +-
83566 drivers/uio/uio.c | 21 +-
83567 drivers/usb/atm/cxacru.c | 2 +-
83568 drivers/usb/atm/usbatm.c | 24 +-
83569 drivers/usb/core/devices.c | 6 +-
83570 drivers/usb/core/hcd.c | 4 +-
83571 drivers/usb/core/message.c | 2 +-
83572 drivers/usb/core/sysfs.c | 2 +-
83573 drivers/usb/core/usb.c | 2 +-
83574 drivers/usb/early/ehci-dbgp.c | 16 +-
83575 drivers/usb/gadget/u_serial.c | 22 +-
83576 drivers/usb/serial/console.c | 6 +-
83577 drivers/usb/storage/usb.h | 2 +-
83578 drivers/usb/wusbcore/wa-hc.h | 4 +-
83579 drivers/usb/wusbcore/wa-xfer.c | 2 +-
83580 drivers/video/aty/aty128fb.c | 2 +-
83581 drivers/video/aty/atyfb_base.c | 8 +-
83582 drivers/video/aty/mach64_cursor.c | 5 +-
83583 drivers/video/backlight/kb3886_bl.c | 2 +-
83584 drivers/video/fb_defio.c | 6 +-
83585 drivers/video/fbcmap.c | 3 +-
83586 drivers/video/fbmem.c | 6 +-
83587 drivers/video/i810/i810_accel.c | 1 +
83588 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
83589 drivers/video/nvidia/nvidia.c | 27 +-
83590 drivers/video/s1d13xxxfb.c | 6 +-
83591 drivers/video/smscufx.c | 4 +-
83592 drivers/video/udlfb.c | 36 +-
83593 drivers/video/uvesafb.c | 53 +-
83594 drivers/video/vesafb.c | 58 +-
83595 drivers/video/via/via_clock.h | 2 +-
83596 fs/9p/vfs_inode.c | 2 +-
83597 fs/Kconfig.binfmt | 2 +-
83598 fs/aio.c | 11 +-
83599 fs/autofs4/waitq.c | 2 +-
83600 fs/befs/endian.h | 4 +-
83601 fs/befs/linuxvfs.c | 2 +-
83602 fs/binfmt_aout.c | 23 +-
83603 fs/binfmt_elf.c | 605 +++-
83604 fs/binfmt_flat.c | 6 +
83605 fs/bio.c | 6 +-
83606 fs/block_dev.c | 2 +-
83607 fs/btrfs/ctree.c | 9 +-
83608 fs/btrfs/super.c | 2 +-
83609 fs/cachefiles/bind.c | 6 +-
83610 fs/cachefiles/daemon.c | 8 +-
83611 fs/cachefiles/internal.h | 12 +-
83612 fs/cachefiles/namei.c | 2 +-
83613 fs/cachefiles/proc.c | 12 +-
83614 fs/cachefiles/rdwr.c | 2 +-
83615 fs/ceph/dir.c | 2 +-
83616 fs/cifs/cifs_debug.c | 12 +-
83617 fs/cifs/cifsfs.c | 8 +-
83618 fs/cifs/cifsglob.h | 54 +-
83619 fs/cifs/link.c | 2 +-
83620 fs/cifs/misc.c | 4 +-
83621 fs/cifs/smb1ops.c | 80 +-
83622 fs/cifs/smb2ops.c | 84 +-
83623 fs/cifs/smb2pdu.c | 3 +-
83624 fs/coda/cache.c | 10 +-
83625 fs/compat.c | 6 +-
83626 fs/compat_binfmt_elf.c | 2 +
83627 fs/compat_ioctl.c | 8 +-
83628 fs/configfs/dir.c | 10 +-
83629 fs/coredump.c | 24 +-
83630 fs/dcache.c | 2 +-
83631 fs/ecryptfs/inode.c | 4 +-
83632 fs/ecryptfs/miscdev.c | 2 +-
83633 fs/ecryptfs/read_write.c | 2 +-
83634 fs/exec.c | 362 ++-
83635 fs/ext4/ext4.h | 20 +-
83636 fs/ext4/mballoc.c | 44 +-
83637 fs/ext4/super.c | 2 +-
83638 fs/fhandle.c | 3 +-
83639 fs/fifo.c | 22 +-
83640 fs/fs_struct.c | 8 +-
83641 fs/fscache/cookie.c | 36 +-
83642 fs/fscache/internal.h | 196 +-
83643 fs/fscache/object.c | 28 +-
83644 fs/fscache/operation.c | 30 +-
83645 fs/fscache/page.c | 110 +-
83646 fs/fscache/stats.c | 344 +-
83647 fs/fuse/cuse.c | 10 +-
83648 fs/fuse/dev.c | 2 +-
83649 fs/fuse/dir.c | 2 +-
83650 fs/gfs2/inode.c | 2 +-
83651 fs/hugetlbfs/inode.c | 13 +-
83652 fs/inode.c | 4 +-
83653 fs/jffs2/erase.c | 3 +-
83654 fs/jffs2/wbuf.c | 3 +-
83655 fs/jfs/super.c | 6 +-
83656 fs/libfs.c | 10 +-
83657 fs/lockd/clntproc.c | 4 +-
83658 fs/locks.c | 8 +-
83659 fs/namei.c | 15 +-
83660 fs/namespace.c | 2 +-
83661 fs/nfs/callback_xdr.c | 2 +-
83662 fs/nfs/inode.c | 6 +-
83663 fs/nfsd/nfs4proc.c | 2 +-
83664 fs/nfsd/nfs4xdr.c | 6 +-
83665 fs/nfsd/nfscache.c | 8 +-
83666 fs/nfsd/vfs.c | 6 +-
83667 fs/nls/nls_base.c | 18 +-
83668 fs/nls/nls_euc-jp.c | 6 +-
83669 fs/nls/nls_koi8-ru.c | 6 +-
83670 fs/notify/fanotify/fanotify_user.c | 4 +-
83671 fs/notify/notification.c | 4 +-
83672 fs/ntfs/dir.c | 2 +-
83673 fs/ntfs/file.c | 4 +-
83674 fs/ocfs2/localalloc.c | 2 +-
83675 fs/ocfs2/ocfs2.h | 10 +-
83676 fs/ocfs2/suballoc.c | 12 +-
83677 fs/ocfs2/super.c | 20 +-
83678 fs/pipe.c | 33 +-
83679 fs/proc/array.c | 20 +
83680 fs/proc/base.c | 4 +-
83681 fs/proc/kcore.c | 32 +-
83682 fs/proc/meminfo.c | 2 +-
83683 fs/proc/nommu.c | 2 +-
83684 fs/proc/proc_sysctl.c | 18 +-
83685 fs/proc/self.c | 2 +-
83686 fs/proc/task_mmu.c | 39 +-
83687 fs/proc/task_nommu.c | 4 +-
83688 fs/qnx6/qnx6.h | 4 +-
83689 fs/quota/netlink.c | 4 +-
83690 fs/readdir.c | 2 +-
83691 fs/reiserfs/do_balan.c | 2 +-
83692 fs/reiserfs/procfs.c | 2 +-
83693 fs/reiserfs/reiserfs.h | 4 +-
83694 fs/seq_file.c | 2 +-
83695 fs/splice.c | 36 +-
83696 fs/sysfs/bin.c | 6 +-
83697 fs/sysfs/dir.c | 2 +-
83698 fs/sysfs/file.c | 10 +-
83699 fs/sysfs/symlink.c | 2 +-
83700 fs/sysv/sysv.h | 2 +-
83701 fs/ubifs/io.c | 2 +-
83702 fs/udf/misc.c | 2 +-
83703 fs/ufs/swab.h | 4 +-
83704 fs/xattr.c | 21 +
83705 fs/xattr_acl.c | 4 +-
83706 fs/xfs/xfs_bmap.c | 2 +-
83707 fs/xfs/xfs_dir2_sf.c | 10 +-
83708 fs/xfs/xfs_ioctl.c | 2 +-
83709 fs/xfs/xfs_iops.c | 2 +-
83710 include/asm-generic/4level-fixup.h | 2 +
83711 include/asm-generic/atomic-long.h | 210 +
83712 include/asm-generic/atomic.h | 2 +-
83713 include/asm-generic/atomic64.h | 12 +
83714 include/asm-generic/cache.h | 4 +-
83715 include/asm-generic/emergency-restart.h | 2 +-
83716 include/asm-generic/kmap_types.h | 4 +-
83717 include/asm-generic/local.h | 13 +
83718 include/asm-generic/pgtable-nopmd.h | 18 +-
83719 include/asm-generic/pgtable-nopud.h | 15 +-
83720 include/asm-generic/pgtable.h | 8 +
83721 include/asm-generic/vmlinux.lds.h | 10 +-
83722 include/crypto/algapi.h | 2 +-
83723 include/drm/drmP.h | 17 +-
83724 include/drm/drm_crtc_helper.h | 2 +-
83725 include/drm/ttm/ttm_memory.h | 2 +-
83726 include/keys/asymmetric-subtype.h | 2 +-
83727 include/linux/atmdev.h | 4 +-
83728 include/linux/binfmts.h | 3 +-
83729 include/linux/blkdev.h | 2 +-
83730 include/linux/blktrace_api.h | 2 +-
83731 include/linux/cache.h | 4 +
83732 include/linux/cdrom.h | 1 -
83733 include/linux/cleancache.h | 2 +-
83734 include/linux/compat.h | 6 +-
83735 include/linux/compiler-gcc4.h | 20 +
83736 include/linux/compiler.h | 65 +-
83737 include/linux/completion.h | 6 +-
83738 include/linux/configfs.h | 2 +-
83739 include/linux/cpu.h | 2 +-
83740 include/linux/cpufreq.h | 3 +-
83741 include/linux/cpuidle.h | 5 +-
83742 include/linux/cpumask.h | 12 +-
83743 include/linux/crypto.h | 6 +-
83744 include/linux/ctype.h | 2 +-
83745 include/linux/decompress/mm.h | 2 +-
83746 include/linux/devfreq.h | 2 +-
83747 include/linux/device.h | 7 +-
83748 include/linux/dma-mapping.h | 2 +-
83749 include/linux/dmaengine.h | 4 +-
83750 include/linux/efi.h | 1 +
83751 include/linux/elf.h | 2 +
83752 include/linux/err.h | 4 +-
83753 include/linux/extcon.h | 2 +-
83754 include/linux/fb.h | 2 +-
83755 include/linux/filter.h | 4 +
83756 include/linux/frontswap.h | 2 +-
83757 include/linux/fs.h | 3 +-
83758 include/linux/fs_struct.h | 2 +-
83759 include/linux/fscache-cache.h | 4 +-
83760 include/linux/fscache.h | 2 +-
83761 include/linux/fsnotify.h | 2 +-
83762 include/linux/ftrace_event.h | 2 +-
83763 include/linux/genhd.h | 2 +-
83764 include/linux/genl_magic_func.h | 2 +-
83765 include/linux/gfp.h | 12 +-
83766 include/linux/highmem.h | 12 +
83767 include/linux/hwmon-sysfs.h | 5 +-
83768 include/linux/i2c.h | 1 +
83769 include/linux/i2o.h | 2 +-
83770 include/linux/if_pppox.h | 2 +-
83771 include/linux/init.h | 33 +-
83772 include/linux/init_task.h | 7 +
83773 include/linux/interrupt.h | 8 +-
83774 include/linux/iommu.h | 2 +-
83775 include/linux/ioport.h | 2 +-
83776 include/linux/irq.h | 3 +-
83777 include/linux/irqchip/arm-gic.h | 2 +-
83778 include/linux/key-type.h | 2 +-
83779 include/linux/kgdb.h | 6 +-
83780 include/linux/kobject.h | 3 +-
83781 include/linux/kobject_ns.h | 2 +-
83782 include/linux/kref.h | 2 +-
83783 include/linux/kvm_host.h | 4 +-
83784 include/linux/libata.h | 2 +-
83785 include/linux/list.h | 15 +
83786 include/linux/math64.h | 6 +-
83787 include/linux/mm.h | 110 +-
83788 include/linux/mm_types.h | 20 +
83789 include/linux/mmiotrace.h | 4 +-
83790 include/linux/mmzone.h | 2 +-
83791 include/linux/mod_devicetable.h | 6 +-
83792 include/linux/module.h | 60 +-
83793 include/linux/moduleloader.h | 16 +
83794 include/linux/moduleparam.h | 4 +-
83795 include/linux/namei.h | 6 +-
83796 include/linux/net.h | 2 +-
83797 include/linux/netdevice.h | 3 +-
83798 include/linux/netfilter.h | 2 +-
83799 include/linux/netfilter/ipset/ip_set.h | 2 +-
83800 include/linux/netfilter/nfnetlink.h | 2 +-
83801 include/linux/nls.h | 2 +-
83802 include/linux/notifier.h | 3 +-
83803 include/linux/oprofile.h | 4 +-
83804 include/linux/pci_hotplug.h | 3 +-
83805 include/linux/perf_event.h | 12 +-
83806 include/linux/pipe_fs_i.h | 6 +-
83807 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
83808 include/linux/platform_data/usb-exynos.h | 2 +-
83809 include/linux/pm_domain.h | 2 +-
83810 include/linux/pm_runtime.h | 2 +-
83811 include/linux/pnp.h | 2 +-
83812 include/linux/poison.h | 4 +-
83813 include/linux/power/smartreflex.h | 2 +-
83814 include/linux/ppp-comp.h | 2 +-
83815 include/linux/proc_fs.h | 2 +-
83816 include/linux/random.h | 5 +
83817 include/linux/rculist.h | 16 +
83818 include/linux/reboot.h | 14 +-
83819 include/linux/regset.h | 3 +-
83820 include/linux/relay.h | 2 +-
83821 include/linux/rio.h | 2 +-
83822 include/linux/rmap.h | 4 +-
83823 include/linux/sched.h | 67 +-
83824 include/linux/sched/sysctl.h | 1 +
83825 include/linux/seq_file.h | 1 +
83826 include/linux/skbuff.h | 12 +-
83827 include/linux/slab.h | 36 +-
83828 include/linux/slab_def.h | 33 +-
83829 include/linux/slob_def.h | 4 +-
83830 include/linux/slub_def.h | 10 +-
83831 include/linux/sock_diag.h | 2 +-
83832 include/linux/sonet.h | 2 +-
83833 include/linux/sunrpc/addr.h | 8 +-
83834 include/linux/sunrpc/clnt.h | 2 +-
83835 include/linux/sunrpc/svc.h | 2 +-
83836 include/linux/sunrpc/svc_rdma.h | 18 +-
83837 include/linux/sunrpc/svcauth.h | 2 +-
83838 include/linux/swiotlb.h | 3 +-
83839 include/linux/syscalls.h | 2 +-
83840 include/linux/syscore_ops.h | 2 +-
83841 include/linux/sysctl.h | 6 +-
83842 include/linux/sysfs.h | 10 +-
83843 include/linux/sysrq.h | 3 +-
83844 include/linux/thread_info.h | 7 +
83845 include/linux/tty.h | 4 +-
83846 include/linux/tty_driver.h | 2 +-
83847 include/linux/tty_ldisc.h | 2 +-
83848 include/linux/types.h | 16 +
83849 include/linux/uaccess.h | 6 +-
83850 include/linux/unaligned/access_ok.h | 24 +-
83851 include/linux/usb.h | 4 +-
83852 include/linux/usb/renesas_usbhs.h | 2 +-
83853 include/linux/vermagic.h | 21 +-
83854 include/linux/vmalloc.h | 11 +-
83855 include/linux/vmstat.h | 20 +-
83856 include/linux/xattr.h | 5 +-
83857 include/linux/zlib.h | 3 +-
83858 include/media/v4l2-dev.h | 2 +-
83859 include/media/v4l2-ioctl.h | 1 -
83860 include/net/9p/transport.h | 2 +-
83861 include/net/bluetooth/l2cap.h | 2 +-
83862 include/net/caif/cfctrl.h | 6 +-
83863 include/net/flow.h | 2 +-
83864 include/net/genetlink.h | 2 +-
83865 include/net/gro_cells.h | 2 +-
83866 include/net/inet_connection_sock.h | 2 +-
83867 include/net/inetpeer.h | 8 +-
83868 include/net/ip.h | 2 +-
83869 include/net/ip_fib.h | 2 +-
83870 include/net/ip_vs.h | 8 +-
83871 include/net/irda/ircomm_tty.h | 1 +
83872 include/net/iucv/af_iucv.h | 2 +-
83873 include/net/llc_c_ac.h | 2 +-
83874 include/net/llc_c_ev.h | 4 +-
83875 include/net/llc_c_st.h | 2 +-
83876 include/net/llc_s_ac.h | 2 +-
83877 include/net/llc_s_st.h | 2 +-
83878 include/net/mac80211.h | 2 +-
83879 include/net/neighbour.h | 2 +-
83880 include/net/net_namespace.h | 12 +-
83881 include/net/netdma.h | 2 +-
83882 include/net/netlink.h | 2 +-
83883 include/net/netns/conntrack.h | 6 +-
83884 include/net/netns/ipv4.h | 2 +-
83885 include/net/protocol.h | 4 +-
83886 include/net/rtnetlink.h | 2 +-
83887 include/net/sctp/sctp.h | 6 +-
83888 include/net/sctp/sm.h | 4 +-
83889 include/net/sctp/structs.h | 2 +-
83890 include/net/sock.h | 6 +-
83891 include/net/tcp.h | 8 +-
83892 include/net/xfrm.h | 8 +-
83893 include/rdma/iw_cm.h | 2 +-
83894 include/scsi/libfc.h | 3 +-
83895 include/scsi/scsi_device.h | 6 +-
83896 include/scsi/scsi_transport_fc.h | 3 +-
83897 include/sound/soc.h | 4 +-
83898 include/target/target_core_base.h | 2 +-
83899 include/trace/events/irq.h | 4 +-
83900 include/uapi/linux/a.out.h | 8 +
83901 include/uapi/linux/byteorder/little_endian.h | 28 +-
83902 include/uapi/linux/elf.h | 28 +
83903 include/uapi/linux/screen_info.h | 3 +-
83904 include/uapi/linux/swab.h | 6 +-
83905 include/uapi/linux/sysctl.h | 6 +-
83906 include/uapi/linux/xattr.h | 4 +
83907 include/video/udlfb.h | 8 +-
83908 include/video/uvesafb.h | 1 +
83909 init/Kconfig | 2 +-
83910 init/Makefile | 3 +
83911 init/do_mounts.c | 14 +-
83912 init/do_mounts.h | 8 +-
83913 init/do_mounts_initrd.c | 22 +-
83914 init/do_mounts_md.c | 6 +-
83915 init/init_task.c | 4 +
83916 init/initramfs.c | 40 +-
83917 init/main.c | 77 +-
83918 ipc/ipc_sysctl.c | 10 +-
83919 ipc/mq_sysctl.c | 2 +-
83920 ipc/msg.c | 11 +-
83921 ipc/sem.c | 11 +-
83922 ipc/shm.c | 17 +-
83923 kernel/acct.c | 2 +-
83924 kernel/audit.c | 8 +-
83925 kernel/auditsc.c | 4 +-
83926 kernel/capability.c | 3 +
83927 kernel/compat.c | 40 +-
83928 kernel/debug/debug_core.c | 16 +-
83929 kernel/debug/kdb/kdb_main.c | 4 +-
83930 kernel/events/core.c | 28 +-
83931 kernel/exit.c | 4 +-
83932 kernel/fork.c | 167 +-
83933 kernel/futex.c | 9 +
83934 kernel/futex_compat.c | 2 +-
83935 kernel/gcov/base.c | 7 +-
83936 kernel/hrtimer.c | 4 +-
83937 kernel/irq_work.c | 7 +-
83938 kernel/jump_label.c | 5 +
83939 kernel/kallsyms.c | 39 +-
83940 kernel/kexec.c | 3 +-
83941 kernel/kmod.c | 4 +-
83942 kernel/kprobes.c | 8 +-
83943 kernel/ksysfs.c | 2 +-
83944 kernel/lockdep.c | 7 +-
83945 kernel/module.c | 337 +-
83946 kernel/mutex-debug.c | 12 +-
83947 kernel/mutex-debug.h | 4 +-
83948 kernel/mutex.c | 7 +-
83949 kernel/notifier.c | 17 +-
83950 kernel/panic.c | 3 +-
83951 kernel/pid.c | 2 +-
83952 kernel/pid_namespace.c | 2 +-
83953 kernel/posix-cpu-timers.c | 4 +-
83954 kernel/posix-timers.c | 20 +-
83955 kernel/power/process.c | 12 +-
83956 kernel/profile.c | 14 +-
83957 kernel/ptrace.c | 8 +-
83958 kernel/rcupdate.c | 4 +-
83959 kernel/rcutiny.c | 4 +-
83960 kernel/rcutiny_plugin.h | 2 +-
83961 kernel/rcutorture.c | 56 +-
83962 kernel/rcutree.c | 68 +-
83963 kernel/rcutree.h | 24 +-
83964 kernel/rcutree_plugin.h | 20 +-
83965 kernel/rcutree_trace.c | 22 +-
83966 kernel/rtmutex-tester.c | 24 +-
83967 kernel/sched/auto_group.c | 4 +-
83968 kernel/sched/core.c | 51 +-
83969 kernel/sched/fair.c | 4 +-
83970 kernel/signal.c | 12 +-
83971 kernel/smp.c | 2 +-
83972 kernel/smpboot.c | 4 +-
83973 kernel/softirq.c | 18 +-
83974 kernel/srcu.c | 4 +-
83975 kernel/sys.c | 10 +-
83976 kernel/sysctl.c | 39 +-
83977 kernel/time.c | 2 +-
83978 kernel/time/alarmtimer.c | 2 +-
83979 kernel/time/tick-broadcast.c | 2 +-
83980 kernel/time/timer_stats.c | 10 +-
83981 kernel/timer.c | 6 +-
83982 kernel/trace/blktrace.c | 6 +-
83983 kernel/trace/ftrace.c | 20 +-
83984 kernel/trace/ring_buffer.c | 76 +-
83985 kernel/trace/trace.c | 8 +-
83986 kernel/trace/trace.h | 2 +-
83987 kernel/trace/trace_events.c | 25 +-
83988 kernel/trace/trace_mmiotrace.c | 8 +-
83989 kernel/trace/trace_output.c | 12 +-
83990 kernel/trace/trace_stack.c | 2 +-
83991 kernel/user_namespace.c | 2 +-
83992 kernel/utsname_sysctl.c | 2 +-
83993 kernel/watchdog.c | 2 +-
83994 lib/Kconfig.debug | 6 +-
83995 lib/Makefile | 2 +-
83996 lib/bitmap.c | 8 +-
83997 lib/bug.c | 2 +
83998 lib/debugobjects.c | 2 +-
83999 lib/devres.c | 4 +-
84000 lib/div64.c | 4 +-
84001 lib/dma-debug.c | 4 +-
84002 lib/inflate.c | 2 +-
84003 lib/ioremap.c | 4 +-
84004 lib/kobject.c | 4 +-
84005 lib/list_debug.c | 126 +-
84006 lib/radix-tree.c | 2 +-
84007 lib/strncpy_from_user.c | 2 +-
84008 lib/strnlen_user.c | 2 +-
84009 lib/swiotlb.c | 2 +-
84010 lib/vsprintf.c | 12 +-
84011 mm/Kconfig | 6 +-
84012 mm/filemap.c | 2 +-
84013 mm/fremap.c | 5 +
84014 mm/highmem.c | 7 +-
84015 mm/hugetlb.c | 70 +-
84016 mm/internal.h | 1 +
84017 mm/maccess.c | 4 +-
84018 mm/madvise.c | 41 +
84019 mm/memory-failure.c | 26 +-
84020 mm/memory.c | 424 ++-
84021 mm/mempolicy.c | 26 +
84022 mm/mlock.c | 16 +-
84023 mm/mmap.c | 576 ++-
84024 mm/mprotect.c | 139 +-
84025 mm/mremap.c | 44 +-
84026 mm/nommu.c | 21 +-
84027 mm/page-writeback.c | 4 +-
84028 mm/page_alloc.c | 41 +-
84029 mm/percpu.c | 2 +-
84030 mm/process_vm_access.c | 14 +-
84031 mm/rmap.c | 38 +-
84032 mm/shmem.c | 19 +-
84033 mm/slab.c | 105 +-
84034 mm/slab.h | 5 +-
84035 mm/slab_common.c | 11 +-
84036 mm/slob.c | 201 +-
84037 mm/slub.c | 99 +-
84038 mm/sparse-vmemmap.c | 4 +-
84039 mm/sparse.c | 2 +-
84040 mm/swap.c | 3 +
84041 mm/swapfile.c | 12 +-
84042 mm/util.c | 6 +
84043 mm/vmalloc.c | 82 +-
84044 mm/vmstat.c | 12 +-
84045 net/8021q/vlan.c | 5 +-
84046 net/9p/mod.c | 4 +-
84047 net/9p/trans_fd.c | 2 +-
84048 net/atm/atm_misc.c | 8 +-
84049 net/atm/lec.h | 2 +-
84050 net/atm/proc.c | 6 +-
84051 net/atm/resources.c | 4 +-
84052 net/ax25/sysctl_net_ax25.c | 2 +-
84053 net/batman-adv/bat_iv_ogm.c | 8 +-
84054 net/batman-adv/hard-interface.c | 4 +-
84055 net/batman-adv/soft-interface.c | 4 +-
84056 net/batman-adv/types.h | 6 +-
84057 net/batman-adv/unicast.c | 2 +-
84058 net/bluetooth/hci_sock.c | 2 +-
84059 net/bluetooth/l2cap_core.c | 6 +-
84060 net/bluetooth/l2cap_sock.c | 12 +-
84061 net/bluetooth/rfcomm/sock.c | 4 +-
84062 net/bluetooth/rfcomm/tty.c | 10 +-
84063 net/bridge/netfilter/ebtables.c | 6 +-
84064 net/caif/cfctrl.c | 11 +-
84065 net/can/af_can.c | 2 +-
84066 net/can/gw.c | 6 +-
84067 net/compat.c | 34 +-
84068 net/core/datagram.c | 2 +-
84069 net/core/dev.c | 16 +-
84070 net/core/flow.c | 8 +-
84071 net/core/iovec.c | 4 +-
84072 net/core/neighbour.c | 2 +-
84073 net/core/net-sysfs.c | 2 +-
84074 net/core/net_namespace.c | 8 +-
84075 net/core/rtnetlink.c | 13 +-
84076 net/core/scm.c | 8 +-
84077 net/core/sock.c | 24 +-
84078 net/core/sock_diag.c | 9 +-
84079 net/core/sysctl_net_core.c | 18 +-
84080 net/decnet/af_decnet.c | 1 +
84081 net/decnet/sysctl_net_decnet.c | 4 +-
84082 net/ipv4/af_inet.c | 8 +-
84083 net/ipv4/ah4.c | 2 +-
84084 net/ipv4/devinet.c | 14 +-
84085 net/ipv4/esp4.c | 2 +-
84086 net/ipv4/fib_frontend.c | 6 +-
84087 net/ipv4/fib_semantics.c | 2 +-
84088 net/ipv4/inet_connection_sock.c | 2 +-
84089 net/ipv4/inetpeer.c | 4 +-
84090 net/ipv4/ip_fragment.c | 15 +-
84091 net/ipv4/ip_gre.c | 6 +-
84092 net/ipv4/ip_sockglue.c | 2 +-
84093 net/ipv4/ip_vti.c | 4 +-
84094 net/ipv4/ipcomp.c | 2 +-
84095 net/ipv4/ipconfig.c | 6 +-
84096 net/ipv4/ipip.c | 4 +-
84097 net/ipv4/netfilter/arp_tables.c | 12 +-
84098 net/ipv4/netfilter/ip_tables.c | 12 +-
84099 net/ipv4/ping.c | 2 +-
84100 net/ipv4/raw.c | 14 +-
84101 net/ipv4/route.c | 18 +-
84102 net/ipv4/sysctl_net_ipv4.c | 45 +-
84103 net/ipv4/tcp_input.c | 2 +-
84104 net/ipv4/tcp_probe.c | 2 +-
84105 net/ipv4/udp.c | 10 +-
84106 net/ipv4/xfrm4_policy.c | 14 +-
84107 net/ipv6/addrconf.c | 6 +-
84108 net/ipv6/icmp.c | 2 +-
84109 net/ipv6/ip6_gre.c | 8 +-
84110 net/ipv6/ip6_tunnel.c | 4 +-
84111 net/ipv6/ipv6_sockglue.c | 2 +-
84112 net/ipv6/netfilter/ip6_tables.c | 12 +-
84113 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
84114 net/ipv6/raw.c | 19 +-
84115 net/ipv6/reassembly.c | 13 +-
84116 net/ipv6/route.c | 2 +-
84117 net/ipv6/sit.c | 4 +-
84118 net/ipv6/sysctl_net_ipv6.c | 2 +-
84119 net/ipv6/udp.c | 8 +-
84120 net/ipv6/xfrm6_policy.c | 13 +-
84121 net/irda/ircomm/ircomm_tty.c | 18 +-
84122 net/iucv/af_iucv.c | 4 +-
84123 net/iucv/iucv.c | 2 +-
84124 net/key/af_key.c | 4 +-
84125 net/mac80211/cfg.c | 8 +-
84126 net/mac80211/ieee80211_i.h | 3 +-
84127 net/mac80211/iface.c | 14 +-
84128 net/mac80211/main.c | 2 +-
84129 net/mac80211/pm.c | 6 +-
84130 net/mac80211/rate.c | 2 +-
84131 net/mac80211/rc80211_pid_debugfs.c | 2 +-
84132 net/mac80211/util.c | 2 +-
84133 net/netfilter/ipset/ip_set_core.c | 2 +-
84134 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
84135 net/netfilter/ipvs/ip_vs_core.c | 4 +-
84136 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
84137 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
84138 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
84139 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
84140 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
84141 net/netfilter/nf_conntrack_acct.c | 2 +-
84142 net/netfilter/nf_conntrack_ecache.c | 2 +-
84143 net/netfilter/nf_conntrack_helper.c | 2 +-
84144 net/netfilter/nf_conntrack_proto.c | 2 +-
84145 net/netfilter/nf_conntrack_standalone.c | 2 +-
84146 net/netfilter/nf_conntrack_timestamp.c | 2 +-
84147 net/netfilter/nf_log.c | 10 +-
84148 net/netfilter/nf_sockopt.c | 4 +-
84149 net/netfilter/nfnetlink_log.c | 4 +-
84150 net/netfilter/xt_statistic.c | 8 +-
84151 net/netlink/af_netlink.c | 4 +-
84152 net/netlink/genetlink.c | 16 +-
84153 net/packet/af_packet.c | 12 +-
84154 net/phonet/pep.c | 6 +-
84155 net/phonet/socket.c | 2 +-
84156 net/phonet/sysctl.c | 2 +-
84157 net/rds/cong.c | 6 +-
84158 net/rds/ib.h | 2 +-
84159 net/rds/ib_cm.c | 2 +-
84160 net/rds/ib_recv.c | 4 +-
84161 net/rds/iw.h | 2 +-
84162 net/rds/iw_cm.c | 2 +-
84163 net/rds/iw_recv.c | 4 +-
84164 net/rds/rds.h | 2 +-
84165 net/rds/tcp.c | 2 +-
84166 net/rds/tcp_send.c | 2 +-
84167 net/rxrpc/af_rxrpc.c | 2 +-
84168 net/rxrpc/ar-ack.c | 14 +-
84169 net/rxrpc/ar-call.c | 2 +-
84170 net/rxrpc/ar-connection.c | 2 +-
84171 net/rxrpc/ar-connevent.c | 2 +-
84172 net/rxrpc/ar-input.c | 4 +-
84173 net/rxrpc/ar-internal.h | 8 +-
84174 net/rxrpc/ar-local.c | 2 +-
84175 net/rxrpc/ar-output.c | 4 +-
84176 net/rxrpc/ar-peer.c | 2 +-
84177 net/rxrpc/ar-proc.c | 4 +-
84178 net/rxrpc/ar-transport.c | 2 +-
84179 net/rxrpc/rxkad.c | 4 +-
84180 net/sctp/ipv6.c | 6 +-
84181 net/sctp/protocol.c | 10 +-
84182 net/sctp/sm_sideeffect.c | 2 +-
84183 net/sctp/socket.c | 21 +-
84184 net/sctp/sysctl.c | 4 +-
84185 net/socket.c | 18 +-
84186 net/sunrpc/clnt.c | 4 +-
84187 net/sunrpc/sched.c | 4 +-
84188 net/sunrpc/svc.c | 4 +-
84189 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
84190 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
84191 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
84192 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
84193 net/tipc/link.c | 6 +-
84194 net/tipc/msg.c | 2 +-
84195 net/tipc/subscr.c | 2 +-
84196 net/unix/sysctl_net_unix.c | 2 +-
84197 net/wireless/wext-core.c | 19 +-
84198 net/xfrm/xfrm_policy.c | 27 +-
84199 net/xfrm/xfrm_state.c | 29 +-
84200 net/xfrm/xfrm_sysctl.c | 2 +-
84201 scripts/Makefile.build | 2 +-
84202 scripts/Makefile.clean | 3 +-
84203 scripts/Makefile.host | 28 +-
84204 scripts/basic/fixdep.c | 12 +-
84205 scripts/gcc-plugin.sh | 17 +
84206 scripts/headers_install.pl | 1 +
84207 scripts/link-vmlinux.sh | 2 +-
84208 scripts/mod/file2alias.c | 14 +-
84209 scripts/mod/modpost.c | 25 +-
84210 scripts/mod/modpost.h | 6 +-
84211 scripts/mod/sumversion.c | 2 +-
84212 scripts/package/builddeb | 1 +
84213 scripts/pnmtologo.c | 6 +-
84214 scripts/sortextable.h | 6 +-
84215 security/Kconfig | 675 +++-
84216 security/apparmor/lsm.c | 2 +-
84217 security/integrity/ima/ima.h | 4 +-
84218 security/integrity/ima/ima_api.c | 2 +-
84219 security/integrity/ima/ima_fs.c | 4 +-
84220 security/integrity/ima/ima_queue.c | 2 +-
84221 security/keys/compat.c | 2 +-
84222 security/keys/key.c | 18 +-
84223 security/keys/keyctl.c | 8 +-
84224 security/keys/keyring.c | 6 +-
84225 security/security.c | 9 +-
84226 security/selinux/hooks.c | 2 +-
84227 security/selinux/include/xfrm.h | 2 +-
84228 security/smack/smack_lsm.c | 2 +-
84229 security/tomoyo/tomoyo.c | 2 +-
84230 security/yama/yama_lsm.c | 22 +-
84231 sound/aoa/codecs/onyx.c | 7 +-
84232 sound/aoa/codecs/onyx.h | 1 +
84233 sound/core/oss/pcm_oss.c | 18 +-
84234 sound/core/pcm_compat.c | 2 +-
84235 sound/core/pcm_native.c | 4 +-
84236 sound/core/seq/seq_device.c | 8 +-
84237 sound/drivers/mts64.c | 14 +-
84238 sound/drivers/opl4/opl4_lib.c | 2 +-
84239 sound/drivers/portman2x4.c | 3 +-
84240 sound/firewire/amdtp.c | 4 +-
84241 sound/firewire/amdtp.h | 2 +-
84242 sound/firewire/isight.c | 10 +-
84243 sound/firewire/scs1x.c | 8 +-
84244 sound/oss/sb_audio.c | 2 +-
84245 sound/oss/swarm_cs4297a.c | 6 +-
84246 sound/pci/ymfpci/ymfpci.h | 2 +-
84247 sound/pci/ymfpci/ymfpci_main.c | 12 +-
84248 tools/gcc/.gitignore | 1 +
84249 tools/gcc/Makefile | 45 +
84250 tools/gcc/checker_plugin.c | 171 +
84251 tools/gcc/colorize_plugin.c | 151 +
84252 tools/gcc/constify_plugin.c | 518 ++
84253 tools/gcc/generate_size_overflow_hash.sh | 94 +
84254 tools/gcc/kallocstat_plugin.c | 170 +
84255 tools/gcc/kernexec_plugin.c | 465 ++
84256 tools/gcc/latent_entropy_plugin.c | 327 ++
84257 tools/gcc/size_overflow_hash.data | 5876 ++++++++++++++++++++++
84258 tools/gcc/size_overflow_plugin.c | 2114 ++++++++
84259 tools/gcc/stackleak_plugin.c | 327 ++
84260 tools/gcc/structleak_plugin.c | 276 +
84261 tools/perf/util/include/asm/alternative-asm.h | 3 +
84262 tools/perf/util/include/linux/compiler.h | 8 +
84263 virt/kvm/kvm_main.c | 32 +-
84264 1555 files changed, 30474 insertions(+), 7126 deletions(-)
84265 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
84266 Merge: 0949bd4 fc53d63
84267 Author: Brad Spengler <spender@grsecurity.net>
84268 Date: Thu Mar 22 19:03:44 2012 -0400
84269
84270 Merge branch 'pax-test' into grsec-test
84271
84272 commit fc53d6338964741b368070ec5c935bc579b8c2a6
84273 Author: Brad Spengler <spender@grsecurity.net>
84274 Date: Thu Mar 22 19:02:45 2012 -0400
84275
84276 Update to pax-linux-3.2.12-test33.patch
84277
84278 commit 0949bd46a6455b308f66ad7c993bfee62412db35
84279 Author: Brad Spengler <spender@grsecurity.net>
84280 Date: Thu Mar 22 16:56:09 2012 -0400
84281
84282 Use current_umask() instead of current->fs->umask
84283
84284 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
84285 Author: Brad Spengler <spender@grsecurity.net>
84286 Date: Wed Mar 21 19:42:42 2012 -0400
84287
84288 compile fix
84289
84290 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
84291 Author: Brad Spengler <spender@grsecurity.net>
84292 Date: Wed Mar 21 19:34:56 2012 -0400
84293
84294 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
84295 uses of domains with particular hash collisions
84296
84297 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
84298 Author: Brad Spengler <spender@grsecurity.net>
84299 Date: Tue Mar 20 20:25:49 2012 -0400
84300
84301 zero kernel_role
84302
84303 commit b00953b43c69238d181d21121ef1577c988d5f6b
84304 Author: Brad Spengler <spender@grsecurity.net>
84305 Date: Tue Mar 20 19:29:34 2012 -0400
84306
84307 zero real_root after releasing it
84308
84309 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
84310 Merge: b724f59 273f98e
84311 Author: Brad Spengler <spender@grsecurity.net>
84312 Date: Tue Mar 20 19:11:26 2012 -0400
84313
84314 Merge branch 'pax-test' into grsec-test
84315
84316 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
84317 Author: Brad Spengler <spender@grsecurity.net>
84318 Date: Tue Mar 20 19:10:52 2012 -0400
84319
84320 Temporary workaround for (most) size_overflow plugin false-positives
84321 Increase randomization for brk-managed heap to 21 bits
84322 Update to pax-linux-3.2.12-test32.patch
84323
84324 commit b724f59125304460c2af8bd4b02921993afbb5d3
84325 Author: Brad Spengler <spender@grsecurity.net>
84326 Date: Tue Mar 20 18:58:53 2012 -0400
84327
84328 compile fix
84329
84330 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
84331 Author: Brad Spengler <spender@grsecurity.net>
84332 Date: Tue Mar 20 18:52:23 2012 -0400
84333
84334 Require default and kernel role
84335
84336 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
84337 Author: Brad Spengler <spender@grsecurity.net>
84338 Date: Tue Mar 20 18:47:28 2012 -0400
84339
84340 Allow policies without special roles
84341 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
84342
84343 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
84344 Merge: 8e012dc f14661a
84345 Author: Brad Spengler <spender@grsecurity.net>
84346 Date: Mon Mar 19 18:06:59 2012 -0400
84347
84348 Merge branch 'pax-test' into grsec-test
84349
84350 Conflicts:
84351 fs/namei.c
84352
84353 commit f14661aaf202155c97f66626cea0269017bb7775
84354 Merge: eae671f 058b017
84355 Author: Brad Spengler <spender@grsecurity.net>
84356 Date: Mon Mar 19 18:05:44 2012 -0400
84357
84358 Merge branch 'linux-3.2.y' into pax-test
84359
84360 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
84361 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
84362 Date: Fri Mar 16 17:08:39 2012 -0700
84363
84364 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
84365
84366 According to the report from Slicky Devil, nilfs caused kernel oops at
84367 nilfs_load_super_block function during mount after he shrank the
84368 partition without resizing the filesystem:
84369
84370 BUG: unable to handle kernel NULL pointer dereference at 00000048
84371 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
84372 *pde = 00000000
84373 Oops: 0000 [#1] PREEMPT SMP
84374 ...
84375 Call Trace:
84376 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
84377 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
84378 [<c0226636>] mount_fs+0x36/0x180
84379 [<c023d961>] vfs_kern_mount+0x51/0xa0
84380 [<c023ddae>] do_kern_mount+0x3e/0xe0
84381 [<c023f189>] do_mount+0x169/0x700
84382 [<c023fa9b>] sys_mount+0x6b/0xa0
84383 [<c04abd1f>] sysenter_do_call+0x12/0x28
84384 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
84385 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
84386 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
84387 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
84388 CR2: 0000000000000048
84389
84390 This turned out due to a defect in an error path which runs if the
84391 calculated location of the secondary super block was invalid.
84392
84393 This patch fixes it and eliminates the reported oops.
84394
84395 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
84396 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
84397 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
84398 Cc: <stable@vger.kernel.org> [2.6.30+]
84399 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
84400 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84401
84402 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
84403 Author: Haogang Chen <haogangchen@gmail.com>
84404 Date: Fri Mar 16 17:08:38 2012 -0700
84405
84406 nilfs2: clamp ns_r_segments_percentage to [1, 99]
84407
84408 ns_r_segments_percentage is read from the disk. Bogus or malicious
84409 value could cause integer overflow and malfunction due to meaningless
84410 disk usage calculation. This patch reports error when mounting such
84411 bogus volumes.
84412
84413 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
84414 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
84415 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
84416 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84417
84418 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
84419 Author: Eric Dumazet <eric.dumazet@gmail.com>
84420 Date: Sat Mar 10 09:20:21 2012 +0000
84421
84422 tcp: fix syncookie regression
84423
84424 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
84425 added a serious regression on synflood handling.
84426
84427 Simon Kirby discovered a successful connection was delayed by 20 seconds
84428 before being responsive.
84429
84430 In my tests, I discovered that xmit frames were lost, and needed ~4
84431 retransmits and a socket dst rebuild before being really sent.
84432
84433 In case of syncookie initiated connection, we use a different path to
84434 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
84435
84436 As ip_queue_xmit() now depends on inet flow being setup, fix this by
84437 copying the temp flowi4 we use in cookie_v4_check().
84438
84439 Reported-by: Simon Kirby <sim@netnation.com>
84440 Bisected-by: Simon Kirby <sim@netnation.com>
84441 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
84442 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
84443 Signed-off-by: David S. Miller <davem@davemloft.net>
84444
84445 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
84446 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
84447 Date: Mon Mar 12 02:59:41 2012 +0000
84448
84449 tun: don't hold network namespace by tun sockets
84450
84451 v3: added previously removed sock_put() to the tun_release() callback, because
84452 sk_release_kernel() doesn't drop the socket reference.
84453
84454 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
84455 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
84456 call.
84457
84458 TUN was designed to destroy it's socket on network namesapce shutdown. But this
84459 will never happen for persistent device, because it's socket holds network
84460 namespace.
84461 This patch removes of holding network namespace by TUN socket and replaces it
84462 by creating socket in init_net and then changing it's net it to desired one. On
84463 shutdown socket is moved back to init_net prior to final put.
84464
84465 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
84466 Signed-off-by: David S. Miller <davem@davemloft.net>
84467
84468 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
84469 Author: Tyler Hicks <tyhicks@canonical.com>
84470 Date: Mon Dec 12 10:02:30 2011 -0600
84471
84472 vfs: Correctly set the dir i_mutex lockdep class
84473
84474 9a7aa12f3911853a introduced additional logic around setting the i_mutex
84475 lockdep class for directory inodes. The idea was that some filesystems
84476 may want their own special lockdep class for different directory
84477 inodes and calling unlock_new_inode() should not clobber one of
84478 those special classes.
84479
84480 I believe that the added conditional, around the *negated* return value
84481 of lockdep_match_class(), caused directory inodes to be placed in the
84482 wrong lockdep class.
84483
84484 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
84485 all inodes. If the filesystem did not change the class during inode
84486 initialization, then the conditional mentioned above was false and the
84487 directory inode was incorrectly left in the non-directory lockdep class.
84488 If the filesystem did set a special lockdep class, then the conditional
84489 mentioned above was true and that class was clobbered with
84490 i_mutex_dir_key.
84491
84492 This patch removes the negation from the conditional so that the i_mutex
84493 lockdep class is properly set for directory inodes. Special classes are
84494 preserved and directory inodes with unmodified classes are set with
84495 i_mutex_dir_key.
84496
84497 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
84498 Reviewed-by: Jan Kara <jack@suse.cz>
84499 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84500
84501 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
84502 Author: Jan Kara <jack@suse.cz>
84503 Date: Mon Feb 20 17:54:00 2012 +0100
84504
84505 udf: Fix deadlock in udf_release_file()
84506
84507 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
84508 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
84509 i_mutex is not needed in udf_release_file() anymore since protection by
84510 i_data_sem is enough to protect from races with write and truncate.
84511
84512 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
84513 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
84514 Signed-off-by: Jan Kara <jack@suse.cz>
84515 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84516
84517 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
84518 Author: Miklos Szeredi <mszeredi@suse.cz>
84519 Date: Tue Mar 6 13:56:33 2012 +0100
84520
84521 vfs: fix double put after complete_walk()
84522
84523 complete_walk() already puts nd->path, no need to do it again at cleanup time.
84524
84525 This would result in Oopses if triggered, apparently the codepath is not too
84526 well exercised.
84527
84528 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
84529 CC: stable@vger.kernel.org
84530 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84531
84532 commit 13885ba2b18400f3ef6540497d30f1af896605e5
84533 Author: Miklos Szeredi <mszeredi@suse.cz>
84534 Date: Tue Mar 6 13:56:34 2012 +0100
84535
84536 vfs: fix return value from do_last()
84537
84538 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
84539 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
84540 which is complete nonsense.
84541
84542 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
84543 CC: stable@vger.kernel.org
84544 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84545
84546 Conflicts:
84547
84548 fs/namei.c
84549
84550 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
84551 Author: Al Viro <viro@zeniv.linux.org.uk>
84552 Date: Sat Mar 10 17:07:28 2012 -0500
84553
84554 restore smp_mb() in unlock_new_inode()
84555
84556 wait_on_inode() doesn't have ->i_lock
84557
84558 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84559
84560 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
84561 Author: David S. Miller <davem@davemloft.net>
84562 Date: Tue Mar 13 18:19:51 2012 -0700
84563
84564 sparc32: Add -Av8 to assembler command line.
84565
84566 Newer version of binutils are more strict about specifying the
84567 correct options to enable certain classes of instructions.
84568
84569 The sparc32 build is done for v7 in order to support sun4c systems
84570 which lack hardware integer multiply and divide instructions.
84571
84572 So we have to pass -Av8 when building the assembler routines that
84573 use these instructions and get patched into the kernel when we find
84574 out that we have a v8 capable cpu.
84575
84576 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
84577 Signed-off-by: David S. Miller <davem@davemloft.net>
84578
84579 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
84580 Author: Thomas Gleixner <tglx@linutronix.de>
84581 Date: Fri Mar 9 20:55:10 2012 +0100
84582
84583 x86: Derandom delay_tsc for 64 bit
84584
84585 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
84586 delay_tsc() into a random delay generator for 64 bit. The reason is
84587 that it merged the mostly identical versions of delay_32.c and
84588 delay_64.c. Though the subtle difference of the result was:
84589
84590 static void delay_tsc(unsigned long loops)
84591 {
84592 - unsigned bclock, now;
84593 + unsigned long bclock, now;
84594
84595 Now the function uses rdtscl() which returns the lower 32bit of the
84596 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
84597 bit this fails when the lower 32bit are close to wrap around when
84598 bclock is read, because the following check
84599
84600 if ((now - bclock) >= loops)
84601 break;
84602
84603 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
84604 because the unsigned long (now - bclock) of these values results in
84605 0xffffffff00000001 which is definitely larger than the loops
84606 value. That explains Tvortkos observation:
84607
84608 "Because I am seeing udelay(500) (_occasionally_) being short, and
84609 that by delaying for some duration between 0us (yep) and 491us."
84610
84611 Make those variables explicitely u32 again, so this works for both 32
84612 and 64 bit.
84613
84614 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
84615 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
84616 Cc: stable@vger.kernel.org # >= 2.6.27
84617 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84618
84619 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
84620 Author: Al Viro <viro@ZenIV.linux.org.uk>
84621 Date: Thu Mar 8 17:51:19 2012 +0000
84622
84623 aio: fix the "too late munmap()" race
84624
84625 Current code has put_ioctx() called asynchronously from aio_fput_routine();
84626 that's done *after* we have killed the request that used to pin ioctx,
84627 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
84628 from progressing. As the result, we can end up with async call of
84629 put_ioctx() being the last one and possibly happening during exit_mmap()
84630 or elf_core_dump(), neither of which expects stray munmap() being done
84631 to them...
84632
84633 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
84634 with that, but that's all we care about - neither io_destroy() nor
84635 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
84636 does really_put_req(), so the ioctx teardown won't be done until then
84637 and we don't care about the contents of ioctx past that point.
84638
84639 Since actual freeing of these suckers is RCU-delayed, we don't need to
84640 bump ioctx refcount when request goes into list for async removal.
84641 All we need is rcu_read_lock held just over the ->ctx_lock-protected
84642 area in aio_fput_routine().
84643
84644 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84645 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
84646 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
84647 Cc: stable@vger.kernel.org
84648 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84649
84650 commit 002124c055afbf09b52226af65621999e8316448
84651 Author: Al Viro <viro@ZenIV.linux.org.uk>
84652 Date: Wed Mar 7 05:16:35 2012 +0000
84653
84654 aio: fix io_setup/io_destroy race
84655
84656 Have ioctx_alloc() return an extra reference, so that caller would drop it
84657 on success and not bother with re-grabbing it on failure exit. The current
84658 code is obviously broken - io_destroy() from another thread that managed
84659 to guess the address io_setup() would've returned would free ioctx right
84660 under us; gets especially interesting if aio_context_t * we pass to
84661 io_setup() points to PROT_READ mapping, so put_user() fails and we end
84662 up doing io_destroy() on kioctx another thread has just got freed...
84663
84664 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84665 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
84666 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
84667 Cc: stable@vger.kernel.org
84668 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84669
84670 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
84671 Author: Dan Carpenter <dan.carpenter@oracle.com>
84672 Date: Thu Mar 15 15:17:12 2012 -0700
84673
84674 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
84675
84676 strict_strtoul() writes a long but ->gamma_mode only has space to store an
84677 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
84678 well. I've changed it to use kstrtouint() instead.
84679
84680 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
84681 Acked-by: Inki Dae <inki.dae@samsung.com>
84682 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
84683 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
84684 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84685
84686 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
84687 Merge: e4b05b6 eae671f
84688 Author: Brad Spengler <spender@grsecurity.net>
84689 Date: Fri Mar 16 21:04:27 2012 -0400
84690
84691 Merge branch 'pax-test' into grsec-test
84692
84693 Conflicts:
84694 security/Kconfig
84695
84696 commit eae671fafe93f04685c04a089cc13efebc05d600
84697 Author: Brad Spengler <spender@grsecurity.net>
84698 Date: Fri Mar 16 20:58:01 2012 -0400
84699
84700 Update to pax-linux-3.2.11-test31.patch
84701 Introduction of the size_overflow plugin from Emese Revfy
84702 Many thanks to Emese for her hard work :)
84703
84704 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
84705 Merge: e55aa68 258c015
84706 Author: Brad Spengler <spender@grsecurity.net>
84707 Date: Thu Mar 15 20:59:19 2012 -0400
84708
84709 Merge branch 'pax-test' into grsec-test
84710
84711 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
84712 Author: Brad Spengler <spender@grsecurity.net>
84713 Date: Thu Mar 15 20:59:05 2012 -0400
84714
84715 fix ARM compilation
84716
84717 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
84718 Merge: 8f95ea9 55b7573
84719 Author: Brad Spengler <spender@grsecurity.net>
84720 Date: Wed Mar 14 19:33:41 2012 -0400
84721
84722 Merge branch 'pax-test' into grsec-test
84723
84724 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
84725 Author: Brad Spengler <spender@grsecurity.net>
84726 Date: Wed Mar 14 19:33:15 2012 -0400
84727
84728 Update to pax-linux-3.2.10-test28.patch
84729
84730 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
84731 Merge: c8786a2 886ac5e
84732 Author: Brad Spengler <spender@grsecurity.net>
84733 Date: Tue Mar 13 17:38:13 2012 -0400
84734
84735 Merge branch 'pax-test' into grsec-test
84736
84737 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
84738
84739 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
84740 Author: Brad Spengler <spender@grsecurity.net>
84741 Date: Tue Mar 13 17:37:44 2012 -0400
84742
84743 Update to pax-linux-3.2.10-test26.patch
84744
84745 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
84746 Merge: 219c982 c061fcf
84747 Author: Brad Spengler <spender@grsecurity.net>
84748 Date: Tue Mar 13 17:25:06 2012 -0400
84749
84750 Merge branch 'pax-test' into grsec-test
84751
84752 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
84753 Merge: 89373d2 3f4b3b2
84754 Author: Brad Spengler <spender@grsecurity.net>
84755 Date: Tue Mar 13 17:25:02 2012 -0400
84756
84757 Merge branch 'linux-3.2.y' into pax-test
84758
84759 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
84760 Merge: 54e19a3 89373d2
84761 Author: Brad Spengler <spender@grsecurity.net>
84762 Date: Mon Mar 12 17:23:57 2012 -0400
84763
84764 Merge branch 'pax-test' into grsec-test
84765
84766 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
84767 Merge: a778588 7459f11
84768 Author: Brad Spengler <spender@grsecurity.net>
84769 Date: Mon Mar 12 17:23:49 2012 -0400
84770
84771 Merge branch 'linux-3.2.y' into pax-test
84772
84773 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
84774 Merge: c4650f1 a778588
84775 Author: Brad Spengler <spender@grsecurity.net>
84776 Date: Mon Mar 12 16:51:25 2012 -0400
84777
84778 Merge branch 'pax-test' into grsec-test
84779
84780 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
84781 Author: Brad Spengler <spender@grsecurity.net>
84782 Date: Mon Mar 12 16:51:12 2012 -0400
84783
84784 Update to pax-linux-3.2.9-test24.patch
84785
84786 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
84787 Merge: fb2abee 1015790
84788 Author: Brad Spengler <spender@grsecurity.net>
84789 Date: Sun Mar 11 21:08:28 2012 -0400
84790
84791 Merge branch 'pax-test' into grsec-test
84792
84793 Conflicts:
84794 security/Kconfig
84795
84796 commit 101579028a736c224e590c7e12a7357018c424e1
84797 Author: Brad Spengler <spender@grsecurity.net>
84798 Date: Sun Mar 11 21:07:27 2012 -0400
84799
84800 Update to pax-linux-3.2.9-test22.patch
84801
84802 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
84803 Author: Brad Spengler <spender@grsecurity.net>
84804 Date: Sun Mar 11 11:02:17 2012 -0400
84805
84806 Allow 4096 CPUs
84807
84808 commit 96bae28cbe6a41d48e3b56e5904814096e956000
84809 Author: Brad Spengler <spender@grsecurity.net>
84810 Date: Sun Mar 11 10:25:58 2012 -0400
84811
84812 Use a per-cpu 48-bit counter instead of a global atomic64
84813 Initialize each counter to have the cpu number in the lower 16 bits
84814 instead of incrementing the counter each time by 1, perform the increments
84815 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
84816 any state
84817 idea from PaX Team
84818
84819 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
84820 Author: Brad Spengler <spender@grsecurity.net>
84821 Date: Sat Mar 10 20:33:12 2012 -0500
84822
84823 Special vnsec edition! :)
84824 Further reduce argv/env allowance for suid/sgid apps to 512KB
84825 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
84826 Clear 3GB personality on suid/sgid binaries
84827 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
84828 with the main purpose of throwing off program stack -> arg/env alignment
84829 Update documentation
84830
84831 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
84832 Author: Brad Spengler <spender@grsecurity.net>
84833 Date: Sat Mar 10 19:54:47 2012 -0500
84834
84835 Resolve skbuff.h warnings that turn into errors during compilation in
84836 the grsecurity directory with -Werror
84837
84838 commit 2023210ad43a944033fcacc660ce410888f562ee
84839 Merge: ece4383 5f66adf
84840 Author: Brad Spengler <spender@grsecurity.net>
84841 Date: Fri Mar 9 19:48:01 2012 -0500
84842
84843 Merge branch 'pax-test' into grsec-test
84844
84845 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
84846 Author: Brad Spengler <spender@grsecurity.net>
84847 Date: Fri Mar 9 19:47:06 2012 -0500
84848
84849 Add colorize plugin
84850
84851 commit ece4383e5e91c92d138c4df84225a70b552f4d69
84852 Merge: a366d0e ab4a5a1
84853 Author: Brad Spengler <spender@grsecurity.net>
84854 Date: Fri Mar 9 17:56:46 2012 -0500
84855
84856 Merge branch 'pax-test' into grsec-test
84857
84858 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
84859 Author: Brad Spengler <spender@grsecurity.net>
84860 Date: Fri Mar 9 17:56:26 2012 -0500
84861
84862 Update to pax-linux-3.2.9-test21.patch
84863
84864 commit a366d0ed963ce93fce10121c1100989d5f064e75
84865 Author: Mikulas Patocka <mpatocka@redhat.com>
84866 Date: Sun Mar 4 19:52:03 2012 -0500
84867
84868 mm: fix find_vma_prev
84869
84870 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
84871 management on PA-RISC.
84872
84873 After application of the patch, programs that allocate big arrays on the
84874 stack crash with segfault, for example, this will crash if compiled
84875 without optimization:
84876
84877 int main()
84878 {
84879 char array[200000];
84880 array[199999] = 0;
84881 return 0;
84882 }
84883
84884 The reason is that PA-RISC has up-growing stack and the stack is usually
84885 the last memory area. In the above example, a page fault happens above
84886 the stack.
84887
84888 Previously, if we passed too high address to find_vma_prev, it returned
84889 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
84890 change, it stores NULL in *pprev. Consequently, the stack area is not
84891 found and it is not expanded, as it used to be before the change.
84892
84893 This patch restores the old behavior and makes it return the last VMA in
84894 *pprev if the requested address is higher than address of any other VMA.
84895
84896 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
84897 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
84898 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84899
84900 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
84901 Author: Hugh Dickins <hughd@google.com>
84902 Date: Tue Mar 6 12:28:52 2012 -0800
84903
84904 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
84905
84906 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
84907 from shared anonymous: hoist the file case's -EINVAL up for both.
84908
84909 Signed-off-by: Hugh Dickins <hughd@google.com>
84910 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84911
84912 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
84913 Author: Al Viro <viro@ZenIV.linux.org.uk>
84914 Date: Mon Mar 5 06:38:42 2012 +0000
84915
84916 aout: move setup_arg_pages() prior to reading/mapping the binary
84917
84918 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84919 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84920
84921 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
84922 Author: Jan Beulich <JBeulich@suse.com>
84923 Date: Mon Mar 5 16:49:24 2012 +0000
84924
84925 vsprintf: make %pV handling compatible with kasprintf()
84926
84927 kasprintf() (and potentially other functions that I didn't run across so
84928 far) want to evaluate argument lists twice. Caring to do so for the
84929 primary list is obviously their job, but they can't reasonably be
84930 expected to check the format string for instances of %pV, which however
84931 need special handling too: On architectures like x86-64 (as opposed to
84932 e.g. ix86), using the same argument list twice doesn't produce the
84933 expected results, as an internally managed cursor gets updated during
84934 the first run.
84935
84936 Fix the problem by always acting on a copy of the original list when
84937 handling %pV.
84938
84939 Signed-off-by: Jan Beulich <jbeulich@suse.com>
84940 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84941
84942 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
84943 Author: Al Viro <viro@ZenIV.linux.org.uk>
84944 Date: Mon Mar 5 06:39:47 2012 +0000
84945
84946 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
84947
84948 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
84949 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84950
84951 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
84952 Author: Christian König <deathsimple@vodafone.de>
84953 Date: Tue Feb 28 23:19:20 2012 +0100
84954
84955 drm/radeon: fix uninitialized variable
84956
84957 Without this fix the driver randomly treats
84958 textures as arrays and I'm really wondering
84959 why gcc isn't complaining about it.
84960
84961 Signed-off-by: Christian König <deathsimple@vodafone.de>
84962 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
84963 Signed-off-by: Dave Airlie <airlied@redhat.com>
84964
84965 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
84966 Author: H. Peter Anvin <hpa@zytor.com>
84967 Date: Fri Mar 2 10:43:48 2012 -0800
84968
84969 regset: Prevent null pointer reference on readonly regsets
84970
84971 The regset common infrastructure assumed that regsets would always
84972 have .get and .set methods, but not necessarily .active methods.
84973 Unfortunately people have since written regsets without .set methods.
84974
84975 Rather than putting in stub functions everywhere, handle regsets with
84976 null .get or .set methods explicitly.
84977
84978 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
84979 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
84980 Acked-by: Roland McGrath <roland@hack.frob.com>
84981 Cc: <stable@vger.kernel.org>
84982 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
84983
84984 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
84985 Author: Brad Spengler <spender@grsecurity.net>
84986 Date: Mon Mar 5 18:12:57 2012 -0500
84987
84988 Fix compiler errors reported on forums
84989
84990 commit 1606774b48af24e6f99d99c624c0e447d4b66474
84991 Merge: 3127bd5 4ca2ffd
84992 Author: Brad Spengler <spender@grsecurity.net>
84993 Date: Mon Mar 5 17:31:35 2012 -0500
84994
84995 Merge branch 'pax-test' into grsec-test
84996
84997 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
84998 Author: Brad Spengler <spender@grsecurity.net>
84999 Date: Mon Mar 5 17:31:21 2012 -0500
85000
85001 Update to pax-linux-3.2.9-test20.patch
85002
85003 commit 3127bd581a292966b1057c7433219dac188c3720
85004 Author: Brad Spengler <spender@grsecurity.net>
85005 Date: Fri Mar 2 21:30:37 2012 -0500
85006
85007 Fix memory leak on logged exec_id check failure in /proc/pid/statm
85008 Thanks to Djalal Harouni for the report
85009
85010 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
85011 Merge: 0a56be8 9aa8288
85012 Author: Brad Spengler <spender@grsecurity.net>
85013 Date: Fri Mar 2 18:38:22 2012 -0500
85014
85015 Merge branch 'pax-test' into grsec-test
85016
85017 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
85018 Author: Brad Spengler <spender@grsecurity.net>
85019 Date: Fri Mar 2 18:37:43 2012 -0500
85020
85021 Update to pax-linux-3.2.9-test19.patch
85022
85023 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
85024 Merge: 9e66745 3f5c52a
85025 Author: Brad Spengler <spender@grsecurity.net>
85026 Date: Thu Mar 1 20:18:01 2012 -0500
85027
85028 Merge branch 'pax-test' into grsec-test
85029
85030 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
85031 Author: Brad Spengler <spender@grsecurity.net>
85032 Date: Thu Mar 1 20:16:56 2012 -0500
85033
85034 Update to pax-linux-3.2.9-test18.patch
85035
85036 commit ae53ec231d12719a36bf871f8c5841020ed692ee
85037 Merge: b255baf 44fb317
85038 Author: Brad Spengler <spender@grsecurity.net>
85039 Date: Thu Mar 1 20:15:31 2012 -0500
85040
85041 Merge branch 'linux-3.2.y' into pax-test
85042
85043 commit 9e667456c03eadea2f305be761abe4de9a5877a3
85044 Merge: 5e4e200 b255baf
85045 Author: Brad Spengler <spender@grsecurity.net>
85046 Date: Mon Feb 27 20:53:59 2012 -0500
85047
85048 Merge branch 'pax-test' into grsec-test
85049
85050 commit b255baf50365d39b406f43aab2c64745607baaa2
85051 Merge: 340ce90 1de504e
85052 Author: Brad Spengler <spender@grsecurity.net>
85053 Date: Mon Feb 27 20:53:29 2012 -0500
85054
85055 Merge branch 'linux-3.2.y' into pax-test
85056 Update to pax-linux-3.2.8-test17.patch
85057
85058 Conflicts:
85059 arch/x86/include/asm/i387.h
85060 arch/x86/kernel/process_32.c
85061 arch/x86/kernel/traps.c
85062
85063 commit 5e4e200ac530452884b625cb75de240e1e98c731
85064 Merge: 44306d7 340ce90
85065 Author: Brad Spengler <spender@grsecurity.net>
85066 Date: Mon Feb 27 18:02:13 2012 -0500
85067
85068 Merge branch 'pax-test' into grsec-test
85069
85070 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
85071 Author: Brad Spengler <spender@grsecurity.net>
85072 Date: Mon Feb 27 18:01:48 2012 -0500
85073
85074 Update to pax-linux-3.2.7-test17.patch
85075
85076 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
85077 Merge: 29d0b07 521c411
85078 Author: Brad Spengler <spender@grsecurity.net>
85079 Date: Sun Feb 26 19:04:15 2012 -0500
85080
85081 Merge branch 'pax-test' into grsec-test
85082
85083 Conflicts:
85084 Makefile
85085
85086 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
85087 Author: Brad Spengler <spender@grsecurity.net>
85088 Date: Sun Feb 26 19:03:33 2012 -0500
85089
85090 Update to pax-linux-3.2.7-test16.patch
85091
85092 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
85093 Author: Brad Spengler <spender@grsecurity.net>
85094 Date: Sun Feb 26 17:12:44 2012 -0500
85095
85096 fix typo
85097
85098 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
85099 Merge: f45b3be caa8f83
85100 Author: Brad Spengler <spender@grsecurity.net>
85101 Date: Sat Feb 25 20:59:27 2012 -0500
85102
85103 Merge branch 'pax-test' into grsec-test
85104
85105 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
85106 Author: Brad Spengler <spender@grsecurity.net>
85107 Date: Sat Feb 25 20:59:12 2012 -0500
85108
85109 Update to pax-linux-3.2.7-test15.patch
85110
85111 commit f45b3be34a345502a302e736af9a65742ddef7cb
85112 Merge: 62f35fd 9f1309b
85113 Author: Brad Spengler <spender@grsecurity.net>
85114 Date: Sat Feb 25 11:40:15 2012 -0500
85115
85116 Merge branch 'pax-test' into grsec-test
85117
85118 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
85119 Author: Brad Spengler <spender@grsecurity.net>
85120 Date: Sat Feb 25 11:39:57 2012 -0500
85121
85122 Update to pax-linux-3.2.7-test14.patch
85123
85124 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
85125 Author: Brad Spengler <spender@grsecurity.net>
85126 Date: Sat Feb 25 09:08:55 2012 -0500
85127
85128 We could log on attempted exploits of writing /proc/self/mem, but the current
85129 log function declares the access a read, so just swap the ordering for now
85130
85131 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
85132 Author: Brad Spengler <spender@grsecurity.net>
85133 Date: Sat Feb 25 08:46:14 2012 -0500
85134
85135 Log /proc/pid/mem attempts
85136
85137 commit 674471e581893a94d475acac3e3c4496209b3ac9
85138 Author: Brad Spengler <spender@grsecurity.net>
85139 Date: Sat Feb 25 08:15:00 2012 -0500
85140
85141 Make use of f_version for protecting /proc file structs (fine since we're not a directory
85142 or seq_file)
85143
85144 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
85145 Author: Brad Spengler <spender@grsecurity.net>
85146 Date: Fri Feb 24 20:02:19 2012 -0500
85147
85148 Fix ia64 compilation
85149
85150 commit 50dfea412fd395e0183c2ade368efa525d38b267
85151 Merge: 12db845 4c6f99b
85152 Author: Brad Spengler <spender@grsecurity.net>
85153 Date: Fri Feb 24 19:00:53 2012 -0500
85154
85155 Merge branch 'pax-test' into grsec-test
85156
85157 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
85158 Author: Brad Spengler <spender@grsecurity.net>
85159 Date: Fri Feb 24 19:00:36 2012 -0500
85160
85161 (6:57:09 PM) pipacs: but you can be proactive
85162 (Fix other-arch atomic64/REFCOUNT compilation failures)
85163
85164 commit 12db8453f6bb0a756f369c9151668ba1249bc478
85165 Author: Brad Spengler <spender@grsecurity.net>
85166 Date: Thu Feb 23 21:10:12 2012 -0500
85167
85168 Remove unnecessary copies, as suggested by solar
85169
85170 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
85171 Author: Brad Spengler <spender@grsecurity.net>
85172 Date: Thu Feb 23 20:59:35 2012 -0500
85173
85174 Make global_exec_counter static, as suggested by solar
85175
85176 commit e642091a475ebb3a30e81f85e7751233d0c2af43
85177 Author: Brad Spengler <spender@grsecurity.net>
85178 Date: Thu Feb 23 19:00:26 2012 -0500
85179
85180 sync with stable tree
85181
85182 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
85183 Author: Brad Spengler <spender@grsecurity.net>
85184 Date: Thu Feb 23 18:48:47 2012 -0500
85185
85186 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
85187 Remove handling of old kludge in chmod/fchmod
85188
85189 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
85190 Author: Brad Spengler <spender@grsecurity.net>
85191 Date: Thu Feb 23 18:18:49 2012 -0500
85192
85193 Apply umask checks to chmod/fchmod as well, as requested by sponsor
85194 Union the enforced umask with the existing one to produce minimal privilege
85195 Change umask type to u16
85196
85197 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
85198 Author: Brad Spengler <spender@grsecurity.net>
85199 Date: Wed Feb 22 18:16:11 2012 -0500
85200
85201 Add per-role umask enforcement to RBAC, requested by a sponsor
85202
85203 commit ad5ac943fe58199f1cc475912a39edb157acb77b
85204 Merge: dda0bb5 41722e3
85205 Author: Brad Spengler <spender@grsecurity.net>
85206 Date: Mon Feb 20 20:04:42 2012 -0500
85207
85208 Merge branch 'pax-test' into grsec-test
85209
85210 commit 41722e342e116d95f3d3556d66c97c888d752d39
85211 Author: Brad Spengler <spender@grsecurity.net>
85212 Date: Mon Feb 20 20:04:00 2012 -0500
85213
85214 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
85215 KERNEXEC plugin
85216
85217 commit dda0bb57137846a476a866c60db2681aaf6052c0
85218 Merge: 4fd554e d70927a
85219 Author: Brad Spengler <spender@grsecurity.net>
85220 Date: Mon Feb 20 20:01:41 2012 -0500
85221
85222 Merge branch 'pax-test' into grsec-test
85223
85224 commit d70927afec977d489a54c106a3c3ddc32e953050
85225 Merge: 1daebf1 9d0231c
85226 Author: Brad Spengler <spender@grsecurity.net>
85227 Date: Mon Feb 20 20:01:33 2012 -0500
85228
85229 Merge branch 'linux-3.2.y' into pax-test
85230
85231 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
85232 Author: Brad Spengler <spender@grsecurity.net>
85233 Date: Mon Feb 20 09:17:57 2012 -0500
85234
85235 Fix wrong logic on capability checks for switching roles, broke policies
85236 Thanks to Richard Kojedzinszky for reporting
85237
85238 commit 12f97d52ac603f24344f8d71569c412a307e9422
85239 Author: Brad Spengler <spender@grsecurity.net>
85240 Date: Thu Feb 16 21:20:10 2012 -0500
85241
85242 sparc64 compile fix
85243
85244 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
85245 Author: Brad Spengler <spender@grsecurity.net>
85246 Date: Thu Feb 16 18:38:32 2012 -0500
85247
85248 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
85249
85250 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
85251 Author: Brad Spengler <spender@grsecurity.net>
85252 Date: Thu Feb 16 18:18:01 2012 -0500
85253
85254 optimize the check a bit
85255
85256 commit 03159050f64989be44ae03be769cbed62a7cd2e5
85257 Author: Brad Spengler <spender@grsecurity.net>
85258 Date: Thu Feb 16 18:00:45 2012 -0500
85259
85260 smile VUPEN :D
85261 (limit argv+env to 1MB for suid/sgid binaries)
85262
85263 commit dd759d8800d225a397e4de49fe729c7d601298d2
85264 Author: Brad Spengler <spender@grsecurity.net>
85265 Date: Thu Feb 16 17:49:33 2012 -0500
85266
85267 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
85268
85269 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
85270 Author: Brad Spengler <spender@grsecurity.net>
85271 Date: Thu Feb 16 17:45:06 2012 -0500
85272
85273 Change the long long type for exec_id to the proper u64
85274
85275 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
85276 Author: Dan Carpenter <dan.carpenter@oracle.com>
85277 Date: Thu Feb 9 00:46:47 2012 +0000
85278
85279 isdn: type bug in isdn_net_header()
85280
85281 We use len to store the return value from eth_header(). eth_header()
85282 can return -ETH_HLEN (-14). We want to pass this back instead of
85283 truncating it to 65522 and returning that.
85284
85285 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
85286 Acked-by: Neil Horman <nhorman@tuxdriver.com>
85287 Signed-off-by: David S. Miller <davem@davemloft.net>
85288
85289 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
85290 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
85291 Date: Sat Feb 4 10:47:10 2012 +0100
85292
85293 exec: fix use-after-free bug in setup_new_exec()
85294
85295 Setting the task name is done within setup_new_exec() by accessing
85296 bprm->filename. However this happens after flush_old_exec().
85297 This may result in a use after free bug, flush_old_exec() may
85298 "complete" vfork_done, which will wake up the parent which in turn
85299 may free the passed in filename.
85300 To fix this add a new tcomm field in struct linux_binprm which
85301 contains the now early generated task name until it is used.
85302
85303 Fixes this bug on s390:
85304
85305 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
85306 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
85307 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
85308 Call Trace:
85309 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
85310 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
85311 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
85312 [<0000000000282b6c>] do_execve_common+0x410/0x514
85313 [<0000000000282cb6>] do_execve+0x46/0x58
85314 [<00000000005bce58>] kernel_execve+0x28/0x70
85315 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
85316 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
85317 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
85318 Last Breaking-Event-Address:
85319 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
85320
85321 Kernel panic - not syncing: Fatal exception: panic_on_oops
85322
85323 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
85324 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
85325 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
85326
85327 commit d758ee9f5230893dabb5aab737b3109684bde196
85328 Author: Dan Carpenter <dan.carpenter@oracle.com>
85329 Date: Fri Feb 10 09:03:58 2012 +0100
85330
85331 relay: prevent integer overflow in relay_open()
85332
85333 "subbuf_size" and "n_subbufs" come from the user and they need to be
85334 capped to prevent an integer overflow.
85335
85336 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
85337 Cc: stable@kernel.org
85338 Signed-off-by: Jens Axboe <axboe@kernel.dk>
85339
85340 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
85341 Merge: b1baadf 1daebf1
85342 Author: Brad Spengler <spender@grsecurity.net>
85343 Date: Mon Feb 13 17:47:04 2012 -0500
85344
85345 Merge branch 'pax-test' into grsec-test
85346
85347 Conflicts:
85348 fs/proc/base.c
85349
85350 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
85351 Merge: 1413df2 c2db2e2
85352 Author: Brad Spengler <spender@grsecurity.net>
85353 Date: Mon Feb 13 17:45:54 2012 -0500
85354
85355 Merge branch 'linux-3.2.y' into pax-test
85356
85357 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
85358 Author: Brad Spengler <spender@grsecurity.net>
85359 Date: Sun Feb 12 16:44:05 2012 -0500
85360
85361 add missing declaration
85362
85363 commit 3981059c35e8463002517935c28f3d74b8e3703c
85364 Author: Brad Spengler <spender@grsecurity.net>
85365 Date: Sun Feb 12 16:36:04 2012 -0500
85366
85367 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
85368 in addition to existing checks (this handles the setresuid ruid = euid case)
85369
85370 commit 0beab03263c773f463412c350ad9064b44b6ede0
85371 Author: Brad Spengler <spender@grsecurity.net>
85372 Date: Sun Feb 12 16:13:40 2012 -0500
85373
85374 Revert setreuid changes when RBAC is enabled, breaks freeradius
85375 I'll fix the learning issue Lavish reported a different way through
85376 gradm modifications
85377
85378 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
85379
85380 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
85381 Author: Brad Spengler <spender@grsecurity.net>
85382 Date: Sat Feb 11 14:22:46 2012 -0500
85383
85384 copy exec_id on fork
85385
85386 commit 000c08e0890630086b2ed04084050ed856a7ec31
85387 Author: Brad Spengler <spender@grsecurity.net>
85388 Date: Fri Feb 10 20:00:36 2012 -0500
85389
85390 compile fix
85391
85392 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
85393 Author: Brad Spengler <spender@grsecurity.net>
85394 Date: Fri Feb 10 19:19:52 2012 -0500
85395
85396 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
85397 denies reading of sensitive /proc/pid entries where the file descriptor
85398 was opened in a different task than the one performing the read
85399
85400 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
85401 Author: Brad Spengler <spender@grsecurity.net>
85402 Date: Fri Feb 10 17:43:24 2012 -0500
85403
85404 Remove duplicate signal check
85405
85406 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
85407 Merge: 4eba97e 1413df2
85408 Author: Brad Spengler <spender@grsecurity.net>
85409 Date: Wed Feb 8 19:24:34 2012 -0500
85410
85411 Merge branch 'pax-test' into grsec-test
85412
85413 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
85414 Author: Brad Spengler <spender@grsecurity.net>
85415 Date: Wed Feb 8 19:24:08 2012 -0500
85416
85417 Merge changes from pax-linux-3.2.4-test11.patch
85418
85419 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
85420 Merge: 0e058dd 8dd90a2
85421 Author: Brad Spengler <spender@grsecurity.net>
85422 Date: Mon Feb 6 17:50:12 2012 -0500
85423
85424 Merge branch 'pax-test' into grsec-test
85425
85426 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
85427 Author: Brad Spengler <spender@grsecurity.net>
85428 Date: Mon Feb 6 17:49:07 2012 -0500
85429
85430 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
85431
85432 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
85433 Merge: 7e4169c 6133971
85434 Author: Brad Spengler <spender@grsecurity.net>
85435 Date: Mon Feb 6 17:48:57 2012 -0500
85436
85437 Merge branch 'linux-3.2.y' into pax-test
85438
85439 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
85440 Author: Brad Spengler <spender@grsecurity.net>
85441 Date: Sun Feb 5 19:24:45 2012 -0500
85442
85443 We now allow configurations with no PaX markings, giving the system no way to override the defaults
85444
85445 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
85446 Author: Brad Spengler <spender@grsecurity.net>
85447 Date: Sun Feb 5 10:01:23 2012 -0500
85448
85449 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
85450
85451 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
85452 Author: Brad Spengler <spender@grsecurity.net>
85453 Date: Sat Feb 4 21:01:16 2012 -0500
85454
85455 Improve security of ptrace-based monitoring/sandboxing
85456 See:
85457 http://article.gmane.org/gmane.linux.kernel.lsm/15156
85458
85459 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
85460 Author: Brad Spengler <spender@grsecurity.net>
85461 Date: Fri Feb 3 20:42:55 2012 -0500
85462
85463 fix typo
85464
85465 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
85466 Author: Brad Spengler <spender@grsecurity.net>
85467 Date: Fri Feb 3 20:25:38 2012 -0500
85468
85469 Reported by lavish on IRC:
85470 If a suid/sgid binary did not learn any setuid/setgid call during learning,
85471 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
85472 any restrictions on uid/gid changes. uid and gid can however be changed
85473 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
85474 euid/egid.
85475
85476 My fix:
85477 POSIX doesn't specify whether unprivileged users can perform the above
85478 setresuid/setresgid as an unprivileged user, though Linux has historically
85479 permitted them. Modify this behavior when RBAC is enabled to require
85480 CAP_SETUID/CAP_SETGID for these operations.
85481
85482 Thanks to Lavish for the report!
85483
85484 Conflicts:
85485
85486 kernel/sys.c
85487
85488 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
85489 Merge: ba586eb 7e4169c
85490 Author: Brad Spengler <spender@grsecurity.net>
85491 Date: Fri Feb 3 20:10:21 2012 -0500
85492
85493 Merge branch 'pax-test' into grsec-test
85494
85495 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
85496 Author: Brad Spengler <spender@grsecurity.net>
85497 Date: Fri Feb 3 20:10:05 2012 -0500
85498
85499 Merge changes from pax-linux-3.2.4-test9.patch
85500
85501 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
85502 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
85503 Date: Thu Feb 2 11:34:09 2012 +1030
85504
85505 Fix race in process_vm_rw_core
85506
85507 This fixes the race in process_vm_core found by Oleg (see
85508
85509 http://article.gmane.org/gmane.linux.kernel/1235667/
85510
85511 for details).
85512
85513 This has been updated since I last sent it as the creation of the new
85514 mm_access() function did almost exactly the same thing as parts of the
85515 previous version of this patch did.
85516
85517 In order to use mm_access() even when /proc isn't enabled, we move it to
85518 kernel/fork.c where other related process mm access functions already
85519 are.
85520
85521 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
85522 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
85523
85524 Conflicts:
85525
85526 fs/proc/base.c
85527 mm/process_vm_access.c
85528
85529 commit b9194d60fb9fe579f5c34817ed822abde18939a0
85530 Author: Oleg Nesterov <oleg@redhat.com>
85531 Date: Tue Jan 31 17:15:11 2012 +0100
85532
85533 proc: make sure mem_open() doesn't pin the target's memory
85534
85535 Once /proc/pid/mem is opened, the memory can't be released until
85536 mem_release() even if its owner exits.
85537
85538 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
85539 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
85540 before access_remote_vm(), this verifies that this mm is still alive.
85541
85542 I am not sure what should mem_rw() return if atomic_inc_not_zero()
85543 fails. With this patch it returns zero to match the "mm == NULL" case,
85544 may be it should return -EINVAL like it did before e268337d.
85545
85546 Perhaps it makes sense to add the additional fatal_signal_pending()
85547 check into the main loop, to ensure we do not hold this memory if
85548 the target task was oom-killed.
85549
85550 Cc: stable@kernel.org
85551 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
85552 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
85553
85554 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
85555 Author: Oleg Nesterov <oleg@redhat.com>
85556 Date: Tue Jan 31 17:14:38 2012 +0100
85557
85558 proc: mem_release() should check mm != NULL
85559
85560 mem_release() can hit mm == NULL, add the necessary check.
85561
85562 Cc: stable@kernel.org
85563 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
85564 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
85565
85566 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
85567 Author: Oleg Nesterov <oleg@redhat.com>
85568 Date: Tue Jan 31 17:14:54 2012 +0100
85569
85570 note: redisabled mem_write
85571
85572 proc: unify mem_read() and mem_write()
85573
85574 No functional changes, cleanup and preparation.
85575
85576 mem_read() and mem_write() are very similar. Move this code into the
85577 new common helper, mem_rw(), which takes the additional "int write"
85578 argument.
85579
85580 Cc: stable@kernel.org
85581 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
85582 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
85583
85584 Conflicts:
85585
85586 fs/proc/base.c
85587
85588 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
85589 Merge: 3903f01 01fee18
85590 Author: Brad Spengler <spender@grsecurity.net>
85591 Date: Fri Feb 3 19:50:40 2012 -0500
85592
85593 Merge branch 'pax-test' into grsec-test
85594
85595 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
85596 Author: Brad Spengler <spender@grsecurity.net>
85597 Date: Fri Feb 3 19:49:46 2012 -0500
85598
85599 Merge changes from pax-linux-3.2.4-test8.patch
85600
85601 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
85602 Merge: 201c0db 141936c
85603 Author: Brad Spengler <spender@grsecurity.net>
85604 Date: Fri Feb 3 19:49:01 2012 -0500
85605
85606 Merge branch 'linux-3.2.y' into pax-test
85607
85608 commit 3903f0172ecadf7a575ba3535402a1506133640a
85609 Author: Brad Spengler <spender@grsecurity.net>
85610 Date: Mon Jan 30 23:26:44 2012 -0500
85611
85612 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
85613
85614 We'll whitelist required directories for compatibility instead of requiring
85615 that people disable the feature entirely if they use SELinux, fuse, etc
85616
85617 Conflicts:
85618
85619 fs/sysfs/mount.c
85620
85621 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
85622 Author: Brad Spengler <spender@grsecurity.net>
85623 Date: Sun Jan 29 01:12:19 2012 -0500
85624
85625 perform RBAC check if TPE is on but match fails, matches previous behavior
85626
85627 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
85628 Author: Brad Spengler <spender@grsecurity.net>
85629 Date: Sat Jan 28 13:17:06 2012 -0500
85630
85631 log more information about the reason for a TPE denial for novice users, requested by a sponsor
85632
85633 commit efefd67008cbad8a8591e2484410966a300a39a5
85634 Author: Brad Spengler <spender@grsecurity.net>
85635 Date: Fri Jan 27 19:58:53 2012 -0500
85636
85637 merge upstream sha512 changes
85638
85639 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
85640 Author: Brad Spengler <spender@grsecurity.net>
85641 Date: Fri Jan 27 19:49:07 2012 -0500
85642
85643 drop lock on error in xfs_readlink
85644
85645 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
85646
85647 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
85648 Author: Li Wang <liwang@nudt.edu.cn>
85649 Date: Thu Jan 19 09:44:36 2012 +0800
85650
85651 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
85652
85653 ecryptfs_write() can enter an infinite loop when truncating a file to a
85654 size larger than 4G. This only happens on architectures where size_t is
85655 represented by 32 bits.
85656
85657 This was caused by a size_t overflow due to it incorrectly being used to
85658 store the result of a calculation which uses potentially large values of
85659 type loff_t.
85660
85661 [tyhicks@canonical.com: rewrite subject and commit message]
85662 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
85663 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
85664 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
85665 Cc: <stable@vger.kernel.org>
85666 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
85667
85668 commit a7607747d0f74f357d78bb796d70635dd05f46e8
85669 Author: Tyler Hicks <tyhicks@canonical.com>
85670 Date: Thu Jan 19 20:33:44 2012 -0600
85671
85672 eCryptfs: Check inode changes in setattr
85673
85674 Most filesystems call inode_change_ok() very early in ->setattr(), but
85675 eCryptfs didn't call it at all. It allowed the lower filesystem to make
85676 the call in its ->setattr() function. Then, eCryptfs would copy the
85677 appropriate inode attributes from the lower inode to the eCryptfs inode.
85678
85679 This patch changes that and actually calls inode_change_ok() on the
85680 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
85681 would happen earlier in ecryptfs_setattr(), but there are some possible
85682 inode initialization steps that must happen first.
85683
85684 Since the call was already being made on the lower inode, the change in
85685 functionality should be minimal, except for the case of a file extending
85686 truncate call. In that case, inode_newsize_ok() was never being
85687 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
85688 maximum file size errors early on, eCryptfs would encrypt zeroed pages
85689 and write them to the lower filesystem until the lower filesystem's
85690 write path caught the error in generic_write_checks(). This patch
85691 introduces a new function, called ecryptfs_inode_newsize_ok(), which
85692 checks if the new lower file size is within the appropriate limits when
85693 the truncate operation will be growing the lower file.
85694
85695 In summary this change prevents eCryptfs truncate operations (and the
85696 resulting page encryptions), which would exceed the lower filesystem
85697 limits or FSIZE rlimits, from ever starting.
85698
85699 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
85700 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
85701 Cc: <stable@vger.kernel.org>
85702
85703 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
85704 Author: Tyler Hicks <tyhicks@canonical.com>
85705 Date: Wed Jan 18 18:30:04 2012 -0600
85706
85707 eCryptfs: Make truncate path killable
85708
85709 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
85710 page, zeroes out the appropriate portions, and then encrypts the page
85711 before writing it to the lower filesystem. It was unkillable and due to
85712 the lack of sparse file support could result in tying up a large portion
85713 of system resources, while encrypting pages of zeros, with no way for
85714 the truncate operation to be stopped from userspace.
85715
85716 This patch adds the ability for ecryptfs_write() to detect a pending
85717 fatal signal and return as gracefully as possible. The intent is to
85718 leave the lower file in a useable state, while still allowing a user to
85719 break out of the encryption loop. If a pending fatal signal is detected,
85720 the eCryptfs inode size is updated to reflect the modified inode size
85721 and then -EINTR is returned.
85722
85723 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
85724 Cc: <stable@vger.kernel.org>
85725
85726 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
85727 Author: Tyler Hicks <tyhicks@canonical.com>
85728 Date: Tue Jan 24 10:02:22 2012 -0600
85729
85730 eCryptfs: Fix oops when printing debug info in extent crypto functions
85731
85732 If pages passed to the eCryptfs extent-based crypto functions are not
85733 mapped and the module parameter ecryptfs_verbosity=1 was specified at
85734 loading time, a NULL pointer dereference will occur.
85735
85736 Note that this wouldn't happen on a production system, as you wouldn't
85737 pass ecryptfs_verbosity=1 on a production system. It leaks private
85738 information to the system logs and is for debugging only.
85739
85740 The debugging info printed in these messages is no longer very useful
85741 and rather than doing a kmap() in these debugging paths, it will be
85742 better to simply remove the debugging paths completely.
85743
85744 https://launchpad.net/bugs/913651
85745
85746 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
85747 Reported-by: Daniel DeFreez
85748 Cc: <stable@vger.kernel.org>
85749
85750 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
85751 Author: Tyler Hicks <tyhicks@canonical.com>
85752 Date: Thu Jan 12 11:30:44 2012 +0100
85753
85754 eCryptfs: Sanitize write counts of /dev/ecryptfs
85755
85756 A malicious count value specified when writing to /dev/ecryptfs may
85757 result in a a very large kernel memory allocation.
85758
85759 This patch peeks at the specified packet payload size, adds that to the
85760 size of the packet headers and compares the result with the write count
85761 value. The resulting maximum memory allocation size is approximately 532
85762 bytes.
85763
85764 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
85765 Reported-by: Sasha Levin <levinsasha928@gmail.com>
85766 Cc: <stable@vger.kernel.org>
85767
85768 commit 96dcb7282d323813181a1791f51c0ab7696b675b
85769 Merge: 6c09fa5 201c0db
85770 Author: Brad Spengler <spender@grsecurity.net>
85771 Date: Fri Jan 27 19:44:15 2012 -0500
85772
85773 Merge branch 'pax-test' into grsec-test
85774
85775 commit 201c0dbf177527367676028151e36d340923f033
85776 Author: Brad Spengler <spender@grsecurity.net>
85777 Date: Fri Jan 27 19:43:24 2012 -0500
85778
85779 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
85780 on loading modules with empty sections
85781
85782 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
85783 Author: Brad Spengler <spender@grsecurity.net>
85784 Date: Fri Jan 27 19:42:13 2012 -0500
85785
85786 compile fix
85787
85788 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
85789 Author: Brad Spengler <spender@grsecurity.net>
85790 Date: Fri Jan 27 19:39:28 2012 -0500
85791
85792 use LSM flags instead of duplicating checks
85793
85794 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
85795 Merge: 44b9f11 558718b
85796 Author: Brad Spengler <spender@grsecurity.net>
85797 Date: Fri Jan 27 18:56:23 2012 -0500
85798
85799 Merge branch 'pax-test' into grsec-test
85800
85801 commit 558718b2217beff69edf60f34a6f9893d910e9ac
85802 Author: Brad Spengler <spender@grsecurity.net>
85803 Date: Fri Jan 27 18:56:04 2012 -0500
85804
85805 Merge changes from pax-linux-3.2.2-test6.patch
85806
85807 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
85808 Author: Brad Spengler <spender@grsecurity.net>
85809 Date: Fri Jan 27 18:53:55 2012 -0500
85810
85811 don't increase the size of task_struct when unnecessary
85812 change ptrace_readexec log message
85813
85814 commit a9c9626e054adb885883aa64f85506852894dd33
85815 Author: Brad Spengler <spender@grsecurity.net>
85816 Date: Fri Jan 27 18:16:28 2012 -0500
85817
85818 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
85819 the protection applies to all unreadable binaries.
85820
85821 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
85822 Merge: 7b3f3af 05a1349
85823 Author: Brad Spengler <spender@grsecurity.net>
85824 Date: Wed Jan 25 20:52:09 2012 -0500
85825
85826 Merge branch 'pax-test' into grsec-test
85827
85828 Conflicts:
85829 block/scsi_ioctl.c
85830 drivers/scsi/sd.c
85831 fs/proc/base.c
85832
85833 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
85834 Author: Brad Spengler <spender@grsecurity.net>
85835 Date: Wed Jan 25 20:47:36 2012 -0500
85836
85837 Resync with pax-linux-3.2.2-test5.patch
85838
85839 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
85840 Merge: c6d443d 3499d64
85841 Author: Brad Spengler <spender@grsecurity.net>
85842 Date: Wed Jan 25 20:45:16 2012 -0500
85843
85844 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
85845
85846 Conflicts:
85847 ipc/shm.c
85848
85849 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
85850 Author: Brad Spengler <spender@grsecurity.net>
85851 Date: Tue Jan 24 19:42:01 2012 -0500
85852
85853 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
85854 (may be changed if it breaks some userland), the other has its own
85855 config option
85856
85857 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
85858 the syscall or /proc/sys.
85859
85860 Second feature requires read access to a suid/sgid binary in order
85861 to ptrace it, preventing infoleaking of binaries in situations where
85862 the admin has specified 4711 or 2711 perms. Feature has been
85863 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
85864 a sysctl entry of ptrace_readexec
85865
85866 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
85867 Author: Brad Spengler <spender@grsecurity.net>
85868 Date: Sun Jan 22 14:37:10 2012 -0500
85869
85870 Compilation fixes
85871
85872 commit cd400e21c7c352baba47d6f375297a7847afb33a
85873 Author: Brad Spengler <spender@grsecurity.net>
85874 Date: Sun Jan 22 14:20:27 2012 -0500
85875
85876 Initial port of grsecurity 2.2.2 for Linux 3.2.1
85877 Note that the new syscalls added to this kernel for remote process read/write
85878 are subject to ptrace hardening/other relevant RBAC features
85879 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
85880 as well
85881 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
85882 you should be using a version of gcc with plugin support
85883
85884 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
85885 Author: Brad Spengler <spender@grsecurity.net>
85886 Date: Sun Jan 22 11:47:31 2012 -0500
85887
85888 Import pax-linux-3.2.1-test5.patch
85889 commit bfd7db842f835f9837cd43644459b3a95b0b488d
85890 Author: Brad Spengler <spender@grsecurity.net>
85891 Date: Sun Jan 22 11:02:02 2012 -0500
85892
85893 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
85894 instead of returning -EACCES
85895 thanks to Wraith from irc for the report
85896
85897 commit 873ac13576506cd48ddb527c2540f274e249da50
85898 Merge: 34083dd 8a44fcc
85899 Author: Brad Spengler <spender@grsecurity.net>
85900 Date: Fri Jan 20 18:04:02 2012 -0500
85901
85902 Merge branch 'pax-test' into grsec-test
85903
85904 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
85905 Author: Brad Spengler <spender@grsecurity.net>
85906 Date: Fri Jan 20 18:02:15 2012 -0500
85907
85908 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
85909 Denies executable shared memory when MPROTECT is active
85910 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
85911
85912 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
85913 Author: Brad Spengler <spender@grsecurity.net>
85914 Date: Thu Jan 19 20:23:14 2012 -0500
85915
85916 Introduce new GRKERNSEC_SETXID implementation
85917 We're not able to change the credentials of other threads in the process until at most
85918 one syscall after the first thread does it, since we mark the threads as needing rescheduling
85919 and such work occurs on syscall exit.
85920 This does however ensure that we're only modifying the current task's credentials
85921 which upholds RCU expectations
85922
85923 Many thanks to corsac for testing
85924
85925 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
85926 Author: Brad Spengler <spender@grsecurity.net>
85927 Date: Thu Jan 19 17:42:48 2012 -0500
85928
85929 Simplify backport
85930
85931 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
85932 Author: Brad Spengler <spender@grsecurity.net>
85933 Date: Thu Jan 19 17:08:16 2012 -0500
85934
85935 Commit the latest silent fix for a local privilege escalation from Linus
85936 Also disable writing to /proc/pid/mem
85937 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
85938
85939 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
85940 Merge: 0394a3f 7e6299b
85941 Author: Brad Spengler <spender@grsecurity.net>
85942 Date: Wed Jan 18 20:22:09 2012 -0500
85943
85944 Merge branch 'pax-test' into grsec-test
85945
85946 commit 7e6299b4733c082dde930375dd207b63237751ec
85947 Merge: 83555fb 9bb1282
85948 Author: Brad Spengler <spender@grsecurity.net>
85949 Date: Wed Jan 18 20:21:37 2012 -0500
85950
85951 Merge branch 'linux-3.1.y' into pax-test
85952
85953 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
85954 Author: Jesper Juhl <jj@chaosbits.net>
85955 Date: Sun Jan 8 22:44:29 2012 +0100
85956
85957 audit: always follow va_copy() with va_end()
85958
85959 A call to va_copy() should always be followed by a call to va_end() in
85960 the same function. In kernel/autit.c::audit_log_vformat() this is not
85961 always done. This patch makes sure va_end() is always called.
85962
85963 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
85964 Cc: Al Viro <viro@zeniv.linux.org.uk>
85965 Cc: Eric Paris <eparis@redhat.com>
85966 Cc: Andrew Morton <akpm@linux-foundation.org>
85967 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
85968
85969 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
85970 Author: Andi Kleen <ak@linux.intel.com>
85971 Date: Thu Jan 12 17:20:30 2012 -0800
85972
85973 panic: don't print redundant backtraces on oops
85974
85975 When an oops causes a panic and panic prints another backtrace it's pretty
85976 common to have the original oops data be scrolled away on a 80x50 screen.
85977
85978 The second backtrace is quite redundant and not needed anyways.
85979
85980 So don't print the panic backtrace when oops_in_progress is true.
85981
85982 [akpm@linux-foundation.org: add comment]
85983 Signed-off-by: Andi Kleen <ak@linux.intel.com>
85984 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
85985 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
85986 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
85987
85988 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
85989 Author: Miklos Szeredi <mszeredi@suse.cz>
85990 Date: Thu Jan 12 17:59:46 2012 +0100
85991
85992 fsnotify: don't BUG in fsnotify_destroy_mark()
85993
85994 Removing the parent of a watched file results in "kernel BUG at
85995 fs/notify/mark.c:139".
85996
85997 To reproduce
85998
85999 add "-w /tmp/audit/dir/watched_file" to audit.rules
86000 rm -rf /tmp/audit/dir
86001
86002 This is caused by fsnotify_destroy_mark() being called without an
86003 extra reference taken by the caller.
86004
86005 Reported by Francesco Cosoleto here:
86006
86007 https://bugzilla.novell.com/show_bug.cgi?id=689860
86008
86009 Fix by removing the BUG_ON and adding a comment about not accessing mark after
86010 the iput.
86011
86012 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
86013 CC: stable@vger.kernel.org
86014 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
86015
86016 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
86017 Author: Paolo Bonzini <pbonzini@redhat.com>
86018 Date: Thu Jan 12 16:01:28 2012 +0100
86019
86020 block: fail SCSI passthrough ioctls on partition devices
86021
86022 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
86023 will pass the command to the underlying block device. This is
86024 well-known, but it is also a large security problem when (via Unix
86025 permissions, ACLs, SELinux or a combination thereof) a program or user
86026 needs to be granted access only to part of the disk.
86027
86028 This patch lets partitions forward a small set of harmless ioctls;
86029 others are logged with printk so that we can see which ioctls are
86030 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
86031 Of course it was being sent to a (partition on a) hard disk, so it would
86032 have failed with ENOTTY and the patch isn't changing anything in
86033 practice. Still, I'm treating it specially to avoid spamming the logs.
86034
86035 In principle, this restriction should include programs running with
86036 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
86037 /dev/sdb, it still should not be able to read/write outside the
86038 boundaries of /dev/sda2 independent of the capabilities. However, for
86039 now programs with CAP_SYS_RAWIO will still be allowed to send the
86040 ioctls. Their actions will still be logged.
86041
86042 This patch does not affect the non-libata IDE driver. That driver
86043 however already tests for bd != bd->bd_contains before issuing some
86044 ioctl; it could be restricted further to forbid these ioctls even for
86045 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
86046
86047 Cc: linux-scsi@vger.kernel.org
86048 Cc: Jens Axboe <axboe@kernel.dk>
86049 Cc: James Bottomley <JBottomley@parallels.com>
86050 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
86051 [ Make it also print the command name when warning - Linus ]
86052 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
86053
86054 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
86055 Author: Paolo Bonzini <pbonzini@redhat.com>
86056 Date: Thu Jan 12 16:01:27 2012 +0100
86057
86058 block: add and use scsi_blk_cmd_ioctl
86059
86060 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
86061
86062 The function will then be enhanced to detect partition block devices
86063 and, in that case, subject the ioctls to whitelisting.
86064
86065 Cc: linux-scsi@vger.kernel.org
86066 Cc: Jens Axboe <axboe@kernel.dk>
86067 Cc: James Bottomley <JBottomley@parallels.com>
86068 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
86069 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
86070
86071 commit 97a79814903fc350e1d13704ea31528a42705401
86072 Author: Kees Cook <keescook@chromium.org>
86073 Date: Sat Jan 7 10:41:04 2012 -0800
86074
86075 audit: treat s_id as an untrusted string
86076
86077 The use of s_id should go through the untrusted string path, just to be
86078 extra careful.
86079
86080 Signed-off-by: Kees Cook <keescook@chromium.org>
86081 Acked-by: Mimi Zohar <zohar@us.ibm.com>
86082 Signed-off-by: Eric Paris <eparis@redhat.com>
86083
86084 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
86085 Author: Xi Wang <xi.wang@gmail.com>
86086 Date: Tue Dec 20 18:39:41 2011 -0500
86087
86088 audit: fix signedness bug in audit_log_execve_info()
86089
86090 In the loop, a size_t "len" is used to hold the return value of
86091 audit_log_single_execve_arg(), which returns -1 on error. In that
86092 case the error handling (len <= 0) will be bypassed since "len" is
86093 unsigned, and the loop continues with (p += len) being wrapped.
86094 Change the type of "len" to signed int to fix the error handling.
86095
86096 size_t len;
86097 ...
86098 for (...) {
86099 len = audit_log_single_execve_arg(...);
86100 if (len <= 0)
86101 break;
86102 p += len;
86103 }
86104
86105 Signed-off-by: Xi Wang <xi.wang@gmail.com>
86106 Signed-off-by: Eric Paris <eparis@redhat.com>
86107
86108 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
86109 Author: Dan Carpenter <dan.carpenter@oracle.com>
86110 Date: Tue Jan 17 03:28:51 2012 -0300
86111
86112 [media] ds3000: using logical && instead of bitwise &
86113
86114 The intent here was to test if the FE_HAS_LOCK was set. The current
86115 test is equivalent to "if (status) { ..."
86116
86117 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
86118 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
86119
86120 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
86121 Author: Brad Spengler <spender@grsecurity.net>
86122 Date: Mon Jan 16 13:10:38 2012 -0500
86123
86124 Ignore the 0 signal for protected task RBAC checks
86125
86126 commit d513acd55f7a683f6e146a4f570cdb63300479ab
86127 Author: Brad Spengler <spender@grsecurity.net>
86128 Date: Mon Jan 16 11:56:13 2012 -0500
86129
86130 whitespace cleanup
86131
86132 commit ced261c4b82818c700aff8487f647f6f3e5b5122
86133 Merge: d48751f 83555fb
86134 Author: Brad Spengler <spender@grsecurity.net>
86135 Date: Fri Jan 13 20:12:54 2012 -0500
86136
86137 Merge branch 'pax-test' into grsec-test
86138
86139 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
86140 Merge: fcd8129 93dad39
86141 Author: Brad Spengler <spender@grsecurity.net>
86142 Date: Fri Jan 13 20:12:43 2012 -0500
86143
86144 Merge branch 'linux-3.1.y' into pax-test
86145
86146 commit d48751f3919ae855fda0ff6c149db82442329253
86147 Author: Brad Spengler <spender@grsecurity.net>
86148 Date: Wed Jan 11 19:05:47 2012 -0500
86149
86150 Call our own set_user when forcing change to new id
86151
86152 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
86153 Merge: e6578ff fcd8129
86154 Author: Brad Spengler <spender@grsecurity.net>
86155 Date: Tue Jan 10 16:00:10 2012 -0500
86156
86157 Merge branch 'pax-test' into grsec-test
86158
86159 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
86160 Author: Brad Spengler <spender@grsecurity.net>
86161 Date: Tue Jan 10 15:58:43 2012 -0500
86162
86163 Merge changes from pax-linux-3.1.8-test23.patch
86164
86165 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
86166 Merge: 8859ec3 a120549
86167 Author: Brad Spengler <spender@grsecurity.net>
86168 Date: Fri Jan 6 21:45:56 2012 -0500
86169
86170 Merge branch 'pax-test' into grsec-test
86171
86172 commit a12054967a77090de1caa07c41e694a77db4e237
86173 Author: Brad Spengler <spender@grsecurity.net>
86174 Date: Fri Jan 6 21:45:30 2012 -0500
86175
86176 Merge changes from pax-linux-3.1.8-test22.patch
86177
86178 commit 8859ec32f9815c274df65448f9f2960176c380d3
86179 Merge: a5016b4 ddd4114
86180 Author: Brad Spengler <spender@grsecurity.net>
86181 Date: Fri Jan 6 21:26:08 2012 -0500
86182
86183 Merge branch 'pax-test' into grsec-test
86184
86185 Conflicts:
86186 fs/binfmt_elf.c
86187 security/Kconfig
86188
86189 commit ddd41147e158a79704983a409b7433eba797cf66
86190 Author: Brad Spengler <spender@grsecurity.net>
86191 Date: Fri Jan 6 21:12:42 2012 -0500
86192
86193 Resync with PaX patch (whitespace difference)
86194
86195 commit 29e569df8205c5f0e043fe4803aa984406c8b118
86196 Author: Brad Spengler <spender@grsecurity.net>
86197 Date: Fri Jan 6 21:09:47 2012 -0500
86198
86199 Merge changes from pax-linux-3.1.8-test21.patch
86200
86201 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
86202 Merge: 0124c92 04231d5
86203 Author: Brad Spengler <spender@grsecurity.net>
86204 Date: Fri Jan 6 18:52:20 2012 -0500
86205
86206 Merge branch 'pax-test' into grsec-test
86207
86208 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
86209 Merge: 7bdddeb a919904
86210 Author: Brad Spengler <spender@grsecurity.net>
86211 Date: Fri Jan 6 18:51:50 2012 -0500
86212
86213 Merge branch 'linux-3.1.y' into pax-test
86214
86215 Conflicts:
86216 include/net/flow.h
86217
86218 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
86219 Author: Brad Spengler <spender@grsecurity.net>
86220 Date: Fri Jan 6 18:33:05 2012 -0500
86221
86222 Make GRKERNSEC_SETXID option compatible with credential debugging
86223
86224 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
86225 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
86226 Date: Wed Dec 28 15:57:11 2011 -0800
86227
86228 mm/mempolicy.c: refix mbind_range() vma issue
86229
86230 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
86231 slightly incorrect fix.
86232
86233 Why? Think following case.
86234
86235 1. map 4 pages of a file at offset 0
86236
86237 [0123]
86238
86239 2. map 2 pages just after the first mapping of the same file but with
86240 page offset 2
86241
86242 [0123][23]
86243
86244 3. mbind() 2 pages from the first mapping at offset 2.
86245 mbind_range() should treat new vma is,
86246
86247 [0123][23]
86248 |23|
86249 mbind vma
86250
86251 but it does
86252
86253 [0123][23]
86254 |01|
86255 mbind vma
86256
86257 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
86258
86259 This patch fixes it.
86260
86261 [testcase]
86262 test result - before the patch
86263
86264 case4: 126: test failed. expect '2,4', actual '2,2,2'
86265 case5: passed
86266 case6: passed
86267 case7: passed
86268 case8: passed
86269 case_n: 246: test failed. expect '4,2', actual '1,4'
86270
86271 ------------[ cut here ]------------
86272 kernel BUG at mm/filemap.c:135!
86273 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
86274
86275 (snip long bug on messages)
86276
86277 test result - after the patch
86278
86279 case4: passed
86280 case5: passed
86281 case6: passed
86282 case7: passed
86283 case8: passed
86284 case_n: passed
86285
86286 source: mbind_vma_test.c
86287 ============================================================
86288 #include <numaif.h>
86289 #include <numa.h>
86290 #include <sys/mman.h>
86291 #include <stdio.h>
86292 #include <unistd.h>
86293 #include <stdlib.h>
86294 #include <string.h>
86295
86296 static unsigned long pagesize;
86297 void* mmap_addr;
86298 struct bitmask *nmask;
86299 char buf[1024];
86300 FILE *file;
86301 char retbuf[10240] = "";
86302 int mapped_fd;
86303
86304 char *rubysrc = "ruby -e '\
86305 pid = %d; \
86306 vstart = 0x%llx; \
86307 vend = 0x%llx; \
86308 s = `pmap -q #{pid}`; \
86309 rary = []; \
86310 s.each_line {|line|; \
86311 ary=line.split(\" \"); \
86312 addr = ary[0].to_i(16); \
86313 if(vstart <= addr && addr < vend) then \
86314 rary.push(ary[1].to_i()/4); \
86315 end; \
86316 }; \
86317 print rary.join(\",\"); \
86318 '";
86319
86320 void init(void)
86321 {
86322 void* addr;
86323 char buf[128];
86324
86325 nmask = numa_allocate_nodemask();
86326 numa_bitmask_setbit(nmask, 0);
86327
86328 pagesize = getpagesize();
86329
86330 sprintf(buf, "%s", "mbind_vma_XXXXXX");
86331 mapped_fd = mkstemp(buf);
86332 if (mapped_fd == -1)
86333 perror("mkstemp "), exit(1);
86334 unlink(buf);
86335
86336 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
86337 perror("lseek "), exit(1);
86338 if (write(mapped_fd, "\0", 1) < 0)
86339 perror("write "), exit(1);
86340
86341 addr = mmap(NULL, pagesize*8, PROT_NONE,
86342 MAP_SHARED, mapped_fd, 0);
86343 if (addr == MAP_FAILED)
86344 perror("mmap "), exit(1);
86345
86346 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
86347 perror("mprotect "), exit(1);
86348
86349 mmap_addr = addr + pagesize;
86350
86351 /* make page populate */
86352 memset(mmap_addr, 0, pagesize*6);
86353 }
86354
86355 void fin(void)
86356 {
86357 void* addr = mmap_addr - pagesize;
86358 munmap(addr, pagesize*8);
86359
86360 memset(buf, 0, sizeof(buf));
86361 memset(retbuf, 0, sizeof(retbuf));
86362 }
86363
86364 void mem_bind(int index, int len)
86365 {
86366 int err;
86367
86368 err = mbind(mmap_addr+pagesize*index, pagesize*len,
86369 MPOL_BIND, nmask->maskp, nmask->size, 0);
86370 if (err)
86371 perror("mbind "), exit(err);
86372 }
86373
86374 void mem_interleave(int index, int len)
86375 {
86376 int err;
86377
86378 err = mbind(mmap_addr+pagesize*index, pagesize*len,
86379 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
86380 if (err)
86381 perror("mbind "), exit(err);
86382 }
86383
86384 void mem_unbind(int index, int len)
86385 {
86386 int err;
86387
86388 err = mbind(mmap_addr+pagesize*index, pagesize*len,
86389 MPOL_DEFAULT, NULL, 0, 0);
86390 if (err)
86391 perror("mbind "), exit(err);
86392 }
86393
86394 void Assert(char *expected, char *value, char *name, int line)
86395 {
86396 if (strcmp(expected, value) == 0) {
86397 fprintf(stderr, "%s: passed\n", name);
86398 return;
86399 }
86400 else {
86401 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
86402 name, line,
86403 expected, value);
86404 // exit(1);
86405 }
86406 }
86407
86408 /*
86409 AAAA
86410 PPPPPPNNNNNN
86411 might become
86412 PPNNNNNNNNNN
86413 case 4 below
86414 */
86415 void case4(void)
86416 {
86417 init();
86418 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
86419
86420 mem_bind(0, 4);
86421 mem_unbind(2, 2);
86422
86423 file = popen(buf, "r");
86424 fread(retbuf, sizeof(retbuf), 1, file);
86425 Assert("2,4", retbuf, "case4", __LINE__);
86426
86427 fin();
86428 }
86429
86430 /*
86431 AAAA
86432 PPPPPPNNNNNN
86433 might become
86434 PPPPPPPPPPNN
86435 case 5 below
86436 */
86437 void case5(void)
86438 {
86439 init();
86440 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
86441
86442 mem_bind(0, 2);
86443 mem_bind(2, 2);
86444
86445 file = popen(buf, "r");
86446 fread(retbuf, sizeof(retbuf), 1, file);
86447 Assert("4,2", retbuf, "case5", __LINE__);
86448
86449 fin();
86450 }
86451
86452 /*
86453 AAAA
86454 PPPPNNNNXXXX
86455 might become
86456 PPPPPPPPPPPP 6
86457 */
86458 void case6(void)
86459 {
86460 init();
86461 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
86462
86463 mem_bind(0, 2);
86464 mem_bind(4, 2);
86465 mem_bind(2, 2);
86466
86467 file = popen(buf, "r");
86468 fread(retbuf, sizeof(retbuf), 1, file);
86469 Assert("6", retbuf, "case6", __LINE__);
86470
86471 fin();
86472 }
86473
86474 /*
86475 AAAA
86476 PPPPNNNNXXXX
86477 might become
86478 PPPPPPPPXXXX 7
86479 */
86480 void case7(void)
86481 {
86482 init();
86483 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
86484
86485 mem_bind(0, 2);
86486 mem_interleave(4, 2);
86487 mem_bind(2, 2);
86488
86489 file = popen(buf, "r");
86490 fread(retbuf, sizeof(retbuf), 1, file);
86491 Assert("4,2", retbuf, "case7", __LINE__);
86492
86493 fin();
86494 }
86495
86496 /*
86497 AAAA
86498 PPPPNNNNXXXX
86499 might become
86500 PPPPNNNNNNNN 8
86501 */
86502 void case8(void)
86503 {
86504 init();
86505 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
86506
86507 mem_bind(0, 2);
86508 mem_interleave(4, 2);
86509 mem_interleave(2, 2);
86510
86511 file = popen(buf, "r");
86512 fread(retbuf, sizeof(retbuf), 1, file);
86513 Assert("2,4", retbuf, "case8", __LINE__);
86514
86515 fin();
86516 }
86517
86518 void case_n(void)
86519 {
86520 init();
86521 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
86522
86523 /* make redundunt mappings [0][1234][34][7] */
86524 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
86525 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
86526
86527 /* Expect to do nothing. */
86528 mem_unbind(2, 2);
86529
86530 file = popen(buf, "r");
86531 fread(retbuf, sizeof(retbuf), 1, file);
86532 Assert("4,2", retbuf, "case_n", __LINE__);
86533
86534 fin();
86535 }
86536
86537 int main(int argc, char** argv)
86538 {
86539 case4();
86540 case5();
86541 case6();
86542 case7();
86543 case8();
86544 case_n();
86545
86546 return 0;
86547 }
86548 =============================================================
86549
86550 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
86551 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
86552 Cc: Minchan Kim <minchan.kim@gmail.com>
86553 Cc: Caspar Zhang <caspar@casparzhang.com>
86554 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
86555 Cc: Christoph Lameter <cl@linux.com>
86556 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
86557 Cc: Mel Gorman <mel@csn.ul.ie>
86558 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
86559 Cc: <stable@vger.kernel.org> [3.1.x]
86560 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
86561 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
86562
86563 commit f3a1082005781777086df235049f8c0b7efe524e
86564 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
86565 Date: Tue Dec 27 22:32:41 2011 -0500
86566
86567 packet: fix possible dev refcnt leak when bind fail
86568
86569 If bind is fail when bind is called after set PACKET_FANOUT
86570 sock option, the dev refcnt will leak.
86571
86572 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
86573 Signed-off-by: David S. Miller <davem@davemloft.net>
86574
86575 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
86576 Author: Haogang Chen <haogangchen@gmail.com>
86577 Date: Mon Dec 19 17:11:56 2011 -0800
86578
86579 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
86580
86581 There is a potential integer overflow in nilfs_ioctl_clean_segments().
86582 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
86583 call to vmalloc() will allocate a buffer smaller than expected, which
86584 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
86585 lfs_clean_segments().
86586
86587 The following check does not prevent the overflow because nsegs is also
86588 controlled by the userspace and could be very large.
86589
86590 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
86591 goto out_free;
86592
86593 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
86594 returns -EINVAL when overflow.
86595
86596 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
86597 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
86598 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
86599 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
86600
86601 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
86602 Author: Kautuk Consul <consul.kautuk@gmail.com>
86603 Date: Mon Dec 19 17:12:04 2011 -0800
86604
86605 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
86606
86607 Static storage is not required for the struct vmap_area in
86608 __get_vm_area_node.
86609
86610 Removing "static" to store this variable on the stack instead.
86611
86612 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
86613 Acked-by: David Rientjes <rientjes@google.com>
86614 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
86615 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
86616
86617 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
86618 Author: Michel Lespinasse <walken@google.com>
86619 Date: Mon Dec 19 17:12:06 2011 -0800
86620
86621 binary_sysctl(): fix memory leak
86622
86623 binary_sysctl() calls sysctl_getname() which allocates from names_cache
86624 slab usin __getname()
86625
86626 The matching function to free the name is __putname(), and not putname()
86627 which should be used only to match getname() allocations.
86628
86629 This is because when auditing is enabled, putname() calls audit_putname
86630 *instead* (not in addition) to __putname(). Then, if a syscall is in
86631 progress, audit_putname does not release the name - instead, it expects
86632 the name to get released when the syscall completes, but that will happen
86633 only if audit_getname() was called previously, i.e. if the name was
86634 allocated with getname() rather than the naked __getname(). So,
86635 __getname() followed by putname() ends up leaking memory.
86636
86637 Signed-off-by: Michel Lespinasse <walken@google.com>
86638 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
86639 Cc: Christoph Hellwig <hch@infradead.org>
86640 Cc: Eric Paris <eparis@redhat.com>
86641 Cc: <stable@vger.kernel.org>
86642 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
86643 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
86644
86645 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
86646 Author: Sean Hefty <sean.hefty@intel.com>
86647 Date: Tue Dec 6 21:17:11 2011 +0000
86648
86649 RDMA/cma: Verify private data length
86650
86651 private_data_len is defined as a u8. If the user specifies a large
86652 private_data size (> 220 bytes), we will calculate a total length that
86653 exceeds 255, resulting in private_data_len wrapping back to 0. This
86654 can lead to overwriting random kernel memory. Avoid this by verifying
86655 that the resulting size fits into a u8.
86656
86657 Reported-by: B. Thery <benjamin.thery@bull.net>
86658 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
86659 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
86660 Signed-off-by: Roland Dreier <roland@purestorage.com>
86661
86662 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
86663 Author: Xi Wang <xi.wang@gmail.com>
86664 Date: Sun Dec 11 23:40:56 2011 -0800
86665
86666 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
86667
86668 The error check (intr_status < 0) didn't work because intr_status is
86669 a u8. Change its type to signed int.
86670
86671 Signed-off-by: Xi Wang <xi.wang@gmail.com>
86672 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
86673
86674 commit e27f34e383d7863b2528a63b81b23db09781f6b6
86675 Author: Xi Wang <xi.wang@gmail.com>
86676 Date: Fri Dec 16 12:44:15 2011 +0000
86677
86678 sctp: fix incorrect overflow check on autoclose
86679
86680 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
86681 limiting the autoclose value. If userspace passes in -1 on 32-bit
86682 platform, the overflow check didn't work and autoclose would be set
86683 to 0xffffffff.
86684
86685 This patch defines a max_autoclose (in seconds) for limiting the value
86686 and exposes it through sysctl, with the following intentions.
86687
86688 1) Avoid overflowing autoclose * HZ.
86689
86690 2) Keep the default autoclose bound consistent across 32- and 64-bit
86691 platforms (INT_MAX / HZ in this patch).
86692
86693 3) Keep the autoclose value consistent between setsockopt() and
86694 getsockopt() calls.
86695
86696 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
86697 Signed-off-by: Xi Wang <xi.wang@gmail.com>
86698 Signed-off-by: David S. Miller <davem@davemloft.net>
86699
86700 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
86701 Author: Xi Wang <xi.wang@gmail.com>
86702 Date: Wed Dec 21 05:18:33 2011 -0500
86703
86704 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
86705
86706 Commit e133e737 didn't correctly fix the integer overflow issue.
86707
86708 - unsigned int required_size;
86709 + u64 required_size;
86710 ...
86711 required_size = mode_cmd->pitch * mode_cmd->height;
86712 - if (unlikely(required_size > dev_priv->vram_size)) {
86713 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
86714
86715 Note that both pitch and height are u32. Their product is still u32 and
86716 would overflow before being assigned to required_size. A correct way is
86717 to convert pitch and height to u64 before the multiplication.
86718
86719 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
86720
86721 This patch calls the existing vmw_kms_validate_mode_vram() for
86722 validation.
86723
86724 Signed-off-by: Xi Wang <xi.wang@gmail.com>
86725 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
86726 Signed-off-by: Dave Airlie <airlied@redhat.com>
86727
86728 Conflicts:
86729
86730 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
86731
86732 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
86733 Author: Xi Wang <xi.wang@gmail.com>
86734 Date: Thu Dec 22 13:35:22 2011 +0000
86735
86736 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
86737
86738 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
86739 cause a kernel oops due to insufficient bounds checking.
86740
86741 if (count > 1<<30) {
86742 /* Enforce a limit to prevent overflow */
86743 return -EINVAL;
86744 }
86745 count = roundup_pow_of_two(count);
86746 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
86747
86748 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
86749
86750 ... + (count * sizeof(struct rps_dev_flow))
86751
86752 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
86753 32 bits.
86754
86755 This patch replaces the magic number (1 << 30) with a symbolic bound.
86756
86757 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
86758 Signed-off-by: Xi Wang <xi.wang@gmail.com>
86759 Signed-off-by: David S. Miller <davem@davemloft.net>
86760
86761 commit 648188958672024b616c42c1f6c98c8cfc85619d
86762 Author: Xi Wang <xi.wang@gmail.com>
86763 Date: Fri Dec 30 10:40:17 2011 -0500
86764
86765 netfilter: ctnetlink: fix timeout calculation
86766
86767 The sanity check (timeout < 0) never works; the dividend is unsigned
86768 and so is the division, which should have been a signed division.
86769
86770 long timeout = (ct->timeout.expires - jiffies) / HZ;
86771 if (timeout < 0)
86772 timeout = 0;
86773
86774 This patch converts the time values to signed for the division.
86775
86776 Signed-off-by: Xi Wang <xi.wang@gmail.com>
86777 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
86778
86779 commit ab03a0973cee73f88655ff4981812ad316a6cd59
86780 Merge: 76f82df 7bdddeb
86781 Author: Brad Spengler <spender@grsecurity.net>
86782 Date: Tue Jan 3 17:42:50 2012 -0500
86783
86784 Merge branch 'pax-test' into grsec-test
86785
86786 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
86787 Merge: 3e59cb5 55cc81a
86788 Author: Brad Spengler <spender@grsecurity.net>
86789 Date: Tue Jan 3 17:42:36 2012 -0500
86790
86791 Merge branch 'linux-3.1.y' into pax-test
86792
86793 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
86794 Author: Brad Spengler <spender@grsecurity.net>
86795 Date: Thu Dec 22 20:15:02 2011 -0500
86796
86797 Only further restrict futex targeting another process -- our modified
86798 permission check also happened to allow a case where a process retaining
86799 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
86800 being non-zero (reported on forums by ben_w)
86801
86802 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
86803 Merge: 97c16f0 3e59cb5
86804 Author: Brad Spengler <spender@grsecurity.net>
86805 Date: Thu Dec 22 19:11:06 2011 -0500
86806
86807 Merge branch 'pax-test' into grsec-test
86808
86809 Conflicts:
86810 fs/hfs/btree.c
86811
86812 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
86813 Merge: 285eb4e c26f60b
86814 Author: Brad Spengler <spender@grsecurity.net>
86815 Date: Thu Dec 22 19:09:57 2011 -0500
86816
86817 Merge branch 'linux-3.1.y' into pax-test
86818
86819 Conflicts:
86820 arch/x86/kernel/process.c
86821
86822 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
86823 Author: Brad Spengler <spender@grsecurity.net>
86824 Date: Mon Dec 19 21:54:01 2011 -0500
86825
86826 Add new option: "Enforce consistent multithreaded privileges"
86827
86828 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
86829 Author: Brad Spengler <spender@grsecurity.net>
86830 Date: Wed Dec 7 19:58:31 2011 -0500
86831
86832 Remove harmless duplicate code -- exec_file would be null already so the
86833 second check would never pass.
86834
86835 commit 4e3304e94aa72737810bc50169519af157dce4ce
86836 Author: Brad Spengler <spender@grsecurity.net>
86837 Date: Wed Dec 7 19:50:39 2011 -0500
86838
86839 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
86840 depended on for attaching to a thread. Entries exist in /proc for
86841 threads, but are not visible in a readdir.
86842
86843 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
86844 Author: Brad Spengler <spender@grsecurity.net>
86845 Date: Sun Dec 4 18:03:28 2011 -0500
86846
86847 Put the already-walked path if in RCU-walk mode
86848
86849 commit ec7ae36b7159f10649709779443a988662965d66
86850 Author: Brad Spengler <spender@grsecurity.net>
86851 Date: Sun Dec 4 17:35:21 2011 -0500
86852
86853 Fix memory leak introduced by recent (unpublished) commit
86854 75ab998b94a29d464518d6d501bdde3fbfcbfa14
86855
86856 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
86857 Author: Brad Spengler <spender@grsecurity.net>
86858 Date: Sun Dec 4 13:56:10 2011 -0500
86859
86860 Explicitly check size copied to userland in override_release to silence gcc
86861
86862 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
86863 Author: Brad Spengler <spender@grsecurity.net>
86864 Date: Sun Dec 4 13:54:02 2011 -0500
86865
86866 Initialize variable to silence erroneous gcc warning
86867
86868 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
86869 Author: Brad Spengler <spender@grsecurity.net>
86870 Date: Sun Dec 4 13:47:47 2011 -0500
86871
86872 Future-proof other potential RCU-aware locations where we can log.
86873
86874 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
86875 Author: Brad Spengler <spender@grsecurity.net>
86876 Date: Sun Dec 4 13:02:54 2011 -0500
86877
86878 Fix freeze reported by 'vs' on the forums. Bug occurred due to
86879 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
86880 in generic_permission() was in the task's effective set but disallowed by
86881 RBAC, would block when acquiring locks resulting in the freeze.
86882
86883 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
86884 as being required when CAP_DAC_OVERRIDE is present (consistent with
86885 older patches).
86886
86887 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
86888 Author: Xi Wang <xi.wang@gmail.com>
86889 Date: Tue Nov 29 09:26:30 2011 +0000
86890
86891 sctp: better integer overflow check in sctp_auth_create_key()
86892
86893 The check from commit 30c2235c is incomplete and cannot prevent
86894 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
86895 left-hand side of the check (INT_MAX - key_len), which is unsigned,
86896 becomes 0xffffffff (UINT_MAX) and bypasses the check.
86897
86898 However this shouldn't be a security issue. The function is called
86899 from the following two code paths:
86900
86901 1) setsockopt()
86902
86903 2) sctp_auth_asoc_set_secret()
86904
86905 In case (1), sca_keylength is never going to exceed 65535 since it's
86906 bounded by a u16 from the user API. As such, the key length will
86907 never overflow.
86908
86909 In case (2), sca_keylength is computed based on the user key (1 short)
86910 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
86911 will not overflow.
86912
86913 In other words, this overflow check is not really necessary. Just
86914 make it more correct.
86915
86916 Signed-off-by: Xi Wang <xi.wang@gmail.com>
86917 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
86918 Signed-off-by: David S. Miller <davem@davemloft.net>
86919
86920 commit e565e28c3635a1d50f80541fbf6b606d742fec76
86921 Author: Josh Boyer <jwboyer@redhat.com>
86922 Date: Fri Aug 19 14:50:26 2011 -0400
86923
86924 fs/minix: Verify bitmap block counts before mounting
86925
86926 Newer versions of MINIX can create filesystems that allocate an extra
86927 bitmap block. Mounting of this succeeds, but doing a statfs call will
86928 result in an oops in count_free because of a negative number being used
86929 for the bh index.
86930
86931 Avoid this by verifying the number of allocated blocks at mount time,
86932 erroring out if there are not enough and make statfs ignore the extras
86933 if there are too many.
86934
86935 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
86936
86937 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
86938 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
86939
86940 commit 6e134e398ec1a3f428261680e83df4319e64bed9
86941 Author: Julia Lawall <julia@diku.dk>
86942 Date: Tue Nov 15 14:53:11 2011 -0800
86943
86944 drivers/gpu/vga/vgaarb.c: add missing kfree
86945
86946 kbuf is a buffer that is local to this function, so all of the error paths
86947 leaving the function should release it.
86948
86949 Signed-off-by: Julia Lawall <julia@diku.dk>
86950 Cc: Jesper Juhl <jj@chaosbits.net>
86951 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
86952 Signed-off-by: Dave Airlie <airlied@redhat.com>
86953
86954 commit 2b9057b321e36860e8d63985b5c4e496f254b717
86955 Author: Brad Spengler <spender@grsecurity.net>
86956 Date: Sat Dec 3 21:33:28 2011 -0500
86957
86958 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
86959
86960 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
86961 Author: Brad Spengler <spender@grsecurity.net>
86962 Date: Sat Dec 3 21:29:37 2011 -0500
86963
86964 Import pax-linux-3.1.4-test18.patch
86965
86966 commit 285eb4ea45d853ae00426b3315a61c1368080dad
86967 Author: Brad Spengler <spender@grsecurity.net>
86968 Date: Sat Dec 10 18:33:46 2011 -0500
86969
86970 Import changes from pax-linux-3.1.5-test20.patch
86971
86972 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
86973 Author: Brad Spengler <spender@grsecurity.net>
86974 Date: Thu Dec 8 20:55:54 2011 -0500
86975
86976 Import changes from pax-linux-3.1.4-test19.patch
86977
86978 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
86979 Author: Brad Spengler <spender@grsecurity.net>
86980 Date: Sat Dec 3 21:29:37 2011 -0500
86981
86982 Import pax-linux-3.1.4-test18.patch
86983 commit c982acca364cbd7677bad7e53b9c7ecfaa6dfeb7
86984 Merge: 814820a 3a59a59
86985 Author: Brad Spengler <spender@grsecurity.net>
86986 Date: Sun May 12 21:51:18 2013 -0400
86987
86988 Merge branch 'pax-test' into grsec-test
86989
86990 Conflicts:
86991 security/Kconfig
86992
86993 commit 3a59a59cf5e1bf88f96b05c64f7969e97f7f051f
86994 Author: Brad Spengler <spender@grsecurity.net>
86995 Date: Sun May 12 21:50:07 2013 -0400
86996
86997 Update to pax-linux-3.8.13-test24.patch:
86998 - fixed sparc/constification compile error, reported by blake
86999 - UDEREF/amd64 should be a bit more efficient when disabled at boot time
87000 - fixed some unnecessary integer truncations that could trip up the size overflow plugin
87001
87002 arch/arm/kernel/vmlinux.lds.S | 4 ++--
87003 arch/sparc/kernel/us3_cpufreq.c | 4 ++--
87004 arch/x86/ia32/ia32entry.S | 4 ++--
87005 arch/x86/include/asm/pgtable.h | 6 ++++--
87006 arch/x86/include/asm/uaccess.h | 6 +++---
87007 arch/x86/kernel/kprobes-opt.c | 4 ++++
87008 arch/x86/lib/copy_user_nocache_64.S | 2 +-
87009 arch/x86/lib/getuser.S | 8 ++++----
87010 arch/x86/lib/putuser.S | 8 ++++----
87011 arch/x86/mm/fault.c | 6 +++---
87012 drivers/net/slip/slhc.c | 2 +-
87013 drivers/staging/iio/ring_sw.c | 2 +-
87014 fs/binfmt_elf.c | 6 +++---
87015 fs/nfsd/nfscache.c | 2 +-
87016 fs/xattr.c | 21 +++++++++++++++++++++
87017 include/linux/syscalls.h | 2 +-
87018 include/linux/xattr.h | 3 +++
87019 init/main.c | 3 +++
87020 kernel/futex_compat.c | 2 +-
87021 kernel/trace/trace.h | 2 +-
87022 net/socket.c | 2 +-
87023 security/Kconfig | 2 +-
87024 22 files changed, 67 insertions(+), 34 deletions(-)
87025
87026 commit 814820abfe5b9a34401d838b2510431a4cd92be9
87027 Author: Dan Carpenter <dan.carpenter@oracle.com>
87028 Date: Mon May 6 09:31:17 2013 +0000
87029
87030 Upstream commit: 6bf15191f666c5965d212561d7a5c7b78b808dfa
87031
87032 tipc: potential divide by zero in tipc_link_recv_fragment()
87033
87034 The worry here is that fragm_sz could be zero since it comes from
87035 skb->data.
87036
87037 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
87038 Signed-off-by: David S. Miller <davem@davemloft.net>
87039
87040 net/tipc/link.c | 6 ++++--
87041 1 files changed, 4 insertions(+), 2 deletions(-)
87042
87043 commit b58503d2784f0a4dbf4d9dbef9bdcc7bf163e3c1
87044 Author: Dan Carpenter <dan.carpenter@oracle.com>
87045 Date: Mon May 6 08:28:41 2013 +0000
87046
87047 Upstream commit: cb4b102f0ab29fcbaf945c6b1f85ef006cdb8edc
87048
87049 tipc: add a bounds check in link_recv_changeover_msg()
87050
87051 The bearer_id here comes from skb->data and it can be a number from 0 to
87052 7. The problem is that the ->links[] array has only 2 elements so I
87053 have added a range check.
87054
87055 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
87056 Signed-off-by: David S. Miller <davem@davemloft.net>
87057
87058 net/tipc/link.c | 5 ++++-
87059 1 files changed, 4 insertions(+), 1 deletions(-)
87060
87061 commit ed0428c4ef6c5498870772f212ac651216eb8d0c
87062 Merge: 2452d8d dbf932a
87063 Author: Brad Spengler <spender@grsecurity.net>
87064 Date: Sun May 12 21:18:25 2013 -0400
87065
87066 Merge branch 'linux-3.8.y' into pax-test
87067
87068 Conflicts:
87069 arch/x86/kernel/cpu/perf_event_intel_uncore.c
87070 arch/x86/mm/init.c
87071
87072 commit a113d6ac19303cd76d405df5aef5a4d190e6e7d7
87073 Author: Brad Spengler <spender@grsecurity.net>
87074 Date: Sun May 12 20:24:01 2013 -0400
87075
87076 compile fix
87077
87078 grsecurity/gracl.c | 1 +
87079 grsecurity/gracl_segv.c | 1 +
87080 2 files changed, 2 insertions(+), 0 deletions(-)
87081
87082 commit 1bd664ee9054a28bbcf1dad6f9ffbc9e8500bb00
87083 Author: Brad Spengler <spender@grsecurity.net>
87084 Date: Sun May 12 18:25:26 2013 -0400
87085
87086 fix btrfs support here as well
87087
87088 grsecurity/gracl_segv.c | 17 +++++++++--------
87089 1 files changed, 9 insertions(+), 8 deletions(-)
87090
87091 commit c75e4664fe4d20da1639f70d9def097c4f20856b
87092 Author: Brad Spengler <spender@grsecurity.net>
87093 Date: Sun May 12 18:12:57 2013 -0400
87094
87095 Fix RBAC compatibility with btrfs compiled as a module, as
87096 reported on the forums by YuHg at:
87097 http://forums.grsecurity.net/viewtopic.php?t=2575&p=12952#p12952
87098
87099 fs/btrfs/inode.c | 11 +----------
87100 grsecurity/gracl.c | 19 ++++++++++---------
87101 grsecurity/gracl_segv.c | 2 +-
87102 grsecurity/grsec_disabled.c | 2 +-
87103 4 files changed, 13 insertions(+), 21 deletions(-)
87104
87105 commit e40c5804acc5b83e10d16ca3ba92502a3e5f7f27
87106 Author: Brad Spengler <spender@grsecurity.net>
87107 Date: Sat May 11 12:12:00 2013 -0400
87108
87109 allow copies just up to the start of kernel code
87110
87111 fs/exec.c | 2 +-
87112 1 files changed, 1 insertions(+), 1 deletions(-)
87113
87114 commit 04638852588cf243f865f5a73aa9dab94fab53b7
87115 Author: Brad Spengler <spender@grsecurity.net>
87116 Date: Fri May 10 16:53:07 2013 -0400
87117
87118 MODULES_EXEC_VADDR is a virtual address
87119
87120 fs/exec.c | 2 +-
87121 1 files changed, 1 insertions(+), 1 deletions(-)
87122
87123 commit 017fc58a177b8b3fd9c2a7a4366f3590c9d49435
87124 Author: Brad Spengler <spender@grsecurity.net>
87125 Date: Fri May 10 16:51:03 2013 -0400
87126
87127 exempt module rx areas from usercopy protection under i386 kernexec
87128 their .rodata will be placed between stext/etext causing copies of
87129 constant strings to trigger usercopy reports/terminations
87130
87131 fs/exec.c | 5 +++++
87132 1 files changed, 5 insertions(+), 0 deletions(-)
87133
87134 commit c1b2cc5dd5f5ae5c88402c7acbcb270f8d36a9da
87135 Author: Brad Spengler <spender@grsecurity.net>
87136 Date: Wed May 8 20:25:52 2013 -0400
87137
87138 User jorgus on the forums:
87139 http://forums.grsecurity.net/viewtopic.php?f=3&t=3446
87140 discovered that the upstreamed version of enforcing RLIMIT_NPROC
87141 at setuid/exec time missed an important corner case:
87142 If RLIMIT_NPROC is set after a setuid occurs and the user's process
87143 limit is reached elsewhere, no enforcement of RLIMIT_NPROC will
87144 happen at exec time for the task with a modified RLIMIT_NPROC.
87145
87146 This patch fixes that.
87147
87148 kernel/sys.c | 7 +++++++
87149 1 files changed, 7 insertions(+), 0 deletions(-)
87150
87151 commit 85ffce8c95bd1d9114852f74db8c66ddbc2e77ff
87152 Merge: 539fff0 2452d8d
87153 Author: Brad Spengler <spender@grsecurity.net>
87154 Date: Wed May 8 18:13:41 2013 -0400
87155
87156 Merge branch 'pax-test' into grsec-test
87157
87158 commit 2452d8d0416d5c9c32805443dd89e5c9778dea4a
87159 Merge: 6c850d8 9c9ab76
87160 Author: Brad Spengler <spender@grsecurity.net>
87161 Date: Wed May 8 18:13:31 2013 -0400
87162
87163 Merge branch 'linux-3.8.y' into pax-test
87164
87165 Conflicts:
87166 arch/x86/kernel/irq.c
87167 kernel/trace/trace_stack.c
87168
87169 commit 539fff0cf95c3dcc02c5e0ac3ef8da4519efdb9a
87170 Author: Brad Spengler <spender@grsecurity.net>
87171 Date: Tue May 7 21:43:00 2013 -0400
87172
87173 turn counter into a flag
87174
87175 grsecurity/Kconfig | 2 +-
87176 grsecurity/grsec_chroot.c | 8 ++++----
87177 2 files changed, 5 insertions(+), 5 deletions(-)
87178
87179 commit 3da48c0f89377e1ef76470d4b19f19df793fdf32
87180 Author: Brad Spengler <spender@grsecurity.net>
87181 Date: Tue May 7 21:02:39 2013 -0400
87182
87183 add GRKERNSEC_CHROOT_INITRD to work around Plymouth stupidity
87184 useful for Fedora/RHEL users
87185
87186 grsecurity/Kconfig | 10 ++++++++++
87187 grsecurity/grsec_chroot.c | 17 +++++++++++++++--
87188 2 files changed, 25 insertions(+), 2 deletions(-)
87189
87190 commit 418102925c0cfb0de51b0a021abaa575e28fafa6
87191 Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
87192 Date: Fri May 3 14:11:25 2013 +0200
87193
87194 Upstream commit: 7cc23cd6c0c7d7f4bee057607e7ce01568925717
87195
87196 perf/x86/intel/lbr: Demand proper privileges for PERF_SAMPLE_BRANCH_KERNEL
87197
87198 We should always have proper privileges when requesting kernel
87199 data.
87200
87201 Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
87202 Cc: <stable@kernel.org>
87203 Cc: Andi Kleen <ak@linux.intel.com>
87204 Cc: eranian@google.com
87205 Link: http://lkml.kernel.org/r/20130503121256.230745028@chello.nl
87206 [ Fix build error reported by fengguang.wu@intel.com, propagate error code back. ]
87207 Signed-off-by: Ingo Molnar <mingo@kernel.org>
87208 Link: http://lkml.kernel.org/n/tip-v0x9ky3ahzr6nm3c6ilwrili@git.kernel.org
87209
87210 arch/x86/kernel/cpu/perf_event_intel_lbr.c | 13 ++++++++++---
87211 1 files changed, 10 insertions(+), 3 deletions(-)
87212
87213 commit f9e1af27cca1722a4c6a801000b5b3b5410401a2
87214 Author: Eric Dumazet <edumazet@google.com>
87215 Date: Mon Apr 29 05:58:52 2013 +0000
87216
87217 Upstream commit: aebda156a570782a86fc4426842152237a19427d
87218
87219 net: defer net_secret[] initialization
87220
87221 Instead of feeding net_secret[] at boot time, defer the init
87222 at the point first socket is created.
87223
87224 This permits some platforms to use better entropy sources than
87225 the ones available at boot time.
87226
87227 Signed-off-by: Eric Dumazet <edumazet@google.com>
87228 Signed-off-by: David S. Miller <davem@davemloft.net>
87229
87230 include/net/secure_seq.h | 1 +
87231 net/core/secure_seq.c | 4 +---
87232 net/ipv4/af_inet.c | 5 ++++-
87233 3 files changed, 6 insertions(+), 4 deletions(-)
87234
87235 commit a9229d75129cd9744a5e486ec99a0fe6aeaf10ac
87236 Author: Daniel Borkmann <dborkman@redhat.com>
87237 Date: Wed May 1 02:59:23 2013 +0000
87238
87239 Upstream commit: be3e45810bb1ee0bdfa93f6b9532d8c451e50f48
87240
87241 net: sctp: attribute printl with __printf for gcc fmt checks
87242
87243 Let GCC check for format string errors in sctp's probe printl
87244 function. This patch fixes the warning when compiled with W=1:
87245
87246 net/sctp/probe.c:73:2: warning: function might be possible candidate
87247 for 'gnu_printf' format attribute [-Wmissing-format-attribute]
87248
87249 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
87250 Signed-off-by: David S. Miller <davem@davemloft.net>
87251
87252 net/sctp/probe.c | 2 +-
87253 1 files changed, 1 insertions(+), 1 deletions(-)
87254
87255 commit 81b98190c66a90f0ed2de4560f542b1dea7664f2
87256 Author: Brad Spengler <spender@grsecurity.net>
87257 Date: Thu May 2 19:58:54 2013 -0400
87258
87259 remove no-longer-needed vmware 8 compat fix
87260
87261 mm/page_alloc.c | 6 ------
87262 1 files changed, 0 insertions(+), 6 deletions(-)
87263
87264 commit a7716a90c1dbe09a8a6d98c74ea2f7fe2a530e94
87265 Author: Brad Spengler <spender@grsecurity.net>
87266 Date: Thu May 2 19:55:23 2013 -0400
87267
87268 remove unnecessary < 0 check
87269
87270 net/phonet/af_phonet.c | 2 +-
87271 1 files changed, 1 insertions(+), 1 deletions(-)
87272
87273 commit a4e8dd5b1cca13c2e4145af75694a04aaa811f3f
87274 Author: Brad Spengler <spender@grsecurity.net>
87275 Date: Wed May 1 18:30:48 2013 -0400
87276
87277 remove references to CONFIG_X86_WP_WORKS_OK
87278
87279 arch/um/defconfig | 1 -
87280 security/Kconfig | 2 +-
87281 2 files changed, 1 insertions(+), 2 deletions(-)
87282
87283 commit 408da6791f93ffe00d26bfe919f1b2218fe0804d
87284 Merge: a8dbe8e 6c850d8
87285 Author: Brad Spengler <spender@grsecurity.net>
87286 Date: Wed May 1 18:28:44 2013 -0400
87287
87288 Merge branch 'pax-test' into grsec-test
87289
87290 Conflicts:
87291 arch/sparc/mm/ultra.S
87292 drivers/tty/tty_io.c
87293
87294 commit 6c850d8b76b375e418b6a18a33cc8263f36fabcf
87295 Merge: cdbcbef 9fa1d01
87296 Author: Brad Spengler <spender@grsecurity.net>
87297 Date: Wed May 1 18:25:18 2013 -0400
87298
87299 Merge branch 'linux-3.8.y' into pax-test
87300
87301 commit a8dbe8ee7a0a3ace489e2f95d69d33e14d5f0b78
87302 Author: Brad Spengler <spender@grsecurity.net>
87303 Date: Mon Apr 29 18:44:23 2013 -0400
87304
87305 add module.h to silence compiler warning, thanks to
87306 Sergei Trofimovich
87307
87308 fs/btrfs/inode.c | 1 +
87309 1 files changed, 1 insertions(+), 0 deletions(-)
87310
87311 commit 55eba82aca97aa56378e000840c48965557721e8
87312 Author: Brad Spengler <spender@grsecurity.net>
87313 Date: Mon Apr 29 18:43:03 2013 -0400
87314
87315 compilation fix
87316
87317 kernel/trace/trace.h | 2 +-
87318 1 files changed, 1 insertions(+), 1 deletions(-)
87319
87320 commit e3bf912b54af6df7fbebc68b5999554562056c5c
87321 Merge: 5b72e37 cdbcbef
87322 Author: Brad Spengler <spender@grsecurity.net>
87323 Date: Mon Apr 29 18:34:42 2013 -0400
87324
87325 Merge branch 'pax-test' into grsec-test
87326
87327 commit cdbcbef45c4f003cbee11e10668a35d424c17c60
87328 Author: Brad Spengler <spender@grsecurity.net>
87329 Date: Mon Apr 29 18:33:35 2013 -0400
87330
87331 Update to pax-linux-3.8.10-test21.patch:
87332 - removed size overflow coverage of resource_size(), reported at http://forums.grsecurity.net/viewtopic.php?f=3&t=3412
87333 - fixed bad pointer arithmetic in nfsd_cache_update, reported by Jason A. Donenfeld and http://forums.grsecurity.net/viewtopic.php?f=3&t=3438
87334 note that the false positive is not fixed yet
87335 - fixed a few unintended bitmask computations found by a not-yet-public gcc plugin
87336 - fixed the kernel stack leak bug in do_tgkill, found by the size overflow plugin (https://code.google.com/p/chromium/issues/detail?id=223444)
87337 - reverted the nested NMI fix in search for a real one
87338 - simplified the arm_delay_ops constification
87339
87340 arch/arm/include/asm/delay.h | 8 ++++----
87341 arch/arm/lib/delay.c | 17 +++++------------
87342 arch/x86/kernel/entry_64.S | 11 ++++++++++-
87343 arch/x86/kernel/i8259.c | 2 +-
87344 arch/x86/kernel/pci-calgary_64.c | 2 +-
87345 arch/x86/kvm/vmx.c | 4 ++--
87346 drivers/block/pktcdvd.c | 2 +-
87347 fs/btrfs/extent-tree.c | 2 +-
87348 fs/nfsd/nfscache.c | 6 ++++--
87349 kernel/trace/trace.c | 2 +-
87350 tools/gcc/structleak_plugin.c | 4 ++++
87351 11 files changed, 34 insertions(+), 26 deletions(-)
87352
87353 commit 5b72e3790fa0e8a16a09c0ef745d8065620a1e74
87354 Author: Brad Spengler <spender@grsecurity.net>
87355 Date: Fri Apr 26 20:53:06 2013 -0400
87356
87357 don't use file_inode()
87358
87359 drivers/tty/tty_io.c | 2 +-
87360 1 files changed, 1 insertions(+), 1 deletions(-)
87361
87362 commit a2df9595fa2e3c7a0c63b1acac75425fd4feb946
87363 Author: Jiri Slaby <jslaby@suse.cz>
87364 Date: Fri Apr 26 13:48:53 2013 +0200
87365
87366 Upstream commit: 37b7f3c76595e23257f61bd80b223de8658617ee
87367
87368 TTY: fix atime/mtime regression
87369
87370 In commit b0de59b5733d ("TTY: do not update atime/mtime on read/write")
87371 we removed timestamps from tty inodes to fix a security issue and waited
87372 if something breaks. Well, 'w', the utility to find out logged users
87373 and their inactivity time broke. It shows that users are inactive since
87374 the time they logged in.
87375
87376 To revert to the old behaviour while still preventing attackers to
87377 guess the password length, we update the timestamps in one-minute
87378 intervals by this patch.
87379
87380 Signed-off-by: Jiri Slaby <jslaby@suse.cz>
87381 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
87382 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
87383
87384 Conflicts:
87385
87386 drivers/tty/tty_io.c
87387
87388 drivers/tty/tty_io.c | 15 ++++++++++++++-
87389 1 files changed, 14 insertions(+), 1 deletions(-)
87390
87391 commit c9c76fe07da7611a5062dd3234e5d2369e0a78ec
87392 Author: Jiri Slaby <jslaby@suse.cz>
87393 Date: Fri Feb 15 15:25:05 2013 +0100
87394
87395 Upstream commit: b0de59b5733d
87396
87397 TTY: do not update atime/mtime on read/write
87398
87399 On http://vladz.devzero.fr/013_ptmx-timing.php, we can see how to find
87400 out length of a password using timestamps of /dev/ptmx. It is
87401 documented in "Timing Analysis of Keystrokes and Timing Attacks on
87402 SSH". To avoid that problem, do not update time when reading
87403 from/writing to a TTY.
87404
87405 I am afraid of regressions as this is a behavior we have since 0.97
87406 and apps may expect the time to be current, e.g. for monitoring
87407 whether there was a change on the TTY. Now, there is no change. So
87408 this would better have a lot of testing before it goes upstream.
87409
87410 References: CVE-2013-0160
87411
87412 Signed-off-by: Jiri Slaby <jslaby@suse.cz>
87413 Cc: stable <stable@vger.kernel.org> # after 3.9 is out
87414 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
87415
87416 drivers/tty/tty_io.c | 8 ++------
87417 1 files changed, 2 insertions(+), 6 deletions(-)
87418
87419 commit 5344a24e2320d61dbdb88aae04922f0799deefd0
87420 Author: Zhao Hongjiang <zhaohongjiang@huawei.com>
87421 Date: Fri Apr 26 11:03:53 2013 +0800
87422
87423 Upstream commit: 91d80a84bbc8f28375cca7e65ec666577b4209ad
87424
87425 aio: fix possible invalid memory access when DEBUG is enabled
87426
87427 dprintk() shouldn't access @ring after it's unmapped.
87428
87429 Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
87430 Cc: stable@vger.kernel.org
87431 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
87432
87433 fs/aio.c | 2 +-
87434 1 files changed, 1 insertions(+), 1 deletions(-)
87435
87436 commit 786841cb279bbd8e458d67e112a1d01a3d4598a7
87437 Author: John David Anglin <dave.anglin@bell.net>
87438 Date: Tue Apr 23 22:42:07 2013 +0200
87439
87440 Upstream commit: bda079d336cd8183e1d844a265ea87ae3e1bbe78
87441
87442 parisc: use spin_lock_irqsave/spin_unlock_irqrestore for PTE updates
87443
87444 User applications running on SMP kernels have long suffered from instability
87445 and random segmentation faults. This patch improves the situation although
87446 there is more work to be done.
87447
87448 One of the problems is the various routines in pgtable.h that update page table
87449 entries use different locking mechanisms, or no lock at all (set_pte_at). This
87450 change modifies the routines to all use the same lock pa_dbit_lock. This lock
87451 is used for dirty bit updates in the interruption code. The patch also purges
87452 the TLB entries associated with the PTE to ensure that inconsistent values are
87453 not used after the page table entry is updated. The UP and SMP code are now
87454 identical.
87455
87456 The change also includes a minor update to the purge_tlb_entries function in
87457 cache.c to improve its efficiency.
87458
87459 Signed-off-by: John David Anglin <dave.anglin@bell.net>
87460 Cc: Helge Deller <deller@gmx.de>
87461 Signed-off-by: Helge Deller <deller@gmx.de>
87462
87463 arch/parisc/include/asm/pgtable.h | 47 +++++++++++++++++++-----------------
87464 arch/parisc/kernel/cache.c | 5 +---
87465 2 files changed, 26 insertions(+), 26 deletions(-)
87466
87467 commit 775a77ad179d4c25bc94e85ef81135cbdffcfdc1
87468 Merge: ba54c97 4d05084
87469 Author: Brad Spengler <spender@grsecurity.net>
87470 Date: Fri Apr 26 18:17:20 2013 -0400
87471
87472 Merge branch 'pax-test' into grsec-test
87473
87474 Conflicts:
87475 arch/x86/kvm/x86.c
87476 include/linux/capability.h
87477
87478 commit 4d0508463d0ee3ec4b9eca1ea6bed3be03a3df21
87479 Merge: c664779 bb8dd67
87480 Author: Brad Spengler <spender@grsecurity.net>
87481 Date: Fri Apr 26 18:15:45 2013 -0400
87482
87483 Merge branch 'linux-3.8.y' into pax-test
87484
87485 commit ba54c977fe8c3afc4a9efd7afc3f30cf10b02fa2
87486 Author: David S. Miller <davem@davemloft.net>
87487 Date: Wed Apr 24 16:52:18 2013 -0700
87488
87489 Upstream commit: f0af97070acbad5d6a361f485828223a4faaa0ee
87490
87491 sparc64: Fix missing put_cpu_var() in tlb_batch_add_one() when not batching.
87492
87493 Reported-by: Meelis Roos <mroos@linux.ee>
87494 Signed-off-by: David S. Miller <davem@davemloft.net>
87495
87496 arch/sparc/mm/tlb.c | 3 ++-
87497 1 files changed, 2 insertions(+), 1 deletions(-)
87498
87499 commit dc080cfd57c7cdc426f8c6c2da11911ac99959d8
87500 Author: David S. Miller <davem@davemloft.net>
87501 Date: Fri Apr 19 17:26:26 2013 -0400
87502
87503 Upstream commit: f36391d2790d04993f48da6a45810033a2cdf847
87504
87505 sparc64: Fix race in TLB batch processing.
87506
87507 As reported by Dave Kleikamp, when we emit cross calls to do batched
87508 TLB flush processing we have a race because we do not synchronize on
87509 the sibling cpus completing the cross call.
87510
87511 So meanwhile the TLB batch can be reset (tb->tlb_nr set to zero, etc.)
87512 and either flushes are missed or flushes will flush the wrong
87513 addresses.
87514
87515 Fix this by using generic infrastructure to synchonize on the
87516 completion of the cross call.
87517
87518 This first required getting the flush_tlb_pending() call out from
87519 switch_to() which operates with locks held and interrupts disabled.
87520 The problem is that smp_call_function_many() cannot be invoked with
87521 IRQs disabled and this is explicitly checked for with WARN_ON_ONCE().
87522
87523 We get the batch processing outside of locked IRQ disabled sections by
87524 using some ideas from the powerpc port. Namely, we only batch inside
87525 of arch_{enter,leave}_lazy_mmu_mode() calls. If we're not in such a
87526 region, we flush TLBs synchronously.
87527
87528 1) Get rid of xcall_flush_tlb_pending and per-cpu type
87529 implementations.
87530
87531 2) Do TLB batch cross calls instead via:
87532
87533 smp_call_function_many()
87534 tlb_pending_func()
87535 __flush_tlb_pending()
87536
87537 3) Batch only in lazy mmu sequences:
87538
87539 a) Add 'active' member to struct tlb_batch
87540 b) Define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
87541 c) Set 'active' in arch_enter_lazy_mmu_mode()
87542 d) Run batch and clear 'active' in arch_leave_lazy_mmu_mode()
87543 e) Check 'active' in tlb_batch_add_one() and do a synchronous
87544 flush if it's clear.
87545
87546 4) Add infrastructure for synchronous TLB page flushes.
87547
87548 a) Implement __flush_tlb_page and per-cpu variants, patch
87549 as needed.
87550 b) Likewise for xcall_flush_tlb_page.
87551 c) Implement smp_flush_tlb_page() to invoke the cross-call.
87552 d) Wire up global_flush_tlb_page() to the right routine based
87553 upon CONFIG_SMP
87554
87555 5) It turns out that singleton batches are very common, 2 out of every
87556 3 batch flushes have only a single entry in them.
87557
87558 The batch flush waiting is very expensive, both because of the poll
87559 on sibling cpu completeion, as well as because passing the tlb batch
87560 pointer to the sibling cpus invokes a shared memory dereference.
87561
87562 Therefore, in flush_tlb_pending(), if there is only one entry in
87563 the batch perform a completely asynchronous global_flush_tlb_page()
87564 instead.
87565
87566 Reported-by: Dave Kleikamp <dave.kleikamp@oracle.com>
87567 Signed-off-by: David S. Miller <davem@davemloft.net>
87568 Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com>
87569
87570 arch/sparc/include/asm/pgtable_64.h | 1 +
87571 arch/sparc/include/asm/switch_to_64.h | 3 +-
87572 arch/sparc/include/asm/tlbflush_64.h | 37 +++++++++--
87573 arch/sparc/kernel/smp_64.c | 41 ++++++++++-
87574 arch/sparc/mm/tlb.c | 38 +++++++++-
87575 arch/sparc/mm/tsb.c | 57 ++++++++++++----
87576 arch/sparc/mm/ultra.S | 119 ++++++++++++++++++++++++++-------
87577 7 files changed, 241 insertions(+), 55 deletions(-)
87578
87579 commit cd80cc3cfd122295e6ec6db1e5e16e5b7a5d3b59
87580 Author: Linus Torvalds <torvalds@linux-foundation.org>
87581 Date: Fri Apr 19 15:32:32 2013 +0000
87582
87583 Upstream commit: 83f1b4ba917db5dc5a061a44b3403ddb6e783494
87584
87585 net: fix incorrect credentials passing
87586
87587 Commit 257b5358b32f ("scm: Capture the full credentials of the scm
87588 sender") changed the credentials passing code to pass in the effective
87589 uid/gid instead of the real uid/gid.
87590
87591 Obviously this doesn't matter most of the time (since normally they are
87592 the same), but it results in differences for suid binaries when the wrong
87593 uid/gid ends up being used.
87594
87595 This just undoes that (presumably unintentional) part of the commit.
87596
87597 Reported-by: Andy Lutomirski <luto@amacapital.net>
87598 Cc: Eric W. Biederman <ebiederm@xmission.com>
87599 Cc: Serge E. Hallyn <serge@hallyn.com>
87600 Cc: David S. Miller <davem@davemloft.net>
87601 Cc: stable@vger.kernel.org
87602 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
87603 Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
87604 Signed-off-by: David S. Miller <davem@davemloft.net>
87605
87606 include/net/scm.h | 4 ++--
87607 1 files changed, 2 insertions(+), 2 deletions(-)
87608
87609 commit e126225d1fcaa405ff2a7f1518d615cffe42e7d5
87610 Author: Brad Spengler <spender@grsecurity.net>
87611 Date: Thu Apr 18 19:22:40 2013 -0400
87612
87613 move _etext to only cover kernel code, not read-only data, as reported by Gu1
87614
87615 arch/arm/kernel/vmlinux.lds.S | 4 ++--
87616 1 files changed, 2 insertions(+), 2 deletions(-)
87617
87618 commit 98ad6adbc48759e4f9eae435d3e51ba487155685
87619 Author: Brad Spengler <spender@grsecurity.net>
87620 Date: Thu Apr 18 19:17:24 2013 -0400
87621
87622 add asm/sections.h for USERCOPY change
87623
87624 fs/exec.c | 1 +
87625 1 files changed, 1 insertions(+), 0 deletions(-)
87626
87627 commit c403a6c43da1bcac9b1ef2bca9bba0fb84a40f10
87628 Author: Dmitry Popov <dp@highloadlab.com>
87629 Date: Thu Apr 11 08:55:07 2013 +0000
87630
87631 Upstream commit: d66954a066158781ccf9c13c91d0316970fe57b6
87632
87633 tcp: incoming connections might use wrong route under synflood
87634
87635 There is a bug in cookie_v4_check (net/ipv4/syncookies.c):
87636 flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk),
87637 RT_SCOPE_UNIVERSE, IPPROTO_TCP,
87638 inet_sk_flowi_flags(sk),
87639 (opt && opt->srr) ? opt->faddr : ireq->rmt_addr,
87640 ireq->loc_addr, th->source, th->dest);
87641
87642 Here we do not respect sk->sk_bound_dev_if, therefore wrong dst_entry may be
87643 taken. This dst_entry is used by new socket (get_cookie_sock ->
87644 tcp_v4_syn_recv_sock), so its packets may take the wrong path.
87645
87646 Signed-off-by: Dmitry Popov <dp@highloadlab.com>
87647 Signed-off-by: David S. Miller <davem@davemloft.net>
87648
87649 net/ipv4/syncookies.c | 4 ++--
87650 1 files changed, 2 insertions(+), 2 deletions(-)
87651
87652 commit 3600395e8fef3ae712e72f9b68c3609639616df8
87653 Author: Thomas Graf <tgraf@suug.ch>
87654 Date: Thu Apr 11 10:57:18 2013 +0000
87655
87656 Upstream commit: 50bceae9bd3569d56744882f3012734d48a1d413
87657
87658 tcp: Reallocate headroom if it would overflow csum_start
87659
87660 If a TCP retransmission gets partially ACKed and collapsed multiple
87661 times it is possible for the headroom to grow beyond 64K which will
87662 overflow the 16bit skb->csum_start which is based on the start of
87663 the headroom. It has been observed rarely in the wild with IPoIB due
87664 to the 64K MTU.
87665
87666 Verify if the acking and collapsing resulted in a headroom exceeding
87667 what csum_start can cover and reallocate the headroom if so.
87668
87669 A big thank you to Jim Foraker <foraker1@llnl.gov> and the team at
87670 LLNL for helping out with the investigation and testing.
87671
87672 Reported-by: Jim Foraker <foraker1@llnl.gov>
87673 Signed-off-by: Thomas Graf <tgraf@suug.ch>
87674 Acked-by: Eric Dumazet <edumazet@google.com>
87675 Signed-off-by: David S. Miller <davem@davemloft.net>
87676
87677 net/ipv4/tcp_output.c | 8 ++++++--
87678 1 files changed, 6 insertions(+), 2 deletions(-)
87679
87680 commit 4b0b9a5038da806a2b6eba9efc3f3a53c5188a61
87681 Author: Ivan Vecera <ivecera@redhat.com>
87682 Date: Fri Apr 12 16:49:24 2013 +0200
87683
87684 Upstream commit: f11a869d4e38397ac81f2a3d22e8d2aeb3992b0f
87685
87686 be2net: take care of __vlan_put_tag return value
87687
87688 The driver should use return value of __vlan_put_tag with appropriate
87689 NULL-check instead of old skb pointer.
87690
87691 Signed-off-by: Ivan Vecera <ivecera@redhat.com>
87692 Signed-off-by: David S. Miller <davem@davemloft.net>
87693
87694 drivers/net/ethernet/emulex/benet/be_main.c | 5 +++--
87695 1 files changed, 3 insertions(+), 2 deletions(-)
87696
87697 commit 8d3aca40a891f13b9b1e0d957913fa788fd1cc55
87698 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
87699 Date: Fri Apr 12 03:17:12 2013 +0000
87700
87701 Upstream commit: 3be8fbab18fbc06b6ff94a56f9c225e29ea64a73
87702
87703 tuntap: fix error return code in tun_set_iff()
87704
87705 Fix to return a negative error code from the error handling
87706 case instead of 0, as returned elsewhere in this function.
87707
87708 [ Bug added in linux-3.8 , commit 4008e97f866db665
87709 ("tuntap: fix ambigious multiqueue API") ]
87710
87711 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
87712 Acked-by: Eric Dumazet <edumazet@google.com>
87713 Signed-off-by: David S. Miller <davem@davemloft.net>
87714
87715 drivers/net/tun.c | 2 +-
87716 1 files changed, 1 insertions(+), 1 deletions(-)
87717
87718 commit 42cfd101287e0ffa5e8425ca7dd3c4131a7a601c
87719 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
87720 Date: Sat Apr 13 15:49:03 2013 +0000
87721
87722 Upstream commit: 06848c10f720cbc20e3b784c0df24930b7304b93
87723
87724 esp4: fix error return code in esp_output()
87725
87726 Fix to return a negative error code from the error handling
87727 case instead of 0, as returned elsewhere in this function.
87728
87729 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
87730 Acked-by: Steffen Klassert <steffen.klassert@secunet.com>
87731 Signed-off-by: David S. Miller <davem@davemloft.net>
87732
87733 net/ipv4/esp4.c | 6 +++---
87734 1 files changed, 3 insertions(+), 3 deletions(-)
87735
87736 commit 2b45b5f52c2a8930f80c62de392a62516c83e225
87737 Author: Bjørn Mork <bjorn@mork.no>
87738 Date: Tue Apr 16 00:17:07 2013 +0000
87739
87740 Upstream commit: 32b161aa88aa40a83888a995c6e2ef81140219b1
87741
87742 net: cdc_mbim: remove bogus sizeof()
87743
87744 The intention was to test against the constant, not the size of
87745 the constant.
87746
87747 Signed-off-by: Bjørn Mork <bjorn@mork.no>
87748 Signed-off-by: David S. Miller <davem@davemloft.net>
87749
87750 drivers/net/usb/cdc_mbim.c | 2 +-
87751 1 files changed, 1 insertions(+), 1 deletions(-)
87752
87753 commit 17d7408795519037a5a1272c7888238e20830bfe
87754 Author: Vyacheslav Dubeyko <slava@dubeyko.com>
87755 Date: Wed Apr 17 15:58:33 2013 -0700
87756
87757 Upstream commit: 12f267a20aecf8b84a2a9069b9011f1661c779b4
87758
87759 hfsplus: fix potential overflow in hfsplus_file_truncate()
87760
87761 Change a u32 to loff_t hfsplus_file_truncate().
87762
87763 Signed-off-by: Vyacheslav Dubeyko <slava@dubeyko.com>
87764 Cc: Christoph Hellwig <hch@infradead.org>
87765 Cc: Al Viro <viro@zeniv.linux.org.uk>
87766 Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
87767 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
87768 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
87769
87770 fs/hfsplus/extents.c | 2 +-
87771 1 files changed, 1 insertions(+), 1 deletions(-)
87772
87773 commit 5c9574e7f16e7a9b3ea9b419c46ddc57110a555b
87774 Author: Emese Revfy <re.emese@gmail.com>
87775 Date: Wed Apr 17 15:58:36 2013 -0700
87776
87777 Upstream commit: b9e146d8eb3b9ecae5086d373b50fa0c1f3e7f0f
87778
87779 kernel/signal.c: stop info leak via the tkill and the tgkill syscalls
87780
87781 This fixes a kernel memory contents leak via the tkill and tgkill syscalls
87782 for compat processes.
87783
87784 This is visible in the siginfo_t->_sifields._rt.si_sigval.sival_ptr field
87785 when handling signals delivered from tkill.
87786
87787 The place of the infoleak:
87788
87789 int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)
87790 {
87791 ...
87792 put_user_ex(ptr_to_compat(from->si_ptr), &to->si_ptr);
87793 ...
87794 }
87795
87796 Signed-off-by: Emese Revfy <re.emese@gmail.com>
87797 Reviewed-by: PaX Team <pageexec@freemail.hu>
87798 Signed-off-by: Kees Cook <keescook@chromium.org>
87799 Cc: Al Viro <viro@zeniv.linux.org.uk>
87800 Cc: Oleg Nesterov <oleg@redhat.com>
87801 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
87802 Cc: Serge Hallyn <serge.hallyn@canonical.com>
87803 Cc: <stable@vger.kernel.org>
87804 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
87805 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
87806
87807 kernel/signal.c | 2 +-
87808 1 files changed, 1 insertions(+), 1 deletions(-)
87809
87810 commit 0942d16614b0ef59d50b10151d77ec52fc98c2d0
87811 Author: Brad Spengler <spender@grsecurity.net>
87812 Date: Wed Apr 17 20:17:00 2013 -0400
87813
87814 Improve PAX_USERCOPY to reject direct copies to/from main kernel text
87815
87816 fs/exec.c | 29 +++++++++++++++++++++++++++--
87817 1 files changed, 27 insertions(+), 2 deletions(-)
87818
87819 commit 3cb37d0c0c77dc3928ff8417f982139f95366eba
87820 Merge: e87c19f c664779
87821 Author: Brad Spengler <spender@grsecurity.net>
87822 Date: Wed Apr 17 20:06:08 2013 -0400
87823
87824 Merge branch 'pax-test' into grsec-test
87825
87826 commit c664779987cb0c27a242029f0e0db812e3236203
87827 Author: Brad Spengler <spender@grsecurity.net>
87828 Date: Wed Apr 17 19:54:09 2013 -0400
87829
87830 add intentional_overflow marking for resource_size() as reasoned by:
87831 http://forums.grsecurity.net/viewtopic.php?f=3&t=3412
87832
87833 include/linux/ioport.h | 2 +-
87834 1 files changed, 1 insertions(+), 1 deletions(-)
87835
87836 commit e87c19f8312355b8658e5138c16bfa6043a379c8
87837 Merge: 802d119 d0c636c
87838 Author: Brad Spengler <spender@grsecurity.net>
87839 Date: Wed Apr 17 16:57:12 2013 -0400
87840
87841 Merge branch 'pax-test' into grsec-test
87842
87843 commit d0c636ceaaf406e606898ce3e770e32fb043ea8a
87844 Merge: bc88628 2396403
87845 Author: Brad Spengler <spender@grsecurity.net>
87846 Date: Wed Apr 17 16:57:01 2013 -0400
87847
87848 Merge branch 'linux-3.8.y' into pax-test
87849
87850 Conflicts:
87851 arch/x86/kernel/paravirt.c
87852
87853 commit 802d1193dcb507b2a62a2de0a869a7dbadd66b9b
87854 Author: Brad Spengler <spender@grsecurity.net>
87855 Date: Sun Apr 14 21:39:51 2013 -0400
87856
87857 move location of RBAC user check on setfsuid until after capability checks
87858 for consistency with other checks
87859
87860 kernel/sys.c | 6 +++---
87861 1 files changed, 3 insertions(+), 3 deletions(-)
87862
87863 commit 1a860d7d67051559ab2e6d10f9888649c92904e6
87864 Author: Brad Spengler <spender@grsecurity.net>
87865 Date: Sun Apr 14 21:34:46 2013 -0400
87866
87867 A denied setfsuid by the RBAC system would result in an abort_creds() being called
87868 with an uninitalized pointer, introduced by a bad forward-port
87869
87870 kernel/sys.c | 6 +++---
87871 1 files changed, 3 insertions(+), 3 deletions(-)
87872
87873 commit 9f94b84d0e5e101fe8ea8ebcc8eeb141d8a6edb9
87874 Merge: c38d142 bc88628
87875 Author: Brad Spengler <spender@grsecurity.net>
87876 Date: Sun Apr 14 21:28:33 2013 -0400
87877
87878 Merge branch 'pax-test' into grsec-test
87879
87880 Conflicts:
87881 security/Kconfig
87882
87883 commit bc88628a6a8fcccaabb90908640809b0540df225
87884 Author: Brad Spengler <spender@grsecurity.net>
87885 Date: Sun Apr 14 21:26:41 2013 -0400
87886
87887 Update to pax-linux-3.8.7-test20.patch:
87888 - fixed KERNEXEC and NMI nesting problem reported by stef&hunger
87889 - changed PHYSICAL_ALIGN/START to fix http://forums.grsecurity.net/viewtopic.php?f=3&t=3414
87890 - CONSTIFY depends on KERNEXEC (for the kernel open/close feature)
87891 - fixed CONSTIFY and powerpc interference, reported by John Hardin (https://bugs.gentoo.org/show_bug.cgi?id=456364)
87892
87893 arch/powerpc/include/asm/smp.h | 2 +-
87894 arch/x86/Kconfig | 4 ++--
87895 arch/x86/kernel/entry_64.S | 8 ++++----
87896 security/Kconfig | 2 +-
87897 4 files changed, 8 insertions(+), 8 deletions(-)
87898
87899 commit c38d142744489fc4d9be80188b6435a278438fd9
87900 Author: Suleiman Souhlal <suleiman@google.com>
87901 Date: Sat Apr 13 16:03:06 2013 -0700
87902
87903 Upstream commit: 5b55d708335a9e3e4f61f2dadf7511502205ccd1
87904
87905 vfs: Revert spurious fix to spinning prevention in prune_icache_sb
87906
87907 Revert commit 62a3ddef6181 ("vfs: fix spinning prevention in prune_icache_sb").
87908
87909 This commit doesn't look right: since we are looking at the tail of the
87910 list (sb->s_inode_lru.prev) if we want to skip an inode, we should put
87911 it back at the head of the list instead of the tail, otherwise we will
87912 keep spinning on it.
87913
87914 Discovered when investigating why prune_icache_sb came top in perf
87915 reports of a swapping load.
87916
87917 Signed-off-by: Suleiman Souhlal <suleiman@google.com>
87918 Signed-off-by: Hugh Dickins <hughd@google.com>
87919 Cc: stable@vger.kernel.org # v3.2+
87920 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
87921
87922 fs/inode.c | 2 +-
87923 1 files changed, 1 insertions(+), 1 deletions(-)
87924
87925 commit 93019624b80ba59798393942798d7f6ed0c1dbc6
87926 Author: Linus Torvalds <torvalds@linux-foundation.org>
87927 Date: Sat Apr 13 15:15:30 2013 -0700
87928
87929 Upstream commit: a49b7e82cab0f9b41f483359be83f44fbb6b4979
87930
87931 kobject: fix kset_find_obj() race with concurrent last kobject_put()
87932
87933 Anatol Pomozov identified a race condition that hits module unloading
87934 and re-loading. To quote Anatol:
87935
87936 "This is a race codition that exists between kset_find_obj() and
87937 kobject_put(). kset_find_obj() might return kobject that has refcount
87938 equal to 0 if this kobject is freeing by kobject_put() in other
87939 thread.
87940
87941 Here is timeline for the crash in case if kset_find_obj() searches for
87942 an object tht nobody holds and other thread is doing kobject_put() on
87943 the same kobject:
87944
87945 THREAD A (calls kset_find_obj()) THREAD B (calls kobject_put())
87946 splin_lock()
87947 atomic_dec_return(kobj->kref), counter gets zero here
87948 ... starts kobject cleanup ....
87949 spin_lock() // WAIT thread A in kobj_kset_leave()
87950 iterate over kset->list
87951 atomic_inc(kobj->kref) (counter becomes 1)
87952 spin_unlock()
87953 spin_lock() // taken
87954 // it does not know that thread A increased counter so it
87955 remove obj from list
87956 spin_unlock()
87957 vfree(module) // frees module object with containing kobj
87958
87959 // kobj points to freed memory area!!
87960 kobject_put(kobj) // OOPS!!!!
87961
87962 The race above happens because module.c tries to use kset_find_obj()
87963 when somebody unloads module. The module.c code was introduced in
87964 commit 6494a93d55fa"
87965
87966 Anatol supplied a patch specific for module.c that worked around the
87967 problem by simply not using kset_find_obj() at all, but rather than make
87968 a local band-aid, this just fixes kset_find_obj() to be thread-safe
87969 using the proper model of refusing the get a new reference if the
87970 refcount has already dropped to zero.
87971
87972 See examples of this proper refcount handling not only in the kref
87973 documentation, but in various other equivalent uses of this pattern by
87974 grepping for atomic_inc_not_zero().
87975
87976 [ Side note: the module race does indicate that module loading and
87977 unloading is not properly serialized wrt sysfs information using the
87978 module mutex. That may require further thought, but this is the
87979 correct fix at the kobject layer regardless. ]
87980
87981 Reported-analyzed-and-tested-by: Anatol Pomozov <anatol.pomozov@gmail.com>
87982 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
87983 Cc: Al Viro <viro@zeniv.linux.org.uk>
87984 Cc: stable@vger.kernel.org
87985 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
87986
87987 lib/kobject.c | 9 ++++++++-
87988 1 files changed, 8 insertions(+), 1 deletions(-)
87989
87990 commit 5277b052b5fab36729e1255fb3b12f47a4b12867
87991 Author: Dave Hansen <dave@sr71.net>
87992 Date: Fri Apr 12 16:23:54 2013 -0700
87993
87994 Upstream commit: 1de14c3c5cbc9bb17e9dcc648cda51c0c85d54b9
87995
87996 x86-32: Fix possible incomplete TLB invalidate with PAE pagetables
87997
87998 This patch attempts to fix:
87999
88000 https://bugzilla.kernel.org/show_bug.cgi?id=56461
88001
88002 The symptom is a crash and messages like this:
88003
88004 chrome: Corrupted page table at address 34a03000
88005 *pdpt = 0000000000000000 *pde = 0000000000000000
88006 Bad pagetable: 000f [#1] PREEMPT SMP
88007
88008 Ingo guesses this got introduced by commit 611ae8e3f520 ("x86/tlb:
88009 enable tlb flush range support for x86") since that code started to free
88010 unused pagetables.
88011
88012 On x86-32 PAE kernels, that new code has the potential to free an entire
88013 PMD page and will clear one of the four page-directory-pointer-table
88014 (aka pgd_t entries).
88015
88016 The hardware aggressively "caches" these top-level entries and invlpg
88017 does not actually affect the CPU's copy. If we clear one we *HAVE* to
88018 do a full TLB flush, otherwise we might continue using a freed pmd page.
88019 (note, we do this properly on the population side in pud_populate()).
88020
88021 This patch tracks whenever we clear one of these entries in the 'struct
88022 mmu_gather', and ensures that we follow up with a full tlb flush.
88023
88024 BTW, I disassembled and checked that:
88025
88026 if (tlb->fullmm == 0)
88027 and
88028 if (!tlb->fullmm && !tlb->need_flush_all)
88029
88030 generate essentially the same code, so there should be zero impact there
88031 to the !PAE case.
88032
88033 Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
88034 Cc: Peter Anvin <hpa@zytor.com>
88035 Cc: Ingo Molnar <mingo@kernel.org>
88036 Cc: Artem S Tashkinov <t.artem@mailcity.com>
88037 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
88038
88039 arch/x86/include/asm/tlb.h | 2 +-
88040 arch/x86/mm/pgtable.c | 7 +++++++
88041 include/asm-generic/tlb.h | 7 ++++++-
88042 mm/memory.c | 1 +
88043 4 files changed, 15 insertions(+), 2 deletions(-)
88044
88045 commit 521e573fc77d1783c1d4636dfbb4617a922f043d
88046 Merge: 032f626 f807619
88047 Author: Brad Spengler <spender@grsecurity.net>
88048 Date: Fri Apr 12 19:29:34 2013 -0400
88049
88050 Merge branch 'pax-test' into grsec-test
88051
88052 commit f80761993b85df96fc142dfc3a317cadc0f8eae5
88053 Author: Brad Spengler <spender@grsecurity.net>
88054 Date: Fri Apr 12 19:28:21 2013 -0400
88055
88056 Update to pax-linux-3.8.7-test19.patch:
88057 - fixed STACKLEAK/XEN interference once again, reported by Jason A. Donenfeld
88058 - fixed small typo, reported by mlarm (http://forums.grsecurity.net/viewtopic.php?f=3&t=3411)
88059 - fixed the structleak plugin to compile for gcc 4.5-4.6 as well
88060
88061 Makefile | 2 +-
88062 arch/x86/xen/enlighten.c | 6 +++---
88063 tools/gcc/structleak_plugin.c | 5 +++--
88064 3 files changed, 7 insertions(+), 6 deletions(-)
88065
88066 commit 032f626a4ae9bc3196313a2e762650c3d9abdc96
88067 Merge: a3a770e 89886f5
88068 Author: Brad Spengler <spender@grsecurity.net>
88069 Date: Fri Apr 12 18:38:40 2013 -0400
88070
88071 Merge branch 'pax-test' into grsec-test
88072
88073 commit 89886f561cc0d1c42a99624ec8c3704711088155
88074 Merge: 9123489 531ec28
88075 Author: Brad Spengler <spender@grsecurity.net>
88076 Date: Fri Apr 12 18:38:30 2013 -0400
88077
88078 Merge branch 'linux-3.8.y' into pax-test
88079
88080 commit a3a770e18578841e4fbe2aa0831a22811b4812cf
88081 Author: Brad Spengler <spender@grsecurity.net>
88082 Date: Thu Apr 11 20:46:20 2013 -0400
88083
88084 Revert "Don't auto-enable stackleak if kernel is used for xen dom0, kernel will not boot"
88085 Will be fixed with the next PaX patch
88086
88087 This reverts commit 63badcd2023717cc62b6c3ad5f25fe504c49e6d7.
88088
88089 security/Kconfig | 2 +-
88090 1 files changed, 1 insertions(+), 1 deletions(-)
88091
88092 commit fc98763e4f1f1487928750b26a63098b9e0ed5b1
88093 Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
88094 Date: Fri Mar 29 10:20:56 2013 -0400
88095
88096 Upstream commit: b22227944b8fe92b19150b4c36421e37979d9a16
88097
88098 xen/mmu: On early bootup, flush the TLB when changing RO->RW bits Xen provided pagetables.
88099
88100 Occassionaly on a DL380 G4 the guest would crash quite early with this:
88101
88102 (XEN) d244:v0: unhandled page fault (ec=0003)
88103 (XEN) Pagetable walk from ffffffff84dc7000:
88104 (XEN) L4[0x1ff] = 00000000c3f18067 0000000000001789
88105 (XEN) L3[0x1fe] = 00000000c3f14067 000000000000178d
88106 (XEN) L2[0x026] = 00000000dc8b2067 0000000000004def
88107 (XEN) L1[0x1c7] = 00100000dc8da067 0000000000004dc7
88108 (XEN) domain_crash_sync called from entry.S
88109 (XEN) Domain 244 (vcpu#0) crashed on cpu#3:
88110 (XEN) ----[ Xen-4.1.3OVM x86_64 debug=n Not tainted ]----
88111 (XEN) CPU: 3
88112 (XEN) RIP: e033:[<ffffffff81263f22>]
88113 (XEN) RFLAGS: 0000000000000216 EM: 1 CONTEXT: pv guest
88114 (XEN) rax: 0000000000000000 rbx: ffffffff81785f88 rcx: 000000000000003f
88115 (XEN) rdx: 0000000000000000 rsi: 00000000dc8da063 rdi: ffffffff84dc7000
88116
88117 The offending code shows it to be a loop writting the value zero
88118 (%rax) in the %rdi (the L4 provided by Xen) register:
88119
88120 0: 44 00 00 add %r8b,(%rax)
88121 3: 31 c0 xor %eax,%eax
88122 5: b9 40 00 00 00 mov $0x40,%ecx
88123 a: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
88124 11: 00 00
88125 13: ff c9 dec %ecx
88126 15:* 48 89 07 mov %rax,(%rdi) <-- trapping instruction
88127 18: 48 89 47 08 mov %rax,0x8(%rdi)
88128 1c: 48 89 47 10 mov %rax,0x10(%rdi)
88129
88130 which fails. xen_setup_kernel_pagetable recycles some of the Xen's
88131 page-table entries when it has switched over to its Linux page-tables.
88132
88133 Right before try to clear the page, we make a hypercall to change
88134 it from _RO to _RW and that works (otherwise we would hit an BUG()).
88135 And the _RW flag is set for that page:
88136 (XEN) L1[0x1c7] = 001000004885f067 0000000000004dc7
88137
88138 The error code is 3, so PFEC_page_present and PFEC_write_access, so page is
88139 present (correct), and we tried to write to the page, but a violation
88140 occurred. The one theory is that the the page entries in hardware
88141 (which are cached) are not up to date with what we just set. Especially
88142 as we have just done an CR3 write and flushed the multicalls.
88143
88144 This patch does solve the problem by flusing out the TLB page
88145 entry after changing it from _RO to _RW and we don't hit this
88146 issue anymore.
88147
88148 Fixed-Oracle-Bug: 16243091 [ON OCCASIONS VM START GOES INTO
88149 'CRASH' STATE: CLEAR_PAGE+0X12 ON HP DL380 G4]
88150 Reported-and-Tested-by: Saar Maoz <Saar.Maoz@oracle.com>
88151 Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
88152
88153 arch/x86/xen/mmu.c | 12 ++++++++----
88154 1 files changed, 8 insertions(+), 4 deletions(-)
88155
88156 commit d56bdc2595e76ca48cbfd695def7f82c3ab80c11
88157 Author: Namhyung Kim <namhyung.kim@lge.com>
88158 Date: Mon Apr 1 21:46:23 2013 +0900
88159
88160 Upstream commit: 83e03b3fe4daffdebbb42151d5410d730ae50bd1
88161
88162 tracing: Fix double free when function profile init failed
88163
88164 On the failure path, stat->start and stat->pages will refer same page.
88165 So it'll attempt to free the same page again and get kernel panic.
88166
88167 Link: http://lkml.kernel.org/r/1364820385-32027-1-git-send-email-namhyung@kernel.org
88168
88169 Cc: Frederic Weisbecker <fweisbec@gmail.com>
88170 Cc: Namhyung Kim <namhyung.kim@lge.com>
88171 Cc: stable@vger.kernel.org
88172 Signed-off-by: Namhyung Kim <namhyung@kernel.org>
88173 Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
88174
88175 kernel/trace/ftrace.c | 1 -
88176 1 files changed, 0 insertions(+), 1 deletions(-)
88177
88178 commit c86b0de9f4c42a7ede40df5af9436e87ccc784bb
88179 Author: Neil Horman <nhorman@tuxdriver.com>
88180 Date: Tue Apr 9 23:19:00 2013 +0000
88181
88182 Upstream commit: 61a0f6efc8932e9914e1782ff3a027e23c687fc6
88183
88184 e100: Add dma mapping error check
88185
88186 e100 uses pci_map_single, but fails to check for a dma mapping error after its
88187 use, resulting in a stack trace:
88188
88189 [ 46.656594] ------------[ cut here ]------------
88190 [ 46.657004] WARNING: at lib/dma-debug.c:933 check_unmap+0x47b/0x950()
88191 [ 46.657004] Hardware name: To Be Filled By O.E.M.
88192 [ 46.657004] e100 0000:00:0e.0: DMA-API: device driver failed to check map
88193 error[device address=0x000000007a4540fa] [size=90 bytes] [mapped as single]
88194 [ 46.657004] Modules linked in:
88195 [ 46.657004] w83627hf hwmon_vid snd_via82xx ppdev snd_ac97_codec ac97_bus
88196 snd_seq snd_pcm snd_mpu401 snd_mpu401_uart ns558 snd_rawmidi gameport parport_pc
88197 e100 snd_seq_device parport snd_page_alloc snd_timer snd soundcore skge shpchp
88198 k8temp mii edac_core i2c_viapro edac_mce_amd nfsd auth_rpcgss nfs_acl lockd
88199 sunrpc binfmt_misc uinput ata_generic pata_acpi radeon i2c_algo_bit
88200 drm_kms_helper ttm firewire_ohci drm firewire_core pata_via sata_via i2c_core
88201 sata_promise crc_itu_t
88202 [ 46.657004] Pid: 792, comm: ip Not tainted 3.8.0-0.rc6.git0.1.fc19.x86_64 #1
88203 [ 46.657004] Call Trace:
88204 [ 46.657004] <IRQ> [<ffffffff81065ed0>] warn_slowpath_common+0x70/0xa0
88205 [ 46.657004] [<ffffffff81065f4c>] warn_slowpath_fmt+0x4c/0x50
88206 [ 46.657004] [<ffffffff81364cfb>] check_unmap+0x47b/0x950
88207 [ 46.657004] [<ffffffff8136522f>] debug_dma_unmap_page+0x5f/0x70
88208 [ 46.657004] [<ffffffffa030f0f0>] ? e100_tx_clean+0x30/0x210 [e100]
88209 [ 46.657004] [<ffffffffa030f1a8>] e100_tx_clean+0xe8/0x210 [e100]
88210 [ 46.657004] [<ffffffffa030fc6f>] e100_poll+0x56f/0x6c0 [e100]
88211 [ 46.657004] [<ffffffff8159dce1>] ? net_rx_action+0xa1/0x370
88212 [ 46.657004] [<ffffffff8159ddb2>] net_rx_action+0x172/0x370
88213 [ 46.657004] [<ffffffff810703bf>] __do_softirq+0xef/0x3d0
88214 [ 46.657004] [<ffffffff816e4ebc>] call_softirq+0x1c/0x30
88215 [ 46.657004] [<ffffffff8101c485>] do_softirq+0x85/0xc0
88216 [ 46.657004] [<ffffffff81070885>] irq_exit+0xd5/0xe0
88217 [ 46.657004] [<ffffffff816e5756>] do_IRQ+0x56/0xc0
88218 [ 46.657004] [<ffffffff816dacb2>] common_interrupt+0x72/0x72
88219 [ 46.657004] <EOI> [<ffffffff816da1eb>] ?
88220 _raw_spin_unlock_irqrestore+0x3b/0x70
88221 [ 46.657004] [<ffffffff816d124d>] __slab_free+0x58/0x38b
88222 [ 46.657004] [<ffffffff81214424>] ? fsnotify_clear_marks_by_inode+0x34/0x120
88223 [ 46.657004] [<ffffffff811b0417>] ? kmem_cache_free+0x97/0x320
88224 [ 46.657004] [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
88225 [ 46.657004] [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
88226 [ 46.657004] [<ffffffff811b0692>] kmem_cache_free+0x312/0x320
88227 [ 46.657004] [<ffffffff8157fc14>] sock_destroy_inode+0x34/0x40
88228 [ 46.657004] [<ffffffff811e8c28>] destroy_inode+0x38/0x60
88229 [ 46.657004] [<ffffffff811e8d5e>] evict+0x10e/0x1a0
88230 [ 46.657004] [<ffffffff811e9605>] iput+0xf5/0x180
88231 [ 46.657004] [<ffffffff811e4338>] dput+0x248/0x310
88232 [ 46.657004] [<ffffffff811ce0e1>] __fput+0x171/0x240
88233 [ 46.657004] [<ffffffff811ce26e>] ____fput+0xe/0x10
88234 [ 46.657004] [<ffffffff8108d54c>] task_work_run+0xac/0xe0
88235 [ 46.657004] [<ffffffff8106c6ed>] do_exit+0x26d/0xc30
88236 [ 46.657004] [<ffffffff8109eccc>] ? finish_task_switch+0x7c/0x120
88237 [ 46.657004] [<ffffffff816dad58>] ? retint_swapgs+0x13/0x1b
88238 [ 46.657004] [<ffffffff8106d139>] do_group_exit+0x49/0xc0
88239 [ 46.657004] [<ffffffff8106d1c4>] sys_exit_group+0x14/0x20
88240 [ 46.657004] [<ffffffff816e3b19>] system_call_fastpath+0x16/0x1b
88241 [ 46.657004] ---[ end trace 4468c44e2156e7d1 ]---
88242 [ 46.657004] Mapped at:
88243 [ 46.657004] [<ffffffff813663d1>] debug_dma_map_page+0x91/0x140
88244 [ 46.657004] [<ffffffffa030e8eb>] e100_xmit_prepare+0x12b/0x1c0 [e100]
88245 [ 46.657004] [<ffffffffa030c924>] e100_exec_cb+0x84/0x140 [e100]
88246 [ 46.657004] [<ffffffffa030e56a>] e100_xmit_frame+0x3a/0x190 [e100]
88247 [ 46.657004] [<ffffffff8159ee89>] dev_hard_start_xmit+0x259/0x6c0
88248
88249 Easy fix, modify the cb paramter to e100_exec_cb to return an error, and do the
88250 dma_mapping_error check in the obvious place
88251
88252 This was reported previously here:
88253 http://article.gmane.org/gmane.linux.network/257893
88254
88255 But nobody stepped up and fixed it.
88256
88257 CC: Josh Boyer <jwboyer@redhat.com>
88258 CC: e1000-devel@lists.sourceforge.net
88259 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
88260 Reported-by: Michal Jaegermann <michal@harddata.com>
88261 Tested-by: Aaron Brown <aaron.f.brown@intel.com>
88262 Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
88263 Signed-off-by: David S. Miller <davem@davemloft.net>
88264
88265 drivers/net/ethernet/intel/e100.c | 36 +++++++++++++++++++++++++-----------
88266 1 files changed, 25 insertions(+), 11 deletions(-)
88267
88268 commit df93708573ce6c512b9a9406a83a6fd4e87ff6a6
88269 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
88270 Date: Wed Apr 10 12:44:18 2013 -0400
88271
88272 Upstream commit: eb04e0ac198cec3bab407ad220438dfa65c19c67
88273
88274 NFSv4: Doh! Typo in the fix to nfs41_walk_client_list
88275
88276 Make sure that we set the status to 0 on success. Missed in testing
88277 because it never appears when doing multiple mounts to _different_
88278 servers.
88279
88280 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
88281 Cc: <stable@vger.kernel.org> # 3.7.x: 7b1f1fd: NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
88282
88283 fs/nfs/nfs4client.c | 1 +
88284 1 files changed, 1 insertions(+), 0 deletions(-)
88285
88286 commit 0ea7b7294f627588b0b3dc26a8a0ff8e1e27b5ea
88287 Author: Yuval Mintz <yuvalmin@broadcom.com>
88288 Date: Wed Apr 10 13:34:39 2013 +0300
88289
88290 Upstream commit: fea75645342c7ad574214497a78e562db12dfd7b
88291
88292 bnx2x: Prevent null pointer dereference in AFEX mode
88293
88294 The cnic module is responsible for initializing various bnx2x structs
88295 via callbacks provided by the bnx2x module.
88296 One such struct is the queue object for the FCoE queue.
88297
88298 If a device is working in AFEX mode and its configuration allows FCoE yet
88299 the cnic module is not loaded, it's very likely a null pointer dereference
88300 will occur, as the bnx2x will erroneously access the FCoE's queue object.
88301
88302 Prevent said access until cnic properly registers itself.
88303
88304 Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
88305 Signed-off-by: Ariel Elior <ariele@broadcom.com>
88306 Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
88307 Signed-off-by: David S. Miller <davem@davemloft.net>
88308
88309 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 3 ++-
88310 1 files changed, 2 insertions(+), 1 deletions(-)
88311
88312 commit 2908830232725db624aaa052f7ad38d1f98bf541
88313 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
88314 Date: Tue Apr 9 14:16:04 2013 +0800
88315
88316 Upstream commit: 3480a2125923e4b7a56d79efc76743089bf273fc
88317
88318 can: gw: use kmem_cache_free() instead of kfree()
88319
88320 Memory allocated by kmem_cache_alloc() should be freed using
88321 kmem_cache_free(), not kfree().
88322
88323 Cc: linux-stable <stable@vger.kernel.org> # >= v3.2
88324 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
88325 Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
88326 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
88327
88328 net/can/gw.c | 6 +++---
88329 1 files changed, 3 insertions(+), 3 deletions(-)
88330
88331 commit d40b572e845a5fb561e3c4a80cc306cd38888a4e
88332 Author: Christoph Paasch <christoph.paasch@uclouvain.be>
88333 Date: Sun Apr 7 04:53:15 2013 +0000
88334
88335 Upstream commit: 50a75a8914539c5dcd441c5f54d237a666a426fd
88336
88337 ipv6/tcp: Stop processing ICMPv6 redirect messages
88338
88339 Tetja Rediske found that if the host receives an ICMPv6 redirect message
88340 after sending a SYN+ACK, the connection will be reset.
88341
88342 He bisected it down to 093d04d (ipv6: Change skb->data before using
88343 icmpv6_notify() to propagate redirect), but the origin of the bug comes
88344 from ec18d9a26 (ipv6: Add redirect support to all protocol icmp error
88345 handlers.). The bug simply did not trigger prior to 093d04d, because
88346 skb->data did not point to the inner IP header and thus icmpv6_notify
88347 did not call the correct err_handler.
88348
88349 This patch adds the missing "goto out;" in tcp_v6_err. After receiving
88350 an ICMPv6 Redirect, we should not continue processing the ICMP in
88351 tcp_v6_err, as this may trigger the removal of request-socks or setting
88352 sk_err(_soft).
88353
88354 Reported-by: Tetja Rediske <tetja@tetja.de>
88355 Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
88356 Acked-by: Eric Dumazet <edumazet@google.com>
88357 Signed-off-by: David S. Miller <davem@davemloft.net>
88358
88359 net/ipv6/tcp_ipv6.c | 1 +
88360 1 files changed, 1 insertions(+), 0 deletions(-)
88361
88362 commit c7d5c2524456ef3ea9194840e7a9a75069a46824
88363 Author: Brad Spengler <spender@grsecurity.net>
88364 Date: Wed Apr 10 20:32:54 2013 -0400
88365
88366 - fixed typo in Makefile reported by mlarm (https://forums.grsecurity.net/viewtopic.php?t=3411)
88367
88368 Makefile | 2 +-
88369 1 files changed, 1 insertions(+), 1 deletions(-)
88370
88371 commit acac2380fd97acee4367d2aa24c74322dcf1d22b
88372 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
88373 Date: Fri Apr 5 16:11:11 2013 -0400
88374
88375 Upstream commit: 7b1f1fd1842e6ede25183c267ae733a7f67f00bc
88376
88377 NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
88378
88379 It is unsafe to use list_for_each_entry_safe() here, because
88380 when we drop the nn->nfs_client_lock, we pin the _current_ list
88381 entry and ensure that it stays in the list, but we don't do the
88382 same for the _next_ list entry. Use of list_for_each_entry() is
88383 therefore the correct thing to do.
88384
88385 Also fix the refcounting in nfs41_walk_client_list().
88386
88387 Finally, ensure that the nfs_client has finished being initialised
88388 and, in the case of NFSv4.1, that the session is set up.
88389
88390 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
88391 Cc: Chuck Lever <chuck.lever@oracle.com>
88392 Cc: Bryan Schumaker <bjschuma@netapp.com>
88393 Cc: stable@vger.kernel.org [>= 3.7]
88394
88395 fs/nfs/nfs4client.c | 44 ++++++++++++++++++++++++++++----------------
88396 1 files changed, 28 insertions(+), 16 deletions(-)
88397
88398 commit a6cf5f387b882ac0ce655b75f623f86c075517be
88399 Author: Chuck Lever <chuck.lever@oracle.com>
88400 Date: Fri Mar 22 12:52:59 2013 -0400
88401
88402 Upstream commit: a58e0be6f6b3eb2079b0b8fedc9df6fa86869f1e
88403
88404 SUNRPC: Remove extra xprt_put()
88405
88406 While testing error cases where rpc_new_client() fails, I saw
88407 some oopses.
88408
88409 If rpc_new_client() fails, it already invokes xprt_put(). Thus
88410 __rpc_clone_client() does not need to invoke it again.
88411
88412 Introduced by commit 1b63a751 "SUNRPC: Refactor rpc_clone_client()"
88413 Fri Sep 14, 2012.
88414
88415 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
88416 Cc: stable@vger.kernel.org [>=3.7]
88417 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
88418
88419 net/sunrpc/clnt.c | 4 +---
88420 1 files changed, 1 insertions(+), 3 deletions(-)
88421
88422 commit a744b307c1f65ceb100412dc18cdd7ecc9a8ae00
88423 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
88424 Date: Fri Apr 5 14:13:21 2013 -0400
88425
88426 Upstream commit: f05c124a70a4953a66acbd6d6c601ea1eb5d0fa7
88427
88428 SUNRPC: Fix a potential memory leak in rpc_new_client
88429
88430 If the call to rpciod_up() fails, we currently leak a reference to the
88431 struct rpc_xprt.
88432 As part of the fix, we also remove the redundant check for xprt!=NULL.
88433 This is already taken care of by the callers.
88434
88435 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
88436
88437 net/sunrpc/clnt.c | 7 ++-----
88438 1 files changed, 2 insertions(+), 5 deletions(-)
88439
88440 commit 43b9f1b9b8380984c5c100978bd33e8f16da06ac
88441 Author: Brad Spengler <spender@grsecurity.net>
88442 Date: Wed Apr 10 19:16:05 2013 -0400
88443
88444 From https://lkml.org/lkml/2013/4/8/469:
88445 [PATCH] rtnetlink: call nlmsg_parse() with correct header length
88446
88447 net/core/rtnetlink.c | 4 ++--
88448 1 files changed, 2 insertions(+), 2 deletions(-)
88449
88450 commit 9529169b8c405874fd543b785f53c74fa0501c2a
88451 Author: Christopher Harvey <charvey@matrox.com>
88452 Date: Fri Apr 5 10:51:15 2013 -0400
88453
88454 Upstream commit: 1812a3db0874be1d1524086da9e84397b800f546
88455
88456 drm/mgag200: Index 24 in extended CRTC registers is 24 in hex, not decimal.
88457
88458 This change properly enables the "requester" in G200ER cards that is
88459 responsible for getting pixels out of memory and clocking them out to
88460 the screen.
88461
88462 Signed-off-by: Christopher Harvey <charvey@matrox.com>
88463 Cc: stable@vger.kernel.org
88464 Signed-off-by: Dave Airlie <airlied@redhat.com>
88465
88466 drivers/gpu/drm/mgag200/mgag200_mode.c | 13 +++----------
88467 1 files changed, 3 insertions(+), 10 deletions(-)
88468
88469 commit 07c42243c7b01e2a7a9d168ad491e28b9ef9082a
88470 Author: Al Viro <viro@zeniv.linux.org.uk>
88471 Date: Thu Mar 28 13:30:23 2013 -0400
88472
88473 Upstream commit: 52f21999c7b921a0390708b66ed286282c2e4bee
88474
88475 ecryptfs: close rmmod race
88476
88477 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
88478
88479 fs/ecryptfs/miscdev.c | 14 ++------------
88480 1 files changed, 2 insertions(+), 12 deletions(-)
88481
88482 commit 2800bdcf9cd642b967e5fdc2a15c1c4aefbadd9b
88483 Author: Brad Spengler <spender@grsecurity.net>
88484 Date: Wed Apr 10 19:03:45 2013 -0400
88485
88486 Backport overflow fix from upstream commit: ccf932042fa7785832d8989ba1369cd7c7f5d7a1
88487
88488 arch/ia64/kernel/palinfo.c | 2 +-
88489 1 files changed, 1 insertions(+), 1 deletions(-)
88490
88491 commit 83280e384ae3ceadad30369ced111dc7d4b46085
88492 Author: Andrey Vagin <avagin@openvz.org>
88493 Date: Tue Apr 9 17:33:29 2013 +0400
88494
88495 Upstream commit: e9c5d8a562f01b211926d70443378eb14b29a676
88496
88497 mnt: release locks on error path in do_loopback
88498
88499 do_loopback calls lock_mount(path) and forget to unlock_mount
88500 if clone_mnt or copy_mnt fails.
88501
88502 [ 77.661566] ================================================
88503 [ 77.662939] [ BUG: lock held when returning to user space! ]
88504 [ 77.664104] 3.9.0-rc5+ #17 Not tainted
88505 [ 77.664982] ------------------------------------------------
88506 [ 77.666488] mount/514 is leaving the kernel with locks still held!
88507 [ 77.668027] 2 locks held by mount/514:
88508 [ 77.668817] #0: (&sb->s_type->i_mutex_key#7){+.+.+.}, at: [<ffffffff811cca22>] lock_mount+0x32/0xe0
88509 [ 77.671755] #1: (&namespace_sem){+++++.}, at: [<ffffffff811cca3a>] lock_mount+0x4a/0xe0
88510
88511 Signed-off-by: Andrey Vagin <avagin@openvz.org>
88512 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
88513
88514 fs/namespace.c | 2 +-
88515 1 files changed, 1 insertions(+), 1 deletions(-)
88516
88517 commit 679e536b9d9536d804f049fe942367a596253e6d
88518 Author: Alex Williamson <alex.williamson@redhat.com>
88519 Date: Tue Mar 26 11:33:16 2013 -0600
88520
88521 Upstream commit: 904c680c7bf016a8619a045850937427f8d7368c
88522
88523 vfio-pci: Fix possible integer overflow
88524
88525 The VFIO_DEVICE_SET_IRQS ioctl takes a start and count parameter, both
88526 of which are unsigned. We attempt to bounds check these, but fail to
88527 account for the case where start is a very large number, allowing
88528 start + count to wrap back into the valid range. Bounds check both
88529 start and start + count.
88530
88531 Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
88532 Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
88533
88534 drivers/vfio/pci/vfio_pci.c | 3 ++-
88535 1 files changed, 2 insertions(+), 1 deletions(-)
88536
88537 commit 63badcd2023717cc62b6c3ad5f25fe504c49e6d7
88538 Author: Brad Spengler <spender@grsecurity.net>
88539 Date: Wed Apr 10 18:48:45 2013 -0400
88540
88541 Don't auto-enable stackleak if kernel is used for xen dom0, kernel will not boot
88542
88543 security/Kconfig | 2 +-
88544 1 files changed, 1 insertions(+), 1 deletions(-)
88545
88546 commit b5261a6384ee42499b29495aaae40b271e77d394
88547 Author: Brad Spengler <spender@grsecurity.net>
88548 Date: Tue Apr 9 17:30:45 2013 -0400
88549
88550 some undefined behavior fixups
88551
88552 grsecurity/gracl.c | 4 ++--
88553 grsecurity/gracl_ip.c | 10 +++++-----
88554 grsecurity/gracl_segv.c | 4 ++--
88555 3 files changed, 9 insertions(+), 9 deletions(-)
88556
88557 commit 9f83caa35e78be1f3e753586ab217555c3b21ff4
88558 Author: Brad Spengler <spender@grsecurity.net>
88559 Date: Tue Apr 9 17:28:54 2013 -0400
88560
88561 don't whine about denied ipv6 when it's not enabled
88562
88563 grsecurity/gracl_ip.c | 3 +++
88564 1 files changed, 3 insertions(+), 0 deletions(-)
88565
88566 commit 5a02f8bc96bd0c31f9ff09e63f9d85d560b8be61
88567 Merge: 97bca88 9123489
88568 Author: Brad Spengler <spender@grsecurity.net>
88569 Date: Tue Apr 9 17:18:45 2013 -0400
88570
88571 Merge branch 'pax-test' into grsec-test
88572
88573 commit 9123489428c58668a89f316db6619739cbdd2c2a
88574 Author: Brad Spengler <spender@grsecurity.net>
88575 Date: Tue Apr 9 17:17:46 2013 -0400
88576
88577 Update to pax-linux-3.8.6-test18.patch:
88578 - new size overflow plugin from Emese to work around a gcc optimization
88579 resulting in an intentional overflow, reported by Carlos Carvalho
88580 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3409)
88581
88582 tools/gcc/size_overflow_plugin.c | 68 ++++++++++++++++++++++++++++++++++++-
88583 1 files changed, 66 insertions(+), 2 deletions(-)
88584
88585 commit 97bca8889e0f1e853f16b7026c39c6729a8587ab
88586 Merge: 675a41e e9d6073
88587 Author: Brad Spengler <spender@grsecurity.net>
88588 Date: Mon Apr 8 21:32:59 2013 -0400
88589
88590 Merge branch 'pax-test' into grsec-test
88591
88592 Conflicts:
88593 arch/sparc/kernel/us3_cpufreq.c
88594
88595 commit e9d6073f15010ccace0b6b0f0a19ed63cf1adeef
88596 Author: Brad Spengler <spender@grsecurity.net>
88597 Date: Mon Apr 8 21:19:03 2013 -0400
88598
88599 Update to pax-linux-3.8.6-test17.patch:
88600 - fixed ia64/ppc/sparc compilation by spender
88601 - improved the STRUCTLEAK gcc plugin to cover a few more cases (credit to stef for the bugreport)
88602
88603 arch/ia64/include/asm/uaccess.h | 2 -
88604 arch/powerpc/include/asm/uaccess.h | 2 -
88605 arch/sparc/include/asm/uaccess.h | 7 ----
88606 arch/sparc/kernel/prom_common.c | 2 +-
88607 arch/sparc/kernel/us3_cpufreq.c | 69 ++++++++++--------------------------
88608 tools/gcc/structleak_plugin.c | 15 ++++----
88609 6 files changed, 28 insertions(+), 69 deletions(-)
88610
88611 commit 675a41e42a636dcb1e97bffe0f0fa6262242e64b
88612 Author: Brad Spengler <spender@grsecurity.net>
88613 Date: Sun Apr 7 12:00:50 2013 -0400
88614
88615 fix similar leaks in sys_recvfrom as fixed in recvmsg, already handled by the new structleak plugin
88616
88617 net/socket.c | 2 +-
88618 1 files changed, 1 insertions(+), 1 deletions(-)
88619
88620 commit 5a216624a06429488f24ce47db093da042f90e48
88621 Author: Brad Spengler <spender@grsecurity.net>
88622 Date: Sat Apr 6 13:22:24 2013 -0400
88623
88624 fix typo
88625
88626 arch/sparc/kernel/us3_cpufreq.c | 5 +----
88627 1 files changed, 1 insertions(+), 4 deletions(-)
88628
88629 commit e476ca18d21788898cd3acd1b57049971a2fb70f
88630 Author: Brad Spengler <spender@grsecurity.net>
88631 Date: Sat Apr 6 13:16:13 2013 -0400
88632
88633 properly fix cpufreq_driver for ultrasparc III with constification
88634
88635 arch/sparc/kernel/us3_cpufreq.c | 35 +++++++++++++++++------------------
88636 1 files changed, 17 insertions(+), 18 deletions(-)
88637
88638 commit 3ef64a33c8a38d17db7d1e6ff13d9036c75598ae
88639 Author: Brad Spengler <spender@grsecurity.net>
88640 Date: Sat Apr 6 12:58:48 2013 -0400
88641
88642 mark prom_sparc_ops __initconst
88643
88644 arch/sparc/kernel/prom_common.c | 2 +-
88645 1 files changed, 1 insertions(+), 1 deletions(-)
88646
88647 commit daaa8e290cb1eb08e86c6d3f0fb1a8270d897439
88648 Author: Brad Spengler <spender@grsecurity.net>
88649 Date: Sat Apr 6 12:53:16 2013 -0400
88650
88651 fix ia64/powerpc/sparc compilation
88652
88653 arch/ia64/include/asm/uaccess.h | 2 --
88654 arch/powerpc/include/asm/uaccess.h | 2 --
88655 arch/sparc/include/asm/uaccess.h | 7 -------
88656 3 files changed, 0 insertions(+), 11 deletions(-)
88657
88658 commit 4a0cd3af0fd8788bd1c84de775743c8ae51e9a39
88659 Author: Johannes Berg <johannes.berg@intel.com>
88660 Date: Tue Mar 19 20:26:57 2013 +0100
88661
88662 Upstream commit: ce1eadda6badef9e4e3460097ede674fca47383d
88663
88664 cfg80211: fix wdev tracing crash
88665
88666 Arend reported a crash in tracing if the driver returns an
88667 ERR_PTR() value from the add_virtual_intf() callback. This
88668 is due to the tracing then still attempting to dereference
88669 the "pointer", fix this by using IS_ERR_OR_NULL().
88670
88671 Reported-by: Arend van Spriel <arend@broadcom.com>
88672 Tested-by: Arend van Spriel <arend@broadcom.com>
88673 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
88674
88675 net/wireless/trace.h | 3 ++-
88676 1 files changed, 2 insertions(+), 1 deletions(-)
88677
88678 commit 68e6eafdaf9a3b37c780b3916a35a1961b1559fd
88679 Author: Johannes Berg <johannes.berg@intel.com>
88680 Date: Mon Mar 25 11:51:14 2013 +0100
88681
88682 Upstream commit: 3fbd45ca8d1c98f3c2582ef8bc70ade42f70947b
88683
88684 mac80211: fix remain-on-channel cancel crash
88685
88686 If a ROC item is canceled just as it expires, the work
88687 struct may be scheduled while it is running (and waiting
88688 for the mutex). This results in it being run after being
88689 freed, which obviously crashes.
88690
88691 To fix this don't free it when aborting is requested but
88692 instead mark it as "to be freed", which makes the work a
88693 no-op and allows freeing it outside.
88694
88695 Cc: stable@vger.kernel.org [3.6+]
88696 Reported-by: Jouni Malinen <j@w1.fi>
88697 Tested-by: Jouni Malinen <j@w1.fi>
88698 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
88699
88700 net/mac80211/cfg.c | 6 ++++--
88701 net/mac80211/ieee80211_i.h | 3 ++-
88702 net/mac80211/offchannel.c | 23 +++++++++++++++++------
88703 3 files changed, 23 insertions(+), 9 deletions(-)
88704
88705 commit dd5df32b00e3c2344ba39fe01071e7b67b83e1e4
88706 Author: Stone Piao <piaoyun@marvell.com>
88707 Date: Fri Mar 29 19:21:21 2013 -0700
88708
88709 Upstream commit: 901ceba4e81e9dd6b4a3c4c37ee22000a6c5c65f
88710
88711 mwifiex: limit channel number not to overflow memory
88712
88713 Limit the channel number in scan request, or the driver scan
88714 config structure memory will be overflowed.
88715
88716 Cc: <stable@vger.kernel.org> # 3.5+
88717 Signed-off-by: Stone Piao <piaoyun@marvell.com>
88718 Signed-off-by: Bing Zhao <bzhao@marvell.com>
88719 Signed-off-by: John W. Linville <linville@tuxdriver.com>
88720
88721 drivers/net/wireless/mwifiex/cfg80211.c | 3 ++-
88722 1 files changed, 2 insertions(+), 1 deletions(-)
88723
88724 commit 207c411512bdaf0e4271f93ecac6ca26588da36f
88725 Author: Gao feng <gaofeng@cn.fujitsu.com>
88726 Date: Thu Mar 21 19:48:41 2013 +0000
88727
88728 Upstream commit: 130549fed828cc34c22624c6195afcf9e7ae56fe
88729
88730 netfilter: reset nf_trace in nf_reset
88731
88732 We forgot to clear the nf_trace of sk_buff in nf_reset,
88733 When we use veth device, this nf_trace information will
88734 be leaked from one net namespace to another net namespace.
88735
88736 Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
88737 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
88738
88739 include/linux/skbuff.h | 3 +++
88740 1 files changed, 3 insertions(+), 0 deletions(-)
88741
88742 commit 3b12800d73c763265b2de5f2a7a745d9caa62c6f
88743 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
88744 Date: Fri Mar 22 01:28:18 2013 +0000
88745
88746 Upstream commit: 558724a5b2a73ad0c7638e21e8dffc419d267b6c
88747
88748 netfilter: nfnetlink_queue: fix error return code in nfnetlink_queue_init()
88749
88750 Fix to return a negative error code from the error handling
88751 case instead of 0, as returned elsewhere in this function.
88752
88753 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
88754 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
88755
88756 net/netfilter/nfnetlink_queue_core.c | 4 +++-
88757 1 files changed, 3 insertions(+), 1 deletions(-)
88758
88759 commit a79feb7d3251eca577d83d7f69eee2b961ab2924
88760 Author: Pablo Neira Ayuso <pablo@netfilter.org>
88761 Date: Sat Mar 23 16:57:59 2013 +0100
88762
88763 Upstream commit: deadcfc3324410726cd6a663fb4fc46be595abe7
88764
88765 netfilter: nfnetlink_acct: return -EINVAL if object name is empty
88766
88767 If user-space tries to create accounting object with an empty
88768 name, then return -EINVAL.
88769
88770 Reported-by: Michael Zintakis <michael.zintakis@googlemail.com>
88771 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
88772
88773 net/netfilter/nfnetlink_acct.c | 2 ++
88774 1 files changed, 2 insertions(+), 0 deletions(-)
88775
88776 commit 1a51dca4fc16538d90a7a4c92b1ffe7e0fd76cf7
88777 Author: Matthias Schiffer <mschiffer@universe-factory.net>
88778 Date: Sat Mar 30 10:23:12 2013 +0000
88779
88780 Upstream commit: 906b1c394d0906a154fbdc904ca506bceb515756
88781
88782 netfilter: ip6t_NPT: Fix translation for non-multiple of 32 prefix lengths
88783
88784 The bitmask used for the prefix mangling was being calculated
88785 incorrectly, leading to the wrong part of the address being replaced
88786 when the prefix length wasn't a multiple of 32.
88787
88788 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
88789 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
88790
88791 net/ipv6/netfilter/ip6t_NPT.c | 2 +-
88792 1 files changed, 1 insertions(+), 1 deletions(-)
88793
88794 commit 3425de1e3dc22e1602f9c77fe8d258da58416d5e
88795 Author: Veaceslav Falico <vfalico@redhat.com>
88796 Date: Wed Apr 3 05:46:33 2013 +0000
88797
88798 Upstream commit: 4de79c737b200492195ebc54a887075327e1ec1d
88799
88800 bonding: remove sysfs before removing devices
88801
88802 We have a race condition if we try to rmmod bonding and simultaneously add
88803 a bond master through sysfs. In bonding_exit() we first remove the devices
88804 (through rtnl_link_unregister() ) and only after that we remove the sysfs.
88805 If we manage to add a device through sysfs after that the devices were
88806 removed - we'll end up with that device/sysfs structure and with the module
88807 unloaded.
88808
88809 Fix this by first removing the sysfs and only after that calling
88810 rtnl_link_unregister().
88811
88812 Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
88813 Signed-off-by: David S. Miller <davem@davemloft.net>
88814
88815 drivers/net/bonding/bond_main.c | 2 +-
88816 1 files changed, 1 insertions(+), 1 deletions(-)
88817
88818 commit d12cae44a9d12441d81c489178803237219d403d
88819 Author: Eric W. Biederman <ebiederm@xmission.com>
88820 Date: Wed Apr 3 16:14:47 2013 +0000
88821
88822 Upstream commit: 0e82e7f6dfeec1013339612f74abc2cdd29d43d2
88823
88824 af_unix: If we don't care about credentials coallesce all messages
88825
88826 It was reported that the following LSB test case failed
88827 https://lsbbugs.linuxfoundation.org/attachment.cgi?id=2144 because we
88828 were not coallescing unix stream messages when the application was
88829 expecting us to.
88830
88831 The problem was that the first send was before the socket was accepted
88832 and thus sock->sk_socket was NULL in maybe_add_creds, and the second
88833 send after the socket was accepted had a non-NULL value for sk->socket
88834 and thus we could tell the credentials were not needed so we did not
88835 bother.
88836
88837 The unnecessary credentials on the first message cause
88838 unix_stream_recvmsg to start verifying that all messages had the same
88839 credentials before coallescing and then the coallescing failed because
88840 the second message had no credentials.
88841
88842 Ignoring credentials when we don't care in unix_stream_recvmsg fixes a
88843 long standing pessimization which would fail to coallesce messages when
88844 reading from a unix stream socket if the senders were different even if
88845 we did not care about their credentials.
88846
88847 I have tested this and verified that the in the LSB test case mentioned
88848 above that the messages do coallesce now, while the were failing to
88849 coallesce without this change.
88850
88851 Reported-by: Karel Srot <ksrot@redhat.com>
88852 Reported-by: Ding Tianhong <dingtianhong@huawei.com>
88853 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
88854 Signed-off-by: David S. Miller <davem@davemloft.net>
88855
88856 net/unix/af_unix.c | 2 +-
88857 1 files changed, 1 insertions(+), 1 deletions(-)
88858
88859 commit 126d882492b130da6367f71cdf3ac59bf4f4c1bf
88860 Author: Eric W. Biederman <ebiederm@xmission.com>
88861 Date: Wed Apr 3 16:13:35 2013 +0000
88862
88863 Upstream commit: 25da0e3e9d3fb2b522bc2a598076735850310eb1
88864
88865 Revert "af_unix: dont send SCM_CREDENTIAL when dest socket is NULL"
88866
88867 This reverts commit 14134f6584212d585b310ce95428014b653dfaf6.
88868
88869 The problem that the above patch was meant to address is that af_unix
88870 messages are not being coallesced because we are sending unnecesarry
88871 credentials. Not sending credentials in maybe_add_creds totally
88872 breaks unconnected unix domain sockets that wish to send credentails
88873 to other sockets.
88874
88875 In practice this break some versions of udev because they receive a
88876 message and the sending uid is bogus so they drop the message.
88877
88878 Reported-by: Sven Joachim <svenjoac@gmx.de>
88879 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
88880 Signed-off-by: David S. Miller <davem@davemloft.net>
88881
88882 net/unix/af_unix.c | 4 ++--
88883 1 files changed, 2 insertions(+), 2 deletions(-)
88884
88885 commit 1295b4f600e8f5ab56af71e5a89e4c0e74e95663
88886 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
88887 Date: Wed Mar 20 21:31:42 2013 +0000
88888
88889 Upstream commit: cb0e51d80694fc9964436be1a1a15275e991cb1e
88890
88891 lantiq_etop: use free_netdev(netdev) instead of kfree()
88892
88893 Freeing netdev without free_netdev() leads to net, tx leaks.
88894 And it may lead to dereferencing freed pointer.
88895
88896 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
88897 Signed-off-by: David S. Miller <davem@davemloft.net>
88898
88899 drivers/net/ethernet/lantiq_etop.c | 2 +-
88900 1 files changed, 1 insertions(+), 1 deletions(-)
88901
88902 commit 1dcdddf846697fbd0b474e7b12ff92f7b408fe5f
88903 Author: Cong Wang <amwang@redhat.com>
88904 Date: Fri Mar 22 19:14:07 2013 +0000
88905
88906 Upstream commit: 4a7df340ed1bac190c124c1601bfc10cde9fb4fb
88907
88908 8021q: fix a potential use-after-free
88909
88910 vlan_vid_del() could possibly free ->vlan_info after a RCU grace
88911 period, however, we may still refer to the freed memory area
88912 by 'grp' pointer. Found by code inspection.
88913
88914 This patch moves vlan_vid_del() as behind as possible.
88915
88916 Cc: Patrick McHardy <kaber@trash.net>
88917 Cc: "David S. Miller" <davem@davemloft.net>
88918 Signed-off-by: Cong Wang <amwang@redhat.com>
88919 Acked-by: Eric Dumazet <edumazet@google.com>
88920 Signed-off-by: David S. Miller <davem@davemloft.net>
88921
88922 net/8021q/vlan.c | 7 +++++++
88923 1 files changed, 7 insertions(+), 0 deletions(-)
88924
88925 commit fff29c277024a39845d4b535083c8dafc21b45d9
88926 Author: Hong zhi guo <honkiko@gmail.com>
88927 Date: Sat Mar 23 02:27:50 2013 +0000
88928
88929 Upstream commit: 9b46922e15f4d9d2aedcd320c3b7f7f54d956da7
88930
88931 bridge: fix crash when set mac address of br interface
88932
88933 When I tried to set mac address of a bridge interface to a mac
88934 address which already learned on this bridge, I got system hang.
88935
88936 The cause is straight forward: function br_fdb_change_mac_address
88937 calls fdb_insert with NULL source nbp. Then an fdb lookup is
88938 performed. If an fdb entry is found and it's local, it's OK. But
88939 if it's not local, source is dereferenced for printk without NULL
88940 check.
88941
88942 Signed-off-by: Hong Zhiguo <honkiko@gmail.com>
88943 Signed-off-by: David S. Miller <davem@davemloft.net>
88944
88945 net/bridge/br_fdb.c | 2 +-
88946 1 files changed, 1 insertions(+), 1 deletions(-)
88947
88948 commit b72eca0f8495b4b084bcf3eb4fbb425281ba5349
88949 Author: Kumar Amit Mehta <gmate.amit@gmail.com>
88950 Date: Sat Mar 23 20:10:25 2013 +0000
88951
88952 Upstream commit: 8fe7f99a9e11a43183bc27420309ae105e1fec1a
88953
88954 bnx2x: fix assignment of signed expression to unsigned variable
88955
88956 fix for incorrect assignment of signed expression to unsigned variable.
88957
88958 Signed-off-by: Kumar Amit Mehta <gmate.amit@gmail.com>
88959 Acked-by: Dmitry Kravkov <dmitry@broadcom.com>
88960 Signed-off-by: David S. Miller <davem@davemloft.net>
88961
88962 drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | 18 +++++++++---------
88963 1 files changed, 9 insertions(+), 9 deletions(-)
88964
88965 commit 4d2d5e3694574d8e9d7594bf6111f144dccc873e
88966 Author: dingtianhong <dingtianhong@huawei.com>
88967 Date: Mon Mar 25 17:02:04 2013 +0000
88968
88969 Upstream commit: 14134f6584212d585b310ce95428014b653dfaf6
88970
88971 af_unix: dont send SCM_CREDENTIAL when dest socket is NULL
88972
88973 SCM_SCREDENTIALS should apply to write() syscalls only either source or destination
88974 socket asserted SOCK_PASSCRED. The original implememtation in maybe_add_creds is wrong,
88975 and breaks several LSB testcases ( i.e. /tset/LSB.os/netowkr/recvfrom/T.recvfrom).
88976
88977 Origionally-authored-by: Karel Srot <ksrot@redhat.com>
88978 Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
88979 Acked-by: Eric Dumazet <edumazet@google.com>
88980 Signed-off-by: David S. Miller <davem@davemloft.net>
88981
88982 net/unix/af_unix.c | 4 ++--
88983 1 files changed, 2 insertions(+), 2 deletions(-)
88984
88985 commit b964e1e61f0f0ccaa380be3342f956c604054bdc
88986 Author: Eric W. Biederman <ebiederm@xmission.com>
88987 Date: Thu Mar 21 02:30:41 2013 -0700
88988
88989 Upstream commit: eddc0a3abff273842a94784d2d022bbc36dc9015
88990
88991 yama: Better permission check for ptraceme
88992
88993 Change the permission check for yama_ptrace_ptracee to the standard
88994 ptrace permission check, testing if the traceer has CAP_SYS_PTRACE
88995 in the tracees user namespace.
88996
88997 Reviewed-by: Kees Cook <keescook@chromium.org>
88998 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
88999
89000 security/yama/yama_lsm.c | 4 +---
89001 1 files changed, 1 insertions(+), 3 deletions(-)
89002
89003 commit b94e71c7b6abe75989edff18aca2781233fa143b
89004 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
89005 Date: Mon Apr 1 11:40:51 2013 +0400
89006
89007 Upstream commit: 2dc958fa2fe6987e7ab106bd97029a09a82fcd8d
89008
89009 ipc: set msg back to -EAGAIN if copy wasn't performed
89010
89011 Make sure that msg pointer is set back to error value in case of
89012 MSG_COPY flag is set and desired message to copy wasn't found. This
89013 garantees that msg is either a error pointer or a copy address.
89014
89015 Otherwise the last message in queue will be freed without unlinking from
89016 the queue (which leads to memory corruption) and the dummy allocated
89017 copy won't be released.
89018
89019 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
89020 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
89021
89022 ipc/msg.c | 1 +
89023 1 files changed, 1 insertions(+), 0 deletions(-)
89024
89025 commit a997fbbe7a37ffd805f4784a18b8e530da6978d1
89026 Author: Jan Kara <jack@suse.cz>
89027 Date: Fri Mar 29 15:39:16 2013 +0100
89028
89029 Upstream commit: 35e5cbc0af240778e61113286c019837e06aeec6
89030
89031 reiserfs: Fix warning and inode leak when deleting inode with xattrs
89032
89033 After commit 21d8a15a (lookup_one_len: don't accept . and ..) reiserfs
89034 started failing to delete xattrs from inode. This was due to a buggy
89035 test for '.' and '..' in fill_with_dentries() which resulted in passing
89036 '.' and '..' entries to lookup_one_len() in some cases. That returned
89037 error and so we failed to iterate over all xattrs of and inode.
89038
89039 Fix the test in fill_with_dentries() along the lines of the one in
89040 lookup_one_len().
89041
89042 Reported-by: Pawel Zawora <pzawora@gmail.com>
89043 CC: stable@vger.kernel.org
89044 Signed-off-by: Jan Kara <jack@suse.cz>
89045
89046 fs/reiserfs/xattr.c | 4 ++--
89047 1 files changed, 2 insertions(+), 2 deletions(-)
89048
89049 commit 9f07957378e0f55abb81da8e23b124a608fbe1cc
89050 Author: Paul Bolle <pebolle@tiscali.nl>
89051 Date: Wed Apr 3 12:24:45 2013 +0100
89052
89053 Upstream commit: 4e1db26a0b42e2b6e27c05d68adcc01709c2eed2
89054
89055 ARM: 7690/1: mm: fix CONFIG_LPAE typos
89056
89057 CONFIG_LPAE doesn't exist: the correct option is CONFIG_ARM_LPAE, so fix
89058 up the two typos under arch/arm/.
89059
89060 The fix to head.S is slightly scary, but this is just for setting up
89061 an early io-mapping for the serial port when running on a big-endian,
89062 LPAE system. Since these systems don't exist in the wild (at least, I
89063 have no access to one outside of kvmtool, which doesn't provide a serial
89064 port suitable for earlyprintk), then we can revisit the code later if it
89065 causes any problems.
89066
89067 Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
89068 Signed-off-by: Will Deacon <will.deacon@arm.com>
89069 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
89070
89071 arch/arm/kernel/head.S | 2 +-
89072 arch/arm/kernel/setup.c | 2 +-
89073 2 files changed, 2 insertions(+), 2 deletions(-)
89074
89075 commit 984ba346b2d8f158473e9723ba145031368431ed
89076 Author: Catalin Marinas <catalin.marinas@arm.com>
89077 Date: Tue Mar 26 23:35:04 2013 +0100
89078
89079 Upstream commit: 93dc68876b608da041fe40ed39424b0fcd5aa2fb
89080
89081 ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB operations)
89082
89083 On Cortex-A15 (r0p0..r3p2) the TLBI/DSB are not adequately shooting down
89084 all use of the old entries. This patch implements the erratum workaround
89085 which consists of:
89086
89087 1. Dummy TLBIMVAIS and DSB on the CPU doing the TLBI operation.
89088 2. Send IPI to the CPUs that are running the same mm (and ASID) as the
89089 one being invalidated (or all the online CPUs for global pages).
89090 3. CPU receiving the IPI executes a DMB and CLREX (part of the exception
89091 return code already).
89092
89093 Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
89094 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
89095
89096 Conflicts:
89097
89098 arch/arm/include/asm/tlbflush.h
89099 arch/arm/kernel/smp_tlb.c
89100 arch/arm/mm/context.c
89101
89102 arch/arm/Kconfig | 10 +++++
89103 arch/arm/include/asm/highmem.h | 7 ++++
89104 arch/arm/include/asm/mmu_context.h | 2 +
89105 arch/arm/include/asm/tlbflush.h | 15 ++++++++
89106 arch/arm/kernel/smp_tlb.c | 66 ++++++++++++++++++++++++++++++++++++
89107 arch/arm/mm/context.c | 6 ++-
89108 6 files changed, 104 insertions(+), 2 deletions(-)
89109
89110 commit 9a6ef010c38b3d5471886d2dea6e3c1622e2a286
89111 Author: Jan Stancek <jstancek@redhat.com>
89112 Date: Thu Apr 4 11:35:10 2013 -0700
89113
89114 Upstream commit: b6a9b7f6b1f21735a7456d534dc0e68e61359d2c
89115
89116 mm: prevent mmap_cache race in find_vma()
89117
89118 find_vma() can be called by multiple threads with read lock
89119 held on mm->mmap_sem and any of them can update mm->mmap_cache.
89120 Prevent compiler from re-fetching mm->mmap_cache, because other
89121 readers could update it in the meantime:
89122
89123 thread 1 thread 2
89124 |
89125 find_vma() | find_vma()
89126 struct vm_area_struct *vma = NULL; |
89127 vma = mm->mmap_cache; |
89128 if (!(vma && vma->vm_end > addr |
89129 && vma->vm_start <= addr)) { |
89130 | mm->mmap_cache = vma;
89131 return vma; |
89132 ^^ compiler may optimize this |
89133 local variable out and re-read |
89134 mm->mmap_cache |
89135
89136 This issue can be reproduced with gcc-4.8.0-1 on s390x by running
89137 mallocstress testcase from LTP, which triggers:
89138
89139 kernel BUG at mm/rmap.c:1088!
89140 Call Trace:
89141 ([<000003d100c57000>] 0x3d100c57000)
89142 [<000000000023a1c0>] do_wp_page+0x2fc/0xa88
89143 [<000000000023baae>] handle_pte_fault+0x41a/0xac8
89144 [<000000000023d832>] handle_mm_fault+0x17a/0x268
89145 [<000000000060507a>] do_protection_exception+0x1e2/0x394
89146 [<0000000000603a04>] pgm_check_handler+0x138/0x13c
89147 [<000003fffcf1f07a>] 0x3fffcf1f07a
89148 Last Breaking-Event-Address:
89149 [<000000000024755e>] page_add_new_anon_rmap+0xc2/0x168
89150
89151 Thanks to Jakub Jelinek for his insight on gcc and helping to
89152 track this down.
89153
89154 Signed-off-by: Jan Stancek <jstancek@redhat.com>
89155 Acked-by: David Rientjes <rientjes@google.com>
89156 Signed-off-by: Hugh Dickins <hughd@google.com>
89157 Cc: stable@vger.kernel.org
89158 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
89159
89160 mm/mmap.c | 2 +-
89161 mm/nommu.c | 2 +-
89162 2 files changed, 2 insertions(+), 2 deletions(-)
89163
89164 commit 53f5096daa14967938bc154e6c41f9119863fb36
89165 Merge: e988d7c 0a45285
89166 Author: Brad Spengler <spender@grsecurity.net>
89167 Date: Fri Apr 5 17:32:31 2013 -0400
89168
89169 Merge branch 'pax-test' into grsec-test
89170
89171 Conflicts:
89172 drivers/net/ethernet/broadcom/tg3.c
89173
89174 commit 0a452855444d02502df6eb21ef3083cf303f71e1
89175 Merge: 0277fa1 00cfbb8
89176 Author: Brad Spengler <spender@grsecurity.net>
89177 Date: Fri Apr 5 17:31:15 2013 -0400
89178
89179 Update to pax-linux-3.8.6-test16.patch:
89180 - fixed some attribute leakage into userland headers, patch by Mathias Krause
89181 - fixed some of the access_*_vm related breakage that trigger size overflows, reported by Hunger
89182
89183 Merge branch 'linux-3.8.y' into pax-test
89184
89185 Conflicts:
89186 drivers/gpu/drm/i915/intel_display.c
89187
89188 commit e988d7c8d946c816a2cb97f0d38048a1584966b8
89189 Merge: baec40e 0277fa1
89190 Author: Brad Spengler <spender@grsecurity.net>
89191 Date: Wed Apr 3 22:05:41 2013 -0400
89192
89193 Merge branch 'pax-test' into grsec-test
89194
89195 commit 0277fa123b486cf11420967e4568d7653e225fd3
89196 Author: Brad Spengler <spender@grsecurity.net>
89197 Date: Wed Apr 3 22:04:48 2013 -0400
89198
89199 Update to pax-linux-3.8.5-test15.patch:
89200 - fixed section mismatch error caused by CONSTIFY (http://forums.grsecurity.net/viewtopic.php?f=3&t=3388 and http://forums.grsecurity.net/viewtopic.php?f=3&t=3391)
89201 - fixed integer type mixup in the cx88 driver (http://forums.grsecurity.net/viewtopic.php?f=3&t=3394)
89202
89203 drivers/media/pci/cx88/cx88-video.c | 6 +++---
89204 include/net/net_namespace.h | 4 ++++
89205 2 files changed, 7 insertions(+), 3 deletions(-)
89206
89207 commit baec40e6708fd5ae2000cad6c70c5980c998b91c
89208 Author: Brad Spengler <spender@grsecurity.net>
89209 Date: Tue Apr 2 19:50:32 2013 -0400
89210
89211 fix compilation as reported on forums for gcc versions lacking plugin
89212 support
89213
89214 include/net/net_namespace.h | 4 ++++
89215 1 files changed, 4 insertions(+), 0 deletions(-)
89216
89217 commit f6da5efca8a7edc9d3af02d6c35fddae0d2fd095
89218 Merge: 6b69c35 0db9d15
89219 Author: Brad Spengler <spender@grsecurity.net>
89220 Date: Tue Apr 2 17:47:27 2013 -0400
89221
89222 Merge branch 'pax-test' into grsec-test
89223
89224 commit 0db9d156826bdd50510086fde837648a3dfd370e
89225 Author: Brad Spengler <spender@grsecurity.net>
89226 Date: Tue Apr 2 17:46:05 2013 -0400
89227
89228 Update to pax-linux-3.8.5-test14.patch:
89229 - removed some no longer necessary __size_overflow marks and updated the overflow plugin's hash table
89230
89231 arch/x86/include/asm/uaccess_64.h | 6 +-
89232 include/linux/moduleloader.h | 4 +-
89233 tools/gcc/size_overflow_hash.data | 98 +++++++++++++++++++++----------------
89234 3 files changed, 61 insertions(+), 47 deletions(-)
89235
89236 commit 6b69c3589fa97b454a08c28ecfac5a512f610f4d
89237 Author: Brad Spengler <spender@grsecurity.net>
89238 Date: Tue Apr 2 17:35:06 2013 -0400
89239
89240 remove duplicate compiler.h
89241
89242 include/linux/sysrq.h | 1 -
89243 1 files changed, 0 insertions(+), 1 deletions(-)
89244
89245 commit 01e1d503fd2220adaaec0b92ea19441bdff73555
89246 Author: Brad Spengler <spender@grsecurity.net>
89247 Date: Fri Mar 29 19:53:50 2013 -0400
89248
89249 fix intentional_overflow marking on sys_sendto
89250
89251 include/linux/syscalls.h | 2 +-
89252 net/socket.c | 2 +-
89253 2 files changed, 2 insertions(+), 2 deletions(-)
89254
89255 commit cd5ff114d958470f471c63775278e8c05e774630
89256 Author: Brad Spengler <spender@grsecurity.net>
89257 Date: Fri Mar 29 18:46:16 2013 -0400
89258
89259 fix size_overflow false positive
89260
89261 kernel/futex_compat.c | 2 +-
89262 1 files changed, 1 insertions(+), 1 deletions(-)
89263
89264 commit 295ba16cc53df2375261accbedd6575ea327770a
89265 Merge: 18340f1 278a989
89266 Author: Brad Spengler <spender@grsecurity.net>
89267 Date: Fri Mar 29 17:36:18 2013 -0400
89268
89269 Merge branch 'pax-test' into grsec-test
89270
89271 Conflicts:
89272 fs/exec.c
89273 include/linux/thread_info.h
89274
89275 commit 278a989c831d62193c7b3d119fe2302babd45d12
89276 Author: Brad Spengler <spender@grsecurity.net>
89277 Date: Fri Mar 29 17:34:34 2013 -0400
89278
89279 Resync with pax-linux-3.8.5-test13.patch
89280
89281 arch/arm/include/asm/pgtable.h | 3 ++-
89282 arch/arm/lib/delay.c | 1 +
89283 fs/exec.c | 8 ++++----
89284 include/linux/compiler.h | 1 +
89285 include/linux/proc_fs.h | 2 +-
89286 include/linux/thread_info.h | 6 +++---
89287 include/linux/zlib.h | 3 ++-
89288 init/main.c | 4 ++--
89289 kernel/user_namespace.c | 2 +-
89290 lib/list_debug.c | 4 ++--
89291 mm/slab.c | 1 +
89292 mm/slob.c | 1 +
89293 mm/slub.c | 1 +
89294 net/core/sysctl_net_core.c | 3 +--
89295 tools/gcc/constify_plugin.c | 1 +
89296 15 files changed, 24 insertions(+), 17 deletions(-)
89297
89298 commit 18340f14bd42d06c60995ab04cf6bb235bcaade6
89299 Merge: 05f01ae e8cfeae
89300 Author: Brad Spengler <spender@grsecurity.net>
89301 Date: Fri Mar 29 17:30:57 2013 -0400
89302
89303 Merge branch 'pax-test' into grsec-test
89304
89305 commit e8cfeae7751abb844911a15114dff5c9b2b9fcd9
89306 Merge: b461cb7 aa4cfde
89307 Author: Brad Spengler <spender@grsecurity.net>
89308 Date: Fri Mar 29 17:30:44 2013 -0400
89309
89310 Merge branch 'linux-3.8.y' into pax-test
89311
89312 Conflicts:
89313 drivers/gpu/drm/i915/i915_gem_execbuffer.c
89314 fs/nfsd/vfs.c
89315
89316 commit 05f01ae4c3479541586a2387f916a6620889c479
89317 Author: Brad Spengler <spender@grsecurity.net>
89318 Date: Fri Mar 29 17:05:39 2013 -0400
89319
89320 Another infoleak, up to 128 bytes on the stack in __sys_recvmsg
89321 takes user-provided length, copies up to that amount in a sockaddr_storage
89322 struct on the stack, then takes an upper-bounded-only user-provided length
89323 and copies the sockaddr_storage struct back out to userland, complete with
89324 uninitialized data
89325
89326 net/socket.c | 2 +-
89327 1 files changed, 1 insertions(+), 1 deletions(-)
89328
89329 commit eea6ade59490784e83e08ec67322288fcf14cb31
89330 Author: Brad Spengler <spender@grsecurity.net>
89331 Date: Thu Mar 28 23:07:37 2013 -0400
89332
89333 return a proper error, otherwise we could be accessing uninitialized data
89334 (previous define was a positive value)
89335
89336 drivers/usb/storage/realtek_cr.c | 2 +-
89337 1 files changed, 1 insertions(+), 1 deletions(-)
89338
89339 commit 3cc43b90104c3016adb40f412ce2e4b0dcdd4c9e
89340 Merge: c3dc9a6 b461cb7
89341 Author: Brad Spengler <spender@grsecurity.net>
89342 Date: Thu Mar 28 20:54:24 2013 -0400
89343
89344 Merge branch 'pax-test' into grsec-test
89345
89346 commit b461cb7b1d85490430ef7896c247794af72c3749
89347 Author: Brad Spengler <spender@grsecurity.net>
89348 Date: Thu Mar 28 20:54:11 2013 -0400
89349
89350 Add structleak plugin
89351
89352 tools/gcc/structleak_plugin.c | 270 +++++++++++++++++++++++++++++++++++++++++
89353 1 files changed, 270 insertions(+), 0 deletions(-)
89354
89355 commit c3dc9a6ef10782894bb11fd088fd712db44d8062
89356 Author: Brad Spengler <spender@grsecurity.net>
89357 Date: Thu Mar 28 20:53:22 2013 -0400
89358
89359 Enable structleak by default for the security auto-config
89360
89361 security/Kconfig | 11 +++++++----
89362 1 files changed, 7 insertions(+), 4 deletions(-)
89363
89364 commit 6568e7348222fbe00256c9d337c4c24ee57e3f7e
89365 Merge: d8503a3 74bec16
89366 Author: Brad Spengler <spender@grsecurity.net>
89367 Date: Thu Mar 28 20:47:10 2013 -0400
89368
89369 Merge branch 'pax-test' into grsec-test
89370
89371 commit 74bec16b657147a5575b1f14f4423a717ba317a6
89372 Author: Brad Spengler <spender@grsecurity.net>
89373 Date: Thu Mar 28 20:46:13 2013 -0400
89374
89375 Update to pax-linux-3.8.4-test13.patch:
89376 - fixed bug with the old PAGEEXEC method and hugetlb, reported by Alex Efros (https://bugs.gentoo.org/show_bug.cgi?id=437722)
89377 - added a new gcc plugin to plug (pun intended) some of the kernel stack leaks to userland
89378
89379 Makefile | 5 +++-
89380 arch/x86/include/asm/compat.h | 2 +-
89381 arch/x86/mm/fault.c | 3 +-
89382 fs/binfmt_elf.c | 2 +-
89383 include/linux/compiler.h | 42 ++++++++++++++--------------------------
89384 security/Kconfig | 16 +++++++++++++++
89385 tools/gcc/Makefile | 2 +
89386 tools/gcc/constify_plugin.c | 7 +++++-
89387 8 files changed, 47 insertions(+), 32 deletions(-)
89388
89389 commit d8503a3a35d68b9ba1615d29335aef3f70d51465
89390 Author: Brad Spengler <spender@grsecurity.net>
89391 Date: Thu Mar 28 20:02:40 2013 -0400
89392
89393 Fix 8-byte stack infoleak in ia32_rt_sigpending
89394 User controls length, kernel only performs check on the upper bound, will
89395 fill in any amount less than sizeof(sigset_t) via a copy_to_user under
89396 KERNEL_DS in sys_rt_sigpending, then will copy the full size of compat_sigset_t
89397 regardless of whether the sigset_t content copied into it has been initialized
89398 or not
89399
89400 arch/x86/ia32/sys_ia32.c | 2 +-
89401 1 files changed, 1 insertions(+), 1 deletions(-)
89402
89403 commit 46a9f4b871ebf298ee67cc3f799dbd6c2382022b
89404 Author: Brad Spengler <spender@grsecurity.net>
89405 Date: Tue Mar 26 21:05:05 2013 -0400
89406
89407 commit 814d9d4f9164c3d778dadd093a54bb55d9a0c576
89408 Author: J. Bruce Fields <bfields@redhat.com>
89409 Date: Tue Mar 26 14:11:13 2013 -0400
89410
89411 nfsd4: reject "negative" acl lengths
89412
89413 Since we only enforce an upper bound, not a lower bound, a "negative"
89414 length can get through here.
89415
89416 The symptom seen was a warning when we attempt to a kmalloc with an
89417 excessive size.
89418
89419 Reported-by: Toralf Förster <toralf.foerster@gmx.de>
89420 Signed-off-by: J. Bruce Fields <bfields@redhat.com>
89421
89422 fs/nfsd/nfs4xdr.c | 2 +-
89423 1 files changed, 1 insertions(+), 1 deletions(-)
89424
89425 commit 2cf84a1843bfdf9298e2a1dc8df4e52d11a1af89
89426 Author: Jeff Layton <jlayton@redhat.com>
89427 Date: Mon Mar 11 09:52:19 2013 -0400
89428
89429 Upstream commit: f853c616883a8de966873a1dab283f1369e275a1
89430
89431 cifs: ignore everything in SPNEGO blob after mechTypes
89432
89433 We've had several reports of people attempting to mount Windows 8 shares
89434 and getting failures with a return code of -EINVAL. The default sec=
89435 mode changed recently to sec=ntlmssp. With that, we expect and parse a
89436 SPNEGO blob from the server in the NEGOTIATE reply.
89437
89438 The current decode_negTokenInit function first parses all of the
89439 mechTypes and then tries to parse the rest of the negTokenInit reply.
89440 The parser however currently expects a mechListMIC or nothing to follow the
89441 mechTypes, but Windows 8 puts a mechToken field there instead to carry
89442 some info for the new NegoEx stuff.
89443
89444 In practice, we don't do anything with the fields after the mechTypes
89445 anyway so I don't see any real benefit in continuing to parse them.
89446 This patch just has the kernel ignore the fields after the mechTypes.
89447 We'll probably need to reinstate some of this if we ever want to support
89448 NegoEx.
89449
89450 Reported-by: Jason Burgess <jason@jacknife2.dns2go.com>
89451 Reported-by: Yan Li <elliot.li.tech@gmail.com>
89452 Signed-off-by: Jeff Layton <jlayton@redhat.com>
89453 Cc: <stable@vger.kernel.org>
89454 Signed-off-by: Steve French <sfrench@us.ibm.com>
89455
89456 fs/cifs/asn1.c | 53 +++++------------------------------------------------
89457 1 files changed, 5 insertions(+), 48 deletions(-)
89458
89459 commit 0b1c6223105a05d5a84e39a5e951868e37610e1c
89460 Merge: 93ff726 0deb54c
89461 Author: Brad Spengler <spender@grsecurity.net>
89462 Date: Mon Mar 25 18:35:15 2013 -0400
89463
89464 Merge branch 'pax-test' into grsec-test
89465
89466 commit 0deb54c1f47145aef38f4d2bf0b7de3e9fbab959
89467 Author: Brad Spengler <spender@grsecurity.net>
89468 Date: Mon Mar 25 18:35:05 2013 -0400
89469
89470 fix typo
89471
89472 arch/x86/mm/ioremap.c | 2 +-
89473 1 files changed, 1 insertions(+), 1 deletions(-)
89474
89475 commit 93ff72680353534d4b0b213aecb61f1fc2f9a152
89476 Merge: be9f8b8 f95e53a
89477 Author: Brad Spengler <spender@grsecurity.net>
89478 Date: Mon Mar 25 18:30:06 2013 -0400
89479
89480 Merge branch 'pax-test' into grsec-test
89481
89482 commit f95e53abadb6e4665866e4502ff9f518514193e1
89483 Author: Brad Spengler <spender@grsecurity.net>
89484 Date: Mon Mar 25 18:29:25 2013 -0400
89485
89486 Update to pax-linux-3.8.4-test12.patch:
89487
89488 - fixed perf compilation reported by Michael Tremer
89489 - fixed USERCOPY reports triggered by SCTP, reported by mcp
89490 - last fix for aslr gap accounting, promise (thanks to spender)
89491
89492 arch/x86/mm/ioremap.c | 3 +++
89493 fs/binfmt_elf.c | 5 ++---
89494 mm/mmap.c | 2 +-
89495 net/sctp/socket.c | 19 +++++++++++++++----
89496 tools/perf/util/include/linux/compiler.h | 8 ++++++++
89497 5 files changed, 29 insertions(+), 8 deletions(-)
89498
89499 commit be9f8b82b0d8a21d7515fb6e44a907623381c5df
89500 Author: Brad Spengler <spender@grsecurity.net>
89501 Date: Mon Mar 25 16:48:34 2013 -0400
89502
89503 From: Al Viro <viro@ZenIV.linux.org.uk>
89504 To: Brad Spengler <spender@grsecurity.net>
89505 Cc: Linus Torvalds <torvalds@linux-foundation.org>
89506
89507 Umm... I see what you are describing, and AFAICS you are correct; let me
89508 see if I am misreading your analysis:
89509 * vfsmount_lock may act fair; A holding it shared, with B spinning
89510 on attempt to take it exclusive may lead to C spinning on attempt to take
89511 it shared.
89512 * path_is_under() tries get rename_lock while holding vfsmount_lock
89513 shared.
89514 * d_path() et.al. try to take vfsmount_lock shared, while holding
89515 rename_lock.
89516
89517 All true and yes, it's a bug (I'd probably classify it as a livelock, but
89518 that doesn't make any real difference). There are three possible solutions,
89519 AFAICS:
89520 1) two-liner in path_is_under() replacing the use of vfsmount_lock
89521 with that of namespace_sem; trivial, but results in function unexpectedly
89522 blocking. The current callers are fine with that, but it's a trouble
89523 waiting to happen.
89524 2) replace write_seqlock() in prepend_path() callers with
89525 read_seqbegin/read_seqretry loops; bigger and more brittle, since unlike
89526 is_subdir() we need more than just ->d_parent not pointing to something
89527 freed - we also care about ->d_name.len being in sync with ->d_name.name.
89528 It probably can be worked around, but...
89529
89530 3) declare that rename_lock nests inside vfsmount_lock and let
89531 the callers of prepend_path() take vfsmount_lock(). I'd probably prefer
89532 that one...
89533
89534 Nest rename_lock inside vfsmount_lock
89535
89536 ... lest we get livelocks between path_is_under() and d_path() and friends.
89537
89538 [ add grsec-specific bits, thanks to Alexey Vlasov for his patience in reproducing
89539 the issue ]
89540
89541 Spotted-by: Brad Spengler <spender@grsecurity.net>
89542 Cc: stable@vger.kernel.org
89543 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
89544
89545 fs/dcache.c | 16 +++++++++++-----
89546 grsecurity/gracl.c | 20 ++++++++++----------
89547 2 files changed, 21 insertions(+), 15 deletions(-)
89548
89549 commit d9253ae96e0e88510ae7b8adb8ab3ef089be6dee
89550 Author: Linus Torvalds <torvalds@linux-foundation.org>
89551 Date: Fri Mar 22 11:44:04 2013 -0700
89552
89553 Upstream commit: 51f0885e5415b4cc6535e9cdcc5145bfbc134353
89554
89555 vfs,proc: guarantee unique inodes in /proc
89556
89557 Dave Jones found another /proc issue with his Trinity tool: thanks to
89558 the namespace model, we can have multiple /proc dentries that point to
89559 the same inode, aliasing directories in /proc/<pid>/net/ for example.
89560
89561 This ends up being a total disaster, because it acts like hardlinked
89562 directories, and causes locking problems. We rely on the topological
89563 sort of the inodes pointed to by dentries, and if we have aliased
89564 directories, that odering becomes unreliable.
89565
89566 In short: don't do this. Multiple dentries with the same (directory)
89567 inode is just a bad idea, and the namespace code should never have
89568 exposed things this way. But we're kind of stuck with it.
89569
89570 This solves things by just always allocating a new inode during /proc
89571 dentry lookup, instead of using "iget_locked()" to look up existing
89572 inodes by superblock and number. That actually simplies the code a bit,
89573 at the cost of potentially doing more inode [de]allocations.
89574
89575 That said, the inode lookup wasn't free either (and did a lot of locking
89576 of inodes), so it is probably not that noticeable. We could easily keep
89577 the old lookup model for non-directory entries, but rather than try to
89578 be excessively clever this just implements the minimal and simplest
89579 workaround for the problem.
89580
89581 Reported-and-tested-by: Dave Jones <davej@redhat.com>
89582 Analyzed-by: Al Viro <viro@zeniv.linux.org.uk>
89583 Cc: stable@vger.kernel.org
89584 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
89585
89586 Conflicts:
89587
89588 fs/proc/inode.c
89589
89590 fs/proc/inode.c | 9 +++------
89591 1 files changed, 3 insertions(+), 6 deletions(-)
89592
89593 commit 399d3bbdb82db765c86118ae5a0bf1d2d17762fb
89594 Author: Vladimir Davydov <vdavydov@parallels.com>
89595 Date: Fri Mar 22 15:04:51 2013 -0700
89596
89597 Upstream commit: 38d78e587d4960d0db94add518d27ee74bad2301
89598
89599 mqueue: sys_mq_open: do not call mnt_drop_write() if read-only
89600
89601 mnt_drop_write() must be called only if mnt_want_write() succeeded,
89602 otherwise the mnt_writers counter will diverge.
89603
89604 mnt_writers counters are used to check if remounting FS as read-only is
89605 OK, so after an extra mnt_drop_write() call, it would be impossible to
89606 remount mqueue FS as read-only. Besides, on umount a warning would be
89607 printed like this one:
89608
89609 =====================================
89610 [ BUG: bad unlock balance detected! ]
89611 3.9.0-rc3 #5 Not tainted
89612 -------------------------------------
89613 a.out/12486 is trying to release lock (sb_writers) at:
89614 mnt_drop_write+0x1f/0x30
89615 but there are no more locks to release!
89616
89617 Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
89618 Cc: Doug Ledford <dledford@redhat.com>
89619 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
89620 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
89621 Cc: Al Viro <viro@zeniv.linux.org.uk>
89622 Cc: <stable@vger.kernel.org>
89623 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
89624 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
89625
89626 ipc/mqueue.c | 3 ++-
89627 1 files changed, 2 insertions(+), 1 deletions(-)
89628
89629 commit d3859c71e2ec174b6f3e5cbe06d3011cdddaa59e
89630 Author: Brad Spengler <spender@grsecurity.net>
89631 Date: Sat Mar 23 13:02:32 2013 -0400
89632
89633 Don't use constify plugin if not enabled in config,
89634 reported by Alexey Vlasov
89635
89636 Makefile | 2 +-
89637 1 files changed, 1 insertions(+), 1 deletions(-)
89638
89639 commit 3afb82e020593249ac394e9859397c3e0ef5341c
89640 Author: Brad Spengler <spender@grsecurity.net>
89641 Date: Sat Mar 23 12:50:13 2013 -0400
89642
89643 oded 0day #2
89644 http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
89645 slide 20
89646
89647 drivers/net/ethernet/broadcom/tg3.c | 6 ++++--
89648 1 files changed, 4 insertions(+), 2 deletions(-)
89649
89650 commit 4cc4b98b29faff2530540be16e0fcd8a74800b06
89651 Author: Brad Spengler <spender@grsecurity.net>
89652 Date: Sat Mar 23 12:15:50 2013 -0400
89653
89654 oded 0day #1
89655 http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
89656 slide 18
89657
89658 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
89659 1 files changed, 1 insertions(+), 1 deletions(-)
89660
89661 commit 8a3292af6fdae4b88b49a2a4ef96eee145b4d479
89662 Author: Brad Spengler <spender@grsecurity.net>
89663 Date: Sat Mar 23 12:13:12 2013 -0400
89664
89665 remove warning on accessing this /proc entry, HIDESYM already caught the infoleak
89666
89667 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
89668 1 files changed, 1 insertions(+), 1 deletions(-)
89669
89670 commit 44cb11a9470f72157601d0ad4d572d111f90f504
89671 Author: Brad Spengler <spender@grsecurity.net>
89672 Date: Fri Mar 22 18:11:42 2013 -0400
89673
89674 use VM_DONTDUMP
89675
89676 fs/binfmt_elf.c | 2 +-
89677 1 files changed, 1 insertions(+), 1 deletions(-)
89678
89679 commit 92dd7f850ae63e3ddc3d262f2b7134cf54b51abb
89680 Author: Brad Spengler <spender@grsecurity.net>
89681 Date: Fri Mar 22 17:53:09 2013 -0400
89682
89683 fix recent RLIMIT_AS changes (due to vm_flags typo)
89684
89685 Conflicts:
89686
89687 fs/binfmt_elf.c
89688
89689 fs/binfmt_elf.c | 2 +-
89690 mm/mmap.c | 2 +-
89691 2 files changed, 2 insertions(+), 2 deletions(-)
89692
89693 commit fd5f0d92b0fbec02029dad124501a9c80e527a32
89694 Author: Brad Spengler <spender@grsecurity.net>
89695 Date: Fri Mar 22 17:08:48 2013 -0400
89696
89697 complete_walk drops rcu-walk mode, no need for our own dropping
89698 method outside of generic_permission
89699
89700 fs/namei.c | 30 ------------------------------
89701 1 files changed, 0 insertions(+), 30 deletions(-)
89702
89703 commit b49ab1c73edb6442eec609b26bba4d850b3111b6
89704 Merge: 5e9a707 783ade9
89705 Author: Brad Spengler <spender@grsecurity.net>
89706 Date: Thu Mar 21 21:56:28 2013 -0400
89707
89708 Merge branch 'pax-test' into grsec-test
89709
89710 commit 783ade9f97f0f736e3c83275b7c9fcb2d6e9d9c4
89711 Author: Brad Spengler <spender@grsecurity.net>
89712 Date: Thu Mar 21 21:55:31 2013 -0400
89713
89714 Update to pax-linux-3.8.3-test11.patch:
89715 - rewrote the ASLR gap accounting code once again
89716 - fixed ptrace compat bug found by the size overflow plugin
89717
89718 fs/binfmt_elf.c | 25 ++++++++++++-------------
89719 fs/exec.c | 7 ++-----
89720 include/linux/compat.h | 2 +-
89721 include/linux/mm.h | 5 +++++
89722 include/linux/mm_types.h | 2 +-
89723 kernel/ptrace.c | 2 +-
89724 mm/mmap.c | 15 ++++++++++-----
89725 7 files changed, 32 insertions(+), 26 deletions(-)
89726
89727 commit 5e9a7077d935b2279f25428c5d32fd53cbbfb92a
89728 Author: Brad Spengler <spender@grsecurity.net>
89729 Date: Thu Mar 21 19:37:33 2013 -0400
89730
89731 Make the constify plugin usage actually depend on the introduced config option
89732 (it was still forced on)
89733
89734 tools/gcc/Makefile | 2 +-
89735 1 files changed, 1 insertions(+), 1 deletions(-)
89736
89737 commit 1974b4f58d9d729c80ac1987785446115304a54c
89738 Author: Brad Spengler <spender@grsecurity.net>
89739 Date: Thu Mar 21 16:12:38 2013 -0400
89740
89741 fix failed merge
89742
89743 arch/arm/mm/fault.c | 15 +++------------
89744 1 files changed, 3 insertions(+), 12 deletions(-)
89745
89746 commit 675a8ab4a8fe8315df348735a37a302a7535224c
89747 Author: Brad Spengler <spender@grsecurity.net>
89748 Date: Wed Mar 20 23:36:14 2013 -0400
89749
89750 From c4dab66c31612717f798e1e8ff11b57253a81a31 Mon Sep 17 00:00:00 2001
89751 From: Kees Cook <keescook@chromium.org>
89752 Date: Sun, 10 Mar 2013 20:09:31 +0000
89753 Subject: drm/i915: bounds check execbuffer relocation count
89754
89755 It is possible to wrap the counter used to allocate the buffer for
89756 relocation copies. This could lead to heap writing overflows.
89757
89758 CVE-2013-0913
89759
89760 Signed-off-by: Kees Cook <keescook@chromium.org>
89761 Reported-by: Pinkie Pie
89762 Cc: stable@vger.kernel.org
89763
89764 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 11 ++++++++---
89765 1 files changed, 8 insertions(+), 3 deletions(-)
89766
89767 commit ddeac12cbb9076bffd51c544e03463f94c9eaa39
89768 Author: Andy Honig <ahonig@google.com>
89769 Date: Wed Feb 20 14:48:10 2013 -0800
89770
89771 Upstream commit: 0b79459b482e85cb7426aa7da683a9f2c97aeae1
89772
89773 KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions (CVE-2013-1797)
89774
89775 There is a potential use after free issue with the handling of
89776 MSR_KVM_SYSTEM_TIME. If the guest specifies a GPA in a movable or removable
89777 memory such as frame buffers then KVM might continue to write to that
89778 address even after it's removed via KVM_SET_USER_MEMORY_REGION. KVM pins
89779 the page in memory so it's unlikely to cause an issue, but if the user
89780 space component re-purposes the memory previously used for the guest, then
89781 the guest will be able to corrupt that memory.
89782
89783 Tested: Tested against kvmclock unit test
89784
89785 Signed-off-by: Andrew Honig <ahonig@google.com>
89786 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
89787
89788 arch/x86/include/asm/kvm_host.h | 4 +-
89789 arch/x86/kvm/x86.c | 47 ++++++++++++++++----------------------
89790 2 files changed, 22 insertions(+), 29 deletions(-)
89791
89792 commit 0bcac31b57c381001feb69fd6ec8069e61e03432
89793 Author: Andy Honig <ahonig@google.com>
89794 Date: Mon Mar 11 09:34:52 2013 -0700
89795
89796 Upstream commit: c300aa64ddf57d9c5d9c898a64b36877345dd4a9
89797
89798 KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)
89799
89800 If the guest sets the GPA of the time_page so that the request to update the
89801 time straddles a page then KVM will write onto an incorrect page. The
89802 write is done byusing kmap atomic to get a pointer to the page for the time
89803 structure and then performing a memcpy to that page starting at an offset
89804 that the guest controls. Well behaved guests always provide a 32-byte aligned
89805 address, however a malicious guest could use this to corrupt host kernel
89806 memory.
89807
89808 Tested: Tested against kvmclock unit test.
89809
89810 Signed-off-by: Andrew Honig <ahonig@google.com>
89811 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
89812
89813 arch/x86/kvm/x86.c | 5 +++++
89814 1 files changed, 5 insertions(+), 0 deletions(-)
89815
89816 commit 695c59887e4ec10b0b695ab4f645d1226c433be0
89817 Author: Andy Honig <ahonig@google.com>
89818 Date: Wed Feb 20 14:49:16 2013 -0800
89819
89820 Upstream commit: a2c118bfab8bc6b8bb213abfc35201e441693d55
89821
89822 KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)
89823
89824 If the guest specifies a IOAPIC_REG_SELECT with an invalid value and follows
89825 that with a read of the IOAPIC_REG_WINDOW KVM does not properly validate
89826 that request. ioapic_read_indirect contains an
89827 ASSERT(redir_index < IOAPIC_NUM_PINS), but the ASSERT has no effect in
89828 non-debug builds. In recent kernels this allows a guest to cause a kernel
89829 oops by reading invalid memory. In older kernels (pre-3.3) this allows a
89830 guest to read from large ranges of host memory.
89831
89832 Tested: tested against apic unit tests.
89833
89834 Signed-off-by: Andrew Honig <ahonig@google.com>
89835 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
89836
89837 virt/kvm/ioapic.c | 7 +++++--
89838 1 files changed, 5 insertions(+), 2 deletions(-)
89839
89840 commit c77e4017f6f372ac09751b6fcd85c35781dc2d9e
89841 Merge: aec3cd4 c522e3a
89842 Author: Brad Spengler <spender@grsecurity.net>
89843 Date: Wed Mar 20 19:38:25 2013 -0400
89844
89845 Merge branch 'pax-test' into grsec-test
89846
89847 commit c522e3a2167ff5e18996e55ca8cca5ca6f6d29e3
89848 Merge: c57d855 405acc3
89849 Author: Brad Spengler <spender@grsecurity.net>
89850 Date: Wed Mar 20 19:38:11 2013 -0400
89851
89852 Merge branch 'linux-3.8.y' into pax-test
89853
89854 commit aec3cd4d2bd54673b155d9ae3fb9c44becc790d1
89855 Author: Brad Spengler <spender@grsecurity.net>
89856 Date: Tue Mar 19 19:56:04 2013 -0400
89857
89858 include linux/compiler.h
89859
89860 include/linux/zlib.h | 1 +
89861 1 files changed, 1 insertions(+), 0 deletions(-)
89862
89863 commit 1f1109e97bc609218e52e4bb57683d3b23cf2e8e
89864 Author: Brad Spengler <spender@grsecurity.net>
89865 Date: Tue Mar 19 18:42:20 2013 -0400
89866
89867 fix missing sock_release()
89868
89869 net/irda/af_irda.c | 6 ++++--
89870 1 files changed, 4 insertions(+), 2 deletions(-)
89871
89872 commit dd65c05cd24faf8946d4941434a553ee285c35a3
89873 Author: Brad Spengler <spender@grsecurity.net>
89874 Date: Tue Mar 19 18:36:17 2013 -0400
89875
89876 fix mpt fusion infoleak
89877
89878 drivers/message/fusion/mptbase.c | 4 ++++
89879 1 files changed, 4 insertions(+), 0 deletions(-)
89880
89881 commit e297b4f150b769efdc4c547d3caf1e3c0f24735f
89882 Author: Brad Spengler <spender@grsecurity.net>
89883 Date: Tue Mar 19 18:33:45 2013 -0400
89884
89885 Fix size_overflow false positive reported by slashbeast
89886
89887 include/linux/zlib.h | 2 +-
89888 1 files changed, 1 insertions(+), 1 deletions(-)
89889
89890 commit 5b9982733764361c7102c2b1a9cbe42e5bf4f4be
89891 Author: Brad Spengler <spender@grsecurity.net>
89892 Date: Tue Mar 19 17:35:36 2013 -0400
89893
89894 fix up failed merge
89895
89896 arch/arm/mm/fault.c | 9 ++-------
89897 1 files changed, 2 insertions(+), 7 deletions(-)
89898
89899 commit a1bdc34d1d882da3abf47923a760e5b0bbdaf0bd
89900 Author: Brad Spengler <spender@grsecurity.net>
89901 Date: Tue Mar 19 17:34:36 2013 -0400
89902
89903 update documentation on consequences of building without gcc plugin support
89904
89905 Makefile | 2 +-
89906 1 files changed, 1 insertions(+), 1 deletions(-)
89907
89908 commit f49ae0f6c3bbedf6b3817ee2b1b232e0da7fa537
89909 Author: Brad Spengler <spender@grsecurity.net>
89910 Date: Tue Mar 19 17:18:13 2013 -0400
89911
89912 fix compilation failure associated with the latent entropy plugin and lack of gcc plugin support reported on the forums
89913
89914 init/main.c | 4 ++--
89915 1 files changed, 2 insertions(+), 2 deletions(-)
89916
89917 commit f00195c633f91cfbd8c1f530d2c371b713026e20
89918 Author: Brad Spengler <spender@grsecurity.net>
89919 Date: Mon Mar 18 22:27:33 2013 -0400
89920
89921 Fix compile error reported by KDE on the forums
89922
89923 kernel/user_namespace.c | 2 +-
89924 1 files changed, 1 insertions(+), 1 deletions(-)
89925
89926 commit 2979c6ee78aabb4421873ea53581380c6bb6ed05
89927 Merge: 0949569 c57d855
89928 Author: Brad Spengler <spender@grsecurity.net>
89929 Date: Mon Mar 18 22:20:46 2013 -0400
89930
89931 Merge branch 'pax-test' into grsec-test
89932
89933 Conflicts:
89934 arch/arm/mm/fault.c
89935 arch/x86/mm/fault.c
89936 fs/exec.c
89937
89938 commit c57d8557f5f2d77c2c7fa1f58316819a5e1f9293
89939 Author: Brad Spengler <spender@grsecurity.net>
89940 Date: Mon Mar 18 21:22:03 2013 -0400
89941
89942 Update to pax-linux-3.8.2-test9.patch:
89943 arm changes from spender
89944 - removed userland access to the vectors page
89945 - removed obsolete sigreturn trampoline handling
89946 - added emulation for __kuser_get_tls
89947 - fixed missing uderef instrumentation in unaligned memory accessors (failed safe)
89948 - fixed recent sysfs/power_supply attr breakage reported by Steven Allen
89949 - hopefully fixed the remaining issues with aslr_gap accounting (http://forums.grsecurity.net/viewtopic.php?f=3&t=2960)
89950 - changed debian packager rules to include the compiler plugins, from Tyler Coumbes <coumbes@gmail.com>
89951 - fixed the sa_restorer leak discovered and reported by Emese Revfy (CVE-2013-0914, google chromium bug #177956)
89952 - new size overflow plugin from Emese that instruments a whole lot more code due to tracking function return values
89953 and more type casts as well. this found the above mentioned sa_restorer leak and would have protected against CVE-2013-0913.
89954
89955 arch/arm/kernel/process.c | 5 +-
89956 arch/arm/kernel/signal.c | 24 +-
89957 arch/arm/kernel/traps.c | 7 -
89958 arch/arm/mm/alignment.c | 8 +
89959 arch/arm/mm/fault.c | 23 +-
89960 arch/arm/mm/mmu.c | 2 +-
89961 arch/x86/include/asm/bitops.h | 2 +-
89962 arch/x86/include/asm/desc.h | 2 +-
89963 arch/x86/include/asm/div64.h | 2 +-
89964 arch/x86/include/asm/io.h | 8 +-
89965 arch/x86/include/asm/paravirt.h | 2 +-
89966 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 16 +-
89967 arch/x86/kernel/setup_percpu.c | 2 +-
89968 arch/x86/mm/fault.c | 4 +-
89969 arch/x86/mm/numa.c | 2 +-
89970 arch/x86/mm/physaddr.c | 4 +-
89971 drivers/ata/libahci.c | 2 +-
89972 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +-
89973 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
89974 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
89975 drivers/lguest/page_tables.c | 2 +-
89976 drivers/net/wireless/at76c50x-usb.c | 2 +-
89977 drivers/oprofile/oprofile_files.c | 2 +-
89978 drivers/power/power_supply_core.c | 1 +
89979 drivers/usb/core/message.c | 2 +-
89980 fs/befs/endian.h | 4 +-
89981 fs/binfmt_elf.c | 5 +-
89982 fs/exec.c | 4 +-
89983 fs/qnx6/qnx6.h | 4 +-
89984 fs/sysv/sysv.h | 2 +-
89985 fs/ubifs/io.c | 2 +-
89986 fs/ufs/swab.h | 4 +-
89987 include/linux/compat.h | 4 +-
89988 include/linux/completion.h | 6 +-
89989 include/linux/cpumask.h | 12 +-
89990 include/linux/ctype.h | 2 +-
89991 include/linux/err.h | 4 +-
89992 include/linux/math64.h | 6 +-
89993 include/linux/sched.h | 2 +-
89994 include/linux/unaligned/access_ok.h | 12 +-
89995 include/linux/usb.h | 2 +-
89996 include/uapi/linux/byteorder/little_endian.h | 4 +-
89997 include/uapi/linux/swab.h | 6 +-
89998 kernel/sched/core.c | 6 +-
89999 kernel/signal.c | 3 +
90000 kernel/time.c | 2 +-
90001 kernel/timer.c | 2 +-
90002 lib/div64.c | 4 +-
90003 mm/page-writeback.c | 2 +-
90004 net/socket.c | 2 +
90005 scripts/package/builddeb | 1 +
90006 tools/gcc/size_overflow_hash.data | 8869 +++++++++++++++----------
90007 tools/gcc/size_overflow_plugin.c | 1072 ++--
90008 53 files changed, 6227 insertions(+), 3951 deletions(-)
90009
90010 commit 09495691bb31f11ec14d9127429f9a0f3f716f22
90011 Author: Brad Spengler <spender@grsecurity.net>
90012 Date: Sun Mar 17 20:51:50 2013 -0400
90013
90014 fix typo
90015
90016 grsecurity/gracl.c | 2 +-
90017 1 files changed, 1 insertions(+), 1 deletions(-)
90018
90019 commit deb85b00d0f9f886e264e116313f298401ec5c59
90020 Author: Brad Spengler <spender@grsecurity.net>
90021 Date: Sun Mar 17 20:03:33 2013 -0400
90022
90023 Call update_rlimit_cpu to immediately change RLIMIT_CPU on the task
90024 with a subject applied to it with RES_CPU. Otherwise, the limit will only
90025 begin to be applied at fork time.
90026
90027 Thanks to Bjornar Ness for the report.
90028
90029 grsecurity/gracl.c | 4 ++++
90030 1 files changed, 4 insertions(+), 0 deletions(-)
90031
90032 commit 2126421f123513f604ceef2b23ba9ed516de7e58
90033 Author: Brad Spengler <spender@grsecurity.net>
90034 Date: Sat Mar 16 22:07:43 2013 -0400
90035
90036 Move inode auditing prior to our refcnt dropping
90037
90038 fs/namei.c | 2 +-
90039 1 files changed, 1 insertions(+), 1 deletions(-)
90040
90041 commit 4d4e665885aab4bacfe662ad6d2190fc9d817146
90042 Author: Brad Spengler <spender@grsecurity.net>
90043 Date: Sat Mar 16 22:00:30 2013 -0400
90044
90045 Drop reference on completed path walked in RCU mode or when violating
90046 the chroot fchdir check inside a chroot -- possible culprit for a reported
90047 vfsmount_lock hang during unmount
90048
90049 fs/namei.c | 8 ++++++--
90050 1 files changed, 6 insertions(+), 2 deletions(-)
90051
90052 commit 53a8a413f45340ee176dd36dd283de3a1ebb7417
90053 Author: Brad Spengler <spender@grsecurity.net>
90054 Date: Sat Mar 16 16:43:45 2013 -0400
90055
90056 add user_arg_ptr back to exec.c
90057
90058 fs/exec.c | 12 ++++++++++++
90059 1 files changed, 12 insertions(+), 0 deletions(-)
90060
90061 commit 83d285953c7e75db388c7f65be5cf1e16fcedec8
90062 Author: Brad Spengler <spender@grsecurity.net>
90063 Date: Sat Mar 16 11:22:36 2013 -0400
90064
90065 Don't globally include compat.h -- with the new X32 support it
90066 changes some definitions involving ELF binaries resulting in invalid
90067 coredumps, as reported by KDE on the forums:
90068 http://forums.grsecurity.net/viewtopic.php?f=3&t=3310
90069 Thanks to the PaX Team for debugging
90070
90071 fs/exec.c | 3 +++
90072 grsecurity/grsec_exec.c | 13 +++++++++++++
90073 include/linux/grsecurity.h | 15 ---------------
90074 3 files changed, 16 insertions(+), 15 deletions(-)
90075
90076 commit 67a94583659cf6c583fbbb023ec2a8ed471ba94a
90077 Author: Brad Spengler <spender@grsecurity.net>
90078 Date: Thu Mar 14 20:59:26 2013 -0400
90079
90080 Add peer information to /proc/net/unix from Kenan Kalajdzic:
90081 http://marc.info/?l=linux-netdev&m=126745636809191&w=2
90082
90083 We use a "P" prefix to the inode number instead of "peer=". This
90084 additional information can be used, for instance, to find what processes
90085 are connected to MySQL's unix domain socket.
90086
90087 net/unix/af_unix.c | 12 +++++++++---
90088 1 files changed, 9 insertions(+), 3 deletions(-)
90089
90090 commit 1cd623d11a462d151ea8a5cace4521e1724911a3
90091 Author: Oliver Neukum <oneukum@suse.de>
90092 Date: Tue Mar 12 14:52:42 2013 +0100
90093
90094 Upstream commit: c0f5ecee4e741667b2493c742b60b6218d40b3aa
90095
90096 USB: cdc-wdm: fix buffer overflow
90097
90098 The buffer for responses must not overflow.
90099 If this would happen, set a flag, drop the data and return
90100 an error after user space has read all remaining data.
90101
90102 Signed-off-by: Oliver Neukum <oliver@neukum.org>
90103 CC: stable@kernel.org
90104 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
90105
90106 drivers/usb/class/cdc-wdm.c | 23 ++++++++++++++++++++---
90107 1 files changed, 20 insertions(+), 3 deletions(-)
90108
90109 commit 3e9e7beb379eaf424d0634c0c556e47c07d367fc
90110 Merge: 9cdf9bc db4cb92
90111 Author: Brad Spengler <spender@grsecurity.net>
90112 Date: Thu Mar 14 20:23:14 2013 -0400
90113
90114 Merge branch 'pax-test' into grsec-test
90115
90116 Conflicts:
90117 security/keys/compat.c
90118
90119 commit db4cb924546e3fec3a59f78d056f48176eaf7100
90120 Author: Brad Spengler <spender@grsecurity.net>
90121 Date: Thu Mar 14 20:22:24 2013 -0400
90122
90123 Update to pax-linux-3.8.2-test8.patch
90124
90125 arch/arm/include/asm/cache.h | 2 ++
90126 arch/arm/mach-omap2/gpmc.c | 22 ++++++++++++----------
90127 arch/arm/mach-omap2/omap_device.c | 4 ++--
90128 arch/arm/mach-omap2/omap_device.h | 4 ++--
90129 arch/arm/plat-orion/include/plat/addr-map.h | 2 +-
90130 5 files changed, 19 insertions(+), 15 deletions(-)
90131
90132 commit 5e72fcce7c468d29168c64c72c18ff5ff0d3b4ae
90133 Merge: 3c865f9 1a45c31
90134 Author: Brad Spengler <spender@grsecurity.net>
90135 Date: Thu Mar 14 20:20:54 2013 -0400
90136
90137 Merge branch 'linux-3.8.y' into pax-test
90138
90139 Conflicts:
90140 arch/arm/include/asm/delay.h
90141 arch/arm/include/asm/pgtable.h
90142 arch/arm/lib/delay.c
90143 security/keys/compat.c
90144
90145 commit 9cdf9bccf22d6a6741e4152bb5d32335beb8caf1
90146 Author: Al Viro <viro@ZenIV.linux.org.uk>
90147 Date: Tue Mar 12 02:59:49 2013 +0000
90148
90149 Upstream commit: a930d8790552658140d7d0d2e316af4f0d76a512
90150
90151 vfs: fix pipe counter breakage
90152
90153 If you open a pipe for neither read nor write, the pipe code will not
90154 add any usage counters to the pipe, causing the 'struct pipe_inode_info"
90155 to be potentially released early.
90156
90157 That doesn't normally matter, since you cannot actually use the pipe,
90158 but the pipe release code - particularly fasync handling - still expects
90159 the actual pipe infrastructure to all be there. And rather than adding
90160 NULL pointer checks, let's just disallow this case, the same way we
90161 already do for the named pipe ("fifo") case.
90162
90163 This is ancient going back to pre-2.4 days, and until trinity, nobody
90164 naver noticed.
90165
90166 Reported-by: Dave Jones <davej@redhat.com>
90167 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
90168
90169 fs/pipe.c | 3 +++
90170 1 files changed, 3 insertions(+), 0 deletions(-)
90171
90172 commit c11fa4be226659a40a6c73f0fa09fee074fba1b2
90173 Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
90174 Date: Mon Feb 25 10:20:36 2013 -0500
90175
90176 Upstream commit: 8aec0f5d4137532de14e6554fd5dd201ff3a3c49
90177
90178 Fix: compat_rw_copy_check_uvector() misuse in aio, readv, writev, and security keys
90179
90180 Looking at mm/process_vm_access.c:process_vm_rw() and comparing it to
90181 compat_process_vm_rw() shows that the compatibility code requires an
90182 explicit "access_ok()" check before calling
90183 compat_rw_copy_check_uvector(). The same difference seems to appear when
90184 we compare fs/read_write.c:do_readv_writev() to
90185 fs/compat.c:compat_do_readv_writev().
90186
90187 This subtle difference between the compat and non-compat requirements
90188 should probably be debated, as it seems to be error-prone. In fact,
90189 there are two others sites that use this function in the Linux kernel,
90190 and they both seem to get it wrong:
90191
90192 Now shifting our attention to fs/aio.c, we see that aio_setup_iocb()
90193 also ends up calling compat_rw_copy_check_uvector() through
90194 aio_setup_vectored_rw(). Unfortunately, the access_ok() check appears to
90195 be missing. Same situation for
90196 security/keys/compat.c:compat_keyctl_instantiate_key_iov().
90197
90198 I propose that we add the access_ok() check directly into
90199 compat_rw_copy_check_uvector(), so callers don't have to worry about it,
90200 and it therefore makes the compat call code similar to its non-compat
90201 counterpart. Place the access_ok() check in the same location where
90202 copy_from_user() can trigger a -EFAULT error in the non-compat code, so
90203 the ABI behaviors are alike on both compat and non-compat.
90204
90205 While we are here, fix compat_do_readv_writev() so it checks for
90206 compat_rw_copy_check_uvector() negative return values.
90207
90208 And also, fix a memory leak in compat_keyctl_instantiate_key_iov() error
90209 handling.
90210
90211 Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
90212 Acked-by: Al Viro <viro@ZenIV.linux.org.uk>
90213 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
90214 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
90215
90216 Conflicts:
90217
90218 security/keys/compat.c
90219
90220 fs/compat.c | 15 +++++++--------
90221 mm/process_vm_access.c | 8 --------
90222 security/keys/compat.c | 3 ++-
90223 3 files changed, 9 insertions(+), 17 deletions(-)
90224
90225 commit 13487f197ab2d5bc76156224c24c45a44bbd6a11
90226 Author: Brad Spengler <spender@grsecurity.net>
90227 Date: Mon Mar 11 18:38:38 2013 -0400
90228
90229 Fix leak of signal handler addresses across execve, found by Emese Revfy
90230
90231 kernel/signal.c | 3 +++
90232 1 files changed, 3 insertions(+), 0 deletions(-)
90233
90234 commit 79b130c4b11c7940daf2b33d653a17666331c634
90235 Merge: 6480ce9 3c865f9
90236 Author: Brad Spengler <spender@grsecurity.net>
90237 Date: Sun Mar 10 20:04:03 2013 -0400
90238
90239 Merge branch 'pax-test' into grsec-test
90240
90241 commit 3c865f9184c6fd56c634bce0096cfc8039d5c43d
90242 Author: Brad Spengler <spender@grsecurity.net>
90243 Date: Sun Mar 10 20:03:12 2013 -0400
90244
90245 Update to pax-linux-3.8.2-test7.patch:
90246 - fixed gcc asserts reported by KDE (http://forums.grsecurity.net/viewtopic.php?f=3&t=3342)
90247 - adjusted RLIMIT_AS accounting for the extra ASLR gap mappings, reported by Alexander Stoll (https://bugs.gentoo.org/show_bug.cgi?id=459268)
90248
90249 fs/binfmt_elf.c | 3 ++-
90250 fs/exec.c | 3 +++
90251 include/linux/mm_types.h | 2 +-
90252 init/main.c | 4 ++--
90253 mm/mmap.c | 2 +-
90254 mm/page_alloc.c | 4 ++--
90255 tools/gcc/latent_entropy_plugin.c | 11 +++++++----
90256 7 files changed, 18 insertions(+), 11 deletions(-)
90257
90258 commit 6480ce919bd7d68ba14f3194e4bdd7b61bc8e491
90259 Merge: 4a5305e 25b3569
90260 Author: Brad Spengler <spender@grsecurity.net>
90261 Date: Sun Mar 10 10:41:16 2013 -0400
90262
90263 Merge branch 'pax-test' into grsec-test
90264
90265 commit 25b356980568bed9958315bb5a551fdc610055ed
90266 Author: Brad Spengler <spender@grsecurity.net>
90267 Date: Sun Mar 10 10:40:48 2013 -0400
90268
90269 Update to pax-linux-3.8.2-test6.patch:
90270 - fixed a KERNEXEC false positive on arm reported by Gu1
90271 - fixed various compile errors reported by x14sg1 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3340)
90272 - fixed too strict mmap parameter checking on i386, reported by browndav (http://forums.grsecurity.net/viewtopic.php?f=1&t=3339)
90273 - added fix from spender for some namespace breakage reported by zakalwe
90274 - small latent entropy improvement: pass pax_extra_latent_entropy to the kernel to extract entropy from RAM content during boot
90275
90276 Documentation/kernel-parameters.txt | 5 +++++
90277 arch/arm/kernel/patch.c | 2 ++
90278 arch/x86/kernel/sys_i386_32.c | 5 +++--
90279 drivers/acpi/blacklist.c | 2 +-
90280 drivers/video/aty/mach64_cursor.c | 1 +
90281 init/main.c | 4 ----
90282 mm/page_alloc.c | 27 +++++++++++++++++++++++++++
90283 net/ipv4/ip_fragment.c | 2 +-
90284 security/Kconfig | 5 +++++
90285 tools/gcc/latent_entropy_plugin.c | 7 +++++--
90286 10 files changed, 50 insertions(+), 10 deletions(-)
90287
90288 commit 4a5305eb7b6c5e49c332feeca9b6bfead9ab917f
90289 Author: Brad Spengler <spender@grsecurity.net>
90290 Date: Sat Mar 9 11:19:06 2013 -0500
90291
90292 From: Mathias Krause <minipli@googlemail.com>
90293 To: "David S. Miller" <davem@davemloft.net>
90294 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>,
90295 Stephen Hemminger <stephen@networkplumber.org>
90296 Subject: [PATCH 1/3] bridge: fix mdb info leaks
90297 Date: Sat, 9 Mar 2013 16:52:19 +0100
90298
90299 The bridging code discloses heap and stack bytes via the RTM_GETMDB
90300 netlink interface and via the notify messages send to group RTNLGRP_MDB
90301 afer a successful add/del.
90302
90303 Fix both cases by initializing all unset members/padding bytes with
90304 memset(0).
90305
90306 Cc: Stephen Hemminger <stephen@networkplumber.org>
90307 Signed-off-by: Mathias Krause <minipli@googlemail.com>
90308
90309 From: Mathias Krause <minipli@googlemail.com>
90310 To: "David S. Miller" <davem@davemloft.net>
90311 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>
90312 Subject: [PATCH 2/3] rtnl: fix info leak on RTM_GETLINK request for VF devices
90313 Date: Sat, 9 Mar 2013 16:52:20 +0100
90314
90315 Initialize the mac address buffer with 0 as the driver specific function
90316 will probably not fill the whole buffer. In fact, all in-kernel drivers
90317 fill only ETH_ALEN of the MAX_ADDR_LEN bytes, i.e. 6 of the 32 possible
90318 bytes. Therefore we currently leak 26 bytes of stack memory to userland
90319 via the netlink interface.
90320
90321 Signed-off-by: Mathias Krause <minipli@googlemail.com>
90322
90323 From: Mathias Krause <minipli@googlemail.com>
90324 To: "David S. Miller" <davem@davemloft.net>
90325 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>
90326 Subject: [PATCH 3/3] dcbnl: fix various netlink info leaks
90327 Date: Sat, 9 Mar 2013 16:52:21 +0100
90328
90329 The dcb netlink interface leaks stack memory in various places:
90330 * perm_addr[] buffer is only filled at max with 12 of the 32 bytes but
90331 copied completely,
90332 * no in-kernel driver fills all fields of an IEEE 802.1Qaz subcommand,
90333 so we're leaking up to 58 bytes for ieee_ets structs, up to 136 bytes
90334 for ieee_pfc structs, etc.,
90335 * the same is true for CEE -- no in-kernel driver fills the whole
90336 struct,
90337
90338 Prevent all of the above stack info leaks by properly initializing the
90339 buffers/structures involved.
90340
90341 Signed-off-by: Mathias Krause <minipli@googlemail.com>
90342
90343 net/bridge/br_mdb.c | 4 ++++
90344 net/core/rtnetlink.c | 1 +
90345 net/dcb/dcbnl.c | 8 ++++++++
90346 3 files changed, 13 insertions(+), 0 deletions(-)
90347
90348 commit 601dd446f896e3a362f706943df18a68d50420a1
90349 Author: Brad Spengler <spender@grsecurity.net>
90350 Date: Sat Mar 9 09:35:25 2013 -0500
90351
90352 add open/close wrappers in __patch_text() as reported by Gu1 on IRC
90353
90354 arch/arm/kernel/patch.c | 2 ++
90355 1 files changed, 2 insertions(+), 0 deletions(-)
90356
90357 commit ae39966fd85a493e9079b357e3faa62245a41222
90358 Author: Peter Hurley <peter@hurleysoftware.com>
90359 Date: Fri Mar 8 12:43:27 2013 -0800
90360
90361 Upstream commit: 88b9e456b1649722673ffa147914299799dc9041
90362
90363 ipc: don't allocate a copy larger than max
90364
90365 When MSG_COPY is set, a duplicate message must be allocated for the copy
90366 before locking the queue. However, the copy could not be larger than was
90367 sent which is limited to msg_ctlmax.
90368
90369 Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
90370 Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
90371 Cc: <stable@vger.kernel.org>
90372 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
90373 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
90374
90375 ipc/msg.c | 6 ++++--
90376 1 files changed, 4 insertions(+), 2 deletions(-)
90377
90378 commit 61240e99650ea3e540a03a3e994349c5086f166b
90379 Author: Peter Hurley <peter@hurleysoftware.com>
90380 Date: Fri Mar 8 12:43:26 2013 -0800
90381
90382 Upstream commit: e1082f45f1e2bbf6e25f6b614fc6616ebf709d19
90383
90384 ipc: fix potential oops when src msg > 4k w/ MSG_COPY
90385
90386 If the src msg is > 4k, then dest->next points to the
90387 next allocated segment; resetting it just prior to dereferencing
90388 is bad.
90389
90390 Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
90391 Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
90392 Cc: <stable@vger.kernel.org>
90393 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
90394 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
90395
90396 ipc/msgutil.c | 3 ---
90397 1 files changed, 0 insertions(+), 3 deletions(-)
90398
90399 commit 51727f602a267f34fb2e0dc9557f1714028d51a2
90400 Author: Brad Spengler <spender@grsecurity.net>
90401 Date: Fri Mar 8 22:14:06 2013 -0500
90402
90403 add missing 'else' in recent constify fixups
90404
90405 net/ipv4/ip_fragment.c | 2 +-
90406 1 files changed, 1 insertions(+), 1 deletions(-)
90407
90408 commit a38c1a640729b3d8e584d1ab98e908c221bc12cf
90409 Merge: 1580bb3 47c3f47
90410 Author: Brad Spengler <spender@grsecurity.net>
90411 Date: Fri Mar 8 18:18:37 2013 -0500
90412
90413 Merge branch 'pax-test' into grsec-test
90414
90415 commit 47c3f47ba4f874f5c72e4c04b76b6b92e44daebe
90416 Author: Brad Spengler <spender@grsecurity.net>
90417 Date: Fri Mar 8 18:17:22 2013 -0500
90418
90419 Update to pax-linux-3.8.2-test5.patch:
90420 - fixed some fallout after the last round of constification changes, reported by several people
90421
90422 arch/arm/common/gic.c | 4 ++--
90423 arch/arm/include/asm/hardware/gic.h | 3 ++-
90424 arch/x86/include/asm/nmi.h | 2 +-
90425 arch/x86/kernel/nmi.c | 2 +-
90426 arch/x86/pci/irq.c | 2 +-
90427 drivers/base/power/domain.c | 4 ++--
90428 drivers/cpufreq/cpufreq_governor.c | 4 ++--
90429 drivers/mfd/twl4030-irq.c | 1 +
90430 drivers/video/vesafb.c | 7 +++++--
90431 include/linux/irq.h | 1 +
90432 include/linux/pm_domain.h | 2 +-
90433 kernel/sched/core.c | 4 ++++
90434 lib/Kconfig.debug | 4 ++--
90435 net/core/sysctl_net_core.c | 2 +-
90436 net/decnet/af_decnet.c | 1 +
90437 net/ipv4/devinet.c | 2 +-
90438 net/ipv4/ip_fragment.c | 2 +-
90439 net/ipv4/route.c | 2 +-
90440 net/ipv4/sysctl_net_ipv4.c | 2 +-
90441 net/ipv6/netfilter/nf_conntrack_reasm.c | 2 +-
90442 net/ipv6/reassembly.c | 2 +-
90443 scripts/sortextable.h | 6 +++---
90444 22 files changed, 36 insertions(+), 25 deletions(-)
90445
90446 commit 1580bb38b4db0bf2a46316599815e8b234edad81
90447 Author: Brad Spengler <spender@grsecurity.net>
90448 Date: Thu Mar 7 22:02:59 2013 -0500
90449
90450 add an additional open/close wrapper
90451
90452 kernel/sched/core.c | 2 ++
90453 1 files changed, 2 insertions(+), 0 deletions(-)
90454
90455 commit 21622672d28d58e0d93a805cd1f9650a894a752a
90456 Author: Brad Spengler <spender@grsecurity.net>
90457 Date: Thu Mar 7 21:58:24 2013 -0500
90458
90459 fix oops at shutdown with new constify code
90460
90461 kernel/sched/core.c | 2 ++
90462 1 files changed, 2 insertions(+), 0 deletions(-)
90463
90464 commit f6b9ab9fcc747bb1b14a4857d59e6681936220ec
90465 Author: Brad Spengler <spender@grsecurity.net>
90466 Date: Thu Mar 7 21:18:44 2013 -0500
90467
90468 Add PAX_CONSTIFY_PLUGIN, which we previously enabled unconditionally
90469 it currently conflicts with some lock debugging options, so made as an
90470 option to allow for debugging when necessary
90471
90472 Makefile | 2 --
90473 lib/Kconfig.debug | 6 +++---
90474 security/Kconfig | 18 ++++++++++++++++++
90475 3 files changed, 21 insertions(+), 5 deletions(-)
90476
90477 commit 0885b00b8373a1597b69c38032a0c9eee279303b
90478 Author: Brad Spengler <spender@grsecurity.net>
90479 Date: Thu Mar 7 20:55:19 2013 -0500
90480
90481 disable DEBUG_LOCK_ALLOC, as it conflicts with the new constify
90482
90483 lib/Kconfig.debug | 2 +-
90484 1 files changed, 1 insertions(+), 1 deletions(-)
90485
90486 commit c8a2617165e7127a54f293cbf57d22d50dd83abd
90487 Author: Brad Spengler <spender@grsecurity.net>
90488 Date: Thu Mar 7 20:30:41 2013 -0500
90489
90490 Fix error:
90491 drivers/video/vesafb.c:502:3: error: assignment of member ‘fb_pan_display’ in read-only object
90492 with cast and proper kernexec accessors
90493
90494 drivers/video/vesafb.c | 7 +++++--
90495 1 files changed, 5 insertions(+), 2 deletions(-)
90496
90497 commit 99f2814d3e2a6db25985edc47c7e09c4a2d8c408
90498 Author: Brad Spengler <spender@grsecurity.net>
90499 Date: Thu Mar 7 20:20:28 2013 -0500
90500
90501 fix typo
90502
90503 grsecurity/gracl.c | 2 +-
90504 1 files changed, 1 insertions(+), 1 deletions(-)
90505
90506 commit 399674de6c42bbcae2d01b082d6d9ce9d183b000
90507 Author: Brad Spengler <spender@grsecurity.net>
90508 Date: Thu Mar 7 20:12:17 2013 -0500
90509
90510 fix compilation error -- no reason for task_pid_nr to not take a const task ptr
90511
90512 include/linux/sched.h | 2 +-
90513 1 files changed, 1 insertions(+), 1 deletions(-)
90514
90515 commit a6c239eacf683f9dd2aeebb1b1adb71e5eedbd9f
90516 Author: Kees Cook <keescook@chromium.org>
90517 Date: Mon Feb 25 21:32:25 2013 +0000
90518
90519 Upstream commit: e70ab977991964a5a7ad1182799451d067e62669
90520
90521 proc connector: reject unprivileged listener bumps
90522
90523 While PROC_CN_MCAST_LISTEN/IGNORE is entirely advisory, it was possible
90524 for an unprivileged user to turn off notifications for all listeners by
90525 sending PROC_CN_MCAST_IGNORE. Instead, require the same privileges as
90526 required for a multicast bind.
90527
90528 Signed-off-by: Kees Cook <keescook@chromium.org>
90529 Cc: Evgeniy Polyakov <zbr@ioremap.net>
90530 Cc: Matt Helsley <matthltc@us.ibm.com>
90531 Cc: stable@vger.kernel.org
90532 Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
90533 Acked-by: Matt Helsley <matthltc@us.ibm.com>
90534 Signed-off-by: David S. Miller <davem@davemloft.net>
90535
90536 drivers/connector/cn_proc.c | 8 ++++++++
90537 1 files changed, 8 insertions(+), 0 deletions(-)
90538
90539 commit ac6014ded57101e3e608941555ff507e20c1ece3
90540 Author: Dan Carpenter <dan.carpenter@oracle.com>
90541 Date: Tue Feb 26 19:15:02 2013 +0000
90542
90543 Upstream commit: 90c7881ecee1f08e0a49172cf61371cf2509ee4a
90544
90545 irda: small read beyond end of array in debug code
90546
90547 charset comes from skb->data. It's a number in the 0-255 range.
90548 If we have debugging turned on then this could cause a read beyond
90549 the end of the array.
90550
90551 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
90552 Signed-off-by: David S. Miller <davem@davemloft.net>
90553
90554 net/irda/iriap.c | 7 +++++--
90555 1 files changed, 5 insertions(+), 2 deletions(-)
90556
90557 commit e60bd2aad9bfdb68731cc888eae14a7600bd2ffe
90558 Author: Guenter Roeck <linux@roeck-us.net>
90559 Date: Wed Feb 27 10:57:31 2013 +0000
90560
90561 Upstream commit: 726bc6b092da4c093eb74d13c07184b18c1af0f1
90562
90563 net/sctp: Validate parameter size for SCTP_GET_ASSOC_STATS
90564
90565 Building sctp may fail with:
90566
90567 In function ‘copy_from_user’,
90568 inlined from ‘sctp_getsockopt_assoc_stats’ at
90569 net/sctp/socket.c:5656:20:
90570 arch/x86/include/asm/uaccess_32.h:211:26: error: call to
90571 ‘copy_from_user_overflow’ declared with attribute error: copy_from_user()
90572 buffer size is not provably correct
90573
90574 if built with W=1 due to a missing parameter size validation
90575 before the call to copy_from_user.
90576
90577 Signed-off-by: Guenter Roeck <linux@roeck-us.net>
90578 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
90579 Signed-off-by: David S. Miller <davem@davemloft.net>
90580
90581 net/sctp/socket.c | 6 +++---
90582 1 files changed, 3 insertions(+), 3 deletions(-)
90583
90584 commit be49e0ae9a4d0e8daa831d7d8d6f3a56beda3e3c
90585 Author: Guillaume Nault <g.nault@alphalink.fr>
90586 Date: Fri Mar 1 05:02:02 2013 +0000
90587
90588 Upstream commit: 8b82547e33e85fc24d4d172a93c796de1fefa81a
90589
90590 l2tp: Restore socket refcount when sendmsg succeeds
90591
90592 The sendmsg() syscall handler for PPPoL2TP doesn't decrease the socket
90593 reference counter after successful transmissions. Any successful
90594 sendmsg() call from userspace will then increase the reference counter
90595 forever, thus preventing the kernel's session and tunnel data from
90596 being freed later on.
90597
90598 The problem only happens when writing directly on L2TP sockets.
90599 PPP sockets attached to L2TP are unaffected as the PPP subsystem
90600 uses pppol2tp_xmit() which symmetrically increase/decrease reference
90601 counters.
90602
90603 This patch adds the missing call to sock_put() before returning from
90604 pppol2tp_sendmsg().
90605
90606 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
90607 Signed-off-by: David S. Miller <davem@davemloft.net>
90608
90609 net/l2tp/l2tp_ppp.c | 1 +
90610 1 files changed, 1 insertions(+), 0 deletions(-)
90611
90612 commit 98a9a5f981f5deda4059a255c1196886f2f27e2f
90613 Author: Cong Wang <amwang@redhat.com>
90614 Date: Sun Mar 3 16:18:11 2013 +0000
90615
90616 Upstream commit: ece6b0a2b25652d684a7ced4ae680a863af041e0
90617
90618 rds: limit the size allocated by rds_message_alloc()
90619
90620 Dave Jones reported the following bug:
90621
90622 "When fed mangled socket data, rds will trust what userspace gives it,
90623 and tries to allocate enormous amounts of memory larger than what
90624 kmalloc can satisfy."
90625
90626 WARNING: at mm/page_alloc.c:2393 __alloc_pages_nodemask+0xa0d/0xbe0()
90627 Hardware name: GA-MA78GM-S2H
90628 Modules linked in: vmw_vsock_vmci_transport vmw_vmci vsock fuse bnep dlci bridge 8021q garp stp mrp binfmt_misc l2tp_ppp l2tp_core rfcomm s
90629 Pid: 24652, comm: trinity-child2 Not tainted 3.8.0+ #65
90630 Call Trace:
90631 [<ffffffff81044155>] warn_slowpath_common+0x75/0xa0
90632 [<ffffffff8104419a>] warn_slowpath_null+0x1a/0x20
90633 [<ffffffff811444ad>] __alloc_pages_nodemask+0xa0d/0xbe0
90634 [<ffffffff8100a196>] ? native_sched_clock+0x26/0x90
90635 [<ffffffff810b2128>] ? trace_hardirqs_off_caller+0x28/0xc0
90636 [<ffffffff810b21cd>] ? trace_hardirqs_off+0xd/0x10
90637 [<ffffffff811861f8>] alloc_pages_current+0xb8/0x180
90638 [<ffffffff8113eaaa>] __get_free_pages+0x2a/0x80
90639 [<ffffffff811934fe>] kmalloc_order_trace+0x3e/0x1a0
90640 [<ffffffff81193955>] __kmalloc+0x2f5/0x3a0
90641 [<ffffffff8104df0c>] ? local_bh_enable_ip+0x7c/0xf0
90642 [<ffffffffa0401ab3>] rds_message_alloc+0x23/0xb0 [rds]
90643 [<ffffffffa04043a1>] rds_sendmsg+0x2b1/0x990 [rds]
90644 [<ffffffff810b21cd>] ? trace_hardirqs_off+0xd/0x10
90645 [<ffffffff81564620>] sock_sendmsg+0xb0/0xe0
90646 [<ffffffff810b2052>] ? get_lock_stats+0x22/0x70
90647 [<ffffffff810b24be>] ? put_lock_stats.isra.23+0xe/0x40
90648 [<ffffffff81567f30>] sys_sendto+0x130/0x180
90649 [<ffffffff810b872d>] ? trace_hardirqs_on+0xd/0x10
90650 [<ffffffff816c547b>] ? _raw_spin_unlock_irq+0x3b/0x60
90651 [<ffffffff816cd767>] ? sysret_check+0x1b/0x56
90652 [<ffffffff810b8695>] ? trace_hardirqs_on_caller+0x115/0x1a0
90653 [<ffffffff81341d8e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
90654 [<ffffffff816cd742>] system_call_fastpath+0x16/0x1b
90655 ---[ end trace eed6ae990d018c8b ]---
90656
90657 Reported-by: Dave Jones <davej@redhat.com>
90658 Cc: Dave Jones <davej@redhat.com>
90659 Cc: David S. Miller <davem@davemloft.net>
90660 Cc: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
90661 Signed-off-by: Cong Wang <amwang@redhat.com>
90662 Acked-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
90663 Signed-off-by: David S. Miller <davem@davemloft.net>
90664
90665 net/rds/message.c | 3 +++
90666 1 files changed, 3 insertions(+), 0 deletions(-)
90667
90668 commit b46df323e01c63c62fdb82cf2c47e4386f5a0499
90669 Author: Cong Wang <amwang@redhat.com>
90670 Date: Sun Mar 3 16:28:27 2013 +0000
90671
90672 Upstream commit: 3f736868b47687d1336fe88185560b22bb92021e
90673
90674 sctp: use KMALLOC_MAX_SIZE instead of its own MAX_KMALLOC_SIZE
90675
90676 Don't definite its own MAX_KMALLOC_SIZE, use the one
90677 defined in mm.
90678
90679 Cc: Vlad Yasevich <vyasevich@gmail.com>
90680 Cc: Sridhar Samudrala <sri@us.ibm.com>
90681 Cc: Neil Horman <nhorman@tuxdriver.com>
90682 Cc: David S. Miller <davem@davemloft.net>
90683 Signed-off-by: Cong Wang <amwang@redhat.com>
90684 Acked-by: Neil Horman <nhorman@tuxdriver.com>
90685 Signed-off-by: David S. Miller <davem@davemloft.net>
90686
90687 net/sctp/ssnmap.c | 8 +++-----
90688 1 files changed, 3 insertions(+), 5 deletions(-)
90689
90690 commit 4295a024e812f903fc580c81de5e81cc149503fa
90691 Author: Brad Spengler <spender@grsecurity.net>
90692 Date: Thu Mar 7 17:57:49 2013 -0500
90693
90694 Upstream commit: https://lkml.org/lkml/2013/3/6/535
90695
90696 security/keys/process_keys.c | 2 +-
90697 1 files changed, 1 insertions(+), 1 deletions(-)
90698
90699 commit 33edd486a9899a145a15586d7134636b0300aaee
90700 Merge: 4eeeaf3 a2a2094
90701 Author: Brad Spengler <spender@grsecurity.net>
90702 Date: Thu Mar 7 17:53:00 2013 -0500
90703
90704 Merge branch 'pax-test' into grsec-test
90705
90706 Conflicts:
90707 arch/arm/include/asm/domain.h
90708
90709 commit a2a20947f5e1332e474160a39af520738b3c8c19
90710 Author: Brad Spengler <spender@grsecurity.net>
90711 Date: Thu Mar 7 17:51:04 2013 -0500
90712
90713 Update to pax-linux-3.8.2-test4.patch:
90714 fixed arm compilation problems reported by Michael Tremer
90715 - the constify plugin got smarter that enabled, with some additional patching,
90716 the elimination of about half the static function pointers on amd64/allmod
90717 (up from about 18%), depending on the kernel config it can be even more (70%)
90718
90719 Documentation/dontdiff | 2 +
90720 arch/arm/include/asm/domain.h | 1 +
90721 arch/x86/include/asm/i8259.h | 2 +-
90722 arch/x86/include/asm/nmi.h | 4 +-
90723 arch/x86/kernel/acpi/boot.c | 4 +-
90724 arch/x86/kernel/apic/apic_noop.c | 2 +-
90725 arch/x86/kernel/apic/es7000_32.c | 2 +-
90726 arch/x86/kernel/apic/io_apic.c | 10 +-
90727 arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
90728 arch/x86/kernel/cpu/perf_event.c | 6 +-
90729 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
90730 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
90731 arch/x86/kernel/i8259.c | 6 +-
90732 arch/x86/kernel/io_delay.c | 2 +-
90733 arch/x86/kernel/nmi.c | 6 +-
90734 arch/x86/kernel/nmi_selftest.c | 4 +-
90735 arch/x86/kernel/pci-swiotlb.c | 2 +-
90736 arch/x86/oprofile/nmi_int.c | 8 +-
90737 arch/x86/oprofile/op_model_amd.c | 8 +-
90738 arch/x86/oprofile/op_model_ppro.c | 7 +-
90739 arch/x86/oprofile/op_x86_model.h | 2 +-
90740 arch/x86/pci/irq.c | 6 +-
90741 drivers/acpi/apei/apei-internal.h | 2 +-
90742 drivers/acpi/bgrt.c | 6 +-
90743 drivers/acpi/blacklist.c | 2 +-
90744 drivers/acpi/processor_idle.c | 2 +-
90745 drivers/acpi/sysfs.c | 4 +-
90746 drivers/base/bus.c | 4 +-
90747 drivers/base/node.c | 2 +-
90748 drivers/base/syscore.c | 4 +-
90749 drivers/block/drbd/drbd_receiver.c | 4 +-
90750 drivers/char/random.c | 2 +-
90751 drivers/cpufreq/acpi-cpufreq.c | 20 ++-
90752 drivers/cpufreq/cpufreq.c | 7 +-
90753 drivers/cpufreq/cpufreq_governor.c | 4 +-
90754 drivers/cpufreq/cpufreq_governor.h | 2 +-
90755 drivers/cpufreq/p4-clockmod.c | 12 +-
90756 drivers/cpufreq/speedstep-centrino.c | 7 +-
90757 drivers/cpuidle/cpuidle.c | 2 +-
90758 drivers/cpuidle/governor.c | 4 +-
90759 drivers/cpuidle/sysfs.c | 2 +-
90760 drivers/devfreq/devfreq.c | 4 +-
90761 drivers/edac/edac_mc_sysfs.c | 2 +-
90762 drivers/edac/edac_pci_sysfs.c | 2 +-
90763 drivers/firewire/core-device.c | 2 +-
90764 drivers/firmware/dmi-id.c | 2 +-
90765 drivers/firmware/efivars.c | 2 +-
90766 drivers/firmware/google/memconsole.c | 4 +-
90767 drivers/gpio/gpio-ich.c | 2 +-
90768 drivers/gpu/drm/drm_drv.c | 2 +-
90769 drivers/gpu/drm/drm_ioc32.c | 9 +-
90770 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
90771 drivers/gpu/drm/i915/intel_display.c | 26 ++-
90772 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
90773 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
90774 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
90775 drivers/gpu/drm/radeon/radeon_ioc32.c | 11 +-
90776 drivers/gpu/drm/radeon/radeon_ttm.c | 33 ++--
90777 drivers/gpu/drm/udl/udl_fb.c | 1 -
90778 drivers/hwmon/acpi_power_meter.c | 4 +-
90779 drivers/hwmon/applesmc.c | 2 +-
90780 drivers/hwmon/asus_atk0110.c | 10 +-
90781 drivers/hwmon/ibmaem.c | 2 +-
90782 drivers/hwmon/pmbus/pmbus_core.c | 2 +-
90783 drivers/iio/industrialio-core.c | 2 +-
90784 drivers/input/mouse/psmouse.h | 2 +-
90785 drivers/iommu/iommu.c | 2 +-
90786 drivers/leds/leds-clevo-mail.c | 2 +-
90787 drivers/leds/leds-ss4200.c | 2 +-
90788 drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
90789 drivers/mfd/twl4030-irq.c | 8 +-
90790 drivers/mfd/twl6030-irq.c | 10 +-
90791 drivers/misc/c2port/core.c | 4 +-
90792 drivers/mtd/sm_ftl.c | 2 +-
90793 drivers/net/bonding/bond_main.c | 2 +-
90794 drivers/net/macvlan.c | 16 +-
90795 drivers/net/vxlan.c | 2 +-
90796 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
90797 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
90798 drivers/pci/hotplug/pciehp_core.c | 2 +-
90799 drivers/pci/pci-sysfs.c | 6 +-
90800 drivers/pci/pci.h | 2 +-
90801 drivers/platform/x86/msi-laptop.c | 14 +-
90802 drivers/platform/x86/sony-laptop.c | 2 +-
90803 drivers/power/power_supply.h | 4 +-
90804 drivers/power/power_supply_core.c | 6 +-
90805 drivers/power/power_supply_sysfs.c | 6 +-
90806 drivers/rtc/rtc-cmos.c | 4 +-
90807 drivers/rtc/rtc-ds1307.c | 2 +-
90808 drivers/rtc/rtc-m48t59.c | 4 +-
90809 drivers/scsi/bfa/bfa.h | 2 +-
90810 drivers/staging/iio/iio_hwmon.c | 2 +-
90811 drivers/usb/storage/usb.h | 2 +-
90812 drivers/video/aty/atyfb_base.c | 8 +-
90813 drivers/video/aty/mach64_cursor.c | 4 +-
90814 drivers/video/backlight/kb3886_bl.c | 2 +-
90815 drivers/video/fb_defio.c | 6 +-
90816 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
90817 drivers/video/nvidia/nvidia.c | 27 ++-
90818 drivers/video/s1d13xxxfb.c | 6 +-
90819 drivers/video/smscufx.c | 4 +-
90820 drivers/video/udlfb.c | 4 +-
90821 drivers/video/uvesafb.c | 14 +-
90822 fs/exec.c | 6 +-
90823 fs/ext4/super.c | 2 +-
90824 fs/jfs/super.c | 4 +-
90825 fs/nfs/callback_xdr.c | 2 +-
90826 fs/nfsd/nfs4proc.c | 2 +-
90827 fs/nfsd/nfs4xdr.c | 6 +-
90828 fs/nls/nls_base.c | 18 +-
90829 fs/nls/nls_euc-jp.c | 6 +-
90830 fs/nls/nls_koi8-ru.c | 6 +-
90831 fs/proc/proc_sysctl.c | 18 +-
90832 include/drm/drmP.h | 12 +-
90833 include/keys/asymmetric-subtype.h | 2 +-
90834 include/linux/atmdev.h | 2 +-
90835 include/linux/binfmts.h | 2 +-
90836 include/linux/configfs.h | 2 +-
90837 include/linux/cpufreq.h | 3 +-
90838 include/linux/cpuidle.h | 5 +-
90839 include/linux/devfreq.h | 2 +-
90840 include/linux/device.h | 7 +-
90841 include/linux/extcon.h | 2 +-
90842 include/linux/fb.h | 2 +-
90843 include/linux/fscache.h | 2 +-
90844 include/linux/genl_magic_func.h | 2 +-
90845 include/linux/hwmon-sysfs.h | 5 +-
90846 include/linux/iommu.h | 2 +-
90847 include/linux/irq.h | 2 +-
90848 include/linux/key-type.h | 2 +-
90849 include/linux/kobject.h | 1 +
90850 include/linux/kobject_ns.h | 2 +-
90851 include/linux/list.h | 14 +-
90852 include/linux/mod_devicetable.h | 2 +-
90853 include/linux/module.h | 5 +-
90854 include/linux/net.h | 2 +-
90855 include/linux/netfilter.h | 2 +-
90856 include/linux/nls.h | 2 +-
90857 include/linux/pci_hotplug.h | 3 +-
90858 include/linux/platform_data/usb-exynos.h | 2 +-
90859 include/linux/pnp.h | 2 +-
90860 include/linux/ppp-comp.h | 2 +-
90861 include/linux/rculist.h | 16 ++
90862 include/linux/sched.h | 2 +-
90863 include/linux/sock_diag.h | 2 +-
90864 include/linux/sunrpc/clnt.h | 2 +-
90865 include/linux/sunrpc/svc.h | 2 +-
90866 include/linux/sunrpc/svcauth.h | 2 +-
90867 include/linux/swiotlb.h | 3 +-
90868 include/linux/syscore_ops.h | 2 +-
90869 include/linux/sysctl.h | 6 +-
90870 include/linux/sysfs.h | 10 +-
90871 include/linux/sysrq.h | 1 +
90872 include/linux/xattr.h | 2 +-
90873 include/net/9p/transport.h | 2 +-
90874 include/net/bluetooth/l2cap.h | 2 +-
90875 include/net/genetlink.h | 2 +-
90876 include/net/ip.h | 2 +-
90877 include/net/ip_vs.h | 4 +-
90878 include/net/llc_c_ac.h | 2 +-
90879 include/net/llc_c_ev.h | 4 +-
90880 include/net/llc_c_st.h | 2 +-
90881 include/net/llc_s_ac.h | 2 +-
90882 include/net/llc_s_st.h | 2 +-
90883 include/net/mac80211.h | 2 +-
90884 include/net/net_namespace.h | 2 +-
90885 include/net/netns/conntrack.h | 6 +-
90886 include/net/rtnetlink.h | 2 +-
90887 include/net/sctp/sm.h | 4 +-
90888 include/net/sctp/structs.h | 2 +-
90889 include/net/xfrm.h | 4 +-
90890 ipc/ipc_sysctl.c | 10 +-
90891 ipc/mq_sysctl.c | 2 +-
90892 kernel/kmod.c | 2 +-
90893 kernel/ksysfs.c | 2 +-
90894 kernel/module.c | 4 +-
90895 kernel/pid_namespace.c | 2 +-
90896 kernel/rcutree_plugin.h | 2 +-
90897 kernel/sched/core.c | 39 ++--
90898 kernel/smpboot.c | 4 +-
90899 kernel/softirq.c | 2 +-
90900 kernel/sysctl.c | 2 +-
90901 kernel/utsname_sysctl.c | 2 +-
90902 kernel/watchdog.c | 2 +-
90903 lib/Kconfig.debug | 2 +-
90904 lib/kobject.c | 4 +-
90905 lib/list_debug.c | 57 ++++-
90906 lib/swiotlb.c | 2 +-
90907 mm/hugetlb.c | 16 +-
90908 mm/memory-failure.c | 2 +-
90909 mm/slab_common.c | 2 +-
90910 net/9p/mod.c | 4 +-
90911 net/ax25/sysctl_net_ax25.c | 2 +-
90912 net/core/neighbour.c | 2 +-
90913 net/core/net-sysfs.c | 2 +-
90914 net/core/net_namespace.c | 8 +-
90915 net/core/rtnetlink.c | 11 +-
90916 net/core/sock_diag.c | 9 +-
90917 net/core/sysctl_net_core.c | 15 +-
90918 net/ipv4/af_inet.c | 8 +-
90919 net/ipv4/devinet.c | 12 +-
90920 net/ipv4/inet_connection_sock.c | 2 +-
90921 net/ipv4/ip_fragment.c | 9 +-
90922 net/ipv4/ip_gre.c | 6 +-
90923 net/ipv4/ip_vti.c | 4 +-
90924 net/ipv4/ipip.c | 4 +-
90925 net/ipv4/route.c | 14 +-
90926 net/ipv4/sysctl_net_ipv4.c | 43 ++--
90927 net/ipv6/addrconf.c | 4 +-
90928 net/ipv6/icmp.c | 2 +-
90929 net/ipv6/ip6_gre.c | 6 +-
90930 net/ipv6/ip6_tunnel.c | 4 +-
90931 net/ipv6/netfilter/nf_conntrack_reasm.c | 12 +-
90932 net/ipv6/reassembly.c | 11 +-
90933 net/ipv6/route.c | 2 +-
90934 net/ipv6/sit.c | 4 +-
90935 net/ipv6/sysctl_net_ipv6.c | 2 +-
90936 net/netfilter/ipset/ip_set_core.c | 2 +-
90937 net/netfilter/ipvs/ip_vs_ctl.c | 4 +-
90938 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
90939 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
90940 net/netfilter/nf_conntrack_acct.c | 2 +-
90941 net/netfilter/nf_conntrack_ecache.c | 2 +-
90942 net/netfilter/nf_conntrack_helper.c | 2 +-
90943 net/netfilter/nf_conntrack_proto.c | 2 +-
90944 net/netfilter/nf_conntrack_standalone.c | 2 +-
90945 net/netfilter/nf_conntrack_timestamp.c | 2 +-
90946 net/netfilter/nf_log.c | 10 +-
90947 net/netfilter/nf_sockopt.c | 4 +-
90948 net/netlink/genetlink.c | 16 +-
90949 net/phonet/sysctl.c | 2 +-
90950 net/rds/rds.h | 2 +-
90951 net/sctp/ipv6.c | 6 +-
90952 net/sctp/protocol.c | 10 +-
90953 net/sctp/sm_sideeffect.c | 2 +-
90954 net/sctp/sysctl.c | 4 +-
90955 net/sunrpc/clnt.c | 4 +-
90956 net/sunrpc/svc.c | 4 +-
90957 net/unix/sysctl_net_unix.c | 2 +-
90958 net/xfrm/xfrm_policy.c | 11 +-
90959 net/xfrm/xfrm_state.c | 29 ++-
90960 net/xfrm/xfrm_sysctl.c | 2 +-
90961 security/apparmor/lsm.c | 2 +-
90962 security/keys/key.c | 18 +-
90963 security/yama/yama_lsm.c | 22 +-
90964 tools/gcc/Makefile | 4 +-
90965 tools/gcc/constify_plugin.c | 299 +++++++++++++++++++------
90966 tools/gcc/size_overflow_plugin.c | 7 +-
90967 248 files changed, 994 insertions(+), 668 deletions(-)
90968
90969 commit 4eeeaf3a560e25d1685f8973ef676b205efaa81b
90970 Author: Brad Spengler <spender@grsecurity.net>
90971 Date: Wed Mar 6 12:58:21 2013 -0500
90972
90973 Make slab_state __read_only, it's only written to during init
90974
90975 mm/slab_common.c | 2 +-
90976 1 files changed, 1 insertions(+), 1 deletions(-)
90977
90978 commit e7067b68d36fb9e0e8818de5d9ce1b4ba19ce24a
90979 Author: Brad Spengler <spender@grsecurity.net>
90980 Date: Wed Mar 6 12:31:35 2013 -0500
90981
90982 Make two new helper functions:
90983 gr_is_global_root() and gr_is_global_nonroot()
90984
90985 grsecurity/gracl.c | 10 +++++-----
90986 grsecurity/gracl_segv.c | 2 +-
90987 grsecurity/grsec_link.c | 4 ++--
90988 grsecurity/grsec_sig.c | 10 +++++-----
90989 grsecurity/grsec_tpe.c | 6 +++---
90990 include/linux/uidgid.h | 2 ++
90991 6 files changed, 18 insertions(+), 16 deletions(-)
90992
90993 commit d45d88eddd4998b280b1e5b5384289ee11ca7088
90994 Author: Brad Spengler <spender@grsecurity.net>
90995 Date: Wed Mar 6 12:14:41 2013 -0500
90996
90997 convert remaining task->pid to task_pid_nr(task)
90998
90999 grsecurity/gracl.c | 22 +++++++++++-----------
91000 grsecurity/gracl_shm.c | 2 +-
91001 grsecurity/grsec_chroot.c | 4 ++--
91002 grsecurity/grsec_sig.c | 4 ++--
91003 4 files changed, 16 insertions(+), 16 deletions(-)
91004
91005 commit c877f2ece03ee2232dd281c1977ae59507297124
91006 Author: Brad Spengler <spender@grsecurity.net>
91007 Date: Tue Mar 5 17:29:54 2013 -0500
91008
91009 compat-log is only used anymore by vm86-on-64bit and allows unlimited
91010 spamming of the kernel log buffer (and since it includes the changable
91011 process name, can avoid syslog log deduplication)
91012 Turn it off by default
91013
91014 fs/compat.c | 2 +-
91015 1 files changed, 1 insertions(+), 1 deletions(-)
91016
91017 commit 7c1964c4b7276889d7967bee70e46918cdca1b14
91018 Author: Brad Spengler <spender@grsecurity.net>
91019 Date: Mon Mar 4 17:19:10 2013 -0500
91020
91021 fix compilation error reported on IRC and forums when GRKERNSEC_PROC_USERGROUP
91022 is enabled, introduced with recent userns support
91023
91024 init/main.c | 4 ++--
91025 1 files changed, 2 insertions(+), 2 deletions(-)
91026
91027 commit c3ce01b94d8dd42b9c7942c0d513b152613e0656
91028 Author: Brad Spengler <spender@grsecurity.net>
91029 Date: Sun Mar 3 18:46:12 2013 -0500
91030
91031 Prevent TOMOYO from auto-loading modules by unprivileged users
91032 (Only reachable if TOMOYO is actually used)
91033
91034 security/tomoyo/mount.c | 4 ++++
91035 1 files changed, 4 insertions(+), 0 deletions(-)
91036
91037 commit 79e142f9455b398759ff9d93d4963a21b98dddda
91038 Author: Brad Spengler <spender@grsecurity.net>
91039 Date: Sun Mar 3 18:28:45 2013 -0500
91040
91041 For now, don't permit any special access to /proc in a user namespace
91042 Later we can go back and allow a userns-uid0 special access to a /proc
91043 with a non-global pid namespace
91044
91045 fs/proc/base.c | 2 +-
91046 1 files changed, 1 insertions(+), 1 deletions(-)
91047
91048 commit 8b91fb393049ce5f3c0a86f62247409853fd9700
91049 Merge: d931eb8 603ef05
91050 Author: Brad Spengler <spender@grsecurity.net>
91051 Date: Sun Mar 3 17:42:09 2013 -0500
91052
91053 Merge branch 'pax-test' into grsec-test
91054
91055 commit 603ef0579b9c3765d999c1938cb7a120d8c8e00b
91056 Author: Brad Spengler <spender@grsecurity.net>
91057 Date: Sun Mar 3 17:41:31 2013 -0500
91058
91059 Fix compilation error on ARM reported by Michael Tremer
91060
91061 arch/arm/mach-omap2/wd_timer.c | 6 +++---
91062 1 files changed, 3 insertions(+), 3 deletions(-)
91063
91064 commit b4c9ce81fdd7839a150c97873c710c479e788280
91065 Author: Brad Spengler <spender@grsecurity.net>
91066 Date: Sun Mar 3 17:39:53 2013 -0500
91067
91068 Fix compilation error on ARM reported by Michael Tremer
91069
91070 arch/arm/kernel/armksyms.c | 2 +-
91071 1 files changed, 1 insertions(+), 1 deletions(-)
91072
91073 commit d931eb81ab3da46896268fd61373a6aa7bbea930
91074 Merge: bfa7f44 5948f93
91075 Author: Brad Spengler <spender@grsecurity.net>
91076 Date: Sun Mar 3 17:34:36 2013 -0500
91077
91078 Merge branch 'pax-test' into grsec-test
91079
91080 commit 5948f930bc1c2d22138c1c76ca7e1bc94b6a3ce0
91081 Merge: ab30472 19b00d2
91082 Author: Brad Spengler <spender@grsecurity.net>
91083 Date: Sun Mar 3 17:34:08 2013 -0500
91084
91085 Merge branch 'linux-3.8.y' into pax-test
91086
91087 commit bfa7f445c5d484de51a5828b92ad2ff65053cc87
91088 Author: Brad Spengler <spender@grsecurity.net>
91089 Date: Sun Mar 3 15:12:12 2013 -0500
91090
91091 Initial support for user namespaces, as we previously didn't allow
91092 the option to be enabled at all.
91093
91094 RBAC will act on the global uids/gids only, so all uids/gids in user
91095 namespaces will be converted
91096
91097 Because Eric Biederman is insulted that I didn't support his
91098 backdoor prior to it receiving proper review. I still have the CAP_SYS_ADMIN
91099 check in for user namespaces, so this is generally irrelevant.
91100
91101 fs/exec.c | 6 +-
91102 fs/proc/base.c | 2 +-
91103 fs/proc/proc_net.c | 4 +-
91104 grsecurity/gracl.c | 128 +++++++++++++++++++++++++++++-------------
91105 grsecurity/gracl_cap.c | 4 +-
91106 grsecurity/gracl_ip.c | 16 +++---
91107 grsecurity/gracl_segv.c | 12 +++-
91108 grsecurity/gracl_shm.c | 4 +-
91109 grsecurity/grsec_disabled.c | 10 ++--
91110 grsecurity/grsec_fifo.c | 6 +-
91111 grsecurity/grsec_init.c | 24 ++++----
91112 grsecurity/grsec_log.c | 3 -
91113 grsecurity/grsec_tpe.c | 6 +-
91114 include/linux/grinternal.h | 12 ++--
91115 include/linux/grsecurity.h | 12 ++--
91116 include/linux/uidgid.h | 3 +
91117 init/Kconfig | 2 -
91118 ipc/shm.c | 2 +-
91119 kernel/cred.c | 5 +-
91120 kernel/kallsyms.c | 2 +-
91121 kernel/kmod.c | 6 +-
91122 kernel/sys.c | 12 ++--
91123 22 files changed, 166 insertions(+), 115 deletions(-)
91124
91125 commit 27a8cc1a9f22f95de6fe8740bdc900a160274dff
91126 Author: Linus Torvalds <torvalds@linux-foundation.org>
91127 Date: Wed Feb 27 08:36:04 2013 -0800
91128
91129 Upstream commit: 09884964335e85e897876d17783c2ad33cf8a2e0
91130
91131 mm: do not grow the stack vma just because of an overrun on preceding vma
91132
91133 The stack vma is designed to grow automatically (marked with VM_GROWSUP
91134 or VM_GROWSDOWN depending on architecture) when an access is made beyond
91135 the existing boundary. However, particularly if you have not limited
91136 your stack at all ("ulimit -s unlimited"), this can cause the stack to
91137 grow even if the access was really just one past *another* segment.
91138
91139 And that's wrong, especially since we first grow the segment, but then
91140 immediately later enforce the stack guard page on the last page of the
91141 segment. So _despite_ first growing the stack segment as a result of
91142 the access, the kernel will then make the access cause a SIGSEGV anyway!
91143
91144 So do the same logic as the guard page check does, and consider an
91145 access to within one page of the next segment to be a bad access, rather
91146 than growing the stack to abut the next segment.
91147
91148 Reported-and-tested-by: Heiko Carstens <heiko.carstens@de.ibm.com>
91149 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91150
91151 mm/mmap.c | 27 +++++++++++++++++++++++++++
91152 1 files changed, 27 insertions(+), 0 deletions(-)
91153
91154 commit 5596211af754867ca825f58e6e0300a8439950fe
91155 Author: H. Peter Anvin <hpa@linux.intel.com>
91156 Date: Wed Feb 27 12:46:40 2013 -0800
91157
91158 Upstream commit: 7c10093692ed2e6f318387d96b829320aa0ca64c
91159
91160 x86: Make sure we can boot in the case the BDA contains pure garbage
91161
91162 On non-BIOS platforms it is possible that the BIOS data area contains
91163 garbage instead of being zeroed or something equivalent (firmware
91164 people: we are talking of 1.5K here, so please do the sane thing.)
91165
91166 We need on the order of 20-30K of low memory in order to boot, which
91167 may grow up to < 64K in the future. We probably want to avoid the
91168 lowest of the low memory. At the same time, it seems extremely
91169 unlikely that a legitimate EBDA would ever reach down to the 128K
91170 (which would require it to be over half a megabyte in size.) Thus,
91171 pick 128K as the cutoff for "this is insane, ignore." We may still
91172 end up reserving a bunch of extra memory on the low megabyte, but that
91173 is not really a major issue these days. In the worst case we lose
91174 512K of RAM.
91175
91176 This code really should be merged with trim_bios_range() in
91177 arch/x86/kernel/setup.c, but that is a bigger patch for a later merge
91178 window.
91179
91180 Reported-by: Darren Hart <dvhart@linux.intel.com>
91181 Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
91182 Cc: Matt Fleming <matt.fleming@intel.com>
91183 Cc: <stable@vger.kernel.org>
91184 Link: http://lkml.kernel.org/n/tip-oebml055yyfm8yxmria09rja@git.kernel.org
91185
91186 arch/x86/kernel/head.c | 53 ++++++++++++++++++++++++++++++-----------------
91187 1 files changed, 34 insertions(+), 19 deletions(-)
91188
91189 commit 10eb1dabfb743fb22dcbcf186bb8d2192d2d55ea
91190 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
91191 Date: Wed Feb 27 17:05:46 2013 -0800
91192
91193 Upstream commit: 940da353a83e895ea600cb8ab17dceefb1bcb469
91194
91195 memstick: move the dereference below the NULL test
91196
91197 The dereference should be moved below the NULL test.
91198
91199 spatch with a semantic match is used to found this.
91200 (http://coccinelle.lip6.fr/)
91201
91202 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
91203 Cc: Maxim Levitsky <maximlevitsky@gmail.com>
91204 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
91205 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91206
91207 drivers/memstick/host/r592.c | 3 ++-
91208 1 files changed, 2 insertions(+), 1 deletions(-)
91209
91210 commit 1a63cb1ca50a10748cbf766894ecedf34a89baa3
91211 Author: Xi Wang <xi.wang@gmail.com>
91212 Date: Wed Feb 27 17:05:21 2013 -0800
91213
91214 Upstream commit: df1778be1a33edffa51d094eeda87c858ded6560
91215
91216 sysctl: fix null checking in bin_dn_node_address()
91217
91218 The null check of `strchr() + 1' is broken, which is always non-null,
91219 leading to OOB read. Instead, check the result of strchr().
91220
91221 Signed-off-by: Xi Wang <xi.wang@gmail.com>
91222 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
91223 Cc: <stable@vger.kernel.org>
91224 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
91225 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91226
91227 kernel/sysctl_binary.c | 3 ++-
91228 1 files changed, 2 insertions(+), 1 deletions(-)
91229
91230 commit 7ca96db0817416fd40761e7437d1939fc0731380
91231 Author: Tejun Heo <tj@kernel.org>
91232 Date: Wed Feb 27 17:03:34 2013 -0800
91233
91234 Upstream commit: 6cdae7416a1c45c2ce105a78187d9b7e8feb9e24
91235
91236 idr: fix a subtle bug in idr_get_next()
91237
91238 The iteration logic of idr_get_next() is borrowed mostly verbatim from
91239 idr_for_each(). It walks down the tree looking for the slot matching
91240 the current ID. If the matching slot is not found, the ID is
91241 incremented by the distance of single slot at the given level and
91242 repeats.
91243
91244 The implementation assumes that during the whole iteration id is aligned
91245 to the layer boundaries of the level closest to the leaf, which is true
91246 for all iterations starting from zero or an existing element and thus is
91247 fine for idr_for_each().
91248
91249 However, idr_get_next() may be given any point and if the starting id
91250 hits in the middle of a non-existent layer, increment to the next layer
91251 will end up skipping the same offset into it. For example, an IDR with
91252 IDs filled between [64, 127] would look like the following.
91253
91254 [ 0 64 ... ]
91255 /----/ |
91256 | |
91257 NULL [ 64 ... 127 ]
91258
91259 If idr_get_next() is called with 63 as the starting point, it will try
91260 to follow down the pointer from 0. As it is NULL, it will then try to
91261 proceed to the next slot in the same level by adding the slot distance
91262 at that level which is 64 - making the next try 127. It goes around the
91263 loop and finds and returns 127 skipping [64, 126].
91264
91265 Note that this bug also triggers in idr_for_each_entry() loop which
91266 deletes during iteration as deletions can make layers go away leaving
91267 the iteration with unaligned ID into missing layers.
91268
91269 Fix it by ensuring proceeding to the next slot doesn't carry over the
91270 unaligned offset - ie. use round_up(id + 1, slot_distance) instead of
91271 id += slot_distance.
91272
91273 Signed-off-by: Tejun Heo <tj@kernel.org>
91274 Reported-by: David Teigland <teigland@redhat.com>
91275 Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
91276 Cc: <stable@vger.kernel.org>
91277 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
91278 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91279
91280 lib/idr.c | 9 ++++++++-
91281 1 files changed, 8 insertions(+), 1 deletions(-)
91282
91283 commit 745362f28034f54242ba2e64eaa7374ab9869613
91284 Author: Brad Spengler <spender@grsecurity.net>
91285 Date: Fri Mar 1 20:31:42 2013 -0500
91286
91287 Fix dentry use-after-free after failed complete_walk() with RBAC enabled
91288 Many thanks to zakalwe from #grsecurity for the report and debugging help
91289
91290 fs/namei.c | 8 +++-----
91291 1 files changed, 3 insertions(+), 5 deletions(-)
91292
91293 commit b53b3b14330920c6f7cfb74c8508a3026e1be620
91294 Author: Brad Spengler <spender@grsecurity.net>
91295 Date: Thu Feb 28 18:29:26 2013 -0500
91296
91297 Fix bad git merge
91298
91299 fs/namespace.c | 8 --------
91300 1 files changed, 0 insertions(+), 8 deletions(-)
91301
91302 commit 71886f69ea10fa22e593dba1bdbe5c0334c6fede
91303 Merge: 1cce1dd ab30472
91304 Author: Brad Spengler <spender@grsecurity.net>
91305 Date: Thu Feb 28 17:45:14 2013 -0500
91306
91307 Merge branch 'pax-test' into grsec-test
91308
91309 Conflicts:
91310 net/core/sock_diag.c
91311
91312 commit ab3047280e1dfb43f1b301a296123757b4ac4f6e
91313 Merge: 4b61d21 4c91a0e
91314 Author: Brad Spengler <spender@grsecurity.net>
91315 Date: Thu Feb 28 17:43:56 2013 -0500
91316
91317 Merge branch 'linux-3.8.y' into pax-test
91318
91319 commit 1cce1ddd17c584c80465521834c3faf1a7c607d7
91320 Author: Brad Spengler <spender@grsecurity.net>
91321 Date: Wed Feb 27 22:20:22 2013 -0500
91322
91323 add compiler.h to sysrq.h to fix compilation problem reported by micu on forums
91324
91325 include/linux/sysrq.h | 1 +
91326 1 files changed, 1 insertions(+), 0 deletions(-)
91327
91328 commit 9f1e7fe130803fde83eb903b575335f59cd2bd18
91329 Author: Brad Spengler <spender@grsecurity.net>
91330 Date: Wed Feb 27 17:52:31 2013 -0500
91331
91332 declare check_syslog_permissions() earlier in file, fix bug in syslog_action_restricted() in upstream kernel
91333
91334 kernel/printk.c | 12 +++++++-----
91335 1 files changed, 7 insertions(+), 5 deletions(-)
91336
91337 commit 11dd499888fa76f3466821ce4daa5e0c55e43d39
91338 Author: Brad Spengler <spender@grsecurity.net>
91339 Date: Wed Feb 27 17:23:46 2013 -0500
91340
91341 Fix upstream vulnerability from addition of a /dev/kmsg device
91342 while neglecting to add the same set of existing permission checks
91343 from do_syslog. This bit both dmesg_restrict and GRKERNSEC_DMESG.
91344 A temporary workaround without this patch would be to
91345 chmod 0600 /dev/kmsg (and is likely a good idea anyway).
91346
91347 Notified in #grsecurity IRC by Jason A. Donenfeld and Petr Matousek
91348 Initially reported to Redhat bugzilla by Christian Kujau:
91349 https://bugzilla.redhat.com/show_bug.cgi?id=903192
91350
91351 kernel/printk.c | 4 ++++
91352 1 files changed, 4 insertions(+), 0 deletions(-)
91353
91354 commit 66c04806f5660988c3cb4855e60de294e77e3d0e
91355 Author: David Howells <dhowells@redhat.com>
91356 Date: Thu Feb 21 12:00:25 2013 +0000
91357
91358 Upstream commit: fe9453a1dcb5fb146f9653267e78f4a558066f6f
91359
91360 KEYS: Revert one application of "Fix unreachable code" patch
91361
91362 A patch to fix some unreachable code in search_my_process_keyrings() got
91363 applied twice by two different routes upstream as commits e67eab39bee2
91364 and b010520ab3d2 (both "fix unreachable code").
91365
91366 Unfortunately, the second application removed something it shouldn't
91367 have and this wasn't detected by GIT. This is due to the patch not
91368 having sufficient lines of context to distinguish the two places of
91369 application.
91370
91371 The effect of this is relatively minor: inside the kernel, the keyring
91372 search routines may search multiple keyrings and then prioritise the
91373 errors if no keys or negative keys are found in any of them. With the
91374 extra deletion, the presence of a negative key in the thread keyring
91375 (causing ENOKEY) is incorrectly overridden by an error searching the
91376 process keyring.
91377
91378 So revert the second application of the patch.
91379
91380 Signed-off-by: David Howells <dhowells@redhat.com>
91381 Cc: Jiri Kosina <jkosina@suse.cz>
91382 Cc: Andrew Morton <akpm@linux-foundation.org>
91383 Cc: stable@vger.kernel.org
91384 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91385
91386 security/keys/process_keys.c | 2 ++
91387 1 files changed, 2 insertions(+), 0 deletions(-)
91388
91389 commit 954b0c8a95b08c09c3d15ec38106ce403bf714da
91390 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
91391 Date: Thu Feb 21 16:42:43 2013 -0800
91392
91393 Upstream commit: 49deb4bc227cb9db5b8ebf9434367f8bed057c7a
91394
91395 configfs: move the dereference below the NULL test
91396
91397 The dereference should be moved below the NULL test.
91398
91399 spatch with a semantic match is used to found this.
91400 (http://coccinelle.lip6.fr/)
91401
91402 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
91403 Cc: Joel Becker <jlbec@evilplan.org>
91404 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
91405 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91406
91407 fs/configfs/dir.c | 5 +++--
91408 1 files changed, 3 insertions(+), 2 deletions(-)
91409
91410 commit d16d42c4fdc8baca5816d75b4a115102bf3d3423
91411 Author: Nicolas Pitre <nicolas.pitre@linaro.org>
91412 Date: Sun Feb 24 20:06:09 2013 -0500
91413
91414 Upstream commit: a883b70d8e0a88278c0a1f80753b4dc99962b541
91415
91416 tty vt: fix character insertion overflow
91417
91418 Commit 81732c3b2fed ("tty vt: Fix line garbage in virtual console on
91419 command line edition") broke insert_char() in multiple ways. Then
91420 commit b1a925f44a3a ("tty vt: Fix a regression in command line edition")
91421 partially fixed it. However, the buffer being moved is still too large
91422 and overflowing beyond the end of the current line, corrupting existing
91423 characters on the next line.
91424
91425 Example test case:
91426
91427 echo -e "abc\nde\x1b[A\x1b[4h \x1b[4l\x1b[B"
91428
91429 Expected result:
91430
91431 ab c
91432 de
91433
91434 Current result:
91435
91436 ab c
91437 e
91438
91439 Needless to say that this is very annoying when inserting words in the
91440 middle of paragraphs with certain text editors.
91441
91442 Signed-off-by: Nicolas Pitre <nico@linaro.org>
91443 Cc: Jean-François Moine <moinejf@free.fr>
91444 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
91445 Cc: <stable@vger.kernel.org>
91446 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91447
91448 drivers/tty/vt/vt.c | 2 +-
91449 1 files changed, 1 insertions(+), 1 deletions(-)
91450
91451 commit 6cda35071669b4aabde081bd039e0ffea36f997a
91452 Author: Robin Holt <holt@sgi.com>
91453 Date: Fri Feb 22 16:35:34 2013 -0800
91454
91455 Upstream commit: 751efd8610d3d7d67b7bdf7f62646edea7365dd7
91456
91457 mmu_notifier_unregister NULL Pointer deref and multiple ->release() callouts
91458
91459 There is a race condition between mmu_notifier_unregister() and
91460 __mmu_notifier_release().
91461
91462 Assume two tasks, one calling mmu_notifier_unregister() as a result of a
91463 filp_close() ->flush() callout (task A), and the other calling
91464 mmu_notifier_release() from an mmput() (task B).
91465
91466 A B
91467 t1 srcu_read_lock()
91468 t2 if (!hlist_unhashed())
91469 t3 srcu_read_unlock()
91470 t4 srcu_read_lock()
91471 t5 hlist_del_init_rcu()
91472 t6 synchronize_srcu()
91473 t7 srcu_read_unlock()
91474 t8 hlist_del_rcu() <--- NULL pointer deref.
91475
91476 Additionally, the list traversal in __mmu_notifier_release() is not
91477 protected by the by the mmu_notifier_mm->hlist_lock which can result in
91478 callouts to the ->release() notifier from both mmu_notifier_unregister()
91479 and __mmu_notifier_release().
91480
91481 -stable suggestions:
91482
91483 The stable trees prior to 3.7.y need commits 21a92735f660 and
91484 70400303ce0c cherry-picked in that order prior to cherry-picking this
91485 commit. The 3.7.y tree already has those two commits.
91486
91487 Signed-off-by: Robin Holt <holt@sgi.com>
91488 Cc: Andrea Arcangeli <aarcange@redhat.com>
91489 Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
91490 Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
91491 Cc: Avi Kivity <avi@redhat.com>
91492 Cc: Hugh Dickins <hughd@google.com>
91493 Cc: Marcelo Tosatti <mtosatti@redhat.com>
91494 Cc: Sagi Grimberg <sagig@mellanox.co.il>
91495 Cc: Haggai Eran <haggaie@mellanox.com>
91496 Cc: <stable@vger.kernel.org>
91497 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
91498 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91499
91500 mm/mmu_notifier.c | 82 +++++++++++++++++++++++++++--------------------------
91501 1 files changed, 42 insertions(+), 40 deletions(-)
91502
91503 commit bf5167ed78ba6131c6874887f714bda50c2cab83
91504 Author: Mike Galbraith <bitbucket@online.de>
91505 Date: Mon Jan 28 12:19:25 2013 +0100
91506
91507 Upstream commit: e0a79f529d5ba2507486d498b25da40911d95cf6
91508
91509 sched: Fix select_idle_sibling() bouncing cow syndrome
91510
91511 If the previous CPU is cache affine and idle, select it.
91512
91513 The current implementation simply traverses the sd_llc domain,
91514 taking the first idle CPU encountered, which walks buddy pairs
91515 hand in hand over the package, inflicting excruciating pain.
91516
91517 1 tbench pair (worst case) in a 10 core + SMT package:
91518
91519 pre 15.22 MB/sec 1 procs
91520 post 252.01 MB/sec 1 procs
91521
91522 Signed-off-by: Mike Galbraith <bitbucket@online.de>
91523 Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
91524 Link: http://lkml.kernel.org/r/1359371965.5783.127.camel@marge.simpson.net
91525 Signed-off-by: Ingo Molnar <mingo@kernel.org>
91526
91527 kernel/sched/fair.c | 21 +++++++--------------
91528 1 files changed, 7 insertions(+), 14 deletions(-)
91529
91530 commit cf7c2d257836fdcb5d51ad142cbc56ac12f7a37c
91531 Author: Eric W. Biederman <ebiederm@xmission.com>
91532 Date: Fri Dec 28 18:58:39 2012 -0800
91533
91534 Upstream commit: c61a2810a2161986353705b44d9503e6bb079f4f
91535
91536 userns: Avoid recursion in put_user_ns
91537
91538 When freeing a deeply nested user namespace free_user_ns calls
91539 put_user_ns on it's parent which may in turn call free_user_ns again.
91540 When -fno-optimize-sibling-calls is passed to gcc one stack frame per
91541 user namespace is left on the stack, potentially overflowing the
91542 kernel stack. CONFIG_FRAME_POINTER forces -fno-optimize-sibling-calls
91543 so we can't count on gcc to optimize this code.
91544
91545 Remove struct kref and use a plain atomic_t. Making the code more
91546 flexible and easier to comprehend. Make the loop in free_user_ns
91547 explict to guarantee that the stack does not overflow with
91548 CONFIG_FRAME_POINTER enabled.
91549
91550 I have tested this fix with a simple program that uses unshare to
91551 create a deeply nested user namespace structure and then calls exit.
91552 With 1000 nesteuser namespaces before this change running my test
91553 program causes the kernel to die a horrible death. With 10,000,000
91554 nested user namespaces after this change my test program runs to
91555 completion and causes no harm.
91556
91557 Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
91558 Pointed-out-by: Vasily Kulikov <segoon@openwall.com>
91559 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
91560
91561 include/linux/user_namespace.h | 10 +++++-----
91562 kernel/user.c | 4 +---
91563 kernel/user_namespace.c | 17 +++++++++--------
91564 3 files changed, 15 insertions(+), 16 deletions(-)
91565
91566 commit 81501c7106ccc186c94806f4db954626295b5ebe
91567 Author: Brad Spengler <spender@grsecurity.net>
91568 Date: Tue Feb 26 17:12:30 2013 -0500
91569
91570 Pass the same flags to kern_path_create as the original function
91571
91572 fs/namei.c | 4 ++--
91573 1 files changed, 2 insertions(+), 2 deletions(-)
91574
91575 commit a677c8eee35afe48868f92c7d6745bfe809cd481
91576 Author: Al Viro <viro@zeniv.linux.org.uk>
91577 Date: Fri Feb 22 22:45:42 2013 -0500
91578
91579 Upstream commit: 9b40bc90abd126bcc5da5658059b8e72e285e559
91580
91581 get rid of unprotected dereferencing of mnt->mnt_ns
91582
91583 It's safe only under namespace_sem or vfsmount_lock; all places
91584 in fs/namespace.c that want mnt->mnt_ns->user_ns actually want to use
91585 current->nsproxy->mnt_ns->user_ns (note the calls of check_mnt() in
91586 there).
91587
91588 Cc: stable@vger.kernel.org
91589 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
91590
91591 fs/namespace.c | 29 +++++++++++++++++------------
91592 1 files changed, 17 insertions(+), 12 deletions(-)
91593
91594 commit 89298124d0c96dc34a60377e7a1308f8f532ff75
91595 Author: Greg Thelen <gthelen@google.com>
91596 Date: Fri Feb 22 16:36:01 2013 -0800
91597
91598 Upstream fix: 5f00110f7273f9ff04ac69a5f85bb535a4fd0987
91599
91600 tmpfs: fix use-after-free of mempolicy object
91601
91602 The tmpfs remount logic preserves filesystem mempolicy if the mpol=M
91603 option is not specified in the remount request. A new policy can be
91604 specified if mpol=M is given.
91605
91606 Before this patch remounting an mpol bound tmpfs without specifying
91607 mpol= mount option in the remount request would set the filesystem's
91608 mempolicy object to a freed mempolicy object.
91609
91610 To reproduce the problem boot a DEBUG_PAGEALLOC kernel and run:
91611 # mkdir /tmp/x
91612
91613 # mount -t tmpfs -o size=100M,mpol=interleave nodev /tmp/x
91614
91615 # grep /tmp/x /proc/mounts
91616 nodev /tmp/x tmpfs rw,relatime,size=102400k,mpol=interleave:0-3 0 0
91617
91618 # mount -o remount,size=200M nodev /tmp/x
91619
91620 # grep /tmp/x /proc/mounts
91621 nodev /tmp/x tmpfs rw,relatime,size=204800k,mpol=??? 0 0
91622 # note ? garbage in mpol=... output above
91623
91624 # dd if=/dev/zero of=/tmp/x/f count=1
91625 # panic here
91626
91627 Panic:
91628 BUG: unable to handle kernel NULL pointer dereference at (null)
91629 IP: [< (null)>] (null)
91630 [...]
91631 Oops: 0010 [#1] SMP DEBUG_PAGEALLOC
91632 Call Trace:
91633 mpol_shared_policy_init+0xa5/0x160
91634 shmem_get_inode+0x209/0x270
91635 shmem_mknod+0x3e/0xf0
91636 shmem_create+0x18/0x20
91637 vfs_create+0xb5/0x130
91638 do_last+0x9a1/0xea0
91639 path_openat+0xb3/0x4d0
91640 do_filp_open+0x42/0xa0
91641 do_sys_open+0xfe/0x1e0
91642 compat_sys_open+0x1b/0x20
91643 cstar_dispatch+0x7/0x1f
91644
91645 Non-debug kernels will not crash immediately because referencing the
91646 dangling mpol will not cause a fault. Instead the filesystem will
91647 reference a freed mempolicy object, which will cause unpredictable
91648 behavior.
91649
91650 The problem boils down to a dropped mpol reference below if
91651 shmem_parse_options() does not allocate a new mpol:
91652
91653 config = *sbinfo
91654 shmem_parse_options(data, &config, true)
91655 mpol_put(sbinfo->mpol)
91656 sbinfo->mpol = config.mpol /* BUG: saves unreferenced mpol */
91657
91658 This patch avoids the crash by not releasing the mempolicy if
91659 shmem_parse_options() doesn't create a new mpol.
91660
91661 How far back does this issue go? I see it in both 2.6.36 and 3.3. I did
91662 not look back further.
91663
91664 Signed-off-by: Greg Thelen <gthelen@google.com>
91665 Acked-by: Hugh Dickins <hughd@google.com>
91666 Cc: <stable@vger.kernel.org>
91667 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
91668 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
91669
91670 mm/shmem.c | 10 ++++++++--
91671 1 files changed, 8 insertions(+), 2 deletions(-)
91672
91673 commit 614943c76d9e49f12f3e1154f1dea80dc4bb2743
91674 Author: Brad Spengler <spender@grsecurity.net>
91675 Date: Sat Feb 23 11:08:05 2013 -0500
91676
91677 Userland can send a netlink message requesting SOCK_DIAG_BY_FAMILY
91678 with a family greater or equal then AF_MAX -- the array size of
91679 sock_diag_handlers[]. The current code does not test for this
91680 condition therefore is vulnerable to an out-of-bound access opening
91681 doors for a privilege escalation.
91682
91683 Signed-off-by: Mathias Krause <minipli@googlemail.com>
91684
91685 The sock_diag_lock_handler() and sock_diag_unlock_handler() actually
91686 make the code less readable. Get rid of them and make the lock usage
91687 and access to sock_diag_handlers[] clear on the first sight.
91688
91689 Signed-off-by: Mathias Krause <minipli@googlemail.com>
91690
91691 net/core/sock_diag.c | 27 ++++++++++-----------------
91692 1 files changed, 10 insertions(+), 17 deletions(-)
91693
91694 commit e8d44970f8ac5ceda7b0e3f2c2ab33cefb800990
91695 Author: Brad Spengler <spender@grsecurity.net>
91696 Date: Sat Feb 23 10:58:52 2013 -0500
91697
91698 Fix compilation failure reported by Hinnerk van Bruinehsen when CPU_USE_DOMAINS is not defined
91699
91700 arch/arm/include/asm/domain.h | 1 +
91701 1 files changed, 1 insertions(+), 0 deletions(-)
91702
91703 commit 7b729586eb81f344fdedf0942fab0acc738a6725
91704 Author: Brad Spengler <spender@grsecurity.net>
91705 Date: Fri Feb 22 19:02:51 2013 -0500
91706
91707 Add back capability check for user namespaces. They have not seen enough proper review and needlessly exposes additional attack surface for all users.
91708
91709 kernel/fork.c | 17 +++++++++++++++++
91710 1 files changed, 17 insertions(+), 0 deletions(-)
91711
91712 commit fadc560d0c486af88da83177735f5515e88acdcc
91713 Author: Brad Spengler <spender@grsecurity.net>
91714 Date: Thu Feb 21 23:06:48 2013 -0500
91715
91716 put is_hugetlbfs_mnt inside ifdefs
91717
91718 grsecurity/gracl.c | 2 ++
91719 1 files changed, 2 insertions(+), 0 deletions(-)
91720
91721 commit 8252176922d405484f986eb2cc350b7cd3ae586e
91722 Author: Brad Spengler <spender@grsecurity.net>
91723 Date: Thu Feb 21 23:02:07 2013 -0500
91724
91725 remove unused label
91726
91727 kernel/module.c | 1 -
91728 1 files changed, 0 insertions(+), 1 deletions(-)
91729
91730 commit dad4a980f0b625059e215d13da728aa7fd02a374
91731 Author: Brad Spengler <spender@grsecurity.net>
91732 Date: Thu Feb 21 23:00:52 2013 -0500
91733
91734 compile fix
91735
91736 fs/open.c | 2 +-
91737 1 files changed, 1 insertions(+), 1 deletions(-)
91738
91739 commit 13e3266c41b98a40f3d8a4a7fb8ee5c0983156b7
91740 Author: Brad Spengler <spender@grsecurity.net>
91741 Date: Thu Feb 21 22:57:49 2013 -0500
91742
91743 remove kmalloc_array_error for the same reasons as kcalloc_error
91744
91745 include/linux/slab.h | 9 ---------
91746 1 files changed, 0 insertions(+), 9 deletions(-)
91747
91748 commit 0c24df0e81ae880c4523cc78ff91609b9aa6133a
91749 Author: Brad Spengler <spender@grsecurity.net>
91750 Date: Thu Feb 21 22:49:35 2013 -0500
91751
91752 Initial port of grsecurity for Linux 3.8
91753
91754 Documentation/kernel-parameters.txt | 4 +
91755 Makefile | 10 +-
91756 arch/alpha/include/asm/cache.h | 4 +-
91757 arch/alpha/kernel/osf_sys.c | 14 +-
91758 arch/arm/include/asm/cache.h | 2 +
91759 arch/arm/include/asm/thread_info.h | 9 +-
91760 arch/arm/kernel/process.c | 4 +-
91761 arch/arm/kernel/ptrace.c | 9 +
91762 arch/arm/kernel/traps.c | 7 +-
91763 arch/arm/mm/fault.c | 27 +-
91764 arch/arm/mm/mmap.c | 6 +-
91765 arch/avr32/include/asm/cache.h | 4 +-
91766 arch/blackfin/include/asm/cache.h | 3 +-
91767 arch/cris/include/arch-v10/arch/cache.h | 3 +-
91768 arch/cris/include/arch-v32/arch/cache.h | 3 +-
91769 arch/frv/include/asm/cache.h | 3 +-
91770 arch/frv/mm/elf-fdpic.c | 7 +-
91771 arch/hexagon/include/asm/cache.h | 6 +-
91772 arch/ia64/include/asm/cache.h | 3 +-
91773 arch/ia64/kernel/sys_ia64.c | 3 +-
91774 arch/ia64/mm/hugetlbpage.c | 3 +-
91775 arch/m32r/include/asm/cache.h | 4 +-
91776 arch/m68k/include/asm/cache.h | 4 +-
91777 arch/microblaze/include/asm/cache.h | 3 +-
91778 arch/mips/include/asm/cache.h | 3 +-
91779 arch/mips/include/asm/thread_info.h | 9 +-
91780 arch/mips/kernel/ptrace.c | 9 +
91781 arch/mips/kernel/scall32-o32.S | 2 +-
91782 arch/mips/kernel/scall64-64.S | 2 +-
91783 arch/mips/kernel/scall64-n32.S | 2 +-
91784 arch/mips/kernel/scall64-o32.S | 2 +-
91785 arch/mips/mm/mmap.c | 3 +-
91786 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
91787 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
91788 arch/openrisc/include/asm/cache.h | 4 +-
91789 arch/parisc/include/asm/cache.h | 5 +-
91790 arch/parisc/kernel/sys_parisc.c | 19 +-
91791 arch/powerpc/include/asm/cache.h | 3 +-
91792 arch/powerpc/include/asm/thread_info.h | 8 +-
91793 arch/powerpc/kernel/process.c | 10 +-
91794 arch/powerpc/kernel/ptrace.c | 14 +
91795 arch/powerpc/kernel/traps.c | 5 +
91796 arch/powerpc/mm/slice.c | 8 +-
91797 arch/s390/include/asm/cache.h | 4 +-
91798 arch/score/include/asm/cache.h | 4 +-
91799 arch/sh/include/asm/cache.h | 3 +-
91800 arch/sh/mm/mmap.c | 6 +-
91801 arch/sparc/include/asm/cache.h | 4 +-
91802 arch/sparc/include/asm/thread_info_64.h | 9 +-
91803 arch/sparc/kernel/process_32.c | 6 +-
91804 arch/sparc/kernel/process_64.c | 8 +-
91805 arch/sparc/kernel/ptrace_64.c | 14 +
91806 arch/sparc/kernel/sys_sparc_64.c | 6 +-
91807 arch/sparc/kernel/syscalls.S | 8 +-
91808 arch/sparc/kernel/traps_32.c | 8 +-
91809 arch/sparc/kernel/traps_64.c | 28 +-
91810 arch/sparc/kernel/unaligned_64.c | 2 +-
91811 arch/sparc/mm/fault_64.c | 2 +-
91812 arch/sparc/mm/hugetlbpage.c | 3 +-
91813 arch/tile/include/asm/cache.h | 3 +-
91814 arch/um/include/asm/cache.h | 3 +-
91815 arch/unicore32/include/asm/cache.h | 6 +-
91816 arch/x86/Kconfig | 5 +-
91817 arch/x86/Kconfig.debug | 2 +-
91818 arch/x86/ia32/ia32_aout.c | 2 +
91819 arch/x86/include/asm/thread_info.h | 8 +-
91820 arch/x86/kernel/dumpstack.c | 8 +
91821 arch/x86/kernel/entry_32.S | 2 +-
91822 arch/x86/kernel/entry_64.S | 2 +-
91823 arch/x86/kernel/ioport.c | 13 +
91824 arch/x86/kernel/ptrace.c | 14 +
91825 arch/x86/kernel/smpboot.c | 3 +
91826 arch/x86/kernel/sys_i386_32.c | 14 +-
91827 arch/x86/kernel/sys_x86_64.c | 3 +-
91828 arch/x86/kernel/verify_cpu.S | 1 +
91829 arch/x86/kernel/vm86_32.c | 16 +
91830 arch/x86/mm/fault.c | 12 +-
91831 arch/x86/mm/hugetlbpage.c | 3 +-
91832 arch/x86/mm/init.c | 66 +-
91833 arch/x86/net/bpf_jit_comp.c | 126 +-
91834 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
91835 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
91836 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
91837 crypto/ablkcipher.c | 12 +-
91838 crypto/aead.c | 9 +-
91839 crypto/ahash.c | 2 +-
91840 crypto/blkcipher.c | 6 +-
91841 crypto/crypto_user.c | 38 +-
91842 crypto/pcompress.c | 3 +-
91843 crypto/rng.c | 2 +-
91844 crypto/shash.c | 3 +-
91845 drivers/block/cciss.c | 2 +
91846 drivers/char/Kconfig | 4 +-
91847 drivers/char/genrtc.c | 1 +
91848 drivers/char/mem.c | 17 +
91849 drivers/char/random.c | 12 +
91850 drivers/gpu/drm/drm_info.c | 4 +
91851 drivers/hid/hid-wiimote-debug.c | 2 +-
91852 drivers/media/radio/radio-cadet.c | 2 +-
91853 drivers/message/fusion/mptbase.c | 5 +
91854 drivers/net/phy/mdio-bitbang.c | 1 +
91855 drivers/pci/proc.c | 9 +
91856 drivers/rtc/rtc-dev.c | 3 +
91857 drivers/tty/sysrq.c | 2 +-
91858 drivers/tty/vt/keyboard.c | 22 +-
91859 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++--------
91860 drivers/xen/xenfs/xenstored.c | 5 +
91861 fs/attr.c | 1 +
91862 fs/autofs4/waitq.c | 9 +
91863 fs/binfmt_aout.c | 7 +
91864 fs/binfmt_elf.c | 6 +
91865 fs/btrfs/inode.c | 10 +-
91866 fs/btrfs/ioctl.c | 6 +-
91867 fs/compat.c | 18 +
91868 fs/coredump.c | 10 +-
91869 fs/debugfs/inode.c | 4 +
91870 fs/exec.c | 155 +-
91871 fs/ext2/balloc.c | 4 +-
91872 fs/ext3/balloc.c | 4 +-
91873 fs/ext4/balloc.c | 4 +-
91874 fs/fcntl.c | 5 +
91875 fs/file.c | 4 +
91876 fs/filesystems.c | 5 +
91877 fs/fs_struct.c | 26 +-
91878 fs/hugetlbfs/inode.c | 5 +-
91879 fs/namei.c | 269 ++-
91880 fs/namespace.c | 24 +
91881 fs/open.c | 38 +
91882 fs/pipe.c | 2 +-
91883 fs/proc/Kconfig | 10 +-
91884 fs/proc/array.c | 59 +-
91885 fs/proc/base.c | 168 +-
91886 fs/proc/cmdline.c | 4 +
91887 fs/proc/devices.c | 4 +
91888 fs/proc/fd.c | 17 +-
91889 fs/proc/inode.c | 17 +
91890 fs/proc/internal.h | 3 +
91891 fs/proc/kcore.c | 3 +
91892 fs/proc/proc_net.c | 12 +
91893 fs/proc/proc_sysctl.c | 43 +-
91894 fs/proc/root.c | 8 +
91895 fs/proc/task_mmu.c | 75 +-
91896 fs/readdir.c | 19 +
91897 fs/select.c | 2 +
91898 fs/seq_file.c | 12 +-
91899 fs/stat.c | 19 +-
91900 fs/sysfs/dir.c | 12 +
91901 fs/utimes.c | 7 +
91902 fs/xattr.c | 19 +-
91903 grsecurity/Kconfig | 1021 +++++
91904 grsecurity/Makefile | 38 +
91905 grsecurity/gracl.c | 4017 ++++++++++++++++++++
91906 grsecurity/gracl_alloc.c | 105 +
91907 grsecurity/gracl_cap.c | 110 +
91908 grsecurity/gracl_fs.c | 431 +++
91909 grsecurity/gracl_ip.c | 384 ++
91910 grsecurity/gracl_learn.c | 207 +
91911 grsecurity/gracl_res.c | 68 +
91912 grsecurity/gracl_segv.c | 299 ++
91913 grsecurity/gracl_shm.c | 40 +
91914 grsecurity/grsec_chdir.c | 19 +
91915 grsecurity/grsec_chroot.c | 357 ++
91916 grsecurity/grsec_disabled.c | 434 +++
91917 grsecurity/grsec_exec.c | 174 +
91918 grsecurity/grsec_fifo.c | 24 +
91919 grsecurity/grsec_fork.c | 23 +
91920 grsecurity/grsec_init.c | 283 ++
91921 grsecurity/grsec_link.c | 58 +
91922 grsecurity/grsec_log.c | 329 ++
91923 grsecurity/grsec_mem.c | 40 +
91924 grsecurity/grsec_mount.c | 62 +
91925 grsecurity/grsec_pax.c | 36 +
91926 grsecurity/grsec_ptrace.c | 30 +
91927 grsecurity/grsec_sig.c | 222 ++
91928 grsecurity/grsec_sock.c | 244 ++
91929 grsecurity/grsec_sysctl.c | 469 +++
91930 grsecurity/grsec_time.c | 16 +
91931 grsecurity/grsec_tpe.c | 73 +
91932 grsecurity/grsum.c | 61 +
91933 include/linux/capability.h | 5 +
91934 include/linux/cred.h | 3 +
91935 include/linux/fs.h | 10 +
91936 include/linux/fsnotify.h | 6 +
91937 include/linux/gracl.h | 319 ++
91938 include/linux/gralloc.h | 9 +
91939 include/linux/grdefs.h | 140 +
91940 include/linux/grinternal.h | 215 ++
91941 include/linux/grmsg.h | 111 +
91942 include/linux/grsecurity.h | 257 ++
91943 include/linux/grsock.h | 19 +
91944 include/linux/kallsyms.h | 14 +-
91945 include/linux/kmod.h | 2 +
91946 include/linux/netfilter/xt_gradm.h | 9 +
91947 include/linux/printk.h | 3 +-
91948 include/linux/proc_fs.h | 12 +
91949 include/linux/sched.h | 66 +-
91950 include/linux/security.h | 1 +
91951 include/linux/seq_file.h | 3 +
91952 include/linux/shm.h | 4 +
91953 include/linux/sysctl.h | 2 +
91954 include/linux/thread_info.h | 2 +
91955 include/linux/vermagic.h | 9 +-
91956 include/trace/events/fs.h | 53 +
91957 include/uapi/linux/personality.h | 1 +
91958 init/Kconfig | 5 +-
91959 init/main.c | 14 +
91960 ipc/mqueue.c | 1 +
91961 ipc/shm.c | 28 +
91962 kernel/capability.c | 39 +-
91963 kernel/cgroup.c | 2 +-
91964 kernel/compat.c | 1 +
91965 kernel/configs.c | 11 +
91966 kernel/cred.c | 109 +-
91967 kernel/exit.c | 10 +-
91968 kernel/fork.c | 24 +-
91969 kernel/futex.c | 1 +
91970 kernel/kallsyms.c | 9 +
91971 kernel/kcmp.c | 4 +
91972 kernel/kmod.c | 71 +-
91973 kernel/kprobes.c | 4 +-
91974 kernel/ksysfs.c | 2 +
91975 kernel/lockdep_proc.c | 10 +-
91976 kernel/module.c | 80 +-
91977 kernel/panic.c | 4 +-
91978 kernel/pid.c | 19 +-
91979 kernel/posix-timers.c | 8 +
91980 kernel/printk.c | 5 +
91981 kernel/ptrace.c | 20 +-
91982 kernel/resource.c | 10 +
91983 kernel/sched/core.c | 6 +-
91984 kernel/signal.c | 37 +-
91985 kernel/sys.c | 38 +-
91986 kernel/sysctl.c | 39 +-
91987 kernel/taskstats.c | 6 +
91988 kernel/time.c | 5 +
91989 kernel/time/timekeeping.c | 3 +
91990 kernel/time/timer_list.c | 12 +
91991 kernel/time/timer_stats.c | 10 +-
91992 lib/Kconfig.debug | 5 +-
91993 lib/is_single_threaded.c | 3 +
91994 lib/vsprintf.c | 35 +-
91995 localversion-grsec | 1 +
91996 mm/Kconfig | 4 +-
91997 mm/filemap.c | 1 +
91998 mm/kmemleak.c | 4 +-
91999 mm/mempolicy.c | 12 +-
92000 mm/migrate.c | 3 +-
92001 mm/mlock.c | 3 +
92002 mm/mmap.c | 62 +-
92003 mm/mprotect.c | 8 +
92004 mm/page_alloc.c | 6 +
92005 mm/process_vm_access.c | 6 +
92006 mm/shmem.c | 2 +-
92007 mm/slab.c | 2 +-
92008 mm/slub.c | 14 +-
92009 mm/vmalloc.c | 4 +
92010 mm/vmstat.c | 18 +-
92011 net/core/dev.c | 9 +
92012 net/core/sock_diag.c | 7 +
92013 net/ipv4/inet_hashtables.c | 5 +
92014 net/ipv4/ip_sockglue.c | 3 +-
92015 net/ipv4/tcp_input.c | 4 +-
92016 net/ipv4/tcp_ipv4.c | 24 +-
92017 net/ipv4/tcp_minisocks.c | 9 +-
92018 net/ipv4/tcp_timer.c | 11 +
92019 net/ipv4/udp.c | 24 +
92020 net/ipv6/tcp_ipv6.c | 23 +-
92021 net/ipv6/udp.c | 7 +
92022 net/netfilter/Kconfig | 10 +
92023 net/netfilter/Makefile | 1 +
92024 net/netfilter/nf_conntrack_core.c | 8 +
92025 net/netfilter/xt_gradm.c | 51 +
92026 net/netrom/af_netrom.c | 2 +-
92027 net/phonet/af_phonet.c | 4 +-
92028 net/sctp/proc.c | 3 +-
92029 net/socket.c | 62 +-
92030 net/sysctl_net.c | 2 +-
92031 net/unix/af_unix.c | 19 +
92032 security/Kconfig | 320 ++-
92033 security/apparmor/lsm.c | 2 +-
92034 security/commoncap.c | 29 +
92035 security/min_addr.c | 2 +
92036 security/security.c | 2 -
92037 security/selinux/hooks.c | 2 -
92038 security/yama/Kconfig | 2 +-
92039 tools/gcc/Makefile | 2 +-
92040 286 files changed, 15083 insertions(+), 2067 deletions(-)
92041
92042 commit 4b61d2188de70da9dc9b3e67fc0565077370eb27
92043 Author: Brad Spengler <spender@grsecurity.net>
92044 Date: Wed Feb 20 21:00:42 2013 -0500
92045
92046 Initial import of pax-linux-3.8-test3.patch
92047
92048 Documentation/dontdiff | 43 +-
92049 Documentation/kernel-parameters.txt | 7 +
92050 Makefile | 97 +-
92051 arch/alpha/include/asm/atomic.h | 10 +
92052 arch/alpha/include/asm/elf.h | 7 +
92053 arch/alpha/include/asm/pgalloc.h | 6 +
92054 arch/alpha/include/asm/pgtable.h | 11 +
92055 arch/alpha/kernel/module.c | 2 +-
92056 arch/alpha/kernel/osf_sys.c | 10 +-
92057 arch/alpha/mm/fault.c | 141 +-
92058 arch/arm/Kconfig | 2 +-
92059 arch/arm/include/asm/atomic.h | 421 +++-
92060 arch/arm/include/asm/cache.h | 3 +-
92061 arch/arm/include/asm/cacheflush.h | 2 +-
92062 arch/arm/include/asm/checksum.h | 14 +-
92063 arch/arm/include/asm/cmpxchg.h | 2 +
92064 arch/arm/include/asm/delay.h | 8 +-
92065 arch/arm/include/asm/domain.h | 32 +-
92066 arch/arm/include/asm/elf.h | 13 +-
92067 arch/arm/include/asm/fncpy.h | 2 +
92068 arch/arm/include/asm/futex.h | 10 +
92069 arch/arm/include/asm/kmap_types.h | 2 +-
92070 arch/arm/include/asm/mach/dma.h | 2 +-
92071 arch/arm/include/asm/mach/map.h | 7 +-
92072 arch/arm/include/asm/outercache.h | 2 +-
92073 arch/arm/include/asm/page.h | 2 +-
92074 arch/arm/include/asm/pgalloc.h | 22 +-
92075 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
92076 arch/arm/include/asm/pgtable-2level.h | 1 +
92077 arch/arm/include/asm/pgtable-3level-hwdef.h | 4 +
92078 arch/arm/include/asm/pgtable-3level.h | 2 +
92079 arch/arm/include/asm/pgtable.h | 56 +-
92080 arch/arm/include/asm/proc-fns.h | 2 +-
92081 arch/arm/include/asm/processor.h | 5 +-
92082 arch/arm/include/asm/smp.h | 2 +-
92083 arch/arm/include/asm/thread_info.h | 6 +-
92084 arch/arm/include/asm/uaccess.h | 92 +-
92085 arch/arm/include/uapi/asm/ptrace.h | 2 +-
92086 arch/arm/kernel/armksyms.c | 4 +-
92087 arch/arm/kernel/entry-armv.S | 107 +-
92088 arch/arm/kernel/entry-common.S | 41 +-
92089 arch/arm/kernel/entry-header.S | 60 +
92090 arch/arm/kernel/fiq.c | 2 +
92091 arch/arm/kernel/head.S | 6 +-
92092 arch/arm/kernel/hw_breakpoint.c | 2 +-
92093 arch/arm/kernel/module.c | 29 +-
92094 arch/arm/kernel/perf_event_cpu.c | 2 +-
92095 arch/arm/kernel/process.c | 10 +-
92096 arch/arm/kernel/setup.c | 22 +-
92097 arch/arm/kernel/smp.c | 2 +-
92098 arch/arm/kernel/traps.c | 8 +-
92099 arch/arm/kernel/vmlinux.lds.S | 20 +-
92100 arch/arm/lib/clear_user.S | 6 +-
92101 arch/arm/lib/copy_from_user.S | 6 +-
92102 arch/arm/lib/copy_page.S | 1 +
92103 arch/arm/lib/copy_to_user.S | 6 +-
92104 arch/arm/lib/csumpartialcopyuser.S | 4 +-
92105 arch/arm/lib/delay.c | 14 +-
92106 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
92107 arch/arm/mach-kirkwood/common.c | 19 +-
92108 arch/arm/mach-omap2/board-n8x0.c | 2 +-
92109 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
92110 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
92111 arch/arm/mach-ux500/include/mach/setup.h | 7 -
92112 arch/arm/mm/Kconfig | 3 +-
92113 arch/arm/mm/fault.c | 78 +
92114 arch/arm/mm/fault.h | 12 +
92115 arch/arm/mm/init.c | 41 +
92116 arch/arm/mm/ioremap.c | 4 +-
92117 arch/arm/mm/mmap.c | 36 +-
92118 arch/arm/mm/mmu.c | 186 +-
92119 arch/arm/mm/proc-v7-2level.S | 3 +
92120 arch/arm/plat-omap/sram.c | 2 +
92121 arch/arm/plat-orion/include/plat/addr-map.h | 2 +-
92122 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
92123 arch/arm64/kernel/debug-monitors.c | 2 +-
92124 arch/arm64/kernel/hw_breakpoint.c | 2 +-
92125 arch/avr32/include/asm/elf.h | 8 +-
92126 arch/avr32/include/asm/kmap_types.h | 4 +-
92127 arch/avr32/mm/fault.c | 27 +
92128 arch/frv/include/asm/atomic.h | 10 +
92129 arch/frv/include/asm/kmap_types.h | 2 +-
92130 arch/frv/mm/elf-fdpic.c | 7 +-
92131 arch/ia64/include/asm/atomic.h | 10 +
92132 arch/ia64/include/asm/elf.h | 7 +
92133 arch/ia64/include/asm/pgalloc.h | 12 +
92134 arch/ia64/include/asm/pgtable.h | 13 +-
92135 arch/ia64/include/asm/spinlock.h | 2 +-
92136 arch/ia64/include/asm/uaccess.h | 28 +-
92137 arch/ia64/kernel/err_inject.c | 2 +-
92138 arch/ia64/kernel/mca.c | 2 +-
92139 arch/ia64/kernel/module.c | 48 +-
92140 arch/ia64/kernel/palinfo.c | 2 +-
92141 arch/ia64/kernel/salinfo.c | 2 +-
92142 arch/ia64/kernel/sys_ia64.c | 13 +-
92143 arch/ia64/kernel/topology.c | 2 +-
92144 arch/ia64/kernel/vmlinux.lds.S | 2 +-
92145 arch/ia64/mm/fault.c | 32 +-
92146 arch/ia64/mm/hugetlbpage.c | 2 +-
92147 arch/ia64/mm/init.c | 13 +
92148 arch/m32r/lib/usercopy.c | 6 +
92149 arch/mips/include/asm/atomic.h | 14 +
92150 arch/mips/include/asm/elf.h | 11 +-
92151 arch/mips/include/asm/exec.h | 2 +-
92152 arch/mips/include/asm/page.h | 2 +-
92153 arch/mips/include/asm/pgalloc.h | 5 +
92154 arch/mips/kernel/binfmt_elfn32.c | 7 +
92155 arch/mips/kernel/binfmt_elfo32.c | 7 +
92156 arch/mips/kernel/process.c | 12 -
92157 arch/mips/mm/fault.c | 17 +
92158 arch/mips/mm/mmap.c | 51 +-
92159 arch/parisc/include/asm/atomic.h | 10 +
92160 arch/parisc/include/asm/elf.h | 7 +
92161 arch/parisc/include/asm/pgalloc.h | 6 +
92162 arch/parisc/include/asm/pgtable.h | 11 +
92163 arch/parisc/include/asm/uaccess.h | 4 +-
92164 arch/parisc/kernel/module.c | 50 +-
92165 arch/parisc/kernel/sys_parisc.c | 6 +-
92166 arch/parisc/kernel/traps.c | 4 +-
92167 arch/parisc/mm/fault.c | 140 +-
92168 arch/powerpc/include/asm/atomic.h | 10 +
92169 arch/powerpc/include/asm/elf.h | 19 +-
92170 arch/powerpc/include/asm/exec.h | 2 +-
92171 arch/powerpc/include/asm/kmap_types.h | 2 +-
92172 arch/powerpc/include/asm/mman.h | 2 +-
92173 arch/powerpc/include/asm/page.h | 8 +-
92174 arch/powerpc/include/asm/page_64.h | 7 +-
92175 arch/powerpc/include/asm/pgalloc-64.h | 7 +
92176 arch/powerpc/include/asm/pgtable.h | 1 +
92177 arch/powerpc/include/asm/pte-hash32.h | 1 +
92178 arch/powerpc/include/asm/reg.h | 1 +
92179 arch/powerpc/include/asm/uaccess.h | 142 +-
92180 arch/powerpc/kernel/exceptions-64e.S | 4 +-
92181 arch/powerpc/kernel/exceptions-64s.S | 2 +-
92182 arch/powerpc/kernel/module_32.c | 13 +-
92183 arch/powerpc/kernel/process.c | 55 -
92184 arch/powerpc/kernel/signal_32.c | 2 +-
92185 arch/powerpc/kernel/signal_64.c | 2 +-
92186 arch/powerpc/kernel/sysfs.c | 2 +-
92187 arch/powerpc/kernel/vdso.c | 5 +-
92188 arch/powerpc/lib/usercopy_64.c | 18 -
92189 arch/powerpc/mm/fault.c | 54 +-
92190 arch/powerpc/mm/mmap_64.c | 16 +
92191 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
92192 arch/powerpc/mm/numa.c | 2 +-
92193 arch/powerpc/mm/slice.c | 23 +-
92194 arch/powerpc/platforms/powermac/smp.c | 2 +-
92195 arch/s390/include/asm/atomic.h | 10 +
92196 arch/s390/include/asm/elf.h | 13 +-
92197 arch/s390/include/asm/exec.h | 2 +-
92198 arch/s390/include/asm/uaccess.h | 15 +-
92199 arch/s390/kernel/module.c | 22 +-
92200 arch/s390/kernel/process.c | 36 -
92201 arch/s390/mm/mmap.c | 24 +
92202 arch/score/include/asm/exec.h | 2 +-
92203 arch/score/kernel/process.c | 5 -
92204 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
92205 arch/sh/mm/mmap.c | 22 +-
92206 arch/sparc/include/asm/atomic_64.h | 106 +-
92207 arch/sparc/include/asm/cache.h | 2 +-
92208 arch/sparc/include/asm/elf_32.h | 7 +
92209 arch/sparc/include/asm/elf_64.h | 7 +
92210 arch/sparc/include/asm/pgalloc_32.h | 1 +
92211 arch/sparc/include/asm/pgalloc_64.h | 1 +
92212 arch/sparc/include/asm/pgtable_32.h | 15 +-
92213 arch/sparc/include/asm/pgtsrmmu.h | 5 +
92214 arch/sparc/include/asm/spinlock_64.h | 35 +-
92215 arch/sparc/include/asm/thread_info_32.h | 2 +
92216 arch/sparc/include/asm/thread_info_64.h | 2 +
92217 arch/sparc/include/asm/uaccess.h | 8 +
92218 arch/sparc/include/asm/uaccess_32.h | 27 +-
92219 arch/sparc/include/asm/uaccess_64.h | 19 +-
92220 arch/sparc/kernel/Makefile | 2 +-
92221 arch/sparc/kernel/sys_sparc_32.c | 2 +-
92222 arch/sparc/kernel/sys_sparc_64.c | 48 +-
92223 arch/sparc/kernel/sysfs.c | 2 +-
92224 arch/sparc/kernel/traps_64.c | 13 +-
92225 arch/sparc/lib/Makefile | 2 +-
92226 arch/sparc/lib/atomic_64.S | 136 +-
92227 arch/sparc/lib/ksyms.c | 6 +
92228 arch/sparc/mm/Makefile | 2 +-
92229 arch/sparc/mm/fault_32.c | 292 ++
92230 arch/sparc/mm/fault_64.c | 486 +++
92231 arch/sparc/mm/hugetlbpage.c | 21 +-
92232 arch/tile/include/asm/atomic_64.h | 10 +
92233 arch/tile/include/asm/uaccess.h | 4 +-
92234 arch/um/Makefile | 4 +
92235 arch/um/include/asm/kmap_types.h | 2 +-
92236 arch/um/include/asm/page.h | 3 +
92237 arch/um/include/asm/pgtable-3level.h | 1 +
92238 arch/um/kernel/process.c | 16 -
92239 arch/x86/Kconfig | 10 +-
92240 arch/x86/Kconfig.cpu | 6 +-
92241 arch/x86/Kconfig.debug | 6 +-
92242 arch/x86/Makefile | 10 +
92243 arch/x86/boot/Makefile | 3 +
92244 arch/x86/boot/bitops.h | 4 +-
92245 arch/x86/boot/boot.h | 4 +-
92246 arch/x86/boot/compressed/Makefile | 3 +
92247 arch/x86/boot/compressed/eboot.c | 2 -
92248 arch/x86/boot/compressed/head_32.S | 7 +-
92249 arch/x86/boot/compressed/head_64.S | 4 +-
92250 arch/x86/boot/compressed/misc.c | 4 +-
92251 arch/x86/boot/cpucheck.c | 28 +-
92252 arch/x86/boot/header.S | 6 +-
92253 arch/x86/boot/memory.c | 2 +-
92254 arch/x86/boot/video-vesa.c | 1 +
92255 arch/x86/boot/video.c | 2 +-
92256 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
92257 arch/x86/crypto/aesni-intel_asm.S | 31 +
92258 arch/x86/crypto/blowfish-x86_64-asm_64.S | 8 +
92259 arch/x86/crypto/camellia-x86_64-asm_64.S | 8 +
92260 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 8 +
92261 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 8 +
92262 arch/x86/crypto/salsa20-x86_64-asm_64.S | 5 +
92263 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 8 +
92264 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 5 +
92265 arch/x86/crypto/sha1_ssse3_asm.S | 3 +
92266 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 8 +
92267 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 5 +
92268 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
92269 arch/x86/ia32/ia32_signal.c | 14 +-
92270 arch/x86/ia32/ia32entry.S | 141 +-
92271 arch/x86/ia32/sys_ia32.c | 12 +-
92272 arch/x86/include/asm/alternative-asm.h | 39 +
92273 arch/x86/include/asm/alternative.h | 4 +-
92274 arch/x86/include/asm/apic.h | 2 +-
92275 arch/x86/include/asm/apm.h | 4 +-
92276 arch/x86/include/asm/atomic.h | 307 ++-
92277 arch/x86/include/asm/atomic64_32.h | 100 +
92278 arch/x86/include/asm/atomic64_64.h | 202 ++-
92279 arch/x86/include/asm/bitops.h | 2 +-
92280 arch/x86/include/asm/boot.h | 7 +-
92281 arch/x86/include/asm/cache.h | 5 +-
92282 arch/x86/include/asm/cacheflush.h | 2 +-
92283 arch/x86/include/asm/checksum_32.h | 12 +-
92284 arch/x86/include/asm/cmpxchg.h | 35 +
92285 arch/x86/include/asm/cpufeature.h | 4 +-
92286 arch/x86/include/asm/desc.h | 65 +-
92287 arch/x86/include/asm/desc_defs.h | 6 +
92288 arch/x86/include/asm/elf.h | 31 +-
92289 arch/x86/include/asm/emergency-restart.h | 2 +-
92290 arch/x86/include/asm/fpu-internal.h | 6 +-
92291 arch/x86/include/asm/futex.h | 16 +-
92292 arch/x86/include/asm/hw_irq.h | 4 +-
92293 arch/x86/include/asm/io.h | 13 +-
92294 arch/x86/include/asm/irqflags.h | 5 +
92295 arch/x86/include/asm/kprobes.h | 9 +-
92296 arch/x86/include/asm/local.h | 142 +-
92297 arch/x86/include/asm/mman.h | 15 +
92298 arch/x86/include/asm/mmu.h | 16 +-
92299 arch/x86/include/asm/mmu_context.h | 76 +-
92300 arch/x86/include/asm/module.h | 17 +-
92301 arch/x86/include/asm/page_64_types.h | 2 +-
92302 arch/x86/include/asm/paravirt.h | 44 +-
92303 arch/x86/include/asm/paravirt_types.h | 17 +-
92304 arch/x86/include/asm/pgalloc.h | 23 +
92305 arch/x86/include/asm/pgtable-2level.h | 2 +
92306 arch/x86/include/asm/pgtable-3level.h | 4 +
92307 arch/x86/include/asm/pgtable.h | 110 +-
92308 arch/x86/include/asm/pgtable_32.h | 14 +-
92309 arch/x86/include/asm/pgtable_32_types.h | 15 +-
92310 arch/x86/include/asm/pgtable_64.h | 19 +-
92311 arch/x86/include/asm/pgtable_64_types.h | 5 +
92312 arch/x86/include/asm/pgtable_types.h | 36 +-
92313 arch/x86/include/asm/processor.h | 39 +-
92314 arch/x86/include/asm/ptrace.h | 26 +-
92315 arch/x86/include/asm/realmode.h | 4 +-
92316 arch/x86/include/asm/reboot.h | 10 +-
92317 arch/x86/include/asm/rwsem.h | 60 +-
92318 arch/x86/include/asm/segment.h | 24 +-
92319 arch/x86/include/asm/smp.h | 14 +-
92320 arch/x86/include/asm/spinlock.h | 36 +-
92321 arch/x86/include/asm/stackprotector.h | 4 +-
92322 arch/x86/include/asm/stacktrace.h | 32 +-
92323 arch/x86/include/asm/switch_to.h | 4 +-
92324 arch/x86/include/asm/thread_info.h | 83 +-
92325 arch/x86/include/asm/uaccess.h | 96 +-
92326 arch/x86/include/asm/uaccess_32.h | 106 +-
92327 arch/x86/include/asm/uaccess_64.h | 232 +-
92328 arch/x86/include/asm/word-at-a-time.h | 2 +-
92329 arch/x86/include/asm/x86_init.h | 10 +-
92330 arch/x86/include/asm/xsave.h | 10 +-
92331 arch/x86/include/uapi/asm/e820.h | 2 +-
92332 arch/x86/kernel/Makefile | 2 +-
92333 arch/x86/kernel/acpi/sleep.c | 4 +
92334 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
92335 arch/x86/kernel/alternative.c | 65 +-
92336 arch/x86/kernel/apic/apic.c | 6 +-
92337 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
92338 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
92339 arch/x86/kernel/apic/es7000_32.c | 5 +-
92340 arch/x86/kernel/apic/io_apic.c | 8 +-
92341 arch/x86/kernel/apic/numaq_32.c | 3 +-
92342 arch/x86/kernel/apic/probe_32.c | 2 +-
92343 arch/x86/kernel/apic/summit_32.c | 2 +-
92344 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
92345 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
92346 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
92347 arch/x86/kernel/apm_32.c | 19 +-
92348 arch/x86/kernel/asm-offsets.c | 20 +
92349 arch/x86/kernel/asm-offsets_64.c | 1 +
92350 arch/x86/kernel/cpu/Makefile | 4 -
92351 arch/x86/kernel/cpu/amd.c | 2 +-
92352 arch/x86/kernel/cpu/common.c | 75 +-
92353 arch/x86/kernel/cpu/intel.c | 2 +-
92354 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
92355 arch/x86/kernel/cpu/mcheck/mce.c | 29 +-
92356 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
92357 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
92358 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
92359 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
92360 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
92361 arch/x86/kernel/cpu/perf_event.c | 4 +-
92362 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
92363 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
92364 arch/x86/kernel/cpuid.c | 2 +-
92365 arch/x86/kernel/crash.c | 4 +-
92366 arch/x86/kernel/doublefault_32.c | 8 +-
92367 arch/x86/kernel/dumpstack.c | 30 +-
92368 arch/x86/kernel/dumpstack_32.c | 34 +-
92369 arch/x86/kernel/dumpstack_64.c | 63 +-
92370 arch/x86/kernel/early_printk.c | 1 +
92371 arch/x86/kernel/entry_32.S | 354 ++-
92372 arch/x86/kernel/entry_64.S | 512 +++-
92373 arch/x86/kernel/ftrace.c | 14 +-
92374 arch/x86/kernel/head32.c | 4 +-
92375 arch/x86/kernel/head_32.S | 237 ++-
92376 arch/x86/kernel/head_64.S | 158 +-
92377 arch/x86/kernel/i386_ksyms_32.c | 8 +
92378 arch/x86/kernel/i387.c | 2 +-
92379 arch/x86/kernel/i8259.c | 2 +-
92380 arch/x86/kernel/ioport.c | 2 +-
92381 arch/x86/kernel/irq.c | 10 +-
92382 arch/x86/kernel/irq_32.c | 69 +-
92383 arch/x86/kernel/irq_64.c | 2 +-
92384 arch/x86/kernel/kdebugfs.c | 2 +-
92385 arch/x86/kernel/kgdb.c | 25 +-
92386 arch/x86/kernel/kprobes-opt.c | 12 +-
92387 arch/x86/kernel/kprobes.c | 30 +-
92388 arch/x86/kernel/kvm.c | 2 +-
92389 arch/x86/kernel/ldt.c | 31 +-
92390 arch/x86/kernel/machine_kexec_32.c | 6 +-
92391 arch/x86/kernel/microcode_core.c | 2 +-
92392 arch/x86/kernel/microcode_intel.c | 4 +-
92393 arch/x86/kernel/module.c | 76 +-
92394 arch/x86/kernel/msr.c | 2 +-
92395 arch/x86/kernel/nmi.c | 11 +
92396 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
92397 arch/x86/kernel/paravirt.c | 43 +-
92398 arch/x86/kernel/pci-iommu_table.c | 2 +-
92399 arch/x86/kernel/process.c | 57 +-
92400 arch/x86/kernel/process_32.c | 29 +-
92401 arch/x86/kernel/process_64.c | 15 +-
92402 arch/x86/kernel/ptrace.c | 25 +-
92403 arch/x86/kernel/pvclock.c | 8 +-
92404 arch/x86/kernel/reboot.c | 44 +-
92405 arch/x86/kernel/relocate_kernel_64.S | 4 +-
92406 arch/x86/kernel/setup.c | 14 +-
92407 arch/x86/kernel/setup_percpu.c | 27 +-
92408 arch/x86/kernel/signal.c | 15 +-
92409 arch/x86/kernel/smp.c | 2 +-
92410 arch/x86/kernel/smpboot.c | 15 +-
92411 arch/x86/kernel/step.c | 10 +-
92412 arch/x86/kernel/sys_i386_32.c | 247 ++
92413 arch/x86/kernel/sys_x86_64.c | 19 +-
92414 arch/x86/kernel/tboot.c | 14 +-
92415 arch/x86/kernel/time.c | 10 +-
92416 arch/x86/kernel/tls.c | 7 +-
92417 arch/x86/kernel/traps.c | 64 +-
92418 arch/x86/kernel/uprobes.c | 2 +-
92419 arch/x86/kernel/vm86_32.c | 6 +-
92420 arch/x86/kernel/vmlinux.lds.S | 148 +-
92421 arch/x86/kernel/vsyscall_64.c | 12 +-
92422 arch/x86/kernel/x8664_ksyms_64.c | 2 -
92423 arch/x86/kernel/x86_init.c | 8 +-
92424 arch/x86/kernel/xsave.c | 2 +
92425 arch/x86/kvm/cpuid.c | 21 +-
92426 arch/x86/kvm/emulate.c | 4 +-
92427 arch/x86/kvm/lapic.c | 2 +-
92428 arch/x86/kvm/paging_tmpl.h | 2 +-
92429 arch/x86/kvm/svm.c | 8 +
92430 arch/x86/kvm/vmx.c | 47 +-
92431 arch/x86/kvm/x86.c | 10 +-
92432 arch/x86/lguest/boot.c | 3 +-
92433 arch/x86/lib/atomic64_386_32.S | 164 +
92434 arch/x86/lib/atomic64_cx8_32.S | 103 +-
92435 arch/x86/lib/checksum_32.S | 100 +-
92436 arch/x86/lib/clear_page_64.S | 5 +-
92437 arch/x86/lib/cmpxchg16b_emu.S | 2 +
92438 arch/x86/lib/copy_page_64.S | 24 +-
92439 arch/x86/lib/copy_user_64.S | 47 +-
92440 arch/x86/lib/copy_user_nocache_64.S | 20 +-
92441 arch/x86/lib/csum-copy_64.S | 2 +
92442 arch/x86/lib/csum-wrappers_64.c | 4 +-
92443 arch/x86/lib/getuser.S | 68 +-
92444 arch/x86/lib/insn.c | 6 +-
92445 arch/x86/lib/iomap_copy_64.S | 2 +
92446 arch/x86/lib/memcpy_64.S | 18 +-
92447 arch/x86/lib/memmove_64.S | 34 +-
92448 arch/x86/lib/memset_64.S | 7 +-
92449 arch/x86/lib/mmx_32.c | 243 +-
92450 arch/x86/lib/msr-reg.S | 18 +-
92451 arch/x86/lib/putuser.S | 90 +-
92452 arch/x86/lib/rwlock.S | 42 +
92453 arch/x86/lib/rwsem.S | 6 +-
92454 arch/x86/lib/thunk_64.S | 2 +
92455 arch/x86/lib/usercopy_32.c | 376 ++-
92456 arch/x86/lib/usercopy_64.c | 25 +-
92457 arch/x86/mm/extable.c | 25 +-
92458 arch/x86/mm/fault.c | 555 +++-
92459 arch/x86/mm/gup.c | 2 +-
92460 arch/x86/mm/highmem_32.c | 4 +
92461 arch/x86/mm/hugetlbpage.c | 30 +-
92462 arch/x86/mm/init.c | 92 +-
92463 arch/x86/mm/init_32.c | 122 +-
92464 arch/x86/mm/init_64.c | 48 +-
92465 arch/x86/mm/iomap_32.c | 4 +
92466 arch/x86/mm/ioremap.c | 12 +-
92467 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
92468 arch/x86/mm/mmap.c | 41 +-
92469 arch/x86/mm/mmio-mod.c | 10 +-
92470 arch/x86/mm/pageattr-test.c | 2 +-
92471 arch/x86/mm/pageattr.c | 33 +-
92472 arch/x86/mm/pat.c | 12 +-
92473 arch/x86/mm/pf_in.c | 10 +-
92474 arch/x86/mm/pgtable.c | 137 +-
92475 arch/x86/mm/pgtable_32.c | 3 +
92476 arch/x86/mm/setup_nx.c | 7 +
92477 arch/x86/mm/tlb.c | 4 +
92478 arch/x86/net/bpf_jit.S | 14 +
92479 arch/x86/net/bpf_jit_comp.c | 37 +-
92480 arch/x86/oprofile/backtrace.c | 8 +-
92481 arch/x86/pci/amd_bus.c | 2 +-
92482 arch/x86/pci/mrst.c | 4 +-
92483 arch/x86/pci/pcbios.c | 144 +-
92484 arch/x86/platform/efi/efi_32.c | 19 +
92485 arch/x86/platform/efi/efi_stub_32.S | 64 +-
92486 arch/x86/platform/efi/efi_stub_64.S | 8 +
92487 arch/x86/platform/mrst/mrst.c | 6 +-
92488 arch/x86/platform/olpc/olpc_dt.c | 2 +-
92489 arch/x86/power/cpu.c | 4 +-
92490 arch/x86/realmode/init.c | 8 +-
92491 arch/x86/realmode/rm/Makefile | 3 +
92492 arch/x86/realmode/rm/header.S | 4 +-
92493 arch/x86/realmode/rm/trampoline_32.S | 12 +-
92494 arch/x86/realmode/rm/trampoline_64.S | 2 +-
92495 arch/x86/tools/relocs.c | 95 +-
92496 arch/x86/vdso/Makefile | 2 +-
92497 arch/x86/vdso/vdso32-setup.c | 23 +-
92498 arch/x86/vdso/vma.c | 29 +-
92499 arch/x86/xen/enlighten.c | 47 +-
92500 arch/x86/xen/mmu.c | 9 +
92501 arch/x86/xen/smp.c | 18 +-
92502 arch/x86/xen/xen-asm_32.S | 12 +-
92503 arch/x86/xen/xen-head.S | 11 +
92504 arch/x86/xen/xen-ops.h | 2 -
92505 block/blk-iopoll.c | 4 +-
92506 block/blk-map.c | 2 +-
92507 block/blk-softirq.c | 4 +-
92508 block/bsg.c | 12 +-
92509 block/compat_ioctl.c | 2 +-
92510 block/partitions/efi.c | 8 +-
92511 block/scsi_ioctl.c | 27 +-
92512 crypto/cryptd.c | 4 +-
92513 drivers/acpi/apei/cper.c | 8 +-
92514 drivers/acpi/ec_sys.c | 12 +-
92515 drivers/acpi/processor_driver.c | 2 +-
92516 drivers/ata/libata-core.c | 8 +-
92517 drivers/ata/pata_arasan_cf.c | 4 +-
92518 drivers/atm/adummy.c | 2 +-
92519 drivers/atm/ambassador.c | 8 +-
92520 drivers/atm/atmtcp.c | 14 +-
92521 drivers/atm/eni.c | 10 +-
92522 drivers/atm/firestream.c | 8 +-
92523 drivers/atm/fore200e.c | 14 +-
92524 drivers/atm/he.c | 18 +-
92525 drivers/atm/horizon.c | 4 +-
92526 drivers/atm/idt77252.c | 36 +-
92527 drivers/atm/iphase.c | 34 +-
92528 drivers/atm/lanai.c | 12 +-
92529 drivers/atm/nicstar.c | 46 +-
92530 drivers/atm/solos-pci.c | 4 +-
92531 drivers/atm/suni.c | 4 +-
92532 drivers/atm/uPD98402.c | 16 +-
92533 drivers/atm/zatm.c | 6 +-
92534 drivers/base/devtmpfs.c | 2 +-
92535 drivers/base/power/wakeup.c | 8 +-
92536 drivers/block/cciss.c | 28 +-
92537 drivers/block/cciss.h | 2 +-
92538 drivers/block/cpqarray.c | 28 +-
92539 drivers/block/cpqarray.h | 2 +-
92540 drivers/block/drbd/drbd_int.h | 6 +-
92541 drivers/block/drbd/drbd_main.c | 8 +-
92542 drivers/block/drbd/drbd_receiver.c | 18 +-
92543 drivers/block/loop.c | 2 +-
92544 drivers/cdrom/cdrom.c | 9 +-
92545 drivers/cdrom/gdrom.c | 1 -
92546 drivers/char/agp/frontend.c | 2 +-
92547 drivers/char/hpet.c | 2 +-
92548 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
92549 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
92550 drivers/char/mem.c | 41 +-
92551 drivers/char/nvram.c | 2 +-
92552 drivers/char/pcmcia/synclink_cs.c | 18 +-
92553 drivers/char/random.c | 8 +-
92554 drivers/char/sonypi.c | 9 +-
92555 drivers/char/tpm/tpm.c | 2 +-
92556 drivers/char/tpm/tpm_acpi.c | 3 +-
92557 drivers/char/tpm/tpm_eventlog.c | 7 +-
92558 drivers/char/virtio_console.c | 4 +-
92559 drivers/clocksource/arm_generic.c | 2 +-
92560 drivers/cpufreq/cpufreq.c | 2 +-
92561 drivers/cpufreq/cpufreq_stats.c | 2 +-
92562 drivers/dma/sh/shdma.c | 2 +-
92563 drivers/edac/edac_pci_sysfs.c | 20 +-
92564 drivers/edac/mce_amd.h | 2 +-
92565 drivers/firewire/core-card.c | 2 +-
92566 drivers/firewire/core-cdev.c | 3 +-
92567 drivers/firewire/core-transaction.c | 1 +
92568 drivers/firewire/core.h | 1 +
92569 drivers/firmware/dmi_scan.c | 7 +-
92570 drivers/firmware/efivars.c | 2 +-
92571 drivers/gpio/gpio-vr41xx.c | 2 +-
92572 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
92573 drivers/gpu/drm/drm_drv.c | 4 +-
92574 drivers/gpu/drm/drm_fops.c | 18 +-
92575 drivers/gpu/drm/drm_global.c | 14 +-
92576 drivers/gpu/drm/drm_info.c | 14 +-
92577 drivers/gpu/drm/drm_ioc32.c | 4 +-
92578 drivers/gpu/drm/drm_ioctl.c | 2 +-
92579 drivers/gpu/drm/drm_lock.c | 4 +-
92580 drivers/gpu/drm/drm_stub.c | 2 +-
92581 drivers/gpu/drm/i810/i810_dma.c | 8 +-
92582 drivers/gpu/drm/i810/i810_drv.h | 4 +-
92583 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
92584 drivers/gpu/drm/i915/i915_dma.c | 2 +-
92585 drivers/gpu/drm/i915/i915_drv.h | 6 +-
92586 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +-
92587 drivers/gpu/drm/i915/i915_irq.c | 22 +-
92588 drivers/gpu/drm/i915/intel_display.c | 9 +-
92589 drivers/gpu/drm/mga/mga_drv.h | 4 +-
92590 drivers/gpu/drm/mga/mga_irq.c | 8 +-
92591 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
92592 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
92593 drivers/gpu/drm/nouveau/nouveau_fence.h | 2 +-
92594 drivers/gpu/drm/nouveau/nouveau_gem.c | 2 +-
92595 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
92596 drivers/gpu/drm/r128/r128_cce.c | 2 +-
92597 drivers/gpu/drm/r128/r128_drv.h | 4 +-
92598 drivers/gpu/drm/r128/r128_irq.c | 4 +-
92599 drivers/gpu/drm/r128/r128_state.c | 4 +-
92600 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
92601 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
92602 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
92603 drivers/gpu/drm/radeon/radeon_ioc32.c | 2 +-
92604 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
92605 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
92606 drivers/gpu/drm/radeon/radeon_ttm.c | 4 +-
92607 drivers/gpu/drm/radeon/rs690.c | 4 +-
92608 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
92609 drivers/gpu/drm/via/via_drv.h | 4 +-
92610 drivers/gpu/drm/via/via_irq.c | 18 +-
92611 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
92612 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
92613 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
92614 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
92615 drivers/hid/hid-core.c | 4 +-
92616 drivers/hv/channel.c | 4 +-
92617 drivers/hv/hv.c | 2 +-
92618 drivers/hv/hyperv_vmbus.h | 2 +-
92619 drivers/hv/vmbus_drv.c | 4 +-
92620 drivers/hwmon/coretemp.c | 2 +-
92621 drivers/hwmon/sht15.c | 12 +-
92622 drivers/hwmon/via-cputemp.c | 2 +-
92623 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
92624 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
92625 drivers/ide/ide-cd.c | 2 +-
92626 drivers/infiniband/core/cm.c | 32 +-
92627 drivers/infiniband/core/fmr_pool.c | 20 +-
92628 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
92629 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
92630 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
92631 drivers/infiniband/hw/nes/nes.c | 4 +-
92632 drivers/infiniband/hw/nes/nes.h | 40 +-
92633 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
92634 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
92635 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
92636 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
92637 drivers/infiniband/hw/qib/qib.h | 1 +
92638 drivers/input/gameport/gameport.c | 4 +-
92639 drivers/input/input.c | 4 +-
92640 drivers/input/joystick/sidewinder.c | 1 +
92641 drivers/input/joystick/xpad.c | 4 +-
92642 drivers/input/mousedev.c | 2 +-
92643 drivers/input/serio/serio.c | 4 +-
92644 drivers/isdn/capi/capi.c | 10 +-
92645 drivers/isdn/gigaset/interface.c | 8 +-
92646 drivers/isdn/hardware/avm/b1.c | 4 +-
92647 drivers/isdn/i4l/isdn_tty.c | 22 +-
92648 drivers/isdn/icn/icn.c | 2 +-
92649 drivers/lguest/core.c | 10 +-
92650 drivers/lguest/x86/core.c | 12 +-
92651 drivers/lguest/x86/switcher_32.S | 27 +-
92652 drivers/md/bitmap.c | 2 +-
92653 drivers/md/dm-ioctl.c | 2 +-
92654 drivers/md/dm-raid1.c | 16 +-
92655 drivers/md/dm-stripe.c | 10 +-
92656 drivers/md/dm-table.c | 2 +-
92657 drivers/md/dm-thin-metadata.c | 4 +-
92658 drivers/md/dm.c | 16 +-
92659 drivers/md/md.c | 26 +-
92660 drivers/md/md.h | 6 +-
92661 drivers/md/persistent-data/dm-space-map.h | 1 +
92662 drivers/md/raid1.c | 4 +-
92663 drivers/md/raid10.c | 16 +-
92664 drivers/md/raid5.c | 10 +-
92665 drivers/media/dvb-core/dvbdev.c | 2 +-
92666 drivers/media/dvb-frontends/dib3000.h | 2 +-
92667 drivers/media/platform/omap/omap_vout.c | 11 +-
92668 drivers/media/platform/s5p-tv/mixer.h | 2 +-
92669 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
92670 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
92671 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
92672 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
92673 drivers/media/radio/radio-cadet.c | 2 +
92674 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
92675 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
92676 drivers/message/fusion/mptsas.c | 34 +-
92677 drivers/message/fusion/mptscsih.c | 19 +-
92678 drivers/message/i2o/i2o_proc.c | 51 +-
92679 drivers/message/i2o/iop.c | 8 +-
92680 drivers/mfd/janz-cmodio.c | 1 +
92681 drivers/misc/kgdbts.c | 4 +-
92682 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
92683 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
92684 drivers/misc/sgi-gru/gruhandles.c | 4 +-
92685 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
92686 drivers/misc/sgi-gru/grutables.h | 154 +-
92687 drivers/misc/sgi-xp/xp.h | 2 +-
92688 drivers/misc/sgi-xp/xpc.h | 3 +-
92689 drivers/misc/sgi-xp/xpc_main.c | 4 +-
92690 drivers/mmc/core/mmc_ops.c | 2 +-
92691 drivers/mmc/host/dw_mmc.h | 2 +-
92692 drivers/mmc/host/sdhci-s3c.c | 8 +-
92693 drivers/mtd/devices/doc2000.c | 2 +-
92694 drivers/mtd/nand/denali.c | 1 +
92695 drivers/mtd/nftlmount.c | 1 +
92696 drivers/net/ethernet/8390/ax88796.c | 4 +-
92697 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
92698 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
92699 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
92700 drivers/net/ethernet/broadcom/tg3.h | 1 +
92701 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
92702 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
92703 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
92704 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
92705 drivers/net/ethernet/faraday/ftmac100.c | 2 +
92706 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
92707 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
92708 drivers/net/ethernet/realtek/r8169.c | 8 +-
92709 drivers/net/ethernet/sfc/ptp.c | 2 +-
92710 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
92711 drivers/net/hyperv/hyperv_net.h | 2 +-
92712 drivers/net/hyperv/rndis_filter.c | 4 +-
92713 drivers/net/ieee802154/fakehard.c | 2 +-
92714 drivers/net/macvlan.c | 2 +-
92715 drivers/net/macvtap.c | 2 +-
92716 drivers/net/ppp/ppp_generic.c | 4 +-
92717 drivers/net/team/team.c | 2 +-
92718 drivers/net/tun.c | 5 +-
92719 drivers/net/usb/hso.c | 23 +-
92720 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
92721 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
92722 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
92723 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
92724 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
92725 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
92726 drivers/net/wireless/mac80211_hwsim.c | 32 +-
92727 drivers/net/wireless/rndis_wlan.c | 2 +-
92728 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
92729 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
92730 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
92731 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
92732 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
92733 drivers/oprofile/buffer_sync.c | 8 +-
92734 drivers/oprofile/event_buffer.c | 2 +-
92735 drivers/oprofile/oprof.c | 2 +-
92736 drivers/oprofile/oprofile_stats.c | 10 +-
92737 drivers/oprofile/oprofile_stats.h | 10 +-
92738 drivers/oprofile/oprofilefs.c | 2 +-
92739 drivers/oprofile/timer_int.c | 2 +-
92740 drivers/parport/procfs.c | 4 +-
92741 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
92742 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
92743 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
92744 drivers/pci/pcie/aspm.c | 6 +-
92745 drivers/pci/probe.c | 2 +-
92746 drivers/platform/x86/thinkpad_acpi.c | 70 +-
92747 drivers/pnp/pnpbios/bioscalls.c | 14 +-
92748 drivers/pnp/resource.c | 4 +-
92749 drivers/power/pda_power.c | 7 +-
92750 drivers/regulator/max8660.c | 6 +-
92751 drivers/regulator/max8973-regulator.c | 8 +-
92752 drivers/regulator/mc13892-regulator.c | 6 +-
92753 drivers/scsi/bfa/bfa.h | 2 +-
92754 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
92755 drivers/scsi/bfa/bfa_ioc.h | 4 +-
92756 drivers/scsi/hosts.c | 4 +-
92757 drivers/scsi/hpsa.c | 30 +-
92758 drivers/scsi/hpsa.h | 2 +-
92759 drivers/scsi/libfc/fc_exch.c | 50 +-
92760 drivers/scsi/libsas/sas_ata.c | 2 +-
92761 drivers/scsi/lpfc/lpfc.h | 8 +-
92762 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
92763 drivers/scsi/lpfc/lpfc_init.c | 6 +-
92764 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
92765 drivers/scsi/pmcraid.c | 20 +-
92766 drivers/scsi/pmcraid.h | 8 +-
92767 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
92768 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
92769 drivers/scsi/qla2xxx/qla_os.c | 6 +-
92770 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
92771 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
92772 drivers/scsi/scsi.c | 2 +-
92773 drivers/scsi/scsi_lib.c | 6 +-
92774 drivers/scsi/scsi_sysfs.c | 2 +-
92775 drivers/scsi/scsi_tgt_lib.c | 2 +-
92776 drivers/scsi/scsi_transport_fc.c | 8 +-
92777 drivers/scsi/scsi_transport_iscsi.c | 6 +-
92778 drivers/scsi/scsi_transport_srp.c | 6 +-
92779 drivers/scsi/sd.c | 2 +-
92780 drivers/scsi/sg.c | 2 +-
92781 drivers/spi/spi.c | 2 +-
92782 drivers/staging/octeon/ethernet-rx.c | 12 +-
92783 drivers/staging/octeon/ethernet.c | 8 +-
92784 drivers/staging/ramster/tmem.c | 54 +-
92785 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
92786 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
92787 drivers/staging/usbip/vhci.h | 2 +-
92788 drivers/staging/usbip/vhci_hcd.c | 6 +-
92789 drivers/staging/usbip/vhci_rx.c | 2 +-
92790 drivers/staging/vt6655/hostap.c | 7 +-
92791 drivers/staging/vt6656/hostap.c | 7 +-
92792 drivers/staging/zcache/tmem.c | 4 +-
92793 drivers/staging/zcache/tmem.h | 2 +
92794 drivers/target/target_core_device.c | 2 +-
92795 drivers/target/target_core_transport.c | 2 +-
92796 drivers/tty/cyclades.c | 6 +-
92797 drivers/tty/hvc/hvc_console.c | 14 +-
92798 drivers/tty/hvc/hvcs.c | 21 +-
92799 drivers/tty/ipwireless/tty.c | 27 +-
92800 drivers/tty/moxa.c | 2 +-
92801 drivers/tty/n_gsm.c | 4 +-
92802 drivers/tty/n_tty.c | 3 +-
92803 drivers/tty/pty.c | 4 +-
92804 drivers/tty/rocket.c | 6 +-
92805 drivers/tty/serial/kgdboc.c | 32 +-
92806 drivers/tty/serial/samsung.c | 9 +-
92807 drivers/tty/serial/serial_core.c | 8 +-
92808 drivers/tty/synclink.c | 34 +-
92809 drivers/tty/synclink_gt.c | 28 +-
92810 drivers/tty/synclinkmp.c | 34 +-
92811 drivers/tty/tty_io.c | 2 +-
92812 drivers/tty/tty_ldisc.c | 10 +-
92813 drivers/tty/tty_port.c | 22 +-
92814 drivers/uio/uio.c | 21 +-
92815 drivers/usb/atm/cxacru.c | 2 +-
92816 drivers/usb/atm/usbatm.c | 24 +-
92817 drivers/usb/core/devices.c | 6 +-
92818 drivers/usb/core/hcd.c | 4 +-
92819 drivers/usb/core/sysfs.c | 2 +-
92820 drivers/usb/core/usb.c | 2 +-
92821 drivers/usb/early/ehci-dbgp.c | 16 +-
92822 drivers/usb/gadget/u_serial.c | 22 +-
92823 drivers/usb/serial/console.c | 6 +-
92824 drivers/usb/wusbcore/wa-hc.h | 4 +-
92825 drivers/usb/wusbcore/wa-xfer.c | 2 +-
92826 drivers/video/aty/aty128fb.c | 2 +-
92827 drivers/video/fbcmap.c | 3 +-
92828 drivers/video/fbmem.c | 6 +-
92829 drivers/video/i810/i810_accel.c | 1 +
92830 drivers/video/udlfb.c | 32 +-
92831 drivers/video/uvesafb.c | 39 +-
92832 drivers/video/vesafb.c | 51 +-
92833 drivers/video/via/via_clock.h | 2 +-
92834 fs/9p/vfs_inode.c | 2 +-
92835 fs/Kconfig.binfmt | 2 +-
92836 fs/aio.c | 11 +-
92837 fs/autofs4/waitq.c | 2 +-
92838 fs/befs/linuxvfs.c | 2 +-
92839 fs/binfmt_aout.c | 23 +-
92840 fs/binfmt_elf.c | 604 ++++-
92841 fs/binfmt_flat.c | 6 +
92842 fs/bio.c | 6 +-
92843 fs/block_dev.c | 2 +-
92844 fs/btrfs/ctree.c | 9 +-
92845 fs/btrfs/relocation.c | 2 +-
92846 fs/btrfs/super.c | 2 +-
92847 fs/cachefiles/bind.c | 6 +-
92848 fs/cachefiles/daemon.c | 8 +-
92849 fs/cachefiles/internal.h | 12 +-
92850 fs/cachefiles/namei.c | 2 +-
92851 fs/cachefiles/proc.c | 12 +-
92852 fs/cachefiles/rdwr.c | 2 +-
92853 fs/ceph/dir.c | 2 +-
92854 fs/cifs/cifs_debug.c | 12 +-
92855 fs/cifs/cifsfs.c | 8 +-
92856 fs/cifs/cifsglob.h | 54 +-
92857 fs/cifs/link.c | 2 +-
92858 fs/cifs/misc.c | 4 +-
92859 fs/cifs/smb1ops.c | 80 +-
92860 fs/cifs/smb2ops.c | 84 +-
92861 fs/cifs/smb2pdu.c | 3 +-
92862 fs/coda/cache.c | 10 +-
92863 fs/compat.c | 6 +-
92864 fs/compat_binfmt_elf.c | 2 +
92865 fs/compat_ioctl.c | 8 +-
92866 fs/configfs/dir.c | 10 +-
92867 fs/coredump.c | 24 +-
92868 fs/dcache.c | 2 +-
92869 fs/ecryptfs/inode.c | 4 +-
92870 fs/ecryptfs/miscdev.c | 2 +-
92871 fs/ecryptfs/read_write.c | 4 +-
92872 fs/exec.c | 356 ++-
92873 fs/ext4/ext4.h | 20 +-
92874 fs/ext4/mballoc.c | 44 +-
92875 fs/fhandle.c | 3 +-
92876 fs/fifo.c | 22 +-
92877 fs/fs_struct.c | 8 +-
92878 fs/fscache/cookie.c | 36 +-
92879 fs/fscache/internal.h | 196 +-
92880 fs/fscache/object.c | 28 +-
92881 fs/fscache/operation.c | 30 +-
92882 fs/fscache/page.c | 110 +-
92883 fs/fscache/stats.c | 344 +-
92884 fs/fuse/cuse.c | 10 +-
92885 fs/fuse/dev.c | 2 +-
92886 fs/fuse/dir.c | 2 +-
92887 fs/gfs2/inode.c | 2 +-
92888 fs/hugetlbfs/inode.c | 13 +-
92889 fs/inode.c | 4 +-
92890 fs/jffs2/erase.c | 3 +-
92891 fs/jffs2/wbuf.c | 3 +-
92892 fs/jfs/super.c | 2 +-
92893 fs/libfs.c | 10 +-
92894 fs/lockd/clntproc.c | 4 +-
92895 fs/locks.c | 8 +-
92896 fs/namei.c | 15 +-
92897 fs/namespace.c | 2 +-
92898 fs/nfs/inode.c | 6 +-
92899 fs/nfsd/vfs.c | 6 +-
92900 fs/notify/fanotify/fanotify_user.c | 4 +-
92901 fs/notify/notification.c | 4 +-
92902 fs/ntfs/dir.c | 2 +-
92903 fs/ntfs/file.c | 4 +-
92904 fs/ocfs2/localalloc.c | 2 +-
92905 fs/ocfs2/ocfs2.h | 10 +-
92906 fs/ocfs2/suballoc.c | 12 +-
92907 fs/ocfs2/super.c | 20 +-
92908 fs/pipe.c | 33 +-
92909 fs/proc/array.c | 20 +
92910 fs/proc/kcore.c | 32 +-
92911 fs/proc/meminfo.c | 2 +-
92912 fs/proc/nommu.c | 2 +-
92913 fs/proc/self.c | 2 +-
92914 fs/proc/task_mmu.c | 39 +-
92915 fs/proc/task_nommu.c | 4 +-
92916 fs/quota/netlink.c | 4 +-
92917 fs/readdir.c | 2 +-
92918 fs/reiserfs/do_balan.c | 2 +-
92919 fs/reiserfs/procfs.c | 2 +-
92920 fs/reiserfs/reiserfs.h | 4 +-
92921 fs/seq_file.c | 2 +-
92922 fs/splice.c | 36 +-
92923 fs/sysfs/file.c | 10 +-
92924 fs/sysfs/symlink.c | 2 +-
92925 fs/udf/misc.c | 2 +-
92926 fs/xattr_acl.c | 4 +-
92927 fs/xfs/xfs_bmap.c | 2 +-
92928 fs/xfs/xfs_dir2_sf.c | 10 +-
92929 fs/xfs/xfs_ioctl.c | 2 +-
92930 fs/xfs/xfs_iops.c | 2 +-
92931 include/asm-generic/4level-fixup.h | 2 +
92932 include/asm-generic/atomic-long.h | 210 ++
92933 include/asm-generic/atomic.h | 2 +-
92934 include/asm-generic/atomic64.h | 12 +
92935 include/asm-generic/cache.h | 4 +-
92936 include/asm-generic/emergency-restart.h | 2 +-
92937 include/asm-generic/kmap_types.h | 4 +-
92938 include/asm-generic/local.h | 13 +
92939 include/asm-generic/pgtable-nopmd.h | 18 +-
92940 include/asm-generic/pgtable-nopud.h | 15 +-
92941 include/asm-generic/pgtable.h | 8 +
92942 include/asm-generic/vmlinux.lds.h | 10 +-
92943 include/crypto/algapi.h | 2 +-
92944 include/drm/drmP.h | 5 +-
92945 include/drm/drm_crtc_helper.h | 2 +-
92946 include/drm/ttm/ttm_memory.h | 2 +-
92947 include/linux/atmdev.h | 2 +-
92948 include/linux/binfmts.h | 1 +
92949 include/linux/blkdev.h | 2 +-
92950 include/linux/blktrace_api.h | 2 +-
92951 include/linux/cache.h | 4 +
92952 include/linux/cdrom.h | 1 -
92953 include/linux/cleancache.h | 2 +-
92954 include/linux/compiler-gcc4.h | 20 +
92955 include/linux/compiler.h | 72 +-
92956 include/linux/cpu.h | 2 +-
92957 include/linux/crypto.h | 6 +-
92958 include/linux/decompress/mm.h | 2 +-
92959 include/linux/dma-mapping.h | 2 +-
92960 include/linux/dmaengine.h | 4 +-
92961 include/linux/efi.h | 1 +
92962 include/linux/elf.h | 2 +
92963 include/linux/filter.h | 4 +
92964 include/linux/frontswap.h | 2 +-
92965 include/linux/fs.h | 3 +-
92966 include/linux/fs_struct.h | 2 +-
92967 include/linux/fscache-cache.h | 4 +-
92968 include/linux/fsnotify.h | 2 +-
92969 include/linux/ftrace_event.h | 2 +-
92970 include/linux/genhd.h | 2 +-
92971 include/linux/gfp.h | 12 +-
92972 include/linux/highmem.h | 12 +
92973 include/linux/i2c.h | 1 +
92974 include/linux/i2o.h | 2 +-
92975 include/linux/if_pppox.h | 2 +-
92976 include/linux/init.h | 33 +-
92977 include/linux/init_task.h | 7 +
92978 include/linux/interrupt.h | 8 +-
92979 include/linux/kgdb.h | 6 +-
92980 include/linux/kobject.h | 2 +-
92981 include/linux/kref.h | 2 +-
92982 include/linux/kvm_host.h | 4 +-
92983 include/linux/libata.h | 2 +-
92984 include/linux/list.h | 3 +
92985 include/linux/mm.h | 91 +-
92986 include/linux/mm_types.h | 22 +-
92987 include/linux/mmiotrace.h | 4 +-
92988 include/linux/mmzone.h | 2 +-
92989 include/linux/mod_devicetable.h | 4 +-
92990 include/linux/module.h | 55 +-
92991 include/linux/moduleloader.h | 18 +-
92992 include/linux/moduleparam.h | 4 +-
92993 include/linux/namei.h | 6 +-
92994 include/linux/netdevice.h | 3 +-
92995 include/linux/netfilter/ipset/ip_set.h | 2 +-
92996 include/linux/netfilter/nfnetlink.h | 2 +-
92997 include/linux/notifier.h | 3 +-
92998 include/linux/oprofile.h | 4 +-
92999 include/linux/perf_event.h | 10 +-
93000 include/linux/pipe_fs_i.h | 6 +-
93001 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
93002 include/linux/pm_runtime.h | 2 +-
93003 include/linux/poison.h | 4 +-
93004 include/linux/power/smartreflex.h | 2 +-
93005 include/linux/random.h | 5 +
93006 include/linux/reboot.h | 14 +-
93007 include/linux/regset.h | 3 +-
93008 include/linux/relay.h | 2 +-
93009 include/linux/rio.h | 2 +-
93010 include/linux/rmap.h | 4 +-
93011 include/linux/sched.h | 64 +-
93012 include/linux/seq_file.h | 1 +
93013 include/linux/skbuff.h | 12 +-
93014 include/linux/slab.h | 36 +-
93015 include/linux/slab_def.h | 33 +-
93016 include/linux/slob_def.h | 4 +-
93017 include/linux/slub_def.h | 10 +-
93018 include/linux/sonet.h | 2 +-
93019 include/linux/sunrpc/clnt.h | 8 +-
93020 include/linux/sunrpc/svc_rdma.h | 18 +-
93021 include/linux/sysrq.h | 2 +-
93022 include/linux/thread_info.h | 7 +
93023 include/linux/tty.h | 4 +-
93024 include/linux/tty_driver.h | 2 +-
93025 include/linux/tty_ldisc.h | 2 +-
93026 include/linux/types.h | 16 +
93027 include/linux/uaccess.h | 6 +-
93028 include/linux/unaligned/access_ok.h | 12 +-
93029 include/linux/usb.h | 2 +-
93030 include/linux/usb/renesas_usbhs.h | 2 +-
93031 include/linux/vermagic.h | 21 +-
93032 include/linux/vmalloc.h | 11 +-
93033 include/linux/vmstat.h | 20 +-
93034 include/media/v4l2-dev.h | 2 +-
93035 include/media/v4l2-ioctl.h | 1 -
93036 include/net/caif/cfctrl.h | 6 +-
93037 include/net/flow.h | 2 +-
93038 include/net/gro_cells.h | 6 +-
93039 include/net/inet_connection_sock.h | 2 +-
93040 include/net/inetpeer.h | 8 +-
93041 include/net/ip_fib.h | 2 +-
93042 include/net/ip_vs.h | 4 +-
93043 include/net/irda/ircomm_tty.h | 1 +
93044 include/net/iucv/af_iucv.h | 2 +-
93045 include/net/neighbour.h | 2 +-
93046 include/net/net_namespace.h | 6 +-
93047 include/net/netdma.h | 2 +-
93048 include/net/netlink.h | 2 +-
93049 include/net/netns/ipv4.h | 2 +-
93050 include/net/protocol.h | 4 +-
93051 include/net/sctp/sctp.h | 6 +-
93052 include/net/sctp/structs.h | 4 +-
93053 include/net/sock.h | 6 +-
93054 include/net/tcp.h | 8 +-
93055 include/net/xfrm.h | 4 +-
93056 include/rdma/iw_cm.h | 2 +-
93057 include/scsi/libfc.h | 3 +-
93058 include/scsi/scsi_device.h | 6 +-
93059 include/scsi/scsi_transport_fc.h | 3 +-
93060 include/sound/soc.h | 4 +-
93061 include/target/target_core_base.h | 2 +-
93062 include/trace/events/irq.h | 4 +-
93063 include/uapi/linux/a.out.h | 8 +
93064 include/uapi/linux/byteorder/little_endian.h | 24 +-
93065 include/uapi/linux/elf.h | 28 +
93066 include/uapi/linux/screen_info.h | 3 +-
93067 include/uapi/linux/sysctl.h | 6 +-
93068 include/uapi/linux/xattr.h | 4 +
93069 include/video/udlfb.h | 8 +-
93070 include/video/uvesafb.h | 1 +
93071 init/Kconfig | 2 +-
93072 init/Makefile | 3 +
93073 init/do_mounts.c | 14 +-
93074 init/do_mounts.h | 8 +-
93075 init/do_mounts_initrd.c | 22 +-
93076 init/do_mounts_md.c | 6 +-
93077 init/init_task.c | 4 +
93078 init/initramfs.c | 40 +-
93079 init/main.c | 78 +-
93080 ipc/msg.c | 11 +-
93081 ipc/sem.c | 11 +-
93082 ipc/shm.c | 17 +-
93083 kernel/acct.c | 2 +-
93084 kernel/audit.c | 8 +-
93085 kernel/auditsc.c | 4 +-
93086 kernel/capability.c | 3 +
93087 kernel/compat.c | 40 +-
93088 kernel/debug/debug_core.c | 16 +-
93089 kernel/debug/kdb/kdb_main.c | 4 +-
93090 kernel/events/core.c | 28 +-
93091 kernel/exit.c | 4 +-
93092 kernel/fork.c | 167 +-
93093 kernel/futex.c | 9 +
93094 kernel/gcov/base.c | 7 +-
93095 kernel/hrtimer.c | 4 +-
93096 kernel/jump_label.c | 5 +
93097 kernel/kallsyms.c | 39 +-
93098 kernel/kexec.c | 3 +-
93099 kernel/kmod.c | 2 +-
93100 kernel/kprobes.c | 8 +-
93101 kernel/lockdep.c | 7 +-
93102 kernel/module.c | 333 ++-
93103 kernel/mutex-debug.c | 12 +-
93104 kernel/mutex-debug.h | 4 +-
93105 kernel/mutex.c | 7 +-
93106 kernel/notifier.c | 17 +-
93107 kernel/panic.c | 3 +-
93108 kernel/pid.c | 2 +-
93109 kernel/posix-cpu-timers.c | 4 +-
93110 kernel/posix-timers.c | 20 +-
93111 kernel/power/process.c | 12 +-
93112 kernel/profile.c | 14 +-
93113 kernel/ptrace.c | 6 +-
93114 kernel/rcutiny.c | 4 +-
93115 kernel/rcutiny_plugin.h | 2 +-
93116 kernel/rcutorture.c | 56 +-
93117 kernel/rcutree.c | 72 +-
93118 kernel/rcutree.h | 24 +-
93119 kernel/rcutree_plugin.h | 18 +-
93120 kernel/rcutree_trace.c | 22 +-
93121 kernel/rtmutex-tester.c | 24 +-
93122 kernel/sched/auto_group.c | 4 +-
93123 kernel/sched/core.c | 2 +-
93124 kernel/sched/fair.c | 4 +-
93125 kernel/signal.c | 12 +-
93126 kernel/smp.c | 2 +-
93127 kernel/softirq.c | 16 +-
93128 kernel/srcu.c | 6 +-
93129 kernel/stop_machine.c | 2 +-
93130 kernel/sys.c | 12 +-
93131 kernel/sysctl.c | 37 +-
93132 kernel/sysctl_binary.c | 14 +-
93133 kernel/time/alarmtimer.c | 2 +-
93134 kernel/time/tick-broadcast.c | 2 +-
93135 kernel/time/timer_stats.c | 10 +-
93136 kernel/timer.c | 4 +-
93137 kernel/trace/blktrace.c | 6 +-
93138 kernel/trace/ftrace.c | 20 +-
93139 kernel/trace/ring_buffer.c | 76 +-
93140 kernel/trace/trace.c | 6 +-
93141 kernel/trace/trace_events.c | 25 +-
93142 kernel/trace/trace_mmiotrace.c | 8 +-
93143 kernel/trace/trace_output.c | 12 +-
93144 kernel/trace/trace_stack.c | 2 +-
93145 lib/Makefile | 2 +-
93146 lib/bitmap.c | 8 +-
93147 lib/bug.c | 2 +
93148 lib/debugobjects.c | 2 +-
93149 lib/devres.c | 4 +-
93150 lib/dma-debug.c | 4 +-
93151 lib/inflate.c | 2 +-
93152 lib/ioremap.c | 4 +-
93153 lib/list_debug.c | 89 +-
93154 lib/radix-tree.c | 2 +-
93155 lib/strncpy_from_user.c | 2 +-
93156 lib/strnlen_user.c | 2 +-
93157 lib/vsprintf.c | 12 +-
93158 mm/Kconfig | 6 +-
93159 mm/filemap.c | 2 +-
93160 mm/fremap.c | 5 +
93161 mm/highmem.c | 7 +-
93162 mm/hugetlb.c | 54 +
93163 mm/internal.h | 1 +
93164 mm/maccess.c | 4 +-
93165 mm/madvise.c | 41 +
93166 mm/memory-failure.c | 18 +-
93167 mm/memory.c | 404 ++-
93168 mm/mempolicy.c | 26 +
93169 mm/mlock.c | 16 +-
93170 mm/mmap.c | 573 +++-
93171 mm/mprotect.c | 138 +-
93172 mm/mremap.c | 44 +-
93173 mm/nommu.c | 11 +-
93174 mm/page-writeback.c | 2 +-
93175 mm/page_alloc.c | 14 +-
93176 mm/percpu.c | 2 +-
93177 mm/process_vm_access.c | 14 +-
93178 mm/rmap.c | 38 +-
93179 mm/shmem.c | 19 +-
93180 mm/slab.c | 104 +-
93181 mm/slab.h | 5 +-
93182 mm/slab_common.c | 9 +-
93183 mm/slob.c | 200 +-
93184 mm/slub.c | 98 +-
93185 mm/sparse-vmemmap.c | 4 +-
93186 mm/sparse.c | 2 +-
93187 mm/swap.c | 3 +
93188 mm/swapfile.c | 12 +-
93189 mm/util.c | 6 +
93190 mm/vmalloc.c | 82 +-
93191 mm/vmstat.c | 12 +-
93192 net/8021q/vlan.c | 5 +-
93193 net/9p/trans_fd.c | 2 +-
93194 net/atm/atm_misc.c | 8 +-
93195 net/atm/lec.h | 2 +-
93196 net/atm/proc.c | 6 +-
93197 net/atm/resources.c | 4 +-
93198 net/batman-adv/bat_iv_ogm.c | 8 +-
93199 net/batman-adv/hard-interface.c | 4 +-
93200 net/batman-adv/soft-interface.c | 4 +-
93201 net/batman-adv/types.h | 6 +-
93202 net/batman-adv/unicast.c | 2 +-
93203 net/bluetooth/hci_sock.c | 2 +-
93204 net/bluetooth/l2cap_core.c | 6 +-
93205 net/bluetooth/l2cap_sock.c | 12 +-
93206 net/bluetooth/rfcomm/sock.c | 4 +-
93207 net/bluetooth/rfcomm/tty.c | 10 +-
93208 net/bridge/netfilter/ebtables.c | 6 +-
93209 net/caif/cfctrl.c | 11 +-
93210 net/can/af_can.c | 2 +-
93211 net/can/gw.c | 6 +-
93212 net/compat.c | 34 +-
93213 net/core/datagram.c | 2 +-
93214 net/core/dev.c | 16 +-
93215 net/core/flow.c | 8 +-
93216 net/core/iovec.c | 4 +-
93217 net/core/rtnetlink.c | 2 +-
93218 net/core/scm.c | 8 +-
93219 net/core/sock.c | 24 +-
93220 net/decnet/sysctl_net_decnet.c | 4 +-
93221 net/ipv4/ah4.c | 2 +-
93222 net/ipv4/esp4.c | 2 +-
93223 net/ipv4/fib_frontend.c | 6 +-
93224 net/ipv4/fib_semantics.c | 2 +-
93225 net/ipv4/inetpeer.c | 4 +-
93226 net/ipv4/ip_fragment.c | 2 +-
93227 net/ipv4/ip_sockglue.c | 2 +-
93228 net/ipv4/ipcomp.c | 2 +-
93229 net/ipv4/ipconfig.c | 6 +-
93230 net/ipv4/netfilter/arp_tables.c | 12 +-
93231 net/ipv4/netfilter/ip_tables.c | 12 +-
93232 net/ipv4/ping.c | 2 +-
93233 net/ipv4/raw.c | 14 +-
93234 net/ipv4/route.c | 2 +-
93235 net/ipv4/tcp_input.c | 2 +-
93236 net/ipv4/tcp_probe.c | 2 +-
93237 net/ipv4/udp.c | 10 +-
93238 net/ipv6/addrconf.c | 2 +-
93239 net/ipv6/ip6_gre.c | 2 +-
93240 net/ipv6/ipv6_sockglue.c | 2 +-
93241 net/ipv6/netfilter/ip6_tables.c | 12 +-
93242 net/ipv6/raw.c | 19 +-
93243 net/ipv6/udp.c | 8 +-
93244 net/irda/ircomm/ircomm_tty.c | 18 +-
93245 net/iucv/af_iucv.c | 4 +-
93246 net/iucv/iucv.c | 2 +-
93247 net/key/af_key.c | 4 +-
93248 net/mac80211/cfg.c | 4 +-
93249 net/mac80211/ieee80211_i.h | 3 +-
93250 net/mac80211/iface.c | 14 +-
93251 net/mac80211/main.c | 2 +-
93252 net/mac80211/pm.c | 6 +-
93253 net/mac80211/rate.c | 2 +-
93254 net/mac80211/rc80211_pid_debugfs.c | 2 +-
93255 net/mac80211/util.c | 2 +-
93256 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
93257 net/netfilter/ipvs/ip_vs_core.c | 4 +-
93258 net/netfilter/ipvs/ip_vs_ctl.c | 10 +-
93259 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
93260 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
93261 net/netfilter/nfnetlink_log.c | 4 +-
93262 net/netfilter/xt_statistic.c | 8 +-
93263 net/netlink/af_netlink.c | 4 +-
93264 net/packet/af_packet.c | 12 +-
93265 net/phonet/pep.c | 6 +-
93266 net/phonet/socket.c | 2 +-
93267 net/rds/cong.c | 6 +-
93268 net/rds/ib.h | 2 +-
93269 net/rds/ib_cm.c | 2 +-
93270 net/rds/ib_recv.c | 4 +-
93271 net/rds/iw.h | 2 +-
93272 net/rds/iw_cm.c | 2 +-
93273 net/rds/iw_recv.c | 4 +-
93274 net/rds/tcp.c | 2 +-
93275 net/rds/tcp_send.c | 2 +-
93276 net/rxrpc/af_rxrpc.c | 2 +-
93277 net/rxrpc/ar-ack.c | 14 +-
93278 net/rxrpc/ar-call.c | 2 +-
93279 net/rxrpc/ar-connection.c | 2 +-
93280 net/rxrpc/ar-connevent.c | 2 +-
93281 net/rxrpc/ar-input.c | 4 +-
93282 net/rxrpc/ar-internal.h | 8 +-
93283 net/rxrpc/ar-local.c | 2 +-
93284 net/rxrpc/ar-output.c | 4 +-
93285 net/rxrpc/ar-peer.c | 2 +-
93286 net/rxrpc/ar-proc.c | 4 +-
93287 net/rxrpc/ar-transport.c | 2 +-
93288 net/rxrpc/rxkad.c | 4 +-
93289 net/sctp/ipv6.c | 2 +-
93290 net/sctp/protocol.c | 8 +-
93291 net/sctp/socket.c | 2 +
93292 net/socket.c | 34 +-
93293 net/sunrpc/sched.c | 4 +-
93294 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
93295 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
93296 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
93297 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
93298 net/tipc/link.c | 6 +-
93299 net/tipc/msg.c | 2 +-
93300 net/tipc/subscr.c | 2 +-
93301 net/wireless/wext-core.c | 19 +-
93302 net/xfrm/xfrm_policy.c | 16 +-
93303 net/xfrm/xfrm_state.c | 4 +-
93304 scripts/Makefile.build | 2 +-
93305 scripts/Makefile.clean | 3 +-
93306 scripts/Makefile.host | 28 +-
93307 scripts/basic/fixdep.c | 12 +-
93308 scripts/gcc-plugin.sh | 17 +
93309 scripts/link-vmlinux.sh | 2 +-
93310 scripts/mod/file2alias.c | 14 +-
93311 scripts/mod/modpost.c | 25 +-
93312 scripts/mod/modpost.h | 6 +-
93313 scripts/mod/sumversion.c | 2 +-
93314 scripts/pnmtologo.c | 6 +-
93315 security/Kconfig | 654 ++++-
93316 security/integrity/ima/ima.h | 4 +-
93317 security/integrity/ima/ima_api.c | 2 +-
93318 security/integrity/ima/ima_fs.c | 4 +-
93319 security/integrity/ima/ima_queue.c | 2 +-
93320 security/keys/compat.c | 2 +-
93321 security/keys/keyctl.c | 8 +-
93322 security/keys/keyring.c | 6 +-
93323 security/security.c | 9 +-
93324 security/selinux/hooks.c | 2 +-
93325 security/selinux/include/xfrm.h | 2 +-
93326 security/smack/smack_lsm.c | 2 +-
93327 security/tomoyo/tomoyo.c | 2 +-
93328 sound/aoa/codecs/onyx.c | 7 +-
93329 sound/aoa/codecs/onyx.h | 1 +
93330 sound/core/oss/pcm_oss.c | 18 +-
93331 sound/core/pcm_compat.c | 2 +-
93332 sound/core/pcm_native.c | 4 +-
93333 sound/core/seq/seq_device.c | 8 +-
93334 sound/drivers/mts64.c | 14 +-
93335 sound/drivers/opl4/opl4_lib.c | 2 +-
93336 sound/drivers/portman2x4.c | 3 +-
93337 sound/firewire/amdtp.c | 4 +-
93338 sound/firewire/amdtp.h | 2 +-
93339 sound/firewire/isight.c | 10 +-
93340 sound/firewire/scs1x.c | 8 +-
93341 sound/oss/sb_audio.c | 2 +-
93342 sound/oss/swarm_cs4297a.c | 6 +-
93343 sound/pci/ymfpci/ymfpci.h | 2 +-
93344 sound/pci/ymfpci/ymfpci_main.c | 12 +-
93345 tools/gcc/.gitignore | 1 +
93346 tools/gcc/Makefile | 43 +
93347 tools/gcc/checker_plugin.c | 171 +
93348 tools/gcc/colorize_plugin.c | 151 +
93349 tools/gcc/constify_plugin.c | 359 +++
93350 tools/gcc/generate_size_overflow_hash.sh | 94 +
93351 tools/gcc/kallocstat_plugin.c | 170 +
93352 tools/gcc/kernexec_plugin.c | 465 +++
93353 tools/gcc/latent_entropy_plugin.c | 321 ++
93354 tools/gcc/size_overflow_hash.data | 3713 ++++++++++++++++++++++
93355 tools/gcc/size_overflow_plugin.c | 1941 +++++++++++
93356 tools/gcc/stackleak_plugin.c | 327 ++
93357 tools/perf/util/include/asm/alternative-asm.h | 3 +
93358 virt/kvm/kvm_main.c | 32 +-
93359 1311 files changed, 26668 insertions(+), 6394 deletions(-)
93360 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
93361 Merge: 0949bd4 fc53d63
93362 Author: Brad Spengler <spender@grsecurity.net>
93363 Date: Thu Mar 22 19:03:44 2012 -0400
93364
93365 Merge branch 'pax-test' into grsec-test
93366
93367 commit fc53d6338964741b368070ec5c935bc579b8c2a6
93368 Author: Brad Spengler <spender@grsecurity.net>
93369 Date: Thu Mar 22 19:02:45 2012 -0400
93370
93371 Update to pax-linux-3.2.12-test33.patch
93372
93373 commit 0949bd46a6455b308f66ad7c993bfee62412db35
93374 Author: Brad Spengler <spender@grsecurity.net>
93375 Date: Thu Mar 22 16:56:09 2012 -0400
93376
93377 Use current_umask() instead of current->fs->umask
93378
93379 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
93380 Author: Brad Spengler <spender@grsecurity.net>
93381 Date: Wed Mar 21 19:42:42 2012 -0400
93382
93383 compile fix
93384
93385 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
93386 Author: Brad Spengler <spender@grsecurity.net>
93387 Date: Wed Mar 21 19:34:56 2012 -0400
93388
93389 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
93390 uses of domains with particular hash collisions
93391
93392 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
93393 Author: Brad Spengler <spender@grsecurity.net>
93394 Date: Tue Mar 20 20:25:49 2012 -0400
93395
93396 zero kernel_role
93397
93398 commit b00953b43c69238d181d21121ef1577c988d5f6b
93399 Author: Brad Spengler <spender@grsecurity.net>
93400 Date: Tue Mar 20 19:29:34 2012 -0400
93401
93402 zero real_root after releasing it
93403
93404 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
93405 Merge: b724f59 273f98e
93406 Author: Brad Spengler <spender@grsecurity.net>
93407 Date: Tue Mar 20 19:11:26 2012 -0400
93408
93409 Merge branch 'pax-test' into grsec-test
93410
93411 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
93412 Author: Brad Spengler <spender@grsecurity.net>
93413 Date: Tue Mar 20 19:10:52 2012 -0400
93414
93415 Temporary workaround for (most) size_overflow plugin false-positives
93416 Increase randomization for brk-managed heap to 21 bits
93417 Update to pax-linux-3.2.12-test32.patch
93418
93419 commit b724f59125304460c2af8bd4b02921993afbb5d3
93420 Author: Brad Spengler <spender@grsecurity.net>
93421 Date: Tue Mar 20 18:58:53 2012 -0400
93422
93423 compile fix
93424
93425 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
93426 Author: Brad Spengler <spender@grsecurity.net>
93427 Date: Tue Mar 20 18:52:23 2012 -0400
93428
93429 Require default and kernel role
93430
93431 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
93432 Author: Brad Spengler <spender@grsecurity.net>
93433 Date: Tue Mar 20 18:47:28 2012 -0400
93434
93435 Allow policies without special roles
93436 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
93437
93438 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
93439 Merge: 8e012dc f14661a
93440 Author: Brad Spengler <spender@grsecurity.net>
93441 Date: Mon Mar 19 18:06:59 2012 -0400
93442
93443 Merge branch 'pax-test' into grsec-test
93444
93445 Conflicts:
93446 fs/namei.c
93447
93448 commit f14661aaf202155c97f66626cea0269017bb7775
93449 Merge: eae671f 058b017
93450 Author: Brad Spengler <spender@grsecurity.net>
93451 Date: Mon Mar 19 18:05:44 2012 -0400
93452
93453 Merge branch 'linux-3.2.y' into pax-test
93454
93455 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
93456 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
93457 Date: Fri Mar 16 17:08:39 2012 -0700
93458
93459 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
93460
93461 According to the report from Slicky Devil, nilfs caused kernel oops at
93462 nilfs_load_super_block function during mount after he shrank the
93463 partition without resizing the filesystem:
93464
93465 BUG: unable to handle kernel NULL pointer dereference at 00000048
93466 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
93467 *pde = 00000000
93468 Oops: 0000 [#1] PREEMPT SMP
93469 ...
93470 Call Trace:
93471 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
93472 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
93473 [<c0226636>] mount_fs+0x36/0x180
93474 [<c023d961>] vfs_kern_mount+0x51/0xa0
93475 [<c023ddae>] do_kern_mount+0x3e/0xe0
93476 [<c023f189>] do_mount+0x169/0x700
93477 [<c023fa9b>] sys_mount+0x6b/0xa0
93478 [<c04abd1f>] sysenter_do_call+0x12/0x28
93479 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
93480 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
93481 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
93482 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
93483 CR2: 0000000000000048
93484
93485 This turned out due to a defect in an error path which runs if the
93486 calculated location of the secondary super block was invalid.
93487
93488 This patch fixes it and eliminates the reported oops.
93489
93490 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
93491 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
93492 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
93493 Cc: <stable@vger.kernel.org> [2.6.30+]
93494 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
93495 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
93496
93497 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
93498 Author: Haogang Chen <haogangchen@gmail.com>
93499 Date: Fri Mar 16 17:08:38 2012 -0700
93500
93501 nilfs2: clamp ns_r_segments_percentage to [1, 99]
93502
93503 ns_r_segments_percentage is read from the disk. Bogus or malicious
93504 value could cause integer overflow and malfunction due to meaningless
93505 disk usage calculation. This patch reports error when mounting such
93506 bogus volumes.
93507
93508 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
93509 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
93510 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
93511 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
93512
93513 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
93514 Author: Eric Dumazet <eric.dumazet@gmail.com>
93515 Date: Sat Mar 10 09:20:21 2012 +0000
93516
93517 tcp: fix syncookie regression
93518
93519 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
93520 added a serious regression on synflood handling.
93521
93522 Simon Kirby discovered a successful connection was delayed by 20 seconds
93523 before being responsive.
93524
93525 In my tests, I discovered that xmit frames were lost, and needed ~4
93526 retransmits and a socket dst rebuild before being really sent.
93527
93528 In case of syncookie initiated connection, we use a different path to
93529 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
93530
93531 As ip_queue_xmit() now depends on inet flow being setup, fix this by
93532 copying the temp flowi4 we use in cookie_v4_check().
93533
93534 Reported-by: Simon Kirby <sim@netnation.com>
93535 Bisected-by: Simon Kirby <sim@netnation.com>
93536 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
93537 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
93538 Signed-off-by: David S. Miller <davem@davemloft.net>
93539
93540 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
93541 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
93542 Date: Mon Mar 12 02:59:41 2012 +0000
93543
93544 tun: don't hold network namespace by tun sockets
93545
93546 v3: added previously removed sock_put() to the tun_release() callback, because
93547 sk_release_kernel() doesn't drop the socket reference.
93548
93549 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
93550 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
93551 call.
93552
93553 TUN was designed to destroy it's socket on network namesapce shutdown. But this
93554 will never happen for persistent device, because it's socket holds network
93555 namespace.
93556 This patch removes of holding network namespace by TUN socket and replaces it
93557 by creating socket in init_net and then changing it's net it to desired one. On
93558 shutdown socket is moved back to init_net prior to final put.
93559
93560 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
93561 Signed-off-by: David S. Miller <davem@davemloft.net>
93562
93563 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
93564 Author: Tyler Hicks <tyhicks@canonical.com>
93565 Date: Mon Dec 12 10:02:30 2011 -0600
93566
93567 vfs: Correctly set the dir i_mutex lockdep class
93568
93569 9a7aa12f3911853a introduced additional logic around setting the i_mutex
93570 lockdep class for directory inodes. The idea was that some filesystems
93571 may want their own special lockdep class for different directory
93572 inodes and calling unlock_new_inode() should not clobber one of
93573 those special classes.
93574
93575 I believe that the added conditional, around the *negated* return value
93576 of lockdep_match_class(), caused directory inodes to be placed in the
93577 wrong lockdep class.
93578
93579 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
93580 all inodes. If the filesystem did not change the class during inode
93581 initialization, then the conditional mentioned above was false and the
93582 directory inode was incorrectly left in the non-directory lockdep class.
93583 If the filesystem did set a special lockdep class, then the conditional
93584 mentioned above was true and that class was clobbered with
93585 i_mutex_dir_key.
93586
93587 This patch removes the negation from the conditional so that the i_mutex
93588 lockdep class is properly set for directory inodes. Special classes are
93589 preserved and directory inodes with unmodified classes are set with
93590 i_mutex_dir_key.
93591
93592 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
93593 Reviewed-by: Jan Kara <jack@suse.cz>
93594 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
93595
93596 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
93597 Author: Jan Kara <jack@suse.cz>
93598 Date: Mon Feb 20 17:54:00 2012 +0100
93599
93600 udf: Fix deadlock in udf_release_file()
93601
93602 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
93603 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
93604 i_mutex is not needed in udf_release_file() anymore since protection by
93605 i_data_sem is enough to protect from races with write and truncate.
93606
93607 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
93608 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
93609 Signed-off-by: Jan Kara <jack@suse.cz>
93610 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
93611
93612 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
93613 Author: Miklos Szeredi <mszeredi@suse.cz>
93614 Date: Tue Mar 6 13:56:33 2012 +0100
93615
93616 vfs: fix double put after complete_walk()
93617
93618 complete_walk() already puts nd->path, no need to do it again at cleanup time.
93619
93620 This would result in Oopses if triggered, apparently the codepath is not too
93621 well exercised.
93622
93623 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
93624 CC: stable@vger.kernel.org
93625 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
93626
93627 commit 13885ba2b18400f3ef6540497d30f1af896605e5
93628 Author: Miklos Szeredi <mszeredi@suse.cz>
93629 Date: Tue Mar 6 13:56:34 2012 +0100
93630
93631 vfs: fix return value from do_last()
93632
93633 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
93634 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
93635 which is complete nonsense.
93636
93637 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
93638 CC: stable@vger.kernel.org
93639 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
93640
93641 Conflicts:
93642
93643 fs/namei.c
93644
93645 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
93646 Author: Al Viro <viro@zeniv.linux.org.uk>
93647 Date: Sat Mar 10 17:07:28 2012 -0500
93648
93649 restore smp_mb() in unlock_new_inode()
93650
93651 wait_on_inode() doesn't have ->i_lock
93652
93653 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
93654
93655 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
93656 Author: David S. Miller <davem@davemloft.net>
93657 Date: Tue Mar 13 18:19:51 2012 -0700
93658
93659 sparc32: Add -Av8 to assembler command line.
93660
93661 Newer version of binutils are more strict about specifying the
93662 correct options to enable certain classes of instructions.
93663
93664 The sparc32 build is done for v7 in order to support sun4c systems
93665 which lack hardware integer multiply and divide instructions.
93666
93667 So we have to pass -Av8 when building the assembler routines that
93668 use these instructions and get patched into the kernel when we find
93669 out that we have a v8 capable cpu.
93670
93671 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
93672 Signed-off-by: David S. Miller <davem@davemloft.net>
93673
93674 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
93675 Author: Thomas Gleixner <tglx@linutronix.de>
93676 Date: Fri Mar 9 20:55:10 2012 +0100
93677
93678 x86: Derandom delay_tsc for 64 bit
93679
93680 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
93681 delay_tsc() into a random delay generator for 64 bit. The reason is
93682 that it merged the mostly identical versions of delay_32.c and
93683 delay_64.c. Though the subtle difference of the result was:
93684
93685 static void delay_tsc(unsigned long loops)
93686 {
93687 - unsigned bclock, now;
93688 + unsigned long bclock, now;
93689
93690 Now the function uses rdtscl() which returns the lower 32bit of the
93691 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
93692 bit this fails when the lower 32bit are close to wrap around when
93693 bclock is read, because the following check
93694
93695 if ((now - bclock) >= loops)
93696 break;
93697
93698 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
93699 because the unsigned long (now - bclock) of these values results in
93700 0xffffffff00000001 which is definitely larger than the loops
93701 value. That explains Tvortkos observation:
93702
93703 "Because I am seeing udelay(500) (_occasionally_) being short, and
93704 that by delaying for some duration between 0us (yep) and 491us."
93705
93706 Make those variables explicitely u32 again, so this works for both 32
93707 and 64 bit.
93708
93709 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
93710 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
93711 Cc: stable@vger.kernel.org # >= 2.6.27
93712 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
93713
93714 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
93715 Author: Al Viro <viro@ZenIV.linux.org.uk>
93716 Date: Thu Mar 8 17:51:19 2012 +0000
93717
93718 aio: fix the "too late munmap()" race
93719
93720 Current code has put_ioctx() called asynchronously from aio_fput_routine();
93721 that's done *after* we have killed the request that used to pin ioctx,
93722 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
93723 from progressing. As the result, we can end up with async call of
93724 put_ioctx() being the last one and possibly happening during exit_mmap()
93725 or elf_core_dump(), neither of which expects stray munmap() being done
93726 to them...
93727
93728 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
93729 with that, but that's all we care about - neither io_destroy() nor
93730 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
93731 does really_put_req(), so the ioctx teardown won't be done until then
93732 and we don't care about the contents of ioctx past that point.
93733
93734 Since actual freeing of these suckers is RCU-delayed, we don't need to
93735 bump ioctx refcount when request goes into list for async removal.
93736 All we need is rcu_read_lock held just over the ->ctx_lock-protected
93737 area in aio_fput_routine().
93738
93739 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
93740 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
93741 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
93742 Cc: stable@vger.kernel.org
93743 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
93744
93745 commit 002124c055afbf09b52226af65621999e8316448
93746 Author: Al Viro <viro@ZenIV.linux.org.uk>
93747 Date: Wed Mar 7 05:16:35 2012 +0000
93748
93749 aio: fix io_setup/io_destroy race
93750
93751 Have ioctx_alloc() return an extra reference, so that caller would drop it
93752 on success and not bother with re-grabbing it on failure exit. The current
93753 code is obviously broken - io_destroy() from another thread that managed
93754 to guess the address io_setup() would've returned would free ioctx right
93755 under us; gets especially interesting if aio_context_t * we pass to
93756 io_setup() points to PROT_READ mapping, so put_user() fails and we end
93757 up doing io_destroy() on kioctx another thread has just got freed...
93758
93759 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
93760 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
93761 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
93762 Cc: stable@vger.kernel.org
93763 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
93764
93765 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
93766 Author: Dan Carpenter <dan.carpenter@oracle.com>
93767 Date: Thu Mar 15 15:17:12 2012 -0700
93768
93769 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
93770
93771 strict_strtoul() writes a long but ->gamma_mode only has space to store an
93772 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
93773 well. I've changed it to use kstrtouint() instead.
93774
93775 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
93776 Acked-by: Inki Dae <inki.dae@samsung.com>
93777 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
93778 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
93779 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
93780
93781 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
93782 Merge: e4b05b6 eae671f
93783 Author: Brad Spengler <spender@grsecurity.net>
93784 Date: Fri Mar 16 21:04:27 2012 -0400
93785
93786 Merge branch 'pax-test' into grsec-test
93787
93788 Conflicts:
93789 security/Kconfig
93790
93791 commit eae671fafe93f04685c04a089cc13efebc05d600
93792 Author: Brad Spengler <spender@grsecurity.net>
93793 Date: Fri Mar 16 20:58:01 2012 -0400
93794
93795 Update to pax-linux-3.2.11-test31.patch
93796 Introduction of the size_overflow plugin from Emese Revfy
93797 Many thanks to Emese for her hard work :)
93798
93799 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
93800 Merge: e55aa68 258c015
93801 Author: Brad Spengler <spender@grsecurity.net>
93802 Date: Thu Mar 15 20:59:19 2012 -0400
93803
93804 Merge branch 'pax-test' into grsec-test
93805
93806 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
93807 Author: Brad Spengler <spender@grsecurity.net>
93808 Date: Thu Mar 15 20:59:05 2012 -0400
93809
93810 fix ARM compilation
93811
93812 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
93813 Merge: 8f95ea9 55b7573
93814 Author: Brad Spengler <spender@grsecurity.net>
93815 Date: Wed Mar 14 19:33:41 2012 -0400
93816
93817 Merge branch 'pax-test' into grsec-test
93818
93819 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
93820 Author: Brad Spengler <spender@grsecurity.net>
93821 Date: Wed Mar 14 19:33:15 2012 -0400
93822
93823 Update to pax-linux-3.2.10-test28.patch
93824
93825 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
93826 Merge: c8786a2 886ac5e
93827 Author: Brad Spengler <spender@grsecurity.net>
93828 Date: Tue Mar 13 17:38:13 2012 -0400
93829
93830 Merge branch 'pax-test' into grsec-test
93831
93832 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
93833
93834 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
93835 Author: Brad Spengler <spender@grsecurity.net>
93836 Date: Tue Mar 13 17:37:44 2012 -0400
93837
93838 Update to pax-linux-3.2.10-test26.patch
93839
93840 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
93841 Merge: 219c982 c061fcf
93842 Author: Brad Spengler <spender@grsecurity.net>
93843 Date: Tue Mar 13 17:25:06 2012 -0400
93844
93845 Merge branch 'pax-test' into grsec-test
93846
93847 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
93848 Merge: 89373d2 3f4b3b2
93849 Author: Brad Spengler <spender@grsecurity.net>
93850 Date: Tue Mar 13 17:25:02 2012 -0400
93851
93852 Merge branch 'linux-3.2.y' into pax-test
93853
93854 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
93855 Merge: 54e19a3 89373d2
93856 Author: Brad Spengler <spender@grsecurity.net>
93857 Date: Mon Mar 12 17:23:57 2012 -0400
93858
93859 Merge branch 'pax-test' into grsec-test
93860
93861 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
93862 Merge: a778588 7459f11
93863 Author: Brad Spengler <spender@grsecurity.net>
93864 Date: Mon Mar 12 17:23:49 2012 -0400
93865
93866 Merge branch 'linux-3.2.y' into pax-test
93867
93868 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
93869 Merge: c4650f1 a778588
93870 Author: Brad Spengler <spender@grsecurity.net>
93871 Date: Mon Mar 12 16:51:25 2012 -0400
93872
93873 Merge branch 'pax-test' into grsec-test
93874
93875 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
93876 Author: Brad Spengler <spender@grsecurity.net>
93877 Date: Mon Mar 12 16:51:12 2012 -0400
93878
93879 Update to pax-linux-3.2.9-test24.patch
93880
93881 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
93882 Merge: fb2abee 1015790
93883 Author: Brad Spengler <spender@grsecurity.net>
93884 Date: Sun Mar 11 21:08:28 2012 -0400
93885
93886 Merge branch 'pax-test' into grsec-test
93887
93888 Conflicts:
93889 security/Kconfig
93890
93891 commit 101579028a736c224e590c7e12a7357018c424e1
93892 Author: Brad Spengler <spender@grsecurity.net>
93893 Date: Sun Mar 11 21:07:27 2012 -0400
93894
93895 Update to pax-linux-3.2.9-test22.patch
93896
93897 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
93898 Author: Brad Spengler <spender@grsecurity.net>
93899 Date: Sun Mar 11 11:02:17 2012 -0400
93900
93901 Allow 4096 CPUs
93902
93903 commit 96bae28cbe6a41d48e3b56e5904814096e956000
93904 Author: Brad Spengler <spender@grsecurity.net>
93905 Date: Sun Mar 11 10:25:58 2012 -0400
93906
93907 Use a per-cpu 48-bit counter instead of a global atomic64
93908 Initialize each counter to have the cpu number in the lower 16 bits
93909 instead of incrementing the counter each time by 1, perform the increments
93910 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
93911 any state
93912 idea from PaX Team
93913
93914 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
93915 Author: Brad Spengler <spender@grsecurity.net>
93916 Date: Sat Mar 10 20:33:12 2012 -0500
93917
93918 Special vnsec edition! :)
93919 Further reduce argv/env allowance for suid/sgid apps to 512KB
93920 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
93921 Clear 3GB personality on suid/sgid binaries
93922 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
93923 with the main purpose of throwing off program stack -> arg/env alignment
93924 Update documentation
93925
93926 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
93927 Author: Brad Spengler <spender@grsecurity.net>
93928 Date: Sat Mar 10 19:54:47 2012 -0500
93929
93930 Resolve skbuff.h warnings that turn into errors during compilation in
93931 the grsecurity directory with -Werror
93932
93933 commit 2023210ad43a944033fcacc660ce410888f562ee
93934 Merge: ece4383 5f66adf
93935 Author: Brad Spengler <spender@grsecurity.net>
93936 Date: Fri Mar 9 19:48:01 2012 -0500
93937
93938 Merge branch 'pax-test' into grsec-test
93939
93940 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
93941 Author: Brad Spengler <spender@grsecurity.net>
93942 Date: Fri Mar 9 19:47:06 2012 -0500
93943
93944 Add colorize plugin
93945
93946 commit ece4383e5e91c92d138c4df84225a70b552f4d69
93947 Merge: a366d0e ab4a5a1
93948 Author: Brad Spengler <spender@grsecurity.net>
93949 Date: Fri Mar 9 17:56:46 2012 -0500
93950
93951 Merge branch 'pax-test' into grsec-test
93952
93953 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
93954 Author: Brad Spengler <spender@grsecurity.net>
93955 Date: Fri Mar 9 17:56:26 2012 -0500
93956
93957 Update to pax-linux-3.2.9-test21.patch
93958
93959 commit a366d0ed963ce93fce10121c1100989d5f064e75
93960 Author: Mikulas Patocka <mpatocka@redhat.com>
93961 Date: Sun Mar 4 19:52:03 2012 -0500
93962
93963 mm: fix find_vma_prev
93964
93965 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
93966 management on PA-RISC.
93967
93968 After application of the patch, programs that allocate big arrays on the
93969 stack crash with segfault, for example, this will crash if compiled
93970 without optimization:
93971
93972 int main()
93973 {
93974 char array[200000];
93975 array[199999] = 0;
93976 return 0;
93977 }
93978
93979 The reason is that PA-RISC has up-growing stack and the stack is usually
93980 the last memory area. In the above example, a page fault happens above
93981 the stack.
93982
93983 Previously, if we passed too high address to find_vma_prev, it returned
93984 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
93985 change, it stores NULL in *pprev. Consequently, the stack area is not
93986 found and it is not expanded, as it used to be before the change.
93987
93988 This patch restores the old behavior and makes it return the last VMA in
93989 *pprev if the requested address is higher than address of any other VMA.
93990
93991 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
93992 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
93993 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
93994
93995 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
93996 Author: Hugh Dickins <hughd@google.com>
93997 Date: Tue Mar 6 12:28:52 2012 -0800
93998
93999 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
94000
94001 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
94002 from shared anonymous: hoist the file case's -EINVAL up for both.
94003
94004 Signed-off-by: Hugh Dickins <hughd@google.com>
94005 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94006
94007 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
94008 Author: Al Viro <viro@ZenIV.linux.org.uk>
94009 Date: Mon Mar 5 06:38:42 2012 +0000
94010
94011 aout: move setup_arg_pages() prior to reading/mapping the binary
94012
94013 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
94014 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94015
94016 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
94017 Author: Jan Beulich <JBeulich@suse.com>
94018 Date: Mon Mar 5 16:49:24 2012 +0000
94019
94020 vsprintf: make %pV handling compatible with kasprintf()
94021
94022 kasprintf() (and potentially other functions that I didn't run across so
94023 far) want to evaluate argument lists twice. Caring to do so for the
94024 primary list is obviously their job, but they can't reasonably be
94025 expected to check the format string for instances of %pV, which however
94026 need special handling too: On architectures like x86-64 (as opposed to
94027 e.g. ix86), using the same argument list twice doesn't produce the
94028 expected results, as an internally managed cursor gets updated during
94029 the first run.
94030
94031 Fix the problem by always acting on a copy of the original list when
94032 handling %pV.
94033
94034 Signed-off-by: Jan Beulich <jbeulich@suse.com>
94035 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94036
94037 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
94038 Author: Al Viro <viro@ZenIV.linux.org.uk>
94039 Date: Mon Mar 5 06:39:47 2012 +0000
94040
94041 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
94042
94043 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
94044 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94045
94046 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
94047 Author: Christian König <deathsimple@vodafone.de>
94048 Date: Tue Feb 28 23:19:20 2012 +0100
94049
94050 drm/radeon: fix uninitialized variable
94051
94052 Without this fix the driver randomly treats
94053 textures as arrays and I'm really wondering
94054 why gcc isn't complaining about it.
94055
94056 Signed-off-by: Christian König <deathsimple@vodafone.de>
94057 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
94058 Signed-off-by: Dave Airlie <airlied@redhat.com>
94059
94060 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
94061 Author: H. Peter Anvin <hpa@zytor.com>
94062 Date: Fri Mar 2 10:43:48 2012 -0800
94063
94064 regset: Prevent null pointer reference on readonly regsets
94065
94066 The regset common infrastructure assumed that regsets would always
94067 have .get and .set methods, but not necessarily .active methods.
94068 Unfortunately people have since written regsets without .set methods.
94069
94070 Rather than putting in stub functions everywhere, handle regsets with
94071 null .get or .set methods explicitly.
94072
94073 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
94074 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
94075 Acked-by: Roland McGrath <roland@hack.frob.com>
94076 Cc: <stable@vger.kernel.org>
94077 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94078
94079 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
94080 Author: Brad Spengler <spender@grsecurity.net>
94081 Date: Mon Mar 5 18:12:57 2012 -0500
94082
94083 Fix compiler errors reported on forums
94084
94085 commit 1606774b48af24e6f99d99c624c0e447d4b66474
94086 Merge: 3127bd5 4ca2ffd
94087 Author: Brad Spengler <spender@grsecurity.net>
94088 Date: Mon Mar 5 17:31:35 2012 -0500
94089
94090 Merge branch 'pax-test' into grsec-test
94091
94092 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
94093 Author: Brad Spengler <spender@grsecurity.net>
94094 Date: Mon Mar 5 17:31:21 2012 -0500
94095
94096 Update to pax-linux-3.2.9-test20.patch
94097
94098 commit 3127bd581a292966b1057c7433219dac188c3720
94099 Author: Brad Spengler <spender@grsecurity.net>
94100 Date: Fri Mar 2 21:30:37 2012 -0500
94101
94102 Fix memory leak on logged exec_id check failure in /proc/pid/statm
94103 Thanks to Djalal Harouni for the report
94104
94105 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
94106 Merge: 0a56be8 9aa8288
94107 Author: Brad Spengler <spender@grsecurity.net>
94108 Date: Fri Mar 2 18:38:22 2012 -0500
94109
94110 Merge branch 'pax-test' into grsec-test
94111
94112 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
94113 Author: Brad Spengler <spender@grsecurity.net>
94114 Date: Fri Mar 2 18:37:43 2012 -0500
94115
94116 Update to pax-linux-3.2.9-test19.patch
94117
94118 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
94119 Merge: 9e66745 3f5c52a
94120 Author: Brad Spengler <spender@grsecurity.net>
94121 Date: Thu Mar 1 20:18:01 2012 -0500
94122
94123 Merge branch 'pax-test' into grsec-test
94124
94125 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
94126 Author: Brad Spengler <spender@grsecurity.net>
94127 Date: Thu Mar 1 20:16:56 2012 -0500
94128
94129 Update to pax-linux-3.2.9-test18.patch
94130
94131 commit ae53ec231d12719a36bf871f8c5841020ed692ee
94132 Merge: b255baf 44fb317
94133 Author: Brad Spengler <spender@grsecurity.net>
94134 Date: Thu Mar 1 20:15:31 2012 -0500
94135
94136 Merge branch 'linux-3.2.y' into pax-test
94137
94138 commit 9e667456c03eadea2f305be761abe4de9a5877a3
94139 Merge: 5e4e200 b255baf
94140 Author: Brad Spengler <spender@grsecurity.net>
94141 Date: Mon Feb 27 20:53:59 2012 -0500
94142
94143 Merge branch 'pax-test' into grsec-test
94144
94145 commit b255baf50365d39b406f43aab2c64745607baaa2
94146 Merge: 340ce90 1de504e
94147 Author: Brad Spengler <spender@grsecurity.net>
94148 Date: Mon Feb 27 20:53:29 2012 -0500
94149
94150 Merge branch 'linux-3.2.y' into pax-test
94151 Update to pax-linux-3.2.8-test17.patch
94152
94153 Conflicts:
94154 arch/x86/include/asm/i387.h
94155 arch/x86/kernel/process_32.c
94156 arch/x86/kernel/traps.c
94157
94158 commit 5e4e200ac530452884b625cb75de240e1e98c731
94159 Merge: 44306d7 340ce90
94160 Author: Brad Spengler <spender@grsecurity.net>
94161 Date: Mon Feb 27 18:02:13 2012 -0500
94162
94163 Merge branch 'pax-test' into grsec-test
94164
94165 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
94166 Author: Brad Spengler <spender@grsecurity.net>
94167 Date: Mon Feb 27 18:01:48 2012 -0500
94168
94169 Update to pax-linux-3.2.7-test17.patch
94170
94171 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
94172 Merge: 29d0b07 521c411
94173 Author: Brad Spengler <spender@grsecurity.net>
94174 Date: Sun Feb 26 19:04:15 2012 -0500
94175
94176 Merge branch 'pax-test' into grsec-test
94177
94178 Conflicts:
94179 Makefile
94180
94181 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
94182 Author: Brad Spengler <spender@grsecurity.net>
94183 Date: Sun Feb 26 19:03:33 2012 -0500
94184
94185 Update to pax-linux-3.2.7-test16.patch
94186
94187 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
94188 Author: Brad Spengler <spender@grsecurity.net>
94189 Date: Sun Feb 26 17:12:44 2012 -0500
94190
94191 fix typo
94192
94193 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
94194 Merge: f45b3be caa8f83
94195 Author: Brad Spengler <spender@grsecurity.net>
94196 Date: Sat Feb 25 20:59:27 2012 -0500
94197
94198 Merge branch 'pax-test' into grsec-test
94199
94200 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
94201 Author: Brad Spengler <spender@grsecurity.net>
94202 Date: Sat Feb 25 20:59:12 2012 -0500
94203
94204 Update to pax-linux-3.2.7-test15.patch
94205
94206 commit f45b3be34a345502a302e736af9a65742ddef7cb
94207 Merge: 62f35fd 9f1309b
94208 Author: Brad Spengler <spender@grsecurity.net>
94209 Date: Sat Feb 25 11:40:15 2012 -0500
94210
94211 Merge branch 'pax-test' into grsec-test
94212
94213 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
94214 Author: Brad Spengler <spender@grsecurity.net>
94215 Date: Sat Feb 25 11:39:57 2012 -0500
94216
94217 Update to pax-linux-3.2.7-test14.patch
94218
94219 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
94220 Author: Brad Spengler <spender@grsecurity.net>
94221 Date: Sat Feb 25 09:08:55 2012 -0500
94222
94223 We could log on attempted exploits of writing /proc/self/mem, but the current
94224 log function declares the access a read, so just swap the ordering for now
94225
94226 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
94227 Author: Brad Spengler <spender@grsecurity.net>
94228 Date: Sat Feb 25 08:46:14 2012 -0500
94229
94230 Log /proc/pid/mem attempts
94231
94232 commit 674471e581893a94d475acac3e3c4496209b3ac9
94233 Author: Brad Spengler <spender@grsecurity.net>
94234 Date: Sat Feb 25 08:15:00 2012 -0500
94235
94236 Make use of f_version for protecting /proc file structs (fine since we're not a directory
94237 or seq_file)
94238
94239 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
94240 Author: Brad Spengler <spender@grsecurity.net>
94241 Date: Fri Feb 24 20:02:19 2012 -0500
94242
94243 Fix ia64 compilation
94244
94245 commit 50dfea412fd395e0183c2ade368efa525d38b267
94246 Merge: 12db845 4c6f99b
94247 Author: Brad Spengler <spender@grsecurity.net>
94248 Date: Fri Feb 24 19:00:53 2012 -0500
94249
94250 Merge branch 'pax-test' into grsec-test
94251
94252 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
94253 Author: Brad Spengler <spender@grsecurity.net>
94254 Date: Fri Feb 24 19:00:36 2012 -0500
94255
94256 (6:57:09 PM) pipacs: but you can be proactive
94257 (Fix other-arch atomic64/REFCOUNT compilation failures)
94258
94259 commit 12db8453f6bb0a756f369c9151668ba1249bc478
94260 Author: Brad Spengler <spender@grsecurity.net>
94261 Date: Thu Feb 23 21:10:12 2012 -0500
94262
94263 Remove unnecessary copies, as suggested by solar
94264
94265 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
94266 Author: Brad Spengler <spender@grsecurity.net>
94267 Date: Thu Feb 23 20:59:35 2012 -0500
94268
94269 Make global_exec_counter static, as suggested by solar
94270
94271 commit e642091a475ebb3a30e81f85e7751233d0c2af43
94272 Author: Brad Spengler <spender@grsecurity.net>
94273 Date: Thu Feb 23 19:00:26 2012 -0500
94274
94275 sync with stable tree
94276
94277 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
94278 Author: Brad Spengler <spender@grsecurity.net>
94279 Date: Thu Feb 23 18:48:47 2012 -0500
94280
94281 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
94282 Remove handling of old kludge in chmod/fchmod
94283
94284 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
94285 Author: Brad Spengler <spender@grsecurity.net>
94286 Date: Thu Feb 23 18:18:49 2012 -0500
94287
94288 Apply umask checks to chmod/fchmod as well, as requested by sponsor
94289 Union the enforced umask with the existing one to produce minimal privilege
94290 Change umask type to u16
94291
94292 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
94293 Author: Brad Spengler <spender@grsecurity.net>
94294 Date: Wed Feb 22 18:16:11 2012 -0500
94295
94296 Add per-role umask enforcement to RBAC, requested by a sponsor
94297
94298 commit ad5ac943fe58199f1cc475912a39edb157acb77b
94299 Merge: dda0bb5 41722e3
94300 Author: Brad Spengler <spender@grsecurity.net>
94301 Date: Mon Feb 20 20:04:42 2012 -0500
94302
94303 Merge branch 'pax-test' into grsec-test
94304
94305 commit 41722e342e116d95f3d3556d66c97c888d752d39
94306 Author: Brad Spengler <spender@grsecurity.net>
94307 Date: Mon Feb 20 20:04:00 2012 -0500
94308
94309 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
94310 KERNEXEC plugin
94311
94312 commit dda0bb57137846a476a866c60db2681aaf6052c0
94313 Merge: 4fd554e d70927a
94314 Author: Brad Spengler <spender@grsecurity.net>
94315 Date: Mon Feb 20 20:01:41 2012 -0500
94316
94317 Merge branch 'pax-test' into grsec-test
94318
94319 commit d70927afec977d489a54c106a3c3ddc32e953050
94320 Merge: 1daebf1 9d0231c
94321 Author: Brad Spengler <spender@grsecurity.net>
94322 Date: Mon Feb 20 20:01:33 2012 -0500
94323
94324 Merge branch 'linux-3.2.y' into pax-test
94325
94326 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
94327 Author: Brad Spengler <spender@grsecurity.net>
94328 Date: Mon Feb 20 09:17:57 2012 -0500
94329
94330 Fix wrong logic on capability checks for switching roles, broke policies
94331 Thanks to Richard Kojedzinszky for reporting
94332
94333 commit 12f97d52ac603f24344f8d71569c412a307e9422
94334 Author: Brad Spengler <spender@grsecurity.net>
94335 Date: Thu Feb 16 21:20:10 2012 -0500
94336
94337 sparc64 compile fix
94338
94339 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
94340 Author: Brad Spengler <spender@grsecurity.net>
94341 Date: Thu Feb 16 18:38:32 2012 -0500
94342
94343 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
94344
94345 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
94346 Author: Brad Spengler <spender@grsecurity.net>
94347 Date: Thu Feb 16 18:18:01 2012 -0500
94348
94349 optimize the check a bit
94350
94351 commit 03159050f64989be44ae03be769cbed62a7cd2e5
94352 Author: Brad Spengler <spender@grsecurity.net>
94353 Date: Thu Feb 16 18:00:45 2012 -0500
94354
94355 smile VUPEN :D
94356 (limit argv+env to 1MB for suid/sgid binaries)
94357
94358 commit dd759d8800d225a397e4de49fe729c7d601298d2
94359 Author: Brad Spengler <spender@grsecurity.net>
94360 Date: Thu Feb 16 17:49:33 2012 -0500
94361
94362 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
94363
94364 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
94365 Author: Brad Spengler <spender@grsecurity.net>
94366 Date: Thu Feb 16 17:45:06 2012 -0500
94367
94368 Change the long long type for exec_id to the proper u64
94369
94370 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
94371 Author: Dan Carpenter <dan.carpenter@oracle.com>
94372 Date: Thu Feb 9 00:46:47 2012 +0000
94373
94374 isdn: type bug in isdn_net_header()
94375
94376 We use len to store the return value from eth_header(). eth_header()
94377 can return -ETH_HLEN (-14). We want to pass this back instead of
94378 truncating it to 65522 and returning that.
94379
94380 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
94381 Acked-by: Neil Horman <nhorman@tuxdriver.com>
94382 Signed-off-by: David S. Miller <davem@davemloft.net>
94383
94384 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
94385 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
94386 Date: Sat Feb 4 10:47:10 2012 +0100
94387
94388 exec: fix use-after-free bug in setup_new_exec()
94389
94390 Setting the task name is done within setup_new_exec() by accessing
94391 bprm->filename. However this happens after flush_old_exec().
94392 This may result in a use after free bug, flush_old_exec() may
94393 "complete" vfork_done, which will wake up the parent which in turn
94394 may free the passed in filename.
94395 To fix this add a new tcomm field in struct linux_binprm which
94396 contains the now early generated task name until it is used.
94397
94398 Fixes this bug on s390:
94399
94400 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
94401 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
94402 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
94403 Call Trace:
94404 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
94405 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
94406 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
94407 [<0000000000282b6c>] do_execve_common+0x410/0x514
94408 [<0000000000282cb6>] do_execve+0x46/0x58
94409 [<00000000005bce58>] kernel_execve+0x28/0x70
94410 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
94411 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
94412 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
94413 Last Breaking-Event-Address:
94414 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
94415
94416 Kernel panic - not syncing: Fatal exception: panic_on_oops
94417
94418 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
94419 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
94420 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94421
94422 commit d758ee9f5230893dabb5aab737b3109684bde196
94423 Author: Dan Carpenter <dan.carpenter@oracle.com>
94424 Date: Fri Feb 10 09:03:58 2012 +0100
94425
94426 relay: prevent integer overflow in relay_open()
94427
94428 "subbuf_size" and "n_subbufs" come from the user and they need to be
94429 capped to prevent an integer overflow.
94430
94431 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
94432 Cc: stable@kernel.org
94433 Signed-off-by: Jens Axboe <axboe@kernel.dk>
94434
94435 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
94436 Merge: b1baadf 1daebf1
94437 Author: Brad Spengler <spender@grsecurity.net>
94438 Date: Mon Feb 13 17:47:04 2012 -0500
94439
94440 Merge branch 'pax-test' into grsec-test
94441
94442 Conflicts:
94443 fs/proc/base.c
94444
94445 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
94446 Merge: 1413df2 c2db2e2
94447 Author: Brad Spengler <spender@grsecurity.net>
94448 Date: Mon Feb 13 17:45:54 2012 -0500
94449
94450 Merge branch 'linux-3.2.y' into pax-test
94451
94452 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
94453 Author: Brad Spengler <spender@grsecurity.net>
94454 Date: Sun Feb 12 16:44:05 2012 -0500
94455
94456 add missing declaration
94457
94458 commit 3981059c35e8463002517935c28f3d74b8e3703c
94459 Author: Brad Spengler <spender@grsecurity.net>
94460 Date: Sun Feb 12 16:36:04 2012 -0500
94461
94462 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
94463 in addition to existing checks (this handles the setresuid ruid = euid case)
94464
94465 commit 0beab03263c773f463412c350ad9064b44b6ede0
94466 Author: Brad Spengler <spender@grsecurity.net>
94467 Date: Sun Feb 12 16:13:40 2012 -0500
94468
94469 Revert setreuid changes when RBAC is enabled, breaks freeradius
94470 I'll fix the learning issue Lavish reported a different way through
94471 gradm modifications
94472
94473 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
94474
94475 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
94476 Author: Brad Spengler <spender@grsecurity.net>
94477 Date: Sat Feb 11 14:22:46 2012 -0500
94478
94479 copy exec_id on fork
94480
94481 commit 000c08e0890630086b2ed04084050ed856a7ec31
94482 Author: Brad Spengler <spender@grsecurity.net>
94483 Date: Fri Feb 10 20:00:36 2012 -0500
94484
94485 compile fix
94486
94487 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
94488 Author: Brad Spengler <spender@grsecurity.net>
94489 Date: Fri Feb 10 19:19:52 2012 -0500
94490
94491 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
94492 denies reading of sensitive /proc/pid entries where the file descriptor
94493 was opened in a different task than the one performing the read
94494
94495 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
94496 Author: Brad Spengler <spender@grsecurity.net>
94497 Date: Fri Feb 10 17:43:24 2012 -0500
94498
94499 Remove duplicate signal check
94500
94501 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
94502 Merge: 4eba97e 1413df2
94503 Author: Brad Spengler <spender@grsecurity.net>
94504 Date: Wed Feb 8 19:24:34 2012 -0500
94505
94506 Merge branch 'pax-test' into grsec-test
94507
94508 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
94509 Author: Brad Spengler <spender@grsecurity.net>
94510 Date: Wed Feb 8 19:24:08 2012 -0500
94511
94512 Merge changes from pax-linux-3.2.4-test11.patch
94513
94514 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
94515 Merge: 0e058dd 8dd90a2
94516 Author: Brad Spengler <spender@grsecurity.net>
94517 Date: Mon Feb 6 17:50:12 2012 -0500
94518
94519 Merge branch 'pax-test' into grsec-test
94520
94521 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
94522 Author: Brad Spengler <spender@grsecurity.net>
94523 Date: Mon Feb 6 17:49:07 2012 -0500
94524
94525 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
94526
94527 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
94528 Merge: 7e4169c 6133971
94529 Author: Brad Spengler <spender@grsecurity.net>
94530 Date: Mon Feb 6 17:48:57 2012 -0500
94531
94532 Merge branch 'linux-3.2.y' into pax-test
94533
94534 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
94535 Author: Brad Spengler <spender@grsecurity.net>
94536 Date: Sun Feb 5 19:24:45 2012 -0500
94537
94538 We now allow configurations with no PaX markings, giving the system no way to override the defaults
94539
94540 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
94541 Author: Brad Spengler <spender@grsecurity.net>
94542 Date: Sun Feb 5 10:01:23 2012 -0500
94543
94544 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
94545
94546 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
94547 Author: Brad Spengler <spender@grsecurity.net>
94548 Date: Sat Feb 4 21:01:16 2012 -0500
94549
94550 Improve security of ptrace-based monitoring/sandboxing
94551 See:
94552 http://article.gmane.org/gmane.linux.kernel.lsm/15156
94553
94554 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
94555 Author: Brad Spengler <spender@grsecurity.net>
94556 Date: Fri Feb 3 20:42:55 2012 -0500
94557
94558 fix typo
94559
94560 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
94561 Author: Brad Spengler <spender@grsecurity.net>
94562 Date: Fri Feb 3 20:25:38 2012 -0500
94563
94564 Reported by lavish on IRC:
94565 If a suid/sgid binary did not learn any setuid/setgid call during learning,
94566 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
94567 any restrictions on uid/gid changes. uid and gid can however be changed
94568 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
94569 euid/egid.
94570
94571 My fix:
94572 POSIX doesn't specify whether unprivileged users can perform the above
94573 setresuid/setresgid as an unprivileged user, though Linux has historically
94574 permitted them. Modify this behavior when RBAC is enabled to require
94575 CAP_SETUID/CAP_SETGID for these operations.
94576
94577 Thanks to Lavish for the report!
94578
94579 Conflicts:
94580
94581 kernel/sys.c
94582
94583 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
94584 Merge: ba586eb 7e4169c
94585 Author: Brad Spengler <spender@grsecurity.net>
94586 Date: Fri Feb 3 20:10:21 2012 -0500
94587
94588 Merge branch 'pax-test' into grsec-test
94589
94590 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
94591 Author: Brad Spengler <spender@grsecurity.net>
94592 Date: Fri Feb 3 20:10:05 2012 -0500
94593
94594 Merge changes from pax-linux-3.2.4-test9.patch
94595
94596 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
94597 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
94598 Date: Thu Feb 2 11:34:09 2012 +1030
94599
94600 Fix race in process_vm_rw_core
94601
94602 This fixes the race in process_vm_core found by Oleg (see
94603
94604 http://article.gmane.org/gmane.linux.kernel/1235667/
94605
94606 for details).
94607
94608 This has been updated since I last sent it as the creation of the new
94609 mm_access() function did almost exactly the same thing as parts of the
94610 previous version of this patch did.
94611
94612 In order to use mm_access() even when /proc isn't enabled, we move it to
94613 kernel/fork.c where other related process mm access functions already
94614 are.
94615
94616 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
94617 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94618
94619 Conflicts:
94620
94621 fs/proc/base.c
94622 mm/process_vm_access.c
94623
94624 commit b9194d60fb9fe579f5c34817ed822abde18939a0
94625 Author: Oleg Nesterov <oleg@redhat.com>
94626 Date: Tue Jan 31 17:15:11 2012 +0100
94627
94628 proc: make sure mem_open() doesn't pin the target's memory
94629
94630 Once /proc/pid/mem is opened, the memory can't be released until
94631 mem_release() even if its owner exits.
94632
94633 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
94634 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
94635 before access_remote_vm(), this verifies that this mm is still alive.
94636
94637 I am not sure what should mem_rw() return if atomic_inc_not_zero()
94638 fails. With this patch it returns zero to match the "mm == NULL" case,
94639 may be it should return -EINVAL like it did before e268337d.
94640
94641 Perhaps it makes sense to add the additional fatal_signal_pending()
94642 check into the main loop, to ensure we do not hold this memory if
94643 the target task was oom-killed.
94644
94645 Cc: stable@kernel.org
94646 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
94647 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94648
94649 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
94650 Author: Oleg Nesterov <oleg@redhat.com>
94651 Date: Tue Jan 31 17:14:38 2012 +0100
94652
94653 proc: mem_release() should check mm != NULL
94654
94655 mem_release() can hit mm == NULL, add the necessary check.
94656
94657 Cc: stable@kernel.org
94658 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
94659 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94660
94661 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
94662 Author: Oleg Nesterov <oleg@redhat.com>
94663 Date: Tue Jan 31 17:14:54 2012 +0100
94664
94665 note: redisabled mem_write
94666
94667 proc: unify mem_read() and mem_write()
94668
94669 No functional changes, cleanup and preparation.
94670
94671 mem_read() and mem_write() are very similar. Move this code into the
94672 new common helper, mem_rw(), which takes the additional "int write"
94673 argument.
94674
94675 Cc: stable@kernel.org
94676 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
94677 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
94678
94679 Conflicts:
94680
94681 fs/proc/base.c
94682
94683 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
94684 Merge: 3903f01 01fee18
94685 Author: Brad Spengler <spender@grsecurity.net>
94686 Date: Fri Feb 3 19:50:40 2012 -0500
94687
94688 Merge branch 'pax-test' into grsec-test
94689
94690 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
94691 Author: Brad Spengler <spender@grsecurity.net>
94692 Date: Fri Feb 3 19:49:46 2012 -0500
94693
94694 Merge changes from pax-linux-3.2.4-test8.patch
94695
94696 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
94697 Merge: 201c0db 141936c
94698 Author: Brad Spengler <spender@grsecurity.net>
94699 Date: Fri Feb 3 19:49:01 2012 -0500
94700
94701 Merge branch 'linux-3.2.y' into pax-test
94702
94703 commit 3903f0172ecadf7a575ba3535402a1506133640a
94704 Author: Brad Spengler <spender@grsecurity.net>
94705 Date: Mon Jan 30 23:26:44 2012 -0500
94706
94707 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
94708
94709 We'll whitelist required directories for compatibility instead of requiring
94710 that people disable the feature entirely if they use SELinux, fuse, etc
94711
94712 Conflicts:
94713
94714 fs/sysfs/mount.c
94715
94716 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
94717 Author: Brad Spengler <spender@grsecurity.net>
94718 Date: Sun Jan 29 01:12:19 2012 -0500
94719
94720 perform RBAC check if TPE is on but match fails, matches previous behavior
94721
94722 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
94723 Author: Brad Spengler <spender@grsecurity.net>
94724 Date: Sat Jan 28 13:17:06 2012 -0500
94725
94726 log more information about the reason for a TPE denial for novice users, requested by a sponsor
94727
94728 commit efefd67008cbad8a8591e2484410966a300a39a5
94729 Author: Brad Spengler <spender@grsecurity.net>
94730 Date: Fri Jan 27 19:58:53 2012 -0500
94731
94732 merge upstream sha512 changes
94733
94734 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
94735 Author: Brad Spengler <spender@grsecurity.net>
94736 Date: Fri Jan 27 19:49:07 2012 -0500
94737
94738 drop lock on error in xfs_readlink
94739
94740 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
94741
94742 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
94743 Author: Li Wang <liwang@nudt.edu.cn>
94744 Date: Thu Jan 19 09:44:36 2012 +0800
94745
94746 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
94747
94748 ecryptfs_write() can enter an infinite loop when truncating a file to a
94749 size larger than 4G. This only happens on architectures where size_t is
94750 represented by 32 bits.
94751
94752 This was caused by a size_t overflow due to it incorrectly being used to
94753 store the result of a calculation which uses potentially large values of
94754 type loff_t.
94755
94756 [tyhicks@canonical.com: rewrite subject and commit message]
94757 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
94758 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
94759 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
94760 Cc: <stable@vger.kernel.org>
94761 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
94762
94763 commit a7607747d0f74f357d78bb796d70635dd05f46e8
94764 Author: Tyler Hicks <tyhicks@canonical.com>
94765 Date: Thu Jan 19 20:33:44 2012 -0600
94766
94767 eCryptfs: Check inode changes in setattr
94768
94769 Most filesystems call inode_change_ok() very early in ->setattr(), but
94770 eCryptfs didn't call it at all. It allowed the lower filesystem to make
94771 the call in its ->setattr() function. Then, eCryptfs would copy the
94772 appropriate inode attributes from the lower inode to the eCryptfs inode.
94773
94774 This patch changes that and actually calls inode_change_ok() on the
94775 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
94776 would happen earlier in ecryptfs_setattr(), but there are some possible
94777 inode initialization steps that must happen first.
94778
94779 Since the call was already being made on the lower inode, the change in
94780 functionality should be minimal, except for the case of a file extending
94781 truncate call. In that case, inode_newsize_ok() was never being
94782 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
94783 maximum file size errors early on, eCryptfs would encrypt zeroed pages
94784 and write them to the lower filesystem until the lower filesystem's
94785 write path caught the error in generic_write_checks(). This patch
94786 introduces a new function, called ecryptfs_inode_newsize_ok(), which
94787 checks if the new lower file size is within the appropriate limits when
94788 the truncate operation will be growing the lower file.
94789
94790 In summary this change prevents eCryptfs truncate operations (and the
94791 resulting page encryptions), which would exceed the lower filesystem
94792 limits or FSIZE rlimits, from ever starting.
94793
94794 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
94795 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
94796 Cc: <stable@vger.kernel.org>
94797
94798 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
94799 Author: Tyler Hicks <tyhicks@canonical.com>
94800 Date: Wed Jan 18 18:30:04 2012 -0600
94801
94802 eCryptfs: Make truncate path killable
94803
94804 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
94805 page, zeroes out the appropriate portions, and then encrypts the page
94806 before writing it to the lower filesystem. It was unkillable and due to
94807 the lack of sparse file support could result in tying up a large portion
94808 of system resources, while encrypting pages of zeros, with no way for
94809 the truncate operation to be stopped from userspace.
94810
94811 This patch adds the ability for ecryptfs_write() to detect a pending
94812 fatal signal and return as gracefully as possible. The intent is to
94813 leave the lower file in a useable state, while still allowing a user to
94814 break out of the encryption loop. If a pending fatal signal is detected,
94815 the eCryptfs inode size is updated to reflect the modified inode size
94816 and then -EINTR is returned.
94817
94818 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
94819 Cc: <stable@vger.kernel.org>
94820
94821 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
94822 Author: Tyler Hicks <tyhicks@canonical.com>
94823 Date: Tue Jan 24 10:02:22 2012 -0600
94824
94825 eCryptfs: Fix oops when printing debug info in extent crypto functions
94826
94827 If pages passed to the eCryptfs extent-based crypto functions are not
94828 mapped and the module parameter ecryptfs_verbosity=1 was specified at
94829 loading time, a NULL pointer dereference will occur.
94830
94831 Note that this wouldn't happen on a production system, as you wouldn't
94832 pass ecryptfs_verbosity=1 on a production system. It leaks private
94833 information to the system logs and is for debugging only.
94834
94835 The debugging info printed in these messages is no longer very useful
94836 and rather than doing a kmap() in these debugging paths, it will be
94837 better to simply remove the debugging paths completely.
94838
94839 https://launchpad.net/bugs/913651
94840
94841 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
94842 Reported-by: Daniel DeFreez
94843 Cc: <stable@vger.kernel.org>
94844
94845 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
94846 Author: Tyler Hicks <tyhicks@canonical.com>
94847 Date: Thu Jan 12 11:30:44 2012 +0100
94848
94849 eCryptfs: Sanitize write counts of /dev/ecryptfs
94850
94851 A malicious count value specified when writing to /dev/ecryptfs may
94852 result in a a very large kernel memory allocation.
94853
94854 This patch peeks at the specified packet payload size, adds that to the
94855 size of the packet headers and compares the result with the write count
94856 value. The resulting maximum memory allocation size is approximately 532
94857 bytes.
94858
94859 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
94860 Reported-by: Sasha Levin <levinsasha928@gmail.com>
94861 Cc: <stable@vger.kernel.org>
94862
94863 commit 96dcb7282d323813181a1791f51c0ab7696b675b
94864 Merge: 6c09fa5 201c0db
94865 Author: Brad Spengler <spender@grsecurity.net>
94866 Date: Fri Jan 27 19:44:15 2012 -0500
94867
94868 Merge branch 'pax-test' into grsec-test
94869
94870 commit 201c0dbf177527367676028151e36d340923f033
94871 Author: Brad Spengler <spender@grsecurity.net>
94872 Date: Fri Jan 27 19:43:24 2012 -0500
94873
94874 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
94875 on loading modules with empty sections
94876
94877 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
94878 Author: Brad Spengler <spender@grsecurity.net>
94879 Date: Fri Jan 27 19:42:13 2012 -0500
94880
94881 compile fix
94882
94883 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
94884 Author: Brad Spengler <spender@grsecurity.net>
94885 Date: Fri Jan 27 19:39:28 2012 -0500
94886
94887 use LSM flags instead of duplicating checks
94888
94889 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
94890 Merge: 44b9f11 558718b
94891 Author: Brad Spengler <spender@grsecurity.net>
94892 Date: Fri Jan 27 18:56:23 2012 -0500
94893
94894 Merge branch 'pax-test' into grsec-test
94895
94896 commit 558718b2217beff69edf60f34a6f9893d910e9ac
94897 Author: Brad Spengler <spender@grsecurity.net>
94898 Date: Fri Jan 27 18:56:04 2012 -0500
94899
94900 Merge changes from pax-linux-3.2.2-test6.patch
94901
94902 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
94903 Author: Brad Spengler <spender@grsecurity.net>
94904 Date: Fri Jan 27 18:53:55 2012 -0500
94905
94906 don't increase the size of task_struct when unnecessary
94907 change ptrace_readexec log message
94908
94909 commit a9c9626e054adb885883aa64f85506852894dd33
94910 Author: Brad Spengler <spender@grsecurity.net>
94911 Date: Fri Jan 27 18:16:28 2012 -0500
94912
94913 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
94914 the protection applies to all unreadable binaries.
94915
94916 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
94917 Merge: 7b3f3af 05a1349
94918 Author: Brad Spengler <spender@grsecurity.net>
94919 Date: Wed Jan 25 20:52:09 2012 -0500
94920
94921 Merge branch 'pax-test' into grsec-test
94922
94923 Conflicts:
94924 block/scsi_ioctl.c
94925 drivers/scsi/sd.c
94926 fs/proc/base.c
94927
94928 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
94929 Author: Brad Spengler <spender@grsecurity.net>
94930 Date: Wed Jan 25 20:47:36 2012 -0500
94931
94932 Resync with pax-linux-3.2.2-test5.patch
94933
94934 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
94935 Merge: c6d443d 3499d64
94936 Author: Brad Spengler <spender@grsecurity.net>
94937 Date: Wed Jan 25 20:45:16 2012 -0500
94938
94939 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
94940
94941 Conflicts:
94942 ipc/shm.c
94943
94944 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
94945 Author: Brad Spengler <spender@grsecurity.net>
94946 Date: Tue Jan 24 19:42:01 2012 -0500
94947
94948 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
94949 (may be changed if it breaks some userland), the other has its own
94950 config option
94951
94952 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
94953 the syscall or /proc/sys.
94954
94955 Second feature requires read access to a suid/sgid binary in order
94956 to ptrace it, preventing infoleaking of binaries in situations where
94957 the admin has specified 4711 or 2711 perms. Feature has been
94958 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
94959 a sysctl entry of ptrace_readexec
94960
94961 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
94962 Author: Brad Spengler <spender@grsecurity.net>
94963 Date: Sun Jan 22 14:37:10 2012 -0500
94964
94965 Compilation fixes
94966
94967 commit cd400e21c7c352baba47d6f375297a7847afb33a
94968 Author: Brad Spengler <spender@grsecurity.net>
94969 Date: Sun Jan 22 14:20:27 2012 -0500
94970
94971 Initial port of grsecurity 2.2.2 for Linux 3.2.1
94972 Note that the new syscalls added to this kernel for remote process read/write
94973 are subject to ptrace hardening/other relevant RBAC features
94974 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
94975 as well
94976 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
94977 you should be using a version of gcc with plugin support
94978
94979 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
94980 Author: Brad Spengler <spender@grsecurity.net>
94981 Date: Sun Jan 22 11:47:31 2012 -0500
94982
94983 Import pax-linux-3.2.1-test5.patch
94984 commit bfd7db842f835f9837cd43644459b3a95b0b488d
94985 Author: Brad Spengler <spender@grsecurity.net>
94986 Date: Sun Jan 22 11:02:02 2012 -0500
94987
94988 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
94989 instead of returning -EACCES
94990 thanks to Wraith from irc for the report
94991
94992 commit 873ac13576506cd48ddb527c2540f274e249da50
94993 Merge: 34083dd 8a44fcc
94994 Author: Brad Spengler <spender@grsecurity.net>
94995 Date: Fri Jan 20 18:04:02 2012 -0500
94996
94997 Merge branch 'pax-test' into grsec-test
94998
94999 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
95000 Author: Brad Spengler <spender@grsecurity.net>
95001 Date: Fri Jan 20 18:02:15 2012 -0500
95002
95003 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
95004 Denies executable shared memory when MPROTECT is active
95005 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
95006
95007 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
95008 Author: Brad Spengler <spender@grsecurity.net>
95009 Date: Thu Jan 19 20:23:14 2012 -0500
95010
95011 Introduce new GRKERNSEC_SETXID implementation
95012 We're not able to change the credentials of other threads in the process until at most
95013 one syscall after the first thread does it, since we mark the threads as needing rescheduling
95014 and such work occurs on syscall exit.
95015 This does however ensure that we're only modifying the current task's credentials
95016 which upholds RCU expectations
95017
95018 Many thanks to corsac for testing
95019
95020 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
95021 Author: Brad Spengler <spender@grsecurity.net>
95022 Date: Thu Jan 19 17:42:48 2012 -0500
95023
95024 Simplify backport
95025
95026 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
95027 Author: Brad Spengler <spender@grsecurity.net>
95028 Date: Thu Jan 19 17:08:16 2012 -0500
95029
95030 Commit the latest silent fix for a local privilege escalation from Linus
95031 Also disable writing to /proc/pid/mem
95032 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
95033
95034 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
95035 Merge: 0394a3f 7e6299b
95036 Author: Brad Spengler <spender@grsecurity.net>
95037 Date: Wed Jan 18 20:22:09 2012 -0500
95038
95039 Merge branch 'pax-test' into grsec-test
95040
95041 commit 7e6299b4733c082dde930375dd207b63237751ec
95042 Merge: 83555fb 9bb1282
95043 Author: Brad Spengler <spender@grsecurity.net>
95044 Date: Wed Jan 18 20:21:37 2012 -0500
95045
95046 Merge branch 'linux-3.1.y' into pax-test
95047
95048 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
95049 Author: Jesper Juhl <jj@chaosbits.net>
95050 Date: Sun Jan 8 22:44:29 2012 +0100
95051
95052 audit: always follow va_copy() with va_end()
95053
95054 A call to va_copy() should always be followed by a call to va_end() in
95055 the same function. In kernel/autit.c::audit_log_vformat() this is not
95056 always done. This patch makes sure va_end() is always called.
95057
95058 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
95059 Cc: Al Viro <viro@zeniv.linux.org.uk>
95060 Cc: Eric Paris <eparis@redhat.com>
95061 Cc: Andrew Morton <akpm@linux-foundation.org>
95062 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95063
95064 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
95065 Author: Andi Kleen <ak@linux.intel.com>
95066 Date: Thu Jan 12 17:20:30 2012 -0800
95067
95068 panic: don't print redundant backtraces on oops
95069
95070 When an oops causes a panic and panic prints another backtrace it's pretty
95071 common to have the original oops data be scrolled away on a 80x50 screen.
95072
95073 The second backtrace is quite redundant and not needed anyways.
95074
95075 So don't print the panic backtrace when oops_in_progress is true.
95076
95077 [akpm@linux-foundation.org: add comment]
95078 Signed-off-by: Andi Kleen <ak@linux.intel.com>
95079 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
95080 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
95081 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95082
95083 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
95084 Author: Miklos Szeredi <mszeredi@suse.cz>
95085 Date: Thu Jan 12 17:59:46 2012 +0100
95086
95087 fsnotify: don't BUG in fsnotify_destroy_mark()
95088
95089 Removing the parent of a watched file results in "kernel BUG at
95090 fs/notify/mark.c:139".
95091
95092 To reproduce
95093
95094 add "-w /tmp/audit/dir/watched_file" to audit.rules
95095 rm -rf /tmp/audit/dir
95096
95097 This is caused by fsnotify_destroy_mark() being called without an
95098 extra reference taken by the caller.
95099
95100 Reported by Francesco Cosoleto here:
95101
95102 https://bugzilla.novell.com/show_bug.cgi?id=689860
95103
95104 Fix by removing the BUG_ON and adding a comment about not accessing mark after
95105 the iput.
95106
95107 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
95108 CC: stable@vger.kernel.org
95109 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95110
95111 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
95112 Author: Paolo Bonzini <pbonzini@redhat.com>
95113 Date: Thu Jan 12 16:01:28 2012 +0100
95114
95115 block: fail SCSI passthrough ioctls on partition devices
95116
95117 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
95118 will pass the command to the underlying block device. This is
95119 well-known, but it is also a large security problem when (via Unix
95120 permissions, ACLs, SELinux or a combination thereof) a program or user
95121 needs to be granted access only to part of the disk.
95122
95123 This patch lets partitions forward a small set of harmless ioctls;
95124 others are logged with printk so that we can see which ioctls are
95125 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
95126 Of course it was being sent to a (partition on a) hard disk, so it would
95127 have failed with ENOTTY and the patch isn't changing anything in
95128 practice. Still, I'm treating it specially to avoid spamming the logs.
95129
95130 In principle, this restriction should include programs running with
95131 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
95132 /dev/sdb, it still should not be able to read/write outside the
95133 boundaries of /dev/sda2 independent of the capabilities. However, for
95134 now programs with CAP_SYS_RAWIO will still be allowed to send the
95135 ioctls. Their actions will still be logged.
95136
95137 This patch does not affect the non-libata IDE driver. That driver
95138 however already tests for bd != bd->bd_contains before issuing some
95139 ioctl; it could be restricted further to forbid these ioctls even for
95140 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
95141
95142 Cc: linux-scsi@vger.kernel.org
95143 Cc: Jens Axboe <axboe@kernel.dk>
95144 Cc: James Bottomley <JBottomley@parallels.com>
95145 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
95146 [ Make it also print the command name when warning - Linus ]
95147 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95148
95149 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
95150 Author: Paolo Bonzini <pbonzini@redhat.com>
95151 Date: Thu Jan 12 16:01:27 2012 +0100
95152
95153 block: add and use scsi_blk_cmd_ioctl
95154
95155 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
95156
95157 The function will then be enhanced to detect partition block devices
95158 and, in that case, subject the ioctls to whitelisting.
95159
95160 Cc: linux-scsi@vger.kernel.org
95161 Cc: Jens Axboe <axboe@kernel.dk>
95162 Cc: James Bottomley <JBottomley@parallels.com>
95163 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
95164 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95165
95166 commit 97a79814903fc350e1d13704ea31528a42705401
95167 Author: Kees Cook <keescook@chromium.org>
95168 Date: Sat Jan 7 10:41:04 2012 -0800
95169
95170 audit: treat s_id as an untrusted string
95171
95172 The use of s_id should go through the untrusted string path, just to be
95173 extra careful.
95174
95175 Signed-off-by: Kees Cook <keescook@chromium.org>
95176 Acked-by: Mimi Zohar <zohar@us.ibm.com>
95177 Signed-off-by: Eric Paris <eparis@redhat.com>
95178
95179 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
95180 Author: Xi Wang <xi.wang@gmail.com>
95181 Date: Tue Dec 20 18:39:41 2011 -0500
95182
95183 audit: fix signedness bug in audit_log_execve_info()
95184
95185 In the loop, a size_t "len" is used to hold the return value of
95186 audit_log_single_execve_arg(), which returns -1 on error. In that
95187 case the error handling (len <= 0) will be bypassed since "len" is
95188 unsigned, and the loop continues with (p += len) being wrapped.
95189 Change the type of "len" to signed int to fix the error handling.
95190
95191 size_t len;
95192 ...
95193 for (...) {
95194 len = audit_log_single_execve_arg(...);
95195 if (len <= 0)
95196 break;
95197 p += len;
95198 }
95199
95200 Signed-off-by: Xi Wang <xi.wang@gmail.com>
95201 Signed-off-by: Eric Paris <eparis@redhat.com>
95202
95203 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
95204 Author: Dan Carpenter <dan.carpenter@oracle.com>
95205 Date: Tue Jan 17 03:28:51 2012 -0300
95206
95207 [media] ds3000: using logical && instead of bitwise &
95208
95209 The intent here was to test if the FE_HAS_LOCK was set. The current
95210 test is equivalent to "if (status) { ..."
95211
95212 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
95213 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
95214
95215 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
95216 Author: Brad Spengler <spender@grsecurity.net>
95217 Date: Mon Jan 16 13:10:38 2012 -0500
95218
95219 Ignore the 0 signal for protected task RBAC checks
95220
95221 commit d513acd55f7a683f6e146a4f570cdb63300479ab
95222 Author: Brad Spengler <spender@grsecurity.net>
95223 Date: Mon Jan 16 11:56:13 2012 -0500
95224
95225 whitespace cleanup
95226
95227 commit ced261c4b82818c700aff8487f647f6f3e5b5122
95228 Merge: d48751f 83555fb
95229 Author: Brad Spengler <spender@grsecurity.net>
95230 Date: Fri Jan 13 20:12:54 2012 -0500
95231
95232 Merge branch 'pax-test' into grsec-test
95233
95234 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
95235 Merge: fcd8129 93dad39
95236 Author: Brad Spengler <spender@grsecurity.net>
95237 Date: Fri Jan 13 20:12:43 2012 -0500
95238
95239 Merge branch 'linux-3.1.y' into pax-test
95240
95241 commit d48751f3919ae855fda0ff6c149db82442329253
95242 Author: Brad Spengler <spender@grsecurity.net>
95243 Date: Wed Jan 11 19:05:47 2012 -0500
95244
95245 Call our own set_user when forcing change to new id
95246
95247 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
95248 Merge: e6578ff fcd8129
95249 Author: Brad Spengler <spender@grsecurity.net>
95250 Date: Tue Jan 10 16:00:10 2012 -0500
95251
95252 Merge branch 'pax-test' into grsec-test
95253
95254 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
95255 Author: Brad Spengler <spender@grsecurity.net>
95256 Date: Tue Jan 10 15:58:43 2012 -0500
95257
95258 Merge changes from pax-linux-3.1.8-test23.patch
95259
95260 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
95261 Merge: 8859ec3 a120549
95262 Author: Brad Spengler <spender@grsecurity.net>
95263 Date: Fri Jan 6 21:45:56 2012 -0500
95264
95265 Merge branch 'pax-test' into grsec-test
95266
95267 commit a12054967a77090de1caa07c41e694a77db4e237
95268 Author: Brad Spengler <spender@grsecurity.net>
95269 Date: Fri Jan 6 21:45:30 2012 -0500
95270
95271 Merge changes from pax-linux-3.1.8-test22.patch
95272
95273 commit 8859ec32f9815c274df65448f9f2960176c380d3
95274 Merge: a5016b4 ddd4114
95275 Author: Brad Spengler <spender@grsecurity.net>
95276 Date: Fri Jan 6 21:26:08 2012 -0500
95277
95278 Merge branch 'pax-test' into grsec-test
95279
95280 Conflicts:
95281 fs/binfmt_elf.c
95282 security/Kconfig
95283
95284 commit ddd41147e158a79704983a409b7433eba797cf66
95285 Author: Brad Spengler <spender@grsecurity.net>
95286 Date: Fri Jan 6 21:12:42 2012 -0500
95287
95288 Resync with PaX patch (whitespace difference)
95289
95290 commit 29e569df8205c5f0e043fe4803aa984406c8b118
95291 Author: Brad Spengler <spender@grsecurity.net>
95292 Date: Fri Jan 6 21:09:47 2012 -0500
95293
95294 Merge changes from pax-linux-3.1.8-test21.patch
95295
95296 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
95297 Merge: 0124c92 04231d5
95298 Author: Brad Spengler <spender@grsecurity.net>
95299 Date: Fri Jan 6 18:52:20 2012 -0500
95300
95301 Merge branch 'pax-test' into grsec-test
95302
95303 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
95304 Merge: 7bdddeb a919904
95305 Author: Brad Spengler <spender@grsecurity.net>
95306 Date: Fri Jan 6 18:51:50 2012 -0500
95307
95308 Merge branch 'linux-3.1.y' into pax-test
95309
95310 Conflicts:
95311 include/net/flow.h
95312
95313 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
95314 Author: Brad Spengler <spender@grsecurity.net>
95315 Date: Fri Jan 6 18:33:05 2012 -0500
95316
95317 Make GRKERNSEC_SETXID option compatible with credential debugging
95318
95319 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
95320 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
95321 Date: Wed Dec 28 15:57:11 2011 -0800
95322
95323 mm/mempolicy.c: refix mbind_range() vma issue
95324
95325 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
95326 slightly incorrect fix.
95327
95328 Why? Think following case.
95329
95330 1. map 4 pages of a file at offset 0
95331
95332 [0123]
95333
95334 2. map 2 pages just after the first mapping of the same file but with
95335 page offset 2
95336
95337 [0123][23]
95338
95339 3. mbind() 2 pages from the first mapping at offset 2.
95340 mbind_range() should treat new vma is,
95341
95342 [0123][23]
95343 |23|
95344 mbind vma
95345
95346 but it does
95347
95348 [0123][23]
95349 |01|
95350 mbind vma
95351
95352 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
95353
95354 This patch fixes it.
95355
95356 [testcase]
95357 test result - before the patch
95358
95359 case4: 126: test failed. expect '2,4', actual '2,2,2'
95360 case5: passed
95361 case6: passed
95362 case7: passed
95363 case8: passed
95364 case_n: 246: test failed. expect '4,2', actual '1,4'
95365
95366 ------------[ cut here ]------------
95367 kernel BUG at mm/filemap.c:135!
95368 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
95369
95370 (snip long bug on messages)
95371
95372 test result - after the patch
95373
95374 case4: passed
95375 case5: passed
95376 case6: passed
95377 case7: passed
95378 case8: passed
95379 case_n: passed
95380
95381 source: mbind_vma_test.c
95382 ============================================================
95383 #include <numaif.h>
95384 #include <numa.h>
95385 #include <sys/mman.h>
95386 #include <stdio.h>
95387 #include <unistd.h>
95388 #include <stdlib.h>
95389 #include <string.h>
95390
95391 static unsigned long pagesize;
95392 void* mmap_addr;
95393 struct bitmask *nmask;
95394 char buf[1024];
95395 FILE *file;
95396 char retbuf[10240] = "";
95397 int mapped_fd;
95398
95399 char *rubysrc = "ruby -e '\
95400 pid = %d; \
95401 vstart = 0x%llx; \
95402 vend = 0x%llx; \
95403 s = `pmap -q #{pid}`; \
95404 rary = []; \
95405 s.each_line {|line|; \
95406 ary=line.split(\" \"); \
95407 addr = ary[0].to_i(16); \
95408 if(vstart <= addr && addr < vend) then \
95409 rary.push(ary[1].to_i()/4); \
95410 end; \
95411 }; \
95412 print rary.join(\",\"); \
95413 '";
95414
95415 void init(void)
95416 {
95417 void* addr;
95418 char buf[128];
95419
95420 nmask = numa_allocate_nodemask();
95421 numa_bitmask_setbit(nmask, 0);
95422
95423 pagesize = getpagesize();
95424
95425 sprintf(buf, "%s", "mbind_vma_XXXXXX");
95426 mapped_fd = mkstemp(buf);
95427 if (mapped_fd == -1)
95428 perror("mkstemp "), exit(1);
95429 unlink(buf);
95430
95431 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
95432 perror("lseek "), exit(1);
95433 if (write(mapped_fd, "\0", 1) < 0)
95434 perror("write "), exit(1);
95435
95436 addr = mmap(NULL, pagesize*8, PROT_NONE,
95437 MAP_SHARED, mapped_fd, 0);
95438 if (addr == MAP_FAILED)
95439 perror("mmap "), exit(1);
95440
95441 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
95442 perror("mprotect "), exit(1);
95443
95444 mmap_addr = addr + pagesize;
95445
95446 /* make page populate */
95447 memset(mmap_addr, 0, pagesize*6);
95448 }
95449
95450 void fin(void)
95451 {
95452 void* addr = mmap_addr - pagesize;
95453 munmap(addr, pagesize*8);
95454
95455 memset(buf, 0, sizeof(buf));
95456 memset(retbuf, 0, sizeof(retbuf));
95457 }
95458
95459 void mem_bind(int index, int len)
95460 {
95461 int err;
95462
95463 err = mbind(mmap_addr+pagesize*index, pagesize*len,
95464 MPOL_BIND, nmask->maskp, nmask->size, 0);
95465 if (err)
95466 perror("mbind "), exit(err);
95467 }
95468
95469 void mem_interleave(int index, int len)
95470 {
95471 int err;
95472
95473 err = mbind(mmap_addr+pagesize*index, pagesize*len,
95474 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
95475 if (err)
95476 perror("mbind "), exit(err);
95477 }
95478
95479 void mem_unbind(int index, int len)
95480 {
95481 int err;
95482
95483 err = mbind(mmap_addr+pagesize*index, pagesize*len,
95484 MPOL_DEFAULT, NULL, 0, 0);
95485 if (err)
95486 perror("mbind "), exit(err);
95487 }
95488
95489 void Assert(char *expected, char *value, char *name, int line)
95490 {
95491 if (strcmp(expected, value) == 0) {
95492 fprintf(stderr, "%s: passed\n", name);
95493 return;
95494 }
95495 else {
95496 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
95497 name, line,
95498 expected, value);
95499 // exit(1);
95500 }
95501 }
95502
95503 /*
95504 AAAA
95505 PPPPPPNNNNNN
95506 might become
95507 PPNNNNNNNNNN
95508 case 4 below
95509 */
95510 void case4(void)
95511 {
95512 init();
95513 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
95514
95515 mem_bind(0, 4);
95516 mem_unbind(2, 2);
95517
95518 file = popen(buf, "r");
95519 fread(retbuf, sizeof(retbuf), 1, file);
95520 Assert("2,4", retbuf, "case4", __LINE__);
95521
95522 fin();
95523 }
95524
95525 /*
95526 AAAA
95527 PPPPPPNNNNNN
95528 might become
95529 PPPPPPPPPPNN
95530 case 5 below
95531 */
95532 void case5(void)
95533 {
95534 init();
95535 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
95536
95537 mem_bind(0, 2);
95538 mem_bind(2, 2);
95539
95540 file = popen(buf, "r");
95541 fread(retbuf, sizeof(retbuf), 1, file);
95542 Assert("4,2", retbuf, "case5", __LINE__);
95543
95544 fin();
95545 }
95546
95547 /*
95548 AAAA
95549 PPPPNNNNXXXX
95550 might become
95551 PPPPPPPPPPPP 6
95552 */
95553 void case6(void)
95554 {
95555 init();
95556 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
95557
95558 mem_bind(0, 2);
95559 mem_bind(4, 2);
95560 mem_bind(2, 2);
95561
95562 file = popen(buf, "r");
95563 fread(retbuf, sizeof(retbuf), 1, file);
95564 Assert("6", retbuf, "case6", __LINE__);
95565
95566 fin();
95567 }
95568
95569 /*
95570 AAAA
95571 PPPPNNNNXXXX
95572 might become
95573 PPPPPPPPXXXX 7
95574 */
95575 void case7(void)
95576 {
95577 init();
95578 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
95579
95580 mem_bind(0, 2);
95581 mem_interleave(4, 2);
95582 mem_bind(2, 2);
95583
95584 file = popen(buf, "r");
95585 fread(retbuf, sizeof(retbuf), 1, file);
95586 Assert("4,2", retbuf, "case7", __LINE__);
95587
95588 fin();
95589 }
95590
95591 /*
95592 AAAA
95593 PPPPNNNNXXXX
95594 might become
95595 PPPPNNNNNNNN 8
95596 */
95597 void case8(void)
95598 {
95599 init();
95600 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
95601
95602 mem_bind(0, 2);
95603 mem_interleave(4, 2);
95604 mem_interleave(2, 2);
95605
95606 file = popen(buf, "r");
95607 fread(retbuf, sizeof(retbuf), 1, file);
95608 Assert("2,4", retbuf, "case8", __LINE__);
95609
95610 fin();
95611 }
95612
95613 void case_n(void)
95614 {
95615 init();
95616 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
95617
95618 /* make redundunt mappings [0][1234][34][7] */
95619 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
95620 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
95621
95622 /* Expect to do nothing. */
95623 mem_unbind(2, 2);
95624
95625 file = popen(buf, "r");
95626 fread(retbuf, sizeof(retbuf), 1, file);
95627 Assert("4,2", retbuf, "case_n", __LINE__);
95628
95629 fin();
95630 }
95631
95632 int main(int argc, char** argv)
95633 {
95634 case4();
95635 case5();
95636 case6();
95637 case7();
95638 case8();
95639 case_n();
95640
95641 return 0;
95642 }
95643 =============================================================
95644
95645 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
95646 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
95647 Cc: Minchan Kim <minchan.kim@gmail.com>
95648 Cc: Caspar Zhang <caspar@casparzhang.com>
95649 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
95650 Cc: Christoph Lameter <cl@linux.com>
95651 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
95652 Cc: Mel Gorman <mel@csn.ul.ie>
95653 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
95654 Cc: <stable@vger.kernel.org> [3.1.x]
95655 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
95656 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95657
95658 commit f3a1082005781777086df235049f8c0b7efe524e
95659 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
95660 Date: Tue Dec 27 22:32:41 2011 -0500
95661
95662 packet: fix possible dev refcnt leak when bind fail
95663
95664 If bind is fail when bind is called after set PACKET_FANOUT
95665 sock option, the dev refcnt will leak.
95666
95667 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
95668 Signed-off-by: David S. Miller <davem@davemloft.net>
95669
95670 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
95671 Author: Haogang Chen <haogangchen@gmail.com>
95672 Date: Mon Dec 19 17:11:56 2011 -0800
95673
95674 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
95675
95676 There is a potential integer overflow in nilfs_ioctl_clean_segments().
95677 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
95678 call to vmalloc() will allocate a buffer smaller than expected, which
95679 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
95680 lfs_clean_segments().
95681
95682 The following check does not prevent the overflow because nsegs is also
95683 controlled by the userspace and could be very large.
95684
95685 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
95686 goto out_free;
95687
95688 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
95689 returns -EINVAL when overflow.
95690
95691 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
95692 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
95693 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
95694 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95695
95696 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
95697 Author: Kautuk Consul <consul.kautuk@gmail.com>
95698 Date: Mon Dec 19 17:12:04 2011 -0800
95699
95700 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
95701
95702 Static storage is not required for the struct vmap_area in
95703 __get_vm_area_node.
95704
95705 Removing "static" to store this variable on the stack instead.
95706
95707 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
95708 Acked-by: David Rientjes <rientjes@google.com>
95709 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
95710 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95711
95712 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
95713 Author: Michel Lespinasse <walken@google.com>
95714 Date: Mon Dec 19 17:12:06 2011 -0800
95715
95716 binary_sysctl(): fix memory leak
95717
95718 binary_sysctl() calls sysctl_getname() which allocates from names_cache
95719 slab usin __getname()
95720
95721 The matching function to free the name is __putname(), and not putname()
95722 which should be used only to match getname() allocations.
95723
95724 This is because when auditing is enabled, putname() calls audit_putname
95725 *instead* (not in addition) to __putname(). Then, if a syscall is in
95726 progress, audit_putname does not release the name - instead, it expects
95727 the name to get released when the syscall completes, but that will happen
95728 only if audit_getname() was called previously, i.e. if the name was
95729 allocated with getname() rather than the naked __getname(). So,
95730 __getname() followed by putname() ends up leaking memory.
95731
95732 Signed-off-by: Michel Lespinasse <walken@google.com>
95733 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
95734 Cc: Christoph Hellwig <hch@infradead.org>
95735 Cc: Eric Paris <eparis@redhat.com>
95736 Cc: <stable@vger.kernel.org>
95737 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
95738 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
95739
95740 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
95741 Author: Sean Hefty <sean.hefty@intel.com>
95742 Date: Tue Dec 6 21:17:11 2011 +0000
95743
95744 RDMA/cma: Verify private data length
95745
95746 private_data_len is defined as a u8. If the user specifies a large
95747 private_data size (> 220 bytes), we will calculate a total length that
95748 exceeds 255, resulting in private_data_len wrapping back to 0. This
95749 can lead to overwriting random kernel memory. Avoid this by verifying
95750 that the resulting size fits into a u8.
95751
95752 Reported-by: B. Thery <benjamin.thery@bull.net>
95753 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
95754 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
95755 Signed-off-by: Roland Dreier <roland@purestorage.com>
95756
95757 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
95758 Author: Xi Wang <xi.wang@gmail.com>
95759 Date: Sun Dec 11 23:40:56 2011 -0800
95760
95761 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
95762
95763 The error check (intr_status < 0) didn't work because intr_status is
95764 a u8. Change its type to signed int.
95765
95766 Signed-off-by: Xi Wang <xi.wang@gmail.com>
95767 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
95768
95769 commit e27f34e383d7863b2528a63b81b23db09781f6b6
95770 Author: Xi Wang <xi.wang@gmail.com>
95771 Date: Fri Dec 16 12:44:15 2011 +0000
95772
95773 sctp: fix incorrect overflow check on autoclose
95774
95775 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
95776 limiting the autoclose value. If userspace passes in -1 on 32-bit
95777 platform, the overflow check didn't work and autoclose would be set
95778 to 0xffffffff.
95779
95780 This patch defines a max_autoclose (in seconds) for limiting the value
95781 and exposes it through sysctl, with the following intentions.
95782
95783 1) Avoid overflowing autoclose * HZ.
95784
95785 2) Keep the default autoclose bound consistent across 32- and 64-bit
95786 platforms (INT_MAX / HZ in this patch).
95787
95788 3) Keep the autoclose value consistent between setsockopt() and
95789 getsockopt() calls.
95790
95791 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
95792 Signed-off-by: Xi Wang <xi.wang@gmail.com>
95793 Signed-off-by: David S. Miller <davem@davemloft.net>
95794
95795 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
95796 Author: Xi Wang <xi.wang@gmail.com>
95797 Date: Wed Dec 21 05:18:33 2011 -0500
95798
95799 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
95800
95801 Commit e133e737 didn't correctly fix the integer overflow issue.
95802
95803 - unsigned int required_size;
95804 + u64 required_size;
95805 ...
95806 required_size = mode_cmd->pitch * mode_cmd->height;
95807 - if (unlikely(required_size > dev_priv->vram_size)) {
95808 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
95809
95810 Note that both pitch and height are u32. Their product is still u32 and
95811 would overflow before being assigned to required_size. A correct way is
95812 to convert pitch and height to u64 before the multiplication.
95813
95814 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
95815
95816 This patch calls the existing vmw_kms_validate_mode_vram() for
95817 validation.
95818
95819 Signed-off-by: Xi Wang <xi.wang@gmail.com>
95820 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
95821 Signed-off-by: Dave Airlie <airlied@redhat.com>
95822
95823 Conflicts:
95824
95825 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
95826
95827 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
95828 Author: Xi Wang <xi.wang@gmail.com>
95829 Date: Thu Dec 22 13:35:22 2011 +0000
95830
95831 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
95832
95833 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
95834 cause a kernel oops due to insufficient bounds checking.
95835
95836 if (count > 1<<30) {
95837 /* Enforce a limit to prevent overflow */
95838 return -EINVAL;
95839 }
95840 count = roundup_pow_of_two(count);
95841 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
95842
95843 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
95844
95845 ... + (count * sizeof(struct rps_dev_flow))
95846
95847 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
95848 32 bits.
95849
95850 This patch replaces the magic number (1 << 30) with a symbolic bound.
95851
95852 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
95853 Signed-off-by: Xi Wang <xi.wang@gmail.com>
95854 Signed-off-by: David S. Miller <davem@davemloft.net>
95855
95856 commit 648188958672024b616c42c1f6c98c8cfc85619d
95857 Author: Xi Wang <xi.wang@gmail.com>
95858 Date: Fri Dec 30 10:40:17 2011 -0500
95859
95860 netfilter: ctnetlink: fix timeout calculation
95861
95862 The sanity check (timeout < 0) never works; the dividend is unsigned
95863 and so is the division, which should have been a signed division.
95864
95865 long timeout = (ct->timeout.expires - jiffies) / HZ;
95866 if (timeout < 0)
95867 timeout = 0;
95868
95869 This patch converts the time values to signed for the division.
95870
95871 Signed-off-by: Xi Wang <xi.wang@gmail.com>
95872 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
95873
95874 commit ab03a0973cee73f88655ff4981812ad316a6cd59
95875 Merge: 76f82df 7bdddeb
95876 Author: Brad Spengler <spender@grsecurity.net>
95877 Date: Tue Jan 3 17:42:50 2012 -0500
95878
95879 Merge branch 'pax-test' into grsec-test
95880
95881 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
95882 Merge: 3e59cb5 55cc81a
95883 Author: Brad Spengler <spender@grsecurity.net>
95884 Date: Tue Jan 3 17:42:36 2012 -0500
95885
95886 Merge branch 'linux-3.1.y' into pax-test
95887
95888 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
95889 Author: Brad Spengler <spender@grsecurity.net>
95890 Date: Thu Dec 22 20:15:02 2011 -0500
95891
95892 Only further restrict futex targeting another process -- our modified
95893 permission check also happened to allow a case where a process retaining
95894 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
95895 being non-zero (reported on forums by ben_w)
95896
95897 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
95898 Merge: 97c16f0 3e59cb5
95899 Author: Brad Spengler <spender@grsecurity.net>
95900 Date: Thu Dec 22 19:11:06 2011 -0500
95901
95902 Merge branch 'pax-test' into grsec-test
95903
95904 Conflicts:
95905 fs/hfs/btree.c
95906
95907 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
95908 Merge: 285eb4e c26f60b
95909 Author: Brad Spengler <spender@grsecurity.net>
95910 Date: Thu Dec 22 19:09:57 2011 -0500
95911
95912 Merge branch 'linux-3.1.y' into pax-test
95913
95914 Conflicts:
95915 arch/x86/kernel/process.c
95916
95917 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
95918 Author: Brad Spengler <spender@grsecurity.net>
95919 Date: Mon Dec 19 21:54:01 2011 -0500
95920
95921 Add new option: "Enforce consistent multithreaded privileges"
95922
95923 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
95924 Author: Brad Spengler <spender@grsecurity.net>
95925 Date: Wed Dec 7 19:58:31 2011 -0500
95926
95927 Remove harmless duplicate code -- exec_file would be null already so the
95928 second check would never pass.
95929
95930 commit 4e3304e94aa72737810bc50169519af157dce4ce
95931 Author: Brad Spengler <spender@grsecurity.net>
95932 Date: Wed Dec 7 19:50:39 2011 -0500
95933
95934 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
95935 depended on for attaching to a thread. Entries exist in /proc for
95936 threads, but are not visible in a readdir.
95937
95938 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
95939 Author: Brad Spengler <spender@grsecurity.net>
95940 Date: Sun Dec 4 18:03:28 2011 -0500
95941
95942 Put the already-walked path if in RCU-walk mode
95943
95944 commit ec7ae36b7159f10649709779443a988662965d66
95945 Author: Brad Spengler <spender@grsecurity.net>
95946 Date: Sun Dec 4 17:35:21 2011 -0500
95947
95948 Fix memory leak introduced by recent (unpublished) commit
95949 75ab998b94a29d464518d6d501bdde3fbfcbfa14
95950
95951 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
95952 Author: Brad Spengler <spender@grsecurity.net>
95953 Date: Sun Dec 4 13:56:10 2011 -0500
95954
95955 Explicitly check size copied to userland in override_release to silence gcc
95956
95957 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
95958 Author: Brad Spengler <spender@grsecurity.net>
95959 Date: Sun Dec 4 13:54:02 2011 -0500
95960
95961 Initialize variable to silence erroneous gcc warning
95962
95963 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
95964 Author: Brad Spengler <spender@grsecurity.net>
95965 Date: Sun Dec 4 13:47:47 2011 -0500
95966
95967 Future-proof other potential RCU-aware locations where we can log.
95968
95969 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
95970 Author: Brad Spengler <spender@grsecurity.net>
95971 Date: Sun Dec 4 13:02:54 2011 -0500
95972
95973 Fix freeze reported by 'vs' on the forums. Bug occurred due to
95974 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
95975 in generic_permission() was in the task's effective set but disallowed by
95976 RBAC, would block when acquiring locks resulting in the freeze.
95977
95978 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
95979 as being required when CAP_DAC_OVERRIDE is present (consistent with
95980 older patches).
95981
95982 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
95983 Author: Xi Wang <xi.wang@gmail.com>
95984 Date: Tue Nov 29 09:26:30 2011 +0000
95985
95986 sctp: better integer overflow check in sctp_auth_create_key()
95987
95988 The check from commit 30c2235c is incomplete and cannot prevent
95989 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
95990 left-hand side of the check (INT_MAX - key_len), which is unsigned,
95991 becomes 0xffffffff (UINT_MAX) and bypasses the check.
95992
95993 However this shouldn't be a security issue. The function is called
95994 from the following two code paths:
95995
95996 1) setsockopt()
95997
95998 2) sctp_auth_asoc_set_secret()
95999
96000 In case (1), sca_keylength is never going to exceed 65535 since it's
96001 bounded by a u16 from the user API. As such, the key length will
96002 never overflow.
96003
96004 In case (2), sca_keylength is computed based on the user key (1 short)
96005 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
96006 will not overflow.
96007
96008 In other words, this overflow check is not really necessary. Just
96009 make it more correct.
96010
96011 Signed-off-by: Xi Wang <xi.wang@gmail.com>
96012 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
96013 Signed-off-by: David S. Miller <davem@davemloft.net>
96014
96015 commit e565e28c3635a1d50f80541fbf6b606d742fec76
96016 Author: Josh Boyer <jwboyer@redhat.com>
96017 Date: Fri Aug 19 14:50:26 2011 -0400
96018
96019 fs/minix: Verify bitmap block counts before mounting
96020
96021 Newer versions of MINIX can create filesystems that allocate an extra
96022 bitmap block. Mounting of this succeeds, but doing a statfs call will
96023 result in an oops in count_free because of a negative number being used
96024 for the bh index.
96025
96026 Avoid this by verifying the number of allocated blocks at mount time,
96027 erroring out if there are not enough and make statfs ignore the extras
96028 if there are too many.
96029
96030 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
96031
96032 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
96033 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
96034
96035 commit 6e134e398ec1a3f428261680e83df4319e64bed9
96036 Author: Julia Lawall <julia@diku.dk>
96037 Date: Tue Nov 15 14:53:11 2011 -0800
96038
96039 drivers/gpu/vga/vgaarb.c: add missing kfree
96040
96041 kbuf is a buffer that is local to this function, so all of the error paths
96042 leaving the function should release it.
96043
96044 Signed-off-by: Julia Lawall <julia@diku.dk>
96045 Cc: Jesper Juhl <jj@chaosbits.net>
96046 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
96047 Signed-off-by: Dave Airlie <airlied@redhat.com>
96048
96049 commit 2b9057b321e36860e8d63985b5c4e496f254b717
96050 Author: Brad Spengler <spender@grsecurity.net>
96051 Date: Sat Dec 3 21:33:28 2011 -0500
96052
96053 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
96054
96055 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
96056 Author: Brad Spengler <spender@grsecurity.net>
96057 Date: Sat Dec 3 21:29:37 2011 -0500
96058
96059 Import pax-linux-3.1.4-test18.patch
96060
96061 commit 285eb4ea45d853ae00426b3315a61c1368080dad
96062 Author: Brad Spengler <spender@grsecurity.net>
96063 Date: Sat Dec 10 18:33:46 2011 -0500
96064
96065 Import changes from pax-linux-3.1.5-test20.patch
96066
96067 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
96068 Author: Brad Spengler <spender@grsecurity.net>
96069 Date: Thu Dec 8 20:55:54 2011 -0500
96070
96071 Import changes from pax-linux-3.1.4-test19.patch
96072
96073 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
96074 Author: Brad Spengler <spender@grsecurity.net>
96075 Date: Sat Dec 3 21:29:37 2011 -0500
96076
96077 Import pax-linux-3.1.4-test18.patch
96078 commit 4c61dba17c53d0a775c77aed0c0ddb15a12daa3c
96079 Merge: c3ccfb2 777e08c
96080 Author: Brad Spengler <spender@grsecurity.net>
96081 Date: Sun Sep 8 19:49:04 2013 -0400
96082
96083 Merge branch 'pax-test' into grsec-test
96084
96085 commit 777e08c6a87ef43439f4431d8d458732ca5e17c6
96086 Author: Brad Spengler <spender@grsecurity.net>
96087 Date: Sun Sep 8 19:47:32 2013 -0400
96088
96089 Update to pax-linux-3.10.11-test26.patch:
96090 - reworked __SC_LONG to care about only int and smaller types, this eliminates size overflow false positives reported by hunger
96091 - fixed an uninitialized read in splice, reported by hunger
96092
96093 fs/splice.c | 1 +
96094 include/linux/syscalls.h | 14 +-
96095 tools/gcc/size_overflow_hash.data | 426 +++++++++++++++++++++----------------
96096 3 files changed, 247 insertions(+), 194 deletions(-)
96097
96098 commit 5c3161364270c842d901789faac731f79a9f9cd6
96099 Merge: cf9c476 85cdabb
96100 Author: Brad Spengler <spender@grsecurity.net>
96101 Date: Sun Sep 8 19:24:25 2013 -0400
96102
96103 Merge branch 'linux-3.10.y' into pax-test
96104
96105 commit c3ccfb29794a03413095422100ce90d40ef7df0f
96106 Author: Jakob Bornecrantz <jakob@vmware.com>
96107 Date: Thu Aug 29 02:32:53 2013 +0200
96108
96109 Upstream commit: 6e4dcff3adbf25acb87e74500a58e3c07bdec40f
96110
96111 drm/vmwgfx: Split GMR2_REMAP commands if they are to large
96112
96113 This fixes the piglit test texturing/max-texture-size
96114 causing the VM to die due to a too large SVGA command.
96115
96116 Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
96117 Reviewed-by: Biran Paul <brianp@vmware.com>
96118 Reviewed-by: Zack Rusin <zackr@vmware.com>
96119 Cc: stable@vger.kernel.org
96120 Signed-off-by: Dave Airlie <airlied@gmail.com>
96121
96122 drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c | 58 +++++++++++++++++++++++-----------
96123 1 files changed, 39 insertions(+), 19 deletions(-)
96124
96125 commit d260badf708d6aa16c44f56f54727532dcae826e
96126 Author: Daniel Borkmann <dborkman@redhat.com>
96127 Date: Tue Sep 3 19:29:12 2013 +0200
96128
96129 Upstream commit: 3a1c756590633c0e86df606e5c618c190926a0df
96130
96131 net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv
96132
96133 In tcp_v6_do_rcv() code, when processing pkt options, we soley work
96134 on our skb clone opt_skb that we've created earlier before entering
96135 tcp_rcv_established() on our way. However, only in condition ...
96136
96137 if (np->rxopt.bits.rxtclass)
96138 np->rcv_tclass = ipv6_get_dsfield(ipv6_hdr(skb));
96139
96140 ... we work on skb itself. As we extract every other information out
96141 of opt_skb in ipv6_pktoptions path, this seems wrong, since skb can
96142 already be released by tcp_rcv_established() earlier on. When we try
96143 to access it in ipv6_hdr(), we will dereference freed skb.
96144
96145 [ Bug added by commit 4c507d2897bd9b ("net: implement IP_RECVTOS for
96146 IP_PKTOPTIONS") ]
96147
96148 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
96149 Cc: Eric Dumazet <eric.dumazet@gmail.com>
96150 Acked-by: Eric Dumazet <edumazet@google.com>
96151 Acked-by: Jiri Benc <jbenc@redhat.com>
96152 Signed-off-by: David S. Miller <davem@davemloft.net>
96153
96154 net/ipv6/tcp_ipv6.c | 2 +-
96155 1 files changed, 1 insertions(+), 1 deletions(-)
96156
96157 commit ee3db7a4fb3619d70b8e0c1a8de07402a67e8d31
96158 Author: Dan Carpenter <dan.carpenter@oracle.com>
96159 Date: Thu Aug 29 11:47:00 2013 +0300
96160
96161 Upstream commit: 0d63c27d9e879a0b54eb405636d60ab12040ca46
96162
96163 mISDN: return -EINVAL on error in dsp_control_req()
96164
96165 If skb->len is too short then we should return an error. Otherwise we
96166 read beyond the end of skb->data for several bytes.
96167
96168 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
96169 Signed-off-by: David S. Miller <davem@davemloft.net>
96170
96171 drivers/isdn/mISDN/dsp_core.c | 4 +++-
96172 1 files changed, 3 insertions(+), 1 deletions(-)
96173
96174 commit af7c2bc789c8fe5ef7474f22dacf212be22fd0af
96175 Author: Brad Spengler <spender@grsecurity.net>
96176 Date: Thu Sep 5 19:36:23 2013 -0400
96177
96178 fix dependencies for GRKERNSEC_ROFS / GRKERNSEC_DENYUSB
96179
96180 grsecurity/Kconfig | 3 ++-
96181 1 files changed, 2 insertions(+), 1 deletions(-)
96182
96183 commit da68dbcd96c617923a0aedb177d36b2701f9c858
96184 Author: Brad Spengler <spender@grsecurity.net>
96185 Date: Thu Sep 5 19:17:02 2013 -0400
96186
96187 Allow the deny_new_usb sysctl to be toggled off by a user with
96188 CAP_SYS_ADMIN. This allows for more inventive uses of the feature
96189 that would be impossible otherwise (like toggling it while the screen is
96190 locked, etc)
96191
96192 grsecurity/grsec_sysctl.c | 4 +---
96193 1 files changed, 1 insertions(+), 3 deletions(-)
96194
96195 commit ce0e893adc830ee110f97071cc17e661fb35ae3d
96196 Author: Brad Spengler <spender@grsecurity.net>
96197 Date: Thu Sep 5 18:41:49 2013 -0400
96198
96199 Add a new GRKERNSEC_DENYUSB_FORCE option that achieves what
96200 GRKERNSEC_DENYUSB does without the need for a sysctl toggle, for
96201 users who know they want the functionality but don't want to bother
96202 with modifying init scripts
96203
96204 Also eliminate reset_security_ops() as a ROP target when
96205 SECURITY_SELINUX_DISABLE is disabled as it's the only user
96206
96207 grsecurity/Kconfig | 17 ++++++++++++++++-
96208 grsecurity/grsec_init.c | 3 +++
96209 grsecurity/grsec_sysctl.c | 2 +-
96210 security/security.c | 4 ++++
96211 4 files changed, 24 insertions(+), 2 deletions(-)
96212
96213 commit 0d5ca3a057ae48b5fdccb2f0a7a841a5cc76d3dd
96214 Merge: 7ee3899 cf9c476
96215 Author: Brad Spengler <spender@grsecurity.net>
96216 Date: Sun Sep 1 13:56:57 2013 -0400
96217
96218 Merge branch 'pax-test' into grsec-test
96219
96220 commit cf9c47690fa0f3da590de766ea8c6a543984ee3c
96221 Author: Brad Spengler <spender@grsecurity.net>
96222 Date: Sun Sep 1 13:56:16 2013 -0400
96223
96224 Update to pax-linux-3.10.10-test25.patch:
96225 - fixed a few more REFCOUNT false positives, by Mathias Krause <minipli@googlemail.com>
96226 - got inet_getid and ipv6_select_ident rid of the cmpxchg loop
96227
96228 block/blk-cgroup.c | 4 ++--
96229 drivers/video/hyperv_fb.c | 4 ++--
96230 fs/namespace.c | 4 ++--
96231 include/net/inetpeer.h | 13 +++++--------
96232 kernel/trace/trace_clock.c | 4 ++--
96233 net/ipv6/output_core.c | 15 ++++++---------
96234 net/sunrpc/auth_gss/svcauth_gss.c | 4 ++--
96235 7 files changed, 21 insertions(+), 27 deletions(-)
96236
96237 commit 7ee3899312d611b85cadd3eda173f7a3952bb8aa
96238 Merge: fd0338c 2bdeae7
96239 Author: Brad Spengler <spender@grsecurity.net>
96240 Date: Sat Aug 31 22:07:38 2013 -0400
96241
96242 Merge branch 'pax-test' into grsec-test
96243
96244 commit 2bdeae76eab5c34e4b88c7090a435b969037a3c1
96245 Author: Brad Spengler <spender@grsecurity.net>
96246 Date: Sat Aug 31 22:06:55 2013 -0400
96247
96248 Update to pax-linux-3.10.10-test24.patch:
96249 - fixed a REFCOUNT false positive, by Mathias Krause <minipli@googlemail.com>
96250 - fixed a bunch more after a quick audit of atomic_inc_return users
96251
96252 drivers/acpi/apei/ghes.c | 4 ++--
96253 drivers/ata/libata-core.c | 4 ++--
96254 drivers/ata/libata-scsi.c | 2 +-
96255 drivers/ata/libata.h | 2 +-
96256 drivers/block/drbd/drbd_nl.c | 4 ++--
96257 drivers/crypto/hifn_795x.c | 4 ++--
96258 drivers/edac/edac_device.c | 4 ++--
96259 drivers/edac/edac_pci.c | 4 ++--
96260 drivers/firewire/core-card.c | 4 ++--
96261 drivers/hv/hv_balloon.c | 18 +++++++++---------
96262 drivers/infiniband/hw/mlx4/mad.c | 2 +-
96263 drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
96264 drivers/input/misc/ims-pcu.c | 4 ++--
96265 drivers/input/serio/serio_raw.c | 4 ++--
96266 drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
96267 drivers/media/radio/radio-maxiradio.c | 2 +-
96268 drivers/media/radio/radio-shark.c | 2 +-
96269 drivers/media/radio/radio-shark2.c | 2 +-
96270 drivers/media/radio/radio-si476x.c | 2 +-
96271 drivers/media/rc/rc-main.c | 4 ++--
96272 drivers/media/v4l2-core/v4l2-device.c | 4 ++--
96273 drivers/net/usb/sierra_net.c | 4 ++--
96274 drivers/pci/hotplug/pciehp_hpc.c | 4 +---
96275 drivers/regulator/core.c | 4 ++--
96276 drivers/scsi/fcoe/fcoe_sysfs.c | 12 ++++++------
96277 drivers/staging/android/timed_output.c | 6 +++---
96278 drivers/staging/media/solo6x10/solo6x10-p2m.c | 2 +-
96279 drivers/staging/media/solo6x10/solo6x10.h | 2 +-
96280 drivers/target/sbp/sbp_target.c | 4 ++--
96281 drivers/tty/hvc/hvsi.c | 12 ++++++------
96282 drivers/tty/hvc/hvsi_lib.c | 6 +++---
96283 drivers/tty/serial/ioc4_serial.c | 6 +++---
96284 drivers/tty/serial/msm_serial.c | 4 ++--
96285 drivers/usb/misc/appledisplay.c | 4 ++--
96286 fs/afs/inode.c | 4 ++--
96287 fs/btrfs/delayed-inode.c | 6 +++---
96288 fs/btrfs/delayed-inode.h | 4 ++--
96289 fs/fscache/cookie.c | 4 ++--
96290 include/media/v4l2-device.h | 2 +-
96291 net/ceph/messenger.c | 4 ++--
96292 net/core/netpoll.c | 4 ++--
96293 net/xfrm/xfrm_state.c | 4 ++--
96294 security/selinux/avc.c | 6 +++---
96295 43 files changed, 93 insertions(+), 95 deletions(-)
96296
96297 commit fd0338c8877c47789a9cc61f3a26c83e68aa3d37
96298 Merge: 1bdf7ec 85099d2
96299 Author: Brad Spengler <spender@grsecurity.net>
96300 Date: Sat Aug 31 21:07:29 2013 -0400
96301
96302 Merge branch 'pax-test' into grsec-test
96303
96304 commit 85099d220fb014b6e4c6ffe18a55b20c61f6daed
96305 Author: Brad Spengler <spender@grsecurity.net>
96306 Date: Sat Aug 31 21:06:55 2013 -0400
96307
96308 Update to pax-linux-3.10.10-test23.patch:
96309 - added the necessary atomic_unchecked_t conversion for mips
96310 - audited and fixed arm and sparc for proper atomic_unchecked_t usage
96311
96312 arch/arm/kvm/arm.c | 8 ++++----
96313 arch/arm/mm/context.c | 10 +++++-----
96314 arch/mips/kernel/irq.c | 6 +++---
96315 arch/mips/kernel/sync-r4k.c | 24 ++++++++++++------------
96316 arch/mips/sgi-ip27/ip27-nmi.c | 6 +++---
96317 arch/sparc/kernel/smp_64.c | 12 ++++++------
96318 arch/sparc/kernel/traps_64.c | 14 +++++++-------
96319 arch/sparc/mm/init_64.c | 10 +++++-----
96320 8 files changed, 45 insertions(+), 45 deletions(-)
96321
96322 commit 1bdf7ec39027ffd7c3099b78ff20c39295448b34
96323 Merge: 995a168 38ee86c
96324 Author: Brad Spengler <spender@grsecurity.net>
96325 Date: Fri Aug 30 19:23:36 2013 -0400
96326
96327 Merge branch 'pax-test' into grsec-test
96328
96329 commit 38ee86c05df0f8db582df8776b9f23f317d42bbb
96330 Author: Brad Spengler <spender@grsecurity.net>
96331 Date: Fri Aug 30 19:23:11 2013 -0400
96332
96333 Update to pax-linux-3.10.10-test22.patch:
96334 - fixed !REFCOUNT/mips compilation, by Corey Minyard <cminyard@mvista.com>
96335 - fixed a few more format strings
96336
96337 arch/mips/include/asm/atomic.h | 20 ++++++++++++++++----
96338 drivers/md/bcache/super.c | 2 +-
96339 drivers/net/wireless/iwlwifi/dvm/main.c | 3 +--
96340 drivers/pci/hotplug/pciehp_hpc.c | 2 +-
96341 drivers/platform/x86/wmi.c | 2 +-
96342 drivers/scsi/sd.c | 2 +-
96343 drivers/vfio/vfio.c | 4 ++--
96344 fs/ntfs/super.c | 6 +++---
96345 include/linux/workqueue.h | 6 +++---
96346 net/mac80211/main.c | 2 +-
96347 sound/pci/hda/hda_codec.c | 8 ++------
96348 11 files changed, 32 insertions(+), 25 deletions(-)
96349
96350 commit 995a16841e2097c3a9dfc652e856469679c4a0ba
96351 Author: Brad Spengler <spender@grsecurity.net>
96352 Date: Fri Aug 30 17:11:11 2013 -0400
96353
96354 fix compilation with GRKERNSEC_DENYUSB as reported by slashbeast
96355
96356 grsecurity/grsec_sysctl.c | 7 ++++---
96357 1 files changed, 4 insertions(+), 3 deletions(-)
96358
96359 commit 8ba1cc35ec5216383369ddf3ef2cde5e4aaacb57
96360 Merge: be2497c 1052971
96361 Author: Brad Spengler <spender@grsecurity.net>
96362 Date: Thu Aug 29 20:44:29 2013 -0400
96363
96364 Merge branch 'pax-test' into grsec-test
96365
96366 Conflicts:
96367 include/linux/sched.h
96368
96369 commit 10529710192fe7f7d42ad7bb1dfef2143cca8ad2
96370 Merge: e902dad 8bf3379
96371 Author: Brad Spengler <spender@grsecurity.net>
96372 Date: Thu Aug 29 20:39:50 2013 -0400
96373
96374 Update to pax-linux-3.10.10-test21.patch
96375
96376 Merge branch 'linux-3.10.y' into pax-test
96377
96378 Conflicts:
96379 arch/x86/kernel/sys_x86_64.c
96380 arch/x86/mm/mmap.c
96381 include/linux/sched.h
96382
96383 commit be2497c1b629a5ad604a8b0ec265ef5d801c7de8
96384 Merge: 081c22b e902dad
96385 Author: Brad Spengler <spender@grsecurity.net>
96386 Date: Wed Aug 28 20:52:44 2013 -0400
96387
96388 Merge branch 'pax-test' into grsec-test
96389
96390 commit e902dad6b609a176f58c1b9393b3a98f14bd4b74
96391 Author: Brad Spengler <spender@grsecurity.net>
96392 Date: Wed Aug 28 20:51:21 2013 -0400
96393
96394 Update to pax-linux-3.10.9-test21.patch:
96395 - removed unnecessary type cast in do_PrefetchAbort, noticed by spender
96396 - since pax_report_refcount_overflow disables preemption inside, no need to do it explicitly in do_ov
96397 - fixed a REFCOUNT false positive in UHID
96398 - inspired by Dan Carpenter's recent fix (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=909bd5926d474e275599094acad986af79671ac9)
96399 Emese Revfy wrote a gcc plugin to find other instances of the same error, here's the fallout
96400 (come to the 10th H2HC if you want to learn about the magic behind this and other plugins):
96401 - icmpv6_filter: no memory corruption, probably just some logical error in the caller
96402 - dccp_new/dccp_packet/dccp_error: probably remote kernel stack overflow (12 byte network data overwriting a local ptr variable)
96403 - gigaset_brkchars: causes DMA on the kernel stack, some archs don't like it (more of this is to come)
96404 - isdn_ioctl/IIOCDBGVAR: kernel heap address leak (by design), restricted to CAP_SYS_RAWIO now
96405 - __dwc3_gadget_ep_enable: probably forgotten memset, seems harmless
96406 - lowpan_header_create: leaks 3 bytes of a kernel heap address over the network
96407
96408 arch/arm/mm/fault.c | 2 +-
96409 arch/mips/kernel/traps.c | 2 --
96410 drivers/hid/uhid.c | 6 +++---
96411 drivers/isdn/gigaset/usb-gigaset.c | 2 +-
96412 drivers/isdn/i4l/isdn_common.c | 2 ++
96413 drivers/net/wireless/hostap/hostap_ioctl.c | 4 ++--
96414 drivers/usb/dwc3/gadget.c | 2 --
96415 net/ieee802154/6lowpan.c | 2 +-
96416 net/ipv6/raw.c | 2 +-
96417 net/netfilter/nf_conntrack_proto_dccp.c | 6 +++---
96418 10 files changed, 14 insertions(+), 16 deletions(-)
96419
96420 commit 081c22b436d4d4ac8c9ef7c3f3b9587cfb02d804
96421 Author: Brad Spengler <spender@grsecurity.net>
96422 Date: Wed Aug 28 20:42:39 2013 -0400
96423
96424 add export of gr_handle_new_usb()
96425
96426 grsecurity/grsec_usb.c | 2 ++
96427 1 files changed, 2 insertions(+), 0 deletions(-)
96428
96429 commit 2e708ca9984ef74536d1d9b1d4e6e73d27561ed6
96430 Author: Brad Spengler <spender@grsecurity.net>
96431 Date: Wed Aug 28 19:24:47 2013 -0400
96432
96433 Add new GRKERNSEC_DENYUSB feature that I've been sitting on for a bit
96434 Kees' recent findings are motivation enough to publish it
96435
96436 drivers/usb/core/hub.c | 5 +++++
96437 grsecurity/Kconfig | 20 ++++++++++++++++++++
96438 grsecurity/Makefile | 3 ++-
96439 grsecurity/grsec_init.c | 1 +
96440 grsecurity/grsec_sysctl.c | 11 +++++++++++
96441 grsecurity/grsec_usb.c | 13 +++++++++++++
96442 include/linux/grinternal.h | 1 +
96443 include/linux/grsecurity.h | 2 ++
96444 8 files changed, 55 insertions(+), 1 deletions(-)
96445
96446 commit 8044382257ec75a03f3d784ce048ef14e94b90ca
96447 Author: Kees Cook <keescook@chromium.org>
96448 Date: Wed Aug 14 09:35:07 2013 -0700
96449
96450 HID: zeroplus: validate output report details
96451
96452 The zeroplus HID driver was not checking the size of allocated values
96453 in fields it used. A HID device could send a malicious output report
96454 that would cause the driver to write beyond the output report allocation
96455 during initialization, causing a heap overflow:
96456
96457 [ 1442.728680] usb 1-1: New USB device found, idVendor=0c12, idProduct=0005
96458 ...
96459 [ 1466.243173] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
96460
96461 CVE-2013-2889
96462
96463 Signed-off-by: Kees Cook <keescook@chromium.org>
96464 Cc: stable@kernel.org
96465
96466 drivers/hid/hid-zpff.c | 14 ++------------
96467 1 files changed, 2 insertions(+), 12 deletions(-)
96468
96469 commit 1ead832874dde8c45c3d4c8c704f2cd7ad6a328f
96470 Author: Kees Cook <keescook@chromium.org>
96471 Date: Wed Aug 14 14:36:15 2013 -0700
96472
96473 HID: provide a helper for validating hid reports
96474
96475 Many drivers need to validate the characteristics of their HID report
96476 during initialization to avoid misusing the reports. This adds a common
96477 helper to perform validation of the report, its field count, and the
96478 value count within the fields.
96479
96480 Signed-off-by: Kees Cook <keescook@chromium.org>
96481 Cc: stable@kernel.org
96482
96483 drivers/hid/hid-core.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
96484 include/linux/hid.h | 4 +++
96485 2 files changed, 54 insertions(+), 0 deletions(-)
96486
96487 commit 270ba9096ddecdc3cf6c4d76e6892184820116be
96488 Author: Kees Cook <keescook@chromium.org>
96489 Date: Wed Aug 14 09:14:34 2013 -0700
96490
96491 HID: steelseries: validate output report details
96492
96493 A HID device could send a malicious output report that would cause the
96494 steelseries HID driver to write beyond the output report allocation
96495 during initialization, causing a heap overflow:
96496
96497 [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410
96498 ...
96499 [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten
96500
96501 CVE-2013-2891
96502
96503 Signed-off-by: Kees Cook <keescook@chromium.org>
96504 Cc: stable@kernel.org
96505
96506 drivers/hid/hid-steelseries.c | 5 +++++
96507 1 files changed, 5 insertions(+), 0 deletions(-)
96508
96509 commit 366e6cf394366e4bb2598e5d3763c6ca53fb7248
96510 Author: Kees Cook <keescook@chromium.org>
96511 Date: Wed Aug 14 08:49:21 2013 -0700
96512
96513 HID: pantherlord: validate output report details
96514
96515 A HID device could send a malicious output report that would cause the
96516 pantherlord HID driver to write beyond the output report allocation
96517 during initialization, causing a heap overflow:
96518
96519 [ 310.939483] usb 1-1: New USB device found, idVendor=0e8f, idProduct=0003
96520 ...
96521 [ 315.980774] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
96522
96523 CVE-2013-2892
96524
96525 Signed-off-by: Kees Cook <keescook@chromium.org>
96526 Cc: stable@kernel.org
96527
96528 drivers/hid/hid-pl.c | 10 ++++++++--
96529 1 files changed, 8 insertions(+), 2 deletions(-)
96530
96531 commit 60115e8108e508060815bce5ef9504233c81898c
96532 Author: Kees Cook <keescook@chromium.org>
96533 Date: Tue Aug 13 16:49:01 2013 -0700
96534
96535 HID: LG: validate HID output report details
96536
96537 A HID device could send a malicious output report that would cause the
96538 lg, lg3, and lg4 HID drivers to write beyond the output report allocation
96539 during an event, causing a heap overflow:
96540
96541 [ 325.245240] usb 1-1: New USB device found, idVendor=046d, idProduct=c287
96542 ...
96543 [ 414.518960] BUG kmalloc-4096 (Not tainted): Redzone overwritten
96544
96545 Additionally, while lg2 did correctly validate the report details, it was
96546 cleaned up and shortened.
96547
96548 CVE-2013-2893
96549
96550 Signed-off-by: Kees Cook <keescook@chromium.org>
96551 Cc: stable@kernel.org
96552
96553 drivers/hid/hid-lg2ff.c | 19 +++----------------
96554 drivers/hid/hid-lg3ff.c | 29 ++++++-----------------------
96555 drivers/hid/hid-lg4ff.c | 20 +-------------------
96556 drivers/hid/hid-lgff.c | 17 ++---------------
96557 4 files changed, 12 insertions(+), 73 deletions(-)
96558
96559 commit 1814f6ffbd0d5feccce1f03e8cc17882528e8a9f
96560 Author: Kees Cook <keescook@chromium.org>
96561 Date: Thu Aug 15 23:21:23 2013 -0700
96562
96563 HID: lenovo-tpkbd: validate output report details
96564
96565 A HID device could send a malicious output report that would cause the
96566 lenovo-tpkbd HID driver to write just beyond the output report allocation
96567 during initialization, causing a heap overflow:
96568
96569 [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009
96570 ...
96571 [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
96572
96573 CVE-2013-2894
96574
96575 Signed-off-by: Kees Cook <keescook@chromium.org>
96576 Cc: stable@kernel.org
96577
96578 drivers/hid/hid-lenovo-tpkbd.c | 5 +++++
96579 1 files changed, 5 insertions(+), 0 deletions(-)
96580
96581 commit 38627769bb2b9a550e251b2caf1babda7566fb4a
96582 Author: Kees Cook <keescook@chromium.org>
96583 Date: Thu Aug 15 23:45:03 2013 -0700
96584
96585 HID: logitech-dj: validate output report details
96586
96587 A HID device could send a malicious output report that would cause the
96588 logitech-dj HID driver to leak kernel memory contents to the device, or
96589 trigger a NULL dereference during initialization:
96590
96591 [ 304.424553] usb 1-1: New USB device found, idVendor=046d, idProduct=c52b
96592 ...
96593 [ 304.780467] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
96594 [ 304.781409] IP: [<ffffffff815d50aa>] logi_dj_recv_send_report.isra.11+0x1a/0x90
96595
96596 CVE-2013-2895
96597
96598 Signed-off-by: Kees Cook <keescook@chromium.org>
96599 Cc: stable@kernel.org
96600
96601 drivers/hid/hid-logitech-dj.c | 12 ++++++++++--
96602 1 files changed, 10 insertions(+), 2 deletions(-)
96603
96604 commit db334388c9d3f95aeb6aacdcec72169b6edd6f07
96605 Author: Kees Cook <keescook@chromium.org>
96606 Date: Fri Aug 16 00:18:15 2013 -0700
96607
96608 HID: ntrig: validate feature report details
96609
96610 A HID device could send a malicious feature report that would cause the
96611 ntrig HID driver to trigger a NULL dereference during initialization:
96612
96613 [57383.031190] usb 3-1: New USB device found, idVendor=1b96, idProduct=0001
96614 ...
96615 [57383.315193] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
96616 [57383.315308] IP: [<ffffffffa08102de>] ntrig_probe+0x25e/0x420 [hid_ntrig]
96617
96618 CVE-2013-2896
96619
96620 Signed-off-by: Kees Cook <keescook@chromium.org>
96621 Cc: stable@kernel.org
96622
96623 drivers/hid/hid-ntrig.c | 3 ++-
96624 1 files changed, 2 insertions(+), 1 deletions(-)
96625
96626 commit 86adcfe96ceefd7d64593a493abe07c155bb8f88
96627 Author: Kees Cook <keescook@chromium.org>
96628 Date: Fri Aug 16 00:11:32 2013 -0700
96629
96630 HID: multitouch: validate feature report details
96631
96632 When working on report indexes, always validate that they are in bounds.
96633 Without this, a HID device could report a malicious feature report that
96634 could trick the driver into a heap overflow:
96635
96636 [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500
96637 ...
96638 [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten
96639
96640 CVE-2013-2897
96641
96642 Signed-off-by: Kees Cook <keescook@chromium.org>
96643 Cc: stable@kernel.org
96644
96645 drivers/hid/hid-multitouch.c | 25 ++++++++++++++++++++-----
96646 1 files changed, 20 insertions(+), 5 deletions(-)
96647
96648 commit 813f51e0881e4ea6d221da828b1cced02ad9694d
96649 Author: Kees Cook <keescook@chromium.org>
96650 Date: Fri Aug 16 08:12:45 2013 -0700
96651
96652 HID: sensor-hub: validate feature report details
96653
96654 A HID device could send a malicious feature report that would cause the
96655 sensor-hub HID driver to read past the end of heap allocation, leaking
96656 kernel memory contents to the caller.
96657
96658 CVE-2013-2898
96659
96660 Signed-off-by: Kees Cook <keescook@chromium.org>
96661 Cc: stable@kernel.org
96662
96663 drivers/hid/hid-sensor-hub.c | 3 ++-
96664 1 files changed, 2 insertions(+), 1 deletions(-)
96665
96666 commit 6ed7d602e322c67adcfa3ebe79ca2c4a3376330c
96667 Author: Kees Cook <keescook@chromium.org>
96668 Date: Fri Aug 16 08:05:10 2013 -0700
96669
96670 HID: picolcd_core: validate output report details
96671
96672 A HID device could send a malicious output report that would cause the
96673 picolcd HID driver to trigger a NULL dereference during attr file writing.
96674
96675 CVE-2013-2899
96676
96677 Signed-off-by: Kees Cook <keescook@chromium.org>
96678 Cc: stable@kernel.org
96679
96680 drivers/hid/hid-picolcd_core.c | 2 +-
96681 1 files changed, 1 insertions(+), 1 deletions(-)
96682
96683 commit 95e3cfb5a995dabe45b98cafb77e59d074de151f
96684 Author: Kees Cook <keescook@chromium.org>
96685 Date: Fri Aug 16 08:09:54 2013 -0700
96686
96687 HID: check for NULL field when setting values
96688
96689 Defensively check that the field to be worked on is not NULL.
96690
96691 Signed-off-by: Kees Cook <keescook@chromium.org>
96692 Cc: stable@kernel.org
96693
96694 drivers/hid/hid-core.c | 7 ++++++-
96695 1 files changed, 6 insertions(+), 1 deletions(-)
96696
96697 commit 96a55ce1b2f3af376c400a02059174e79ce4399c
96698 Author: Brad Spengler <spender@grsecurity.net>
96699 Date: Wed Aug 28 18:09:18 2013 -0400
96700
96701 http://marc.info/?l=linux-input&m=137772180514608&q=raw
96702
96703 From: Kees Cook <keescook@chromium.org>
96704
96705 The "Report ID" field of a HID report is used to build indexes of
96706 reports. The kernel's index of these is limited to 256 entries, so any
96707 malicious device that sets a Report ID greater than 255 will trigger
96708 memory corruption on the host:
96709
96710 [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878
96711 [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b
96712
96713 CVE-2013-2888
96714
96715 Signed-off-by: Kees Cook <keescook@chromium.org>
96716 Cc: stable@kernel.org
96717 ---
96718 drivers/hid/hid-core.c | 10 +++++++---
96719 include/linux/hid.h | 4 +++-
96720 2 files changed, 10 insertions(+), 4 deletions(-)
96721
96722 drivers/hid/hid-core.c | 10 +++++++---
96723 include/linux/hid.h | 4 +++-
96724 2 files changed, 10 insertions(+), 4 deletions(-)
96725
96726 commit eb1106eef5f17bfda833ca3cf89e315919173257
96727 Author: Dan Carpenter <dan.carpenter@oracle.com>
96728 Date: Fri Aug 9 12:52:31 2013 +0300
96729
96730 Upstream commit: 909bd5926d474e275599094acad986af79671ac9
96731
96732 Hostap: copying wrong data prism2_ioctl_giwaplist()
96733
96734 We want the data stored in "addr" and "qual", but the extra ampersands
96735 mean we are copying stack data instead.
96736
96737 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
96738 Cc: stable@vger.kernel.org
96739 Signed-off-by: John W. Linville <linville@tuxdriver.com>
96740
96741 drivers/net/wireless/hostap/hostap_ioctl.c | 4 ++--
96742 1 files changed, 2 insertions(+), 2 deletions(-)
96743
96744 commit b12fdddbc01b0d855dd56fa6fea6b4100aae7af4
96745 Author: Brad Spengler <spender@grsecurity.net>
96746 Date: Wed Aug 28 17:01:21 2013 -0400
96747
96748 fix typo in ipv6 backport
96749
96750 net/ipv6/addrconf.c | 2 +-
96751 1 files changed, 1 insertions(+), 1 deletions(-)
96752
96753 commit b42367d45ce67de82c38c5c7cb6f4cf521cca2f4
96754 Author: Andy Lutomirski <luto@amacapital.net>
96755 Date: Thu Aug 22 11:39:15 2013 -0700
96756
96757 Upstream commit: d661684cf6820331feae71146c35da83d794467e
96758
96759 net: Check the correct namespace when spoofing pid over SCM_RIGHTS
96760
96761 This is a security bug.
96762
96763 The follow-up will fix nsproxy to discourage this type of issue from
96764 happening again.
96765
96766 Cc: stable@vger.kernel.org
96767 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
96768 Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
96769 Signed-off-by: David S. Miller <davem@davemloft.net>
96770
96771 net/core/scm.c | 2 +-
96772 1 files changed, 1 insertions(+), 1 deletions(-)
96773
96774 commit 10b2e7e1f75d1da2e0bbe0bff04233ea2ec1bed9
96775 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
96776 Date: Fri Aug 16 13:02:27 2013 +0200
96777
96778 Upstream commit: 4b08a8f1bd8cb4541c93ec170027b4d0782dab52
96779
96780 ipv6: remove max_addresses check from ipv6_create_tempaddr
96781
96782 Because of the max_addresses check attackers were able to disable privacy
96783 extensions on an interface by creating enough autoconfigured addresses:
96784
96785 <http://seclists.org/oss-sec/2012/q4/292>
96786
96787 But the check is not actually needed: max_addresses protects the
96788 kernel to install too many ipv6 addresses on an interface and guards
96789 addrconf_prefix_rcv to install further addresses as soon as this limit
96790 is reached. We only generate temporary addresses in direct response of
96791 a new address showing up. As soon as we filled up the maximum number of
96792 addresses of an interface, we stop installing more addresses and thus
96793 also stop generating more temp addresses.
96794
96795 Even if the attacker tries to generate a lot of temporary addresses
96796 by announcing a prefix and removing it again (lifetime == 0) we won't
96797 install more temp addresses, because the temporary addresses do count
96798 to the maximum number of addresses, thus we would stop installing new
96799 autoconfigured addresses when the limit is reached.
96800
96801 This patch fixes CVE-2013-0343 (but other layer-2 attacks are still
96802 possible).
96803
96804 Thanks to Ding Tianhong to bring this topic up again.
96805
96806 Cc: Ding Tianhong <dingtianhong@huawei.com>
96807 Cc: George Kargiotakis <kargig@void.gr>
96808 Cc: P J P <ppandit@redhat.com>
96809 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
96810 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
96811 Acked-by: Ding Tianhong <dingtianhong@huawei.com>
96812 Signed-off-by: David S. Miller <davem@davemloft.net>
96813
96814 Conflicts:
96815
96816 net/ipv6/addrconf.c
96817
96818 net/ipv6/addrconf.c | 10 ++++------
96819 1 files changed, 4 insertions(+), 6 deletions(-)
96820
96821 commit 8333e0981469a226a47d0142ff31090a48db95a4
96822 Author: David Vrabel <david.vrabel@citrix.com>
96823 Date: Thu Aug 15 13:21:06 2013 +0100
96824
96825 Upstream commit: 84ca7a8e45dafb49cd5ca90a343ba033e2885c17
96826
96827 xen/events: initialize local per-cpu mask for all possible events
96828
96829 The sizeof() argument in init_evtchn_cpu_bindings() is incorrect
96830 resulting in only the first 64 (or 32 in 32-bit guests) ports having
96831 their bindings being initialized to VCPU 0.
96832
96833 In most cases this does not cause a problem as request_irq() will set
96834 the irq affinity which will set the correct local per-cpu mask.
96835 However, if the request_irq() is called on a VCPU other than 0, there
96836 is a window between the unmasking of the event and the affinity being
96837 set were an event may be lost because it is not locally unmasked on
96838 any VCPU. If request_irq() is called on VCPU 0 then local irqs are
96839 disabled during the window and the race does not occur.
96840
96841 Fix this by initializing all NR_EVENT_CHANNEL bits in the local
96842 per-cpu masks.
96843
96844 Signed-off-by: David Vrabel <david.vrabel@citrix.com>
96845 Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
96846 CC: stable@vger.kernel.org
96847
96848 drivers/xen/events.c | 2 +-
96849 1 files changed, 1 insertions(+), 1 deletions(-)
96850
96851 commit 2a9a83768433937a2b7a97001ba1627156c0efed
96852 Author: Roland Dreier <roland@purestorage.com>
96853 Date: Mon Aug 5 17:55:01 2013 -0700
96854
96855 Upstream commit: 35dc248383bbab0a7203fca4d722875bc81ef091
96856
96857 [SCSI] sg: Fix user memory corruption when SG_IO is interrupted by a signal
96858
96859 There is a nasty bug in the SCSI SG_IO ioctl that in some circumstances
96860 leads to one process writing data into the address space of some other
96861 random unrelated process if the ioctl is interrupted by a signal.
96862 What happens is the following:
96863
96864 - A process issues an SG_IO ioctl with direction DXFER_FROM_DEV (ie the
96865 underlying SCSI command will transfer data from the SCSI device to
96866 the buffer provided in the ioctl)
96867
96868 - Before the command finishes, a signal is sent to the process waiting
96869 in the ioctl. This will end up waking up the sg_ioctl() code:
96870
96871 result = wait_event_interruptible(sfp->read_wait,
96872 (srp_done(sfp, srp) || sdp->detached));
96873
96874 but neither srp_done() nor sdp->detached is true, so we end up just
96875 setting srp->orphan and returning to userspace:
96876
96877 srp->orphan = 1;
96878 write_unlock_irq(&sfp->rq_list_lock);
96879 return result; /* -ERESTARTSYS because signal hit process */
96880
96881 At this point the original process is done with the ioctl and
96882 blithely goes ahead handling the signal, reissuing the ioctl, etc.
96883
96884 - Eventually, the SCSI command issued by the first ioctl finishes and
96885 ends up in sg_rq_end_io(). At the end of that function, we run through:
96886
96887 write_lock_irqsave(&sfp->rq_list_lock, iflags);
96888 if (unlikely(srp->orphan)) {
96889 if (sfp->keep_orphan)
96890 srp->sg_io_owned = 0;
96891 else
96892 done = 0;
96893 }
96894 srp->done = done;
96895 write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
96896
96897 if (likely(done)) {
96898 /* Now wake up any sg_read() that is waiting for this
96899 * packet.
96900 */
96901 wake_up_interruptible(&sfp->read_wait);
96902 kill_fasync(&sfp->async_qp, SIGPOLL, POLL_IN);
96903 kref_put(&sfp->f_ref, sg_remove_sfp);
96904 } else {
96905 INIT_WORK(&srp->ew.work, sg_rq_end_io_usercontext);
96906 schedule_work(&srp->ew.work);
96907 }
96908
96909 Since srp->orphan *is* set, we set done to 0 (assuming the
96910 userspace app has not set keep_orphan via an SG_SET_KEEP_ORPHAN
96911 ioctl), and therefore we end up scheduling sg_rq_end_io_usercontext()
96912 to run in a workqueue.
96913
96914 - In workqueue context we go through sg_rq_end_io_usercontext() ->
96915 sg_finish_rem_req() -> blk_rq_unmap_user() -> ... ->
96916 bio_uncopy_user() -> __bio_copy_iov() -> copy_to_user().
96917
96918 The key point here is that we are doing copy_to_user() on a
96919 workqueue -- that is, we're on a kernel thread with current->mm
96920 equal to whatever random previous user process was scheduled before
96921 this kernel thread. So we end up copying whatever data the SCSI
96922 command returned to the virtual address of the buffer passed into
96923 the original ioctl, but it's quite likely we do this copying into a
96924 different address space!
96925
96926 As suggested by James Bottomley <James.Bottomley@hansenpartnership.com>,
96927 add a check for current->mm (which is NULL if we're on a kernel thread
96928 without a real userspace address space) in bio_uncopy_user(), and skip
96929 the copy if we're on a kernel thread.
96930
96931 There's no reason that I can think of for any caller of bio_uncopy_user()
96932 to want to do copying on a kernel thread with a random active userspace
96933 address space.
96934
96935 Huge thanks to Costa Sapuntzakis <costa@purestorage.com> for the
96936 original pointer to this bug in the sg code.
96937
96938 Signed-off-by: Roland Dreier <roland@purestorage.com>
96939 Tested-by: David Milburn <dmilburn@redhat.com>
96940 Cc: Jens Axboe <axboe@kernel.dk>
96941 Cc: <stable@vger.kernel.org>
96942 Signed-off-by: James Bottomley <JBottomley@Parallels.com>
96943
96944 fs/bio.c | 20 +++++++++++++++-----
96945 1 files changed, 15 insertions(+), 5 deletions(-)
96946
96947 commit e6fe57dee152671afd618d6bc8cbf23155be6c34
96948 Merge: cdc8f7d f2095a4
96949 Author: Brad Spengler <spender@grsecurity.net>
96950 Date: Tue Aug 27 18:13:35 2013 -0400
96951
96952 Merge branch 'pax-test' into grsec-test
96953
96954 Conflicts:
96955 arch/arm/mm/fault.c
96956 security/Kconfig
96957
96958 commit f2095a4787f7d332e5919f0bd00f8de6021ad612
96959 Author: Brad Spengler <spender@grsecurity.net>
96960 Date: Tue Aug 27 18:08:23 2013 -0400
96961
96962 Update to pax-linux-3.10.9-test20.patch:
96963 - removed unnecessary mark_sym_for_renaming calls from the gcc plugins, reported by Emese Revfy
96964 - made some KERNEXEC/UDEREF induced fault handling on arm more robust (IFAR isn't always set on v7), by Corey Minyard <cminyard@mvista.com>
96965 - converted some mips atomic accessor macros to functions in preparation of REFCOUNT support, by Corey Minyard <cminyard@mvista.com>
96966 - __copy_from_user_inatomic on amd64 will now return unsigned long like other userland accessors do
96967 - added REFCOUNT support for mips, by Corey Minyard <cminyard@mvista.com>
96968 - fixed arm compilation with UDEREF disabled, reported by fabled (http://forums.grsecurity.net/viewtopic.php?f=1&t=3720)
96969 - fixed early boot panic due to a INVCPID/PCID mismatch, reported by Patrick McLean (https://bugs.gentoo.org/show_bug.cgi?id=482010)
96970
96971 arch/arm/mm/fault.c | 11 +-
96972 arch/mips/include/asm/atomic.h | 722 +++++++++++++++++++++++++++++++++++--
96973 arch/mips/kernel/traps.c | 14 +-
96974 arch/x86/include/asm/tlbflush.h | 4 +
96975 arch/x86/include/asm/uaccess_64.h | 2 +-
96976 fs/ntfs/file.c | 2 +-
96977 kernel/events/internal.h | 4 +-
96978 kernel/events/uprobes.c | 2 +-
96979 kernel/futex.c | 2 +-
96980 mm/filemap.c | 8 +-
96981 security/Kconfig | 2 +-
96982 tools/gcc/kernexec_plugin.c | 18 +-
96983 tools/gcc/latent_entropy_plugin.c | 26 +-
96984 tools/gcc/size_overflow_plugin.c | 3 +-
96985 14 files changed, 750 insertions(+), 70 deletions(-)
96986
96987 commit cdc8f7d7a0d09f5ccec1717d1378ac284b5bb4e9
96988 Merge: 5a9ae57 745975e
96989 Author: Brad Spengler <spender@grsecurity.net>
96990 Date: Mon Aug 26 20:27:33 2013 -0400
96991
96992 Merge branch 'pax-test' into grsec-test
96993
96994 commit 745975e3b3b74b64e00e85778f9a22714d1274f2
96995 Author: Brad Spengler <spender@grsecurity.net>
96996 Date: Mon Aug 26 20:26:33 2013 -0400
96997
96998 Fix compilation when UDEREF is enabled and KERNEXEC is disabled,
96999 as reported by fabled on the forums:
97000 http://forums.grsecurity.net/viewtopic.php?f=1&t=3720
97001
97002 arch/arm/include/asm/pgtable.h | 4 +---
97003 1 files changed, 1 insertions(+), 3 deletions(-)
97004
97005 commit 5a9ae577def10802fc8ad6957f05ce2a180dfa36
97006 Merge: 486ec00 f68df21
97007 Author: Brad Spengler <spender@grsecurity.net>
97008 Date: Tue Aug 20 20:15:20 2013 -0400
97009
97010 Merge branch 'pax-test' into grsec-test
97011
97012 commit f68df215c8bf7fada2710c14b3f3a0ea53fd9e43
97013 Author: Brad Spengler <spender@grsecurity.net>
97014 Date: Tue Aug 20 20:14:50 2013 -0400
97015
97016 Update to pax-linux-3.10.9-test18.patch:
97017 - fixed missing export of cpu_pgd, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=481786)
97018 - fixed UDEREF regression on !PCID processors, reported by Alexander Tsoy (https://bugs.gentoo.org/show_bug.cgi?id=481790)
97019 - forward port to 3.10.9
97020
97021 arch/x86/kernel/entry_64.S | 18 +++++++++---------
97022 arch/x86/kernel/i386_ksyms_32.c | 4 ++++
97023 arch/x86/kernel/x8664_ksyms_64.c | 4 ++++
97024 3 files changed, 17 insertions(+), 9 deletions(-)
97025
97026 commit 486ec00945b5dd8826f625e4af8995c5c8cb2a6f
97027 Merge: f47a293 d8fed0e
97028 Author: Brad Spengler <spender@grsecurity.net>
97029 Date: Tue Aug 20 20:12:47 2013 -0400
97030
97031 Merge branch 'pax-test' into grsec-test
97032
97033 commit d8fed0eba89a7607afe296c0caf17bc72311d6e9
97034 Merge: f6ace8e 0a4b6d4
97035 Author: Brad Spengler <spender@grsecurity.net>
97036 Date: Tue Aug 20 20:12:33 2013 -0400
97037
97038 Merge branch 'linux-3.10.y' into pax-test
97039
97040 commit f47a293a1440da2a3e2c239d43d636e37ca74f10
97041 Merge: f1e8ec7 f6ace8e
97042 Author: Brad Spengler <spender@grsecurity.net>
97043 Date: Tue Aug 20 18:20:05 2013 -0400
97044
97045 Merge branch 'pax-test' into grsec-test
97046
97047 Conflicts:
97048 arch/arm/kernel/perf_event.c
97049 include/linux/sched.h
97050
97051 commit f6ace8e1804aadc296bec38b4c4a2d711b9e7c72
97052 Merge: b4fa847 6f54059
97053 Author: Brad Spengler <spender@grsecurity.net>
97054 Date: Tue Aug 20 18:18:02 2013 -0400
97055
97056 Update to pax-linux-3.10.8-test18.patch
97057
97058 Merge branch 'linux-3.10.y' into pax-test
97059
97060 Conflicts:
97061 arch/x86/kernel/sys_x86_64.c
97062 arch/x86/mm/mmap.c
97063 include/linux/sched.h
97064
97065 commit f1e8ec79b6019ca0aa6a6cdde5668c1bbd9f51ca
97066 Merge: 6f88011 b4fa847
97067 Author: Brad Spengler <spender@grsecurity.net>
97068 Date: Tue Aug 20 18:05:12 2013 -0400
97069
97070 Merge branch 'pax-test' into grsec-test
97071
97072 commit b4fa84790ec760430818ab9b74a8b5acc6b40e63
97073 Author: Brad Spengler <spender@grsecurity.net>
97074 Date: Tue Aug 20 18:04:14 2013 -0400
97075
97076 Update to pax-linux-3.10.7-test18.patch:
97077 - reverted constification of zcache, problem reported by Marcin Mirosław (https://bugs.gentoo.org/show_bug.cgi?id=481752)
97078 - fixed a UDEREF resume regression due to the constification of clone_pgd_mask
97079 - fixed suspend/resume regression due to the recent constification of mmu_cr4_features, reported by Mathias Krause
97080
97081 arch/arm/kernel/process.c | 2 +-
97082 arch/x86/include/asm/processor.h | 25 ++-----------------------
97083 arch/x86/kernel/cpu/common.c | 4 ++++
97084 arch/x86/kernel/setup.c | 36 ++++++++++++++++++++++++++++++++++++
97085 drivers/staging/zcache/tmem.c | 4 ++--
97086 drivers/staging/zcache/tmem.h | 6 ++----
97087 6 files changed, 47 insertions(+), 30 deletions(-)
97088
97089 commit 6f88011297cb3b1b79ff4d96f8a9b8e2ed5a025f
97090 Author: Brad Spengler <spender@grsecurity.net>
97091 Date: Mon Aug 19 22:10:04 2013 -0400
97092
97093 fix bad git merge (call to __cpu_disable_lazy_restore was duplicated)
97094 as reported by pipacs
97095
97096 arch/x86/kernel/smpboot.c | 3 ---
97097 1 files changed, 0 insertions(+), 3 deletions(-)
97098
97099 commit 07f718e061bc4696b64a98ac1cf56e9ca1275dc3
97100 Merge: 6eba999 5de93c8
97101 Author: Brad Spengler <spender@grsecurity.net>
97102 Date: Sun Aug 18 22:03:19 2013 -0400
97103
97104 Merge branch 'pax-test' into grsec-test
97105
97106 commit 5de93c8e2a86865f7a2d62dbcf8702dbf12494db
97107 Author: Brad Spengler <spender@grsecurity.net>
97108 Date: Sun Aug 18 22:02:47 2013 -0400
97109
97110 Update to pax-linux-3.10.7-test15.patch:
97111 - fixed more PCID fallout, reported by spender, Negres and GBit (http://forums.grsecurity.net/viewtopic.php?f=3&t=3705)
97112 - fixed some new REFCOUNT false positives, caught by inspection
97113
97114 arch/x86/kernel/cpu/common.c | 5 +++--
97115 arch/x86/kernel/entry_64.S | 11 +++++++----
97116 fs/ceph/super.c | 4 ++--
97117 mm/backing-dev.c | 4 ++--
97118 4 files changed, 14 insertions(+), 10 deletions(-)
97119
97120 commit 94c119587c76723c1072237b98fff9886ccb7689
97121 Author: Brad Spengler <spender@grsecurity.net>
97122 Date: Sun Aug 18 20:49:39 2013 -0400
97123
97124 fix pipacs' DEMORGAN typo
97125
97126 arch/x86/include/asm/tlbflush.h | 2 +-
97127 1 files changed, 1 insertions(+), 1 deletions(-)
97128
97129 commit 6eba999a3263c2ed3f7e87222a5c9c55315c7f00
97130 Merge: df347f6 64a293e
97131 Author: Brad Spengler <spender@grsecurity.net>
97132 Date: Sun Aug 18 18:13:04 2013 -0400
97133
97134 Merge branch 'pax-test' into grsec-test
97135
97136 commit 64a293ebd17bf4a7ce6bd921ed879673e79fe128
97137 Author: Brad Spengler <spender@grsecurity.net>
97138 Date: Sun Aug 18 18:12:37 2013 -0400
97139
97140 Update to pax-linux-3.10.7-test14.patch:
97141 - fixed compile error introduced by the previous PCID change
97142 - fixed timer_create kernel stack leak, reported by Roman Žilka (https://bugs.gentoo.org/show_bug.cgi?id=470214)
97143
97144 arch/x86/include/asm/tlbflush.h | 2 +-
97145 kernel/posix-timers.c | 2 +-
97146 2 files changed, 2 insertions(+), 2 deletions(-)
97147
97148 commit df347f6db6cc0aaa40406d8a8b7284b7c15bc685
97149 Merge: d8efbc5 e11b314
97150 Author: Brad Spengler <spender@grsecurity.net>
97151 Date: Sun Aug 18 08:15:00 2013 -0400
97152
97153 Merge branch 'pax-test' into grsec-test
97154
97155 commit e11b314734c5b7317f5468be75305ad812e78c2b
97156 Author: Brad Spengler <spender@grsecurity.net>
97157 Date: Sun Aug 18 08:14:26 2013 -0400
97158
97159 Update to pax-linux-3.10.7-test13.patch:
97160 - always enable the use of PCID and INVPCID when available in the CPU
97161 - kvm guest kernels can use these features even if the host kernel lacks UDEREF
97162
97163 arch/x86/include/asm/tlbflush.h | 69 ++++++++++++++++++++++----------------
97164 arch/x86/kernel/cpu/common.c | 48 +++++++++++++++++----------
97165 2 files changed, 70 insertions(+), 47 deletions(-)
97166
97167 commit d8efbc54f5c8aba589d4d12eed9257a754a67de8
97168 Author: Brad Spengler <spender@grsecurity.net>
97169 Date: Sat Aug 17 12:00:20 2013 -0400
97170
97171 make kallsyms_lookup_size_offset available to approved source files
97172
97173 include/linux/kallsyms.h | 3 +++
97174 1 files changed, 3 insertions(+), 0 deletions(-)
97175
97176 commit 6c8feffa95ce2db280160015027b52bb41a344c8
97177 Merge: dbf6930 0bb1c2b
97178 Author: Brad Spengler <spender@grsecurity.net>
97179 Date: Sat Aug 17 11:57:50 2013 -0400
97180
97181 Merge branch 'pax-test' into grsec-test
97182
97183 commit 0bb1c2b2d9ba9a15fb504d47270499e8e2764106
97184 Author: Brad Spengler <spender@grsecurity.net>
97185 Date: Sat Aug 17 11:56:43 2013 -0400
97186
97187 Update to pax-linux-3.10.7-test12.patch:
97188 - fixed superfluous initializer in __native_flush_tlb_single, reported by Mathias Krause
97189 - fixed some arm compile problems
97190
97191 arch/x86/include/asm/tlbflush.h | 2 +-
97192 drivers/clocksource/bcm_kona_timer.c | 2 +-
97193 kernel/signal.c | 4 ++++
97194 3 files changed, 6 insertions(+), 2 deletions(-)
97195
97196 commit dbf69305ad4f8a037aae95af90f9201f556dcb48
97197 Author: Brad Spengler <spender@grsecurity.net>
97198 Date: Sat Aug 17 11:18:09 2013 -0400
97199
97200 allow use of kallsyms_lookup_name to approved source files
97201
97202 include/linux/kallsyms.h | 1 +
97203 1 files changed, 1 insertions(+), 0 deletions(-)
97204
97205 commit a566c5f4dec33f410678c257e95ab6726ce8e4f9
97206 Merge: 68bd16f f562e3e
97207 Author: Brad Spengler <spender@grsecurity.net>
97208 Date: Sat Aug 17 10:35:02 2013 -0400
97209
97210 Merge branch 'pax-test' into grsec-test
97211
97212 commit f562e3ef7737ea8d80431a722479b36a12504ace
97213 Author: Brad Spengler <spender@grsecurity.net>
97214 Date: Sat Aug 17 10:34:51 2013 -0400
97215
97216 add uderef_64.c
97217
97218 arch/x86/mm/uderef_64.c | 37 +++++++++++++++++++++++++++++++++++++
97219 1 files changed, 37 insertions(+), 0 deletions(-)
97220
97221 commit 68bd16fce3cf51c4c407e2ac6bc3db0629783622
97222 Author: Asbjoern Sloth Toennesen <ast@fiberby.net>
97223 Date: Mon Aug 12 16:30:09 2013 +0000
97224
97225 Upstream commit: 3e805ad288c524bb65aad3f1e004402223d3d504
97226
97227 rtnetlink: rtnl_bridge_getlink: Call nlmsg_find_attr() with ifinfomsg header
97228
97229 Fix the iproute2 command `bridge vlan show`, after switching from
97230 rtgenmsg to ifinfomsg.
97231
97232 Let's start with a little history:
97233
97234 Feb 20: Vlad Yasevich got his VLAN-aware bridge patchset included in
97235 the 3.9 merge window.
97236 In the kernel commit 6cbdceeb, he added attribute support to
97237 bridge GETLINK requests sent with rtgenmsg.
97238
97239 Mar 6th: Vlad got this iproute2 reference implementation of the bridge
97240 vlan netlink interface accepted (iproute2 9eff0e5c)
97241
97242 Apr 25th: iproute2 switched from using rtgenmsg to ifinfomsg (63338dca)
97243 http://patchwork.ozlabs.org/patch/239602/
97244 http://marc.info/?t=136680900700007
97245
97246 Apr 28th: Linus released 3.9
97247
97248 Apr 30th: Stephen released iproute2 3.9.0
97249
97250 The `bridge vlan show` command haven't been working since the switch to
97251 ifinfomsg, or in a released version of iproute2. Since the kernel side
97252 only supports rtgenmsg, which iproute2 switched away from just prior to
97253 the iproute2 3.9.0 release.
97254
97255 I haven't been able to find any documentation, about neither rtgenmsg
97256 nor ifinfomsg, and in which situation to use which, but kernel commit
97257 88c5b5ce seams to suggest that ifinfomsg should be used.
97258
97259 Fixing this in kernel will break compatibility, but I doubt that anybody
97260 have been using it due to this bug in the user space reference
97261 implementation, at least not without noticing this bug. That said the
97262 functionality is still fully functional in 3.9, when reversing iproute2
97263 commit 63338dca.
97264
97265 This could also be fixed in iproute2, but thats an ugly patch that would
97266 reintroduce rtgenmsg in iproute2, and from searching in netdev it seams
97267 like rtgenmsg usage is discouraged. I'm assuming that the only reason
97268 that Vlad implemented the kernel side to use rtgenmsg, was because
97269 iproute2 was using it at the time.
97270
97271 Signed-off-by: Asbjoern Sloth Toennesen <ast@fiberby.net>
97272 Reviewed-by: Vlad Yasevich <vyasevich@gmail.com>
97273 Signed-off-by: David S. Miller <davem@davemloft.net>
97274
97275 net/core/rtnetlink.c | 2 +-
97276 1 files changed, 1 insertions(+), 1 deletions(-)
97277
97278 commit 8c7bc5bafddddff55ed4687203a977e96f72540a
97279 Author: Johannes Berg <johannes.berg@intel.com>
97280 Date: Tue Aug 13 09:04:05 2013 +0200
97281
97282 Upstream commit: 58ad436fcf49810aa006016107f494c9ac9013db
97283
97284 genetlink: fix family dump race
97285
97286 When dumping generic netlink families, only the first dump call
97287 is locked with genl_lock(), which protects the list of families,
97288 and thus subsequent calls can access the data without locking,
97289 racing against family addition/removal. This can cause a crash.
97290 Fix it - the locking needs to be conditional because the first
97291 time around it's already locked.
97292
97293 A similar bug was reported to me on an old kernel (3.4.47) but
97294 the exact scenario that happened there is no longer possible,
97295 on those kernels the first round wasn't locked either. Looking
97296 at the current code I found the race described above, which had
97297 also existed on the old kernel.
97298
97299 Cc: stable@vger.kernel.org
97300 Reported-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
97301 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
97302 Signed-off-by: David S. Miller <davem@davemloft.net>
97303
97304 net/netlink/genetlink.c | 7 +++++++
97305 1 files changed, 7 insertions(+), 0 deletions(-)
97306
97307 commit 0aef405c4f269d1e35abb5393cee4e7d452ed4bb
97308 Author: Daniel Borkmann <dborkman@redhat.com>
97309 Date: Fri Aug 9 16:25:21 2013 +0200
97310
97311 Upstream commit: 771085d6bf3c52de29fc213e5bad07a82e57c23e
97312
97313 net: sctp: sctp_transport_destroy{, _rcu}: fix potential pointer corruption
97314
97315 Probably this one is quite unlikely to be triggered, but it's more safe
97316 to do the call_rcu() at the end after we have dropped the reference on
97317 the asoc and freed sctp packet chunks. The reason why is because in
97318 sctp_transport_destroy_rcu() the transport is being kfree()'d, and if
97319 we're unlucky enough we could run into corrupted pointers. Probably
97320 that's more of theoretical nature, but it's safer to have this simple fix.
97321
97322 Introduced by commit 8c98653f ("sctp: sctp_close: fix release of bindings
97323 for deferred call_rcu's"). I also did the 8c98653f regression test and
97324 it's fine that way.
97325
97326 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
97327 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
97328 Signed-off-by: David S. Miller <davem@davemloft.net>
97329
97330 net/sctp/transport.c | 4 ++--
97331 1 files changed, 2 insertions(+), 2 deletions(-)
97332
97333 commit 3925eab5483946fd746575a46f97bee9d566bb77
97334 Author: Stephane Grosjean <s.grosjean@peak-system.com>
97335 Date: Fri Aug 9 11:44:06 2013 +0200
97336
97337 Upstream commit: 3c322a56b01695df15c70bfdc2d02e0ccd80654e
97338
97339 can: pcan_usb: fix wrong memcpy() bytes length
97340
97341 Fix possibly wrong memcpy() bytes length since some CAN records received from
97342 PCAN-USB could define a DLC field in range [9..15].
97343 In that case, the real DLC value MUST be used to move forward the record pointer
97344 but, only 8 bytes max. MUST be copied into the data field of the struct
97345 can_frame object of the skb given to the network core.
97346
97347 Cc: linux-stable <stable@vger.kernel.org>
97348 Signed-off-by: Stephane Grosjean <s.grosjean@peak-system.com>
97349 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
97350 Signed-off-by: David S. Miller <davem@davemloft.net>
97351
97352 drivers/net/can/usb/peak_usb/pcan_usb.c | 2 +-
97353 1 files changed, 1 insertions(+), 1 deletions(-)
97354
97355 commit c1ac6642baae4a400d1f87115024d1bb1ef53598
97356 Author: Linus Lüssing <linus.luessing@web.de>
97357 Date: Tue Aug 6 20:21:15 2013 +0200
97358
97359 Upstream commit: 9d2c9488cedb666bc8206fbdcdc1575e0fbc5929
97360
97361 batman-adv: fix potential kernel paging errors for unicast transmissions
97362
97363 There are several functions which might reallocate skb data. Currently
97364 some places keep reusing their old ethhdr pointer regardless of whether
97365 they became invalid after such a reallocation or not. This potentially
97366 leads to kernel paging errors.
97367
97368 This patch fixes these by refetching the ethdr pointer after the
97369 potential reallocations.
97370
97371 Signed-off-by: Linus Lüssing <linus.luessing@web.de>
97372 Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
97373 Signed-off-by: Antonio Quartulli <ordex@autistici.org>
97374
97375 net/batman-adv/bridge_loop_avoidance.c | 2 ++
97376 net/batman-adv/gateway_client.c | 13 ++++++++++++-
97377 net/batman-adv/gateway_client.h | 3 +--
97378 net/batman-adv/soft-interface.c | 9 ++++++++-
97379 net/batman-adv/unicast.c | 13 ++++++++++---
97380 5 files changed, 33 insertions(+), 7 deletions(-)
97381
97382 commit d11ebb55757d366b2e445dea5a96e3ef1b4d22eb
97383 Author: Yuchung Cheng <ycheng@google.com>
97384 Date: Fri Aug 9 17:21:27 2013 -0700
97385
97386 Upstream commit: 356d7d88e088687b6578ca64601b0a2c9d145296
97387
97388 netfilter: nf_conntrack: fix tcp_in_window for Fast Open
97389
97390 Currently the conntrack checks if the ending sequence of a packet
97391 falls within the observed receive window. However it does so even
97392 if it has not observe any packet from the remote yet and uses an
97393 uninitialized receive window (td_maxwin).
97394
97395 If a connection uses Fast Open to send a SYN-data packet which is
97396 dropped afterward in the network. The subsequent SYNs retransmits
97397 will all fail this check and be discarded, leading to a connection
97398 timeout. This is because the SYN retransmit does not contain data
97399 payload so
97400
97401 end == initial sequence number (isn) + 1
97402 sender->td_end == isn + syn_data_len
97403 receiver->td_maxwin == 0
97404
97405 The fix is to only apply this check after td_maxwin is initialized.
97406
97407 Reported-by: Michael Chan <mcfchan@stanford.edu>
97408 Signed-off-by: Yuchung Cheng <ycheng@google.com>
97409 Acked-by: Eric Dumazet <edumazet@google.com>
97410 Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
97411 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
97412
97413 net/netfilter/nf_conntrack_proto_tcp.c | 12 ++++++++----
97414 1 files changed, 8 insertions(+), 4 deletions(-)
97415
97416 commit 94462727d1f151aa2e3f7fbf0dedb19d8545d2ec
97417 Author: Dan Carpenter <dan.carpenter@oracle.com>
97418 Date: Thu Aug 1 12:36:57 2013 +0300
97419
97420 Upstream commit: e4d091d7bf787cd303383725b8071d0bae76f981
97421
97422 netfilter: nfnetlink_{log,queue}: fix information leaks in netlink message
97423
97424 These structs have a "_pad" member. Also the "phw" structs have an 8
97425 byte "hw_addr[]" array but sometimes only the first 6 bytes are
97426 initialized.
97427
97428 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
97429 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
97430
97431 net/netfilter/nfnetlink_log.c | 6 +++++-
97432 net/netfilter/nfnetlink_queue_core.c | 5 ++++-
97433 2 files changed, 9 insertions(+), 2 deletions(-)
97434
97435 commit c5b469d0a0b480a8b2dcac9b4e6532c0ac17f81f
97436 Author: Pablo Neira Ayuso <pablo@netfilter.org>
97437 Date: Thu Jul 25 10:46:46 2013 +0200
97438
97439 Upstream commit: a206bcb3b02025b23137f3228109d72e0f835c05
97440
97441 netfilter: xt_TCPOPTSTRIP: fix possible off by one access
97442
97443 Fix a possible off by one access since optlen()
97444 touches opt[offset+1] unsafely when i == tcp_hdrlen(skb) - 1.
97445
97446 This patch replaces tcp_hdrlen() by the local variable tcp_hdrlen
97447 that stores the TCP header length, to save some cycles.
97448
97449 Reported-by: Julian Anastasov <ja@ssi.bg>
97450 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
97451
97452 net/netfilter/xt_TCPOPTSTRIP.c | 10 ++++++----
97453 1 files changed, 6 insertions(+), 4 deletions(-)
97454
97455 commit 4634def261cf5f635bc60afe8a6ad436b3ec151e
97456 Author: Pablo Neira Ayuso <pablo@netfilter.org>
97457 Date: Thu Jul 25 10:37:49 2013 +0200
97458
97459 Upstream commit: 71ffe9c77dd7a2b62207953091efa8dafec958dd
97460
97461 netfilter: xt_TCPMSS: fix handling of malformed TCP header and options
97462
97463 Make sure the packet has enough room for the TCP header and
97464 that it is not malformed.
97465
97466 While at it, store tcph->doff*4 in a variable, as it is used
97467 several times.
97468
97469 This patch also fixes a possible off by one in case of malformed
97470 TCP options.
97471
97472 Reported-by: Julian Anastasov <ja@ssi.bg>
97473 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
97474
97475 net/netfilter/xt_TCPMSS.c | 28 ++++++++++++++++------------
97476 1 files changed, 16 insertions(+), 12 deletions(-)
97477
97478 commit dc552b7b377b8b0cba23513ee09a2341d6714ae8
97479 Author: Dave Jones <davej@redhat.com>
97480 Date: Fri Aug 9 11:16:34 2013 -0700
97481
97482 Upstream commit: d06f5187469eee1b2932c02fd093d113cfc60d5e
97483
97484 8139cp: Fix skb leak in rx_status_loop failure path.
97485
97486 Introduced in cf3c4c03060b688cbc389ebc5065ebcce5653e96
97487 ("8139cp: Add dma_mapping_error checking")
97488
97489 Signed-off-by: Dave Jones <davej@redhat.com>
97490 Signed-off-by: David S. Miller <davem@davemloft.net>
97491
97492 drivers/net/ethernet/realtek/8139cp.c | 1 +
97493 1 files changed, 1 insertions(+), 0 deletions(-)
97494
97495 commit 227b279491a0bbcc70ca3654f34903282c378600
97496 Author: Timo Teräs <timo.teras@iki.fi>
97497 Date: Tue Aug 6 13:45:43 2013 +0300
97498
97499 Upstream commit: 77a482bdb2e68d13fae87541b341905ba70d572b
97500
97501 ip_gre: fix ipgre_header to return correct offset
97502
97503 Fix ipgre_header() (header_ops->create) to return the correct
97504 amount of bytes pushed. Most callers of dev_hard_header() seem
97505 to care only if it was success, but af_packet.c uses it as
97506 offset to the skb to copy from userspace only once. In practice
97507 this fixes packet socket sendto()/sendmsg() to gre tunnels.
97508
97509 Regression introduced in c54419321455631079c7d6e60bc732dd0c5914c5
97510 ("GRE: Refactor GRE tunneling code.")
97511
97512 Cc: Pravin B Shelar <pshelar@nicira.com>
97513 Signed-off-by: Timo Teräs <timo.teras@iki.fi>
97514 Acked-by: Eric Dumazet <edumazet@google.com>
97515 Signed-off-by: David S. Miller <davem@davemloft.net>
97516
97517 net/ipv4/ip_gre.c | 2 +-
97518 1 files changed, 1 insertions(+), 1 deletions(-)
97519
97520 commit 4b37d11c0ebb440d9335861ce8f1e690a34c10fb
97521 Author: Eric Dumazet <edumazet@google.com>
97522 Date: Mon Aug 5 11:18:49 2013 -0700
97523
97524 Upstream commit: aab515d7c32a34300312416c50314e755ea6f765
97525
97526 fib_trie: remove potential out of bound access
97527
97528 AddressSanitizer [1] dynamic checker pointed a potential
97529 out of bound access in leaf_walk_rcu()
97530
97531 We could allocate one more slot in tnode_new() to leave the prefetch()
97532 in-place but it looks not worth the pain.
97533
97534 Bug added in commit 82cfbb008572b ("[IPV4] fib_trie: iterator recode")
97535
97536 [1] :
97537 https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerForKernel
97538
97539 Reported-by: Andrey Konovalov <andreyknvl@google.com>
97540 Signed-off-by: Eric Dumazet <edumazet@google.com>
97541 Cc: Dmitry Vyukov <dvyukov@google.com>
97542 Signed-off-by: David S. Miller <davem@davemloft.net>
97543
97544 net/ipv4/fib_trie.c | 5 +----
97545 1 files changed, 1 insertions(+), 4 deletions(-)
97546
97547 commit 3928184d65fdaf3eef446f0e6c5f305352c1fd02
97548 Author: Daniel Borkmann <dborkman@redhat.com>
97549 Date: Mon Aug 5 12:49:35 2013 +0200
97550
97551 Upstream commit: 7921895a5e852fc99de347bc0600659997de9298
97552
97553 net: esp{4,6}: fix potential MTU calculation overflows
97554
97555 Commit 91657eafb ("xfrm: take net hdr len into account for esp payload
97556 size calculation") introduced a possible interger overflow in
97557 esp{4,6}_get_mtu() handlers in case of x->props.mode equals
97558 XFRM_MODE_TUNNEL. Thus, the following expression will overflow
97559
97560 unsigned int net_adj;
97561 ...
97562 <case ipv{4,6} XFRM_MODE_TUNNEL>
97563 net_adj = 0;
97564 ...
97565 return ((mtu - x->props.header_len - crypto_aead_authsize(esp->aead) -
97566 net_adj) & ~(align - 1)) + (net_adj - 2);
97567
97568 where (net_adj - 2) would be evaluated as <foo> + (0 - 2) in an unsigned
97569 context. Fix it by simply removing brackets as those operations here
97570 do not need to have special precedence.
97571
97572 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
97573 Cc: Benjamin Poirier <bpoirier@suse.de>
97574 Cc: Steffen Klassert <steffen.klassert@secunet.com>
97575 Acked-by: Benjamin Poirier <bpoirier@suse.de>
97576 Signed-off-by: David S. Miller <davem@davemloft.net>
97577
97578 net/ipv4/esp4.c | 2 +-
97579 net/ipv6/esp6.c | 2 +-
97580 2 files changed, 2 insertions(+), 2 deletions(-)
97581
97582 commit f02bce292d1c2fe610be509c96593e70b3de387b
97583 Author: Julia Lawall <Julia.Lawall@lip6.fr>
97584 Date: Mon Aug 5 16:47:38 2013 +0200
97585
97586 Upstream commit: d9af2d67e490b48f0d36f448d34e7bab9425f142
97587
97588 net/vmw_vsock/af_vsock.c: drop unneeded semicolon
97589
97590 Drop the semicolon at the end of the list_for_each_entry loop header.
97591
97592 Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
97593 Signed-off-by: David S. Miller <davem@davemloft.net>
97594
97595 net/vmw_vsock/af_vsock.c | 2 +-
97596 1 files changed, 1 insertions(+), 1 deletions(-)
97597
97598 commit 4b62f0cbc3f949056e8bbe0af036acfc20e8e049
97599 Author: Tiger Yang <tiger.yang@oracle.com>
97600 Date: Tue Aug 13 16:00:58 2013 -0700
97601
97602 Upstream commit: c7dd3392ad469e6ba125170ad29f881bed85b678
97603
97604 ocfs2: fix NULL pointer dereference in ocfs2_duplicate_clusters_by_page
97605
97606 Since ocfs2_cow_file_pos will invoke ocfs2_refcount_icow with a NULL as
97607 the struct file pointer, it finally result in a null pointer dereference
97608 in ocfs2_duplicate_clusters_by_page.
97609
97610 This patch replace file pointer with inode pointer in
97611 cow_duplicate_clusters to fix this issue.
97612
97613 [jeff.liu@oracle.com: rebased patch against linux-next tree]
97614 Signed-off-by: Tiger Yang <tiger.yang@oracle.com>
97615 Signed-off-by: Jie Liu <jeff.liu@oracle.com>
97616 Cc: Joel Becker <jlbec@evilplan.org>
97617 Cc: Mark Fasheh <mfasheh@suse.com>
97618 Acked-by: Tao Ma <tm@tao.ma>
97619 Tested-by: David Weber <wb@munzinger.de>
97620 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
97621 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
97622
97623 fs/ocfs2/aops.c | 2 +-
97624 fs/ocfs2/file.c | 6 ++--
97625 fs/ocfs2/move_extents.c | 2 +-
97626 fs/ocfs2/refcounttree.c | 53 +++++++---------------------------------------
97627 fs/ocfs2/refcounttree.h | 6 ++--
97628 5 files changed, 16 insertions(+), 53 deletions(-)
97629
97630 commit 433bf493c7472435b328b2bc85b6e54f6dd3d0d3
97631 Author: Dan Carpenter <dan.carpenter@oracle.com>
97632 Date: Thu Aug 15 15:52:57 2013 +0300
97633
97634 Upstream commit: 15718ea0d844e4816dbd95d57a8a0e3e264ba90e
97635
97636 tun: signedness bug in tun_get_user()
97637
97638 The recent fix d9bf5f1309 "tun: compare with 0 instead of total_len" is
97639 not totally correct. Because "len" and "sizeof()" are size_t type, that
97640 means they are never less than zero.
97641
97642 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
97643 Acked-by: Michael S. Tsirkin <mst@redhat.com>
97644 Acked-by: Neil Horman <nhorman@tuxdriver.com>
97645 Signed-off-by: David S. Miller <davem@davemloft.net>
97646
97647 drivers/net/tun.c | 6 ++++--
97648 1 files changed, 4 insertions(+), 2 deletions(-)
97649
97650 commit 26ad267ddda451919357965a0cf271ca24d1bcf2
97651 Author: Weiping Pan <wpan@redhat.com>
97652 Date: Tue Aug 13 21:46:56 2013 +0800
97653
97654 Upstream commit: d9bf5f130946695063469749bfd190087b7fad39
97655
97656 tun: compare with 0 instead of total_len
97657
97658 Since we set "len = total_len" in the beginning of tun_get_user(),
97659 so we should compare the new len with 0, instead of total_len,
97660 or the if statement always returns false.
97661
97662 Signed-off-by: Weiping Pan <wpan@redhat.com>
97663 Signed-off-by: David S. Miller <davem@davemloft.net>
97664
97665 drivers/net/tun.c | 4 ++--
97666 1 files changed, 2 insertions(+), 2 deletions(-)
97667
97668 commit 70023d3ea40fae8b6b6a142a7a5c3db0bcc283f9
97669 Author: Guenter Roeck <linux@roeck-us.net>
97670 Date: Fri Aug 16 20:50:55 2013 -0700
97671
97672 Upstream commit: 215b28a5308f3d332df2ee09ef11fda45d7e4a92
97673
97674 s390: Fix broken build
97675
97676 Fix this build error:
97677
97678 In file included from fs/exec.c:61:0:
97679 arch/s390/include/asm/tlb.h:35:23: error: expected identifier or '(' before 'unsigned'
97680 arch/s390/include/asm/tlb.h:36:1: warning: no semicolon at end of struct or union [enabled by default]
97681 arch/s390/include/asm/tlb.h: In function 'tlb_gather_mmu':
97682 arch/s390/include/asm/tlb.h:57:5: error: 'struct mmu_gather' has no member named 'end'
97683
97684 Broken due to commit 2b047252d0 ("Fix TLB gather virtual address range
97685 invalidation corner cases").
97686
97687 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
97688 Cc: stable@vger.kernel.org
97689 Signed-off-by: Guenter Roeck <linux@roeck-us.net>
97690 [ Oh well. We had build testing for ppc amd um, but no s390 - Linus ]
97691 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
97692
97693 arch/s390/include/asm/tlb.h | 2 +-
97694 1 files changed, 1 insertions(+), 1 deletions(-)
97695
97696 commit 4e57312c2de2a25ddb181d129dafbc0251062c33
97697 Author: Linus Torvalds <torvalds@linux-foundation.org>
97698 Date: Thu Aug 15 11:42:25 2013 -0700
97699
97700 Upstream commit: 2b047252d087be7f2ba088b4933cd904f92e6fce
97701
97702 Fix TLB gather virtual address range invalidation corner cases
97703
97704 Ben Tebulin reported:
97705
97706 "Since v3.7.2 on two independent machines a very specific Git
97707 repository fails in 9/10 cases on git-fsck due to an SHA1/memory
97708 failures. This only occurs on a very specific repository and can be
97709 reproduced stably on two independent laptops. Git mailing list ran
97710 out of ideas and for me this looks like some very exotic kernel issue"
97711
97712 and bisected the failure to the backport of commit 53a59fc67f97 ("mm:
97713 limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT").
97714
97715 That commit itself is not actually buggy, but what it does is to make it
97716 much more likely to hit the partial TLB invalidation case, since it
97717 introduces a new case in tlb_next_batch() that previously only ever
97718 happened when running out of memory.
97719
97720 The real bug is that the TLB gather virtual memory range setup is subtly
97721 buggered. It was introduced in commit 597e1c3580b7 ("mm/mmu_gather:
97722 enable tlb flush range in generic mmu_gather"), and the range handling
97723 was already fixed at least once in commit e6c495a96ce0 ("mm: fix the TLB
97724 range flushed when __tlb_remove_page() runs out of slots"), but that fix
97725 was not complete.
97726
97727 The problem with the TLB gather virtual address range is that it isn't
97728 set up by the initial tlb_gather_mmu() initialization (which didn't get
97729 the TLB range information), but it is set up ad-hoc later by the
97730 functions that actually flush the TLB. And so any such case that forgot
97731 to update the TLB range entries would potentially miss TLB invalidates.
97732
97733 Rather than try to figure out exactly which particular ad-hoc range
97734 setup was missing (I personally suspect it's the hugetlb case in
97735 zap_huge_pmd(), which didn't have the same logic as zap_pte_range()
97736 did), this patch just gets rid of the problem at the source: make the
97737 TLB range information available to tlb_gather_mmu(), and initialize it
97738 when initializing all the other tlb gather fields.
97739
97740 This makes the patch larger, but conceptually much simpler. And the end
97741 result is much more understandable; even if you want to play games with
97742 partial ranges when invalidating the TLB contents in chunks, now the
97743 range information is always there, and anybody who doesn't want to
97744 bother with it won't introduce subtle bugs.
97745
97746 Ben verified that this fixes his problem.
97747
97748 Reported-bisected-and-tested-by: Ben Tebulin <tebulin@googlemail.com>
97749 Build-testing-by: Stephen Rothwell <sfr@canb.auug.org.au>
97750 Build-testing-by: Richard Weinberger <richard.weinberger@gmail.com>
97751 Reviewed-by: Michal Hocko <mhocko@suse.cz>
97752 Acked-by: Peter Zijlstra <peterz@infradead.org>
97753 Cc: stable@vger.kernel.org
97754 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
97755
97756 arch/arm/include/asm/tlb.h | 7 +++++--
97757 arch/arm64/include/asm/tlb.h | 7 +++++--
97758 arch/ia64/include/asm/tlb.h | 9 ++++++---
97759 arch/s390/include/asm/tlb.h | 8 ++++++--
97760 arch/sh/include/asm/tlb.h | 6 ++++--
97761 arch/um/include/asm/tlb.h | 6 ++++--
97762 fs/exec.c | 4 ++--
97763 include/asm-generic/tlb.h | 2 +-
97764 mm/hugetlb.c | 2 +-
97765 mm/memory.c | 36 +++++++++++++++++++++---------------
97766 mm/mmap.c | 4 ++--
97767 11 files changed, 57 insertions(+), 34 deletions(-)
97768
97769 commit 771ed01c6027772eca1a0df8de65043e7f0d94f8
97770 Merge: 5568c80 ffceabf
97771 Author: Brad Spengler <spender@grsecurity.net>
97772 Date: Sat Aug 17 09:11:41 2013 -0400
97773
97774 Merge branch 'pax-test' into grsec-test
97775
97776 commit ffceabfcc65c60109ba5fca694d78d4dc7047809
97777 Author: Brad Spengler <spender@grsecurity.net>
97778 Date: Sat Aug 17 09:10:44 2013 -0400
97779
97780 Update to pax-linux-3.10.7-test11.patch:
97781 - simplified some arm code
97782 - disabled preemption when calling show_regs, reported by Corey Minyard
97783 - added PCID based support for UDEREF on amd64 (blog will have more details)
97784 - requires Westmere/Sandy Bridge/Ivy Bridge/Haswell/etc
97785 - nopcid turns it off
97786 - by default a strong form of UDEREF is used under PCID
97787 - pax_weakuderef switches to the older, less secure UDEREF
97788 - fixed several bugs that would also have manifested under SMAP
97789 - INVPCID is used when available (Haswell)
97790 - added a few more return insn instrumentation in new amd64 crypto code
97791
97792 Documentation/kernel-parameters.txt | 7 +
97793 arch/arm/include/asm/uaccess.h | 3 +
97794 arch/x86/crypto/blowfish-avx2-asm_64.S | 6 +
97795 arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 ++
97796 arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 ++
97797 arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +
97798 arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +
97799 arch/x86/crypto/serpent-avx2-asm_64.S | 9 ++
97800 arch/x86/crypto/sha256-avx-asm.S | 2 +
97801 arch/x86/crypto/sha256-avx2-asm.S | 2 +
97802 arch/x86/crypto/sha256-ssse3-asm.S | 2 +
97803 arch/x86/crypto/sha512-avx-asm.S | 2 +
97804 arch/x86/crypto/sha512-avx2-asm.S | 2 +
97805 arch/x86/crypto/sha512-ssse3-asm.S | 2 +
97806 arch/x86/crypto/twofish-avx2-asm_64.S | 8 ++
97807 arch/x86/ia32/ia32_signal.c | 2 +-
97808 arch/x86/ia32/ia32entry.S | 24 ++++-
97809 arch/x86/include/asm/cpufeature.h | 3 +-
97810 arch/x86/include/asm/fpu-internal.h | 2 +
97811 arch/x86/include/asm/futex.h | 4 +
97812 arch/x86/include/asm/mmu_context.h | 80 +++++++++++---
97813 arch/x86/include/asm/pgtable.h | 10 +-
97814 arch/x86/include/asm/processor.h | 15 +++-
97815 arch/x86/include/asm/segment.h | 5 +-
97816 arch/x86/include/asm/smap.h | 64 +++++++++++-
97817 arch/x86/include/asm/tlbflush.h | 63 +++++++++--
97818 arch/x86/include/asm/uaccess.h | 18 +++-
97819 arch/x86/include/asm/xsave.h | 4 +
97820 arch/x86/kernel/cpu/common.c | 38 +++++++
97821 arch/x86/kernel/entry_32.S | 2 +-
97822 arch/x86/kernel/entry_64.S | 152 +++++++++++++++++++++++---
97823 arch/x86/kernel/head_32.S | 2 +-
97824 arch/x86/kernel/head_64.S | 8 +-
97825 arch/x86/kernel/process_64.c | 5 +
97826 arch/x86/kernel/setup.c | 8 +-
97827 arch/x86/kernel/signal.c | 4 +-
97828 arch/x86/kernel/smpboot.c | 15 ++-
97829 arch/x86/lib/copy_user_64.S | 50 +--------
97830 arch/x86/lib/copy_user_nocache_64.S | 2 +
97831 arch/x86/lib/csum-wrappers_64.c | 11 ++-
97832 arch/x86/lib/memcpy_64.S | 4 +-
97833 arch/x86/lib/memmove_64.S | 2 +-
97834 arch/x86/lib/memset_64.S | 4 +-
97835 arch/x86/lib/usercopy_64.c | 5 +-
97836 arch/x86/mm/Makefile | 4 +
97837 arch/x86/mm/fault.c | 29 ++++--
97838 arch/x86/mm/init.c | 7 +-
97839 arch/x86/mm/init_64.c | 9 ++-
97840 arch/x86/mm/pageattr.c | 2 +-
97841 arch/x86/mm/pgtable.c | 3 +
97842 arch/x86/platform/efi/efi_32.c | 2 +-
97843 arch/x86/platform/efi/efi_64.c | 2 +-
97844 arch/x86/realmode/rm/trampoline_64.S | 1 +
97845 fs/exec.c | 2 +
97846 include/asm-generic/uaccess.h | 8 ++
97847 include/linux/compat.h | 1 +
97848 include/linux/preempt.h | 19 +++
97849 include/linux/signal.h | 1 +
97850 include/linux/smp.h | 2 +
97851 init/main.c | 14 ++-
97852 kernel/signal.c | 16 +++
97853 security/Kconfig | 5 +
97854 tools/lib/lk/Makefile | 2 +-
97855 tools/perf/Makefile | 2 +-
97856 64 files changed, 673 insertions(+), 136 deletions(-)
97857
97858 commit 5568c8059e78d6d002815409df4e90c83b3b08a8
97859 Author: Brad Spengler <spender@grsecurity.net>
97860 Date: Sat Aug 17 08:58:34 2013 -0400
97861
97862 Fix two harmless compiler warnings
97863
97864 arch/arm/kernel/process.c | 4 ++--
97865 fs/exec.c | 2 +-
97866 2 files changed, 3 insertions(+), 3 deletions(-)
97867
97868 commit e4a41a3eef8c6bdebdbe273cc0fbe372bcb62806
97869 Author: Brad Spengler <spender@grsecurity.net>
97870 Date: Fri Aug 16 22:55:24 2013 -0400
97871
97872 Upstream commit: c95eb3184ea1a3a2551df57190c81da695e2144b
97873
97874 arch/arm/kernel/perf_event.c | 5 ++++-
97875 1 files changed, 4 insertions(+), 1 deletions(-)
97876
97877 commit 3637bc893b57a227b01852fe34685ab237285b10
97878 Author: Stephen Boyd <sboyd@codeaurora.org>
97879 Date: Wed Aug 7 16:18:08 2013 -0700
97880
97881 Upstream commit: b88a2595b6d8aedbd275c07dfa784657b4f757eb
97882
97883 perf/arm: Fix armpmu_map_hw_event()
97884
97885 Fix constraint check in armpmu_map_hw_event().
97886
97887 Reported-and-tested-by: Vince Weaver <vincent.weaver@maine.edu>
97888 Cc: <stable@kernel.org>
97889 Signed-off-by: Ingo Molnar <mingo@kernel.org>
97890 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
97891
97892 arch/arm/kernel/perf_event.c | 7 ++++++-
97893 1 files changed, 6 insertions(+), 1 deletions(-)
97894
97895 commit 11802e1f961a088c39af58d1c1b14d861eedfb35
97896 Author: Brad Spengler <spender@grsecurity.net>
97897 Date: Fri Aug 16 22:53:30 2013 -0400
97898
97899 More ARM backports
97900
97901 arch/arm/kernel/entry-armv.S | 3 ++-
97902 arch/arm/kernel/fiq.c | 8 ++------
97903 2 files changed, 4 insertions(+), 7 deletions(-)
97904
97905 commit bf89938c71ddbd6efb2c2e43bf4f3f99fef623ea
97906 Author: Brad Spengler <spender@grsecurity.net>
97907 Date: Fri Aug 16 22:46:01 2013 -0400
97908
97909 Fix HIDESYM compatibility with kprobes, as reported by feandil at:
97910 http://forums.grsecurity.net/viewtopic.php?t=3701&p=13376#p13376
97911
97912 include/linux/kallsyms.h | 2 +-
97913 kernel/kprobes.c | 3 +++
97914 2 files changed, 4 insertions(+), 1 deletions(-)
97915
97916 commit 3d1cf88bbdbe4c0e83dd7d731ecaf1741209d6b7
97917 Author: yonghua zheng <younghua.zheng@gmail.com>
97918 Date: Tue Aug 13 16:01:03 2013 -0700
97919
97920 fs/proc/task_mmu.c: fix buffer overflow in add_page_map()
97921
97922 Recently we met quite a lot of random kernel panic issues after enabling
97923 CONFIG_PROC_PAGE_MONITOR. After debuggind we found this has something
97924 to do with following bug in pagemap:
97925
97926 In struct pagemapread:
97927
97928 struct pagemapread {
97929 int pos, len;
97930 pagemap_entry_t *buffer;
97931 bool v2;
97932 };
97933
97934 pos is number of PM_ENTRY_BYTES in buffer, but len is the size of
97935 buffer, it is a mistake to compare pos and len in add_page_map() for
97936 checking buffer is full or not, and this can lead to buffer overflow and
97937 random kernel panic issue.
97938
97939 Correct len to be total number of PM_ENTRY_BYTES in buffer.
97940
97941 [akpm@linux-foundation.org: document pagemapread.pos and .len units, fix PM_ENTRY_BYTES definition]
97942 Signed-off-by: Yonghua Zheng <younghua.zheng@gmail.com>
97943 Cc: <stable@vger.kernel.org>
97944 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
97945 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
97946
97947 Conflicts:
97948
97949 fs/proc/task_mmu.c
97950
97951 fs/proc/task_mmu.c | 8 ++++----
97952 1 files changed, 4 insertions(+), 4 deletions(-)
97953
97954 commit 0a3dac834746de241c10d4978bf61b4f146ba89d
97955 Merge: dc19474 e12de30
97956 Author: Brad Spengler <spender@grsecurity.net>
97957 Date: Fri Aug 16 17:39:01 2013 -0400
97958
97959 Merge branch 'pax-test' into grsec-test
97960
97961 commit e12de30aa6b575fc3c9f5cd098dd03623598cb33
97962 Author: Brad Spengler <spender@grsecurity.net>
97963 Date: Fri Aug 16 17:34:47 2013 -0400
97964
97965 Update to pax-linux-3.10.7-test9.patch:
97966 - Emese fixed a size overflow false positive reported by Sven Vermeulen
97967 - fixed some arm compile problems reported by spender
97968 - added empty unchecked wrappers for local_t accessors on mips, by Corey Minyard <cminyard@mvista.com>
97969 eventually we'll have full REFCOUNT support on mips
97970
97971 arch/arm/kernel/process.c | 5 ++-
97972 arch/arm/mm/Kconfig | 2 +-
97973 arch/arm/mm/fault.c | 3 ++
97974 arch/mips/include/asm/local.h | 57 +++++++++++++++++++++++++++++++++++++++++
97975 mm/internal.h | 2 +-
97976 5 files changed, 65 insertions(+), 4 deletions(-)
97977
97978 commit dc19474d0ea6ea3c939544ae5f906067b1784a10
97979 Merge: 51b78c0 82266f9
97980 Author: Brad Spengler <spender@grsecurity.net>
97981 Date: Thu Aug 15 21:47:37 2013 -0400
97982
97983 Merge branch 'pax-test' into grsec-test
97984
97985 commit 82266f90a3f87ab5017329fb539aebf94c42253a
97986 Author: Brad Spengler <spender@grsecurity.net>
97987 Date: Thu Aug 15 21:14:47 2013 -0400
97988
97989 Update to pax-linux-3.10.7-test9.patch
97990
97991 arch/arm/kernel/process.c | 6 ++----
97992 1 files changed, 2 insertions(+), 4 deletions(-)
97993
97994 commit 51b78c06d1f41614f593cd36456b4af559e9d7fa
97995 Merge: e32d904 cb77ead
97996 Author: Brad Spengler <spender@grsecurity.net>
97997 Date: Thu Aug 15 20:53:45 2013 -0400
97998
97999 Merge branch 'pax-test' into grsec-test
98000
98001 Conflicts:
98002 security/Kconfig
98003
98004 commit cb77ead0eccb5abb75f7e437a3725d0254558ccd
98005 Merge: 13675b8 519be45
98006 Author: Brad Spengler <spender@grsecurity.net>
98007 Date: Thu Aug 15 20:50:47 2013 -0400
98008
98009 Update to pax-linux-3.10.7-test8.patch
98010
98011 Merge branch 'linux-3.10.y' into pax-test
98012
98013 commit e32d904b87292288e74e2637b900fd1115687b8e
98014 Author: Brad Spengler <spender@grsecurity.net>
98015 Date: Sat Aug 10 09:41:40 2013 -0400
98016
98017 propagate the threadstack offset through to the topdown/bottomup allocators
98018 on sparc64 hugepages
98019
98020 arch/sparc/mm/hugetlbpage.c | 12 ++++++++----
98021 1 files changed, 8 insertions(+), 4 deletions(-)
98022
98023 commit cefa30759f6c977fff5cc1634ecfbfe0ee44391c
98024 Author: Oleg Nesterov <oleg@redhat.com>
98025 Date: Thu Aug 8 18:55:32 2013 +0200
98026
98027 Upstream commit: 8742f229b635bf1c1c84a3dfe5e47c814c20b5c8
98028
98029 another local DoS found in reaction to the one I reported,
98030 we don't allow unpriv user ns use so this doesn't matter much to us
98031
98032 userns: limit the maximum depth of user_namespace->parent chain
98033
98034 Ensure that user_namespace->parent chain can't grow too much.
98035 Currently we use the hardroded 32 as limit.
98036
98037 Reported-by: Andy Lutomirski <luto@amacapital.net>
98038 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
98039 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
98040
98041 include/linux/user_namespace.h | 1 +
98042 kernel/user_namespace.c | 4 ++++
98043 2 files changed, 5 insertions(+), 0 deletions(-)
98044
98045 commit 223ac007ef18bf3a5095ba0a56675c1f16200149
98046 Merge: 1c92de4 13675b8
98047 Author: Brad Spengler <spender@grsecurity.net>
98048 Date: Thu Aug 8 20:45:24 2013 -0400
98049
98050 Merge branch 'pax-test' into grsec-test
98051
98052 Conflicts:
98053 security/Kconfig
98054
98055 commit 13675b848cf02bffd26924b2b84d927095bc253d
98056 Author: Brad Spengler <spender@grsecurity.net>
98057 Date: Thu Aug 8 20:43:52 2013 -0400
98058
98059 Update to pax-linux-3.10.5-test8.patch:
98060 - Emese fixed a size overflow false positive, reported by markusle (http://forums.grsecurity.net/viewtopic.php?f=3&t=3692)
98061 - fixed the use of PXN for 2-level pages tables on arm, by Corey Minyard <cminyard@mvista.com>
98062 - added PAGEEXEC/XI violation reporting on mips, by Corey Minyard <cminyard@mvista.com>
98063
98064 arch/arm/include/asm/pgtable-2level.h | 4 +++-
98065 arch/arm/mm/proc-v7-2level.S | 3 ---
98066 arch/mips/mm/fault.c | 8 ++++++++
98067 arch/x86/include/asm/processor.h | 3 ++-
98068 include/linux/math64.h | 2 +-
98069 security/Kconfig | 2 --
98070 6 files changed, 14 insertions(+), 8 deletions(-)
98071
98072 commit 1c92de4b8811c330af033c31d83c9c45e3d064b2
98073 Merge: e65aa3d 1660f49
98074 Author: Brad Spengler <spender@grsecurity.net>
98075 Date: Mon Aug 5 18:50:45 2013 -0400
98076
98077 Merge branch 'pax-test' into grsec-test
98078
98079 commit 1660f496848b8400d263f7920989dae15e72185a
98080 Merge: 7f91ba1 dc51cd2
98081 Author: Brad Spengler <spender@grsecurity.net>
98082 Date: Mon Aug 5 18:50:12 2013 -0400
98083
98084 Update to pax-linux-3.10.5-test7.patch
98085
98086 Merge branch 'linux-3.10.y' into pax-test
98087
98088 Conflicts:
98089 arch/x86/kernel/head_64.S
98090 mm/mempolicy.c
98091
98092 commit e65aa3dd447115cb79b4815bc1ceac7b3cacef15
98093 Author: Brad Spengler <spender@grsecurity.net>
98094 Date: Mon Aug 5 17:58:42 2013 -0400
98095
98096 Disable RANDKSTACK for a VirtualBox host as mentioned on the
98097 gentoo-hardened bugzilla:
98098 https://bugs.gentoo.org/show_bug.cgi?id=382793
98099
98100 security/Kconfig | 2 +-
98101 1 files changed, 1 insertions(+), 1 deletions(-)
98102
98103 commit 60d8cffd7740fd1d527790caf9a24a35d8c45858
98104 Author: Dan Carpenter <dan.carpenter@oracle.com>
98105 Date: Tue Jul 30 13:23:39 2013 +0300
98106
98107 Upstream commit: 8cb3b9c3642c0263d48f31d525bcee7170eedc20
98108
98109 net_sched: info leak in atm_tc_dump_class()
98110
98111 The "pvc" struct has a hole after pvc.sap_family which is not cleared.
98112
98113 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
98114 Reviewed-by: Jiri Pirko <jiri@resnulli.us>
98115 Signed-off-by: David S. Miller <davem@davemloft.net>
98116
98117 net/sched/sch_atm.c | 1 +
98118 1 files changed, 1 insertions(+), 0 deletions(-)
98119
98120 commit 50d20ebce56b6e0b9622685930e007e46c7c04bb
98121 Author: Daniel Borkmann <dborkman@redhat.com>
98122 Date: Fri Aug 2 11:32:43 2013 +0200
98123
98124 Upstream commit: 446266b0c742a2c9ee8f0dce759a0117bce58a86
98125
98126 net: rtm_to_ifaddr: free ifa if ifa_cacheinfo processing fails
98127
98128 Commit 5c766d642 ("ipv4: introduce address lifetime") leaves the ifa
98129 resource that was allocated via inet_alloc_ifa() unfreed when returning
98130 the function with -EINVAL. Thus, free it first via inet_free_ifa().
98131
98132 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
98133 Reviewed-by: Jiri Pirko <jiri@resnulli.us>
98134 Signed-off-by: David S. Miller <davem@davemloft.net>
98135
98136 net/ipv4/devinet.c | 4 +++-
98137 1 files changed, 3 insertions(+), 1 deletions(-)
98138
98139 commit 0acaba4eea12097cc59bc61a46ba1ef4a468b260
98140 Author: Himanshu Madhani <himanshu.madhani@qlogic.com>
98141 Date: Fri Aug 2 23:15:56 2013 -0400
98142
98143 Upstream commit: f91bbcb0b82186b4d5669021b142c263b66505e1
98144
98145 qlcnic: Free up memory in error path.
98146
98147 Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
98148 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
98149 Signed-off-by: David S. Miller <davem@davemloft.net>
98150
98151 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 6 +++---
98152 1 files changed, 3 insertions(+), 3 deletions(-)
98153
98154 commit 3626ec32c8b24cb38b8db2a1b2f5430bd898408a
98155 Author: Shahed Shaikh <shahed.shaikh@qlogic.com>
98156 Date: Fri Aug 2 23:15:54 2013 -0400
98157
98158 Upstream commit: 4a99ab56cea66f9f67b9d07ace5cd40a336c8e6f
98159
98160 qlcnic: Fix MAC address filter issue on 82xx adapter
98161
98162 Driver was passing the address of a pointer instead of
98163 the pointer itself.
98164
98165 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
98166 Signed-off-by: David S. Miller <davem@davemloft.net>
98167
98168 drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 2 +-
98169 1 files changed, 1 insertions(+), 1 deletions(-)
98170
98171 commit 5570df953d6c143e05f1d60d9c23210e60dbbe81
98172 Author: Brad Spengler <spender@grsecurity.net>
98173 Date: Mon Aug 5 17:26:40 2013 -0400
98174
98175 Move user namespace capability check to shared create_user_ns code so we
98176 cover unshare() as well.
98177
98178 Also kill a trivial 1-line, 22-character upstream kernel DoS, thanks to
98179 user namespaces!
98180
98181 kernel/fork.c | 17 -----------------
98182 kernel/user_namespace.c | 24 ++++++++++++++++++++++--
98183 2 files changed, 22 insertions(+), 19 deletions(-)
98184
98185 commit 97112fe30de4ca84e79c82ebfa2353b9c9988ca1
98186 Author: Brad Spengler <spender@grsecurity.net>
98187 Date: Mon Aug 5 16:05:41 2013 -0400
98188
98189 silence a warning on older gcc
98190
98191 grsecurity/gracl.c | 2 +-
98192 1 files changed, 1 insertions(+), 1 deletions(-)
98193
98194 commit b8966a5d577e9220fbc63306eee978f819f24e2e
98195 Author: Brad Spengler <spender@grsecurity.net>
98196 Date: Sat Aug 3 08:31:08 2013 -0400
98197
98198 we only care about mmaps of the beginning of an ELF, filter out
98199 all others as suggested by pipacs
98200
98201 mm/mmap.c | 2 +-
98202 1 files changed, 1 insertions(+), 1 deletions(-)
98203
98204 commit 8aea9fe5866dec3c847a34f743f343e18cf1cdcb
98205 Author: Brad Spengler <spender@grsecurity.net>
98206 Date: Fri Aug 2 23:54:51 2013 -0400
98207
98208 add include
98209
98210 grsecurity/grsec_log.c | 1 +
98211 1 files changed, 1 insertions(+), 0 deletions(-)
98212
98213 commit d48425ef8cb3761ab6130e52f1f8e401f5b5a295
98214 Author: Brad Spengler <spender@grsecurity.net>
98215 Date: Fri Aug 2 23:49:13 2013 -0400
98216
98217 fix compilation
98218
98219 include/linux/grinternal.h | 3 ++-
98220 1 files changed, 2 insertions(+), 1 deletions(-)
98221
98222 commit 1704c23fdc55b68f512dc9927940e72237f3f43e
98223 Author: Brad Spengler <spender@grsecurity.net>
98224 Date: Fri Aug 2 23:34:35 2013 -0400
98225
98226 Improve PaX reporting (tells when anon mapping is stack or heap)
98227 Remove textrel logging option, combine into rwx logging option
98228 Enhance RWX logging option to display when PT_GNU_STACK-enabled library
98229 is loaded under an MPROTECTed binary
98230 Enhance RWX mprotect logging to display stack/heap instead of just
98231 anon mapping
98232
98233 fs/binfmt_elf.c | 37 +++++++++++++++++++++++++++++++++++++
98234 fs/exec.c | 4 ++++
98235 grsecurity/Kconfig | 21 +++++----------------
98236 grsecurity/grsec_init.c | 4 ----
98237 grsecurity/grsec_log.c | 14 ++++++++++++++
98238 grsecurity/grsec_pax.c | 19 ++++++++++++++-----
98239 grsecurity/grsec_sysctl.c | 9 ---------
98240 include/linux/binfmts.h | 1 +
98241 include/linux/grinternal.h | 2 +-
98242 include/linux/grmsg.h | 3 ++-
98243 include/linux/grsecurity.h | 3 ++-
98244 mm/mmap.c | 7 +++++++
98245 mm/mprotect.c | 2 +-
98246 13 files changed, 88 insertions(+), 38 deletions(-)
98247
98248 commit faf81c100c8565524e21c9af780a0ad2ce3fd925
98249 Author: Brad Spengler <spender@grsecurity.net>
98250 Date: Thu Aug 1 18:52:02 2013 -0400
98251
98252 add missing #define
98253
98254 grsecurity/gracl.c | 1 +
98255 1 files changed, 1 insertions(+), 0 deletions(-)
98256
98257 commit e87232d1fcb4da72df971cbc623aac6c9b3871a0
98258 Author: Brad Spengler <spender@grsecurity.net>
98259 Date: Thu Aug 1 18:43:53 2013 -0400
98260
98261 fix compilation for !COMPAT as reported on the forums
98262
98263 grsecurity/gracl.c | 195 ++++++++++++++++++++++++++--------------------------
98264 1 files changed, 97 insertions(+), 98 deletions(-)
98265
98266 commit 65c9b9c6c42939dc55be1b8842e7c2e05733056c
98267 Merge: 65019c9 7f91ba1
98268 Author: Brad Spengler <spender@grsecurity.net>
98269 Date: Wed Jul 31 17:47:31 2013 -0400
98270
98271 Merge branch 'pax-test' into grsec-test
98272
98273 commit 65019c9bd05f860437071cbf00e2027fd2d68615
98274 Author: Brad Spengler <spender@grsecurity.net>
98275 Date: Wed Jul 31 17:47:20 2013 -0400
98276
98277 Revert "revert recent PaX change that causes boot failures with 32bit userland"
98278
98279 This reverts commit 23278a1ee1c7738dd1e7005241394d32b82196e4.
98280
98281 arch/x86/include/asm/processor.h | 4 ++--
98282 arch/x86/kernel/cpu/common.c | 2 +-
98283 arch/x86/kernel/process_64.c | 2 +-
98284 arch/x86/kernel/smpboot.c | 2 +-
98285 arch/x86/xen/smp.c | 2 +-
98286 5 files changed, 6 insertions(+), 6 deletions(-)
98287
98288 commit 7f91ba11122fcaa96fc2dca42bddcd5f8db3b945
98289 Author: Brad Spengler <spender@grsecurity.net>
98290 Date: Wed Jul 31 17:46:00 2013 -0400
98291
98292 Update to pax-linux-3.10.4-test7.patch:
98293 - added a few more missing format strings
98294 - added reporting of mismatched MPROTECT/EMUTRAMP flags between libraries and the main executable
98295 - reverted the recent amd64 kstack alignment fix, it'll be done the harder way another time
98296 - fixed a UDEREF/i386 regression, __get_user_8 would always fail
98297
98298 arch/x86/include/asm/processor.h | 4 +-
98299 arch/x86/kernel/cpu/common.c | 2 +-
98300 arch/x86/kernel/dumpstack.c | 2 +-
98301 arch/x86/kernel/process_64.c | 2 +-
98302 arch/x86/kernel/reboot_fixups_32.c | 2 +-
98303 arch/x86/kernel/smpboot.c | 2 +-
98304 arch/x86/lib/getuser.S | 4 +-
98305 arch/x86/xen/smp.c | 2 +-
98306 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 8 ++--
98307 drivers/video/backlight/backlight.c | 2 +-
98308 drivers/video/backlight/lcd.c | 2 +-
98309 fs/binfmt_elf.c | 51 +++++++++++++++++++++++++---
98310 fs/exec.c | 50 +++++++++++++--------------
98311 include/linux/sched.h | 2 +
98312 14 files changed, 88 insertions(+), 47 deletions(-)
98313
98314 commit 043130da54cb7cc8dc44e0ce889d426e889a0532
98315 Author: Brad Spengler <spender@grsecurity.net>
98316 Date: Wed Jul 31 16:26:58 2013 -0400
98317
98318 compile fix for !COMPAT as mentioned on forums
98319
98320 grsecurity/gracl.c | 2 ++
98321 1 files changed, 2 insertions(+), 0 deletions(-)
98322
98323 commit ed0a195abd4e41c2449a020a53a19c74dc866d78
98324 Author: Brad Spengler <spender@grsecurity.net>
98325 Date: Tue Jul 30 22:33:14 2013 -0400
98326
98327 perform compat conversion of rlimit infinity
98328
98329 grsecurity/gracl_compat.c | 10 ++++++++--
98330 1 files changed, 8 insertions(+), 2 deletions(-)
98331
98332 commit a99c1b9f31678c1c72a63bea65aed1b2d3205259
98333 Author: Brad Spengler <spender@grsecurity.net>
98334 Date: Tue Jul 30 22:21:40 2013 -0400
98335
98336 remove debugging
98337
98338 grsecurity/gracl_compat.c | 44 +++++++++++---------------------------------
98339 1 files changed, 11 insertions(+), 33 deletions(-)
98340
98341 commit e75b3f504692b97960a7530ad0855d91441d79c0
98342 Author: Brad Spengler <spender@grsecurity.net>
98343 Date: Tue Jul 30 22:20:32 2013 -0400
98344
98345 eliminate compat_dev_t
98346
98347 include/linux/gracl_compat.h | 4 ++--
98348 1 files changed, 2 insertions(+), 2 deletions(-)
98349
98350 commit e5abbaf95313066a724e1a843d4fc902a9a6450e
98351 Author: Brad Spengler <spender@grsecurity.net>
98352 Date: Tue Jul 30 22:13:22 2013 -0400
98353
98354 fix compat rlimit size
98355
98356 grsecurity/gracl_compat.c | 68 +++++++++++++++++++++++++++++-------------
98357 include/linux/gracl_compat.h | 4 +-
98358 2 files changed, 49 insertions(+), 23 deletions(-)
98359
98360 commit 877d6c2f8b3518ff39601084560bb33c58d35a1f
98361 Author: Brad Spengler <spender@grsecurity.net>
98362 Date: Tue Jul 30 21:20:18 2013 -0400
98363
98364 compile fix
98365
98366 grsecurity/gracl.c | 4 ++--
98367 1 files changed, 2 insertions(+), 2 deletions(-)
98368
98369 commit a2062eae8d1dc48d338480e599fedee2dc5e2f98
98370 Author: Brad Spengler <spender@grsecurity.net>
98371 Date: Tue Jul 30 21:14:29 2013 -0400
98372
98373 copy correct pointer size in new compat code
98374
98375 grsecurity/gracl.c | 8 ++++----
98376 grsecurity/gracl_compat.c | 4 ++--
98377 2 files changed, 6 insertions(+), 6 deletions(-)
98378
98379 commit 23278a1ee1c7738dd1e7005241394d32b82196e4
98380 Author: Brad Spengler <spender@grsecurity.net>
98381 Date: Tue Jul 30 19:48:58 2013 -0400
98382
98383 revert recent PaX change that causes boot failures with 32bit userland
98384
98385 arch/x86/include/asm/processor.h | 4 ++--
98386 arch/x86/kernel/cpu/common.c | 2 +-
98387 arch/x86/kernel/process_64.c | 2 +-
98388 arch/x86/kernel/smpboot.c | 2 +-
98389 arch/x86/xen/smp.c | 2 +-
98390 5 files changed, 6 insertions(+), 6 deletions(-)
98391
98392 commit ec27f71a813656fea8ab37faecb2b485fe99d08e
98393 Merge: 3a11bcf 05f0a61
98394 Author: Brad Spengler <spender@grsecurity.net>
98395 Date: Tue Jul 30 19:42:21 2013 -0400
98396
98397 Merge branch 'pax-test' into grsec-test
98398
98399 commit 05f0a610373fa95df838f97c3fcfb59a3d79c5b8
98400 Author: Brad Spengler <spender@grsecurity.net>
98401 Date: Tue Jul 30 19:41:44 2013 -0400
98402
98403 Update to pax-linux-3.10.4-test6.patch:
98404 - fixed some size_overflow false positives on i386 caused by __SC_LONG, reported by spender
98405
98406 include/linux/syscalls.h | 8 ++++++--
98407 1 files changed, 6 insertions(+), 2 deletions(-)
98408
98409 commit 3a11bcfcc738ed5dbf0d56713db872ed36351a26
98410 Author: Brad Spengler <spender@grsecurity.net>
98411 Date: Tue Jul 30 19:15:50 2013 -0400
98412
98413 compile fix
98414
98415 grsecurity/gracl_compat.c | 6 ++++++
98416 1 files changed, 6 insertions(+), 0 deletions(-)
98417
98418 commit 1dbd99b5cb0b6757eadf22309501e7fdd84f5de7
98419 Author: Brad Spengler <spender@grsecurity.net>
98420 Date: Tue Jul 30 19:12:46 2013 -0400
98421
98422 remove BUILD_BUG_ONs
98423
98424 grsecurity/gracl_compat.c | 20 --------------------
98425 1 files changed, 0 insertions(+), 20 deletions(-)
98426
98427 commit a283b21cbd77622383a1dcb1f7bf1080db3bae88
98428 Author: Brad Spengler <spender@grsecurity.net>
98429 Date: Tue Jul 30 00:18:36 2013 -0400
98430
98431 compile fixes
98432
98433 grsecurity/gracl_compat.c | 8 ++++----
98434 include/linux/gracl_compat.h | 2 +-
98435 2 files changed, 5 insertions(+), 5 deletions(-)
98436
98437 commit 8b744005f8bae565e24c1fd88af77e6e619b9434
98438 Author: Brad Spengler <spender@grsecurity.net>
98439 Date: Tue Jul 30 00:16:42 2013 -0400
98440
98441 compile fixes
98442
98443 grsecurity/gracl.c | 4 ++--
98444 grsecurity/gracl_compat.c | 2 +-
98445 2 files changed, 3 insertions(+), 3 deletions(-)
98446
98447 commit 5cd86afa393bf9bf38c2e9063191709ac2beff2c
98448 Author: Brad Spengler <spender@grsecurity.net>
98449 Date: Tue Jul 30 00:13:51 2013 -0400
98450
98451 compile fixes
98452
98453 grsecurity/gracl.c | 8 ++++----
98454 1 files changed, 4 insertions(+), 4 deletions(-)
98455
98456 commit b93b829afcc98b6108b18d99ff63c53642d0b951
98457 Author: Brad Spengler <spender@grsecurity.net>
98458 Date: Tue Jul 30 00:11:03 2013 -0400
98459
98460 compile fixes
98461
98462 grsecurity/gracl_compat.c | 3 +++
98463 1 files changed, 3 insertions(+), 0 deletions(-)
98464
98465 commit 7da096415fa633c4ad2b1f74bd43d3a58a63b5c0
98466 Author: Brad Spengler <spender@grsecurity.net>
98467 Date: Tue Jul 30 00:08:21 2013 -0400
98468
98469 more compile fixes
98470
98471 grsecurity/gracl.c | 28 ++++++++++++++--------------
98472 1 files changed, 14 insertions(+), 14 deletions(-)
98473
98474 commit 6c1fd80e19f1449b6895f1ed77f23f1245470b3b
98475 Author: Brad Spengler <spender@grsecurity.net>
98476 Date: Mon Jul 29 23:59:50 2013 -0400
98477
98478 more compile fixes
98479
98480 grsecurity/gracl.c | 10 +++++++++-
98481 1 files changed, 9 insertions(+), 1 deletions(-)
98482
98483 commit 89dda536f276dd4bb55fa0f9ea8980ac8b750d29
98484 Author: Brad Spengler <spender@grsecurity.net>
98485 Date: Mon Jul 29 23:56:47 2013 -0400
98486
98487 additional compile fixes
98488
98489 grsecurity/gracl.c | 59 +++++++++++++++++++++++++++++++++++++++++++--------
98490 1 files changed, 49 insertions(+), 10 deletions(-)
98491
98492 commit ac695a081d1124fb28bec46814535d34c5e40611
98493 Author: Brad Spengler <spender@grsecurity.net>
98494 Date: Mon Jul 29 23:47:15 2013 -0400
98495
98496 fix typo
98497
98498 grsecurity/gracl.c | 2 +-
98499 1 files changed, 1 insertions(+), 1 deletions(-)
98500
98501 commit d95dd21a8d6d00c5cf34fee3f45dd914b6da6093
98502 Author: Brad Spengler <spender@grsecurity.net>
98503 Date: Mon Jul 29 23:46:59 2013 -0400
98504
98505 compile fixes
98506
98507 grsecurity/gracl.c | 53 ++++++++++++++++++++++++++++++++++++++-------------
98508 1 files changed, 39 insertions(+), 14 deletions(-)
98509
98510 commit 82631f451cc7432b6c5578cf8d24155473feb25c
98511 Author: Brad Spengler <spender@grsecurity.net>
98512 Date: Mon Jul 29 23:22:44 2013 -0400
98513
98514 Initial commit of compat RBAC loading
98515 Permits 32bit gradm to load policy for a 64bit kernel
98516
98517 Also removed code duplication for copying strings into the kernel
98518
98519 Work performed as part of sponsorship
98520
98521 grsecurity/Makefile | 4 +
98522 grsecurity/gracl.c | 315 +++++++++++++++++++++++-------------------
98523 grsecurity/gracl_compat.c | 270 ++++++++++++++++++++++++++++++++++++
98524 include/linux/gracl_compat.h | 156 +++++++++++++++++++++
98525 4 files changed, 603 insertions(+), 142 deletions(-)
98526
98527 commit 84c4a433dfb096e4a1162ee5e68025122c70b421
98528 Merge: c9d3ed3 9fe5897
98529 Author: Brad Spengler <spender@grsecurity.net>
98530 Date: Mon Jul 29 17:08:56 2013 -0400
98531
98532 Merge branch 'pax-test' into grsec-test
98533
98534 commit 9fe58978938e357642885866ca48090a7753d403
98535 Merge: 8f693ad 6f7bb6b
98536 Author: Brad Spengler <spender@grsecurity.net>
98537 Date: Mon Jul 29 17:08:43 2013 -0400
98538
98539 Merge branch 'linux-3.10.y' into pax-test
98540
98541 commit c9d3ed33c5370bbacfadf86f6a1566828a3d7775
98542 Merge: d5e5bfd 8f693ad
98543 Author: Brad Spengler <spender@grsecurity.net>
98544 Date: Sun Jul 28 10:03:08 2013 -0400
98545
98546 Merge branch 'pax-test' into grsec-test
98547
98548 commit 8f693ade9b3e448f92706d34148b00a087637f70
98549 Author: Brad Spengler <spender@grsecurity.net>
98550 Date: Sun Jul 28 10:02:16 2013 -0400
98551
98552 Update to pax-linux-3.10.3-test5.patch:
98553 - fixed amd64 kstack alignment (caught by some crazy codegen by clang/llvm)
98554 - fixed handling of faulting userland accesses for UDEREF/arm, from spender
98555 - updated the size overflow hash table, from Emese
98556
98557 arch/arm/kernel/entry-armv.S | 3 +-
98558 arch/x86/include/asm/processor.h | 4 +-
98559 arch/x86/kernel/cpu/common.c | 2 +-
98560 arch/x86/kernel/process_64.c | 2 +-
98561 arch/x86/kernel/smpboot.c | 2 +-
98562 arch/x86/xen/smp.c | 2 +-
98563 tools/gcc/size_overflow_hash.data | 553 +++++++++++++++++++++++++++++++++----
98564 7 files changed, 513 insertions(+), 55 deletions(-)
98565
98566 commit d5e5bfd6ecc1fc7e86d070df8eb0ce8d0643c558
98567 Merge: 19e077b 8a8a0d0
98568 Author: Brad Spengler <spender@grsecurity.net>
98569 Date: Thu Jul 25 21:05:18 2013 -0400
98570
98571 Merge branch 'pax-test' into grsec-test
98572
98573 commit 8a8a0d0b22a86bf65302d03bb6732e42bc0a2e56
98574 Author: Brad Spengler <spender@grsecurity.net>
98575 Date: Thu Jul 25 21:04:09 2013 -0400
98576
98577 Update to pax-linux-3.10.3-test4.patch:
98578 - introduced per-slab object sanitization, contributed by Mathias Krause and secunet.
98579 this is finer grained sanitization than the existing per-page based approach (which
98580 is still done) at a somewhat higher performance cost. the pax_sanitize_slab command
98581 line option can be used to enable/disable it on boot (it's enabled by default when
98582 CONFIG_PAX_MEMORY_SANITIZE is enabled).
98583
98584 Documentation/kernel-parameters.txt | 4 ++++
98585 fs/buffer.c | 2 +-
98586 fs/dcache.c | 3 ++-
98587 include/linux/slab.h | 7 +++++++
98588 include/linux/slab_def.h | 4 ++++
98589 kernel/fork.c | 2 +-
98590 mm/rmap.c | 6 ++++--
98591 mm/slab.c | 27 +++++++++++++++++++++++++++
98592 mm/slab.h | 12 +++++++++++-
98593 mm/slab_common.c | 14 ++++++++++++++
98594 mm/slob.c | 5 +++++
98595 mm/slub.c | 11 +++++++++++
98596 net/core/skbuff.c | 6 ++++--
98597 security/Kconfig | 23 +++++++++++++++++------
98598 14 files changed, 112 insertions(+), 14 deletions(-)
98599
98600 commit 19e077bfff54ca211d0142c07cb6dd88069a390c
98601 Merge: 960ec51 c8f7f51
98602 Author: Brad Spengler <spender@grsecurity.net>
98603 Date: Thu Jul 25 19:53:34 2013 -0400
98604
98605 Merge branch 'pax-test' into grsec-test
98606
98607 commit c8f7f51591207b82530214300e86277028919286
98608 Merge: d5142e3 81a4648
98609 Author: Brad Spengler <spender@grsecurity.net>
98610 Date: Thu Jul 25 19:52:29 2013 -0400
98611
98612 Update to pax-linux-3.10.3-test3.patch:
98613 - fixed some compile issues reported by Michael Tremer and spender
98614 - fixed an i386 regression with the lower address space gap on i386, reported by cnu
98615
98616 Merge branch 'linux-3.10.y' into pax-test
98617
98618 Conflicts:
98619 kernel/time/tick-broadcast.c
98620
98621 commit 960ec51ab2142544fbae563d4fd5744775408965
98622 Author: Al Viro <viro@zeniv.linux.org.uk>
98623 Date: Sat Jul 20 03:13:55 2013 +0400
98624
98625 Upstream commit: acfec9a5a892f98461f52ed5770de99a3e571ae2
98626
98627 livelock avoidance in sget()
98628
98629 Eric Sandeen has found a nasty livelock in sget() - take a mount(2) about
98630 to fail. The superblock is on ->fs_supers, ->s_umount is held exclusive,
98631 ->s_active is 1. Along comes two more processes, trying to mount the same
98632 thing; sget() in each is picking that superblock, bumping ->s_count and
98633 trying to grab ->s_umount. ->s_active is 3 now. Original mount(2)
98634 finally gets to deactivate_locked_super() on failure; ->s_active is 2,
98635 superblock is still ->fs_supers because shutdown will *not* happen until
98636 ->s_active hits 0. ->s_umount is dropped and now we have two processes
98637 chasing each other:
98638 s_active = 2, A acquired ->s_umount, B blocked
98639 A sees that the damn thing is stillborn, does deactivate_locked_super()
98640 s_active = 1, A drops ->s_umount, B gets it
98641 A restarts the search and finds the same superblock. And bumps it ->s_active.
98642 s_active = 2, B holds ->s_umount, A blocked on trying to get it
98643 ... and we are in the earlier situation with A and B switched places.
98644
98645 The root cause, of course, is that ->s_active should not grow until we'd
98646 got MS_BORN. Then failing ->mount() will have deactivate_locked_super()
98647 shut the damn thing down. Fortunately, it's easy to do - the key point
98648 is that grab_super() is called only for superblocks currently on ->fs_supers,
98649 so it can bump ->s_count and grab ->s_umount first, then check MS_BORN and
98650 bump ->s_active; we must never increment ->s_count for superblocks past
98651 ->kill_sb(), but grab_super() is never called for those.
98652
98653 The bug is pretty old; we would've caught it by now, if not for accidental
98654 exclusion between sget() for block filesystems; the things like cgroup or
98655 e.g. mtd-based filesystems don't have anything of that sort, so they get
98656 bitten. The right way to deal with that is obviously to fix sget()...
98657
98658 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
98659
98660 fs/super.c | 25 ++++++++++---------------
98661 1 files changed, 10 insertions(+), 15 deletions(-)
98662
98663 commit 3540cebbbfa4aef94527ad3e0e49097848147fb9
98664 Merge: ab95b58 d5142e3
98665 Author: Brad Spengler <spender@grsecurity.net>
98666 Date: Sun Jul 21 22:47:46 2013 -0400
98667
98668 Merge branch 'pax-test' into grsec-test
98669
98670 commit d5142e31785f8c32c7338c51fcc27313bdd4a84e
98671 Merge: f36ae8c 0f4a56e
98672 Author: Brad Spengler <spender@grsecurity.net>
98673 Date: Sun Jul 21 22:47:34 2013 -0400
98674
98675 Merge branch 'linux-3.10.y' into pax-test
98676
98677 commit ab95b5842899d61ff5c30f4582e72029b3155be8
98678 Author: Brad Spengler <spender@grsecurity.net>
98679 Date: Sun Jul 21 22:28:40 2013 -0400
98680
98681 compile fix with constification reported by Michael Tremer
98682
98683 drivers/gpu/host1x/drm/dc.c | 2 +-
98684 1 files changed, 1 insertions(+), 1 deletions(-)
98685
98686 commit 817cd2d1e7a55720326599dd8f542578eef30927
98687 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
98688 Date: Fri Jul 12 23:46:33 2013 +0200
98689
98690 Upstream commit: 307f2fb95e9b96b3577916e73d92e104f8f26494
98691
98692 ipv6: only static routes qualify for equal cost multipathing
98693
98694 Static routes in this case are non-expiring routes which did not get
98695 configured by autoconf or by icmpv6 redirects.
98696
98697 To make sure we actually get an ecmp route while searching for the first
98698 one in this fib6_node's leafs, also make sure it matches the ecmp route
98699 assumptions.
98700
98701 v2:
98702 a) Removed RTF_EXPIRE check in dst.from chain. The check of RTF_ADDRCONF
98703 already ensures that this route, even if added again without
98704 RTF_EXPIRES (in case of a RA announcement with infinite timeout),
98705 does not cause the rt6i_nsiblings logic to go wrong if a later RA
98706 updates the expiration time later.
98707
98708 v3:
98709 a) Allow RTF_EXPIRES routes to enter the ecmp route set. We have to do so,
98710 because an pmtu event could update the RTF_EXPIRES flag and we would
98711 not count this route, if another route joins this set. We now filter
98712 only for RTF_GATEWAY|RTF_ADDRCONF|RTF_DYNAMIC, which are flags that
98713 don't get changed after rt6_info construction.
98714
98715 Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
98716 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
98717 Signed-off-by: David S. Miller <davem@davemloft.net>
98718
98719 net/ipv6/ip6_fib.c | 15 +++++++++++----
98720 1 files changed, 11 insertions(+), 4 deletions(-)
98721
98722 commit 77db8196d51b043e2e2d124094da101b0f01bccb
98723 Author: Dan Carpenter <dan.carpenter@oracle.com>
98724 Date: Fri Jul 12 09:39:03 2013 +0300
98725
98726 Upstream commit: b2781e1021525649c0b33fffd005ef219da33926
98727
98728 svcrdma: underflow issue in decode_write_list()
98729
98730 My static checker marks everything from ntohl() as untrusted and it
98731 complains we could have an underflow problem doing:
98732
98733 return (u32 *)&ary->wc_array[nchunks];
98734
98735 Also on 32 bit systems the upper bound check could overflow.
98736
98737 Cc: stable@vger.kernel.org
98738 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
98739 Signed-off-by: J. Bruce Fields <bfields@redhat.com>
98740
98741 net/sunrpc/xprtrdma/svc_rdma_marshal.c | 20 ++++++++++++++------
98742 1 files changed, 14 insertions(+), 6 deletions(-)
98743
98744 commit 926473317fd7953137ef97835edd36dabc584b01
98745 Author: Brad Spengler <spender@grsecurity.net>
98746 Date: Wed Jul 17 21:29:02 2013 -0400
98747
98748 add missing asm/pgtable.h include, reported by Michael Tremer
98749
98750 drivers/clk/socfpga/clk.c | 1 +
98751 1 files changed, 1 insertions(+), 0 deletions(-)
98752
98753 commit c592ae0001b31932ef1491784dfa374058797c66
98754 Author: Brad Spengler <spender@grsecurity.net>
98755 Date: Tue Jul 16 20:40:24 2013 -0400
98756
98757 allow viewing of ecryptfs version under SYSFS_RESTRICT
98758
98759 fs/sysfs/dir.c | 2 +-
98760 1 files changed, 1 insertions(+), 1 deletions(-)
98761
98762 commit 36db325ef3b07ea8cdb47f549e706e5d71398e14
98763 Merge: 9c96441 f36ae8c
98764 Author: Brad Spengler <spender@grsecurity.net>
98765 Date: Sun Jul 14 19:23:13 2013 -0400
98766
98767 Merge branch 'pax-test' into grsec-test
98768
98769 commit f36ae8c741ae32b1caff10825be12c327792c925
98770 Author: Brad Spengler <spender@grsecurity.net>
98771 Date: Sun Jul 14 19:22:15 2013 -0400
98772
98773 Update to pax-linux-3.10-test2.patch:
98774 - spender fixed a compile regression in a recent arm/UDEREF change, reported by Michael Tremer
98775 - spender fixed arm/KERNEXEC for v5 and older CPUs, reported by Michael Tremer
98776 - spender fixed a new CONSTIFY victim on arm, reported by Michael Tremer
98777 - spender fixed an madvise regression, reported by Peter Keel
98778 - spender fixed a SLAB regression, reported by Thorsten (http://forums.grsecurity.net/viewtopic.php?f=3&t=3614) and Jens (http://forums.grsecurity.net/viewtopic.php?f=1&t=3616)
98779 - fixed a headers_install regression, reported by Mathias Krause
98780 - fixed a SLOB compile regression, reported by Mathias Krause
98781
98782 arch/arm/include/asm/uaccess.h | 4 ++--
98783 arch/arm/mm/mmu.c | 15 +++++++++++++--
98784 drivers/clk/socfpga/clk.c | 6 ++++--
98785 mm/madvise.c | 4 ++--
98786 mm/slab.c | 4 ++--
98787 mm/slob.c | 4 ++--
98788 scripts/headers_install.sh | 2 +-
98789 7 files changed, 26 insertions(+), 13 deletions(-)
98790
98791 commit 9c9644156a49637050741d9165df79174e59b0ef
98792 Author: Brad Spengler <spender@grsecurity.net>
98793 Date: Sun Jul 14 19:19:54 2013 -0400
98794
98795 Fix sparc64 compilation, reported by Blake Self
98796
98797 arch/sparc/kernel/sys_sparc_64.c | 4 ++--
98798 1 files changed, 2 insertions(+), 2 deletions(-)
98799
98800 commit 7bcd3db081454768542c3d741bcf32cd61a50cf5
98801 Author: Brad Spengler <spender@grsecurity.net>
98802 Date: Sun Jul 14 11:49:17 2013 -0400
98803
98804 Update PaX fix, just return the error
98805
98806 mm/madvise.c | 15 +++++++--------
98807 1 files changed, 7 insertions(+), 8 deletions(-)
98808
98809 commit a10e377d0eddd37e8a3665b135e546ab03d9d171
98810 Author: Brad Spengler <spender@grsecurity.net>
98811 Date: Sun Jul 14 11:36:00 2013 -0400
98812
98813 Fix madvise oops reported by Peter Keel
98814
98815 mm/madvise.c | 11 ++++++-----
98816 1 files changed, 6 insertions(+), 5 deletions(-)
98817
98818 commit 08c5adca34d408772255b313f90d82c250c1d967
98819 Author: Brad Spengler <spender@grsecurity.net>
98820 Date: Sun Jul 14 11:26:34 2013 -0400
98821
98822 don't make high vector mapping non-present on old ARM architectures, no
98823 point in emulating some vector entries when the processor doesn't even support XN
98824
98825 arch/arm/mm/mmu.c | 7 +++++--
98826 1 files changed, 5 insertions(+), 2 deletions(-)
98827
98828 commit 2b40781d4197a89a003616af584884e36361c5b2
98829 Author: Brad Spengler <spender@grsecurity.net>
98830 Date: Sun Jul 14 09:51:58 2013 -0400
98831
98832 Temporary compile fix for code incorrectly modifying const data
98833 Wrap a cast version of the code with open/close
98834
98835 Thanks to Michael Tremer for the report
98836
98837 drivers/clk/socfpga/clk.c | 6 ++++--
98838 1 files changed, 4 insertions(+), 2 deletions(-)
98839
98840 commit a8258c1b4098c396cd4ea719e20858182feac1c1
98841 Author: Brad Spengler <spender@grsecurity.net>
98842 Date: Sun Jul 14 09:41:16 2013 -0400
98843
98844 Fix missing right parens in pipacs' "improvement" of my ARM code ;)
98845 Thanks to Michael Tremer for reporting
98846
98847 arch/arm/include/asm/uaccess.h | 4 ++--
98848 1 files changed, 2 insertions(+), 2 deletions(-)
98849
98850 commit 8542e1e973be7cc9a009d2ada8033576b2890e6f
98851 Merge: 86f446e 2577f8e
98852 Author: Brad Spengler <spender@grsecurity.net>
98853 Date: Sat Jul 13 20:46:58 2013 -0400
98854
98855 Merge branch 'pax-test' into grsec-test
98856
98857 Conflicts:
98858 mm/memcontrol.c
98859
98860 commit 2577f8e4ec41efb347706a59c6838de20f0c90da
98861 Merge: 75a36f0 cb5d8be
98862 Author: Brad Spengler <spender@grsecurity.net>
98863 Date: Sat Jul 13 20:43:42 2013 -0400
98864
98865 Merge branch 'linux-3.10.y' into pax-test
98866
98867 Conflicts:
98868 crypto/algapi.c
98869 drivers/block/nbd.c
98870
98871 commit 86f446e9d5c6b475d2e9360cc04f4361ad1b19b8
98872 Author: Brad Spengler <spender@grsecurity.net>
98873 Date: Fri Jul 12 23:02:11 2013 -0400
98874
98875 we always want the vector page to be noaccess for userland
98876 therefore, when kernexec is disabled, instead of L_PTE_USER | L_PTE_RDONLY
98877 which turns into supervisor rwx, userland rx, we instead omit that entirely,
98878 leaving it as supervisor rwx only
98879
98880 Fixes booting on ARMv5 and earlier, which need to write directly
98881 to the high vector mapping via set_tls when context switching
98882
98883 Thanks to Michael Tremer for the bugreport
98884
98885 arch/arm/mm/mmu.c | 12 ++++++++++--
98886 1 files changed, 10 insertions(+), 2 deletions(-)
98887
98888 commit 90cd0827eef656ec884f19c977873fefe2f2e47d
98889 Author: Cong Wang <amwang@redhat.com>
98890 Date: Sat Jun 29 12:02:59 2013 +0800
98891
98892 Upstream commit: 6c734fb8592f6768170e48e7102cb2f0a1bb9759
98893
98894 gre: fix a regression in ioctl
98895
98896 When testing GRE tunnel, I got:
98897
98898 # ip tunnel show
98899 get tunnel gre0 failed: Invalid argument
98900 get tunnel gre1 failed: Invalid argument
98901
98902 This is a regression introduced by commit c54419321455631079c7d
98903 ("GRE: Refactor GRE tunneling code.") because previously we
98904 only check the parameters for SIOCADDTUNNEL and SIOCCHGTUNNEL,
98905 after that commit, the check is moved for all commands.
98906
98907 So, just check for SIOCADDTUNNEL and SIOCCHGTUNNEL.
98908
98909 After this patch I got:
98910
98911 # ip tunnel show
98912 gre0: gre/ip remote any local any ttl inherit nopmtudisc
98913 gre1: gre/ip remote 192.168.122.101 local 192.168.122.45 ttl inherit
98914
98915 Cc: Pravin B Shelar <pshelar@nicira.com>
98916 Cc: "David S. Miller" <davem@davemloft.net>
98917 Signed-off-by: Cong Wang <amwang@redhat.com>
98918 Signed-off-by: David S. Miller <davem@davemloft.net>
98919
98920 net/ipv4/ip_gre.c | 9 +++++----
98921 1 files changed, 5 insertions(+), 4 deletions(-)
98922
98923 commit 50d4e90ec8da630eac8840da9c53b8738a2f98b5
98924 Author: Cong Wang <amwang@redhat.com>
98925 Date: Sat Jun 29 13:00:57 2013 +0800
98926
98927 Upstream commit: ab6c7a0a43c2eaafa57583822b619b22637b49c7
98928
98929 vti: remove duplicated code to fix a memory leak
98930
98931 vti module allocates dev->tstats twice: in vti_fb_tunnel_init()
98932 and in vti_tunnel_init(), this lead to a memory leak of
98933 dev->tstats.
98934
98935 Just remove the duplicated operations in vti_fb_tunnel_init().
98936
98937 (candidate for -stable)
98938
98939 Cc: Stephen Hemminger <stephen@networkplumber.org>
98940 Cc: Saurabh Mohan <saurabh.mohan@vyatta.com>
98941 Cc: "David S. Miller" <davem@davemloft.net>
98942 Signed-off-by: Cong Wang <amwang@redhat.com>
98943 Acked-by: Stephen Hemminger <stephen@networkplumber.org>
98944 Signed-off-by: David S. Miller <davem@davemloft.net>
98945
98946 net/ipv4/ip_vti.c | 7 -------
98947 1 files changed, 0 insertions(+), 7 deletions(-)
98948
98949 commit af9e57897a8fab9bbeceb984bd0aeaedb36aefcd
98950 Author: Michal Schmidt <mschmidt@redhat.com>
98951 Date: Mon Jul 1 17:23:05 2013 +0200
98952
98953 Upstream commit: 058eec4116935c5640299913e1e0715e87ec622a
98954
98955 bnx2x: remove zeroing of dump data buffer
98956
98957 There is no need to initialize the dump data with zeros.
98958 data is allocated with vzalloc, so it's already zero-filled.
98959
98960 More importantly, the memset is harmful, because dump->len (the length
98961 requested by userspace) can be bigger than the allocated buffer (whose
98962 size is determined by asking the driver's .get_dump_flag method).
98963
98964 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
98965 Signed-off-by: David S. Miller <davem@davemloft.net>
98966
98967 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 2 --
98968 1 files changed, 0 insertions(+), 2 deletions(-)
98969
98970 commit c771072b72c261f9bddd6734dca6979c1b96e7df
98971 Author: Michal Schmidt <mschmidt@redhat.com>
98972 Date: Mon Jul 1 17:23:06 2013 +0200
98973
98974 Upstream commit: 5bb680d6cbe36de9d7ba12b05f845c91a8692318
98975
98976 bnx2x: fix dump flag handling
98977
98978 bnx2x interprets the dump flag as an index of a register preset.
98979 It is important to validate the index to avoid out of bounds
98980 memory accesses.
98981
98982 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
98983 Signed-off-by: David S. Miller <davem@davemloft.net>
98984
98985 .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 3 +++
98986 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 ++
98987 2 files changed, 5 insertions(+), 0 deletions(-)
98988
98989 commit aed315c8fad9b2044143b46b239574b1b72135ce
98990 Author: Michal Schmidt <mschmidt@redhat.com>
98991 Date: Mon Jul 1 17:23:30 2013 +0200
98992
98993 Upstream commit: c590b5e2f05b5e98e614382582b7ae4cddb37599
98994
98995 ethtool: make .get_dump_data() harder to misuse by drivers
98996
98997 As the patch "bnx2x: remove zeroing of dump data buffer" showed,
98998 it is too easy implement .get_dump_data incorrectly in a driver.
98999
99000 Let's make sure drivers cannot get confused by userspace requesting
99001 a too big dump.
99002
99003 Also WARN if the driver sets dump->len to something weird and make
99004 sure the length reported to userspace is the actual length of data
99005 copied to userspace.
99006
99007 Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
99008 Reviewed-by: Ben Hutchings <ben@decadent.org.uk>
99009 Signed-off-by: David S. Miller <davem@davemloft.net>
99010
99011 net/core/ethtool.c | 21 ++++++++++++++++++++-
99012 1 files changed, 20 insertions(+), 1 deletions(-)
99013
99014 commit 5c57991e66216e386dcc875d34c33f0edd038569
99015 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
99016 Date: Tue Jul 2 09:02:07 2013 +0800
99017
99018 Upstream commit: e1558a93b61962710733dc8c11a2bc765607f1cd
99019
99020 l2tp: add missing .owner to struct pppox_proto
99021
99022 Add missing .owner of struct pppox_proto. This prevents the
99023 module from being removed from underneath its users.
99024
99025 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
99026 Signed-off-by: David S. Miller <davem@davemloft.net>
99027
99028 net/l2tp/l2tp_ppp.c | 3 ++-
99029 1 files changed, 2 insertions(+), 1 deletions(-)
99030
99031 commit 4613b8adae32cc774bb727d2ec71f3d0bd7ff1c4
99032 Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
99033 Date: Sun Jun 30 14:37:11 2013 +1000
99034
99035 Upstream commit: 7cc47d139f9a815a91bd9e7377063238c69a0423
99036
99037 cxgb3: Missing rtnl lock in error recovery
99038
99039 When exercising error injection on IBM pseries machine, I hit the
99040 following warning:
99041
99042 [ 251.450043] RTAS: event: 89, Type: Platform Error, Severity: 2
99043 [ 253.549822] cxgb3 0006:01:00.0: enabling device (0140 -> 0142)
99044 [ 253.713560] cxgb3 0006:01:00.0: adapter recovering, PEX ERR 0x100
99045 [ 254.895437] RTNL: assertion failed at net/core/dev.c (2031)
99046 [ 254.895467] CPU: 6 PID: 5449 Comm: eehd Tainted: G W 3.10.0-rc7-00157-gea461ab #19
99047 [ 254.895474] Call Trace:
99048 [ 254.895483] [c000000fac56f7d0] [c000000000014dcc] .show_stack+0x7c/0x1f0 (unreliable)
99049 [ 254.895493] [c000000fac56f8a0] [c0000000007ba318] .dump_stack+0x28/0x3c
99050 [ 254.895500] [c000000fac56f910] [c0000000006c0384] .netif_set_real_num_tx_queues+0x224/0x230
99051 [ 254.895515] [c000000fac56f9b0] [d00000000ef35510] .cxgb_open+0x80/0x3f0 [cxgb3]
99052 [ 254.895525] [c000000fac56fa50] [d00000000ef35914] .t3_resume_ports+0x94/0x100 [cxgb3]
99053 [ 254.895533] [c000000fac56fae0] [c00000000005fc8c] .eeh_report_resume+0x8c/0xd0
99054 [ 254.895539] [c000000fac56fb60] [c00000000005e9fc] .eeh_pe_dev_traverse+0x9c/0x190
99055 [ 254.895545] [c000000fac56fc10] [c000000000060000] .eeh_handle_event+0x110/0x330
99056 [ 254.895551] [c000000fac56fca0] [c000000000060350] .eeh_event_handler+0x130/0x1a0
99057 [ 254.895558] [c000000fac56fd30] [c0000000000ad758] .kthread+0xe8/0xf0
99058 [ 254.895566] [c000000fac56fe30] [c00000000000a05c] .ret_from_kernel_thread+0x5c/0x80
99059
99060 It appears that t3_resume_ports() is called with the rtnl_lock held from
99061 the fatal error task but not from the PCI error callbacks. This fixes it.
99062
99063 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
99064 Signed-off-by: David S. Miller <davem@davemloft.net>
99065
99066 drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 2 ++
99067 1 files changed, 2 insertions(+), 0 deletions(-)
99068
99069 commit ea8f4222cddf3250dbcfc7db0437ebf74c352370
99070 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
99071 Date: Mon Jul 1 20:21:30 2013 +0200
99072
99073 Upstream commit: 8822b64a0fa64a5dd1dfcf837c5b0be83f8c05d1
99074
99075 ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET pending data
99076
99077 We accidentally call down to ip6_push_pending_frames when uncorking
99078 pending AF_INET data on a ipv6 socket. This results in the following
99079 splat (from Dave Jones):
99080
99081 skbuff: skb_under_panic: text:ffffffff816765f6 len:48 put:40 head:ffff88013deb6df0 data:ffff88013deb6dec tail:0x2c end:0xc0 dev:<NULL>
99082 ------------[ cut here ]------------
99083 kernel BUG at net/core/skbuff.c:126!
99084 invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
99085 Modules linked in: dccp_ipv4 dccp 8021q garp bridge stp dlci mpoa snd_seq_dummy sctp fuse hidp tun bnep nfnetlink scsi_transport_iscsi rfcomm can_raw can_bcm af_802154 appletalk caif_socket can caif ipt_ULOG x25 rose af_key pppoe pppox ipx phonet irda llc2 ppp_generic slhc p8023 psnap p8022 llc crc_ccitt atm bluetooth
99086 +netrom ax25 nfc rfkill rds af_rxrpc coretemp hwmon kvm_intel kvm crc32c_intel snd_hda_codec_realtek ghash_clmulni_intel microcode pcspkr snd_hda_codec_hdmi snd_hda_intel snd_hda_codec snd_hwdep usb_debug snd_seq snd_seq_device snd_pcm e1000e snd_page_alloc snd_timer ptp snd pps_core soundcore xfs libcrc32c
99087 CPU: 2 PID: 8095 Comm: trinity-child2 Not tainted 3.10.0-rc7+ #37
99088 task: ffff8801f52c2520 ti: ffff8801e6430000 task.ti: ffff8801e6430000
99089 RIP: 0010:[<ffffffff816e759c>] [<ffffffff816e759c>] skb_panic+0x63/0x65
99090 RSP: 0018:ffff8801e6431de8 EFLAGS: 00010282
99091 RAX: 0000000000000086 RBX: ffff8802353d3cc0 RCX: 0000000000000006
99092 RDX: 0000000000003b90 RSI: ffff8801f52c2ca0 RDI: ffff8801f52c2520
99093 RBP: ffff8801e6431e08 R08: 0000000000000000 R09: 0000000000000000
99094 R10: 0000000000000001 R11: 0000000000000001 R12: ffff88022ea0c800
99095 R13: ffff88022ea0cdf8 R14: ffff8802353ecb40 R15: ffffffff81cc7800
99096 FS: 00007f5720a10740(0000) GS:ffff880244c00000(0000) knlGS:0000000000000000
99097 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
99098 CR2: 0000000005862000 CR3: 000000022843c000 CR4: 00000000001407e0
99099 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
99100 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
99101 Stack:
99102 ffff88013deb6dec 000000000000002c 00000000000000c0 ffffffff81a3f6e4
99103 ffff8801e6431e18 ffffffff8159a9aa ffff8801e6431e90 ffffffff816765f6
99104 ffffffff810b756b 0000000700000002 ffff8801e6431e40 0000fea9292aa8c0
99105 Call Trace:
99106 [<ffffffff8159a9aa>] skb_push+0x3a/0x40
99107 [<ffffffff816765f6>] ip6_push_pending_frames+0x1f6/0x4d0
99108 [<ffffffff810b756b>] ? mark_held_locks+0xbb/0x140
99109 [<ffffffff81694919>] udp_v6_push_pending_frames+0x2b9/0x3d0
99110 [<ffffffff81694660>] ? udplite_getfrag+0x20/0x20
99111 [<ffffffff8162092a>] udp_lib_setsockopt+0x1aa/0x1f0
99112 [<ffffffff811cc5e7>] ? fget_light+0x387/0x4f0
99113 [<ffffffff816958a4>] udpv6_setsockopt+0x34/0x40
99114 [<ffffffff815949f4>] sock_common_setsockopt+0x14/0x20
99115 [<ffffffff81593c31>] SyS_setsockopt+0x71/0xd0
99116 [<ffffffff816f5d54>] tracesys+0xdd/0xe2
99117 Code: 00 00 48 89 44 24 10 8b 87 d8 00 00 00 48 89 44 24 08 48 8b 87 e8 00 00 00 48 c7 c7 c0 04 aa 81 48 89 04 24 31 c0 e8 e1 7e ff ff <0f> 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55
99118 RIP [<ffffffff816e759c>] skb_panic+0x63/0x65
99119 RSP <ffff8801e6431de8>
99120
99121 This patch adds a check if the pending data is of address family AF_INET
99122 and directly calls udp_push_ending_frames from udp_v6_push_pending_frames
99123 if that is the case.
99124
99125 This bug was found by Dave Jones with trinity.
99126
99127 (Also move the initialization of fl6 below the AF_INET check, even if
99128 not strictly necessary.)
99129
99130 Cc: Dave Jones <davej@redhat.com>
99131 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
99132 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
99133 Signed-off-by: David S. Miller <davem@davemloft.net>
99134
99135 include/net/udp.h | 1 +
99136 net/ipv4/udp.c | 3 ++-
99137 net/ipv6/udp.c | 7 ++++++-
99138 3 files changed, 9 insertions(+), 2 deletions(-)
99139
99140 commit cd83094a85d9bbd5a67332156407d53cf8835432
99141 Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
99142 Date: Tue Jul 2 08:04:05 2013 +0200
99143
99144 Upstream commit: 75a493e60ac4bbe2e977e7129d6d8cbb0dd236be
99145
99146 ipv6: ip6_append_data_mtu did not care about pmtudisc and frag_size
99147
99148 If the socket had an IPV6_MTU value set, ip6_append_data_mtu lost track
99149 of this when appending the second frame on a corked socket. This results
99150 in the following splat:
99151
99152 [37598.993962] ------------[ cut here ]------------
99153 [37598.994008] kernel BUG at net/core/skbuff.c:2064!
99154 [37598.994008] invalid opcode: 0000 [#1] SMP
99155 [37598.994008] Modules linked in: tcp_lp uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media vfat fat usb_storage fuse ebtable_nat xt_CHECKSUM bridge stp llc ipt_MASQUERADE nf_conntrack_netbios_ns nf_conntrack_broadcast ip6table_mangle ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 iptable_nat
99156 +nf_nat_ipv4 nf_nat iptable_mangle nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ebtable_filter ebtables ip6table_filter ip6_tables be2iscsi iscsi_boot_sysfs bnx2i cnic uio cxgb4i cxgb4 cxgb3i cxgb3 mdio libcxgbi ib_iser rdma_cm ib_addr iw_cm ib_cm ib_sa ib_mad ib_core iscsi_tcp libiscsi_tcp libiscsi
99157 +scsi_transport_iscsi rfcomm bnep iTCO_wdt iTCO_vendor_support snd_hda_codec_conexant arc4 iwldvm mac80211 snd_hda_intel acpi_cpufreq mperf coretemp snd_hda_codec microcode cdc_wdm cdc_acm
99158 [37598.994008] snd_hwdep cdc_ether snd_seq snd_seq_device usbnet mii joydev btusb snd_pcm bluetooth i2c_i801 e1000e lpc_ich mfd_core ptp iwlwifi pps_core snd_page_alloc mei cfg80211 snd_timer thinkpad_acpi snd tpm_tis soundcore rfkill tpm tpm_bios vhost_net tun macvtap macvlan kvm_intel kvm uinput binfmt_misc
99159 +dm_crypt i915 i2c_algo_bit drm_kms_helper drm i2c_core wmi video
99160 [37598.994008] CPU 0
99161 [37598.994008] Pid: 27320, comm: t2 Not tainted 3.9.6-200.fc18.x86_64 #1 LENOVO 27744PG/27744PG
99162 [37598.994008] RIP: 0010:[<ffffffff815443a5>] [<ffffffff815443a5>] skb_copy_and_csum_bits+0x325/0x330
99163 [37598.994008] RSP: 0018:ffff88003670da18 EFLAGS: 00010202
99164 [37598.994008] RAX: ffff88018105c018 RBX: 0000000000000004 RCX: 00000000000006c0
99165 [37598.994008] RDX: ffff88018105a6c0 RSI: ffff88018105a000 RDI: ffff8801e1b0aa00
99166 [37598.994008] RBP: ffff88003670da78 R08: 0000000000000000 R09: ffff88018105c040
99167 [37598.994008] R10: ffff8801e1b0aa00 R11: 0000000000000000 R12: 000000000000fff8
99168 [37598.994008] R13: 00000000000004fc R14: 00000000ffff0504 R15: 0000000000000000
99169 [37598.994008] FS: 00007f28eea59740(0000) GS:ffff88023bc00000(0000) knlGS:0000000000000000
99170 [37598.994008] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
99171 [37598.994008] CR2: 0000003d935789e0 CR3: 00000000365cb000 CR4: 00000000000407f0
99172 [37598.994008] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
99173 [37598.994008] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
99174 [37598.994008] Process t2 (pid: 27320, threadinfo ffff88003670c000, task ffff88022c162ee0)
99175 [37598.994008] Stack:
99176 [37598.994008] ffff88022e098a00 ffff88020f973fc0 0000000000000008 00000000000004c8
99177 [37598.994008] ffff88020f973fc0 00000000000004c4 ffff88003670da78 ffff8801e1b0a200
99178 [37598.994008] 0000000000000018 00000000000004c8 ffff88020f973fc0 00000000000004c4
99179 [37598.994008] Call Trace:
99180 [37598.994008] [<ffffffff815fc21f>] ip6_append_data+0xccf/0xfe0
99181 [37598.994008] [<ffffffff8158d9f0>] ? ip_copy_metadata+0x1a0/0x1a0
99182 [37598.994008] [<ffffffff81661f66>] ? _raw_spin_lock_bh+0x16/0x40
99183 [37598.994008] [<ffffffff8161548d>] udpv6_sendmsg+0x1ed/0xc10
99184 [37598.994008] [<ffffffff812a2845>] ? sock_has_perm+0x75/0x90
99185 [37598.994008] [<ffffffff815c3693>] inet_sendmsg+0x63/0xb0
99186 [37598.994008] [<ffffffff812a2973>] ? selinux_socket_sendmsg+0x23/0x30
99187 [37598.994008] [<ffffffff8153a450>] sock_sendmsg+0xb0/0xe0
99188 [37598.994008] [<ffffffff810135d1>] ? __switch_to+0x181/0x4a0
99189 [37598.994008] [<ffffffff8153d97d>] sys_sendto+0x12d/0x180
99190 [37598.994008] [<ffffffff810dfb64>] ? __audit_syscall_entry+0x94/0xf0
99191 [37598.994008] [<ffffffff81020ed1>] ? syscall_trace_enter+0x231/0x240
99192 [37598.994008] [<ffffffff8166a7e7>] tracesys+0xdd/0xe2
99193 [37598.994008] Code: fe 07 00 00 48 c7 c7 04 28 a6 81 89 45 a0 4c 89 4d b8 44 89 5d a8 e8 1b ac b1 ff 44 8b 5d a8 4c 8b 4d b8 8b 45 a0 e9 cf fe ff ff <0f> 0b 66 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48 89 e5 48
99194 [37598.994008] RIP [<ffffffff815443a5>] skb_copy_and_csum_bits+0x325/0x330
99195 [37598.994008] RSP <ffff88003670da18>
99196 [37599.007323] ---[ end trace d69f6a17f8ac8eee ]---
99197
99198 While there, also check if path mtu discovery is activated for this
99199 socket. The logic was adapted from ip6_append_data when first writing
99200 on the corked socket.
99201
99202 This bug was introduced with commit
99203 0c1833797a5a6ec23ea9261d979aa18078720b74 ("ipv6: fix incorrect ipsec
99204 fragment").
99205
99206 v2:
99207 a) Replace IPV6_PMTU_DISC_DO with IPV6_PMTUDISC_PROBE.
99208 b) Don't pass ipv6_pinfo to ip6_append_data_mtu (suggestion by Gao
99209 feng, thanks!).
99210 c) Change mtu to unsigned int, else we get a warning about
99211 non-matching types because of the min()-macro type-check.
99212
99213 Acked-by: Gao feng <gaofeng@cn.fujitsu.com>
99214 Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
99215 Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
99216 Signed-off-by: David S. Miller <davem@davemloft.net>
99217
99218 net/ipv6/ip6_output.c | 16 ++++++++++------
99219 1 files changed, 10 insertions(+), 6 deletions(-)
99220
99221 commit 23151ca7ca80e58d2616dac7be9fd62943c9a72c
99222 Author: Michael S. Tsirkin <mst@redhat.com>
99223 Date: Sun Jul 7 14:26:53 2013 +0300
99224
99225 Upstream commit: dd7633ecd553a5e304d349aa6f8eb8a0417098c5
99226
99227 vhost-net: fix use-after-free in vhost_net_flush
99228
99229 vhost_net_ubuf_put_and_wait has a confusing name:
99230 it will actually also free it's argument.
99231 Thus since commit 1280c27f8e29acf4af2da914e80ec27c3dbd5c01
99232 "vhost-net: flush outstanding DMAs on memory change"
99233 vhost_net_flush tries to use the argument after passing it
99234 to vhost_net_ubuf_put_and_wait, this results
99235 in use after free.
99236 To fix, don't free the argument in vhost_net_ubuf_put_and_wait,
99237 add an new API for callers that want to free ubufs.
99238
99239 Acked-by: Asias He <asias@redhat.com>
99240 Acked-by: Jason Wang <jasowang@redhat.com>
99241 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
99242 Signed-off-by: David S. Miller <davem@davemloft.net>
99243
99244 drivers/vhost/net.c | 9 +++++++--
99245 1 files changed, 7 insertions(+), 2 deletions(-)
99246
99247 commit 088806db74ac2f08c106202bc5498585a9ee529f
99248 Author: Michal Hocko <mhocko@suse.cz>
99249 Date: Mon Jul 8 16:00:29 2013 -0700
99250
99251 Upstream commit: f37a96914d1aea10fed8d9af10251f0b9caea31b
99252
99253 memcg, kmem: fix reference count handling on the error path
99254
99255 mem_cgroup_css_online calls mem_cgroup_put if memcg_init_kmem fails.
99256 This is not correct because only memcg_propagate_kmem takes an
99257 additional reference while mem_cgroup_sockets_init is allowed to fail as
99258 well (although no current implementation fails) but it doesn't take any
99259 reference. This all suggests that it should be memcg_propagate_kmem
99260 that should clean up after itself so this patch moves mem_cgroup_put
99261 over there.
99262
99263 Unfortunately this is not that easy (as pointed out by Li Zefan) because
99264 memcg_kmem_mark_dead marks the group dead (KMEM_ACCOUNTED_DEAD) if it is
99265 marked active (KMEM_ACCOUNTED_ACTIVE) which is the case even if
99266 memcg_propagate_kmem fails so the additional reference is dropped in
99267 that case in kmem_cgroup_destroy which means that the reference would be
99268 dropped two times.
99269
99270 The easiest way then would be to simply remove mem_cgrroup_put from
99271 mem_cgroup_css_online and rely on kmem_cgroup_destroy doing the right
99272 thing.
99273
99274 Signed-off-by: Michal Hocko <mhocko@suse.cz>
99275 Signed-off-by: Li Zefan <lizefan@huawei.com>
99276 Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
99277 Cc: Hugh Dickins <hughd@google.com>
99278 Cc: Tejun Heo <tj@kernel.org>
99279 Cc: Glauber Costa <glommer@openvz.org>
99280 Cc: Johannes Weiner <hannes@cmpxchg.org>
99281 Cc: <stable@vger.kernel.org> [3.8]
99282 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
99283 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
99284
99285 mm/memcontrol.c | 8 --------
99286 1 files changed, 0 insertions(+), 8 deletions(-)
99287
99288 commit 08bfb6e700d13886ed722c2236e1ec10f03a95df
99289 Author: Michal Hocko <mhocko@suse.cz>
99290 Date: Mon Jul 8 16:00:27 2013 -0700
99291
99292 Upstream commit: fa460c2d37870e0a6f94c70e8b76d05ca11b6db0
99293
99294 Revert "memcg: avoid dangling reference count in creation failure"
99295
99296 This reverts commit e4715f01be697a.
99297
99298 mem_cgroup_put is hierarchy aware so mem_cgroup_put(memcg) already drops
99299 an additional reference from all parents so the additional
99300 mem_cgrroup_put(parent) potentially causes use-after-free.
99301
99302 Signed-off-by: Michal Hocko <mhocko@suse.cz>
99303 Signed-off-by: Li Zefan <lizefan@huawei.com>
99304 Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
99305 Cc: Hugh Dickins <hughd@google.com>
99306 Cc: Tejun Heo <tj@kernel.org>
99307 Cc: Glauber Costa <glommer@openvz.org>
99308 Cc: Johannes Weiner <hannes@cmpxchg.org>
99309 Cc: <stable@vger.kernel.org> [3.9+]
99310 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
99311 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
99312
99313 mm/memcontrol.c | 2 --
99314 1 files changed, 0 insertions(+), 2 deletions(-)
99315
99316 commit 3267ec559f48327a1836eccecd53215afc5810d0
99317 Author: Tyler Hicks <tyhicks@canonical.com>
99318 Date: Thu Jun 20 13:13:59 2013 -0700
99319
99320 Upstream commit: 2cb33cac622afde897aa02d3dcd9fbba8bae839e
99321
99322 libceph: Fix NULL pointer dereference in auth client code
99323
99324 A malicious monitor can craft an auth reply message that could cause a
99325 NULL function pointer dereference in the client's kernel.
99326
99327 To prevent this, the auth_none protocol handler needs an empty
99328 ceph_auth_client_ops->build_request() function.
99329
99330 CVE-2013-1059
99331
99332 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
99333 Reported-by: Chanam Park <chanam.park@hkpco.kr>
99334 Reviewed-by: Seth Arnold <seth.arnold@canonical.com>
99335 Reviewed-by: Sage Weil <sage@inktank.com>
99336 Cc: stable@vger.kernel.org
99337
99338 net/ceph/auth_none.c | 6 ++++++
99339 1 files changed, 6 insertions(+), 0 deletions(-)
99340
99341 commit cdfeb4049e7cb38702215b2c356ce0407974ac79
99342 Author: Eric Paris <eparis@redhat.com>
99343 Date: Wed Jul 3 15:08:29 2013 -0700
99344
99345 Upstream commit: b57922b6c76c3ee401bb32fd3f298409dd6e6a53
99346
99347 fork: reorder permissions when violating number of processes limits
99348
99349 When a task is attempting to violate the RLIMIT_NPROC limit we have a
99350 check to see if the task is sufficiently priviledged. The check first
99351 looks at CAP_SYS_ADMIN, then CAP_SYS_RESOURCE, then if the task is uid=0.
99352
99353 A result is that tasks which are allowed by the uid=0 check are first
99354 checked against the security subsystem. This results in the security
99355 subsystem auditting a denial for sys_admin and sys_resource and then the
99356 task passing the uid=0 check.
99357
99358 This patch rearranges the code to first check uid=0, since if we pass that
99359 we shouldn't hit the security system at all. We then check sys_resource,
99360 since it is the smallest capability which will solve the problem. Lastly
99361 we check the fallback everything cap_sysadmin. We don't want to give this
99362 capability many places since it is so powerful.
99363
99364 This will eliminate many of the false positive/needless denial messages we
99365 get when a root task tries to violate the nproc limit. (note that
99366 kthreads count against root, so on a sufficiently large machine we can
99367 actually get past the default limits before any userspace tasks are
99368 launched.)
99369
99370 Signed-off-by: Eric Paris <eparis@redhat.com>
99371 Cc: Al Viro <viro@zeniv.linux.org.uk>
99372 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
99373 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
99374
99375 kernel/fork.c | 4 ++--
99376 1 files changed, 2 insertions(+), 2 deletions(-)
99377
99378 commit 08c87e049c8a50707908785d950fd48c334f4c09
99379 Author: Chen Gang <gang.chen@asianux.com>
99380 Date: Sat Jun 22 13:26:09 2013 +0800
99381
99382 Upstream commit: f118e9abddfae94d7ef88858159d7556e1c2f7f6
99383
99384 arch: sparc: kernel: check the memory length before use strcpy().
99385
99386 For the related next strcpy(), the destination length is less than 512,
99387 but the source maximize length may be 'OPROMMAXPARAM' (4096) which is
99388 more than 512.
99389
99390 One work flow may:
99391 openprom_sunos_ioctl() -> if (cmd == OPROMSETOPT)
99392 getstrings() -> will alloc buffer with size 'OPROMMAXPARAM'.
99393 opromsetopt() -> devide the buffer into 'var' and 'value'
99394 of_set_property() -> pass
99395 prom_setprop() -> pass
99396 ldom_set_var()
99397
99398 And do not mind the additional 4 alignment buffer increasing, since
99399 'sizeof(pkt) - sizeof(pkt.header)' is 4 alignment at least.
99400
99401 Signed-off-by: Chen Gang <gang.chen@asianux.com>
99402 Signed-off-by: David S. Miller <davem@davemloft.net>
99403
99404 arch/sparc/kernel/ds.c | 10 ++++++++++
99405 1 files changed, 10 insertions(+), 0 deletions(-)
99406
99407 commit 0f5d7e1171c65a8d4e9186b3656e1206121efb13
99408 Author: Brad Spengler <spender@grsecurity.net>
99409 Date: Fri Jul 12 20:38:45 2013 -0400
99410
99411 Fix SLAB boot errors due to PAX_USERCOPY reported on the forums
99412
99413 Unlike slub, slab can initally create two of the kmalloc_caches
99414 which will be used later for generic kmallocs of their particular
99415 aligned size (since the later loop in the unified allocator code
99416 skips any already-existing kmalloc_caches)
99417
99418 mm/slab.c | 4 ++--
99419 1 files changed, 2 insertions(+), 2 deletions(-)
99420
99421 commit 7afc9d07a4c0a676aa5c4ac2b30882f60be6bae3
99422 Author: Brad Spengler <spender@grsecurity.net>
99423 Date: Tue Jul 9 22:04:59 2013 -0400
99424
99425 compile fixes
99426
99427 fs/exec.c | 2 +-
99428 mm/mmap.c | 4 ++--
99429 2 files changed, 3 insertions(+), 3 deletions(-)
99430
99431 commit e2d027c7e0f106be683c0c72482b8285daefcbe6
99432 Author: Brad Spengler <spender@grsecurity.net>
99433 Date: Tue Jul 9 20:58:40 2013 -0400
99434
99435 commit successful merges
99436
99437 Documentation/kernel-parameters.txt | 4 +
99438 Makefile | 8 +-
99439 arch/alpha/include/asm/cache.h | 4 +-
99440 arch/alpha/kernel/osf_sys.c | 12 +-
99441 arch/arm/include/asm/thread_info.h | 3 +-
99442 arch/arm/kernel/ptrace.c | 9 +
99443 arch/arm/kernel/traps.c | 7 +-
99444 arch/arm/mm/fault.c | 29 +-
99445 arch/arm/mm/mmap.c | 8 +-
99446 arch/avr32/include/asm/cache.h | 4 +-
99447 arch/blackfin/include/asm/cache.h | 3 +-
99448 arch/cris/include/arch-v10/arch/cache.h | 3 +-
99449 arch/cris/include/arch-v32/arch/cache.h | 3 +-
99450 arch/frv/include/asm/cache.h | 3 +-
99451 arch/frv/mm/elf-fdpic.c | 4 +-
99452 arch/hexagon/include/asm/cache.h | 6 +-
99453 arch/ia64/include/asm/cache.h | 3 +-
99454 arch/ia64/kernel/sys_ia64.c | 2 +
99455 arch/ia64/mm/hugetlbpage.c | 2 +
99456 arch/m32r/include/asm/cache.h | 4 +-
99457 arch/m68k/include/asm/cache.h | 4 +-
99458 arch/metag/mm/hugetlbpage.c | 1 +
99459 arch/microblaze/include/asm/cache.h | 3 +-
99460 arch/mips/include/asm/cache.h | 3 +-
99461 arch/mips/include/asm/thread_info.h | 9 +-
99462 arch/mips/kernel/ptrace.c | 9 +
99463 arch/mips/kernel/scall32-o32.S | 2 +-
99464 arch/mips/kernel/scall64-64.S | 2 +-
99465 arch/mips/kernel/scall64-n32.S | 2 +-
99466 arch/mips/kernel/scall64-o32.S | 2 +-
99467 arch/mips/mm/mmap.c | 4 +-
99468 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
99469 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
99470 arch/openrisc/include/asm/cache.h | 4 +-
99471 arch/parisc/include/asm/cache.h | 5 +-
99472 arch/parisc/kernel/sys_parisc.c | 17 +-
99473 arch/powerpc/include/asm/cache.h | 3 +-
99474 arch/powerpc/kernel/process.c | 10 +-
99475 arch/powerpc/kernel/ptrace.c | 14 +
99476 arch/powerpc/kernel/traps.c | 5 +
99477 arch/s390/include/asm/cache.h | 4 +-
99478 arch/score/include/asm/cache.h | 4 +-
99479 arch/sh/include/asm/cache.h | 3 +-
99480 arch/sh/mm/mmap.c | 6 +-
99481 arch/sparc/include/asm/cache.h | 4 +-
99482 arch/sparc/include/asm/thread_info_64.h | 9 +-
99483 arch/sparc/kernel/process_32.c | 6 +-
99484 arch/sparc/kernel/process_64.c | 4 +-
99485 arch/sparc/kernel/ptrace_64.c | 14 +
99486 arch/sparc/kernel/sys_sparc_64.c | 8 +-
99487 arch/sparc/kernel/syscalls.S | 8 +-
99488 arch/sparc/kernel/traps_32.c | 8 +-
99489 arch/sparc/kernel/traps_64.c | 28 +-
99490 arch/sparc/kernel/unaligned_64.c | 2 +-
99491 arch/sparc/mm/fault_64.c | 2 +-
99492 arch/sparc/mm/hugetlbpage.c | 3 +-
99493 arch/tile/include/asm/cache.h | 3 +-
99494 arch/tile/mm/hugetlbpage.c | 2 +
99495 arch/um/defconfig | 1 -
99496 arch/um/include/asm/cache.h | 3 +-
99497 arch/unicore32/include/asm/cache.h | 6 +-
99498 arch/x86/Kconfig | 5 +-
99499 arch/x86/ia32/ia32_aout.c | 2 +
99500 arch/x86/include/asm/thread_info.h | 8 +-
99501 arch/x86/kernel/dumpstack.c | 8 +
99502 arch/x86/kernel/entry_32.S | 2 +-
99503 arch/x86/kernel/entry_64.S | 2 +-
99504 arch/x86/kernel/ioport.c | 13 +
99505 arch/x86/kernel/ptrace.c | 14 +
99506 arch/x86/kernel/signal.c | 9 +-
99507 arch/x86/kernel/smpboot.c | 3 +
99508 arch/x86/kernel/sys_i386_32.c | 9 +-
99509 arch/x86/kernel/sys_x86_64.c | 8 +-
99510 arch/x86/kernel/verify_cpu.S | 1 +
99511 arch/x86/kernel/vm86_32.c | 1 +
99512 arch/x86/mm/fault.c | 12 +-
99513 arch/x86/mm/hugetlbpage.c | 15 +-
99514 arch/x86/mm/init.c | 66 +-
99515 arch/x86/net/bpf_jit_comp.c | 129 +-
99516 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
99517 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
99518 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
99519 drivers/block/cciss.c | 2 +
99520 drivers/block/cpqarray.c | 1 +
99521 drivers/cdrom/cdrom.c | 4 +-
99522 drivers/char/Kconfig | 4 +-
99523 drivers/char/genrtc.c | 1 +
99524 drivers/char/mem.c | 17 +
99525 drivers/char/mwave/tp3780i.c | 1 +
99526 drivers/char/random.c | 12 +
99527 drivers/gpu/drm/drm_info.c | 4 +
99528 drivers/hid/hid-wiimote-debug.c | 2 +-
99529 drivers/media/radio/radio-cadet.c | 2 +-
99530 drivers/message/fusion/mptbase.c | 9 +
99531 drivers/net/bonding/bond_main.c | 2 +-
99532 drivers/net/phy/mdio-bitbang.c | 1 +
99533 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
99534 drivers/pci/proc.c | 9 +
99535 drivers/rtc/rtc-dev.c | 3 +
99536 drivers/tty/sysrq.c | 2 +-
99537 drivers/tty/vt/keyboard.c | 22 +-
99538 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++++------------
99539 drivers/xen/xenfs/xenstored.c | 5 +
99540 fs/attr.c | 1 +
99541 fs/autofs4/waitq.c | 9 +
99542 fs/binfmt_aout.c | 7 +
99543 fs/binfmt_elf.c | 8 +-
99544 fs/btrfs/ioctl.c | 6 +-
99545 fs/compat.c | 20 +-
99546 fs/coredump.c | 9 +-
99547 fs/debugfs/inode.c | 4 +
99548 fs/exec.c | 184 ++-
99549 fs/ext2/balloc.c | 4 +-
99550 fs/ext3/balloc.c | 4 +-
99551 fs/ext4/resize.c | 17 +-
99552 fs/fcntl.c | 5 +
99553 fs/file.c | 4 +
99554 fs/filesystems.c | 4 +
99555 fs/fs_struct.c | 13 +-
99556 fs/hugetlbfs/inode.c | 5 +-
99557 fs/namei.c | 234 ++-
99558 fs/namespace.c | 16 +
99559 fs/notify/fanotify/fanotify_user.c | 1 +
99560 fs/open.c | 38 +
99561 fs/proc/Kconfig | 10 +-
99562 fs/proc/array.c | 59 +-
99563 fs/proc/base.c | 168 ++-
99564 fs/proc/cmdline.c | 4 +
99565 fs/proc/devices.c | 4 +
99566 fs/proc/fd.c | 17 +-
99567 fs/proc/inode.c | 4 +
99568 fs/proc/kcore.c | 3 +
99569 fs/proc/proc_net.c | 12 +
99570 fs/proc/proc_sysctl.c | 43 +-
99571 fs/proc/root.c | 8 +
99572 fs/proc/task_mmu.c | 75 +-
99573 fs/readdir.c | 19 +
99574 fs/select.c | 2 +
99575 fs/seq_file.c | 12 +-
99576 fs/stat.c | 19 +-
99577 fs/sysfs/dir.c | 12 +
99578 fs/utimes.c | 7 +
99579 fs/xattr.c | 19 +-
99580 include/linux/capability.h | 5 +
99581 include/linux/cred.h | 3 +
99582 include/linux/fs.h | 10 +
99583 include/linux/fsnotify.h | 6 +
99584 include/linux/kallsyms.h | 14 +-
99585 include/linux/kmod.h | 2 +
99586 include/linux/mm.h | 1 +
99587 include/linux/perf_event.h | 13 +-
99588 include/linux/printk.h | 3 +-
99589 include/linux/sched.h | 24 +-
99590 include/linux/security.h | 1 +
99591 include/linux/seq_file.h | 3 +
99592 include/linux/shm.h | 4 +
99593 include/linux/skbuff.h | 3 +
99594 include/linux/slab.h | 9 -
99595 include/linux/sysctl.h | 2 +
99596 include/linux/thread_info.h | 2 +
99597 include/linux/uidgid.h | 5 +
99598 include/linux/vermagic.h | 9 +-
99599 include/uapi/linux/personality.h | 1 +
99600 init/Kconfig | 3 +-
99601 init/main.c | 14 +
99602 ipc/mqueue.c | 1 +
99603 ipc/shm.c | 28 +
99604 kernel/capability.c | 39 +-
99605 kernel/cgroup.c | 2 +-
99606 kernel/compat.c | 1 +
99607 kernel/configs.c | 11 +
99608 kernel/cred.c | 110 +-
99609 kernel/events/core.c | 14 +-
99610 kernel/exit.c | 10 +-
99611 kernel/fork.c | 41 +-
99612 kernel/futex.c | 1 +
99613 kernel/kallsyms.c | 9 +
99614 kernel/kcmp.c | 4 +
99615 kernel/kmod.c | 64 +-
99616 kernel/kprobes.c | 4 +-
99617 kernel/ksysfs.c | 2 +
99618 kernel/lockdep_proc.c | 10 +-
99619 kernel/module.c | 81 +-
99620 kernel/panic.c | 2 +-
99621 kernel/pid.c | 19 +-
99622 kernel/posix-timers.c | 7 +
99623 kernel/printk.c | 5 +
99624 kernel/ptrace.c | 20 +-
99625 kernel/resource.c | 10 +
99626 kernel/sched/core.c | 6 +-
99627 kernel/signal.c | 37 +-
99628 kernel/sys.c | 45 +-
99629 kernel/sysctl.c | 70 +-
99630 kernel/taskstats.c | 6 +
99631 kernel/time.c | 5 +
99632 kernel/time/timekeeping.c | 1 +
99633 kernel/time/timer_list.c | 12 +
99634 kernel/time/timer_stats.c | 10 +-
99635 lib/Kconfig.debug | 5 +-
99636 lib/is_single_threaded.c | 3 +
99637 mm/Kconfig | 4 +-
99638 mm/filemap.c | 1 +
99639 mm/kmemleak.c | 4 +-
99640 mm/mempolicy.c | 12 +-
99641 mm/migrate.c | 3 +-
99642 mm/mlock.c | 3 +
99643 mm/mmap.c | 63 +-
99644 mm/mprotect.c | 8 +
99645 mm/process_vm_access.c | 6 +
99646 mm/slab.c | 2 +-
99647 mm/slub.c | 14 +-
99648 mm/vmalloc.c | 4 +
99649 mm/vmstat.c | 18 +-
99650 net/core/dev_ioctl.c | 4 +
99651 net/core/sock_diag.c | 7 +
99652 net/ipv4/inet_hashtables.c | 5 +
99653 net/ipv4/ip_sockglue.c | 3 +-
99654 net/ipv4/tcp_input.c | 4 +-
99655 net/ipv4/tcp_ipv4.c | 24 +-
99656 net/ipv4/tcp_minisocks.c | 9 +-
99657 net/ipv4/tcp_timer.c | 11 +
99658 net/ipv4/udp.c | 24 +
99659 net/ipv6/tcp_ipv6.c | 23 +-
99660 net/ipv6/udp.c | 4 +
99661 net/netfilter/Kconfig | 10 +
99662 net/netfilter/Makefile | 1 +
99663 net/netfilter/nf_conntrack_core.c | 8 +
99664 net/netrom/af_netrom.c | 1 -
99665 net/phonet/af_phonet.c | 2 +-
99666 net/sctp/proc.c | 3 +-
99667 net/socket.c | 66 +-
99668 net/sysctl_net.c | 2 +-
99669 net/unix/af_unix.c | 31 +-
99670 security/Kconfig | 343 +++-
99671 security/apparmor/Kconfig | 9 +
99672 security/apparmor/apparmorfs.c | 231 ++
99673 security/commoncap.c | 29 +
99674 security/min_addr.c | 2 +
99675 security/security.c | 2 -
99676 security/selinux/hooks.c | 2 -
99677 security/tomoyo/mount.c | 4 +
99678 security/yama/Kconfig | 2 +-
99679 242 files changed, 4385 insertions(+), 2042 deletions(-)
99680
99681 commit 043a378c0f72ed92cc30182c48abce39867ac93f
99682 Author: Brad Spengler <spender@grsecurity.net>
99683 Date: Tue Jul 9 20:57:40 2013 -0400
99684
99685 Commit merge of new files and rejected patches
99686
99687 arch/arm/include/asm/thread_info.h | 6 +-
99688 arch/arm/kernel/process.c | 4 +-
99689 arch/powerpc/include/asm/thread_info.h | 7 +-
99690 arch/powerpc/mm/slice.c | 2 +-
99691 arch/sparc/kernel/process_64.c | 4 +-
99692 arch/x86/kernel/vm86_32.c | 15 +
99693 fs/coredump.c | 1 +
99694 fs/ext4/balloc.c | 4 +-
99695 fs/namei.c | 7 +
99696 fs/namespace.c | 8 +
99697 fs/pipe.c | 2 +-
99698 fs/proc/inode.c | 13 +
99699 fs/proc/internal.h | 3 +
99700 grsecurity/Kconfig | 1054 +++++++++
99701 grsecurity/Makefile | 38 +
99702 grsecurity/gracl.c | 4073 ++++++++++++++++++++++++++++++++
99703 grsecurity/gracl_alloc.c | 105 +
99704 grsecurity/gracl_cap.c | 110 +
99705 grsecurity/gracl_fs.c | 431 ++++
99706 grsecurity/gracl_ip.c | 387 +++
99707 grsecurity/gracl_learn.c | 207 ++
99708 grsecurity/gracl_res.c | 68 +
99709 grsecurity/gracl_segv.c | 305 +++
99710 grsecurity/gracl_shm.c | 40 +
99711 grsecurity/grsec_chdir.c | 19 +
99712 grsecurity/grsec_chroot.c | 370 +++
99713 grsecurity/grsec_disabled.c | 434 ++++
99714 grsecurity/grsec_exec.c | 187 ++
99715 grsecurity/grsec_fifo.c | 24 +
99716 grsecurity/grsec_fork.c | 23 +
99717 grsecurity/grsec_init.c | 283 +++
99718 grsecurity/grsec_link.c | 58 +
99719 grsecurity/grsec_log.c | 326 +++
99720 grsecurity/grsec_mem.c | 40 +
99721 grsecurity/grsec_mount.c | 62 +
99722 grsecurity/grsec_pax.c | 36 +
99723 grsecurity/grsec_ptrace.c | 30 +
99724 grsecurity/grsec_sig.c | 246 ++
99725 grsecurity/grsec_sock.c | 244 ++
99726 grsecurity/grsec_sysctl.c | 469 ++++
99727 grsecurity/grsec_time.c | 16 +
99728 grsecurity/grsec_tpe.c | 73 +
99729 grsecurity/grsum.c | 61 +
99730 include/linux/gracl.h | 319 +++
99731 include/linux/gralloc.h | 9 +
99732 include/linux/grdefs.h | 140 ++
99733 include/linux/grinternal.h | 227 ++
99734 include/linux/grmsg.h | 112 +
99735 include/linux/grsecurity.h | 241 ++
99736 include/linux/grsock.h | 19 +
99737 include/linux/netfilter/xt_gradm.h | 9 +
99738 include/linux/proc_fs.h | 13 +
99739 include/linux/sched.h | 48 +-
99740 include/trace/events/fs.h | 53 +
99741 kernel/kmod.c | 7 +-
99742 kernel/panic.c | 2 +-
99743 kernel/posix-timers.c | 1 +
99744 kernel/time/timekeeping.c | 2 +
99745 lib/Kconfig.debug | 2 +-
99746 lib/vsprintf.c | 31 +
99747 localversion-grsec | 1 +
99748 mm/mmap.c | 13 +-
99749 mm/shmem.c | 2 +-
99750 net/core/net-procfs.c | 5 +
99751 net/ipv6/udp.c | 3 +
99752 net/netfilter/xt_gradm.c | 51 +
99753 66 files changed, 11184 insertions(+), 21 deletions(-)
99754
99755 commit 75a36f058b5abbc82f9b94ba5576eef4b40cd5d6
99756 Author: Brad Spengler <spender@grsecurity.net>
99757 Date: Tue Jul 9 17:35:47 2013 -0400
99758
99759 Initial import of pax-linux-3.10-test1.patch
99760
99761 Documentation/dontdiff | 46 +-
99762 Documentation/kernel-parameters.txt | 12 +
99763 Makefile | 100 +-
99764 arch/alpha/include/asm/atomic.h | 10 +
99765 arch/alpha/include/asm/elf.h | 7 +
99766 arch/alpha/include/asm/pgalloc.h | 6 +
99767 arch/alpha/include/asm/pgtable.h | 11 +
99768 arch/alpha/kernel/module.c | 2 +-
99769 arch/alpha/kernel/osf_sys.c | 8 +-
99770 arch/alpha/mm/fault.c | 141 +-
99771 arch/arm/Kconfig | 2 +-
99772 arch/arm/include/asm/atomic.h | 444 ++-
99773 arch/arm/include/asm/cache.h | 5 +-
99774 arch/arm/include/asm/cacheflush.h | 2 +-
99775 arch/arm/include/asm/checksum.h | 14 +-
99776 arch/arm/include/asm/cmpxchg.h | 2 +
99777 arch/arm/include/asm/domain.h | 33 +-
99778 arch/arm/include/asm/elf.h | 13 +-
99779 arch/arm/include/asm/fncpy.h | 2 +
99780 arch/arm/include/asm/futex.h | 10 +
99781 arch/arm/include/asm/kmap_types.h | 2 +-
99782 arch/arm/include/asm/mach/dma.h | 2 +-
99783 arch/arm/include/asm/mach/map.h | 7 +-
99784 arch/arm/include/asm/outercache.h | 2 +-
99785 arch/arm/include/asm/page.h | 2 +-
99786 arch/arm/include/asm/pgalloc.h | 22 +-
99787 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
99788 arch/arm/include/asm/pgtable-2level.h | 1 +
99789 arch/arm/include/asm/pgtable-3level-hwdef.h | 2 +
99790 arch/arm/include/asm/pgtable-3level.h | 2 +
99791 arch/arm/include/asm/pgtable.h | 56 +-
99792 arch/arm/include/asm/proc-fns.h | 2 +-
99793 arch/arm/include/asm/processor.h | 5 +-
99794 arch/arm/include/asm/psci.h | 2 +-
99795 arch/arm/include/asm/smp.h | 2 +-
99796 arch/arm/include/asm/thread_info.h | 6 +-
99797 arch/arm/include/asm/uaccess.h | 92 +-
99798 arch/arm/include/uapi/asm/ptrace.h | 2 +-
99799 arch/arm/kernel/armksyms.c | 8 +-
99800 arch/arm/kernel/entry-armv.S | 107 +-
99801 arch/arm/kernel/entry-common.S | 41 +-
99802 arch/arm/kernel/entry-header.S | 60 +
99803 arch/arm/kernel/fiq.c | 2 +
99804 arch/arm/kernel/head.S | 6 +-
99805 arch/arm/kernel/hw_breakpoint.c | 2 +-
99806 arch/arm/kernel/module.c | 29 +-
99807 arch/arm/kernel/patch.c | 2 +
99808 arch/arm/kernel/perf_event_cpu.c | 2 +-
99809 arch/arm/kernel/process.c | 14 +-
99810 arch/arm/kernel/psci.c | 2 +-
99811 arch/arm/kernel/setup.c | 22 +-
99812 arch/arm/kernel/signal.c | 24 +-
99813 arch/arm/kernel/smp.c | 2 +-
99814 arch/arm/kernel/traps.c | 15 +-
99815 arch/arm/kernel/vmlinux.lds.S | 22 +-
99816 arch/arm/lib/clear_user.S | 6 +-
99817 arch/arm/lib/copy_from_user.S | 6 +-
99818 arch/arm/lib/copy_page.S | 1 +
99819 arch/arm/lib/copy_to_user.S | 6 +-
99820 arch/arm/lib/csumpartialcopyuser.S | 4 +-
99821 arch/arm/lib/delay.c | 2 +-
99822 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
99823 arch/arm/mach-kirkwood/common.c | 19 +-
99824 arch/arm/mach-omap2/board-n8x0.c | 2 +-
99825 arch/arm/mach-omap2/gpmc.c | 22 +-
99826 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
99827 arch/arm/mach-omap2/omap_device.c | 4 +-
99828 arch/arm/mach-omap2/omap_device.h | 4 +-
99829 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
99830 arch/arm/mach-omap2/wd_timer.c | 6 +-
99831 arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +-
99832 arch/arm/mach-ux500/setup.h | 7 -
99833 arch/arm/mm/Kconfig | 3 +-
99834 arch/arm/mm/alignment.c | 8 +
99835 arch/arm/mm/fault.c | 91 +
99836 arch/arm/mm/fault.h | 12 +
99837 arch/arm/mm/init.c | 41 +
99838 arch/arm/mm/ioremap.c | 4 +-
99839 arch/arm/mm/mmap.c | 30 +-
99840 arch/arm/mm/mmu.c | 187 +-
99841 arch/arm/mm/proc-v7-2level.S | 3 +
99842 arch/arm/plat-omap/sram.c | 2 +
99843 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
99844 arch/arm64/kernel/debug-monitors.c | 2 +-
99845 arch/arm64/kernel/hw_breakpoint.c | 2 +-
99846 arch/avr32/include/asm/elf.h | 8 +-
99847 arch/avr32/include/asm/kmap_types.h | 4 +-
99848 arch/avr32/mm/fault.c | 27 +
99849 arch/frv/include/asm/atomic.h | 10 +
99850 arch/frv/include/asm/kmap_types.h | 2 +-
99851 arch/frv/mm/elf-fdpic.c | 3 +-
99852 arch/ia64/include/asm/atomic.h | 10 +
99853 arch/ia64/include/asm/elf.h | 7 +
99854 arch/ia64/include/asm/pgalloc.h | 12 +
99855 arch/ia64/include/asm/pgtable.h | 13 +-
99856 arch/ia64/include/asm/spinlock.h | 2 +-
99857 arch/ia64/include/asm/uaccess.h | 26 +-
99858 arch/ia64/kernel/err_inject.c | 2 +-
99859 arch/ia64/kernel/mca.c | 2 +-
99860 arch/ia64/kernel/module.c | 48 +-
99861 arch/ia64/kernel/palinfo.c | 2 +-
99862 arch/ia64/kernel/salinfo.c | 2 +-
99863 arch/ia64/kernel/sys_ia64.c | 7 +
99864 arch/ia64/kernel/topology.c | 2 +-
99865 arch/ia64/kernel/vmlinux.lds.S | 2 +-
99866 arch/ia64/mm/fault.c | 32 +-
99867 arch/ia64/mm/init.c | 13 +
99868 arch/m32r/lib/usercopy.c | 6 +
99869 arch/mips/include/asm/atomic.h | 14 +
99870 arch/mips/include/asm/elf.h | 11 +-
99871 arch/mips/include/asm/exec.h | 2 +-
99872 arch/mips/include/asm/page.h | 2 +-
99873 arch/mips/include/asm/pgalloc.h | 5 +
99874 arch/mips/kernel/binfmt_elfn32.c | 7 +
99875 arch/mips/kernel/binfmt_elfo32.c | 7 +
99876 arch/mips/kernel/process.c | 12 -
99877 arch/mips/mm/fault.c | 17 +
99878 arch/mips/mm/mmap.c | 51 +-
99879 arch/parisc/include/asm/atomic.h | 10 +
99880 arch/parisc/include/asm/elf.h | 7 +
99881 arch/parisc/include/asm/pgalloc.h | 6 +
99882 arch/parisc/include/asm/pgtable.h | 11 +
99883 arch/parisc/include/asm/uaccess.h | 4 +-
99884 arch/parisc/kernel/module.c | 50 +-
99885 arch/parisc/kernel/sys_parisc.c | 9 +-
99886 arch/parisc/kernel/traps.c | 4 +-
99887 arch/parisc/mm/fault.c | 140 +-
99888 arch/powerpc/include/asm/atomic.h | 10 +
99889 arch/powerpc/include/asm/elf.h | 19 +-
99890 arch/powerpc/include/asm/exec.h | 2 +-
99891 arch/powerpc/include/asm/kmap_types.h | 2 +-
99892 arch/powerpc/include/asm/mman.h | 2 +-
99893 arch/powerpc/include/asm/page.h | 8 +-
99894 arch/powerpc/include/asm/page_64.h | 7 +-
99895 arch/powerpc/include/asm/pgalloc-64.h | 7 +
99896 arch/powerpc/include/asm/pgtable.h | 1 +
99897 arch/powerpc/include/asm/pte-hash32.h | 1 +
99898 arch/powerpc/include/asm/reg.h | 1 +
99899 arch/powerpc/include/asm/smp.h | 2 +-
99900 arch/powerpc/include/asm/uaccess.h | 140 +-
99901 arch/powerpc/kernel/exceptions-64e.S | 4 +-
99902 arch/powerpc/kernel/exceptions-64s.S | 2 +-
99903 arch/powerpc/kernel/module_32.c | 13 +-
99904 arch/powerpc/kernel/process.c | 55 -
99905 arch/powerpc/kernel/signal_32.c | 2 +-
99906 arch/powerpc/kernel/signal_64.c | 2 +-
99907 arch/powerpc/kernel/sysfs.c | 2 +-
99908 arch/powerpc/kernel/vdso.c | 5 +-
99909 arch/powerpc/lib/usercopy_64.c | 18 -
99910 arch/powerpc/mm/fault.c | 54 +-
99911 arch/powerpc/mm/mmap_64.c | 16 +
99912 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
99913 arch/powerpc/mm/numa.c | 2 +-
99914 arch/powerpc/mm/slice.c | 13 +-
99915 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
99916 arch/powerpc/platforms/powermac/smp.c | 2 +-
99917 arch/s390/include/asm/atomic.h | 10 +
99918 arch/s390/include/asm/elf.h | 13 +-
99919 arch/s390/include/asm/exec.h | 2 +-
99920 arch/s390/include/asm/uaccess.h | 15 +-
99921 arch/s390/kernel/module.c | 22 +-
99922 arch/s390/kernel/process.c | 36 -
99923 arch/s390/mm/mmap.c | 24 +
99924 arch/score/include/asm/exec.h | 2 +-
99925 arch/score/kernel/process.c | 5 -
99926 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
99927 arch/sh/mm/mmap.c | 22 +-
99928 arch/sparc/include/asm/atomic_64.h | 106 +-
99929 arch/sparc/include/asm/cache.h | 2 +-
99930 arch/sparc/include/asm/elf_32.h | 7 +
99931 arch/sparc/include/asm/elf_64.h | 7 +
99932 arch/sparc/include/asm/pgalloc_32.h | 1 +
99933 arch/sparc/include/asm/pgalloc_64.h | 1 +
99934 arch/sparc/include/asm/pgtable_32.h | 15 +-
99935 arch/sparc/include/asm/pgtsrmmu.h | 5 +
99936 arch/sparc/include/asm/spinlock_64.h | 35 +-
99937 arch/sparc/include/asm/thread_info_32.h | 2 +
99938 arch/sparc/include/asm/thread_info_64.h | 2 +
99939 arch/sparc/include/asm/uaccess.h | 1 +
99940 arch/sparc/include/asm/uaccess_32.h | 27 +-
99941 arch/sparc/include/asm/uaccess_64.h | 19 +-
99942 arch/sparc/kernel/Makefile | 2 +-
99943 arch/sparc/kernel/prom_common.c | 2 +-
99944 arch/sparc/kernel/sys_sparc_32.c | 2 +-
99945 arch/sparc/kernel/sys_sparc_64.c | 48 +-
99946 arch/sparc/kernel/sysfs.c | 2 +-
99947 arch/sparc/kernel/traps_64.c | 13 +-
99948 arch/sparc/lib/Makefile | 2 +-
99949 arch/sparc/lib/atomic_64.S | 136 +-
99950 arch/sparc/lib/ksyms.c | 6 +
99951 arch/sparc/mm/Makefile | 2 +-
99952 arch/sparc/mm/fault_32.c | 292 +
99953 arch/sparc/mm/fault_64.c | 486 ++
99954 arch/sparc/mm/hugetlbpage.c | 21 +-
99955 arch/tile/include/asm/atomic_64.h | 10 +
99956 arch/tile/include/asm/uaccess.h | 4 +-
99957 arch/um/Makefile | 4 +
99958 arch/um/include/asm/kmap_types.h | 2 +-
99959 arch/um/include/asm/page.h | 3 +
99960 arch/um/include/asm/pgtable-3level.h | 1 +
99961 arch/um/kernel/process.c | 16 -
99962 arch/x86/Kconfig | 10 +-
99963 arch/x86/Kconfig.cpu | 6 +-
99964 arch/x86/Kconfig.debug | 4 +-
99965 arch/x86/Makefile | 10 +
99966 arch/x86/boot/Makefile | 3 +
99967 arch/x86/boot/bitops.h | 4 +-
99968 arch/x86/boot/boot.h | 4 +-
99969 arch/x86/boot/compressed/Makefile | 3 +
99970 arch/x86/boot/compressed/eboot.c | 2 -
99971 arch/x86/boot/compressed/efi_stub_32.S | 16 +-
99972 arch/x86/boot/compressed/head_32.S | 7 +-
99973 arch/x86/boot/compressed/head_64.S | 8 +-
99974 arch/x86/boot/compressed/misc.c | 4 +-
99975 arch/x86/boot/cpucheck.c | 28 +-
99976 arch/x86/boot/header.S | 6 +-
99977 arch/x86/boot/memory.c | 2 +-
99978 arch/x86/boot/video-vesa.c | 1 +
99979 arch/x86/boot/video.c | 2 +-
99980 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
99981 arch/x86/crypto/aesni-intel_asm.S | 22 +
99982 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
99983 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
99984 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
99985 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 9 +
99986 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
99987 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 +
99988 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
99989 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
99990 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 9 +
99991 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
99992 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
99993 arch/x86/ia32/ia32_signal.c | 14 +-
99994 arch/x86/ia32/ia32entry.S | 141 +-
99995 arch/x86/ia32/sys_ia32.c | 4 +-
99996 arch/x86/include/asm/alternative-asm.h | 39 +
99997 arch/x86/include/asm/alternative.h | 4 +-
99998 arch/x86/include/asm/apic.h | 2 +-
99999 arch/x86/include/asm/apm.h | 4 +-
100000 arch/x86/include/asm/atomic.h | 307 +-
100001 arch/x86/include/asm/atomic64_32.h | 100 +
100002 arch/x86/include/asm/atomic64_64.h | 202 +-
100003 arch/x86/include/asm/bitops.h | 4 +-
100004 arch/x86/include/asm/boot.h | 7 +-
100005 arch/x86/include/asm/cache.h | 5 +-
100006 arch/x86/include/asm/cacheflush.h | 2 +-
100007 arch/x86/include/asm/checksum_32.h | 12 +-
100008 arch/x86/include/asm/cmpxchg.h | 35 +
100009 arch/x86/include/asm/compat.h | 2 +-
100010 arch/x86/include/asm/cpufeature.h | 4 +-
100011 arch/x86/include/asm/desc.h | 67 +-
100012 arch/x86/include/asm/desc_defs.h | 6 +
100013 arch/x86/include/asm/div64.h | 2 +-
100014 arch/x86/include/asm/elf.h | 31 +-
100015 arch/x86/include/asm/emergency-restart.h | 2 +-
100016 arch/x86/include/asm/fpu-internal.h | 6 +-
100017 arch/x86/include/asm/futex.h | 16 +-
100018 arch/x86/include/asm/hw_irq.h | 4 +-
100019 arch/x86/include/asm/i8259.h | 2 +-
100020 arch/x86/include/asm/io.h | 21 +-
100021 arch/x86/include/asm/irqflags.h | 5 +
100022 arch/x86/include/asm/kprobes.h | 9 +-
100023 arch/x86/include/asm/local.h | 142 +-
100024 arch/x86/include/asm/mman.h | 15 +
100025 arch/x86/include/asm/mmu.h | 16 +-
100026 arch/x86/include/asm/mmu_context.h | 76 +-
100027 arch/x86/include/asm/module.h | 17 +-
100028 arch/x86/include/asm/nmi.h | 6 +-
100029 arch/x86/include/asm/page.h | 1 +
100030 arch/x86/include/asm/page_64.h | 4 +-
100031 arch/x86/include/asm/paravirt.h | 46 +-
100032 arch/x86/include/asm/paravirt_types.h | 17 +-
100033 arch/x86/include/asm/pgalloc.h | 23 +
100034 arch/x86/include/asm/pgtable-2level.h | 2 +
100035 arch/x86/include/asm/pgtable-3level.h | 4 +
100036 arch/x86/include/asm/pgtable.h | 122 +-
100037 arch/x86/include/asm/pgtable_32.h | 14 +-
100038 arch/x86/include/asm/pgtable_32_types.h | 15 +-
100039 arch/x86/include/asm/pgtable_64.h | 19 +-
100040 arch/x86/include/asm/pgtable_64_types.h | 5 +
100041 arch/x86/include/asm/pgtable_types.h | 36 +-
100042 arch/x86/include/asm/processor.h | 39 +-
100043 arch/x86/include/asm/ptrace.h | 26 +-
100044 arch/x86/include/asm/realmode.h | 4 +-
100045 arch/x86/include/asm/reboot.h | 10 +-
100046 arch/x86/include/asm/rwsem.h | 60 +-
100047 arch/x86/include/asm/segment.h | 24 +-
100048 arch/x86/include/asm/smp.h | 14 +-
100049 arch/x86/include/asm/spinlock.h | 36 +-
100050 arch/x86/include/asm/stackprotector.h | 4 +-
100051 arch/x86/include/asm/stacktrace.h | 32 +-
100052 arch/x86/include/asm/switch_to.h | 4 +-
100053 arch/x86/include/asm/thread_info.h | 83 +-
100054 arch/x86/include/asm/uaccess.h | 96 +-
100055 arch/x86/include/asm/uaccess_32.h | 106 +-
100056 arch/x86/include/asm/uaccess_64.h | 232 +-
100057 arch/x86/include/asm/word-at-a-time.h | 2 +-
100058 arch/x86/include/asm/x86_init.h | 10 +-
100059 arch/x86/include/asm/xsave.h | 10 +-
100060 arch/x86/include/uapi/asm/e820.h | 2 +-
100061 arch/x86/kernel/Makefile | 2 +-
100062 arch/x86/kernel/acpi/boot.c | 4 +-
100063 arch/x86/kernel/acpi/sleep.c | 4 +
100064 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
100065 arch/x86/kernel/alternative.c | 65 +-
100066 arch/x86/kernel/apic/apic.c | 4 +-
100067 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
100068 arch/x86/kernel/apic/apic_noop.c | 2 +-
100069 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
100070 arch/x86/kernel/apic/es7000_32.c | 5 +-
100071 arch/x86/kernel/apic/io_apic.c | 8 +-
100072 arch/x86/kernel/apic/numaq_32.c | 3 +-
100073 arch/x86/kernel/apic/probe_32.c | 2 +-
100074 arch/x86/kernel/apic/summit_32.c | 2 +-
100075 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
100076 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
100077 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
100078 arch/x86/kernel/apm_32.c | 19 +-
100079 arch/x86/kernel/asm-offsets.c | 20 +
100080 arch/x86/kernel/asm-offsets_64.c | 1 +
100081 arch/x86/kernel/cpu/Makefile | 4 -
100082 arch/x86/kernel/cpu/amd.c | 2 +-
100083 arch/x86/kernel/cpu/common.c | 75 +-
100084 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
100085 arch/x86/kernel/cpu/mcheck/mce.c | 33 +-
100086 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
100087 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
100088 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
100089 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
100090 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
100091 arch/x86/kernel/cpu/perf_event.c | 8 +-
100092 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
100093 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 4 +-
100094 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
100095 arch/x86/kernel/cpuid.c | 2 +-
100096 arch/x86/kernel/crash.c | 4 +-
100097 arch/x86/kernel/crash_dump_64.c | 2 +-
100098 arch/x86/kernel/doublefault_32.c | 8 +-
100099 arch/x86/kernel/dumpstack.c | 28 +-
100100 arch/x86/kernel/dumpstack_32.c | 34 +-
100101 arch/x86/kernel/dumpstack_64.c | 61 +-
100102 arch/x86/kernel/e820.c | 4 +-
100103 arch/x86/kernel/early_printk.c | 1 +
100104 arch/x86/kernel/entry_32.S | 354 +-
100105 arch/x86/kernel/entry_64.S | 548 ++-
100106 arch/x86/kernel/ftrace.c | 14 +-
100107 arch/x86/kernel/head64.c | 13 +-
100108 arch/x86/kernel/head_32.S | 237 +-
100109 arch/x86/kernel/head_64.S | 143 +-
100110 arch/x86/kernel/i386_ksyms_32.c | 8 +
100111 arch/x86/kernel/i387.c | 2 +-
100112 arch/x86/kernel/i8259.c | 10 +-
100113 arch/x86/kernel/io_delay.c | 2 +-
100114 arch/x86/kernel/ioport.c | 2 +-
100115 arch/x86/kernel/irq.c | 8 +-
100116 arch/x86/kernel/irq_32.c | 69 +-
100117 arch/x86/kernel/irq_64.c | 2 +-
100118 arch/x86/kernel/kdebugfs.c | 2 +-
100119 arch/x86/kernel/kgdb.c | 25 +-
100120 arch/x86/kernel/kprobes/core.c | 30 +-
100121 arch/x86/kernel/kprobes/opt.c | 16 +-
100122 arch/x86/kernel/kvm.c | 2 +-
100123 arch/x86/kernel/ldt.c | 31 +-
100124 arch/x86/kernel/machine_kexec_32.c | 6 +-
100125 arch/x86/kernel/microcode_core.c | 2 +-
100126 arch/x86/kernel/microcode_intel.c | 4 +-
100127 arch/x86/kernel/module.c | 76 +-
100128 arch/x86/kernel/msr.c | 2 +-
100129 arch/x86/kernel/nmi.c | 19 +-
100130 arch/x86/kernel/nmi_selftest.c | 4 +-
100131 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
100132 arch/x86/kernel/paravirt.c | 43 +-
100133 arch/x86/kernel/pci-calgary_64.c | 2 +-
100134 arch/x86/kernel/pci-iommu_table.c | 2 +-
100135 arch/x86/kernel/pci-swiotlb.c | 2 +-
100136 arch/x86/kernel/process.c | 55 +-
100137 arch/x86/kernel/process_32.c | 29 +-
100138 arch/x86/kernel/process_64.c | 15 +-
100139 arch/x86/kernel/ptrace.c | 25 +-
100140 arch/x86/kernel/pvclock.c | 8 +-
100141 arch/x86/kernel/reboot.c | 44 +-
100142 arch/x86/kernel/relocate_kernel_64.S | 2 +
100143 arch/x86/kernel/setup.c | 21 +-
100144 arch/x86/kernel/setup_percpu.c | 29 +-
100145 arch/x86/kernel/signal.c | 15 +-
100146 arch/x86/kernel/smp.c | 2 +-
100147 arch/x86/kernel/smpboot.c | 15 +-
100148 arch/x86/kernel/step.c | 10 +-
100149 arch/x86/kernel/sys_i386_32.c | 184 +
100150 arch/x86/kernel/sys_x86_64.c | 22 +-
100151 arch/x86/kernel/tboot.c | 14 +-
100152 arch/x86/kernel/time.c | 10 +-
100153 arch/x86/kernel/tls.c | 7 +-
100154 arch/x86/kernel/traps.c | 64 +-
100155 arch/x86/kernel/uprobes.c | 4 +-
100156 arch/x86/kernel/vm86_32.c | 6 +-
100157 arch/x86/kernel/vmlinux.lds.S | 148 +-
100158 arch/x86/kernel/vsyscall_64.c | 12 +-
100159 arch/x86/kernel/x8664_ksyms_64.c | 2 -
100160 arch/x86/kernel/x86_init.c | 8 +-
100161 arch/x86/kernel/xsave.c | 2 +
100162 arch/x86/kvm/cpuid.c | 21 +-
100163 arch/x86/kvm/emulate.c | 4 +-
100164 arch/x86/kvm/lapic.c | 2 +-
100165 arch/x86/kvm/paging_tmpl.h | 2 +-
100166 arch/x86/kvm/svm.c | 8 +
100167 arch/x86/kvm/vmx.c | 61 +-
100168 arch/x86/kvm/x86.c | 8 +-
100169 arch/x86/lguest/boot.c | 3 +-
100170 arch/x86/lib/atomic64_386_32.S | 164 +
100171 arch/x86/lib/atomic64_cx8_32.S | 103 +-
100172 arch/x86/lib/checksum_32.S | 100 +-
100173 arch/x86/lib/clear_page_64.S | 5 +-
100174 arch/x86/lib/cmpxchg16b_emu.S | 2 +
100175 arch/x86/lib/copy_page_64.S | 24 +-
100176 arch/x86/lib/copy_user_64.S | 47 +-
100177 arch/x86/lib/copy_user_nocache_64.S | 20 +-
100178 arch/x86/lib/csum-copy_64.S | 2 +
100179 arch/x86/lib/csum-wrappers_64.c | 4 +-
100180 arch/x86/lib/getuser.S | 70 +-
100181 arch/x86/lib/insn.c | 6 +-
100182 arch/x86/lib/iomap_copy_64.S | 2 +
100183 arch/x86/lib/memcpy_64.S | 18 +-
100184 arch/x86/lib/memmove_64.S | 34 +-
100185 arch/x86/lib/memset_64.S | 7 +-
100186 arch/x86/lib/mmx_32.c | 243 +-
100187 arch/x86/lib/msr-reg.S | 18 +-
100188 arch/x86/lib/putuser.S | 90 +-
100189 arch/x86/lib/rwlock.S | 42 +
100190 arch/x86/lib/rwsem.S | 6 +-
100191 arch/x86/lib/thunk_64.S | 2 +
100192 arch/x86/lib/usercopy_32.c | 363 +-
100193 arch/x86/lib/usercopy_64.c | 13 +-
100194 arch/x86/mm/extable.c | 25 +-
100195 arch/x86/mm/fault.c | 556 ++-
100196 arch/x86/mm/gup.c | 2 +-
100197 arch/x86/mm/highmem_32.c | 4 +
100198 arch/x86/mm/hugetlbpage.c | 30 +-
100199 arch/x86/mm/init.c | 98 +-
100200 arch/x86/mm/init_32.c | 113 +-
100201 arch/x86/mm/init_64.c | 38 +-
100202 arch/x86/mm/iomap_32.c | 4 +
100203 arch/x86/mm/ioremap.c | 15 +-
100204 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
100205 arch/x86/mm/mmap.c | 41 +-
100206 arch/x86/mm/mmio-mod.c | 10 +-
100207 arch/x86/mm/numa.c | 2 +-
100208 arch/x86/mm/pageattr-test.c | 2 +-
100209 arch/x86/mm/pageattr.c | 33 +-
100210 arch/x86/mm/pat.c | 12 +-
100211 arch/x86/mm/pat_rbtree.c | 2 +-
100212 arch/x86/mm/pf_in.c | 10 +-
100213 arch/x86/mm/pgtable.c | 137 +-
100214 arch/x86/mm/pgtable_32.c | 3 +
100215 arch/x86/mm/physaddr.c | 4 +-
100216 arch/x86/mm/setup_nx.c | 7 +
100217 arch/x86/mm/tlb.c | 4 +
100218 arch/x86/net/bpf_jit.S | 14 +
100219 arch/x86/net/bpf_jit_comp.c | 37 +-
100220 arch/x86/oprofile/backtrace.c | 8 +-
100221 arch/x86/oprofile/nmi_int.c | 8 +-
100222 arch/x86/oprofile/op_model_amd.c | 8 +-
100223 arch/x86/oprofile/op_model_ppro.c | 7 +-
100224 arch/x86/oprofile/op_x86_model.h | 2 +-
100225 arch/x86/pci/amd_bus.c | 2 +-
100226 arch/x86/pci/irq.c | 8 +-
100227 arch/x86/pci/mrst.c | 4 +-
100228 arch/x86/pci/pcbios.c | 144 +-
100229 arch/x86/platform/efi/efi_32.c | 24 +
100230 arch/x86/platform/efi/efi_64.c | 10 +
100231 arch/x86/platform/efi/efi_stub_32.S | 64 +-
100232 arch/x86/platform/efi/efi_stub_64.S | 8 +
100233 arch/x86/platform/mrst/mrst.c | 6 +-
100234 arch/x86/platform/olpc/olpc_dt.c | 2 +-
100235 arch/x86/power/cpu.c | 11 +-
100236 arch/x86/realmode/init.c | 10 +-
100237 arch/x86/realmode/rm/Makefile | 3 +
100238 arch/x86/realmode/rm/header.S | 4 +-
100239 arch/x86/realmode/rm/trampoline_32.S | 12 +-
100240 arch/x86/realmode/rm/trampoline_64.S | 2 +-
100241 arch/x86/tools/Makefile | 2 +-
100242 arch/x86/tools/relocs.c | 94 +-
100243 arch/x86/um/tls_32.c | 2 +-
100244 arch/x86/vdso/Makefile | 2 +-
100245 arch/x86/vdso/vdso32-setup.c | 23 +-
100246 arch/x86/vdso/vma.c | 29 +-
100247 arch/x86/xen/enlighten.c | 47 +-
100248 arch/x86/xen/mmu.c | 9 +
100249 arch/x86/xen/smp.c | 18 +-
100250 arch/x86/xen/xen-asm_32.S | 12 +-
100251 arch/x86/xen/xen-head.S | 11 +
100252 arch/x86/xen/xen-ops.h | 2 -
100253 block/blk-iopoll.c | 4 +-
100254 block/blk-map.c | 2 +-
100255 block/blk-softirq.c | 4 +-
100256 block/bsg.c | 12 +-
100257 block/compat_ioctl.c | 2 +-
100258 block/genhd.c | 11 +-
100259 block/partitions/efi.c | 8 +-
100260 block/scsi_ioctl.c | 27 +-
100261 crypto/algapi.c | 2 +-
100262 crypto/cryptd.c | 4 +-
100263 crypto/pcrypt.c | 6 +-
100264 drivers/acpi/apei/apei-internal.h | 2 +-
100265 drivers/acpi/apei/cper.c | 8 +-
100266 drivers/acpi/bgrt.c | 6 +-
100267 drivers/acpi/blacklist.c | 4 +-
100268 drivers/acpi/ec_sys.c | 12 +-
100269 drivers/acpi/processor_idle.c | 2 +-
100270 drivers/acpi/sysfs.c | 4 +-
100271 drivers/ata/libahci.c | 2 +-
100272 drivers/ata/libata-core.c | 8 +-
100273 drivers/ata/pata_arasan_cf.c | 4 +-
100274 drivers/atm/adummy.c | 2 +-
100275 drivers/atm/ambassador.c | 8 +-
100276 drivers/atm/atmtcp.c | 14 +-
100277 drivers/atm/eni.c | 10 +-
100278 drivers/atm/firestream.c | 8 +-
100279 drivers/atm/fore200e.c | 14 +-
100280 drivers/atm/he.c | 18 +-
100281 drivers/atm/horizon.c | 4 +-
100282 drivers/atm/idt77252.c | 36 +-
100283 drivers/atm/iphase.c | 34 +-
100284 drivers/atm/lanai.c | 12 +-
100285 drivers/atm/nicstar.c | 46 +-
100286 drivers/atm/solos-pci.c | 4 +-
100287 drivers/atm/suni.c | 4 +-
100288 drivers/atm/uPD98402.c | 16 +-
100289 drivers/atm/zatm.c | 6 +-
100290 drivers/base/attribute_container.c | 2 +-
100291 drivers/base/bus.c | 4 +-
100292 drivers/base/devtmpfs.c | 8 +-
100293 drivers/base/node.c | 2 +-
100294 drivers/base/power/domain.c | 4 +-
100295 drivers/base/power/sysfs.c | 2 +-
100296 drivers/base/power/wakeup.c | 8 +-
100297 drivers/base/syscore.c | 4 +-
100298 drivers/block/cciss.c | 28 +-
100299 drivers/block/cciss.h | 2 +-
100300 drivers/block/cpqarray.c | 28 +-
100301 drivers/block/cpqarray.h | 2 +-
100302 drivers/block/drbd/drbd_int.h | 6 +-
100303 drivers/block/drbd/drbd_main.c | 8 +-
100304 drivers/block/drbd/drbd_receiver.c | 22 +-
100305 drivers/block/loop.c | 2 +-
100306 drivers/block/nbd.c | 2 +-
100307 drivers/block/pktcdvd.c | 2 +-
100308 drivers/cdrom/cdrom.c | 11 +-
100309 drivers/cdrom/gdrom.c | 1 -
100310 drivers/char/agp/compat_ioctl.c | 2 +-
100311 drivers/char/agp/frontend.c | 4 +-
100312 drivers/char/hpet.c | 2 +-
100313 drivers/char/hw_random/intel-rng.c | 2 +-
100314 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
100315 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
100316 drivers/char/mem.c | 45 +-
100317 drivers/char/nvram.c | 2 +-
100318 drivers/char/pcmcia/synclink_cs.c | 18 +-
100319 drivers/char/random.c | 10 +-
100320 drivers/char/sonypi.c | 9 +-
100321 drivers/char/tpm/tpm_acpi.c | 3 +-
100322 drivers/char/tpm/tpm_eventlog.c | 7 +-
100323 drivers/char/virtio_console.c | 4 +-
100324 drivers/clk/clk-composite.c | 2 +-
100325 drivers/clocksource/arm_arch_timer.c | 2 +-
100326 drivers/clocksource/metag_generic.c | 2 +-
100327 drivers/cpufreq/acpi-cpufreq.c | 20 +-
100328 drivers/cpufreq/cpufreq.c | 9 +-
100329 drivers/cpufreq/cpufreq_governor.c | 6 +-
100330 drivers/cpufreq/cpufreq_governor.h | 2 +-
100331 drivers/cpufreq/cpufreq_ondemand.c | 8 +-
100332 drivers/cpufreq/cpufreq_stats.c | 2 +-
100333 drivers/cpufreq/p4-clockmod.c | 12 +-
100334 drivers/cpufreq/sparc-us3-cpufreq.c | 69 +-
100335 drivers/cpufreq/speedstep-centrino.c | 7 +-
100336 drivers/cpuidle/cpuidle.c | 2 +-
100337 drivers/cpuidle/governor.c | 4 +-
100338 drivers/cpuidle/sysfs.c | 2 +-
100339 drivers/devfreq/devfreq.c | 6 +-
100340 drivers/dma/sh/shdma.c | 2 +-
100341 drivers/edac/edac_mc_sysfs.c | 12 +-
100342 drivers/edac/edac_pci_sysfs.c | 22 +-
100343 drivers/edac/mce_amd.h | 2 +-
100344 drivers/firewire/core-card.c | 2 +-
100345 drivers/firewire/core-device.c | 2 +-
100346 drivers/firewire/core-transaction.c | 1 +
100347 drivers/firewire/core.h | 1 +
100348 drivers/firmware/dmi-id.c | 2 +-
100349 drivers/firmware/dmi_scan.c | 7 +-
100350 drivers/firmware/efi/efi.c | 12 +-
100351 drivers/firmware/efi/efivars.c | 2 +-
100352 drivers/firmware/google/memconsole.c | 4 +-
100353 drivers/gpio/gpio-ich.c | 2 +-
100354 drivers/gpio/gpio-vr41xx.c | 2 +-
100355 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
100356 drivers/gpu/drm/drm_drv.c | 6 +-
100357 drivers/gpu/drm/drm_fops.c | 18 +-
100358 drivers/gpu/drm/drm_global.c | 14 +-
100359 drivers/gpu/drm/drm_info.c | 14 +-
100360 drivers/gpu/drm/drm_ioc32.c | 13 +-
100361 drivers/gpu/drm/drm_ioctl.c | 2 +-
100362 drivers/gpu/drm/drm_lock.c | 4 +-
100363 drivers/gpu/drm/drm_stub.c | 2 +-
100364 drivers/gpu/drm/drm_sysfs.c | 2 +-
100365 drivers/gpu/drm/i810/i810_dma.c | 8 +-
100366 drivers/gpu/drm/i810/i810_drv.h | 4 +-
100367 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
100368 drivers/gpu/drm/i915/i915_dma.c | 2 +-
100369 drivers/gpu/drm/i915/i915_drv.h | 4 +-
100370 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +-
100371 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
100372 drivers/gpu/drm/i915/i915_irq.c | 22 +-
100373 drivers/gpu/drm/i915/intel_display.c | 26 +-
100374 drivers/gpu/drm/mga/mga_drv.h | 4 +-
100375 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
100376 drivers/gpu/drm/mga/mga_irq.c | 8 +-
100377 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
100378 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
100379 drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
100380 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
100381 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
100382 drivers/gpu/drm/qxl/qxl_ttm.c | 38 +-
100383 drivers/gpu/drm/r128/r128_cce.c | 2 +-
100384 drivers/gpu/drm/r128/r128_drv.h | 4 +-
100385 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
100386 drivers/gpu/drm/r128/r128_irq.c | 4 +-
100387 drivers/gpu/drm/r128/r128_state.c | 4 +-
100388 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
100389 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
100390 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
100391 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
100392 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
100393 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
100394 drivers/gpu/drm/radeon/radeon_ttm.c | 57 +-
100395 drivers/gpu/drm/radeon/rs690.c | 4 +-
100396 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
100397 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
100398 drivers/gpu/drm/udl/udl_fb.c | 1 -
100399 drivers/gpu/drm/via/via_drv.h | 4 +-
100400 drivers/gpu/drm/via/via_irq.c | 18 +-
100401 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
100402 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
100403 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 +-
100404 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
100405 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
100406 drivers/hid/hid-core.c | 4 +-
100407 drivers/hv/channel.c | 4 +-
100408 drivers/hv/hv.c | 2 +-
100409 drivers/hv/hyperv_vmbus.h | 2 +-
100410 drivers/hv/vmbus_drv.c | 4 +-
100411 drivers/hwmon/acpi_power_meter.c | 4 +-
100412 drivers/hwmon/applesmc.c | 2 +-
100413 drivers/hwmon/asus_atk0110.c | 10 +-
100414 drivers/hwmon/coretemp.c | 2 +-
100415 drivers/hwmon/ibmaem.c | 2 +-
100416 drivers/hwmon/iio_hwmon.c | 2 +-
100417 drivers/hwmon/pmbus/pmbus_core.c | 10 +-
100418 drivers/hwmon/sht15.c | 12 +-
100419 drivers/hwmon/via-cputemp.c | 2 +-
100420 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
100421 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
100422 drivers/i2c/i2c-dev.c | 2 +-
100423 drivers/ide/ide-cd.c | 2 +-
100424 drivers/iio/industrialio-core.c | 2 +-
100425 drivers/infiniband/core/cm.c | 32 +-
100426 drivers/infiniband/core/fmr_pool.c | 20 +-
100427 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
100428 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
100429 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
100430 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
100431 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
100432 drivers/infiniband/hw/nes/nes.c | 4 +-
100433 drivers/infiniband/hw/nes/nes.h | 40 +-
100434 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
100435 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
100436 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
100437 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
100438 drivers/infiniband/hw/qib/qib.h | 1 +
100439 drivers/input/gameport/gameport.c | 4 +-
100440 drivers/input/input.c | 4 +-
100441 drivers/input/joystick/sidewinder.c | 1 +
100442 drivers/input/joystick/xpad.c | 4 +-
100443 drivers/input/mouse/psmouse.h | 2 +-
100444 drivers/input/mousedev.c | 2 +-
100445 drivers/input/serio/serio.c | 4 +-
100446 drivers/iommu/iommu.c | 2 +-
100447 drivers/iommu/irq_remapping.c | 12 +-
100448 drivers/irqchip/irq-gic.c | 4 +-
100449 drivers/isdn/capi/capi.c | 10 +-
100450 drivers/isdn/gigaset/interface.c | 8 +-
100451 drivers/isdn/hardware/avm/b1.c | 4 +-
100452 drivers/isdn/i4l/isdn_tty.c | 22 +-
100453 drivers/isdn/icn/icn.c | 2 +-
100454 drivers/leds/leds-clevo-mail.c | 2 +-
100455 drivers/leds/leds-ss4200.c | 2 +-
100456 drivers/lguest/core.c | 10 +-
100457 drivers/lguest/page_tables.c | 2 +-
100458 drivers/lguest/x86/core.c | 12 +-
100459 drivers/lguest/x86/switcher_32.S | 27 +-
100460 drivers/md/bcache/closure.h | 2 +-
100461 drivers/md/bitmap.c | 2 +-
100462 drivers/md/dm-ioctl.c | 2 +-
100463 drivers/md/dm-raid1.c | 16 +-
100464 drivers/md/dm-stripe.c | 10 +-
100465 drivers/md/dm-table.c | 2 +-
100466 drivers/md/dm-thin-metadata.c | 4 +-
100467 drivers/md/dm.c | 16 +-
100468 drivers/md/md.c | 26 +-
100469 drivers/md/md.h | 6 +-
100470 drivers/md/persistent-data/dm-space-map.h | 1 +
100471 drivers/md/raid1.c | 4 +-
100472 drivers/md/raid10.c | 16 +-
100473 drivers/md/raid5.c | 10 +-
100474 drivers/media/dvb-core/dvbdev.c | 2 +-
100475 drivers/media/dvb-frontends/dib3000.h | 2 +-
100476 drivers/media/pci/cx88/cx88-video.c | 6 +-
100477 drivers/media/platform/omap/omap_vout.c | 11 +-
100478 drivers/media/platform/s5p-tv/mixer.h | 2 +-
100479 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
100480 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
100481 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
100482 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
100483 drivers/media/radio/radio-cadet.c | 2 +
100484 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
100485 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
100486 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +-
100487 drivers/media/v4l2-core/v4l2-ioctl.c | 11 +-
100488 drivers/message/fusion/mptsas.c | 34 +-
100489 drivers/message/fusion/mptscsih.c | 19 +-
100490 drivers/message/i2o/i2o_proc.c | 51 +-
100491 drivers/message/i2o/iop.c | 8 +-
100492 drivers/mfd/janz-cmodio.c | 1 +
100493 drivers/mfd/twl4030-irq.c | 9 +-
100494 drivers/mfd/twl6030-irq.c | 10 +-
100495 drivers/misc/c2port/core.c | 4 +-
100496 drivers/misc/kgdbts.c | 4 +-
100497 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
100498 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
100499 drivers/misc/sgi-gru/gruhandles.c | 4 +-
100500 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
100501 drivers/misc/sgi-gru/grutables.h | 154 +-
100502 drivers/misc/sgi-xp/xp.h | 2 +-
100503 drivers/misc/sgi-xp/xpc.h | 3 +-
100504 drivers/misc/sgi-xp/xpc_main.c | 4 +-
100505 drivers/mmc/core/mmc_ops.c | 2 +-
100506 drivers/mmc/host/dw_mmc.h | 2 +-
100507 drivers/mmc/host/sdhci-s3c.c | 8 +-
100508 drivers/mtd/nand/denali.c | 1 +
100509 drivers/mtd/nftlmount.c | 1 +
100510 drivers/mtd/sm_ftl.c | 2 +-
100511 drivers/net/bonding/bond_main.c | 2 +-
100512 drivers/net/ethernet/8390/ax88796.c | 4 +-
100513 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
100514 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
100515 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
100516 drivers/net/ethernet/broadcom/tg3.h | 1 +
100517 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
100518 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
100519 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
100520 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
100521 drivers/net/ethernet/faraday/ftmac100.c | 2 +
100522 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
100523 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
100524 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +-
100525 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +-
100526 drivers/net/ethernet/realtek/r8169.c | 8 +-
100527 drivers/net/ethernet/sfc/ptp.c | 2 +-
100528 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
100529 drivers/net/hyperv/hyperv_net.h | 2 +-
100530 drivers/net/hyperv/rndis_filter.c | 4 +-
100531 drivers/net/ieee802154/fakehard.c | 2 +-
100532 drivers/net/macvlan.c | 18 +-
100533 drivers/net/macvtap.c | 2 +-
100534 drivers/net/ppp/ppp_generic.c | 4 +-
100535 drivers/net/slip/slhc.c | 2 +-
100536 drivers/net/team/team.c | 2 +-
100537 drivers/net/tun.c | 5 +-
100538 drivers/net/usb/hso.c | 23 +-
100539 drivers/net/vxlan.c | 2 +-
100540 drivers/net/wireless/at76c50x-usb.c | 2 +-
100541 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
100542 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
100543 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
100544 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
100545 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
100546 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
100547 drivers/net/wireless/mac80211_hwsim.c | 32 +-
100548 drivers/net/wireless/rndis_wlan.c | 2 +-
100549 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
100550 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
100551 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
100552 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
100553 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
100554 drivers/oprofile/buffer_sync.c | 8 +-
100555 drivers/oprofile/event_buffer.c | 2 +-
100556 drivers/oprofile/oprof.c | 2 +-
100557 drivers/oprofile/oprofile_files.c | 2 +-
100558 drivers/oprofile/oprofile_stats.c | 10 +-
100559 drivers/oprofile/oprofile_stats.h | 10 +-
100560 drivers/oprofile/oprofilefs.c | 2 +-
100561 drivers/oprofile/timer_int.c | 2 +-
100562 drivers/parport/procfs.c | 4 +-
100563 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
100564 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
100565 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
100566 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
100567 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
100568 drivers/pci/hotplug/pciehp_core.c | 2 +-
100569 drivers/pci/pci-sysfs.c | 6 +-
100570 drivers/pci/pci.h | 2 +-
100571 drivers/pci/pcie/aspm.c | 6 +-
100572 drivers/pci/probe.c | 2 +-
100573 drivers/platform/x86/chromeos_laptop.c | 2 +-
100574 drivers/platform/x86/msi-laptop.c | 14 +-
100575 drivers/platform/x86/sony-laptop.c | 2 +-
100576 drivers/platform/x86/thinkpad_acpi.c | 70 +-
100577 drivers/pnp/pnpbios/bioscalls.c | 14 +-
100578 drivers/pnp/resource.c | 4 +-
100579 drivers/power/pda_power.c | 7 +-
100580 drivers/power/power_supply.h | 4 +-
100581 drivers/power/power_supply_core.c | 7 +-
100582 drivers/power/power_supply_sysfs.c | 6 +-
100583 drivers/regulator/max8660.c | 6 +-
100584 drivers/regulator/max8973-regulator.c | 8 +-
100585 drivers/regulator/mc13892-regulator.c | 6 +-
100586 drivers/rtc/rtc-cmos.c | 4 +-
100587 drivers/rtc/rtc-ds1307.c | 2 +-
100588 drivers/rtc/rtc-m48t59.c | 4 +-
100589 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
100590 drivers/scsi/bfa/bfa_ioc.h | 4 +-
100591 drivers/scsi/hosts.c | 4 +-
100592 drivers/scsi/hpsa.c | 30 +-
100593 drivers/scsi/hpsa.h | 2 +-
100594 drivers/scsi/libfc/fc_exch.c | 50 +-
100595 drivers/scsi/libsas/sas_ata.c | 2 +-
100596 drivers/scsi/lpfc/lpfc.h | 8 +-
100597 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
100598 drivers/scsi/lpfc/lpfc_init.c | 6 +-
100599 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
100600 drivers/scsi/pmcraid.c | 20 +-
100601 drivers/scsi/pmcraid.h | 8 +-
100602 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
100603 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
100604 drivers/scsi/qla2xxx/qla_os.c | 6 +-
100605 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
100606 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
100607 drivers/scsi/scsi.c | 2 +-
100608 drivers/scsi/scsi_lib.c | 6 +-
100609 drivers/scsi/scsi_sysfs.c | 2 +-
100610 drivers/scsi/scsi_tgt_lib.c | 2 +-
100611 drivers/scsi/scsi_transport_fc.c | 8 +-
100612 drivers/scsi/scsi_transport_iscsi.c | 6 +-
100613 drivers/scsi/scsi_transport_srp.c | 6 +-
100614 drivers/scsi/sd.c | 2 +-
100615 drivers/scsi/sg.c | 2 +-
100616 drivers/spi/spi.c | 2 +-
100617 drivers/staging/media/solo6x10/solo6x10-core.c | 2 +-
100618 drivers/staging/octeon/ethernet-rx.c | 12 +-
100619 drivers/staging/octeon/ethernet.c | 8 +-
100620 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
100621 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
100622 drivers/staging/usbip/vhci.h | 2 +-
100623 drivers/staging/usbip/vhci_hcd.c | 6 +-
100624 drivers/staging/usbip/vhci_rx.c | 2 +-
100625 drivers/staging/vt6655/hostap.c | 7 +-
100626 drivers/staging/vt6656/hostap.c | 7 +-
100627 drivers/staging/zcache/tmem.c | 4 +-
100628 drivers/staging/zcache/tmem.h | 2 +
100629 drivers/target/target_core_device.c | 2 +-
100630 drivers/target/target_core_transport.c | 2 +-
100631 drivers/tty/cyclades.c | 6 +-
100632 drivers/tty/hvc/hvc_console.c | 14 +-
100633 drivers/tty/hvc/hvcs.c | 21 +-
100634 drivers/tty/ipwireless/tty.c | 27 +-
100635 drivers/tty/moxa.c | 2 +-
100636 drivers/tty/n_gsm.c | 4 +-
100637 drivers/tty/n_tty.c | 3 +-
100638 drivers/tty/pty.c | 4 +-
100639 drivers/tty/rocket.c | 6 +-
100640 drivers/tty/serial/kgdboc.c | 32 +-
100641 drivers/tty/serial/samsung.c | 9 +-
100642 drivers/tty/serial/serial_core.c | 8 +-
100643 drivers/tty/synclink.c | 34 +-
100644 drivers/tty/synclink_gt.c | 28 +-
100645 drivers/tty/synclinkmp.c | 34 +-
100646 drivers/tty/tty_io.c | 2 +-
100647 drivers/tty/tty_ldisc.c | 10 +-
100648 drivers/tty/tty_port.c | 22 +-
100649 drivers/uio/uio.c | 21 +-
100650 drivers/usb/atm/cxacru.c | 2 +-
100651 drivers/usb/atm/usbatm.c | 24 +-
100652 drivers/usb/core/devices.c | 6 +-
100653 drivers/usb/core/hcd.c | 4 +-
100654 drivers/usb/core/message.c | 2 +-
100655 drivers/usb/core/sysfs.c | 2 +-
100656 drivers/usb/core/usb.c | 2 +-
100657 drivers/usb/early/ehci-dbgp.c | 16 +-
100658 drivers/usb/gadget/u_serial.c | 22 +-
100659 drivers/usb/serial/console.c | 6 +-
100660 drivers/usb/storage/usb.h | 2 +-
100661 drivers/usb/wusbcore/wa-hc.h | 4 +-
100662 drivers/usb/wusbcore/wa-xfer.c | 2 +-
100663 drivers/vhost/vringh.c | 2 +-
100664 drivers/video/aty/aty128fb.c | 2 +-
100665 drivers/video/aty/atyfb_base.c | 8 +-
100666 drivers/video/aty/mach64_cursor.c | 5 +-
100667 drivers/video/backlight/kb3886_bl.c | 2 +-
100668 drivers/video/fb_defio.c | 6 +-
100669 drivers/video/fbcmap.c | 3 +-
100670 drivers/video/fbmem.c | 6 +-
100671 drivers/video/i810/i810_accel.c | 1 +
100672 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
100673 drivers/video/nvidia/nvidia.c | 27 +-
100674 drivers/video/output.c | 2 +-
100675 drivers/video/s1d13xxxfb.c | 6 +-
100676 drivers/video/smscufx.c | 4 +-
100677 drivers/video/udlfb.c | 36 +-
100678 drivers/video/uvesafb.c | 53 +-
100679 drivers/video/vesafb.c | 58 +-
100680 drivers/video/via/via_clock.h | 2 +-
100681 fs/9p/vfs_addr.c | 2 +-
100682 fs/9p/vfs_inode.c | 2 +-
100683 fs/Kconfig.binfmt | 2 +-
100684 fs/aio.c | 12 +-
100685 fs/autofs4/waitq.c | 2 +-
100686 fs/befs/endian.h | 4 +-
100687 fs/befs/linuxvfs.c | 2 +-
100688 fs/binfmt_aout.c | 23 +-
100689 fs/binfmt_elf.c | 607 ++-
100690 fs/binfmt_flat.c | 6 +
100691 fs/bio.c | 6 +-
100692 fs/block_dev.c | 2 +-
100693 fs/btrfs/ctree.c | 9 +-
100694 fs/btrfs/super.c | 2 +-
100695 fs/cachefiles/bind.c | 6 +-
100696 fs/cachefiles/daemon.c | 8 +-
100697 fs/cachefiles/internal.h | 12 +-
100698 fs/cachefiles/namei.c | 2 +-
100699 fs/cachefiles/proc.c | 12 +-
100700 fs/cachefiles/rdwr.c | 2 +-
100701 fs/ceph/dir.c | 2 +-
100702 fs/cifs/cifs_debug.c | 12 +-
100703 fs/cifs/cifsfs.c | 8 +-
100704 fs/cifs/cifsglob.h | 54 +-
100705 fs/cifs/link.c | 2 +-
100706 fs/cifs/misc.c | 4 +-
100707 fs/cifs/smb1ops.c | 80 +-
100708 fs/cifs/smb2ops.c | 84 +-
100709 fs/cifs/smb2pdu.c | 3 +-
100710 fs/coda/cache.c | 10 +-
100711 fs/compat.c | 6 +-
100712 fs/compat_binfmt_elf.c | 2 +
100713 fs/compat_ioctl.c | 12 +-
100714 fs/configfs/dir.c | 10 +-
100715 fs/coredump.c | 24 +-
100716 fs/dcache.c | 2 +-
100717 fs/ecryptfs/inode.c | 4 +-
100718 fs/ecryptfs/miscdev.c | 2 +-
100719 fs/exec.c | 362 ++-
100720 fs/ext4/ext4.h | 20 +-
100721 fs/ext4/mballoc.c | 44 +-
100722 fs/ext4/mmp.c | 2 +-
100723 fs/ext4/super.c | 4 +-
100724 fs/fhandle.c | 3 +-
100725 fs/fs_struct.c | 8 +-
100726 fs/fscache/cookie.c | 36 +-
100727 fs/fscache/internal.h | 196 +-
100728 fs/fscache/object.c | 28 +-
100729 fs/fscache/operation.c | 30 +-
100730 fs/fscache/page.c | 110 +-
100731 fs/fscache/stats.c | 344 +-
100732 fs/fuse/cuse.c | 10 +-
100733 fs/fuse/dev.c | 4 +-
100734 fs/fuse/dir.c | 2 +-
100735 fs/gfs2/inode.c | 2 +-
100736 fs/hugetlbfs/inode.c | 13 +-
100737 fs/inode.c | 4 +-
100738 fs/jffs2/erase.c | 3 +-
100739 fs/jffs2/wbuf.c | 3 +-
100740 fs/jfs/super.c | 2 +-
100741 fs/libfs.c | 10 +-
100742 fs/lockd/clntproc.c | 4 +-
100743 fs/lockd/svc.c | 2 +-
100744 fs/locks.c | 8 +-
100745 fs/namei.c | 15 +-
100746 fs/namespace.c | 10 +-
100747 fs/nfs/callback.c | 4 +-
100748 fs/nfs/callback_xdr.c | 2 +-
100749 fs/nfs/inode.c | 6 +-
100750 fs/nfs/nfs4state.c | 2 +-
100751 fs/nfsd/nfs4proc.c | 2 +-
100752 fs/nfsd/nfs4xdr.c | 6 +-
100753 fs/nfsd/nfscache.c | 9 +-
100754 fs/nfsd/vfs.c | 6 +-
100755 fs/nls/nls_base.c | 18 +-
100756 fs/nls/nls_euc-jp.c | 6 +-
100757 fs/nls/nls_koi8-ru.c | 6 +-
100758 fs/notify/fanotify/fanotify_user.c | 4 +-
100759 fs/notify/notification.c | 4 +-
100760 fs/ntfs/dir.c | 2 +-
100761 fs/ntfs/file.c | 4 +-
100762 fs/ocfs2/localalloc.c | 2 +-
100763 fs/ocfs2/ocfs2.h | 10 +-
100764 fs/ocfs2/suballoc.c | 12 +-
100765 fs/ocfs2/super.c | 20 +-
100766 fs/pipe.c | 61 +-
100767 fs/proc/array.c | 20 +
100768 fs/proc/base.c | 4 +-
100769 fs/proc/kcore.c | 32 +-
100770 fs/proc/meminfo.c | 2 +-
100771 fs/proc/nommu.c | 2 +-
100772 fs/proc/proc_sysctl.c | 18 +-
100773 fs/proc/self.c | 2 +-
100774 fs/proc/task_mmu.c | 39 +-
100775 fs/proc/task_nommu.c | 4 +-
100776 fs/proc/vmcore.c | 12 +-
100777 fs/qnx6/qnx6.h | 4 +-
100778 fs/quota/netlink.c | 4 +-
100779 fs/read_write.c | 2 +-
100780 fs/readdir.c | 2 +-
100781 fs/reiserfs/do_balan.c | 2 +-
100782 fs/reiserfs/procfs.c | 2 +-
100783 fs/reiserfs/reiserfs.h | 4 +-
100784 fs/seq_file.c | 2 +-
100785 fs/splice.c | 40 +-
100786 fs/sysfs/bin.c | 6 +-
100787 fs/sysfs/dir.c | 2 +-
100788 fs/sysfs/file.c | 10 +-
100789 fs/sysfs/symlink.c | 2 +-
100790 fs/sysv/sysv.h | 2 +-
100791 fs/ubifs/io.c | 2 +-
100792 fs/udf/misc.c | 2 +-
100793 fs/ufs/swab.h | 4 +-
100794 fs/xattr.c | 21 +
100795 fs/xattr_acl.c | 4 +-
100796 fs/xfs/xfs_bmap.c | 2 +-
100797 fs/xfs/xfs_dir2_sf.c | 10 +-
100798 fs/xfs/xfs_ioctl.c | 2 +-
100799 fs/xfs/xfs_iops.c | 2 +-
100800 include/asm-generic/4level-fixup.h | 2 +
100801 include/asm-generic/atomic-long.h | 210 +
100802 include/asm-generic/atomic.h | 2 +-
100803 include/asm-generic/atomic64.h | 12 +
100804 include/asm-generic/cache.h | 4 +-
100805 include/asm-generic/emergency-restart.h | 2 +-
100806 include/asm-generic/kmap_types.h | 4 +-
100807 include/asm-generic/local.h | 13 +
100808 include/asm-generic/pgtable-nopmd.h | 18 +-
100809 include/asm-generic/pgtable-nopud.h | 15 +-
100810 include/asm-generic/pgtable.h | 8 +
100811 include/asm-generic/vmlinux.lds.h | 10 +-
100812 include/crypto/algapi.h | 2 +-
100813 include/drm/drmP.h | 17 +-
100814 include/drm/drm_crtc_helper.h | 2 +-
100815 include/drm/ttm/ttm_memory.h | 2 +-
100816 include/keys/asymmetric-subtype.h | 2 +-
100817 include/linux/atmdev.h | 4 +-
100818 include/linux/binfmts.h | 3 +-
100819 include/linux/blkdev.h | 2 +-
100820 include/linux/blktrace_api.h | 2 +-
100821 include/linux/cache.h | 4 +
100822 include/linux/cdrom.h | 1 -
100823 include/linux/cleancache.h | 2 +-
100824 include/linux/clk-provider.h | 1 +
100825 include/linux/compat.h | 4 +-
100826 include/linux/compiler-gcc4.h | 20 +
100827 include/linux/compiler.h | 65 +-
100828 include/linux/completion.h | 6 +-
100829 include/linux/configfs.h | 2 +-
100830 include/linux/cpu.h | 2 +-
100831 include/linux/cpufreq.h | 3 +-
100832 include/linux/cpuidle.h | 5 +-
100833 include/linux/cpumask.h | 12 +-
100834 include/linux/crypto.h | 6 +-
100835 include/linux/ctype.h | 2 +-
100836 include/linux/decompress/mm.h | 2 +-
100837 include/linux/devfreq.h | 2 +-
100838 include/linux/device.h | 7 +-
100839 include/linux/dma-mapping.h | 2 +-
100840 include/linux/dmaengine.h | 4 +-
100841 include/linux/efi.h | 1 +
100842 include/linux/elf.h | 2 +
100843 include/linux/err.h | 4 +-
100844 include/linux/extcon.h | 2 +-
100845 include/linux/fb.h | 2 +-
100846 include/linux/filter.h | 4 +
100847 include/linux/frontswap.h | 2 +-
100848 include/linux/fs.h | 3 +-
100849 include/linux/fs_struct.h | 2 +-
100850 include/linux/fscache-cache.h | 4 +-
100851 include/linux/fscache.h | 2 +-
100852 include/linux/fsnotify.h | 2 +-
100853 include/linux/genhd.h | 2 +-
100854 include/linux/genl_magic_func.h | 2 +-
100855 include/linux/gfp.h | 12 +-
100856 include/linux/highmem.h | 12 +
100857 include/linux/hwmon-sysfs.h | 5 +-
100858 include/linux/i2c.h | 1 +
100859 include/linux/i2o.h | 2 +-
100860 include/linux/if_pppox.h | 2 +-
100861 include/linux/init.h | 33 +-
100862 include/linux/init_task.h | 7 +
100863 include/linux/interrupt.h | 8 +-
100864 include/linux/iommu.h | 2 +-
100865 include/linux/ioport.h | 2 +-
100866 include/linux/irq.h | 3 +-
100867 include/linux/irqchip/arm-gic.h | 4 +-
100868 include/linux/key-type.h | 2 +-
100869 include/linux/kgdb.h | 6 +-
100870 include/linux/kobject.h | 3 +-
100871 include/linux/kobject_ns.h | 2 +-
100872 include/linux/kref.h | 2 +-
100873 include/linux/kvm_host.h | 4 +-
100874 include/linux/libata.h | 2 +-
100875 include/linux/list.h | 15 +
100876 include/linux/math64.h | 6 +-
100877 include/linux/mm.h | 116 +-
100878 include/linux/mm_types.h | 20 +
100879 include/linux/mmiotrace.h | 4 +-
100880 include/linux/mmzone.h | 2 +-
100881 include/linux/mod_devicetable.h | 6 +-
100882 include/linux/module.h | 60 +-
100883 include/linux/moduleloader.h | 16 +
100884 include/linux/moduleparam.h | 4 +-
100885 include/linux/namei.h | 6 +-
100886 include/linux/net.h | 2 +-
100887 include/linux/netdevice.h | 3 +-
100888 include/linux/netfilter.h | 2 +-
100889 include/linux/netfilter/ipset/ip_set.h | 2 +-
100890 include/linux/netfilter/nfnetlink.h | 2 +-
100891 include/linux/nls.h | 2 +-
100892 include/linux/notifier.h | 3 +-
100893 include/linux/oprofile.h | 4 +-
100894 include/linux/pci_hotplug.h | 3 +-
100895 include/linux/perf_event.h | 12 +-
100896 include/linux/pipe_fs_i.h | 8 +-
100897 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
100898 include/linux/platform_data/usb-ohci-exynos.h | 2 +-
100899 include/linux/pm_domain.h | 2 +-
100900 include/linux/pm_runtime.h | 2 +-
100901 include/linux/pnp.h | 2 +-
100902 include/linux/poison.h | 4 +-
100903 include/linux/power/smartreflex.h | 2 +-
100904 include/linux/ppp-comp.h | 2 +-
100905 include/linux/proc_ns.h | 2 +-
100906 include/linux/random.h | 5 +
100907 include/linux/rculist.h | 16 +
100908 include/linux/reboot.h | 14 +-
100909 include/linux/regset.h | 3 +-
100910 include/linux/relay.h | 2 +-
100911 include/linux/rio.h | 2 +-
100912 include/linux/rmap.h | 4 +-
100913 include/linux/sched.h | 65 +-
100914 include/linux/sched/sysctl.h | 1 +
100915 include/linux/seq_file.h | 1 +
100916 include/linux/skbuff.h | 12 +-
100917 include/linux/slab.h | 42 +-
100918 include/linux/slab_def.h | 28 +-
100919 include/linux/slob_def.h | 4 +-
100920 include/linux/slub_def.h | 8 +-
100921 include/linux/sock_diag.h | 2 +-
100922 include/linux/sonet.h | 2 +-
100923 include/linux/sunrpc/addr.h | 8 +-
100924 include/linux/sunrpc/clnt.h | 2 +-
100925 include/linux/sunrpc/svc.h | 2 +-
100926 include/linux/sunrpc/svc_rdma.h | 18 +-
100927 include/linux/sunrpc/svcauth.h | 2 +-
100928 include/linux/swiotlb.h | 3 +-
100929 include/linux/syscalls.h | 10 +-
100930 include/linux/syscore_ops.h | 2 +-
100931 include/linux/sysctl.h | 6 +-
100932 include/linux/sysfs.h | 10 +-
100933 include/linux/sysrq.h | 3 +-
100934 include/linux/thread_info.h | 7 +
100935 include/linux/tty.h | 4 +-
100936 include/linux/tty_driver.h | 2 +-
100937 include/linux/tty_ldisc.h | 2 +-
100938 include/linux/types.h | 16 +
100939 include/linux/uaccess.h | 6 +-
100940 include/linux/unaligned/access_ok.h | 24 +-
100941 include/linux/usb.h | 4 +-
100942 include/linux/usb/renesas_usbhs.h | 2 +-
100943 include/linux/vermagic.h | 21 +-
100944 include/linux/vmalloc.h | 11 +-
100945 include/linux/vmstat.h | 20 +-
100946 include/linux/xattr.h | 5 +-
100947 include/linux/zlib.h | 3 +-
100948 include/media/v4l2-dev.h | 2 +-
100949 include/net/9p/transport.h | 2 +-
100950 include/net/bluetooth/l2cap.h | 2 +-
100951 include/net/caif/cfctrl.h | 6 +-
100952 include/net/flow.h | 2 +-
100953 include/net/genetlink.h | 2 +-
100954 include/net/gro_cells.h | 2 +-
100955 include/net/inet_connection_sock.h | 2 +-
100956 include/net/inetpeer.h | 8 +-
100957 include/net/ip.h | 2 +-
100958 include/net/ip_fib.h | 2 +-
100959 include/net/ip_vs.h | 8 +-
100960 include/net/irda/ircomm_tty.h | 1 +
100961 include/net/iucv/af_iucv.h | 2 +-
100962 include/net/llc_c_ac.h | 2 +-
100963 include/net/llc_c_ev.h | 4 +-
100964 include/net/llc_c_st.h | 2 +-
100965 include/net/llc_s_ac.h | 2 +-
100966 include/net/llc_s_st.h | 2 +-
100967 include/net/mac80211.h | 2 +-
100968 include/net/neighbour.h | 2 +-
100969 include/net/net_namespace.h | 12 +-
100970 include/net/netdma.h | 2 +-
100971 include/net/netlink.h | 2 +-
100972 include/net/netns/conntrack.h | 6 +-
100973 include/net/netns/ipv4.h | 2 +-
100974 include/net/netns/ipv6.h | 2 +-
100975 include/net/protocol.h | 4 +-
100976 include/net/rtnetlink.h | 2 +-
100977 include/net/sctp/sctp.h | 6 +-
100978 include/net/sctp/sm.h | 4 +-
100979 include/net/sctp/structs.h | 2 +-
100980 include/net/sock.h | 6 +-
100981 include/net/tcp.h | 8 +-
100982 include/net/xfrm.h | 8 +-
100983 include/rdma/iw_cm.h | 2 +-
100984 include/scsi/libfc.h | 3 +-
100985 include/scsi/scsi_device.h | 6 +-
100986 include/scsi/scsi_transport_fc.h | 3 +-
100987 include/sound/compress_driver.h | 2 +-
100988 include/sound/soc.h | 4 +-
100989 include/target/target_core_base.h | 2 +-
100990 include/trace/events/irq.h | 4 +-
100991 include/uapi/linux/a.out.h | 8 +
100992 include/uapi/linux/byteorder/little_endian.h | 28 +-
100993 include/uapi/linux/elf.h | 28 +
100994 include/uapi/linux/screen_info.h | 3 +-
100995 include/uapi/linux/swab.h | 6 +-
100996 include/uapi/linux/sysctl.h | 6 +-
100997 include/uapi/linux/xattr.h | 4 +
100998 include/video/udlfb.h | 8 +-
100999 include/video/uvesafb.h | 1 +
101000 init/Kconfig | 2 +-
101001 init/Makefile | 3 +
101002 init/do_mounts.c | 14 +-
101003 init/do_mounts.h | 8 +-
101004 init/do_mounts_initrd.c | 30 +-
101005 init/do_mounts_md.c | 6 +-
101006 init/init_task.c | 4 +
101007 init/initramfs.c | 42 +-
101008 init/main.c | 83 +-
101009 ipc/ipc_sysctl.c | 10 +-
101010 ipc/mq_sysctl.c | 2 +-
101011 ipc/msg.c | 11 +-
101012 ipc/sem.c | 11 +-
101013 ipc/shm.c | 17 +-
101014 kernel/acct.c | 2 +-
101015 kernel/audit.c | 8 +-
101016 kernel/auditfilter.c | 2 +-
101017 kernel/auditsc.c | 4 +-
101018 kernel/capability.c | 3 +
101019 kernel/compat.c | 38 +-
101020 kernel/debug/debug_core.c | 16 +-
101021 kernel/debug/kdb/kdb_main.c | 4 +-
101022 kernel/events/core.c | 30 +-
101023 kernel/events/internal.h | 10 +-
101024 kernel/exit.c | 4 +-
101025 kernel/fork.c | 167 +-
101026 kernel/futex.c | 9 +
101027 kernel/futex_compat.c | 2 +-
101028 kernel/gcov/base.c | 7 +-
101029 kernel/hrtimer.c | 4 +-
101030 kernel/irq_work.c | 7 +-
101031 kernel/jump_label.c | 5 +
101032 kernel/kallsyms.c | 39 +-
101033 kernel/kexec.c | 3 +-
101034 kernel/kmod.c | 4 +-
101035 kernel/kprobes.c | 8 +-
101036 kernel/ksysfs.c | 2 +-
101037 kernel/lockdep.c | 7 +-
101038 kernel/module.c | 337 +-
101039 kernel/mutex-debug.c | 12 +-
101040 kernel/mutex-debug.h | 4 +-
101041 kernel/mutex.c | 11 +-
101042 kernel/notifier.c | 17 +-
101043 kernel/panic.c | 3 +-
101044 kernel/pid.c | 2 +-
101045 kernel/pid_namespace.c | 2 +-
101046 kernel/posix-cpu-timers.c | 4 +-
101047 kernel/posix-timers.c | 22 +-
101048 kernel/power/process.c | 12 +-
101049 kernel/profile.c | 14 +-
101050 kernel/ptrace.c | 8 +-
101051 kernel/rcupdate.c | 4 +-
101052 kernel/rcutiny.c | 4 +-
101053 kernel/rcutiny_plugin.h | 2 +-
101054 kernel/rcutorture.c | 56 +-
101055 kernel/rcutree.c | 76 +-
101056 kernel/rcutree.h | 24 +-
101057 kernel/rcutree_plugin.h | 20 +-
101058 kernel/rcutree_trace.c | 22 +-
101059 kernel/rtmutex-tester.c | 24 +-
101060 kernel/sched/auto_group.c | 4 +-
101061 kernel/sched/core.c | 51 +-
101062 kernel/sched/fair.c | 4 +-
101063 kernel/sched/sched.h | 2 +-
101064 kernel/signal.c | 12 +-
101065 kernel/smp.c | 2 +-
101066 kernel/smpboot.c | 4 +-
101067 kernel/softirq.c | 18 +-
101068 kernel/srcu.c | 4 +-
101069 kernel/sys.c | 10 +-
101070 kernel/sysctl.c | 39 +-
101071 kernel/time.c | 2 +-
101072 kernel/time/alarmtimer.c | 2 +-
101073 kernel/time/tick-broadcast.c | 2 +-
101074 kernel/time/timer_stats.c | 10 +-
101075 kernel/timer.c | 6 +-
101076 kernel/trace/blktrace.c | 6 +-
101077 kernel/trace/ftrace.c | 18 +-
101078 kernel/trace/ring_buffer.c | 76 +-
101079 kernel/trace/trace.c | 2 +-
101080 kernel/trace/trace.h | 2 +-
101081 kernel/trace/trace_events.c | 25 +-
101082 kernel/trace/trace_mmiotrace.c | 8 +-
101083 kernel/trace/trace_output.c | 12 +-
101084 kernel/trace/trace_stack.c | 2 +-
101085 kernel/user_namespace.c | 2 +-
101086 kernel/utsname_sysctl.c | 2 +-
101087 kernel/watchdog.c | 2 +-
101088 kernel/workqueue.c | 2 +-
101089 lib/Kconfig.debug | 8 +-
101090 lib/Makefile | 2 +-
101091 lib/bitmap.c | 8 +-
101092 lib/bug.c | 2 +
101093 lib/debugobjects.c | 2 +-
101094 lib/devres.c | 4 +-
101095 lib/div64.c | 4 +-
101096 lib/dma-debug.c | 4 +-
101097 lib/inflate.c | 2 +-
101098 lib/ioremap.c | 4 +-
101099 lib/kobject.c | 6 +-
101100 lib/list_debug.c | 126 +-
101101 lib/radix-tree.c | 2 +-
101102 lib/strncpy_from_user.c | 2 +-
101103 lib/strnlen_user.c | 2 +-
101104 lib/swiotlb.c | 2 +-
101105 lib/usercopy.c | 6 +
101106 lib/vsprintf.c | 12 +-
101107 mm/Kconfig | 6 +-
101108 mm/backing-dev.c | 4 +-
101109 mm/filemap.c | 2 +-
101110 mm/fremap.c | 5 +
101111 mm/highmem.c | 7 +-
101112 mm/hugetlb.c | 70 +-
101113 mm/internal.h | 1 +
101114 mm/maccess.c | 4 +-
101115 mm/madvise.c | 41 +
101116 mm/memory-failure.c | 26 +-
101117 mm/memory.c | 424 ++-
101118 mm/mempolicy.c | 26 +
101119 mm/mlock.c | 15 +-
101120 mm/mmap.c | 606 ++-
101121 mm/mprotect.c | 139 +-
101122 mm/mremap.c | 44 +-
101123 mm/nommu.c | 21 +-
101124 mm/page-writeback.c | 4 +-
101125 mm/page_alloc.c | 41 +-
101126 mm/page_io.c | 2 +-
101127 mm/percpu.c | 2 +-
101128 mm/process_vm_access.c | 14 +-
101129 mm/rmap.c | 38 +-
101130 mm/shmem.c | 19 +-
101131 mm/slab.c | 79 +-
101132 mm/slab.h | 5 +-
101133 mm/slab_common.c | 46 +-
101134 mm/slob.c | 201 +-
101135 mm/slub.c | 79 +-
101136 mm/sparse-vmemmap.c | 4 +-
101137 mm/sparse.c | 2 +-
101138 mm/swap.c | 3 +
101139 mm/swapfile.c | 12 +-
101140 mm/util.c | 6 +
101141 mm/vmalloc.c | 77 +-
101142 mm/vmstat.c | 12 +-
101143 net/8021q/vlan.c | 5 +-
101144 net/9p/mod.c | 4 +-
101145 net/9p/trans_fd.c | 2 +-
101146 net/atm/atm_misc.c | 8 +-
101147 net/atm/lec.h | 2 +-
101148 net/atm/proc.c | 6 +-
101149 net/atm/resources.c | 4 +-
101150 net/ax25/sysctl_net_ax25.c | 2 +-
101151 net/batman-adv/bat_iv_ogm.c | 8 +-
101152 net/batman-adv/hard-interface.c | 4 +-
101153 net/batman-adv/soft-interface.c | 4 +-
101154 net/batman-adv/types.h | 6 +-
101155 net/batman-adv/unicast.c | 2 +-
101156 net/bluetooth/hci_core.c | 8 +-
101157 net/bluetooth/hci_sock.c | 2 +-
101158 net/bluetooth/l2cap_core.c | 6 +-
101159 net/bluetooth/l2cap_sock.c | 12 +-
101160 net/bluetooth/rfcomm/sock.c | 4 +-
101161 net/bluetooth/rfcomm/tty.c | 10 +-
101162 net/bridge/netfilter/ebtables.c | 6 +-
101163 net/caif/cfctrl.c | 11 +-
101164 net/can/af_can.c | 2 +-
101165 net/can/gw.c | 6 +-
101166 net/compat.c | 34 +-
101167 net/core/datagram.c | 2 +-
101168 net/core/dev.c | 16 +-
101169 net/core/flow.c | 8 +-
101170 net/core/iovec.c | 4 +-
101171 net/core/neighbour.c | 2 +-
101172 net/core/net-sysfs.c | 2 +-
101173 net/core/net_namespace.c | 8 +-
101174 net/core/rtnetlink.c | 13 +-
101175 net/core/scm.c | 8 +-
101176 net/core/sock.c | 24 +-
101177 net/core/sock_diag.c | 9 +-
101178 net/core/sysctl_net_core.c | 18 +-
101179 net/decnet/af_decnet.c | 1 +
101180 net/decnet/sysctl_net_decnet.c | 4 +-
101181 net/ipv4/af_inet.c | 8 +-
101182 net/ipv4/ah4.c | 2 +-
101183 net/ipv4/devinet.c | 18 +-
101184 net/ipv4/esp4.c | 2 +-
101185 net/ipv4/fib_frontend.c | 6 +-
101186 net/ipv4/fib_semantics.c | 2 +-
101187 net/ipv4/inet_connection_sock.c | 2 +-
101188 net/ipv4/inetpeer.c | 4 +-
101189 net/ipv4/ip_fragment.c | 15 +-
101190 net/ipv4/ip_gre.c | 6 +-
101191 net/ipv4/ip_sockglue.c | 2 +-
101192 net/ipv4/ip_vti.c | 4 +-
101193 net/ipv4/ipcomp.c | 2 +-
101194 net/ipv4/ipconfig.c | 6 +-
101195 net/ipv4/ipip.c | 4 +-
101196 net/ipv4/netfilter/arp_tables.c | 12 +-
101197 net/ipv4/netfilter/ip_tables.c | 12 +-
101198 net/ipv4/ping.c | 2 +-
101199 net/ipv4/raw.c | 14 +-
101200 net/ipv4/route.c | 18 +-
101201 net/ipv4/sysctl_net_ipv4.c | 45 +-
101202 net/ipv4/tcp_input.c | 2 +-
101203 net/ipv4/tcp_probe.c | 2 +-
101204 net/ipv4/udp.c | 10 +-
101205 net/ipv4/xfrm4_policy.c | 14 +-
101206 net/ipv6/addrconf.c | 12 +-
101207 net/ipv6/icmp.c | 2 +-
101208 net/ipv6/ip6_gre.c | 8 +-
101209 net/ipv6/ip6_tunnel.c | 4 +-
101210 net/ipv6/ipv6_sockglue.c | 2 +-
101211 net/ipv6/netfilter/ip6_tables.c | 12 +-
101212 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
101213 net/ipv6/raw.c | 19 +-
101214 net/ipv6/reassembly.c | 13 +-
101215 net/ipv6/route.c | 2 +-
101216 net/ipv6/sit.c | 4 +-
101217 net/ipv6/sysctl_net_ipv6.c | 2 +-
101218 net/ipv6/udp.c | 8 +-
101219 net/ipv6/xfrm6_policy.c | 13 +-
101220 net/irda/ircomm/ircomm_tty.c | 18 +-
101221 net/iucv/af_iucv.c | 4 +-
101222 net/iucv/iucv.c | 2 +-
101223 net/key/af_key.c | 4 +-
101224 net/mac80211/cfg.c | 8 +-
101225 net/mac80211/ieee80211_i.h | 3 +-
101226 net/mac80211/iface.c | 16 +-
101227 net/mac80211/main.c | 2 +-
101228 net/mac80211/pm.c | 6 +-
101229 net/mac80211/rate.c | 2 +-
101230 net/mac80211/rc80211_pid_debugfs.c | 2 +-
101231 net/mac80211/util.c | 4 +-
101232 net/netfilter/ipset/ip_set_core.c | 2 +-
101233 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
101234 net/netfilter/ipvs/ip_vs_core.c | 4 +-
101235 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
101236 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
101237 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
101238 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
101239 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
101240 net/netfilter/nf_conntrack_acct.c | 2 +-
101241 net/netfilter/nf_conntrack_ecache.c | 2 +-
101242 net/netfilter/nf_conntrack_helper.c | 2 +-
101243 net/netfilter/nf_conntrack_proto.c | 2 +-
101244 net/netfilter/nf_conntrack_proto_dccp.c | 4 +-
101245 net/netfilter/nf_conntrack_standalone.c | 2 +-
101246 net/netfilter/nf_conntrack_timestamp.c | 2 +-
101247 net/netfilter/nf_log.c | 10 +-
101248 net/netfilter/nf_sockopt.c | 4 +-
101249 net/netfilter/nfnetlink_log.c | 4 +-
101250 net/netfilter/xt_statistic.c | 8 +-
101251 net/netlink/af_netlink.c | 4 +-
101252 net/netlink/genetlink.c | 16 +-
101253 net/packet/af_packet.c | 12 +-
101254 net/phonet/pep.c | 6 +-
101255 net/phonet/socket.c | 2 +-
101256 net/phonet/sysctl.c | 2 +-
101257 net/rds/cong.c | 6 +-
101258 net/rds/ib.h | 2 +-
101259 net/rds/ib_cm.c | 2 +-
101260 net/rds/ib_recv.c | 4 +-
101261 net/rds/iw.h | 2 +-
101262 net/rds/iw_cm.c | 2 +-
101263 net/rds/iw_recv.c | 4 +-
101264 net/rds/rds.h | 2 +-
101265 net/rds/tcp.c | 2 +-
101266 net/rds/tcp_send.c | 2 +-
101267 net/rxrpc/af_rxrpc.c | 2 +-
101268 net/rxrpc/ar-ack.c | 14 +-
101269 net/rxrpc/ar-call.c | 2 +-
101270 net/rxrpc/ar-connection.c | 2 +-
101271 net/rxrpc/ar-connevent.c | 2 +-
101272 net/rxrpc/ar-input.c | 4 +-
101273 net/rxrpc/ar-internal.h | 8 +-
101274 net/rxrpc/ar-local.c | 2 +-
101275 net/rxrpc/ar-output.c | 4 +-
101276 net/rxrpc/ar-peer.c | 2 +-
101277 net/rxrpc/ar-proc.c | 4 +-
101278 net/rxrpc/ar-transport.c | 2 +-
101279 net/rxrpc/rxkad.c | 4 +-
101280 net/sctp/ipv6.c | 6 +-
101281 net/sctp/protocol.c | 10 +-
101282 net/sctp/sm_sideeffect.c | 2 +-
101283 net/sctp/socket.c | 21 +-
101284 net/sctp/sysctl.c | 4 +-
101285 net/socket.c | 18 +-
101286 net/sunrpc/clnt.c | 4 +-
101287 net/sunrpc/sched.c | 4 +-
101288 net/sunrpc/svc.c | 6 +-
101289 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
101290 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
101291 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
101292 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
101293 net/tipc/link.c | 6 +-
101294 net/tipc/msg.c | 2 +-
101295 net/tipc/subscr.c | 2 +-
101296 net/unix/sysctl_net_unix.c | 2 +-
101297 net/wireless/wext-core.c | 19 +-
101298 net/xfrm/xfrm_policy.c | 27 +-
101299 net/xfrm/xfrm_state.c | 29 +-
101300 net/xfrm/xfrm_sysctl.c | 2 +-
101301 scripts/Makefile.build | 2 +-
101302 scripts/Makefile.clean | 3 +-
101303 scripts/Makefile.host | 28 +-
101304 scripts/basic/fixdep.c | 12 +-
101305 scripts/gcc-plugin.sh | 17 +
101306 scripts/headers_install.sh | 1 +
101307 scripts/link-vmlinux.sh | 2 +-
101308 scripts/mod/file2alias.c | 14 +-
101309 scripts/mod/modpost.c | 25 +-
101310 scripts/mod/modpost.h | 6 +-
101311 scripts/mod/sumversion.c | 2 +-
101312 scripts/package/builddeb | 1 +
101313 scripts/pnmtologo.c | 6 +-
101314 scripts/sortextable.h | 6 +-
101315 security/Kconfig | 676 +++-
101316 security/apparmor/lsm.c | 2 +-
101317 security/integrity/ima/ima.h | 4 +-
101318 security/integrity/ima/ima_api.c | 2 +-
101319 security/integrity/ima/ima_fs.c | 4 +-
101320 security/integrity/ima/ima_queue.c | 2 +-
101321 security/keys/compat.c | 2 +-
101322 security/keys/internal.h | 2 +-
101323 security/keys/key.c | 18 +-
101324 security/keys/keyctl.c | 8 +-
101325 security/keys/keyring.c | 6 +-
101326 security/security.c | 9 +-
101327 security/selinux/hooks.c | 2 +-
101328 security/selinux/include/xfrm.h | 2 +-
101329 security/smack/smack_lsm.c | 2 +-
101330 security/tomoyo/tomoyo.c | 2 +-
101331 security/yama/yama_lsm.c | 22 +-
101332 sound/aoa/codecs/onyx.c | 7 +-
101333 sound/aoa/codecs/onyx.h | 1 +
101334 sound/core/oss/pcm_oss.c | 18 +-
101335 sound/core/pcm_compat.c | 2 +-
101336 sound/core/pcm_native.c | 4 +-
101337 sound/core/seq/seq_device.c | 8 +-
101338 sound/core/sound.c | 2 +-
101339 sound/drivers/mts64.c | 14 +-
101340 sound/drivers/opl4/opl4_lib.c | 2 +-
101341 sound/drivers/portman2x4.c | 3 +-
101342 sound/firewire/amdtp.c | 4 +-
101343 sound/firewire/amdtp.h | 2 +-
101344 sound/firewire/isight.c | 10 +-
101345 sound/firewire/scs1x.c | 8 +-
101346 sound/oss/sb_audio.c | 2 +-
101347 sound/oss/swarm_cs4297a.c | 6 +-
101348 sound/pci/ymfpci/ymfpci.h | 2 +-
101349 sound/pci/ymfpci/ymfpci_main.c | 12 +-
101350 sound/soc/fsl/fsl_ssi.c | 2 +-
101351 sound/sound_core.c | 2 +-
101352 tools/gcc/.gitignore | 1 +
101353 tools/gcc/Makefile | 45 +
101354 tools/gcc/checker_plugin.c | 172 +
101355 tools/gcc/colorize_plugin.c | 151 +
101356 tools/gcc/constify_plugin.c | 560 ++
101357 tools/gcc/generate_size_overflow_hash.sh | 94 +
101358 tools/gcc/kallocstat_plugin.c | 170 +
101359 tools/gcc/kernexec_plugin.c | 465 ++
101360 tools/gcc/latent_entropy_plugin.c | 327 ++
101361 tools/gcc/size_overflow_hash.data | 5893 ++++++++++++++++++++
101362 tools/gcc/size_overflow_plugin.c | 2114 +++++++
101363 tools/gcc/stackleak_plugin.c | 327 ++
101364 tools/gcc/structleak_plugin.c | 277 +
101365 tools/perf/util/include/asm/alternative-asm.h | 3 +
101366 tools/perf/util/include/linux/compiler.h | 8 +
101367 virt/kvm/kvm_main.c | 32 +-
101368 1607 files changed, 30734 insertions(+), 7318 deletions(-)
101369 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
101370 Merge: 0949bd4 fc53d63
101371 Author: Brad Spengler <spender@grsecurity.net>
101372 Date: Thu Mar 22 19:03:44 2012 -0400
101373
101374 Merge branch 'pax-test' into grsec-test
101375
101376 commit fc53d6338964741b368070ec5c935bc579b8c2a6
101377 Author: Brad Spengler <spender@grsecurity.net>
101378 Date: Thu Mar 22 19:02:45 2012 -0400
101379
101380 Update to pax-linux-3.2.12-test33.patch
101381
101382 commit 0949bd46a6455b308f66ad7c993bfee62412db35
101383 Author: Brad Spengler <spender@grsecurity.net>
101384 Date: Thu Mar 22 16:56:09 2012 -0400
101385
101386 Use current_umask() instead of current->fs->umask
101387
101388 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
101389 Author: Brad Spengler <spender@grsecurity.net>
101390 Date: Wed Mar 21 19:42:42 2012 -0400
101391
101392 compile fix
101393
101394 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
101395 Author: Brad Spengler <spender@grsecurity.net>
101396 Date: Wed Mar 21 19:34:56 2012 -0400
101397
101398 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
101399 uses of domains with particular hash collisions
101400
101401 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
101402 Author: Brad Spengler <spender@grsecurity.net>
101403 Date: Tue Mar 20 20:25:49 2012 -0400
101404
101405 zero kernel_role
101406
101407 commit b00953b43c69238d181d21121ef1577c988d5f6b
101408 Author: Brad Spengler <spender@grsecurity.net>
101409 Date: Tue Mar 20 19:29:34 2012 -0400
101410
101411 zero real_root after releasing it
101412
101413 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
101414 Merge: b724f59 273f98e
101415 Author: Brad Spengler <spender@grsecurity.net>
101416 Date: Tue Mar 20 19:11:26 2012 -0400
101417
101418 Merge branch 'pax-test' into grsec-test
101419
101420 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
101421 Author: Brad Spengler <spender@grsecurity.net>
101422 Date: Tue Mar 20 19:10:52 2012 -0400
101423
101424 Temporary workaround for (most) size_overflow plugin false-positives
101425 Increase randomization for brk-managed heap to 21 bits
101426 Update to pax-linux-3.2.12-test32.patch
101427
101428 commit b724f59125304460c2af8bd4b02921993afbb5d3
101429 Author: Brad Spengler <spender@grsecurity.net>
101430 Date: Tue Mar 20 18:58:53 2012 -0400
101431
101432 compile fix
101433
101434 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
101435 Author: Brad Spengler <spender@grsecurity.net>
101436 Date: Tue Mar 20 18:52:23 2012 -0400
101437
101438 Require default and kernel role
101439
101440 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
101441 Author: Brad Spengler <spender@grsecurity.net>
101442 Date: Tue Mar 20 18:47:28 2012 -0400
101443
101444 Allow policies without special roles
101445 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
101446
101447 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
101448 Merge: 8e012dc f14661a
101449 Author: Brad Spengler <spender@grsecurity.net>
101450 Date: Mon Mar 19 18:06:59 2012 -0400
101451
101452 Merge branch 'pax-test' into grsec-test
101453
101454 Conflicts:
101455 fs/namei.c
101456
101457 commit f14661aaf202155c97f66626cea0269017bb7775
101458 Merge: eae671f 058b017
101459 Author: Brad Spengler <spender@grsecurity.net>
101460 Date: Mon Mar 19 18:05:44 2012 -0400
101461
101462 Merge branch 'linux-3.2.y' into pax-test
101463
101464 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
101465 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
101466 Date: Fri Mar 16 17:08:39 2012 -0700
101467
101468 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
101469
101470 According to the report from Slicky Devil, nilfs caused kernel oops at
101471 nilfs_load_super_block function during mount after he shrank the
101472 partition without resizing the filesystem:
101473
101474 BUG: unable to handle kernel NULL pointer dereference at 00000048
101475 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
101476 *pde = 00000000
101477 Oops: 0000 [#1] PREEMPT SMP
101478 ...
101479 Call Trace:
101480 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
101481 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
101482 [<c0226636>] mount_fs+0x36/0x180
101483 [<c023d961>] vfs_kern_mount+0x51/0xa0
101484 [<c023ddae>] do_kern_mount+0x3e/0xe0
101485 [<c023f189>] do_mount+0x169/0x700
101486 [<c023fa9b>] sys_mount+0x6b/0xa0
101487 [<c04abd1f>] sysenter_do_call+0x12/0x28
101488 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
101489 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
101490 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
101491 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
101492 CR2: 0000000000000048
101493
101494 This turned out due to a defect in an error path which runs if the
101495 calculated location of the secondary super block was invalid.
101496
101497 This patch fixes it and eliminates the reported oops.
101498
101499 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
101500 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
101501 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
101502 Cc: <stable@vger.kernel.org> [2.6.30+]
101503 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
101504 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
101505
101506 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
101507 Author: Haogang Chen <haogangchen@gmail.com>
101508 Date: Fri Mar 16 17:08:38 2012 -0700
101509
101510 nilfs2: clamp ns_r_segments_percentage to [1, 99]
101511
101512 ns_r_segments_percentage is read from the disk. Bogus or malicious
101513 value could cause integer overflow and malfunction due to meaningless
101514 disk usage calculation. This patch reports error when mounting such
101515 bogus volumes.
101516
101517 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
101518 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
101519 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
101520 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
101521
101522 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
101523 Author: Eric Dumazet <eric.dumazet@gmail.com>
101524 Date: Sat Mar 10 09:20:21 2012 +0000
101525
101526 tcp: fix syncookie regression
101527
101528 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
101529 added a serious regression on synflood handling.
101530
101531 Simon Kirby discovered a successful connection was delayed by 20 seconds
101532 before being responsive.
101533
101534 In my tests, I discovered that xmit frames were lost, and needed ~4
101535 retransmits and a socket dst rebuild before being really sent.
101536
101537 In case of syncookie initiated connection, we use a different path to
101538 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
101539
101540 As ip_queue_xmit() now depends on inet flow being setup, fix this by
101541 copying the temp flowi4 we use in cookie_v4_check().
101542
101543 Reported-by: Simon Kirby <sim@netnation.com>
101544 Bisected-by: Simon Kirby <sim@netnation.com>
101545 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
101546 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
101547 Signed-off-by: David S. Miller <davem@davemloft.net>
101548
101549 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
101550 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
101551 Date: Mon Mar 12 02:59:41 2012 +0000
101552
101553 tun: don't hold network namespace by tun sockets
101554
101555 v3: added previously removed sock_put() to the tun_release() callback, because
101556 sk_release_kernel() doesn't drop the socket reference.
101557
101558 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
101559 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
101560 call.
101561
101562 TUN was designed to destroy it's socket on network namesapce shutdown. But this
101563 will never happen for persistent device, because it's socket holds network
101564 namespace.
101565 This patch removes of holding network namespace by TUN socket and replaces it
101566 by creating socket in init_net and then changing it's net it to desired one. On
101567 shutdown socket is moved back to init_net prior to final put.
101568
101569 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
101570 Signed-off-by: David S. Miller <davem@davemloft.net>
101571
101572 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
101573 Author: Tyler Hicks <tyhicks@canonical.com>
101574 Date: Mon Dec 12 10:02:30 2011 -0600
101575
101576 vfs: Correctly set the dir i_mutex lockdep class
101577
101578 9a7aa12f3911853a introduced additional logic around setting the i_mutex
101579 lockdep class for directory inodes. The idea was that some filesystems
101580 may want their own special lockdep class for different directory
101581 inodes and calling unlock_new_inode() should not clobber one of
101582 those special classes.
101583
101584 I believe that the added conditional, around the *negated* return value
101585 of lockdep_match_class(), caused directory inodes to be placed in the
101586 wrong lockdep class.
101587
101588 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
101589 all inodes. If the filesystem did not change the class during inode
101590 initialization, then the conditional mentioned above was false and the
101591 directory inode was incorrectly left in the non-directory lockdep class.
101592 If the filesystem did set a special lockdep class, then the conditional
101593 mentioned above was true and that class was clobbered with
101594 i_mutex_dir_key.
101595
101596 This patch removes the negation from the conditional so that the i_mutex
101597 lockdep class is properly set for directory inodes. Special classes are
101598 preserved and directory inodes with unmodified classes are set with
101599 i_mutex_dir_key.
101600
101601 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
101602 Reviewed-by: Jan Kara <jack@suse.cz>
101603 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
101604
101605 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
101606 Author: Jan Kara <jack@suse.cz>
101607 Date: Mon Feb 20 17:54:00 2012 +0100
101608
101609 udf: Fix deadlock in udf_release_file()
101610
101611 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
101612 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
101613 i_mutex is not needed in udf_release_file() anymore since protection by
101614 i_data_sem is enough to protect from races with write and truncate.
101615
101616 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
101617 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
101618 Signed-off-by: Jan Kara <jack@suse.cz>
101619 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
101620
101621 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
101622 Author: Miklos Szeredi <mszeredi@suse.cz>
101623 Date: Tue Mar 6 13:56:33 2012 +0100
101624
101625 vfs: fix double put after complete_walk()
101626
101627 complete_walk() already puts nd->path, no need to do it again at cleanup time.
101628
101629 This would result in Oopses if triggered, apparently the codepath is not too
101630 well exercised.
101631
101632 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
101633 CC: stable@vger.kernel.org
101634 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
101635
101636 commit 13885ba2b18400f3ef6540497d30f1af896605e5
101637 Author: Miklos Szeredi <mszeredi@suse.cz>
101638 Date: Tue Mar 6 13:56:34 2012 +0100
101639
101640 vfs: fix return value from do_last()
101641
101642 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
101643 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
101644 which is complete nonsense.
101645
101646 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
101647 CC: stable@vger.kernel.org
101648 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
101649
101650 Conflicts:
101651
101652 fs/namei.c
101653
101654 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
101655 Author: Al Viro <viro@zeniv.linux.org.uk>
101656 Date: Sat Mar 10 17:07:28 2012 -0500
101657
101658 restore smp_mb() in unlock_new_inode()
101659
101660 wait_on_inode() doesn't have ->i_lock
101661
101662 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
101663
101664 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
101665 Author: David S. Miller <davem@davemloft.net>
101666 Date: Tue Mar 13 18:19:51 2012 -0700
101667
101668 sparc32: Add -Av8 to assembler command line.
101669
101670 Newer version of binutils are more strict about specifying the
101671 correct options to enable certain classes of instructions.
101672
101673 The sparc32 build is done for v7 in order to support sun4c systems
101674 which lack hardware integer multiply and divide instructions.
101675
101676 So we have to pass -Av8 when building the assembler routines that
101677 use these instructions and get patched into the kernel when we find
101678 out that we have a v8 capable cpu.
101679
101680 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
101681 Signed-off-by: David S. Miller <davem@davemloft.net>
101682
101683 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
101684 Author: Thomas Gleixner <tglx@linutronix.de>
101685 Date: Fri Mar 9 20:55:10 2012 +0100
101686
101687 x86: Derandom delay_tsc for 64 bit
101688
101689 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
101690 delay_tsc() into a random delay generator for 64 bit. The reason is
101691 that it merged the mostly identical versions of delay_32.c and
101692 delay_64.c. Though the subtle difference of the result was:
101693
101694 static void delay_tsc(unsigned long loops)
101695 {
101696 - unsigned bclock, now;
101697 + unsigned long bclock, now;
101698
101699 Now the function uses rdtscl() which returns the lower 32bit of the
101700 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
101701 bit this fails when the lower 32bit are close to wrap around when
101702 bclock is read, because the following check
101703
101704 if ((now - bclock) >= loops)
101705 break;
101706
101707 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
101708 because the unsigned long (now - bclock) of these values results in
101709 0xffffffff00000001 which is definitely larger than the loops
101710 value. That explains Tvortkos observation:
101711
101712 "Because I am seeing udelay(500) (_occasionally_) being short, and
101713 that by delaying for some duration between 0us (yep) and 491us."
101714
101715 Make those variables explicitely u32 again, so this works for both 32
101716 and 64 bit.
101717
101718 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
101719 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
101720 Cc: stable@vger.kernel.org # >= 2.6.27
101721 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
101722
101723 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
101724 Author: Al Viro <viro@ZenIV.linux.org.uk>
101725 Date: Thu Mar 8 17:51:19 2012 +0000
101726
101727 aio: fix the "too late munmap()" race
101728
101729 Current code has put_ioctx() called asynchronously from aio_fput_routine();
101730 that's done *after* we have killed the request that used to pin ioctx,
101731 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
101732 from progressing. As the result, we can end up with async call of
101733 put_ioctx() being the last one and possibly happening during exit_mmap()
101734 or elf_core_dump(), neither of which expects stray munmap() being done
101735 to them...
101736
101737 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
101738 with that, but that's all we care about - neither io_destroy() nor
101739 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
101740 does really_put_req(), so the ioctx teardown won't be done until then
101741 and we don't care about the contents of ioctx past that point.
101742
101743 Since actual freeing of these suckers is RCU-delayed, we don't need to
101744 bump ioctx refcount when request goes into list for async removal.
101745 All we need is rcu_read_lock held just over the ->ctx_lock-protected
101746 area in aio_fput_routine().
101747
101748 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
101749 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
101750 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
101751 Cc: stable@vger.kernel.org
101752 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
101753
101754 commit 002124c055afbf09b52226af65621999e8316448
101755 Author: Al Viro <viro@ZenIV.linux.org.uk>
101756 Date: Wed Mar 7 05:16:35 2012 +0000
101757
101758 aio: fix io_setup/io_destroy race
101759
101760 Have ioctx_alloc() return an extra reference, so that caller would drop it
101761 on success and not bother with re-grabbing it on failure exit. The current
101762 code is obviously broken - io_destroy() from another thread that managed
101763 to guess the address io_setup() would've returned would free ioctx right
101764 under us; gets especially interesting if aio_context_t * we pass to
101765 io_setup() points to PROT_READ mapping, so put_user() fails and we end
101766 up doing io_destroy() on kioctx another thread has just got freed...
101767
101768 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
101769 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
101770 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
101771 Cc: stable@vger.kernel.org
101772 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
101773
101774 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
101775 Author: Dan Carpenter <dan.carpenter@oracle.com>
101776 Date: Thu Mar 15 15:17:12 2012 -0700
101777
101778 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
101779
101780 strict_strtoul() writes a long but ->gamma_mode only has space to store an
101781 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
101782 well. I've changed it to use kstrtouint() instead.
101783
101784 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
101785 Acked-by: Inki Dae <inki.dae@samsung.com>
101786 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
101787 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
101788 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
101789
101790 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
101791 Merge: e4b05b6 eae671f
101792 Author: Brad Spengler <spender@grsecurity.net>
101793 Date: Fri Mar 16 21:04:27 2012 -0400
101794
101795 Merge branch 'pax-test' into grsec-test
101796
101797 Conflicts:
101798 security/Kconfig
101799
101800 commit eae671fafe93f04685c04a089cc13efebc05d600
101801 Author: Brad Spengler <spender@grsecurity.net>
101802 Date: Fri Mar 16 20:58:01 2012 -0400
101803
101804 Update to pax-linux-3.2.11-test31.patch
101805 Introduction of the size_overflow plugin from Emese Revfy
101806 Many thanks to Emese for her hard work :)
101807
101808 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
101809 Merge: e55aa68 258c015
101810 Author: Brad Spengler <spender@grsecurity.net>
101811 Date: Thu Mar 15 20:59:19 2012 -0400
101812
101813 Merge branch 'pax-test' into grsec-test
101814
101815 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
101816 Author: Brad Spengler <spender@grsecurity.net>
101817 Date: Thu Mar 15 20:59:05 2012 -0400
101818
101819 fix ARM compilation
101820
101821 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
101822 Merge: 8f95ea9 55b7573
101823 Author: Brad Spengler <spender@grsecurity.net>
101824 Date: Wed Mar 14 19:33:41 2012 -0400
101825
101826 Merge branch 'pax-test' into grsec-test
101827
101828 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
101829 Author: Brad Spengler <spender@grsecurity.net>
101830 Date: Wed Mar 14 19:33:15 2012 -0400
101831
101832 Update to pax-linux-3.2.10-test28.patch
101833
101834 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
101835 Merge: c8786a2 886ac5e
101836 Author: Brad Spengler <spender@grsecurity.net>
101837 Date: Tue Mar 13 17:38:13 2012 -0400
101838
101839 Merge branch 'pax-test' into grsec-test
101840
101841 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
101842
101843 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
101844 Author: Brad Spengler <spender@grsecurity.net>
101845 Date: Tue Mar 13 17:37:44 2012 -0400
101846
101847 Update to pax-linux-3.2.10-test26.patch
101848
101849 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
101850 Merge: 219c982 c061fcf
101851 Author: Brad Spengler <spender@grsecurity.net>
101852 Date: Tue Mar 13 17:25:06 2012 -0400
101853
101854 Merge branch 'pax-test' into grsec-test
101855
101856 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
101857 Merge: 89373d2 3f4b3b2
101858 Author: Brad Spengler <spender@grsecurity.net>
101859 Date: Tue Mar 13 17:25:02 2012 -0400
101860
101861 Merge branch 'linux-3.2.y' into pax-test
101862
101863 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
101864 Merge: 54e19a3 89373d2
101865 Author: Brad Spengler <spender@grsecurity.net>
101866 Date: Mon Mar 12 17:23:57 2012 -0400
101867
101868 Merge branch 'pax-test' into grsec-test
101869
101870 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
101871 Merge: a778588 7459f11
101872 Author: Brad Spengler <spender@grsecurity.net>
101873 Date: Mon Mar 12 17:23:49 2012 -0400
101874
101875 Merge branch 'linux-3.2.y' into pax-test
101876
101877 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
101878 Merge: c4650f1 a778588
101879 Author: Brad Spengler <spender@grsecurity.net>
101880 Date: Mon Mar 12 16:51:25 2012 -0400
101881
101882 Merge branch 'pax-test' into grsec-test
101883
101884 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
101885 Author: Brad Spengler <spender@grsecurity.net>
101886 Date: Mon Mar 12 16:51:12 2012 -0400
101887
101888 Update to pax-linux-3.2.9-test24.patch
101889
101890 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
101891 Merge: fb2abee 1015790
101892 Author: Brad Spengler <spender@grsecurity.net>
101893 Date: Sun Mar 11 21:08:28 2012 -0400
101894
101895 Merge branch 'pax-test' into grsec-test
101896
101897 Conflicts:
101898 security/Kconfig
101899
101900 commit 101579028a736c224e590c7e12a7357018c424e1
101901 Author: Brad Spengler <spender@grsecurity.net>
101902 Date: Sun Mar 11 21:07:27 2012 -0400
101903
101904 Update to pax-linux-3.2.9-test22.patch
101905
101906 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
101907 Author: Brad Spengler <spender@grsecurity.net>
101908 Date: Sun Mar 11 11:02:17 2012 -0400
101909
101910 Allow 4096 CPUs
101911
101912 commit 96bae28cbe6a41d48e3b56e5904814096e956000
101913 Author: Brad Spengler <spender@grsecurity.net>
101914 Date: Sun Mar 11 10:25:58 2012 -0400
101915
101916 Use a per-cpu 48-bit counter instead of a global atomic64
101917 Initialize each counter to have the cpu number in the lower 16 bits
101918 instead of incrementing the counter each time by 1, perform the increments
101919 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
101920 any state
101921 idea from PaX Team
101922
101923 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
101924 Author: Brad Spengler <spender@grsecurity.net>
101925 Date: Sat Mar 10 20:33:12 2012 -0500
101926
101927 Special vnsec edition! :)
101928 Further reduce argv/env allowance for suid/sgid apps to 512KB
101929 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
101930 Clear 3GB personality on suid/sgid binaries
101931 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
101932 with the main purpose of throwing off program stack -> arg/env alignment
101933 Update documentation
101934
101935 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
101936 Author: Brad Spengler <spender@grsecurity.net>
101937 Date: Sat Mar 10 19:54:47 2012 -0500
101938
101939 Resolve skbuff.h warnings that turn into errors during compilation in
101940 the grsecurity directory with -Werror
101941
101942 commit 2023210ad43a944033fcacc660ce410888f562ee
101943 Merge: ece4383 5f66adf
101944 Author: Brad Spengler <spender@grsecurity.net>
101945 Date: Fri Mar 9 19:48:01 2012 -0500
101946
101947 Merge branch 'pax-test' into grsec-test
101948
101949 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
101950 Author: Brad Spengler <spender@grsecurity.net>
101951 Date: Fri Mar 9 19:47:06 2012 -0500
101952
101953 Add colorize plugin
101954
101955 commit ece4383e5e91c92d138c4df84225a70b552f4d69
101956 Merge: a366d0e ab4a5a1
101957 Author: Brad Spengler <spender@grsecurity.net>
101958 Date: Fri Mar 9 17:56:46 2012 -0500
101959
101960 Merge branch 'pax-test' into grsec-test
101961
101962 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
101963 Author: Brad Spengler <spender@grsecurity.net>
101964 Date: Fri Mar 9 17:56:26 2012 -0500
101965
101966 Update to pax-linux-3.2.9-test21.patch
101967
101968 commit a366d0ed963ce93fce10121c1100989d5f064e75
101969 Author: Mikulas Patocka <mpatocka@redhat.com>
101970 Date: Sun Mar 4 19:52:03 2012 -0500
101971
101972 mm: fix find_vma_prev
101973
101974 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
101975 management on PA-RISC.
101976
101977 After application of the patch, programs that allocate big arrays on the
101978 stack crash with segfault, for example, this will crash if compiled
101979 without optimization:
101980
101981 int main()
101982 {
101983 char array[200000];
101984 array[199999] = 0;
101985 return 0;
101986 }
101987
101988 The reason is that PA-RISC has up-growing stack and the stack is usually
101989 the last memory area. In the above example, a page fault happens above
101990 the stack.
101991
101992 Previously, if we passed too high address to find_vma_prev, it returned
101993 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
101994 change, it stores NULL in *pprev. Consequently, the stack area is not
101995 found and it is not expanded, as it used to be before the change.
101996
101997 This patch restores the old behavior and makes it return the last VMA in
101998 *pprev if the requested address is higher than address of any other VMA.
101999
102000 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
102001 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
102002 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102003
102004 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
102005 Author: Hugh Dickins <hughd@google.com>
102006 Date: Tue Mar 6 12:28:52 2012 -0800
102007
102008 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
102009
102010 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
102011 from shared anonymous: hoist the file case's -EINVAL up for both.
102012
102013 Signed-off-by: Hugh Dickins <hughd@google.com>
102014 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102015
102016 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
102017 Author: Al Viro <viro@ZenIV.linux.org.uk>
102018 Date: Mon Mar 5 06:38:42 2012 +0000
102019
102020 aout: move setup_arg_pages() prior to reading/mapping the binary
102021
102022 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
102023 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102024
102025 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
102026 Author: Jan Beulich <JBeulich@suse.com>
102027 Date: Mon Mar 5 16:49:24 2012 +0000
102028
102029 vsprintf: make %pV handling compatible with kasprintf()
102030
102031 kasprintf() (and potentially other functions that I didn't run across so
102032 far) want to evaluate argument lists twice. Caring to do so for the
102033 primary list is obviously their job, but they can't reasonably be
102034 expected to check the format string for instances of %pV, which however
102035 need special handling too: On architectures like x86-64 (as opposed to
102036 e.g. ix86), using the same argument list twice doesn't produce the
102037 expected results, as an internally managed cursor gets updated during
102038 the first run.
102039
102040 Fix the problem by always acting on a copy of the original list when
102041 handling %pV.
102042
102043 Signed-off-by: Jan Beulich <jbeulich@suse.com>
102044 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102045
102046 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
102047 Author: Al Viro <viro@ZenIV.linux.org.uk>
102048 Date: Mon Mar 5 06:39:47 2012 +0000
102049
102050 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
102051
102052 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
102053 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102054
102055 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
102056 Author: Christian König <deathsimple@vodafone.de>
102057 Date: Tue Feb 28 23:19:20 2012 +0100
102058
102059 drm/radeon: fix uninitialized variable
102060
102061 Without this fix the driver randomly treats
102062 textures as arrays and I'm really wondering
102063 why gcc isn't complaining about it.
102064
102065 Signed-off-by: Christian König <deathsimple@vodafone.de>
102066 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
102067 Signed-off-by: Dave Airlie <airlied@redhat.com>
102068
102069 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
102070 Author: H. Peter Anvin <hpa@zytor.com>
102071 Date: Fri Mar 2 10:43:48 2012 -0800
102072
102073 regset: Prevent null pointer reference on readonly regsets
102074
102075 The regset common infrastructure assumed that regsets would always
102076 have .get and .set methods, but not necessarily .active methods.
102077 Unfortunately people have since written regsets without .set methods.
102078
102079 Rather than putting in stub functions everywhere, handle regsets with
102080 null .get or .set methods explicitly.
102081
102082 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
102083 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
102084 Acked-by: Roland McGrath <roland@hack.frob.com>
102085 Cc: <stable@vger.kernel.org>
102086 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102087
102088 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
102089 Author: Brad Spengler <spender@grsecurity.net>
102090 Date: Mon Mar 5 18:12:57 2012 -0500
102091
102092 Fix compiler errors reported on forums
102093
102094 commit 1606774b48af24e6f99d99c624c0e447d4b66474
102095 Merge: 3127bd5 4ca2ffd
102096 Author: Brad Spengler <spender@grsecurity.net>
102097 Date: Mon Mar 5 17:31:35 2012 -0500
102098
102099 Merge branch 'pax-test' into grsec-test
102100
102101 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
102102 Author: Brad Spengler <spender@grsecurity.net>
102103 Date: Mon Mar 5 17:31:21 2012 -0500
102104
102105 Update to pax-linux-3.2.9-test20.patch
102106
102107 commit 3127bd581a292966b1057c7433219dac188c3720
102108 Author: Brad Spengler <spender@grsecurity.net>
102109 Date: Fri Mar 2 21:30:37 2012 -0500
102110
102111 Fix memory leak on logged exec_id check failure in /proc/pid/statm
102112 Thanks to Djalal Harouni for the report
102113
102114 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
102115 Merge: 0a56be8 9aa8288
102116 Author: Brad Spengler <spender@grsecurity.net>
102117 Date: Fri Mar 2 18:38:22 2012 -0500
102118
102119 Merge branch 'pax-test' into grsec-test
102120
102121 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
102122 Author: Brad Spengler <spender@grsecurity.net>
102123 Date: Fri Mar 2 18:37:43 2012 -0500
102124
102125 Update to pax-linux-3.2.9-test19.patch
102126
102127 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
102128 Merge: 9e66745 3f5c52a
102129 Author: Brad Spengler <spender@grsecurity.net>
102130 Date: Thu Mar 1 20:18:01 2012 -0500
102131
102132 Merge branch 'pax-test' into grsec-test
102133
102134 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
102135 Author: Brad Spengler <spender@grsecurity.net>
102136 Date: Thu Mar 1 20:16:56 2012 -0500
102137
102138 Update to pax-linux-3.2.9-test18.patch
102139
102140 commit ae53ec231d12719a36bf871f8c5841020ed692ee
102141 Merge: b255baf 44fb317
102142 Author: Brad Spengler <spender@grsecurity.net>
102143 Date: Thu Mar 1 20:15:31 2012 -0500
102144
102145 Merge branch 'linux-3.2.y' into pax-test
102146
102147 commit 9e667456c03eadea2f305be761abe4de9a5877a3
102148 Merge: 5e4e200 b255baf
102149 Author: Brad Spengler <spender@grsecurity.net>
102150 Date: Mon Feb 27 20:53:59 2012 -0500
102151
102152 Merge branch 'pax-test' into grsec-test
102153
102154 commit b255baf50365d39b406f43aab2c64745607baaa2
102155 Merge: 340ce90 1de504e
102156 Author: Brad Spengler <spender@grsecurity.net>
102157 Date: Mon Feb 27 20:53:29 2012 -0500
102158
102159 Merge branch 'linux-3.2.y' into pax-test
102160 Update to pax-linux-3.2.8-test17.patch
102161
102162 Conflicts:
102163 arch/x86/include/asm/i387.h
102164 arch/x86/kernel/process_32.c
102165 arch/x86/kernel/traps.c
102166
102167 commit 5e4e200ac530452884b625cb75de240e1e98c731
102168 Merge: 44306d7 340ce90
102169 Author: Brad Spengler <spender@grsecurity.net>
102170 Date: Mon Feb 27 18:02:13 2012 -0500
102171
102172 Merge branch 'pax-test' into grsec-test
102173
102174 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
102175 Author: Brad Spengler <spender@grsecurity.net>
102176 Date: Mon Feb 27 18:01:48 2012 -0500
102177
102178 Update to pax-linux-3.2.7-test17.patch
102179
102180 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
102181 Merge: 29d0b07 521c411
102182 Author: Brad Spengler <spender@grsecurity.net>
102183 Date: Sun Feb 26 19:04:15 2012 -0500
102184
102185 Merge branch 'pax-test' into grsec-test
102186
102187 Conflicts:
102188 Makefile
102189
102190 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
102191 Author: Brad Spengler <spender@grsecurity.net>
102192 Date: Sun Feb 26 19:03:33 2012 -0500
102193
102194 Update to pax-linux-3.2.7-test16.patch
102195
102196 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
102197 Author: Brad Spengler <spender@grsecurity.net>
102198 Date: Sun Feb 26 17:12:44 2012 -0500
102199
102200 fix typo
102201
102202 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
102203 Merge: f45b3be caa8f83
102204 Author: Brad Spengler <spender@grsecurity.net>
102205 Date: Sat Feb 25 20:59:27 2012 -0500
102206
102207 Merge branch 'pax-test' into grsec-test
102208
102209 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
102210 Author: Brad Spengler <spender@grsecurity.net>
102211 Date: Sat Feb 25 20:59:12 2012 -0500
102212
102213 Update to pax-linux-3.2.7-test15.patch
102214
102215 commit f45b3be34a345502a302e736af9a65742ddef7cb
102216 Merge: 62f35fd 9f1309b
102217 Author: Brad Spengler <spender@grsecurity.net>
102218 Date: Sat Feb 25 11:40:15 2012 -0500
102219
102220 Merge branch 'pax-test' into grsec-test
102221
102222 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
102223 Author: Brad Spengler <spender@grsecurity.net>
102224 Date: Sat Feb 25 11:39:57 2012 -0500
102225
102226 Update to pax-linux-3.2.7-test14.patch
102227
102228 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
102229 Author: Brad Spengler <spender@grsecurity.net>
102230 Date: Sat Feb 25 09:08:55 2012 -0500
102231
102232 We could log on attempted exploits of writing /proc/self/mem, but the current
102233 log function declares the access a read, so just swap the ordering for now
102234
102235 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
102236 Author: Brad Spengler <spender@grsecurity.net>
102237 Date: Sat Feb 25 08:46:14 2012 -0500
102238
102239 Log /proc/pid/mem attempts
102240
102241 commit 674471e581893a94d475acac3e3c4496209b3ac9
102242 Author: Brad Spengler <spender@grsecurity.net>
102243 Date: Sat Feb 25 08:15:00 2012 -0500
102244
102245 Make use of f_version for protecting /proc file structs (fine since we're not a directory
102246 or seq_file)
102247
102248 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
102249 Author: Brad Spengler <spender@grsecurity.net>
102250 Date: Fri Feb 24 20:02:19 2012 -0500
102251
102252 Fix ia64 compilation
102253
102254 commit 50dfea412fd395e0183c2ade368efa525d38b267
102255 Merge: 12db845 4c6f99b
102256 Author: Brad Spengler <spender@grsecurity.net>
102257 Date: Fri Feb 24 19:00:53 2012 -0500
102258
102259 Merge branch 'pax-test' into grsec-test
102260
102261 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
102262 Author: Brad Spengler <spender@grsecurity.net>
102263 Date: Fri Feb 24 19:00:36 2012 -0500
102264
102265 (6:57:09 PM) pipacs: but you can be proactive
102266 (Fix other-arch atomic64/REFCOUNT compilation failures)
102267
102268 commit 12db8453f6bb0a756f369c9151668ba1249bc478
102269 Author: Brad Spengler <spender@grsecurity.net>
102270 Date: Thu Feb 23 21:10:12 2012 -0500
102271
102272 Remove unnecessary copies, as suggested by solar
102273
102274 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
102275 Author: Brad Spengler <spender@grsecurity.net>
102276 Date: Thu Feb 23 20:59:35 2012 -0500
102277
102278 Make global_exec_counter static, as suggested by solar
102279
102280 commit e642091a475ebb3a30e81f85e7751233d0c2af43
102281 Author: Brad Spengler <spender@grsecurity.net>
102282 Date: Thu Feb 23 19:00:26 2012 -0500
102283
102284 sync with stable tree
102285
102286 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
102287 Author: Brad Spengler <spender@grsecurity.net>
102288 Date: Thu Feb 23 18:48:47 2012 -0500
102289
102290 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
102291 Remove handling of old kludge in chmod/fchmod
102292
102293 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
102294 Author: Brad Spengler <spender@grsecurity.net>
102295 Date: Thu Feb 23 18:18:49 2012 -0500
102296
102297 Apply umask checks to chmod/fchmod as well, as requested by sponsor
102298 Union the enforced umask with the existing one to produce minimal privilege
102299 Change umask type to u16
102300
102301 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
102302 Author: Brad Spengler <spender@grsecurity.net>
102303 Date: Wed Feb 22 18:16:11 2012 -0500
102304
102305 Add per-role umask enforcement to RBAC, requested by a sponsor
102306
102307 commit ad5ac943fe58199f1cc475912a39edb157acb77b
102308 Merge: dda0bb5 41722e3
102309 Author: Brad Spengler <spender@grsecurity.net>
102310 Date: Mon Feb 20 20:04:42 2012 -0500
102311
102312 Merge branch 'pax-test' into grsec-test
102313
102314 commit 41722e342e116d95f3d3556d66c97c888d752d39
102315 Author: Brad Spengler <spender@grsecurity.net>
102316 Date: Mon Feb 20 20:04:00 2012 -0500
102317
102318 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
102319 KERNEXEC plugin
102320
102321 commit dda0bb57137846a476a866c60db2681aaf6052c0
102322 Merge: 4fd554e d70927a
102323 Author: Brad Spengler <spender@grsecurity.net>
102324 Date: Mon Feb 20 20:01:41 2012 -0500
102325
102326 Merge branch 'pax-test' into grsec-test
102327
102328 commit d70927afec977d489a54c106a3c3ddc32e953050
102329 Merge: 1daebf1 9d0231c
102330 Author: Brad Spengler <spender@grsecurity.net>
102331 Date: Mon Feb 20 20:01:33 2012 -0500
102332
102333 Merge branch 'linux-3.2.y' into pax-test
102334
102335 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
102336 Author: Brad Spengler <spender@grsecurity.net>
102337 Date: Mon Feb 20 09:17:57 2012 -0500
102338
102339 Fix wrong logic on capability checks for switching roles, broke policies
102340 Thanks to Richard Kojedzinszky for reporting
102341
102342 commit 12f97d52ac603f24344f8d71569c412a307e9422
102343 Author: Brad Spengler <spender@grsecurity.net>
102344 Date: Thu Feb 16 21:20:10 2012 -0500
102345
102346 sparc64 compile fix
102347
102348 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
102349 Author: Brad Spengler <spender@grsecurity.net>
102350 Date: Thu Feb 16 18:38:32 2012 -0500
102351
102352 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
102353
102354 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
102355 Author: Brad Spengler <spender@grsecurity.net>
102356 Date: Thu Feb 16 18:18:01 2012 -0500
102357
102358 optimize the check a bit
102359
102360 commit 03159050f64989be44ae03be769cbed62a7cd2e5
102361 Author: Brad Spengler <spender@grsecurity.net>
102362 Date: Thu Feb 16 18:00:45 2012 -0500
102363
102364 smile VUPEN :D
102365 (limit argv+env to 1MB for suid/sgid binaries)
102366
102367 commit dd759d8800d225a397e4de49fe729c7d601298d2
102368 Author: Brad Spengler <spender@grsecurity.net>
102369 Date: Thu Feb 16 17:49:33 2012 -0500
102370
102371 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
102372
102373 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
102374 Author: Brad Spengler <spender@grsecurity.net>
102375 Date: Thu Feb 16 17:45:06 2012 -0500
102376
102377 Change the long long type for exec_id to the proper u64
102378
102379 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
102380 Author: Dan Carpenter <dan.carpenter@oracle.com>
102381 Date: Thu Feb 9 00:46:47 2012 +0000
102382
102383 isdn: type bug in isdn_net_header()
102384
102385 We use len to store the return value from eth_header(). eth_header()
102386 can return -ETH_HLEN (-14). We want to pass this back instead of
102387 truncating it to 65522 and returning that.
102388
102389 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
102390 Acked-by: Neil Horman <nhorman@tuxdriver.com>
102391 Signed-off-by: David S. Miller <davem@davemloft.net>
102392
102393 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
102394 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
102395 Date: Sat Feb 4 10:47:10 2012 +0100
102396
102397 exec: fix use-after-free bug in setup_new_exec()
102398
102399 Setting the task name is done within setup_new_exec() by accessing
102400 bprm->filename. However this happens after flush_old_exec().
102401 This may result in a use after free bug, flush_old_exec() may
102402 "complete" vfork_done, which will wake up the parent which in turn
102403 may free the passed in filename.
102404 To fix this add a new tcomm field in struct linux_binprm which
102405 contains the now early generated task name until it is used.
102406
102407 Fixes this bug on s390:
102408
102409 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
102410 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
102411 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
102412 Call Trace:
102413 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
102414 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
102415 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
102416 [<0000000000282b6c>] do_execve_common+0x410/0x514
102417 [<0000000000282cb6>] do_execve+0x46/0x58
102418 [<00000000005bce58>] kernel_execve+0x28/0x70
102419 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
102420 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
102421 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
102422 Last Breaking-Event-Address:
102423 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
102424
102425 Kernel panic - not syncing: Fatal exception: panic_on_oops
102426
102427 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
102428 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
102429 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102430
102431 commit d758ee9f5230893dabb5aab737b3109684bde196
102432 Author: Dan Carpenter <dan.carpenter@oracle.com>
102433 Date: Fri Feb 10 09:03:58 2012 +0100
102434
102435 relay: prevent integer overflow in relay_open()
102436
102437 "subbuf_size" and "n_subbufs" come from the user and they need to be
102438 capped to prevent an integer overflow.
102439
102440 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
102441 Cc: stable@kernel.org
102442 Signed-off-by: Jens Axboe <axboe@kernel.dk>
102443
102444 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
102445 Merge: b1baadf 1daebf1
102446 Author: Brad Spengler <spender@grsecurity.net>
102447 Date: Mon Feb 13 17:47:04 2012 -0500
102448
102449 Merge branch 'pax-test' into grsec-test
102450
102451 Conflicts:
102452 fs/proc/base.c
102453
102454 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
102455 Merge: 1413df2 c2db2e2
102456 Author: Brad Spengler <spender@grsecurity.net>
102457 Date: Mon Feb 13 17:45:54 2012 -0500
102458
102459 Merge branch 'linux-3.2.y' into pax-test
102460
102461 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
102462 Author: Brad Spengler <spender@grsecurity.net>
102463 Date: Sun Feb 12 16:44:05 2012 -0500
102464
102465 add missing declaration
102466
102467 commit 3981059c35e8463002517935c28f3d74b8e3703c
102468 Author: Brad Spengler <spender@grsecurity.net>
102469 Date: Sun Feb 12 16:36:04 2012 -0500
102470
102471 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
102472 in addition to existing checks (this handles the setresuid ruid = euid case)
102473
102474 commit 0beab03263c773f463412c350ad9064b44b6ede0
102475 Author: Brad Spengler <spender@grsecurity.net>
102476 Date: Sun Feb 12 16:13:40 2012 -0500
102477
102478 Revert setreuid changes when RBAC is enabled, breaks freeradius
102479 I'll fix the learning issue Lavish reported a different way through
102480 gradm modifications
102481
102482 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
102483
102484 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
102485 Author: Brad Spengler <spender@grsecurity.net>
102486 Date: Sat Feb 11 14:22:46 2012 -0500
102487
102488 copy exec_id on fork
102489
102490 commit 000c08e0890630086b2ed04084050ed856a7ec31
102491 Author: Brad Spengler <spender@grsecurity.net>
102492 Date: Fri Feb 10 20:00:36 2012 -0500
102493
102494 compile fix
102495
102496 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
102497 Author: Brad Spengler <spender@grsecurity.net>
102498 Date: Fri Feb 10 19:19:52 2012 -0500
102499
102500 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
102501 denies reading of sensitive /proc/pid entries where the file descriptor
102502 was opened in a different task than the one performing the read
102503
102504 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
102505 Author: Brad Spengler <spender@grsecurity.net>
102506 Date: Fri Feb 10 17:43:24 2012 -0500
102507
102508 Remove duplicate signal check
102509
102510 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
102511 Merge: 4eba97e 1413df2
102512 Author: Brad Spengler <spender@grsecurity.net>
102513 Date: Wed Feb 8 19:24:34 2012 -0500
102514
102515 Merge branch 'pax-test' into grsec-test
102516
102517 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
102518 Author: Brad Spengler <spender@grsecurity.net>
102519 Date: Wed Feb 8 19:24:08 2012 -0500
102520
102521 Merge changes from pax-linux-3.2.4-test11.patch
102522
102523 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
102524 Merge: 0e058dd 8dd90a2
102525 Author: Brad Spengler <spender@grsecurity.net>
102526 Date: Mon Feb 6 17:50:12 2012 -0500
102527
102528 Merge branch 'pax-test' into grsec-test
102529
102530 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
102531 Author: Brad Spengler <spender@grsecurity.net>
102532 Date: Mon Feb 6 17:49:07 2012 -0500
102533
102534 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
102535
102536 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
102537 Merge: 7e4169c 6133971
102538 Author: Brad Spengler <spender@grsecurity.net>
102539 Date: Mon Feb 6 17:48:57 2012 -0500
102540
102541 Merge branch 'linux-3.2.y' into pax-test
102542
102543 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
102544 Author: Brad Spengler <spender@grsecurity.net>
102545 Date: Sun Feb 5 19:24:45 2012 -0500
102546
102547 We now allow configurations with no PaX markings, giving the system no way to override the defaults
102548
102549 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
102550 Author: Brad Spengler <spender@grsecurity.net>
102551 Date: Sun Feb 5 10:01:23 2012 -0500
102552
102553 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
102554
102555 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
102556 Author: Brad Spengler <spender@grsecurity.net>
102557 Date: Sat Feb 4 21:01:16 2012 -0500
102558
102559 Improve security of ptrace-based monitoring/sandboxing
102560 See:
102561 http://article.gmane.org/gmane.linux.kernel.lsm/15156
102562
102563 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
102564 Author: Brad Spengler <spender@grsecurity.net>
102565 Date: Fri Feb 3 20:42:55 2012 -0500
102566
102567 fix typo
102568
102569 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
102570 Author: Brad Spengler <spender@grsecurity.net>
102571 Date: Fri Feb 3 20:25:38 2012 -0500
102572
102573 Reported by lavish on IRC:
102574 If a suid/sgid binary did not learn any setuid/setgid call during learning,
102575 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
102576 any restrictions on uid/gid changes. uid and gid can however be changed
102577 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
102578 euid/egid.
102579
102580 My fix:
102581 POSIX doesn't specify whether unprivileged users can perform the above
102582 setresuid/setresgid as an unprivileged user, though Linux has historically
102583 permitted them. Modify this behavior when RBAC is enabled to require
102584 CAP_SETUID/CAP_SETGID for these operations.
102585
102586 Thanks to Lavish for the report!
102587
102588 Conflicts:
102589
102590 kernel/sys.c
102591
102592 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
102593 Merge: ba586eb 7e4169c
102594 Author: Brad Spengler <spender@grsecurity.net>
102595 Date: Fri Feb 3 20:10:21 2012 -0500
102596
102597 Merge branch 'pax-test' into grsec-test
102598
102599 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
102600 Author: Brad Spengler <spender@grsecurity.net>
102601 Date: Fri Feb 3 20:10:05 2012 -0500
102602
102603 Merge changes from pax-linux-3.2.4-test9.patch
102604
102605 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
102606 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
102607 Date: Thu Feb 2 11:34:09 2012 +1030
102608
102609 Fix race in process_vm_rw_core
102610
102611 This fixes the race in process_vm_core found by Oleg (see
102612
102613 http://article.gmane.org/gmane.linux.kernel/1235667/
102614
102615 for details).
102616
102617 This has been updated since I last sent it as the creation of the new
102618 mm_access() function did almost exactly the same thing as parts of the
102619 previous version of this patch did.
102620
102621 In order to use mm_access() even when /proc isn't enabled, we move it to
102622 kernel/fork.c where other related process mm access functions already
102623 are.
102624
102625 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
102626 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102627
102628 Conflicts:
102629
102630 fs/proc/base.c
102631 mm/process_vm_access.c
102632
102633 commit b9194d60fb9fe579f5c34817ed822abde18939a0
102634 Author: Oleg Nesterov <oleg@redhat.com>
102635 Date: Tue Jan 31 17:15:11 2012 +0100
102636
102637 proc: make sure mem_open() doesn't pin the target's memory
102638
102639 Once /proc/pid/mem is opened, the memory can't be released until
102640 mem_release() even if its owner exits.
102641
102642 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
102643 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
102644 before access_remote_vm(), this verifies that this mm is still alive.
102645
102646 I am not sure what should mem_rw() return if atomic_inc_not_zero()
102647 fails. With this patch it returns zero to match the "mm == NULL" case,
102648 may be it should return -EINVAL like it did before e268337d.
102649
102650 Perhaps it makes sense to add the additional fatal_signal_pending()
102651 check into the main loop, to ensure we do not hold this memory if
102652 the target task was oom-killed.
102653
102654 Cc: stable@kernel.org
102655 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
102656 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102657
102658 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
102659 Author: Oleg Nesterov <oleg@redhat.com>
102660 Date: Tue Jan 31 17:14:38 2012 +0100
102661
102662 proc: mem_release() should check mm != NULL
102663
102664 mem_release() can hit mm == NULL, add the necessary check.
102665
102666 Cc: stable@kernel.org
102667 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
102668 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102669
102670 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
102671 Author: Oleg Nesterov <oleg@redhat.com>
102672 Date: Tue Jan 31 17:14:54 2012 +0100
102673
102674 note: redisabled mem_write
102675
102676 proc: unify mem_read() and mem_write()
102677
102678 No functional changes, cleanup and preparation.
102679
102680 mem_read() and mem_write() are very similar. Move this code into the
102681 new common helper, mem_rw(), which takes the additional "int write"
102682 argument.
102683
102684 Cc: stable@kernel.org
102685 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
102686 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
102687
102688 Conflicts:
102689
102690 fs/proc/base.c
102691
102692 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
102693 Merge: 3903f01 01fee18
102694 Author: Brad Spengler <spender@grsecurity.net>
102695 Date: Fri Feb 3 19:50:40 2012 -0500
102696
102697 Merge branch 'pax-test' into grsec-test
102698
102699 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
102700 Author: Brad Spengler <spender@grsecurity.net>
102701 Date: Fri Feb 3 19:49:46 2012 -0500
102702
102703 Merge changes from pax-linux-3.2.4-test8.patch
102704
102705 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
102706 Merge: 201c0db 141936c
102707 Author: Brad Spengler <spender@grsecurity.net>
102708 Date: Fri Feb 3 19:49:01 2012 -0500
102709
102710 Merge branch 'linux-3.2.y' into pax-test
102711
102712 commit 3903f0172ecadf7a575ba3535402a1506133640a
102713 Author: Brad Spengler <spender@grsecurity.net>
102714 Date: Mon Jan 30 23:26:44 2012 -0500
102715
102716 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
102717
102718 We'll whitelist required directories for compatibility instead of requiring
102719 that people disable the feature entirely if they use SELinux, fuse, etc
102720
102721 Conflicts:
102722
102723 fs/sysfs/mount.c
102724
102725 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
102726 Author: Brad Spengler <spender@grsecurity.net>
102727 Date: Sun Jan 29 01:12:19 2012 -0500
102728
102729 perform RBAC check if TPE is on but match fails, matches previous behavior
102730
102731 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
102732 Author: Brad Spengler <spender@grsecurity.net>
102733 Date: Sat Jan 28 13:17:06 2012 -0500
102734
102735 log more information about the reason for a TPE denial for novice users, requested by a sponsor
102736
102737 commit efefd67008cbad8a8591e2484410966a300a39a5
102738 Author: Brad Spengler <spender@grsecurity.net>
102739 Date: Fri Jan 27 19:58:53 2012 -0500
102740
102741 merge upstream sha512 changes
102742
102743 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
102744 Author: Brad Spengler <spender@grsecurity.net>
102745 Date: Fri Jan 27 19:49:07 2012 -0500
102746
102747 drop lock on error in xfs_readlink
102748
102749 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
102750
102751 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
102752 Author: Li Wang <liwang@nudt.edu.cn>
102753 Date: Thu Jan 19 09:44:36 2012 +0800
102754
102755 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
102756
102757 ecryptfs_write() can enter an infinite loop when truncating a file to a
102758 size larger than 4G. This only happens on architectures where size_t is
102759 represented by 32 bits.
102760
102761 This was caused by a size_t overflow due to it incorrectly being used to
102762 store the result of a calculation which uses potentially large values of
102763 type loff_t.
102764
102765 [tyhicks@canonical.com: rewrite subject and commit message]
102766 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
102767 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
102768 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
102769 Cc: <stable@vger.kernel.org>
102770 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
102771
102772 commit a7607747d0f74f357d78bb796d70635dd05f46e8
102773 Author: Tyler Hicks <tyhicks@canonical.com>
102774 Date: Thu Jan 19 20:33:44 2012 -0600
102775
102776 eCryptfs: Check inode changes in setattr
102777
102778 Most filesystems call inode_change_ok() very early in ->setattr(), but
102779 eCryptfs didn't call it at all. It allowed the lower filesystem to make
102780 the call in its ->setattr() function. Then, eCryptfs would copy the
102781 appropriate inode attributes from the lower inode to the eCryptfs inode.
102782
102783 This patch changes that and actually calls inode_change_ok() on the
102784 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
102785 would happen earlier in ecryptfs_setattr(), but there are some possible
102786 inode initialization steps that must happen first.
102787
102788 Since the call was already being made on the lower inode, the change in
102789 functionality should be minimal, except for the case of a file extending
102790 truncate call. In that case, inode_newsize_ok() was never being
102791 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
102792 maximum file size errors early on, eCryptfs would encrypt zeroed pages
102793 and write them to the lower filesystem until the lower filesystem's
102794 write path caught the error in generic_write_checks(). This patch
102795 introduces a new function, called ecryptfs_inode_newsize_ok(), which
102796 checks if the new lower file size is within the appropriate limits when
102797 the truncate operation will be growing the lower file.
102798
102799 In summary this change prevents eCryptfs truncate operations (and the
102800 resulting page encryptions), which would exceed the lower filesystem
102801 limits or FSIZE rlimits, from ever starting.
102802
102803 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
102804 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
102805 Cc: <stable@vger.kernel.org>
102806
102807 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
102808 Author: Tyler Hicks <tyhicks@canonical.com>
102809 Date: Wed Jan 18 18:30:04 2012 -0600
102810
102811 eCryptfs: Make truncate path killable
102812
102813 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
102814 page, zeroes out the appropriate portions, and then encrypts the page
102815 before writing it to the lower filesystem. It was unkillable and due to
102816 the lack of sparse file support could result in tying up a large portion
102817 of system resources, while encrypting pages of zeros, with no way for
102818 the truncate operation to be stopped from userspace.
102819
102820 This patch adds the ability for ecryptfs_write() to detect a pending
102821 fatal signal and return as gracefully as possible. The intent is to
102822 leave the lower file in a useable state, while still allowing a user to
102823 break out of the encryption loop. If a pending fatal signal is detected,
102824 the eCryptfs inode size is updated to reflect the modified inode size
102825 and then -EINTR is returned.
102826
102827 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
102828 Cc: <stable@vger.kernel.org>
102829
102830 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
102831 Author: Tyler Hicks <tyhicks@canonical.com>
102832 Date: Tue Jan 24 10:02:22 2012 -0600
102833
102834 eCryptfs: Fix oops when printing debug info in extent crypto functions
102835
102836 If pages passed to the eCryptfs extent-based crypto functions are not
102837 mapped and the module parameter ecryptfs_verbosity=1 was specified at
102838 loading time, a NULL pointer dereference will occur.
102839
102840 Note that this wouldn't happen on a production system, as you wouldn't
102841 pass ecryptfs_verbosity=1 on a production system. It leaks private
102842 information to the system logs and is for debugging only.
102843
102844 The debugging info printed in these messages is no longer very useful
102845 and rather than doing a kmap() in these debugging paths, it will be
102846 better to simply remove the debugging paths completely.
102847
102848 https://launchpad.net/bugs/913651
102849
102850 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
102851 Reported-by: Daniel DeFreez
102852 Cc: <stable@vger.kernel.org>
102853
102854 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
102855 Author: Tyler Hicks <tyhicks@canonical.com>
102856 Date: Thu Jan 12 11:30:44 2012 +0100
102857
102858 eCryptfs: Sanitize write counts of /dev/ecryptfs
102859
102860 A malicious count value specified when writing to /dev/ecryptfs may
102861 result in a a very large kernel memory allocation.
102862
102863 This patch peeks at the specified packet payload size, adds that to the
102864 size of the packet headers and compares the result with the write count
102865 value. The resulting maximum memory allocation size is approximately 532
102866 bytes.
102867
102868 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
102869 Reported-by: Sasha Levin <levinsasha928@gmail.com>
102870 Cc: <stable@vger.kernel.org>
102871
102872 commit 96dcb7282d323813181a1791f51c0ab7696b675b
102873 Merge: 6c09fa5 201c0db
102874 Author: Brad Spengler <spender@grsecurity.net>
102875 Date: Fri Jan 27 19:44:15 2012 -0500
102876
102877 Merge branch 'pax-test' into grsec-test
102878
102879 commit 201c0dbf177527367676028151e36d340923f033
102880 Author: Brad Spengler <spender@grsecurity.net>
102881 Date: Fri Jan 27 19:43:24 2012 -0500
102882
102883 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
102884 on loading modules with empty sections
102885
102886 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
102887 Author: Brad Spengler <spender@grsecurity.net>
102888 Date: Fri Jan 27 19:42:13 2012 -0500
102889
102890 compile fix
102891
102892 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
102893 Author: Brad Spengler <spender@grsecurity.net>
102894 Date: Fri Jan 27 19:39:28 2012 -0500
102895
102896 use LSM flags instead of duplicating checks
102897
102898 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
102899 Merge: 44b9f11 558718b
102900 Author: Brad Spengler <spender@grsecurity.net>
102901 Date: Fri Jan 27 18:56:23 2012 -0500
102902
102903 Merge branch 'pax-test' into grsec-test
102904
102905 commit 558718b2217beff69edf60f34a6f9893d910e9ac
102906 Author: Brad Spengler <spender@grsecurity.net>
102907 Date: Fri Jan 27 18:56:04 2012 -0500
102908
102909 Merge changes from pax-linux-3.2.2-test6.patch
102910
102911 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
102912 Author: Brad Spengler <spender@grsecurity.net>
102913 Date: Fri Jan 27 18:53:55 2012 -0500
102914
102915 don't increase the size of task_struct when unnecessary
102916 change ptrace_readexec log message
102917
102918 commit a9c9626e054adb885883aa64f85506852894dd33
102919 Author: Brad Spengler <spender@grsecurity.net>
102920 Date: Fri Jan 27 18:16:28 2012 -0500
102921
102922 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
102923 the protection applies to all unreadable binaries.
102924
102925 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
102926 Merge: 7b3f3af 05a1349
102927 Author: Brad Spengler <spender@grsecurity.net>
102928 Date: Wed Jan 25 20:52:09 2012 -0500
102929
102930 Merge branch 'pax-test' into grsec-test
102931
102932 Conflicts:
102933 block/scsi_ioctl.c
102934 drivers/scsi/sd.c
102935 fs/proc/base.c
102936
102937 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
102938 Author: Brad Spengler <spender@grsecurity.net>
102939 Date: Wed Jan 25 20:47:36 2012 -0500
102940
102941 Resync with pax-linux-3.2.2-test5.patch
102942
102943 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
102944 Merge: c6d443d 3499d64
102945 Author: Brad Spengler <spender@grsecurity.net>
102946 Date: Wed Jan 25 20:45:16 2012 -0500
102947
102948 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
102949
102950 Conflicts:
102951 ipc/shm.c
102952
102953 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
102954 Author: Brad Spengler <spender@grsecurity.net>
102955 Date: Tue Jan 24 19:42:01 2012 -0500
102956
102957 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
102958 (may be changed if it breaks some userland), the other has its own
102959 config option
102960
102961 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
102962 the syscall or /proc/sys.
102963
102964 Second feature requires read access to a suid/sgid binary in order
102965 to ptrace it, preventing infoleaking of binaries in situations where
102966 the admin has specified 4711 or 2711 perms. Feature has been
102967 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
102968 a sysctl entry of ptrace_readexec
102969
102970 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
102971 Author: Brad Spengler <spender@grsecurity.net>
102972 Date: Sun Jan 22 14:37:10 2012 -0500
102973
102974 Compilation fixes
102975
102976 commit cd400e21c7c352baba47d6f375297a7847afb33a
102977 Author: Brad Spengler <spender@grsecurity.net>
102978 Date: Sun Jan 22 14:20:27 2012 -0500
102979
102980 Initial port of grsecurity 2.2.2 for Linux 3.2.1
102981 Note that the new syscalls added to this kernel for remote process read/write
102982 are subject to ptrace hardening/other relevant RBAC features
102983 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
102984 as well
102985 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
102986 you should be using a version of gcc with plugin support
102987
102988 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
102989 Author: Brad Spengler <spender@grsecurity.net>
102990 Date: Sun Jan 22 11:47:31 2012 -0500
102991
102992 Import pax-linux-3.2.1-test5.patch
102993 commit bfd7db842f835f9837cd43644459b3a95b0b488d
102994 Author: Brad Spengler <spender@grsecurity.net>
102995 Date: Sun Jan 22 11:02:02 2012 -0500
102996
102997 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
102998 instead of returning -EACCES
102999 thanks to Wraith from irc for the report
103000
103001 commit 873ac13576506cd48ddb527c2540f274e249da50
103002 Merge: 34083dd 8a44fcc
103003 Author: Brad Spengler <spender@grsecurity.net>
103004 Date: Fri Jan 20 18:04:02 2012 -0500
103005
103006 Merge branch 'pax-test' into grsec-test
103007
103008 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
103009 Author: Brad Spengler <spender@grsecurity.net>
103010 Date: Fri Jan 20 18:02:15 2012 -0500
103011
103012 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
103013 Denies executable shared memory when MPROTECT is active
103014 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
103015
103016 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
103017 Author: Brad Spengler <spender@grsecurity.net>
103018 Date: Thu Jan 19 20:23:14 2012 -0500
103019
103020 Introduce new GRKERNSEC_SETXID implementation
103021 We're not able to change the credentials of other threads in the process until at most
103022 one syscall after the first thread does it, since we mark the threads as needing rescheduling
103023 and such work occurs on syscall exit.
103024 This does however ensure that we're only modifying the current task's credentials
103025 which upholds RCU expectations
103026
103027 Many thanks to corsac for testing
103028
103029 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
103030 Author: Brad Spengler <spender@grsecurity.net>
103031 Date: Thu Jan 19 17:42:48 2012 -0500
103032
103033 Simplify backport
103034
103035 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
103036 Author: Brad Spengler <spender@grsecurity.net>
103037 Date: Thu Jan 19 17:08:16 2012 -0500
103038
103039 Commit the latest silent fix for a local privilege escalation from Linus
103040 Also disable writing to /proc/pid/mem
103041 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
103042
103043 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
103044 Merge: 0394a3f 7e6299b
103045 Author: Brad Spengler <spender@grsecurity.net>
103046 Date: Wed Jan 18 20:22:09 2012 -0500
103047
103048 Merge branch 'pax-test' into grsec-test
103049
103050 commit 7e6299b4733c082dde930375dd207b63237751ec
103051 Merge: 83555fb 9bb1282
103052 Author: Brad Spengler <spender@grsecurity.net>
103053 Date: Wed Jan 18 20:21:37 2012 -0500
103054
103055 Merge branch 'linux-3.1.y' into pax-test
103056
103057 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
103058 Author: Jesper Juhl <jj@chaosbits.net>
103059 Date: Sun Jan 8 22:44:29 2012 +0100
103060
103061 audit: always follow va_copy() with va_end()
103062
103063 A call to va_copy() should always be followed by a call to va_end() in
103064 the same function. In kernel/autit.c::audit_log_vformat() this is not
103065 always done. This patch makes sure va_end() is always called.
103066
103067 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
103068 Cc: Al Viro <viro@zeniv.linux.org.uk>
103069 Cc: Eric Paris <eparis@redhat.com>
103070 Cc: Andrew Morton <akpm@linux-foundation.org>
103071 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103072
103073 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
103074 Author: Andi Kleen <ak@linux.intel.com>
103075 Date: Thu Jan 12 17:20:30 2012 -0800
103076
103077 panic: don't print redundant backtraces on oops
103078
103079 When an oops causes a panic and panic prints another backtrace it's pretty
103080 common to have the original oops data be scrolled away on a 80x50 screen.
103081
103082 The second backtrace is quite redundant and not needed anyways.
103083
103084 So don't print the panic backtrace when oops_in_progress is true.
103085
103086 [akpm@linux-foundation.org: add comment]
103087 Signed-off-by: Andi Kleen <ak@linux.intel.com>
103088 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
103089 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
103090 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103091
103092 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
103093 Author: Miklos Szeredi <mszeredi@suse.cz>
103094 Date: Thu Jan 12 17:59:46 2012 +0100
103095
103096 fsnotify: don't BUG in fsnotify_destroy_mark()
103097
103098 Removing the parent of a watched file results in "kernel BUG at
103099 fs/notify/mark.c:139".
103100
103101 To reproduce
103102
103103 add "-w /tmp/audit/dir/watched_file" to audit.rules
103104 rm -rf /tmp/audit/dir
103105
103106 This is caused by fsnotify_destroy_mark() being called without an
103107 extra reference taken by the caller.
103108
103109 Reported by Francesco Cosoleto here:
103110
103111 https://bugzilla.novell.com/show_bug.cgi?id=689860
103112
103113 Fix by removing the BUG_ON and adding a comment about not accessing mark after
103114 the iput.
103115
103116 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
103117 CC: stable@vger.kernel.org
103118 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103119
103120 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
103121 Author: Paolo Bonzini <pbonzini@redhat.com>
103122 Date: Thu Jan 12 16:01:28 2012 +0100
103123
103124 block: fail SCSI passthrough ioctls on partition devices
103125
103126 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
103127 will pass the command to the underlying block device. This is
103128 well-known, but it is also a large security problem when (via Unix
103129 permissions, ACLs, SELinux or a combination thereof) a program or user
103130 needs to be granted access only to part of the disk.
103131
103132 This patch lets partitions forward a small set of harmless ioctls;
103133 others are logged with printk so that we can see which ioctls are
103134 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
103135 Of course it was being sent to a (partition on a) hard disk, so it would
103136 have failed with ENOTTY and the patch isn't changing anything in
103137 practice. Still, I'm treating it specially to avoid spamming the logs.
103138
103139 In principle, this restriction should include programs running with
103140 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
103141 /dev/sdb, it still should not be able to read/write outside the
103142 boundaries of /dev/sda2 independent of the capabilities. However, for
103143 now programs with CAP_SYS_RAWIO will still be allowed to send the
103144 ioctls. Their actions will still be logged.
103145
103146 This patch does not affect the non-libata IDE driver. That driver
103147 however already tests for bd != bd->bd_contains before issuing some
103148 ioctl; it could be restricted further to forbid these ioctls even for
103149 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
103150
103151 Cc: linux-scsi@vger.kernel.org
103152 Cc: Jens Axboe <axboe@kernel.dk>
103153 Cc: James Bottomley <JBottomley@parallels.com>
103154 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
103155 [ Make it also print the command name when warning - Linus ]
103156 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103157
103158 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
103159 Author: Paolo Bonzini <pbonzini@redhat.com>
103160 Date: Thu Jan 12 16:01:27 2012 +0100
103161
103162 block: add and use scsi_blk_cmd_ioctl
103163
103164 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
103165
103166 The function will then be enhanced to detect partition block devices
103167 and, in that case, subject the ioctls to whitelisting.
103168
103169 Cc: linux-scsi@vger.kernel.org
103170 Cc: Jens Axboe <axboe@kernel.dk>
103171 Cc: James Bottomley <JBottomley@parallels.com>
103172 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
103173 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103174
103175 commit 97a79814903fc350e1d13704ea31528a42705401
103176 Author: Kees Cook <keescook@chromium.org>
103177 Date: Sat Jan 7 10:41:04 2012 -0800
103178
103179 audit: treat s_id as an untrusted string
103180
103181 The use of s_id should go through the untrusted string path, just to be
103182 extra careful.
103183
103184 Signed-off-by: Kees Cook <keescook@chromium.org>
103185 Acked-by: Mimi Zohar <zohar@us.ibm.com>
103186 Signed-off-by: Eric Paris <eparis@redhat.com>
103187
103188 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
103189 Author: Xi Wang <xi.wang@gmail.com>
103190 Date: Tue Dec 20 18:39:41 2011 -0500
103191
103192 audit: fix signedness bug in audit_log_execve_info()
103193
103194 In the loop, a size_t "len" is used to hold the return value of
103195 audit_log_single_execve_arg(), which returns -1 on error. In that
103196 case the error handling (len <= 0) will be bypassed since "len" is
103197 unsigned, and the loop continues with (p += len) being wrapped.
103198 Change the type of "len" to signed int to fix the error handling.
103199
103200 size_t len;
103201 ...
103202 for (...) {
103203 len = audit_log_single_execve_arg(...);
103204 if (len <= 0)
103205 break;
103206 p += len;
103207 }
103208
103209 Signed-off-by: Xi Wang <xi.wang@gmail.com>
103210 Signed-off-by: Eric Paris <eparis@redhat.com>
103211
103212 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
103213 Author: Dan Carpenter <dan.carpenter@oracle.com>
103214 Date: Tue Jan 17 03:28:51 2012 -0300
103215
103216 [media] ds3000: using logical && instead of bitwise &
103217
103218 The intent here was to test if the FE_HAS_LOCK was set. The current
103219 test is equivalent to "if (status) { ..."
103220
103221 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
103222 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
103223
103224 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
103225 Author: Brad Spengler <spender@grsecurity.net>
103226 Date: Mon Jan 16 13:10:38 2012 -0500
103227
103228 Ignore the 0 signal for protected task RBAC checks
103229
103230 commit d513acd55f7a683f6e146a4f570cdb63300479ab
103231 Author: Brad Spengler <spender@grsecurity.net>
103232 Date: Mon Jan 16 11:56:13 2012 -0500
103233
103234 whitespace cleanup
103235
103236 commit ced261c4b82818c700aff8487f647f6f3e5b5122
103237 Merge: d48751f 83555fb
103238 Author: Brad Spengler <spender@grsecurity.net>
103239 Date: Fri Jan 13 20:12:54 2012 -0500
103240
103241 Merge branch 'pax-test' into grsec-test
103242
103243 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
103244 Merge: fcd8129 93dad39
103245 Author: Brad Spengler <spender@grsecurity.net>
103246 Date: Fri Jan 13 20:12:43 2012 -0500
103247
103248 Merge branch 'linux-3.1.y' into pax-test
103249
103250 commit d48751f3919ae855fda0ff6c149db82442329253
103251 Author: Brad Spengler <spender@grsecurity.net>
103252 Date: Wed Jan 11 19:05:47 2012 -0500
103253
103254 Call our own set_user when forcing change to new id
103255
103256 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
103257 Merge: e6578ff fcd8129
103258 Author: Brad Spengler <spender@grsecurity.net>
103259 Date: Tue Jan 10 16:00:10 2012 -0500
103260
103261 Merge branch 'pax-test' into grsec-test
103262
103263 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
103264 Author: Brad Spengler <spender@grsecurity.net>
103265 Date: Tue Jan 10 15:58:43 2012 -0500
103266
103267 Merge changes from pax-linux-3.1.8-test23.patch
103268
103269 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
103270 Merge: 8859ec3 a120549
103271 Author: Brad Spengler <spender@grsecurity.net>
103272 Date: Fri Jan 6 21:45:56 2012 -0500
103273
103274 Merge branch 'pax-test' into grsec-test
103275
103276 commit a12054967a77090de1caa07c41e694a77db4e237
103277 Author: Brad Spengler <spender@grsecurity.net>
103278 Date: Fri Jan 6 21:45:30 2012 -0500
103279
103280 Merge changes from pax-linux-3.1.8-test22.patch
103281
103282 commit 8859ec32f9815c274df65448f9f2960176c380d3
103283 Merge: a5016b4 ddd4114
103284 Author: Brad Spengler <spender@grsecurity.net>
103285 Date: Fri Jan 6 21:26:08 2012 -0500
103286
103287 Merge branch 'pax-test' into grsec-test
103288
103289 Conflicts:
103290 fs/binfmt_elf.c
103291 security/Kconfig
103292
103293 commit ddd41147e158a79704983a409b7433eba797cf66
103294 Author: Brad Spengler <spender@grsecurity.net>
103295 Date: Fri Jan 6 21:12:42 2012 -0500
103296
103297 Resync with PaX patch (whitespace difference)
103298
103299 commit 29e569df8205c5f0e043fe4803aa984406c8b118
103300 Author: Brad Spengler <spender@grsecurity.net>
103301 Date: Fri Jan 6 21:09:47 2012 -0500
103302
103303 Merge changes from pax-linux-3.1.8-test21.patch
103304
103305 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
103306 Merge: 0124c92 04231d5
103307 Author: Brad Spengler <spender@grsecurity.net>
103308 Date: Fri Jan 6 18:52:20 2012 -0500
103309
103310 Merge branch 'pax-test' into grsec-test
103311
103312 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
103313 Merge: 7bdddeb a919904
103314 Author: Brad Spengler <spender@grsecurity.net>
103315 Date: Fri Jan 6 18:51:50 2012 -0500
103316
103317 Merge branch 'linux-3.1.y' into pax-test
103318
103319 Conflicts:
103320 include/net/flow.h
103321
103322 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
103323 Author: Brad Spengler <spender@grsecurity.net>
103324 Date: Fri Jan 6 18:33:05 2012 -0500
103325
103326 Make GRKERNSEC_SETXID option compatible with credential debugging
103327
103328 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
103329 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
103330 Date: Wed Dec 28 15:57:11 2011 -0800
103331
103332 mm/mempolicy.c: refix mbind_range() vma issue
103333
103334 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
103335 slightly incorrect fix.
103336
103337 Why? Think following case.
103338
103339 1. map 4 pages of a file at offset 0
103340
103341 [0123]
103342
103343 2. map 2 pages just after the first mapping of the same file but with
103344 page offset 2
103345
103346 [0123][23]
103347
103348 3. mbind() 2 pages from the first mapping at offset 2.
103349 mbind_range() should treat new vma is,
103350
103351 [0123][23]
103352 |23|
103353 mbind vma
103354
103355 but it does
103356
103357 [0123][23]
103358 |01|
103359 mbind vma
103360
103361 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
103362
103363 This patch fixes it.
103364
103365 [testcase]
103366 test result - before the patch
103367
103368 case4: 126: test failed. expect '2,4', actual '2,2,2'
103369 case5: passed
103370 case6: passed
103371 case7: passed
103372 case8: passed
103373 case_n: 246: test failed. expect '4,2', actual '1,4'
103374
103375 ------------[ cut here ]------------
103376 kernel BUG at mm/filemap.c:135!
103377 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
103378
103379 (snip long bug on messages)
103380
103381 test result - after the patch
103382
103383 case4: passed
103384 case5: passed
103385 case6: passed
103386 case7: passed
103387 case8: passed
103388 case_n: passed
103389
103390 source: mbind_vma_test.c
103391 ============================================================
103392 #include <numaif.h>
103393 #include <numa.h>
103394 #include <sys/mman.h>
103395 #include <stdio.h>
103396 #include <unistd.h>
103397 #include <stdlib.h>
103398 #include <string.h>
103399
103400 static unsigned long pagesize;
103401 void* mmap_addr;
103402 struct bitmask *nmask;
103403 char buf[1024];
103404 FILE *file;
103405 char retbuf[10240] = "";
103406 int mapped_fd;
103407
103408 char *rubysrc = "ruby -e '\
103409 pid = %d; \
103410 vstart = 0x%llx; \
103411 vend = 0x%llx; \
103412 s = `pmap -q #{pid}`; \
103413 rary = []; \
103414 s.each_line {|line|; \
103415 ary=line.split(\" \"); \
103416 addr = ary[0].to_i(16); \
103417 if(vstart <= addr && addr < vend) then \
103418 rary.push(ary[1].to_i()/4); \
103419 end; \
103420 }; \
103421 print rary.join(\",\"); \
103422 '";
103423
103424 void init(void)
103425 {
103426 void* addr;
103427 char buf[128];
103428
103429 nmask = numa_allocate_nodemask();
103430 numa_bitmask_setbit(nmask, 0);
103431
103432 pagesize = getpagesize();
103433
103434 sprintf(buf, "%s", "mbind_vma_XXXXXX");
103435 mapped_fd = mkstemp(buf);
103436 if (mapped_fd == -1)
103437 perror("mkstemp "), exit(1);
103438 unlink(buf);
103439
103440 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
103441 perror("lseek "), exit(1);
103442 if (write(mapped_fd, "\0", 1) < 0)
103443 perror("write "), exit(1);
103444
103445 addr = mmap(NULL, pagesize*8, PROT_NONE,
103446 MAP_SHARED, mapped_fd, 0);
103447 if (addr == MAP_FAILED)
103448 perror("mmap "), exit(1);
103449
103450 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
103451 perror("mprotect "), exit(1);
103452
103453 mmap_addr = addr + pagesize;
103454
103455 /* make page populate */
103456 memset(mmap_addr, 0, pagesize*6);
103457 }
103458
103459 void fin(void)
103460 {
103461 void* addr = mmap_addr - pagesize;
103462 munmap(addr, pagesize*8);
103463
103464 memset(buf, 0, sizeof(buf));
103465 memset(retbuf, 0, sizeof(retbuf));
103466 }
103467
103468 void mem_bind(int index, int len)
103469 {
103470 int err;
103471
103472 err = mbind(mmap_addr+pagesize*index, pagesize*len,
103473 MPOL_BIND, nmask->maskp, nmask->size, 0);
103474 if (err)
103475 perror("mbind "), exit(err);
103476 }
103477
103478 void mem_interleave(int index, int len)
103479 {
103480 int err;
103481
103482 err = mbind(mmap_addr+pagesize*index, pagesize*len,
103483 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
103484 if (err)
103485 perror("mbind "), exit(err);
103486 }
103487
103488 void mem_unbind(int index, int len)
103489 {
103490 int err;
103491
103492 err = mbind(mmap_addr+pagesize*index, pagesize*len,
103493 MPOL_DEFAULT, NULL, 0, 0);
103494 if (err)
103495 perror("mbind "), exit(err);
103496 }
103497
103498 void Assert(char *expected, char *value, char *name, int line)
103499 {
103500 if (strcmp(expected, value) == 0) {
103501 fprintf(stderr, "%s: passed\n", name);
103502 return;
103503 }
103504 else {
103505 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
103506 name, line,
103507 expected, value);
103508 // exit(1);
103509 }
103510 }
103511
103512 /*
103513 AAAA
103514 PPPPPPNNNNNN
103515 might become
103516 PPNNNNNNNNNN
103517 case 4 below
103518 */
103519 void case4(void)
103520 {
103521 init();
103522 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
103523
103524 mem_bind(0, 4);
103525 mem_unbind(2, 2);
103526
103527 file = popen(buf, "r");
103528 fread(retbuf, sizeof(retbuf), 1, file);
103529 Assert("2,4", retbuf, "case4", __LINE__);
103530
103531 fin();
103532 }
103533
103534 /*
103535 AAAA
103536 PPPPPPNNNNNN
103537 might become
103538 PPPPPPPPPPNN
103539 case 5 below
103540 */
103541 void case5(void)
103542 {
103543 init();
103544 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
103545
103546 mem_bind(0, 2);
103547 mem_bind(2, 2);
103548
103549 file = popen(buf, "r");
103550 fread(retbuf, sizeof(retbuf), 1, file);
103551 Assert("4,2", retbuf, "case5", __LINE__);
103552
103553 fin();
103554 }
103555
103556 /*
103557 AAAA
103558 PPPPNNNNXXXX
103559 might become
103560 PPPPPPPPPPPP 6
103561 */
103562 void case6(void)
103563 {
103564 init();
103565 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
103566
103567 mem_bind(0, 2);
103568 mem_bind(4, 2);
103569 mem_bind(2, 2);
103570
103571 file = popen(buf, "r");
103572 fread(retbuf, sizeof(retbuf), 1, file);
103573 Assert("6", retbuf, "case6", __LINE__);
103574
103575 fin();
103576 }
103577
103578 /*
103579 AAAA
103580 PPPPNNNNXXXX
103581 might become
103582 PPPPPPPPXXXX 7
103583 */
103584 void case7(void)
103585 {
103586 init();
103587 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
103588
103589 mem_bind(0, 2);
103590 mem_interleave(4, 2);
103591 mem_bind(2, 2);
103592
103593 file = popen(buf, "r");
103594 fread(retbuf, sizeof(retbuf), 1, file);
103595 Assert("4,2", retbuf, "case7", __LINE__);
103596
103597 fin();
103598 }
103599
103600 /*
103601 AAAA
103602 PPPPNNNNXXXX
103603 might become
103604 PPPPNNNNNNNN 8
103605 */
103606 void case8(void)
103607 {
103608 init();
103609 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
103610
103611 mem_bind(0, 2);
103612 mem_interleave(4, 2);
103613 mem_interleave(2, 2);
103614
103615 file = popen(buf, "r");
103616 fread(retbuf, sizeof(retbuf), 1, file);
103617 Assert("2,4", retbuf, "case8", __LINE__);
103618
103619 fin();
103620 }
103621
103622 void case_n(void)
103623 {
103624 init();
103625 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
103626
103627 /* make redundunt mappings [0][1234][34][7] */
103628 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
103629 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
103630
103631 /* Expect to do nothing. */
103632 mem_unbind(2, 2);
103633
103634 file = popen(buf, "r");
103635 fread(retbuf, sizeof(retbuf), 1, file);
103636 Assert("4,2", retbuf, "case_n", __LINE__);
103637
103638 fin();
103639 }
103640
103641 int main(int argc, char** argv)
103642 {
103643 case4();
103644 case5();
103645 case6();
103646 case7();
103647 case8();
103648 case_n();
103649
103650 return 0;
103651 }
103652 =============================================================
103653
103654 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
103655 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
103656 Cc: Minchan Kim <minchan.kim@gmail.com>
103657 Cc: Caspar Zhang <caspar@casparzhang.com>
103658 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
103659 Cc: Christoph Lameter <cl@linux.com>
103660 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
103661 Cc: Mel Gorman <mel@csn.ul.ie>
103662 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
103663 Cc: <stable@vger.kernel.org> [3.1.x]
103664 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
103665 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103666
103667 commit f3a1082005781777086df235049f8c0b7efe524e
103668 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
103669 Date: Tue Dec 27 22:32:41 2011 -0500
103670
103671 packet: fix possible dev refcnt leak when bind fail
103672
103673 If bind is fail when bind is called after set PACKET_FANOUT
103674 sock option, the dev refcnt will leak.
103675
103676 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
103677 Signed-off-by: David S. Miller <davem@davemloft.net>
103678
103679 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
103680 Author: Haogang Chen <haogangchen@gmail.com>
103681 Date: Mon Dec 19 17:11:56 2011 -0800
103682
103683 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
103684
103685 There is a potential integer overflow in nilfs_ioctl_clean_segments().
103686 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
103687 call to vmalloc() will allocate a buffer smaller than expected, which
103688 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
103689 lfs_clean_segments().
103690
103691 The following check does not prevent the overflow because nsegs is also
103692 controlled by the userspace and could be very large.
103693
103694 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
103695 goto out_free;
103696
103697 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
103698 returns -EINVAL when overflow.
103699
103700 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
103701 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
103702 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
103703 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103704
103705 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
103706 Author: Kautuk Consul <consul.kautuk@gmail.com>
103707 Date: Mon Dec 19 17:12:04 2011 -0800
103708
103709 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
103710
103711 Static storage is not required for the struct vmap_area in
103712 __get_vm_area_node.
103713
103714 Removing "static" to store this variable on the stack instead.
103715
103716 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
103717 Acked-by: David Rientjes <rientjes@google.com>
103718 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
103719 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103720
103721 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
103722 Author: Michel Lespinasse <walken@google.com>
103723 Date: Mon Dec 19 17:12:06 2011 -0800
103724
103725 binary_sysctl(): fix memory leak
103726
103727 binary_sysctl() calls sysctl_getname() which allocates from names_cache
103728 slab usin __getname()
103729
103730 The matching function to free the name is __putname(), and not putname()
103731 which should be used only to match getname() allocations.
103732
103733 This is because when auditing is enabled, putname() calls audit_putname
103734 *instead* (not in addition) to __putname(). Then, if a syscall is in
103735 progress, audit_putname does not release the name - instead, it expects
103736 the name to get released when the syscall completes, but that will happen
103737 only if audit_getname() was called previously, i.e. if the name was
103738 allocated with getname() rather than the naked __getname(). So,
103739 __getname() followed by putname() ends up leaking memory.
103740
103741 Signed-off-by: Michel Lespinasse <walken@google.com>
103742 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
103743 Cc: Christoph Hellwig <hch@infradead.org>
103744 Cc: Eric Paris <eparis@redhat.com>
103745 Cc: <stable@vger.kernel.org>
103746 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
103747 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
103748
103749 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
103750 Author: Sean Hefty <sean.hefty@intel.com>
103751 Date: Tue Dec 6 21:17:11 2011 +0000
103752
103753 RDMA/cma: Verify private data length
103754
103755 private_data_len is defined as a u8. If the user specifies a large
103756 private_data size (> 220 bytes), we will calculate a total length that
103757 exceeds 255, resulting in private_data_len wrapping back to 0. This
103758 can lead to overwriting random kernel memory. Avoid this by verifying
103759 that the resulting size fits into a u8.
103760
103761 Reported-by: B. Thery <benjamin.thery@bull.net>
103762 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
103763 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
103764 Signed-off-by: Roland Dreier <roland@purestorage.com>
103765
103766 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
103767 Author: Xi Wang <xi.wang@gmail.com>
103768 Date: Sun Dec 11 23:40:56 2011 -0800
103769
103770 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
103771
103772 The error check (intr_status < 0) didn't work because intr_status is
103773 a u8. Change its type to signed int.
103774
103775 Signed-off-by: Xi Wang <xi.wang@gmail.com>
103776 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
103777
103778 commit e27f34e383d7863b2528a63b81b23db09781f6b6
103779 Author: Xi Wang <xi.wang@gmail.com>
103780 Date: Fri Dec 16 12:44:15 2011 +0000
103781
103782 sctp: fix incorrect overflow check on autoclose
103783
103784 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
103785 limiting the autoclose value. If userspace passes in -1 on 32-bit
103786 platform, the overflow check didn't work and autoclose would be set
103787 to 0xffffffff.
103788
103789 This patch defines a max_autoclose (in seconds) for limiting the value
103790 and exposes it through sysctl, with the following intentions.
103791
103792 1) Avoid overflowing autoclose * HZ.
103793
103794 2) Keep the default autoclose bound consistent across 32- and 64-bit
103795 platforms (INT_MAX / HZ in this patch).
103796
103797 3) Keep the autoclose value consistent between setsockopt() and
103798 getsockopt() calls.
103799
103800 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
103801 Signed-off-by: Xi Wang <xi.wang@gmail.com>
103802 Signed-off-by: David S. Miller <davem@davemloft.net>
103803
103804 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
103805 Author: Xi Wang <xi.wang@gmail.com>
103806 Date: Wed Dec 21 05:18:33 2011 -0500
103807
103808 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
103809
103810 Commit e133e737 didn't correctly fix the integer overflow issue.
103811
103812 - unsigned int required_size;
103813 + u64 required_size;
103814 ...
103815 required_size = mode_cmd->pitch * mode_cmd->height;
103816 - if (unlikely(required_size > dev_priv->vram_size)) {
103817 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
103818
103819 Note that both pitch and height are u32. Their product is still u32 and
103820 would overflow before being assigned to required_size. A correct way is
103821 to convert pitch and height to u64 before the multiplication.
103822
103823 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
103824
103825 This patch calls the existing vmw_kms_validate_mode_vram() for
103826 validation.
103827
103828 Signed-off-by: Xi Wang <xi.wang@gmail.com>
103829 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
103830 Signed-off-by: Dave Airlie <airlied@redhat.com>
103831
103832 Conflicts:
103833
103834 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
103835
103836 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
103837 Author: Xi Wang <xi.wang@gmail.com>
103838 Date: Thu Dec 22 13:35:22 2011 +0000
103839
103840 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
103841
103842 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
103843 cause a kernel oops due to insufficient bounds checking.
103844
103845 if (count > 1<<30) {
103846 /* Enforce a limit to prevent overflow */
103847 return -EINVAL;
103848 }
103849 count = roundup_pow_of_two(count);
103850 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
103851
103852 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
103853
103854 ... + (count * sizeof(struct rps_dev_flow))
103855
103856 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
103857 32 bits.
103858
103859 This patch replaces the magic number (1 << 30) with a symbolic bound.
103860
103861 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
103862 Signed-off-by: Xi Wang <xi.wang@gmail.com>
103863 Signed-off-by: David S. Miller <davem@davemloft.net>
103864
103865 commit 648188958672024b616c42c1f6c98c8cfc85619d
103866 Author: Xi Wang <xi.wang@gmail.com>
103867 Date: Fri Dec 30 10:40:17 2011 -0500
103868
103869 netfilter: ctnetlink: fix timeout calculation
103870
103871 The sanity check (timeout < 0) never works; the dividend is unsigned
103872 and so is the division, which should have been a signed division.
103873
103874 long timeout = (ct->timeout.expires - jiffies) / HZ;
103875 if (timeout < 0)
103876 timeout = 0;
103877
103878 This patch converts the time values to signed for the division.
103879
103880 Signed-off-by: Xi Wang <xi.wang@gmail.com>
103881 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
103882
103883 commit ab03a0973cee73f88655ff4981812ad316a6cd59
103884 Merge: 76f82df 7bdddeb
103885 Author: Brad Spengler <spender@grsecurity.net>
103886 Date: Tue Jan 3 17:42:50 2012 -0500
103887
103888 Merge branch 'pax-test' into grsec-test
103889
103890 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
103891 Merge: 3e59cb5 55cc81a
103892 Author: Brad Spengler <spender@grsecurity.net>
103893 Date: Tue Jan 3 17:42:36 2012 -0500
103894
103895 Merge branch 'linux-3.1.y' into pax-test
103896
103897 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
103898 Author: Brad Spengler <spender@grsecurity.net>
103899 Date: Thu Dec 22 20:15:02 2011 -0500
103900
103901 Only further restrict futex targeting another process -- our modified
103902 permission check also happened to allow a case where a process retaining
103903 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
103904 being non-zero (reported on forums by ben_w)
103905
103906 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
103907 Merge: 97c16f0 3e59cb5
103908 Author: Brad Spengler <spender@grsecurity.net>
103909 Date: Thu Dec 22 19:11:06 2011 -0500
103910
103911 Merge branch 'pax-test' into grsec-test
103912
103913 Conflicts:
103914 fs/hfs/btree.c
103915
103916 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
103917 Merge: 285eb4e c26f60b
103918 Author: Brad Spengler <spender@grsecurity.net>
103919 Date: Thu Dec 22 19:09:57 2011 -0500
103920
103921 Merge branch 'linux-3.1.y' into pax-test
103922
103923 Conflicts:
103924 arch/x86/kernel/process.c
103925
103926 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
103927 Author: Brad Spengler <spender@grsecurity.net>
103928 Date: Mon Dec 19 21:54:01 2011 -0500
103929
103930 Add new option: "Enforce consistent multithreaded privileges"
103931
103932 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
103933 Author: Brad Spengler <spender@grsecurity.net>
103934 Date: Wed Dec 7 19:58:31 2011 -0500
103935
103936 Remove harmless duplicate code -- exec_file would be null already so the
103937 second check would never pass.
103938
103939 commit 4e3304e94aa72737810bc50169519af157dce4ce
103940 Author: Brad Spengler <spender@grsecurity.net>
103941 Date: Wed Dec 7 19:50:39 2011 -0500
103942
103943 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
103944 depended on for attaching to a thread. Entries exist in /proc for
103945 threads, but are not visible in a readdir.
103946
103947 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
103948 Author: Brad Spengler <spender@grsecurity.net>
103949 Date: Sun Dec 4 18:03:28 2011 -0500
103950
103951 Put the already-walked path if in RCU-walk mode
103952
103953 commit ec7ae36b7159f10649709779443a988662965d66
103954 Author: Brad Spengler <spender@grsecurity.net>
103955 Date: Sun Dec 4 17:35:21 2011 -0500
103956
103957 Fix memory leak introduced by recent (unpublished) commit
103958 75ab998b94a29d464518d6d501bdde3fbfcbfa14
103959
103960 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
103961 Author: Brad Spengler <spender@grsecurity.net>
103962 Date: Sun Dec 4 13:56:10 2011 -0500
103963
103964 Explicitly check size copied to userland in override_release to silence gcc
103965
103966 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
103967 Author: Brad Spengler <spender@grsecurity.net>
103968 Date: Sun Dec 4 13:54:02 2011 -0500
103969
103970 Initialize variable to silence erroneous gcc warning
103971
103972 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
103973 Author: Brad Spengler <spender@grsecurity.net>
103974 Date: Sun Dec 4 13:47:47 2011 -0500
103975
103976 Future-proof other potential RCU-aware locations where we can log.
103977
103978 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
103979 Author: Brad Spengler <spender@grsecurity.net>
103980 Date: Sun Dec 4 13:02:54 2011 -0500
103981
103982 Fix freeze reported by 'vs' on the forums. Bug occurred due to
103983 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
103984 in generic_permission() was in the task's effective set but disallowed by
103985 RBAC, would block when acquiring locks resulting in the freeze.
103986
103987 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
103988 as being required when CAP_DAC_OVERRIDE is present (consistent with
103989 older patches).
103990
103991 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
103992 Author: Xi Wang <xi.wang@gmail.com>
103993 Date: Tue Nov 29 09:26:30 2011 +0000
103994
103995 sctp: better integer overflow check in sctp_auth_create_key()
103996
103997 The check from commit 30c2235c is incomplete and cannot prevent
103998 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
103999 left-hand side of the check (INT_MAX - key_len), which is unsigned,
104000 becomes 0xffffffff (UINT_MAX) and bypasses the check.
104001
104002 However this shouldn't be a security issue. The function is called
104003 from the following two code paths:
104004
104005 1) setsockopt()
104006
104007 2) sctp_auth_asoc_set_secret()
104008
104009 In case (1), sca_keylength is never going to exceed 65535 since it's
104010 bounded by a u16 from the user API. As such, the key length will
104011 never overflow.
104012
104013 In case (2), sca_keylength is computed based on the user key (1 short)
104014 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
104015 will not overflow.
104016
104017 In other words, this overflow check is not really necessary. Just
104018 make it more correct.
104019
104020 Signed-off-by: Xi Wang <xi.wang@gmail.com>
104021 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
104022 Signed-off-by: David S. Miller <davem@davemloft.net>
104023
104024 commit e565e28c3635a1d50f80541fbf6b606d742fec76
104025 Author: Josh Boyer <jwboyer@redhat.com>
104026 Date: Fri Aug 19 14:50:26 2011 -0400
104027
104028 fs/minix: Verify bitmap block counts before mounting
104029
104030 Newer versions of MINIX can create filesystems that allocate an extra
104031 bitmap block. Mounting of this succeeds, but doing a statfs call will
104032 result in an oops in count_free because of a negative number being used
104033 for the bh index.
104034
104035 Avoid this by verifying the number of allocated blocks at mount time,
104036 erroring out if there are not enough and make statfs ignore the extras
104037 if there are too many.
104038
104039 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
104040
104041 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
104042 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
104043
104044 commit 6e134e398ec1a3f428261680e83df4319e64bed9
104045 Author: Julia Lawall <julia@diku.dk>
104046 Date: Tue Nov 15 14:53:11 2011 -0800
104047
104048 drivers/gpu/vga/vgaarb.c: add missing kfree
104049
104050 kbuf is a buffer that is local to this function, so all of the error paths
104051 leaving the function should release it.
104052
104053 Signed-off-by: Julia Lawall <julia@diku.dk>
104054 Cc: Jesper Juhl <jj@chaosbits.net>
104055 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
104056 Signed-off-by: Dave Airlie <airlied@redhat.com>
104057
104058 commit 2b9057b321e36860e8d63985b5c4e496f254b717
104059 Author: Brad Spengler <spender@grsecurity.net>
104060 Date: Sat Dec 3 21:33:28 2011 -0500
104061
104062 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
104063
104064 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
104065 Author: Brad Spengler <spender@grsecurity.net>
104066 Date: Sat Dec 3 21:29:37 2011 -0500
104067
104068 Import pax-linux-3.1.4-test18.patch
104069
104070 commit 285eb4ea45d853ae00426b3315a61c1368080dad
104071 Author: Brad Spengler <spender@grsecurity.net>
104072 Date: Sat Dec 10 18:33:46 2011 -0500
104073
104074 Import changes from pax-linux-3.1.5-test20.patch
104075
104076 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
104077 Author: Brad Spengler <spender@grsecurity.net>
104078 Date: Thu Dec 8 20:55:54 2011 -0500
104079
104080 Import changes from pax-linux-3.1.4-test19.patch
104081
104082 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
104083 Author: Brad Spengler <spender@grsecurity.net>
104084 Date: Sat Dec 3 21:29:37 2011 -0500
104085
104086 Import pax-linux-3.1.4-test18.patch
104087 commit d92091aac493a547d85ddf1b98bd9aaa8c7112a5
104088 Author: Brad Spengler <spender@grsecurity.net>
104089 Date: Thu Jul 4 23:05:14 2013 -0400
104090
104091 always enforce a non-zero gap for RAND_THREADSTACK
104092
104093 mm/mmap.c | 2 +-
104094 1 files changed, 1 insertions(+), 1 deletions(-)
104095
104096 commit 40d67e38a42d4e94b43b3d7400addc662b9857dc
104097 Author: Brad Spengler <spender@grsecurity.net>
104098 Date: Thu Jul 4 16:09:28 2013 -0400
104099
104100 fix up file comparisons
104101
104102 grsecurity/gracl_segv.c | 2 +-
104103 grsecurity/grsec_sig.c | 4 ++--
104104 include/linux/grinternal.h | 12 ++++++++++++
104105 3 files changed, 15 insertions(+), 3 deletions(-)
104106
104107 commit a1fff2c95162314626dd96bec71d951a8c1c4708
104108 Author: Brad Spengler <spender@grsecurity.net>
104109 Date: Thu Jul 4 15:33:18 2013 -0400
104110
104111 fix suid binary matching
104112
104113 grsecurity/grsec_sig.c | 2 +-
104114 1 files changed, 1 insertions(+), 1 deletions(-)
104115
104116 commit 00131c458eea5200971c8fc326e90fdb6c2d0baa
104117 Merge: 37b97a9 47beb61
104118 Author: Brad Spengler <spender@grsecurity.net>
104119 Date: Thu Jul 4 15:02:31 2013 -0400
104120
104121 Merge branch 'pax-test' into grsec-test
104122
104123 commit 47beb61be9d430ab3fdb79a3b1e2099b4cfcf798
104124 Author: Brad Spengler <spender@grsecurity.net>
104125 Date: Thu Jul 4 15:01:37 2013 -0400
104126
104127 Update to pax-linux-3.9.9-test13.patch:
104128 - hopefully fixed the EFI boot regression (https://bugs.gentoo.org/show_bug.cgi?id=471626)
104129 - fixed some arm compilation issues (http://forums.grsecurity.net/viewtopic.php?f=1&t=3586 and http://forums.grsecurity.net/viewtopic.php?f=1&t=3587)
104130
104131 arch/arm/include/asm/uaccess.h | 20 ++++++++++----------
104132 arch/arm/kernel/armksyms.c | 2 +-
104133 arch/arm/kernel/entry-armv.S | 4 ++--
104134 arch/arm/mm/Kconfig | 2 +-
104135 arch/x86/ia32/ia32entry.S | 4 ++--
104136 arch/x86/include/asm/page.h | 1 +
104137 arch/x86/kernel/entry_32.S | 4 ++--
104138 arch/x86/kernel/entry_64.S | 8 ++++----
104139 arch/x86/kernel/head64.c | 12 ++++++------
104140 arch/x86/kernel/head_64.S | 16 ++++++++++++----
104141 arch/x86/mm/init.c | 8 ++++++++
104142 arch/x86/mm/init_32.c | 6 ------
104143 arch/x86/mm/init_64.c | 6 ------
104144 arch/x86/platform/efi/efi_32.c | 5 +++++
104145 arch/x86/platform/efi/efi_64.c | 10 ++++++++++
104146 15 files changed, 64 insertions(+), 44 deletions(-)
104147
104148 commit 89085d2d0643813a62f23d1199a335dc1e129bc0
104149 Merge: 963af7f 0adf2e7
104150 Author: Brad Spengler <spender@grsecurity.net>
104151 Date: Thu Jul 4 14:55:44 2013 -0400
104152
104153 Merge branch 'linux-3.9.y' into pax-test
104154
104155 commit 37b97a95e97badc79cc8b6e092f0f94ac24e4ae4
104156 Author: Brad Spengler <spender@grsecurity.net>
104157 Date: Thu Jul 4 13:46:02 2013 -0400
104158
104159 fix typo
104160
104161 grsecurity/gracl.c | 2 +-
104162 1 files changed, 1 insertions(+), 1 deletions(-)
104163
104164 commit 32538dba4959a290a1de81a7f8eeaba99f952aa6
104165 Author: Brad Spengler <spender@grsecurity.net>
104166 Date: Thu Jul 4 13:29:51 2013 -0400
104167
104168 update log arguments
104169
104170 grsecurity/grsec_sig.c | 3 ++-
104171 1 files changed, 2 insertions(+), 1 deletions(-)
104172
104173 commit 5c7ee197d6ecb3ec9b3b9588d2b0cb8541d9fa71
104174 Author: Brad Spengler <spender@grsecurity.net>
104175 Date: Thu Jul 4 13:20:23 2013 -0400
104176
104177 Update logging of suid exec ban
104178
104179 Conflicts:
104180
104181 grsecurity/grsec_sig.c
104182
104183 grsecurity/grsec_sig.c | 3 +--
104184 include/linux/grmsg.h | 1 +
104185 2 files changed, 2 insertions(+), 2 deletions(-)
104186
104187 commit ef808866c070aa1901bd2224521baaf5d145a3a7
104188 Author: Brad Spengler <spender@grsecurity.net>
104189 Date: Thu Jul 4 12:58:33 2013 -0400
104190
104191 Additional improvements to the user banning code:
104192
104193 Separate the kernel-bruteforcing case from the suid bruteforcing case
104194 In the suid bruteforcing case, only kill existing copies of the bruteforced
104195 binary. Instead of preventing all future execs by this user, prevent them
104196 from executing any suid/sgid binaries for the next 15 minutes.
104197
104198 Kernel case is mostly unchanged from before, except the task trying to change
104199 real uid to the banned user will be terminated instead of failing the setuid
104200 call.
104201
104202 Configuration help has been updated to reflect the new changes.
104203
104204 fs/exec.c | 13 +++++---
104205 grsecurity/Kconfig | 5 ++-
104206 grsecurity/gracl.c | 6 ++--
104207 grsecurity/grsec_sig.c | 76 ++++++++++++++++++++++++++------------------
104208 include/linux/grsecurity.h | 1 -
104209 include/linux/sched.h | 9 +++--
104210 6 files changed, 65 insertions(+), 45 deletions(-)
104211
104212 commit 0f0b6c9d67d429364621b8784ef4a048b7e40736
104213 Author: Brad Spengler <spender@grsecurity.net>
104214 Date: Wed Jul 3 16:14:09 2013 -0400
104215
104216 fix renamed export of csum_partial_copy_from_user, as reported by fabled
104217 on the forums
104218
104219 arch/arm/kernel/armksyms.c | 2 +-
104220 1 files changed, 1 insertions(+), 1 deletions(-)
104221
104222 commit 318235973c2a548c3d25562645d6b69f66e85934
104223 Author: Brad Spengler <spender@grsecurity.net>
104224 Date: Wed Jul 3 16:09:16 2013 -0400
104225
104226 make CPU_USE_DOMAINS depend on !PAX_MEMORY_UDEREF, fixes compile error
104227 reported on the forums by fabled
104228
104229 arch/arm/mm/Kconfig | 2 +-
104230 1 files changed, 1 insertions(+), 1 deletions(-)
104231
104232 commit b569a7f60fab7a522d8c142765c8b847bbce8a1e
104233 Author: Brad Spengler <spender@grsecurity.net>
104234 Date: Wed Jul 3 15:53:12 2013 -0400
104235
104236 Revise the user ban code to kill the process issuing a banned
104237 set*id instead of returning an error. For the sake of keeping
104238 unified user banning between the suid and kernel bruteforce case,
104239 we will apply this killing to the suid bruteforce case, despite
104240 a check just at exec time (that already existed) being sufficient.
104241
104242 Returning an error could enable exploitation of the "failure to check
104243 setuid return value" case which was recently effectively closed
104244 upstream, albeit in a rare situation with a suitable binary and
104245 two colluding users.
104246
104247 Many thanks to stealth for reviewing the user ban code.
104248
104249 grsecurity/gracl.c | 4 ++--
104250 grsecurity/grsec_sig.c | 16 +++++++++++++---
104251 2 files changed, 15 insertions(+), 5 deletions(-)
104252
104253 commit 4a0808a0aa34bf3692f9ade0f11f6fbe30418c4f
104254 Author: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
104255 Date: Fri Jun 28 14:15:15 2013 +0300
104256
104257 Upstream commit: 605c912bb843c024b1ed173dc427cd5c08e5d54d
104258
104259 UBIFS: fix a horrid bug
104260
104261 Al Viro pointed me to the fact that '->readdir()' and '->llseek()' have no
104262 mutual exclusion, which means the 'ubifs_dir_llseek()' can be run while we are
104263 in the middle of 'ubifs_readdir()'.
104264
104265 This means that 'file->private_data' can be freed while 'ubifs_readdir()' uses
104266 it, and this is a very bad bug: not only 'ubifs_readdir()' can return garbage,
104267 but this may corrupt memory and lead to all kinds of problems like crashes an
104268 security holes.
104269
104270 This patch fixes the problem by using the 'file->f_version' field, which
104271 '->llseek()' always unconditionally sets to zero. We set it to 1 in
104272 'ubifs_readdir()' and whenever we detect that it became 0, we know there was a
104273 seek and it is time to clear the state saved in 'file->private_data'.
104274
104275 I tested this patch by writing a user-space program which runds readdir and
104276 seek in parallell. I could easily crash the kernel without these patches, but
104277 could not crash it with these patches.
104278
104279 Cc: stable@vger.kernel.org
104280 Reported-by: Al Viro <viro@zeniv.linux.org.uk>
104281 Tested-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
104282 Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
104283 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
104284
104285 fs/ubifs/dir.c | 30 +++++++++++++++++++++++++++---
104286 1 files changed, 27 insertions(+), 3 deletions(-)
104287
104288 commit c22280b85088978bd8b45bd23096879459b48008
104289 Author: Stephane Eranian <eranian@google.com>
104290 Date: Thu Jun 20 11:36:28 2013 +0200
104291
104292 Upstream commit: 2976b10f05bd7f6dab9f9e7524451ddfed656a89
104293
104294 perf: Disable monitoring on setuid processes for regular users
104295
104296 There was a a bug in setup_new_exec(), whereby
104297 the test to disabled perf monitoring was not
104298 correct because the new credentials for the
104299 process were not yet committed and therefore
104300 the get_dumpable() test was never firing.
104301
104302 The patch fixes the problem by moving the
104303 perf_event test until after the credentials
104304 are committed.
104305
104306 Signed-off-by: Stephane Eranian <eranian@google.com>
104307 Tested-by: Jiri Olsa <jolsa@redhat.com>
104308 Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
104309 Cc: <stable@kernel.org>
104310 Signed-off-by: Ingo Molnar <mingo@kernel.org>
104311
104312 fs/exec.c | 16 +++++++++-------
104313 1 files changed, 9 insertions(+), 7 deletions(-)
104314
104315 commit 16e6a61c34ae5ed0fbfa9151b24dc6a751cca7c0
104316 Author: Brad Spengler <spender@grsecurity.net>
104317 Date: Sat Jun 29 13:10:02 2013 -0400
104318
104319 on context switch, make sure we switch DACR when domain support and
104320 KERNEXEC is disabled but UDEREF is enabled
104321
104322 arch/arm/kernel/entry-armv.S | 4 ++--
104323 1 files changed, 2 insertions(+), 2 deletions(-)
104324
104325 commit 08d017fa51370921694ce087b28c96fec92993d4
104326 Author: Michael S. Tsirkin <mst@redhat.com>
104327 Date: Sun Jun 23 17:26:58 2013 +0300
104328
104329 Upstream commit: 4c7ab054ab4f5d63625508ed6f8a607184cae7c2
104330
104331 macvtap: fix recovery from gup errors
104332
104333 get user pages might fail partially in macvtap zero copy
104334 mode. To recover we need to put all pages that we got,
104335 but code used a wrong index resulting in double-free
104336 errors.
104337
104338 Reported-by: Brad Hubbard <bhubbard@redhat.com>
104339 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
104340 Acked-by: Jason Wang <jasowang@redhat.com>
104341 Signed-off-by: David S. Miller <davem@davemloft.net>
104342
104343 drivers/net/macvtap.c | 6 ++++--
104344 1 files changed, 4 insertions(+), 2 deletions(-)
104345
104346 commit 8118c60e6478b9d0687c2aa7779e45ac7859b1be
104347 Author: Michael S. Tsirkin <mst@redhat.com>
104348 Date: Sun Jun 23 17:19:03 2013 +0300
104349
104350 Upstream commit: 7e24bfbe43b545b1689a5f134ed83645b9e34b86
104351
104352 tun: fix recovery from gup errors
104353
104354 get user pages might fail partially in tun zero copy
104355 mode. To recover we need to put all pages that we got,
104356 but code used a wrong index resulting in double-free
104357 errors.
104358
104359 Reported-by: Brad Hubbard <bhubbard@redhat.com>
104360 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
104361 Acked-by: Jason Wang <jasowang@redhat.com>
104362 Acked-by: Neil Horman <nhorman@tuxdriver.com>
104363 Signed-off-by: David S. Miller <davem@davemloft.net>
104364
104365 drivers/net/tun.c | 6 ++++--
104366 1 files changed, 4 insertions(+), 2 deletions(-)
104367
104368 commit c71e53d3b87fba6f7ba29a440d4c835f03aadf28
104369 Author: Balazs Peter Odor <balazs@obiserver.hu>
104370 Date: Sat Jun 22 19:24:43 2013 +0200
104371
104372 Upstream commit: 5aed93875cd88502f04a0d4517b8a2d89a849773
104373
104374 netfilter: nf_nat_sip: fix mangling
104375
104376 In (b20ab9c netfilter: nf_ct_helper: better logging for dropped packets)
104377 there were some missing brackets around the logging information, thus
104378 always returning drop.
104379
104380 Closes https://bugzilla.kernel.org/show_bug.cgi?id=60061
104381
104382 Signed-off-by: Balazs Peter Odor <balazs@obiserver.hu>
104383 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
104384
104385 net/netfilter/nf_nat_sip.c | 3 ++-
104386 1 files changed, 2 insertions(+), 1 deletions(-)
104387
104388 commit 87c18924aecb841586b8972fabb20c5b75ca2fc9
104389 Author: Anderson Lizardo <anderson.lizardo@openbossa.org>
104390 Date: Sun Jun 2 16:30:40 2013 -0400
104391
104392 Upstream commit: 300b962e5244a1ea010df7e88595faa0085b461d
104393
104394 Bluetooth: Fix crash in l2cap_build_cmd() with small MTU
104395
104396 If a too small MTU value is set with ioctl(HCISETACLMTU) or by a bogus
104397 controller, memory corruption happens due to a memcpy() call with
104398 negative length.
104399
104400 Fix this crash on either incoming or outgoing connections with a MTU
104401 smaller than L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE:
104402
104403 [ 46.885433] BUG: unable to handle kernel paging request at f56ad000
104404 [ 46.888037] IP: [<c03d94cd>] memcpy+0x1d/0x40
104405 [ 46.888037] *pdpt = 0000000000ac3001 *pde = 00000000373f8067 *pte = 80000000356ad060
104406 [ 46.888037] Oops: 0002 [#1] SMP DEBUG_PAGEALLOC
104407 [ 46.888037] Modules linked in: hci_vhci bluetooth virtio_balloon i2c_piix4 uhci_hcd usbcore usb_common
104408 [ 46.888037] CPU: 0 PID: 1044 Comm: kworker/u3:0 Not tainted 3.10.0-rc1+ #12
104409 [ 46.888037] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
104410 [ 46.888037] Workqueue: hci0 hci_rx_work [bluetooth]
104411 [ 46.888037] task: f59b15b0 ti: f55c4000 task.ti: f55c4000
104412 [ 46.888037] EIP: 0060:[<c03d94cd>] EFLAGS: 00010212 CPU: 0
104413 [ 46.888037] EIP is at memcpy+0x1d/0x40
104414 [ 46.888037] EAX: f56ac1c0 EBX: fffffff8 ECX: 3ffffc6e EDX: f55c5cf2
104415 [ 46.888037] ESI: f55c6b32 EDI: f56ad000 EBP: f55c5c68 ESP: f55c5c5c
104416 [ 46.888037] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
104417 [ 46.888037] CR0: 8005003b CR2: f56ad000 CR3: 3557d000 CR4: 000006f0
104418 [ 46.888037] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
104419 [ 46.888037] DR6: ffff0ff0 DR7: 00000400
104420 [ 46.888037] Stack:
104421 [ 46.888037] fffffff8 00000010 00000003 f55c5cac f8c6a54c ffffffff f8c69eb2 00000000
104422 [ 46.888037] f4783cdc f57f0070 f759c590 1001c580 00000003 0200000a 00000000 f5a88560
104423 [ 46.888037] f5ba2600 f5a88560 00000041 00000000 f55c5d90 f8c6f4c7 00000008 f55c5cf2
104424 [ 46.888037] Call Trace:
104425 [ 46.888037] [<f8c6a54c>] l2cap_send_cmd+0x1cc/0x230 [bluetooth]
104426 [ 46.888037] [<f8c69eb2>] ? l2cap_global_chan_by_psm+0x152/0x1a0 [bluetooth]
104427 [ 46.888037] [<f8c6f4c7>] l2cap_connect+0x3f7/0x540 [bluetooth]
104428 [ 46.888037] [<c019b37b>] ? trace_hardirqs_off+0xb/0x10
104429 [ 46.888037] [<c01a0ff8>] ? mark_held_locks+0x68/0x110
104430 [ 46.888037] [<c064ad20>] ? mutex_lock_nested+0x280/0x360
104431 [ 46.888037] [<c064b9d9>] ? __mutex_unlock_slowpath+0xa9/0x150
104432 [ 46.888037] [<c01a118c>] ? trace_hardirqs_on_caller+0xec/0x1b0
104433 [ 46.888037] [<c064ad08>] ? mutex_lock_nested+0x268/0x360
104434 [ 46.888037] [<c01a125b>] ? trace_hardirqs_on+0xb/0x10
104435 [ 46.888037] [<f8c72f8d>] l2cap_recv_frame+0xb2d/0x1d30 [bluetooth]
104436 [ 46.888037] [<c01a0ff8>] ? mark_held_locks+0x68/0x110
104437 [ 46.888037] [<c064b9d9>] ? __mutex_unlock_slowpath+0xa9/0x150
104438 [ 46.888037] [<c01a118c>] ? trace_hardirqs_on_caller+0xec/0x1b0
104439 [ 46.888037] [<f8c754f1>] l2cap_recv_acldata+0x2a1/0x320 [bluetooth]
104440 [ 46.888037] [<f8c491d8>] hci_rx_work+0x518/0x810 [bluetooth]
104441 [ 46.888037] [<f8c48df2>] ? hci_rx_work+0x132/0x810 [bluetooth]
104442 [ 46.888037] [<c0158979>] process_one_work+0x1a9/0x600
104443 [ 46.888037] [<c01588fb>] ? process_one_work+0x12b/0x600
104444 [ 46.888037] [<c015922e>] ? worker_thread+0x19e/0x320
104445 [ 46.888037] [<c015922e>] ? worker_thread+0x19e/0x320
104446 [ 46.888037] [<c0159187>] worker_thread+0xf7/0x320
104447 [ 46.888037] [<c0159090>] ? rescuer_thread+0x290/0x290
104448 [ 46.888037] [<c01602f8>] kthread+0xa8/0xb0
104449 [ 46.888037] [<c0656777>] ret_from_kernel_thread+0x1b/0x28
104450 [ 46.888037] [<c0160250>] ? flush_kthread_worker+0x120/0x120
104451 [ 46.888037] Code: c3 90 8d 74 26 00 e8 63 fc ff ff eb e8 90 55 89 e5 83 ec 0c 89 5d f4 89 75 f8 89 7d fc 3e 8d 74 26 00 89 cb 89 c7 c1 e9 02 89 d6 <f3> a5 89 d9 83 e1 03 74 02 f3 a4 8b 5d f4 8b 75 f8 8b 7d fc 89
104452 [ 46.888037] EIP: [<c03d94cd>] memcpy+0x1d/0x40 SS:ESP 0068:f55c5c5c
104453 [ 46.888037] CR2: 00000000f56ad000
104454 [ 46.888037] ---[ end trace 0217c1f4d78714a9 ]---
104455
104456 Signed-off-by: Anderson Lizardo <anderson.lizardo@openbossa.org>
104457 Cc: stable@vger.kernel.org
104458 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
104459 Signed-off-by: John W. Linville <linville@tuxdriver.com>
104460
104461 net/bluetooth/l2cap_core.c | 3 +++
104462 1 files changed, 3 insertions(+), 0 deletions(-)
104463
104464 commit b0471b6c1160858fc646d8e94628fd1299f61692
104465 Author: Jaganath Kanakkassery <jaganath.k@samsung.com>
104466 Date: Fri Jun 21 19:55:11 2013 +0530
104467
104468 Upstream commit: 3f6fa3d489e127ca5a5b298eabac3ff5dbe0e112
104469
104470 Bluetooth: Fix invalid length check in l2cap_information_rsp()
104471
104472 The length check is invalid since the length varies with type of
104473 info response.
104474
104475 This was introduced by the commit cb3b3152b2f5939d67005cff841a1ca748b19888
104476
104477 Because of this, l2cap info rsp is not handled and command reject is sent.
104478
104479 > ACL data: handle 11 flags 0x02 dlen 16
104480 L2CAP(s): Info rsp: type 2 result 0
104481 Extended feature mask 0x00b8
104482 Enhanced Retransmission mode
104483 Streaming mode
104484 FCS Option
104485 Fixed Channels
104486 < ACL data: handle 11 flags 0x00 dlen 10
104487 L2CAP(s): Command rej: reason 0
104488 Command not understood
104489
104490 Cc: stable@vger.kernel.org
104491 Signed-off-by: Jaganath Kanakkassery <jaganath.k@samsung.com>
104492 Signed-off-by: Chan-Yeol Park <chanyeol.park@samsung.com>
104493 Acked-by: Johan Hedberg <johan.hedberg@intel.com>
104494 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
104495
104496 net/bluetooth/l2cap_core.c | 2 +-
104497 1 files changed, 1 insertions(+), 1 deletions(-)
104498
104499 commit 4184af98c360d825e638b268b1a9847232e8d299
104500 Author: Eric Dumazet <edumazet@google.com>
104501 Date: Wed Jun 26 04:15:07 2013 -0700
104502
104503 Upstream commit: a963a37d384d71ad43b3e9e79d68d42fbe0901f3
104504
104505 ipv6: ip6_sk_dst_check() must not assume ipv6 dst
104506
104507 It's possible to use AF_INET6 sockets and to connect to an IPv4
104508 destination. After this, socket dst cache is a pointer to a rtable,
104509 not rt6_info.
104510
104511 ip6_sk_dst_check() should check the socket dst cache is IPv6, or else
104512 various corruptions/crashes can happen.
104513
104514 Dave Jones can reproduce immediate crash with
104515 trinity -q -l off -n -c sendmsg -c connect
104516
104517 With help from Hannes Frederic Sowa
104518
104519 Reported-by: Dave Jones <davej@redhat.com>
104520 Reported-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
104521 Signed-off-by: Eric Dumazet <edumazet@google.com>
104522 Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
104523 Signed-off-by: David S. Miller <davem@davemloft.net>
104524
104525 net/ipv6/ip6_output.c | 8 +++++++-
104526 1 files changed, 7 insertions(+), 1 deletions(-)
104527
104528 commit a9909c4993e8547ebeeafc4a4f5ff8570a941eb2
104529 Author: Zefan Li <lizefan@huawei.com>
104530 Date: Wed Jun 26 15:29:54 2013 +0800
104531
104532 Upstream commit: 11eb2645cbf38a08ae491bf6c602eea900ec0bb5
104533
104534 dlci: acquire rtnl_lock before calling __dev_get_by_name()
104535
104536 Otherwise the net device returned can be freed at anytime.
104537
104538 Signed-off-by: Li Zefan <lizefan@huawei.com>
104539 Cc: stable@vger.kernel.org
104540 Signed-off-by: David S. Miller <davem@davemloft.net>
104541
104542 drivers/net/wan/dlci.c | 14 +++++++++-----
104543 1 files changed, 9 insertions(+), 5 deletions(-)
104544
104545 commit 1fe6f23c9acd14d832d056909ff326bde418e645
104546 Author: Zefan Li <lizefan@huawei.com>
104547 Date: Wed Jun 26 15:31:58 2013 +0800
104548
104549 Upstream commit: 578a1310f2592ba90c5674bca21c1dbd1adf3f0a
104550
104551 dlci: validate the net device in dlci_del()
104552
104553 We triggered an oops while running trinity with 3.4 kernel:
104554
104555 BUG: unable to handle kernel paging request at 0000000100000d07
104556 IP: [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
104557 PGD 640c0d067 PUD 0
104558 Oops: 0000 [#1] PREEMPT SMP
104559 CPU 3
104560 ...
104561 Pid: 7302, comm: trinity-child3 Not tainted 3.4.24.09+ 40 Huawei Technologies Co., Ltd. Tecal RH2285 /BC11BTSA
104562 RIP: 0010:[<ffffffffa0109738>] [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
104563 ...
104564 Call Trace:
104565 [<ffffffff8137c5c3>] sock_ioctl+0x153/0x280
104566 [<ffffffff81195494>] do_vfs_ioctl+0xa4/0x5e0
104567 [<ffffffff8118354a>] ? fget_light+0x3ea/0x490
104568 [<ffffffff81195a1f>] sys_ioctl+0x4f/0x80
104569 [<ffffffff81478b69>] system_call_fastpath+0x16/0x1b
104570 ...
104571
104572 It's because the net device is not a dlci device.
104573
104574 Reported-by: Li Jinyue <lijinyue@huawei.com>
104575 Signed-off-by: Li Zefan <lizefan@huawei.com>
104576 Cc: stable@vger.kernel.org
104577 Signed-off-by: David S. Miller <davem@davemloft.net>
104578
104579 drivers/net/wan/dlci.c | 12 ++++++++++++
104580 1 files changed, 12 insertions(+), 0 deletions(-)
104581
104582 commit 4d4464407611527ef6b6b5475cfcab6121b3da66
104583 Merge: 59571a9 963af7f
104584 Author: Brad Spengler <spender@grsecurity.net>
104585 Date: Thu Jun 27 18:54:52 2013 -0400
104586
104587 Merge branch 'pax-test' into grsec-test
104588
104589 commit 963af7f7f591759b731ce6325ceb583a72fcf423
104590 Merge: c51e25a 55db48a
104591 Author: Brad Spengler <spender@grsecurity.net>
104592 Date: Thu Jun 27 18:54:42 2013 -0400
104593
104594 Merge branch 'linux-3.9.y' into pax-test
104595
104596 commit 59571a9db7485f530a1e865a13cacc4c991ec41f
104597 Author: Brad Spengler <spender@grsecurity.net>
104598 Date: Wed Jun 26 18:39:08 2013 -0400
104599
104600 From: Mathias Krause <minipli@googlemail.com>
104601 To: Steffen Klassert <steffen.klassert@secunet.com>,
104602 "David S. Miller" <davem@davemloft.net>
104603 Cc: Mathias Krause <minipli@googlemail.com>, netdev@vger.kernel.org,
104604 Herbert Xu <herbert@gondor.apana.org.au>
104605 Subject: [PATCH] af_key: fix info leaks in notify messages
104606
104607 key_notify_sa_flush() and key_notify_policy_flush() miss to initialize
104608 the sadb_msg_reserved member of the broadcasted message and thereby
104609 leak 2 bytes of heap memory to listeners. Fix that.
104610
104611 Signed-off-by: Mathias Krause <minipli@googlemail.com>
104612 Cc: Steffen Klassert <steffen.klassert@secunet.com>
104613 Cc: "David S. Miller" <davem@davemloft.net>
104614 Cc: Herbert Xu <herbert@gondor.apana.org.au>
104615
104616 net/key/af_key.c | 2 ++
104617 1 files changed, 2 insertions(+), 0 deletions(-)
104618
104619 commit e1dd9fb168b3597f15fd5bd4bc88a7dd4cce5fd9
104620 Author: Brad Spengler <spender@grsecurity.net>
104621 Date: Wed Jun 26 18:33:06 2013 -0400
104622
104623 update rand_threadstack code to continue the search for a gap if the first
104624 choice doesn't have enough space, instead of returning ENOMEM
104625
104626 mm/mmap.c | 17 ++++++++++-------
104627 1 files changed, 10 insertions(+), 7 deletions(-)
104628
104629 commit 87020d4a4d83038d65ff1fd519938840f6888b9e
104630 Merge: 2682346 c51e25a
104631 Author: Brad Spengler <spender@grsecurity.net>
104632 Date: Wed Jun 26 18:25:32 2013 -0400
104633
104634 Merge branch 'pax-test' into grsec-test
104635
104636 commit c51e25a23f30a1198076bd085f19b2073caf164d
104637 Author: Brad Spengler <spender@grsecurity.net>
104638 Date: Wed Jun 26 18:24:54 2013 -0400
104639
104640 Update to pax-linux-3.9.7-test12.patch:
104641 - fixed a regression on PARAVIRT/amd64 kernels
104642 - simplified the recent vm_unmapped_area_info based change
104643
104644 arch/x86/kernel/entry_64.S | 8 ++++----
104645 mm/mmap.c | 22 ++++++++++++----------
104646 2 files changed, 16 insertions(+), 14 deletions(-)
104647
104648 commit 26823469a08e59cb67bea18d448d9e8c65f82e08
104649 Author: Brad Spengler <spender@grsecurity.net>
104650 Date: Tue Jun 25 21:26:51 2013 -0400
104651
104652 re-enable GRKERNSEC_RAND_THREADSTACK now that the generic PaX
104653 vm_unmapped_area code is complete
104654
104655 arch/x86/kernel/sys_i386_32.c | 5 +++++
104656 grsecurity/Kconfig | 2 +-
104657 mm/mmap.c | 11 ++++++++++-
104658 3 files changed, 16 insertions(+), 2 deletions(-)
104659
104660 commit bcd93cc348a8faba1716f5cc137a48f25d6a67e7
104661 Merge: e58fe8c c4e0704
104662 Author: Brad Spengler <spender@grsecurity.net>
104663 Date: Tue Jun 25 19:08:52 2013 -0400
104664
104665 Merge branch 'pax-test' into grsec-test
104666
104667 Conflicts:
104668 arch/x86/kernel/sys_i386_32.c
104669
104670 commit c4e07040c2c32c9eb2b093e5ae6e5bb050cb7511
104671 Author: Brad Spengler <spender@grsecurity.net>
104672 Date: Tue Jun 25 19:05:39 2013 -0400
104673
104674 Update to pax-linux-3.9.7-test11.patch:
104675 - fixed some fallout from the recent executable vmalloc changes (http://forums.grsecurity.net/viewtopic.php?t=3562#p13111)
104676 - moved the PaX specific heap-stack gap check code over to the vm_unmapped_area_info based infrastructure
104677 - fixed the recent nested nmi related fixes some more
104678 - fixed a regression in kernel memory initialization on relocatable i386 kernels
104679 - empty_zero_page can be read-only on amd64 as well
104680
104681 arch/arm/mm/mmap.c | 6 --
104682 arch/x86/kernel/entry_64.S | 8 +--
104683 arch/x86/kernel/head_64.S | 1 -
104684 arch/x86/kernel/setup.c | 2 +-
104685 arch/x86/kernel/sys_i386_32.c | 160 ++++++++++++----------------------------
104686 drivers/lguest/core.c | 2 +-
104687 include/linux/mm.h | 6 +-
104688 include/linux/vmalloc.h | 2 +-
104689 mm/mmap.c | 30 +++++++-
104690 9 files changed, 83 insertions(+), 134 deletions(-)
104691
104692 commit e58fe8c43f6ee7047ac830ebfa9a70626b7ed11d
104693 Author: Brad Spengler <spender@grsecurity.net>
104694 Date: Sun Jun 23 14:37:14 2013 -0400
104695
104696 second compile fix, reported by forsaken on forums
104697
104698 include/linux/vmalloc.h | 2 +-
104699 1 files changed, 1 insertions(+), 1 deletions(-)
104700
104701 commit 0ee10d89b09b56b46bc242ce760a1d9598276e2f
104702 Author: Brad Spengler <spender@grsecurity.net>
104703 Date: Sun Jun 23 14:36:35 2013 -0400
104704
104705 compile fix, reported by KDE on forums
104706
104707 kernel/printk.c | 7 -------
104708 1 files changed, 0 insertions(+), 7 deletions(-)
104709
104710 commit 1fc9a5e2e267205d28302e1e86ca0da434561111
104711 Author: Ben Hutchings <ben@decadent.org.uk>
104712 Date: Sun Jun 16 21:27:12 2013 +0100
104713
104714 Upstream commit: b8cb62f82103083a6e8fa5470bfe634a2c06514d
104715
104716 x86/efi: Fix dummy variable buffer allocation
104717
104718 1. Check for allocation failure
104719 2. Clear the buffer contents, as they may actually be written to flash
104720 3. Don't leak the buffer
104721
104722 Compile-tested only.
104723
104724 [ Tested successfully on my buggy ASUS machine - Matt ]
104725
104726 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
104727 Cc: stable@vger.kernel.org
104728 Signed-off-by: Matt Fleming <matt.fleming@intel.com>
104729
104730 arch/x86/platform/efi/efi.c | 7 ++++++-
104731 1 files changed, 6 insertions(+), 1 deletions(-)
104732
104733 commit 83e15c8baaa620d8c777e84aa037b4302f0487c5
104734 Author: Dave Kleikamp <dave.kleikamp@oracle.com>
104735 Date: Tue Jun 18 09:05:36 2013 -0500
104736
104737 Upstream commit: 23a01138efe216f8084cfaa74b0b90dd4b097441
104738
104739 sparc: tsb must be flushed before tlb
104740
104741 This fixes a race where a cpu may re-load a tlb from a stale tsb right
104742 after it has been flushed by a remote function call.
104743
104744 I still see some instability when stressing the system with parallel
104745 kernel builds while creating memory pressure by writing to
104746 /proc/sys/vm/nr_hugepages, but this patch improves the stability
104747 significantly.
104748
104749 Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
104750 Acked-by: Bob Picco <bob.picco@oracle.com>
104751 Signed-off-by: David S. Miller <davem@davemloft.net>
104752
104753 arch/sparc/mm/tlb.c | 2 +-
104754 1 files changed, 1 insertions(+), 1 deletions(-)
104755
104756 commit d93b62f6485db9aadda34322a6867868db07f56f
104757 Merge: 4ef62f5 71d83e9
104758 Author: Brad Spengler <spender@grsecurity.net>
104759 Date: Fri Jun 21 16:52:55 2013 -0400
104760
104761 Merge branch 'pax-test' into grsec-test
104762
104763 Conflicts:
104764 security/Kconfig
104765
104766 commit 71d83e97c936563913bcfb5a25c45b2021a331eb
104767 Author: Brad Spengler <spender@grsecurity.net>
104768 Date: Fri Jun 21 16:48:42 2013 -0400
104769
104770 Update to pax-linux-3.9.7-test10.patch:
104771 - fixed a few format string problems uncovered by -Wformat-nonliteral
104772 - another attempt at fixing the nested nmi/cr0.wp problem
104773 - fixed vmalloc when used for allocating executable memory on non-modular kernels, reported by Lorand Kelemen (https://bugs.gentoo.org/show_bug.cgi?id=473866)
104774 - worked around an intentional gcc overflow in nfscache that tripped up the size overflow plugin (https://bugs.gentoo.org/show_bug.cgi?id=472274)
104775 - fixed a locking issue with track_exec_limit reported by spender
104776 - hunger reported a size overflow event in kobj_map that turned out to be a real bug, fix by Tejun Heo (https://patchwork.kernel.org/patch/2676631/)
104777
104778 Documentation/dontdiff | 1 +
104779 arch/x86/boot/compressed/efi_stub_32.S | 16 ++-----
104780 arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
104781 arch/x86/kernel/e820.c | 4 +-
104782 arch/x86/kernel/entry_64.S | 74 ++++++++++++++++++------------
104783 arch/x86/kernel/vmlinux.lds.S | 2 +-
104784 block/genhd.c | 11 +++--
104785 crypto/algapi.c | 2 +-
104786 crypto/pcrypt.c | 6 +-
104787 drivers/base/attribute_container.c | 2 +-
104788 drivers/base/power/sysfs.c | 2 +-
104789 drivers/block/nbd.c | 2 +-
104790 drivers/cdrom/cdrom.c | 2 +-
104791 drivers/char/hw_random/intel-rng.c | 2 +-
104792 drivers/char/mem.c | 2 +-
104793 drivers/devfreq/devfreq.c | 2 +-
104794 drivers/gpu/drm/drm_encoder_slave.c | 6 +--
104795 drivers/gpu/drm/drm_sysfs.c | 2 +-
104796 drivers/gpu/drm/ttm/ttm_memory.c | 4 +-
104797 drivers/iommu/irq_remapping.c | 2 +-
104798 drivers/video/output.c | 2 +-
104799 fs/ext4/mmp.c | 2 +-
104800 fs/ext4/super.c | 2 +-
104801 fs/lockd/svc.c | 2 +-
104802 fs/nfs/callback.c | 4 +-
104803 fs/nfs/nfs4state.c | 2 +-
104804 fs/nfsd/nfscache.c | 3 +-
104805 init/initramfs.c | 2 +-
104806 kernel/rcutree.c | 2 +-
104807 lib/kobject.c | 2 +-
104808 mm/backing-dev.c | 4 +-
104809 mm/mmap.c | 4 +-
104810 mm/slub.c | 2 +-
104811 mm/vmalloc.c | 15 +++----
104812 net/bluetooth/hci_core.c | 8 ++--
104813 net/netfilter/nf_conntrack_proto_dccp.c | 4 +-
104814 net/sunrpc/svc.c | 2 +-
104815 security/Kconfig | 15 +++---
104816 sound/core/sound.c | 2 +-
104817 sound/sound_core.c | 2 +-
104818 40 files changed, 116 insertions(+), 111 deletions(-)
104819
104820 commit 4ef62f52ab23ed87aaf0106be3eddf2019bc7d2c
104821 Merge: 39efd8f 256eff7
104822 Author: Brad Spengler <spender@grsecurity.net>
104823 Date: Fri Jun 21 16:45:15 2013 -0400
104824
104825 Merge branch 'pax-test' into grsec-test
104826
104827 Conflicts:
104828 kernel/printk.c
104829
104830 commit 256eff7a817d5faa18cd56fb97cc8c25112ec0a6
104831 Merge: e6e3059 485f25f
104832 Author: Brad Spengler <spender@grsecurity.net>
104833 Date: Thu Jun 20 22:14:24 2013 -0400
104834
104835 Merge branch 'linux-3.9.y' into pax-test
104836
104837 commit 39efd8f4b9573d1ce31f47cdbea00b6c12054d4d
104838 Author: Brad Spengler <spender@grsecurity.net>
104839 Date: Tue Jun 18 17:20:18 2013 -0400
104840
104841 add apparmor compat patch
104842
104843 security/apparmor/Kconfig | 9 ++
104844 security/apparmor/apparmorfs.c | 231 ++++++++++++++++++++++++++++++++++++++++
104845 2 files changed, 240 insertions(+), 0 deletions(-)
104846
104847 commit 49bee3c5341687504669bf62becf4a419a226ba0
104848 Author: Brad Spengler <spender@grsecurity.net>
104849 Date: Mon Jun 17 18:48:04 2013 -0400
104850
104851 Revert "Upstream commit: cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db"
104852
104853 This reverts commit 066d9226bc6c569d5f420c978b758e0bddd23444.
104854
104855 kernel/sys.c | 29 +++--------------------------
104856 1 files changed, 3 insertions(+), 26 deletions(-)
104857
104858 commit bece88b4276babb2039a3e4f3e3b0cdeb8cd8328
104859 Author: Al Viro <viro@ZenIV.linux.org.uk>
104860 Date: Sun Jun 16 18:06:06 2013 +0100
104861
104862 Upstream commit: 8177a9d79c0e942dcac3312f15585d0344d505a5
104863
104864 lseek(fd, n, SEEK_END) does *not* go to eof - n
104865
104866 When you copy some code, you are supposed to read it. If nothing else,
104867 there's a chance to spot and fix an obvious bug instead of sharing it...
104868
104869 X-Song: "I Got It From Agnes", by Tom Lehrer
104870 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
104871 [ Tom Lehrer? You're dating yourself, Al ]
104872 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
104873
104874 drivers/net/ethernet/brocade/bna/bnad_debugfs.c | 2 +-
104875 drivers/scsi/bfa/bfad_debugfs.c | 2 +-
104876 drivers/scsi/fnic/fnic_debugfs.c | 2 +-
104877 drivers/scsi/lpfc/lpfc_debugfs.c | 2 +-
104878 4 files changed, 4 insertions(+), 4 deletions(-)
104879
104880 commit 5a450f1c46f0c84379518aee878993d3f4a331b6
104881 Author: Theodore Ts'o <tytso@mit.edu>
104882 Date: Thu Jun 6 11:14:31 2013 -0400
104883
104884 Upstream commit: 40c87e7a5404861cef33f6ced9809525a5ee2c50
104885
104886 ext4: verify group number in verify_group_input() before using it
104887
104888 Check the group number for sanity earilier, before calling routines
104889 such as ext4_bg_has_super() or ext4_group_overhead_blocks().
104890
104891 Reported-by: Jonathan Salwan <jonathan.salwan@gmail.com>
104892 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
104893
104894 fs/ext4/resize.c | 17 +++++++++++------
104895 1 files changed, 11 insertions(+), 6 deletions(-)
104896
104897 commit e2700ce1305cc746d2d9000392f00d96fdf28fb8
104898 Author: Neil Horman <nhorman@tuxdriver.com>
104899 Date: Wed Jun 12 14:26:44 2013 -0400
104900
104901 Upstream commit: c5c7774d7eb4397891edca9ebdf750ba90977a69
104902
104903 sctp: fully initialize sctp_outq in sctp_outq_init
104904
104905 In commit 2f94aabd9f6c925d77aecb3ff020f1cc12ed8f86
104906 (refactor sctp_outq_teardown to insure proper re-initalization)
104907 we modified sctp_outq_teardown to use sctp_outq_init to fully re-initalize the
104908 outq structure. Steve West recently asked me why I removed the q->error = 0
104909 initalization from sctp_outq_teardown. I did so because I was operating under
104910 the impression that sctp_outq_init would properly initalize that value for us,
104911 but it doesn't. sctp_outq_init operates under the assumption that the outq
104912 struct is all 0's (as it is when called from sctp_association_init), but using
104913 it in __sctp_outq_teardown violates that assumption. We should do a memset in
104914 sctp_outq_init to ensure that the entire structure is in a known state there
104915 instead.
104916
104917 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
104918 Reported-by: "West, Steve (NSN - US/Fort Worth)" <steve.west@nsn.com>
104919 CC: Vlad Yasevich <vyasevich@gmail.com>
104920 CC: netdev@vger.kernel.org
104921 CC: davem@davemloft.net
104922 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
104923 Signed-off-by: David S. Miller <davem@davemloft.net>
104924
104925 Conflicts:
104926
104927 net/sctp/outqueue.c
104928
104929 net/sctp/outqueue.c | 8 ++------
104930 1 files changed, 2 insertions(+), 6 deletions(-)
104931
104932 commit e13515ad7a9c7634599a105b2527752e527a905d
104933 Author: Saurabh Mohan <saurabh@vyatta.com>
104934 Date: Mon Jun 10 17:45:10 2013 -0700
104935
104936 Upstream commit: baafc77b32f647daa7c45825f7af8cdd55d00817
104937
104938 net/ipv4: ip_vti clear skb cb before tunneling.
104939
104940 If users apply shaper to vti tunnel then it will cause a kernel crash. The
104941 problem seems to be due to the vti_tunnel_xmit function not clearing
104942 skb->opt field before passing the packet to xfrm tunneling code.
104943
104944 Signed-off-by: Saurabh Mohan <saurabh@vyatta.com>
104945 Acked-by: Stephen Hemminger <stephen@networkplumber.org>
104946 Signed-off-by: David S. Miller <davem@davemloft.net>
104947
104948 net/ipv4/ip_vti.c | 3 +--
104949 1 files changed, 1 insertions(+), 2 deletions(-)
104950
104951 commit e63056a252ed6fc0f16ab158d7c34cb57bd762e4
104952 Author: Guillaume Nault <g.nault@alphalink.fr>
104953 Date: Wed Jun 12 16:07:36 2013 +0200
104954
104955 Upstream commit: a6f79d0f26704214b5b702bbac525cb72997f984
104956
104957 l2tp: Fix sendmsg() return value
104958
104959 PPPoL2TP sockets should comply with the standard send*() return values
104960 (i.e. return number of bytes sent instead of 0 upon success).
104961
104962 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
104963 Signed-off-by: David S. Miller <davem@davemloft.net>
104964
104965 net/l2tp/l2tp_ppp.c | 2 +-
104966 1 files changed, 1 insertions(+), 1 deletions(-)
104967
104968 commit af361b412e816e894fb42ddff7a0545b7def64c0
104969 Author: Guillaume Nault <g.nault@alphalink.fr>
104970 Date: Wed Jun 12 16:07:23 2013 +0200
104971
104972 Upstream commit: 55b92b7a11690bc377b5d373872a6b650ae88e64
104973
104974 l2tp: Fix PPP header erasure and memory leak
104975
104976 Copy user data after PPP framing header. This prevents erasure of the
104977 added PPP header and avoids leaking two bytes of uninitialised memory
104978 at the end of skb's data buffer.
104979
104980 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
104981 Signed-off-by: David S. Miller <davem@davemloft.net>
104982
104983 net/l2tp/l2tp_ppp.c | 4 ++--
104984 1 files changed, 2 insertions(+), 2 deletions(-)
104985
104986 commit 1f43aca088c35dda35abf76e08544e534c71fed4
104987 Author: Daniel Borkmann <dborkman@redhat.com>
104988 Date: Wed Jun 12 16:02:27 2013 +0200
104989
104990 Upstream commit: 2dc85bf323515e59e15dfa858d1472bb25cad0fe
104991
104992 packet: packet_getname_spkt: make sure string is always 0-terminated
104993
104994 uaddr->sa_data is exactly of size 14, which is hard-coded here and
104995 passed as a size argument to strncpy(). A device name can be of size
104996 IFNAMSIZ (== 16), meaning we might leave the destination string
104997 unterminated. Thus, use strlcpy() and also sizeof() while we're
104998 at it. We need to memset the data area beforehand, since strlcpy
104999 does not padd the remaining buffer with zeroes for user space, so
105000 that we do not possibly leak anything.
105001
105002 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
105003 Signed-off-by: David S. Miller <davem@davemloft.net>
105004
105005 net/packet/af_packet.c | 5 ++---
105006 1 files changed, 2 insertions(+), 3 deletions(-)
105007
105008 commit d0ae62fae5528bf2a393377f50b8dd9888d1e49f
105009 Author: Andy Lutomirski <luto@amacapital.net>
105010 Date: Wed Jun 5 19:38:26 2013 +0000
105011
105012 Upstream commit: a7526eb5d06b0084ef12d7b168d008fcf516caab
105013
105014 net: Unbreak compat_sys_{send,recv}msg
105015
105016 I broke them in this commit:
105017
105018 commit 1be374a0518a288147c6a7398792583200a67261
105019 Author: Andy Lutomirski <luto@amacapital.net>
105020 Date: Wed May 22 14:07:44 2013 -0700
105021
105022 net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
105023
105024 This patch adds __sys_sendmsg and __sys_sendmsg as common helpers that accept
105025 MSG_CMSG_COMPAT and blocks MSG_CMSG_COMPAT at the syscall entrypoints. It
105026 also reverts some unnecessary checks in sys_socketcall.
105027
105028 Apparently I was suffering from underscore blindness the first time around.
105029
105030 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
105031 Tested-by: Eric Dumazet <edumazet@google.com>
105032 Signed-off-by: David S. Miller <davem@davemloft.net>
105033
105034 include/linux/socket.h | 3 ++
105035 net/compat.c | 13 +++++++-
105036 net/socket.c | 72 ++++++++++++++++++++++--------------------------
105037 3 files changed, 47 insertions(+), 41 deletions(-)
105038
105039 commit b481a366021e5db07a9ea138bc0c1fe598a5ba2f
105040 Author: Andy Lutomirski <luto@amacapital.net>
105041 Date: Wed May 22 14:07:44 2013 -0700
105042
105043 Upstream commit: 1be374a0518a288147c6a7398792583200a67261
105044
105045 net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
105046
105047 To: linux-kernel@vger.kernel.org
105048 Cc: x86@kernel.org, trinity@vger.kernel.org, Andy Lutomirski <luto@amacapital.net>, netdev@vger.kernel.org, "David S.
105049 Miller" <davem@davemloft.net>
105050 Subject: [PATCH 5/5] net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
105051
105052 MSG_CMSG_COMPAT is (AFAIK) not intended to be part of the API --
105053 it's a hack that steals a bit to indicate to other networking code
105054 that a compat entry was used. So don't allow it from a non-compat
105055 syscall.
105056
105057 This prevents an oops when running this code:
105058
105059 int main()
105060 {
105061 int s;
105062 struct sockaddr_in addr;
105063 struct msghdr *hdr;
105064
105065 char *highpage = mmap((void*)(TASK_SIZE_MAX - 4096), 4096,
105066 PROT_READ | PROT_WRITE,
105067 MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
105068 if (highpage == MAP_FAILED)
105069 err(1, "mmap");
105070
105071 s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
105072 if (s == -1)
105073 err(1, "socket");
105074
105075 addr.sin_family = AF_INET;
105076 addr.sin_port = htons(1);
105077 addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
105078 if (connect(s, (struct sockaddr*)&addr, sizeof(addr)) != 0)
105079 err(1, "connect");
105080
105081 void *evil = highpage + 4096 - COMPAT_MSGHDR_SIZE;
105082 printf("Evil address is %p\n", evil);
105083
105084 if (syscall(__NR_sendmmsg, s, evil, 1, MSG_CMSG_COMPAT) < 0)
105085 err(1, "sendmmsg");
105086
105087 return 0;
105088 }
105089
105090 Cc: David S. Miller <davem@davemloft.net>
105091 Signed-off-by: Andy Lutomirski <luto@amacapital.net>
105092 Signed-off-by: David S. Miller <davem@davemloft.net>
105093
105094 net/socket.c | 33 +++++++++++++++++++++++++++++++--
105095 1 files changed, 31 insertions(+), 2 deletions(-)
105096
105097 commit 6ccb09f408cc4ff23adbf68c7d2307f5fffcf88e
105098 Author: Kees Cook <keescook@chromium.org>
105099 Date: Fri May 10 14:48:21 2013 -0700
105100
105101 Upstream commit: e0e29b683d6784ef59bbc914eac85a04b650e63c
105102
105103 b43: stop format string leaking into error msgs
105104
105105 The module parameter "fwpostfix" is userspace controllable, unfiltered,
105106 and is used to define the firmware filename. b43_do_request_fw() populates
105107 ctx->errors[] on error, containing the firmware filename. b43err()
105108 parses its arguments as a format string. For systems with b43 hardware,
105109 this could lead to a uid-0 to ring-0 escalation.
105110
105111 CVE-2013-2852
105112
105113 Signed-off-by: Kees Cook <keescook@chromium.org>
105114 Cc: stable@vger.kernel.org
105115 Signed-off-by: John W. Linville <linville@tuxdriver.com>
105116
105117 drivers/net/wireless/b43/main.c | 2 +-
105118 1 files changed, 1 insertions(+), 1 deletions(-)
105119
105120 commit dfb67a67049ace7b94ad7e2febfac69816d50d85
105121 Author: Mark A. Greer <mgreer@animalcreek.com>
105122 Date: Wed May 29 12:25:34 2013 -0700
105123
105124 Upstream commit: f873ded213d6d8c36354c0fc903af44da4fd6ac5
105125
105126 mwifiex: debugfs: Fix out of bounds array access
105127
105128 When reading the contents of '/sys/kernel/debug/mwifiex/p2p0/info',
105129 the following panic occurs:
105130
105131 $ cat /sys/kernel/debug/mwifiex/p2p0/info
105132 Unable to handle kernel paging request at virtual address 74706164
105133 pgd = de530000
105134 [74706164] *pgd=00000000
105135 Internal error: Oops: 5 [#1] SMP ARM
105136 Modules linked in: phy_twl4030_usb omap2430 musb_hdrc mwifiex_sdio mwifiex
105137 CPU: 0 PID: 1635 Comm: cat Not tainted 3.10.0-rc1-00010-g1268390 #1
105138 task: de16b6c0 ti: de048000 task.ti: de048000
105139 PC is at strnlen+0xc/0x4c
105140 LR is at string+0x3c/0xf8
105141 pc : [<c02c123c>] lr : [<c02c2d1c>] psr: a0000013
105142 sp : de049e10 ip : c06efba0 fp : de6d2092
105143 r10: bf01a260 r9 : ffffffff r8 : 74706164
105144 r7 : 0000ffff r6 : ffffffff r5 : de6d209c r4 : 00000000
105145 r3 : ff0a0004 r2 : 74706164 r1 : ffffffff r0 : 74706164
105146 Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
105147 Control: 10c5387d Table: 9e530019 DAC: 00000015
105148 Process cat (pid: 1635, stack limit = 0xde048240)
105149 Stack: (0xde049e10 to 0xde04a000)
105150 9e00: de6d2092 00000002 bf01a25e de6d209c
105151 9e20: de049e80 c02c438c 0000000a ff0a0004 ffffffff 00000000 00000000 de049e48
105152 9e40: 00000000 2192df6d ff0a0004 ffffffff 00000000 de6d2092 de049ef8 bef3cc00
105153 9e60: de6b0000 dc358000 de6d2000 00000000 00000003 c02c45a4 bf01790c bf01a254
105154 9e80: 74706164 bf018698 00000000 de59c3c0 de048000 de049f80 00001000 bef3cc00
105155 9ea0: 00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
105156 9ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
105157 9ee0: 00000000 00000000 00000000 00000001 00000000 00000000 6669776d 20786569
105158 9f00: 20302e31 2e343128 392e3636 3231702e 00202933 00000000 00000003 c0294898
105159 9f20: 00000000 00000000 00000000 00000000 de59c3c0 c0107c04 de554000 de59c3c0
105160 9f40: 00001000 bef3cc00 de049f80 bef3cc00 de049f80 00000000 00000003 c0108a00
105161 9f60: de048000 de59c3c0 00000000 00000000 de59c3c0 00001000 bef3cc00 c0108b60
105162 9f80: 00000000 00000000 00001000 bef3cc00 00000003 00000003 c0014128 de048000
105163 9fa0: 00000000 c0013f80 00001000 bef3cc00 00000003 bef3cc00 00001000 00000000
105164 9fc0: 00001000 bef3cc00 00000003 00000003 00000001 00000001 00000001 00000003
105165 9fe0: 00000000 bef3cbdc 00011984 b6f1127c 60000010 00000003 18dbdd2c 7f7bfffd
105166 [<c02c123c>] (strnlen+0xc/0x4c) from [<c02c2d1c>] (string+0x3c/0xf8)
105167 [<c02c2d1c>] (string+0x3c/0xf8) from [<c02c438c>] (vsnprintf+0x1e8/0x3e8)
105168 [<c02c438c>] (vsnprintf+0x1e8/0x3e8) from [<c02c45a4>] (sprintf+0x18/0x24)
105169 [<c02c45a4>] (sprintf+0x18/0x24) from [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex])
105170 [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex]) from [<c0108a00>] (vfs_read+0xb0/0x144)
105171 [<c0108a00>] (vfs_read+0xb0/0x144) from [<c0108b60>] (SyS_read+0x44/0x70)
105172 [<c0108b60>] (SyS_read+0x44/0x70) from [<c0013f80>] (ret_fast_syscall+0x0/0x30)
105173 Code: e12fff1e e3510000 e1a02000 0a00000d (e5d03000)
105174 ---[ end trace ca98273dc605a04f ]---
105175
105176 The panic is caused by the mwifiex_info_read() routine assuming that
105177 there can only be four modes (0-3) which is an invalid assumption.
105178 For example, when testing P2P, the mode is '8' (P2P_CLIENT) so the
105179 code accesses data beyond the bounds of the bss_modes[] array which
105180 causes the panic. Fix this by updating bss_modes[] to support the
105181 current list of modes and adding a check to prevent the out-of-bounds
105182 access from occuring in the future when more modes are added.
105183
105184 Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
105185 Acked-by: Bing Zhao <bzhao@marvell.com>
105186 Signed-off-by: John W. Linville <linville@tuxdriver.com>
105187
105188 drivers/net/wireless/mwifiex/debugfs.c | 22 +++++++++++++++++-----
105189 1 files changed, 17 insertions(+), 5 deletions(-)
105190
105191 commit 04152dec6e99ca4c0fc52219f7cf2152dafe6b52
105192 Author: Johan Hedberg <johan.hedberg@intel.com>
105193 Date: Tue May 28 13:46:30 2013 +0300
105194
105195 Upstream commit: cb3b3152b2f5939d67005cff841a1ca748b19888
105196
105197 Bluetooth: Fix missing length checks for L2CAP signalling PDUs
105198
105199 There has been code in place to check that the L2CAP length header
105200 matches the amount of data received, but many PDU handlers have not been
105201 checking that the data received actually matches that expected by the
105202 specific PDU. This patch adds passing the length header to the specific
105203 handler functions and ensures that those functions fail cleanly in the
105204 case of an incorrect amount of data.
105205
105206 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
105207 Cc: stable@vger.kernel.org
105208 Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
105209 Signed-off-by: John W. Linville <linville@tuxdriver.com>
105210
105211 net/bluetooth/l2cap_core.c | 70 ++++++++++++++++++++++++++++++++-----------
105212 1 files changed, 52 insertions(+), 18 deletions(-)
105213
105214 commit 628be2427afb241b5a1aa24bc5907d05287e1f25
105215 Author: Dan Carpenter <dan.carpenter@oracle.com>
105216 Date: Mon Jun 3 12:00:49 2013 +0300
105217
105218 Upstream commit: a8241c63517ec0b900695daa9003cddc41c536a1
105219
105220 ipvs: info leak in __ip_vs_get_dest_entries()
105221
105222 The entry struct has a 2 byte hole after ->port and another 4 byte
105223 hole after ->stats.outpkts. You must have CAP_NET_ADMIN in your
105224 namespace to hit this information leak.
105225
105226 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
105227 Acked-by: Julian Anastasov <ja@ssi.bg>
105228 Signed-off-by: Simon Horman <horms@verge.net.au>
105229 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
105230
105231 net/netfilter/ipvs/ip_vs_ctl.c | 1 +
105232 1 files changed, 1 insertions(+), 0 deletions(-)
105233
105234 commit 066d9226bc6c569d5f420c978b758e0bddd23444
105235 Author: Robin Holt <holt@sgi.com>
105236 Date: Wed Jun 12 14:04:37 2013 -0700
105237
105238 Upstream commit: cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db
105239
105240 reboot: rigrate shutdown/reboot to boot cpu
105241
105242 We recently noticed that reboot of a 1024 cpu machine takes approx 16
105243 minutes of just stopping the cpus. The slowdown was tracked to commit
105244 f96972f2dc63 ("kernel/sys.c: call disable_nonboot_cpus() in
105245 kernel_restart()").
105246
105247 The current implementation does all the work of hot removing the cpus
105248 before halting the system. We are switching to just migrating to the
105249 boot cpu and then continuing with shutdown/reboot.
105250
105251 This also has the effect of not breaking x86's command line parameter
105252 for specifying the reboot cpu. Note, this code was shamelessly copied
105253 from arch/x86/kernel/reboot.c with bits removed pertaining to the
105254 reboot_cpu command line parameter.
105255
105256 Signed-off-by: Robin Holt <holt@sgi.com>
105257 Tested-by: Shawn Guo <shawn.guo@linaro.org>
105258 Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
105259 Cc: H. Peter Anvin <hpa@zytor.com>
105260 Cc: Thomas Gleixner <tglx@linutronix.de>
105261 Cc: Ingo Molnar <mingo@elte.hu>
105262 Cc: Russ Anderson <rja@sgi.com>
105263 Cc: Robin Holt <holt@sgi.com>
105264 Cc: Russell King <linux@arm.linux.org.uk>
105265 Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
105266 Cc: <stable@vger.kernel.org>
105267 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
105268 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
105269
105270 kernel/sys.c | 29 ++++++++++++++++++++++++++---
105271 1 files changed, 26 insertions(+), 3 deletions(-)
105272
105273 commit 94e2a91600b07d39825e7059195f35eb611a39a2
105274 Merge: 20cc761 e6e3059
105275 Author: Brad Spengler <spender@grsecurity.net>
105276 Date: Thu Jun 13 16:23:46 2013 -0400
105277
105278 Merge branch 'pax-test' into grsec-test
105279
105280 commit e6e3059de5525ebcd55af43b20c9cdbf43b9d30a
105281 Merge: c6aadb1 4b73feb
105282 Author: Brad Spengler <spender@grsecurity.net>
105283 Date: Thu Jun 13 16:23:39 2013 -0400
105284
105285 Merge branch 'linux-3.9.y' into pax-test
105286
105287 commit 20cc7613e38cde07adc73179a91d6c15292e8d43
105288 Author: Daniel Borkmann <dborkman@redhat.com>
105289 Date: Thu Jun 6 15:53:47 2013 +0200
105290
105291 Upstream commit: 1abd165ed757db1afdefaac0a4bc8a70f97d258c
105292
105293 net: sctp: fix NULL pointer dereference in socket destruction
105294
105295 While stress testing sctp sockets, I hit the following panic:
105296
105297 BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
105298 IP: [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
105299 PGD 7cead067 PUD 7ce76067 PMD 0
105300 Oops: 0000 [#1] SMP
105301 Modules linked in: sctp(F) libcrc32c(F) [...]
105302 CPU: 7 PID: 2950 Comm: acc Tainted: GF 3.10.0-rc2+ #1
105303 Hardware name: Dell Inc. PowerEdge T410/0H19HD, BIOS 1.6.3 02/01/2011
105304 task: ffff88007ce0e0c0 ti: ffff88007b568000 task.ti: ffff88007b568000
105305 RIP: 0010:[<ffffffffa0490c4e>] [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
105306 RSP: 0018:ffff88007b569e08 EFLAGS: 00010292
105307 RAX: 0000000000000000 RBX: ffff88007db78a00 RCX: dead000000200200
105308 RDX: ffffffffa049fdb0 RSI: ffff8800379baf38 RDI: 0000000000000000
105309 RBP: ffff88007b569e18 R08: ffff88007c230da0 R09: 0000000000000001
105310 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
105311 R13: ffff880077990d00 R14: 0000000000000084 R15: ffff88007db78a00
105312 FS: 00007fc18ab61700(0000) GS:ffff88007fc60000(0000) knlGS:0000000000000000
105313 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
105314 CR2: 0000000000000020 CR3: 000000007cf9d000 CR4: 00000000000007e0
105315 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
105316 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
105317 Stack:
105318 ffff88007b569e38 ffff88007db78a00 ffff88007b569e38 ffffffffa049fded
105319 ffffffff81abf0c0 ffff88007db78a00 ffff88007b569e58 ffffffff8145b60e
105320 0000000000000000 0000000000000000 ffff88007b569eb8 ffffffff814df36e
105321 Call Trace:
105322 [<ffffffffa049fded>] sctp_destroy_sock+0x3d/0x80 [sctp]
105323 [<ffffffff8145b60e>] sk_common_release+0x1e/0xf0
105324 [<ffffffff814df36e>] inet_create+0x2ae/0x350
105325 [<ffffffff81455a6f>] __sock_create+0x11f/0x240
105326 [<ffffffff81455bf0>] sock_create+0x30/0x40
105327 [<ffffffff8145696c>] SyS_socket+0x4c/0xc0
105328 [<ffffffff815403be>] ? do_page_fault+0xe/0x10
105329 [<ffffffff8153cb32>] ? page_fault+0x22/0x30
105330 [<ffffffff81544e02>] system_call_fastpath+0x16/0x1b
105331 Code: 0c c9 c3 66 2e 0f 1f 84 00 00 00 00 00 e8 fb fe ff ff c9 c3 66 0f
105332 1f 84 00 00 00 00 00 55 48 89 e5 53 48 83 ec 08 66 66 66 66 90 <48>
105333 8b 47 20 48 89 fb c6 47 1c 01 c6 40 12 07 e8 9e 68 01 00 48
105334 RIP [<ffffffffa0490c4e>] sctp_endpoint_free+0xe/0x40 [sctp]
105335 RSP <ffff88007b569e08>
105336 CR2: 0000000000000020
105337 ---[ end trace e0d71ec1108c1dd9 ]---
105338
105339 I did not hit this with the lksctp-tools functional tests, but with a
105340 small, multi-threaded test program, that heavily allocates, binds,
105341 listens and waits in accept on sctp sockets, and then randomly kills
105342 some of them (no need for an actual client in this case to hit this).
105343 Then, again, allocating, binding, etc, and then killing child processes.
105344
105345 This panic then only occurs when ``echo 1 > /proc/sys/net/sctp/auth_enable''
105346 is set. The cause for that is actually very simple: in sctp_endpoint_init()
105347 we enter the path of sctp_auth_init_hmacs(). There, we try to allocate
105348 our crypto transforms through crypto_alloc_hash(). In our scenario,
105349 it then can happen that crypto_alloc_hash() fails with -EINTR from
105350 crypto_larval_wait(), thus we bail out and release the socket via
105351 sk_common_release(), sctp_destroy_sock() and hit the NULL pointer
105352 dereference as soon as we try to access members in the endpoint during
105353 sctp_endpoint_free(), since endpoint at that time is still NULL. Now,
105354 if we have that case, we do not need to do any cleanup work and just
105355 leave the destruction handler.
105356
105357 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
105358 Acked-by: Neil Horman <nhorman@tuxdriver.com>
105359 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
105360 Signed-off-by: David S. Miller <davem@davemloft.net>
105361
105362 net/sctp/socket.c | 6 ++++++
105363 1 files changed, 6 insertions(+), 0 deletions(-)
105364
105365 commit 386ba837978cc8a1111440bdcd8600f2df4634a4
105366 Author: Brad Spengler <spender@grsecurity.net>
105367 Date: Wed Jun 12 20:37:48 2013 -0400
105368
105369 fix deadlock when booting i386 kernel without NX
105370
105371 mm/mmap.c | 4 +++-
105372 1 files changed, 3 insertions(+), 1 deletions(-)
105373
105374 commit fe96e11acb36fcda9a9e6f6439557db4aa4e8da0
105375 Author: Brad Spengler <spender@grsecurity.net>
105376 Date: Tue Jun 11 22:18:07 2013 -0400
105377
105378 fix elif / elif defined() typo in recent change
105379
105380 kernel/events/core.c | 2 +-
105381 1 files changed, 1 insertions(+), 1 deletions(-)
105382
105383 commit bc43377e1e757cd37a06be0187884a42af718aab
105384 Merge: 3cdea63 c6aadb1
105385 Author: Brad Spengler <spender@grsecurity.net>
105386 Date: Tue Jun 11 18:50:39 2013 -0400
105387
105388 Merge branch 'pax-test' into grsec-test
105389
105390 commit c6aadb12ae8dd3d12c2d6b8fbe80d29e514d60c0
105391 Author: Brad Spengler <spender@grsecurity.net>
105392 Date: Tue Jun 11 18:49:36 2013 -0400
105393
105394 Update to pax-linux-3.9.4-test9.patch:
105395 - fixed a KERNEXEC regression resulting in unusable RAM regions (http://forums.grsecurity.net/viewtopic.php?f=3&t=3506)
105396 - removed a user-triggerable BUG_ON, fixing it properly wasn't worth the effort
105397
105398 arch/x86/kernel/setup.c | 2 +-
105399 mm/mlock.c | 1 -
105400 2 files changed, 1 insertions(+), 2 deletions(-)
105401
105402 commit 3cdea63e90607d8d55820b101854091623feedb8
105403 Author: Brad Spengler <spender@grsecurity.net>
105404 Date: Mon Jun 10 21:21:44 2013 -0400
105405
105406 Fix fanotify infoleak reported by Dan Carpenter at:
105407 https://lkml.org/lkml/2013/6/3/128
105408
105409 Requires CAP_SYS_ADMIN, so this is about as low priority as it gets
105410
105411 fs/notify/fanotify/fanotify_user.c | 1 +
105412 1 files changed, 1 insertions(+), 0 deletions(-)
105413
105414 commit 373a2b5df78f82b9d3db72bd6577e29a71591323
105415 Author: Brad Spengler <spender@grsecurity.net>
105416 Date: Mon Jun 10 21:16:46 2013 -0400
105417
105418 Backport infoleak fix by Dan Carpenter in cpqarray:
105419 https://lkml.org/lkml/2013/6/3/131
105420
105421 drivers/block/cpqarray.c | 1 +
105422 1 files changed, 1 insertions(+), 0 deletions(-)
105423
105424 commit 251e84b9b05e063981b20be154c9389862f94759
105425 Author: Brad Spengler <spender@grsecurity.net>
105426 Date: Mon Jun 10 21:04:17 2013 -0400
105427
105428 Backport 050e4b8fb7cdd7096c987a9cd556029c622c7fe2
105429
105430 drivers/cdrom/cdrom.c | 4 ++--
105431 1 files changed, 2 insertions(+), 2 deletions(-)
105432
105433 commit 383d89bf95818b05a485a6e8b118963b5bcbc83e
105434 Author: Brad Spengler <spender@grsecurity.net>
105435 Date: Mon Jun 10 18:34:32 2013 -0400
105436
105437 change const to __read_only
105438
105439 kernel/sysctl.c | 18 +++++++++---------
105440 1 files changed, 9 insertions(+), 9 deletions(-)
105441
105442 commit 8f08f803f605649e63f0857a1b9a9805b629eaa4
105443 Author: Brad Spengler <spender@grsecurity.net>
105444 Date: Mon Jun 10 17:34:13 2013 -0400
105445
105446 compile fix, make const values const
105447
105448 kernel/sysctl.c | 18 +++++++++---------
105449 1 files changed, 9 insertions(+), 9 deletions(-)
105450
105451 commit 6b90c228f6d4a3c2cc9c2b9a6a7ac14534ebd42d
105452 Author: Brad Spengler <spender@grsecurity.net>
105453 Date: Mon Jun 10 17:37:13 2013 -0400
105454
105455 Backport upstream commit: af733960ca59f7d59ea337e1f633771c9e67101a
105456
105457 drivers/char/mwave/tp3780i.c | 1 +
105458 1 files changed, 1 insertions(+), 0 deletions(-)
105459
105460 commit 1c590aa70c95ebd76ba9672aa23d800b81780615
105461 Author: Brad Spengler <spender@grsecurity.net>
105462 Date: Sun Jun 9 19:50:35 2013 -0400
105463
105464 allow -1 perf_event_paranoid
105465
105466 kernel/sysctl.c | 2 +-
105467 1 files changed, 1 insertions(+), 1 deletions(-)
105468
105469 commit defdc4a2bd3efda4af2bb6f3aa8f495fa8078584
105470 Merge: 4e85539 117c3fa
105471 Author: Brad Spengler <spender@grsecurity.net>
105472 Date: Sun Jun 9 17:30:12 2013 -0400
105473
105474 Merge branch 'pax-test' into grsec-test
105475
105476 commit 117c3fa8d26c3806103123560f807d99071b60b6
105477 Merge: ed9b427 5dd2e98
105478 Author: Brad Spengler <spender@grsecurity.net>
105479 Date: Sun Jun 9 17:30:00 2013 -0400
105480
105481 Merge branch 'linux-3.9.y' into pax-test
105482
105483 commit 4e8553989b0406f15be4a2dccdbc7599cc2b4f42
105484 Author: Eric Dumazet <edumazet@google.com>
105485 Date: Mon May 13 21:25:52 2013 +0000
105486
105487 Upstream commit: 54d27fcb338bd9c42d1dfc5a39e18f6f9d373c2e
105488
105489 tcp: fix tcp_md5_hash_skb_data()
105490
105491 TCP md5 communications fail [1] for some devices, because sg/crypto code
105492 assume page offsets are below PAGE_SIZE.
105493
105494 This was discovered using mlx4 driver [2], but I suspect loopback
105495 might trigger the same bug now we use order-3 pages in tcp_sendmsg()
105496
105497 [1] Failure is giving following messages.
105498
105499 huh, entered softirq 3 NET_RX ffffffff806ad230 preempt_count 00000100,
105500 exited with 00000101?
105501
105502 [2] mlx4 driver uses order-2 pages to allocate RX frags
105503
105504 Reported-by: Matt Schnall <mischnal@google.com>
105505 Signed-off-by: Eric Dumazet <edumazet@google.com>
105506 Cc: Bernhard Beck <bbeck@google.com>
105507 Signed-off-by: David S. Miller <davem@davemloft.net>
105508
105509 net/ipv4/tcp.c | 7 +++++--
105510 1 files changed, 5 insertions(+), 2 deletions(-)
105511
105512 commit 4f1ed254c28a1b3e03c0b0b744c5042661c295eb
105513 Author: Eric Dumazet <edumazet@google.com>
105514 Date: Fri May 17 04:53:13 2013 +0000
105515
105516 Upstream commit: 284041ef21fdf2e0d216ab6b787bc9072b4eb58a
105517
105518 ipv6: fix possible crashes in ip6_cork_release()
105519
105520 commit 0178b695fd6b4 ("ipv6: Copy cork options in ip6_append_data")
105521 added some code duplication and bad error recovery, leading to potential
105522 crash in ip6_cork_release() as kfree() could be called with garbage.
105523
105524 use kzalloc() to make sure this wont happen.
105525
105526 Signed-off-by: Eric Dumazet <edumazet@google.com>
105527 Signed-off-by: David S. Miller <davem@davemloft.net>
105528 Cc: Herbert Xu <herbert@gondor.apana.org.au>
105529 Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
105530 Cc: Neal Cardwell <ncardwell@google.com>
105531
105532 net/ipv6/ip6_output.c | 2 +-
105533 1 files changed, 1 insertions(+), 1 deletions(-)
105534
105535 commit 5771263fe368cd384127dd17d7596a7e1a4e2eec
105536 Author: Chen Gang <gang.chen@asianux.com>
105537 Date: Thu May 16 23:13:04 2013 +0000
105538
105539 Upstream commit: ff0102ee104847023c36357e2b9f133f3f40d211
105540
105541 net: irda: using kzalloc() instead of kmalloc() to avoid strncpy() issue.
105542
105543 'discovery->data.info' length is 22, NICKNAME_MAX_LEN is 21, so the
105544 strncpy() will always left the last byte of 'discovery->data.info'
105545 uninitialized.
105546
105547 When 'text' length is longer than 21 (NICKNAME_MAX_LEN), if still left
105548 the last byte of 'discovery->data.info' uninitialized, the next
105549 strlen() will cause issue.
105550
105551 Also 'discovery->data' is 'struct irda_device_info' which defined in
105552 "include/uapi/...", it may copy to user mode, so need whole initialized.
105553
105554 All together, need use kzalloc() instead of kmalloc() to initialize all
105555 members firstly.
105556
105557 Signed-off-by: Chen Gang <gang.chen@asianux.com>
105558 Signed-off-by: David S. Miller <davem@davemloft.net>
105559
105560 net/irda/irlap_frame.c | 2 +-
105561 1 files changed, 1 insertions(+), 1 deletions(-)
105562
105563 commit c01c9af268cb066f240aec53454b8b74d8d01688
105564 Author: Dan Carpenter <dan.carpenter@oracle.com>
105565 Date: Sun May 19 08:36:36 2013 +0000
105566
105567 Upstream commit: 25dff94ff9df40d4d663bb6ea3193a7758cc50e5
105568
105569 isdn/kcapi: fix a small underflow
105570
105571 In get_capi_ctr_by_nr() and get_capi_appl_by_nr() the parameter comes
105572 from skb->data. The current code can underflow to one space before the
105573 start of the array.
105574
105575 The sanity check isn't needed in __get_capi_appl_by_nr() but I changed
105576 it to match the others.
105577
105578 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
105579 Signed-off-by: David S. Miller <davem@davemloft.net>
105580
105581 drivers/isdn/capi/kcapi.c | 6 +++---
105582 1 files changed, 3 insertions(+), 3 deletions(-)
105583
105584 commit 4a3f12a9df775147b0c4b0277de1aa99eddc5c66
105585 Author: Timo Teräs <timo.teras@iki.fi>
105586 Date: Wed May 22 01:40:47 2013 +0000
105587
105588 Upstream commit: 497574c72c9922cf20c12aed15313c389f722fa0
105589
105590 xfrm: properly handle invalid states as an error
105591
105592 The error exit path needs err explicitly set. Otherwise it
105593 returns success and the only caller, xfrm_output_resume(),
105594 would oops in skb_dst(skb)->ops derefence as skb_dst(skb) is
105595 NULL.
105596
105597 Bug introduced in commit bb65a9cb (xfrm: removes a superfluous
105598 check and add a statistic).
105599
105600 Signed-off-by: Timo Teräs <timo.teras@iki.fi>
105601 Cc: Li RongQing <roy.qing.li@gmail.com>
105602 Cc: Steffen Klassert <steffen.klassert@secunet.com>
105603 Signed-off-by: David S. Miller <davem@davemloft.net>
105604
105605 net/xfrm/xfrm_output.c | 1 +
105606 1 files changed, 1 insertions(+), 0 deletions(-)
105607
105608 commit 61d8e1e848afa93cd971f6d1da875ad98b6ddfbd
105609 Author: Jeff Mahoney <jeffm@jeffreymahoney.com>
105610 Date: Fri May 31 15:07:52 2013 -0400
105611
105612 Upstream commit: 0bdc7acba56a7ca4232f15f37b16f7ec079385ab
105613
105614 reiserfs: fix spurious multiple-fill in reiserfs_readdir_dentry
105615
105616 After sleeping for filldir(), we check to see if the file system has
105617 changed and research. The next_pos pointer is updated but its value
105618 isn't pushed into the key used for the search itself. As a result,
105619 the search returns the same item that the last cycle of the loop did
105620 and filldir() is called multiple times with the same data.
105621
105622 The end result is that the buffer can contain the same name multiple
105623 times. This can be returned to userspace or used internally in the
105624 xattr code where it can manifest with the following warning:
105625
105626 jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-2)
105627
105628 reiserfs_for_each_xattr uses reiserfs_readdir_dentry to iterate over
105629 the xattr names and ends up trying to unlink the same name twice. The
105630 second attempt fails with -ENOENT and the error is returned. At some
105631 point I'll need to add support into reiserfsck to remove the orphaned
105632 directories left behind when this occurs.
105633
105634 The fix is to push the value into the key before researching.
105635
105636 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
105637 Signed-off-by: Jan Kara <jack@suse.cz>
105638
105639 fs/reiserfs/dir.c | 2 ++
105640 1 files changed, 2 insertions(+), 0 deletions(-)
105641
105642 commit ca0746bf380eec77d75d1741ac4742ded0e55ec7
105643 Author: Jeff Mahoney <jeffm@suse.com>
105644 Date: Fri May 31 15:51:17 2013 -0400
105645
105646 Upstream commit: a1457c0ce976bad1356b9b0437f2a5c3ab8a9cfc
105647
105648 reiserfs: fix deadlock with nfs racing on create/lookup
105649
105650 Reiserfs is currently able to be deadlocked by having two NFS clients
105651 where one has removed and recreated a file and another is accessing the
105652 file with an open file handle.
105653
105654 If one client deletes and recreates a file with timing such that the
105655 recreated file obtains the same [dirid, objectid] pair as the original
105656 file while another client accesses the file via file handle, the create
105657 and lookup can race and deadlock if the lookup manages to create the
105658 in-memory inode first.
105659
105660 The create thread, in insert_inode_locked4, will hold the write lock
105661 while waiting on the other inode to be unlocked. The lookup thread,
105662 anywhere in the iget path, will release and reacquire the write lock while
105663 it schedules. If it needs to reacquire the lock while the create thread
105664 has it, it will never be able to make forward progress because it needs
105665 to reacquire the lock before ultimately unlocking the inode.
105666
105667 This patch drops the write lock across the insert_inode_locked4 call so
105668 that the ordering of inode_wait -> write lock is retained. Since this
105669 would have been the case before the BKL push-down, this is safe.
105670
105671 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
105672 Signed-off-by: Jan Kara <jack@suse.cz>
105673
105674 fs/reiserfs/inode.c | 9 +++++++--
105675 1 files changed, 7 insertions(+), 2 deletions(-)
105676
105677 commit cd21c0eb4950498be46a07257426c0cea4aa2bf1
105678 Author: Jeff Mahoney <jeffm@suse.com>
105679 Date: Fri May 31 15:54:17 2013 -0400
105680
105681 Upstream commit: 4a8570112b76a63ad21cfcbe2783f98f7fd5ba1b
105682
105683 reiserfs: fix problems with chowning setuid file w/ xattrs
105684
105685 reiserfs_chown_xattrs() takes the iattr struct passed into ->setattr
105686 and uses it to iterate over all the attrs associated with a file to change
105687 ownership of xattrs (and transfer quota associated with the xattr files).
105688
105689 When the setuid bit is cleared during chown, ATTR_MODE and iattr->ia_mode
105690 are passed to all the xattrs as well. This means that the xattr directory
105691 will have S_IFREG added to its mode bits.
105692
105693 This has been prevented in practice by a missing IS_PRIVATE check
105694 in reiserfs_acl_chmod, which caused a double-lock to occur while holding
105695 the write lock. Since the file system was completely locked up, the
105696 writeout of the corrupted mode never happened.
105697
105698 This patch temporarily clears everything but ATTR_UID|ATTR_GID for the
105699 calls to reiserfs_setattr and adds the missing IS_PRIVATE check.
105700
105701 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
105702 Signed-off-by: Jan Kara <jack@suse.cz>
105703
105704 fs/reiserfs/xattr.c | 14 +++++++++++++-
105705 fs/reiserfs/xattr_acl.c | 3 +++
105706 2 files changed, 16 insertions(+), 1 deletions(-)
105707
105708 commit c18cef940310c06bdf86d64d8cb227e56e165300
105709 Author: Dave Chinner <dchinner@redhat.com>
105710 Date: Mon May 27 16:38:25 2013 +1000
105711
105712 Upstream commit: 2962f5a5dcc56f69cbf62121a7be67cc15d6940b
105713
105714 xfs: kill suid/sgid through the truncate path.
105715
105716 XFS has failed to kill suid/sgid bits correctly when truncating
105717 files of non-zero size since commit c4ed4243 ("xfs: split
105718 xfs_setattr") introduced in the 3.1 kernel. Fix it.
105719
105720 Fix it.
105721
105722 cc: stable kernel <stable@vger.kernel.org>
105723 Signed-off-by: Dave Chinner <dchinner@redhat.com>
105724 Reviewed-by: Brian Foster <bfoster@redhat.com>
105725 Signed-off-by: Ben Myers <bpm@sgi.com>
105726
105727 (cherry picked from commit 56c19e89b38618390addfc743d822f99519055c6)
105728
105729 fs/xfs/xfs_iops.c | 47 ++++++++++++++++++++++++++++++++---------------
105730 1 files changed, 32 insertions(+), 15 deletions(-)
105731
105732 commit 8e62c6a0946a4b11a55540094a0ee5d3a222dbcc
105733 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
105734 Date: Wed May 29 15:36:40 2013 -0400
105735
105736 Upstream commit: f448badd34700ae728a32ba024249626d49c10e1
105737
105738 NFSv4: Fix a thinko in nfs4_try_open_cached
105739
105740 We need to pass the full open mode flags to nfs_may_open() when doing
105741 a delegated open.
105742
105743 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
105744 Cc: stable@vger.kernel.org
105745
105746 fs/nfs/nfs4proc.c | 2 +-
105747 1 files changed, 1 insertions(+), 1 deletions(-)
105748
105749 commit c47de62893a9f269be0a272c2840aac1e2a35c68
105750 Author: Chen Gang <gang.chen@asianux.com>
105751 Date: Thu May 30 01:18:43 2013 +0000
105752
105753 Upstream commit: ea99b1adf22abd62bdcf14b1c9a0a4d3664eefd8
105754
105755 parisc: kernel: using strlcpy() instead of strcpy()
105756
105757 'boot_args' is an input args, and 'boot_command_line' has a fix length.
105758 So use strlcpy() instead of strcpy() to avoid memory overflow.
105759
105760 Signed-off-by: Chen Gang <gang.chen@asianux.com>
105761 Acked-by: Kyle McMartin <kyle@mcmartin.ca>
105762 Signed-off-by: Helge Deller <deller@gmx.de>
105763
105764 arch/parisc/kernel/setup.c | 3 ++-
105765 1 files changed, 2 insertions(+), 1 deletions(-)
105766
105767 commit ce869e6f799f95fcac340420ba3612503df80dbf
105768 Author: Chen Gang <gang.chen@asianux.com>
105769 Date: Mon May 27 04:57:09 2013 +0000
105770
105771 Upstream commit: 3f108de96ba449a8df3d7e3c053bf890fee2cb95
105772
105773 parisc: memory overflow, 'name' length is too short for using
105774
105775 'path.bc[i]' can be asigned by PCI_SLOT() which can '> 10', so sizeof(6
105776 * "%u:" + "%u" + '\0') may be 21.
105777
105778 Since 'name' length is 20, it may be memory overflow.
105779
105780 And 'path.bc[i]' is 'unsigned char' for printing, we can be sure the
105781 max length of 'name' must be less than 28.
105782
105783 So simplify thinking, we can use 28 instead of 20 directly, and do not
105784 think of whether 'patchc.bc[i]' can '> 100'.
105785
105786 Signed-off-by: Chen Gang <gang.chen@asianux.com>
105787 Signed-off-by: Helge Deller <deller@gmx.de>
105788
105789 arch/parisc/kernel/drivers.c | 2 +-
105790 1 files changed, 1 insertions(+), 1 deletions(-)
105791
105792 commit 5dc65cd34d442783118a17c518e2daedb90a31d0
105793 Author: Brad Spengler <spender@grsecurity.net>
105794 Date: Tue Jun 4 17:52:23 2013 -0400
105795
105796 add PERF_HARDEN recommendation
105797
105798 grsecurity/Kconfig | 3 +++
105799 1 files changed, 3 insertions(+), 0 deletions(-)
105800
105801 commit 45b0f6e97666ca330b9a69e7fd2d2d9345d9618c
105802 Author: Brad Spengler <spender@grsecurity.net>
105803 Date: Tue Jun 4 17:22:44 2013 -0400
105804
105805 Introduce new feature: CONFIG_GRKERNSEC_PERF_HARDEN
105806
105807 grsecurity/Kconfig | 19 +++++++++++++++++++
105808 include/linux/perf_event.h | 5 +++++
105809 kernel/events/core.c | 10 +++++++++-
105810 kernel/sysctl.c | 9 ++++++++-
105811 4 files changed, 41 insertions(+), 2 deletions(-)
105812
105813 commit 84619a3501fd38285a72d9e963f58d1827beedd6
105814 Author: Brad Spengler <spender@grsecurity.net>
105815 Date: Sat Jun 1 14:23:31 2013 -0400
105816
105817 remove user-triggerable BUG_ON in do_munlockall()
105818
105819 mm/mlock.c | 1 -
105820 1 files changed, 0 insertions(+), 1 deletions(-)
105821
105822 commit f4bcf6087bd7b9a5b9c9021790396865c5362da0
105823 Author: Brad Spengler <spender@grsecurity.net>
105824 Date: Sat Jun 1 13:44:05 2013 -0400
105825
105826 Upstream commit: cea4dcfdad926a27a18e188720efe0f2c9403456
105827
105828 From: Kees Cook <keescook@chromium.org>
105829 Date: Thu, 23 May 2013 17:32:17 +0000
105830 Subject: iscsi-target: fix heap buffer overflow on error
105831
105832 If a key was larger than 64 bytes, as checked by iscsi_check_key(), the
105833 error response packet, generated by iscsi_add_notunderstood_response(),
105834 would still attempt to copy the entire key into the packet, overflowing
105835 the structure on the heap.
105836
105837 Remote preauthentication kernel memory corruption was possible if a
105838 target was configured and listening on the network.
105839
105840 CVE-2013-2850
105841
105842 Embargo-screwup-by: Kees Cook <keescook@chromium.org>
105843 Cc: stable@vger.kernel.org
105844 Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
105845
105846 drivers/target/iscsi/iscsi_target_parameters.c | 8 +++-----
105847 drivers/target/iscsi/iscsi_target_parameters.h | 4 +++-
105848 2 files changed, 6 insertions(+), 6 deletions(-)
105849
105850 commit 2fdc3e0a0ecd44f22d49ea2230638ed650dd5e7e
105851 Author: Brad Spengler <spender@grsecurity.net>
105852 Date: Sat Jun 1 13:43:26 2013 -0400
105853
105854 Revert "Fix distro-embargoed bug CVE-2013-2850, bad strncpy parameters"
105855 Applying upstream fix instead
105856
105857 This reverts commit 8c237f4a53a038ab0f1c4fdc3656bdb3d77b7291.
105858
105859 drivers/target/iscsi/iscsi_target_parameters.c | 5 +++--
105860 1 files changed, 3 insertions(+), 2 deletions(-)
105861
105862 commit 8ad50b7b6bbaaec7f07f894c15d76abe801f0769
105863 Author: Dan Carpenter <dan.carpenter@oracle.com>
105864 Date: Sun May 19 21:52:20 2013 +0300
105865
105866 Upstream commit: e75b61897276c5100e61c9c74fd55ded28f31431
105867
105868 USB: cxacru: potential underflow in cxacru_cm_get_array()
105869
105870 commit 2a0ebf80aa95cc758d4725f74a7016e992606a39 upstream.
105871
105872 The value of "offd" comes off the instance->rcv_buf[] and we used it as
105873 the offset into an array. The problem is that we check the upper bound
105874 but not for negative values.
105875
105876 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
105877 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
105878 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
105879
105880 drivers/usb/atm/cxacru.c | 3 ++-
105881 1 files changed, 2 insertions(+), 1 deletions(-)
105882
105883 commit 8c237f4a53a038ab0f1c4fdc3656bdb3d77b7291
105884 Author: Brad Spengler <spender@grsecurity.net>
105885 Date: Sat Jun 1 11:30:17 2013 -0400
105886
105887 Fix distro-embargoed bug CVE-2013-2850, bad strncpy parameters
105888
105889 drivers/target/iscsi/iscsi_target_parameters.c | 5 ++---
105890 1 files changed, 2 insertions(+), 3 deletions(-)
105891
105892 commit 8578566969d91678a3d7d5251b4eafc6d7775314
105893 Author: Brad Spengler <spender@grsecurity.net>
105894 Date: Thu May 30 17:44:15 2013 -0400
105895
105896 Apply compatibility fix to previous RLIMIT_NPROC change
105897 don't enforce the rlimit check at exec time if the user is root
105898 Prevents problems with sudo if root is listed as part of a group
105899 in limits.conf with process limits enforced
105900
105901 kernel/sys.c | 2 +-
105902 1 files changed, 1 insertions(+), 1 deletions(-)
105903
105904 commit 0ed0c927ce3db94e2d0c0f328e24a28fe4f143e7
105905 Merge: 643b294 ed9b427
105906 Author: Brad Spengler <spender@grsecurity.net>
105907 Date: Wed May 29 19:19:28 2013 -0400
105908
105909 Merge branch 'pax-test' into grsec-test
105910
105911 commit ed9b4276488528d0c3803df1dc0df804238241e0
105912 Author: Brad Spengler <spender@grsecurity.net>
105913 Date: Wed May 29 19:18:45 2013 -0400
105914
105915 Updated to pax-linux-3.9.4-test8.patch:
105916 - fixed some fallout detected by the checker plugin
105917
105918 arch/x86/kernel/crash_dump_64.c | 2 +-
105919 drivers/base/devtmpfs.c | 6 +++---
105920 drivers/char/agp/compat_ioctl.c | 2 +-
105921 drivers/char/agp/frontend.c | 2 +-
105922 drivers/char/mem.c | 2 +-
105923 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 ++--
105924 drivers/i2c/i2c-dev.c | 2 +-
105925 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 6 +++---
105926 drivers/media/v4l2-core/v4l2-ioctl.c | 20 ++++++++++++--------
105927 fs/9p/vfs_addr.c | 2 +-
105928 fs/binfmt_elf.c | 4 ++--
105929 fs/compat_ioctl.c | 4 ++--
105930 fs/exec.c | 2 +-
105931 fs/namespace.c | 8 ++++----
105932 fs/proc/vmcore.c | 12 ++++++++----
105933 fs/read_write.c | 2 +-
105934 include/linux/syscalls.h | 8 ++++----
105935 init/do_mounts_initrd.c | 8 ++++----
105936 init/main.c | 4 ++--
105937 kernel/events/core.c | 2 +-
105938 kernel/events/internal.h | 10 +++++-----
105939 mm/page_io.c | 2 +-
105940 security/keys/internal.h | 2 +-
105941 tools/gcc/checker_plugin.c | 1 +
105942 24 files changed, 63 insertions(+), 54 deletions(-)
105943
105944 commit 643b294b41c6adcad1cf107efe4ae52a834e6f15
105945 Author: Brad Spengler <spender@grsecurity.net>
105946 Date: Wed May 29 18:51:31 2013 -0400
105947
105948 eliminate gcc warning
105949
105950 fs/exec.c | 4 ++--
105951 1 files changed, 2 insertions(+), 2 deletions(-)
105952
105953 commit cf6f73059387ffeddb7b1de3e97a3cf588bcef86
105954 Author: Brad Spengler <spender@grsecurity.net>
105955 Date: Wed May 29 18:30:20 2013 -0400
105956
105957 use BUILD_BUG() instead of BUILD_BUG_ON(1)
105958
105959 arch/x86/net/bpf_jit_comp.c | 4 ++--
105960 1 files changed, 2 insertions(+), 2 deletions(-)
105961
105962 commit 5343410354267368e5809f3ad8d9a264f141be18
105963 Author: Brad Spengler <spender@grsecurity.net>
105964 Date: Wed May 29 17:57:41 2013 -0400
105965
105966 defensively handle additions to the BPF JIT by introducing a BUILD_BUG_ON
105967 for unknown opcodes
105968
105969 arch/x86/net/bpf_jit_comp.c | 11 +++++++----
105970 1 files changed, 7 insertions(+), 4 deletions(-)
105971
105972 commit 01f78a604b47c93fb26e8aeb68ef619bb3b8579d
105973 Author: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
105974 Date: Fri May 24 15:55:11 2013 -0700
105975
105976 Upstream commit: d34883d4e35c0a994e91dd847a82b4c9e0c31d83
105977
105978 mm: mmu_notifier: re-fix freed page still mapped in secondary MMU
105979
105980 Commit 751efd8610d3 ("mmu_notifier_unregister NULL Pointer deref and
105981 multiple ->release()") breaks the fix 3ad3d901bbcf ("mm: mmu_notifier:
105982 fix freed page still mapped in secondary MMU").
105983
105984 Since hlist_for_each_entry_rcu() is changed now, we can not revert that
105985 patch directly, so this patch reverts the commit and simply fix the bug
105986 spotted by that patch
105987
105988 This bug spotted by commit 751efd8610d3 is:
105989
105990 There is a race condition between mmu_notifier_unregister() and
105991 __mmu_notifier_release().
105992
105993 Assume two tasks, one calling mmu_notifier_unregister() as a result
105994 of a filp_close() ->flush() callout (task A), and the other calling
105995 mmu_notifier_release() from an mmput() (task B).
105996
105997 A B
105998 t1 srcu_read_lock()
105999 t2 if (!hlist_unhashed())
106000 t3 srcu_read_unlock()
106001 t4 srcu_read_lock()
106002 t5 hlist_del_init_rcu()
106003 t6 synchronize_srcu()
106004 t7 srcu_read_unlock()
106005 t8 hlist_del_rcu() <--- NULL pointer deref.
106006
106007 This can be fixed by using hlist_del_init_rcu instead of hlist_del_rcu.
106008
106009 The another issue spotted in the commit is "multiple ->release()
106010 callouts", we needn't care it too much because it is really rare (e.g,
106011 can not happen on kvm since mmu-notify is unregistered after
106012 exit_mmap()) and the later call of multiple ->release should be fast
106013 since all the pages have already been released by the first call.
106014 Anyway, this issue should be fixed in a separate patch.
106015
106016 -stable suggestions: Any version that has commit 751efd8610d3 need to be
106017 backported. I find the oldest version has this commit is 3.0-stable.
106018
106019 [akpm@linux-foundation.org: tweak comments]
106020 Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
106021 Tested-by: Robin Holt <holt@sgi.com>
106022 Cc: <stable@vger.kernel.org>
106023 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
106024 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
106025
106026 mm/mmu_notifier.c | 79 ++++++++++++++++++++++++++---------------------------
106027 1 files changed, 39 insertions(+), 40 deletions(-)
106028
106029 commit 163a5539b36247865d39b2bcfa8efc03a62124a6
106030 Author: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
106031 Date: Fri May 24 15:55:21 2013 -0700
106032
106033 Upstream commit: 7c3425123ddfdc5f48e7913ff59d908789712b18
106034
106035 mm/THP: use pmd_populate() to update the pmd with pgtable_t pointer
106036
106037 We should not use set_pmd_at to update pmd_t with pgtable_t pointer.
106038 set_pmd_at is used to set pmd with huge pte entries and architectures
106039 like ppc64, clear few flags from the pte when saving a new entry.
106040 Without this change we observe bad pte errors like below on ppc64 with
106041 THP enabled.
106042
106043 BUG: Bad page map in process ld mm=0xc000001ee39f4780 pte:7fc3f37848000001 pmd:c000001ec0000000
106044
106045 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
106046 Cc: Hugh Dickins <hughd@google.com>
106047 Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
106048 Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
106049 Cc: <stable@vger.kernel.org>
106050 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
106051 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
106052
106053 mm/huge_memory.c | 7 ++++++-
106054 1 files changed, 6 insertions(+), 1 deletions(-)
106055
106056 commit 3e54faf888d324d5f362dcba16173ea7bba61e8a
106057 Author: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
106058 Date: Fri May 24 15:55:08 2013 -0700
106059
106060 Upstream commit: 7b92d03c3239f43e5b86c9cc9630f026d36ee995
106061
106062 fat: fix possible overflow for fat_clusters
106063
106064 Intermediate value of fat_clusters can be overflowed on 32bits arch.
106065
106066 Reported-by: Krzysztof Strasburger <strasbur@chkw386.ch.pwr.wroc.pl>
106067 Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
106068 Cc: <stable@vger.kernel.org>
106069 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
106070 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
106071
106072 fs/fat/inode.c | 15 ++++++++++++++-
106073 1 files changed, 14 insertions(+), 1 deletions(-)
106074
106075 commit 2d9fc67d9d63641e6bbf389edba8d8514c68655d
106076 Author: Jarod Wilson <jarod@redhat.com>
106077 Date: Fri May 24 15:55:31 2013 -0700
106078
106079 Upstream commit: 1e7e2e05c179a68aaf8830fe91547a87f4589e53
106080
106081 drivers/char/random.c: fix priming of last_data
106082
106083 Commit ec8f02da9ea5 ("random: prime last_data value per fips
106084 requirements") added priming of last_data per fips requirements.
106085
106086 Unfortuantely, it did so in a way that can lead to multiple threads all
106087 incrementing nbytes, but only one actually doing anything with the extra
106088 data, which leads to some fun random corruption and panics.
106089
106090 The fix is to simply do everything needed to prime last_data in a single
106091 shot, so there's no window for multiple cpus to increment nbytes -- in
106092 fact, we won't even increment or decrement nbytes anymore, we'll just
106093 extract the needed EXTRACT_SIZE one time per pool and then carry on with
106094 the normal routine.
106095
106096 All these changes have been tested across multiple hosts and
106097 architectures where panics were previously encoutered. The code changes
106098 are are strictly limited to areas only touched when when booted in fips
106099 mode.
106100
106101 This change should also go into 3.8-stable, to make the myriads of fips
106102 users on 3.8.x happy.
106103
106104 Signed-off-by: Jarod Wilson <jarod@redhat.com>
106105 Tested-by: Jan Stancek <jstancek@redhat.com>
106106 Tested-by: Jan Stodola <jstodola@redhat.com>
106107 Cc: Herbert Xu <herbert@gondor.apana.org.au>
106108 Acked-by: Neil Horman <nhorman@tuxdriver.com>
106109 Cc: "David S. Miller" <davem@davemloft.net>
106110 Cc: Matt Mackall <mpm@selenic.com>
106111 Cc: "Theodore Ts'o" <tytso@mit.edu>
106112 Cc: <stable@vger.kernel.org>
106113 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
106114 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
106115
106116 drivers/char/random.c | 30 +++++++++++++++---------------
106117 1 files changed, 15 insertions(+), 15 deletions(-)
106118
106119 commit 2d74639040ba6ce47f57ec010714ec06529c4b42
106120 Author: Jiri Kosina <jkosina@suse.cz>
106121 Date: Fri May 24 15:55:33 2013 -0700
106122
106123 Upstream commit: 10b3a32d292c21ea5b3ad5ca5975e88bb20b8d68
106124
106125 random: fix accounting race condition with lockless irq entropy_count update
106126
106127 Commit 902c098a3663 ("random: use lockless techniques in the interrupt
106128 path") turned IRQ path from being spinlock protected into lockless
106129 cmpxchg-retry update.
106130
106131 That commit removed r->lock serialization between crediting entropy bits
106132 from IRQ context and accounting when extracting entropy on userspace
106133 read path, but didn't turn the r->entropy_count reads/updates in
106134 account() to use cmpxchg as well.
106135
106136 It has been observed, that under certain circumstances this leads to
106137 read() on /dev/urandom to return 0 (EOF), as r->entropy_count gets
106138 corrupted and becomes negative, which in turn results in propagating 0
106139 all the way from account() to the actual read() call.
106140
106141 Convert the accounting code to be the proper lockless counterpart of
106142 what has been partially done by 902c098a3663.
106143
106144 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
106145 Cc: Theodore Ts'o <tytso@mit.edu>
106146 Cc: Greg KH <greg@kroah.com>
106147 Cc: <stable@vger.kernel.org>
106148 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
106149 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
106150
106151 drivers/char/random.c | 26 +++++++++++++++++---------
106152 1 files changed, 17 insertions(+), 9 deletions(-)
106153
106154 commit 65d05c7ea468c23c175105526dd4f163302a92cf
106155 Merge: 1a98d0a 6ce3a135
106156 Author: Brad Spengler <spender@grsecurity.net>
106157 Date: Sat May 25 07:48:15 2013 -0400
106158
106159 Merge branch 'pax-test' into grsec-test
106160
106161 Conflicts:
106162 arch/x86/kernel/vm86_32.c
106163
106164 commit 6ce3a13567ec17c1e72a88871ddf46da61ad5166
106165 Merge: 79bdd65 0bfd8ff
106166 Author: Brad Spengler <spender@grsecurity.net>
106167 Date: Sat May 25 07:46:55 2013 -0400
106168
106169 Merge branch 'linux-3.9.y' into pax-test
106170
106171 commit 1a98d0a10ede55ae99fabfb2d67eb536d3de9444
106172 Author: Brad Spengler <spender@grsecurity.net>
106173 Date: Thu May 23 18:42:23 2013 -0400
106174
106175 use existing local variable
106176
106177 fs/exec.c | 2 +-
106178 1 files changed, 1 insertions(+), 1 deletions(-)
106179
106180 commit b2b80ef8586061e32e986b31608717c25d1e7c54
106181 Merge: cb45fbd 79bdd65
106182 Author: Brad Spengler <spender@grsecurity.net>
106183 Date: Thu May 23 17:58:53 2013 -0400
106184
106185 Merge branch 'pax-test' into grsec-test
106186
106187 commit 79bdd65dac68267bc1b201c6b4a99966a373c305
106188 Author: Brad Spengler <spender@grsecurity.net>
106189 Date: Thu May 23 17:57:46 2013 -0400
106190
106191 Update to pax-linux-3.9.3-test7.patch:
106192 - fixed some size overflow related warnings (hash table, attributes)
106193 - fixed a gcc bug/feature exposed by constification, the investigation was prompted by http://rikiji.it/2013/05/10/CVE-2013-2094-x86.html
106194
106195 arch/x86/include/asm/page_64.h | 2 +-
106196 arch/x86/kernel/head64.c | 2 +-
106197 tools/gcc/constify_plugin.c | 48 ++-
106198 tools/gcc/size_overflow_hash.data | 1191 +++++++++++++++++++------------------
106199 4 files changed, 651 insertions(+), 592 deletions(-)
106200
106201 commit cb45fbda4967b1b544a754fbdc92d73283379522
106202 Merge: 62588fa 57c11b8
106203 Author: Brad Spengler <spender@grsecurity.net>
106204 Date: Mon May 20 17:32:17 2013 -0400
106205
106206 Merge branch 'pax-test' into grsec-test
106207
106208 commit 57c11b85acd841a088aa4df8e60be337880df8cd
106209 Merge: 0598b37 4bb0869
106210 Author: Brad Spengler <spender@grsecurity.net>
106211 Date: Mon May 20 17:32:08 2013 -0400
106212
106213 Merge branch 'linux-3.9.y' into pax-test
106214
106215 commit 62588fa72b82a8ff7027f52dc2a05729f41e0f53
106216 Merge: e261c7b 0598b37
106217 Author: Brad Spengler <spender@grsecurity.net>
106218 Date: Fri May 17 22:57:36 2013 -0400
106219
106220 Merge branch 'pax-test' into grsec-test
106221
106222 commit 0598b3778624dbc6c3887af025c040dbd6e92ba5
106223 Author: Brad Spengler <spender@grsecurity.net>
106224 Date: Fri May 17 22:57:07 2013 -0400
106225
106226 Update to pax-linux-3.9.2-test6.patch:
106227 - fixed a gcc assert in the structleak plugin, reported by Emese Revfy
106228 - fixed pfn extraction from pud/pgd entries, reported by ousado
106229
106230 arch/x86/include/asm/pgtable.h | 9 +++++++--
106231 tools/gcc/structleak_plugin.c | 3 ++-
106232 2 files changed, 9 insertions(+), 3 deletions(-)
106233
106234 commit e261c7bc611e9127bbb7bd95cddd51524bf255ae
106235 Author: Brad Spengler <spender@grsecurity.net>
106236 Date: Thu May 16 22:54:12 2013 -0400
106237
106238 add offset to topdown check, fixes compilation
106239
106240 arch/x86/kernel/sys_x86_64.c | 2 +-
106241 1 files changed, 1 insertions(+), 1 deletions(-)
106242
106243 commit 455c5ed5279cf546f5d5c3844fb16f17300b2219
106244 Author: Brad Spengler <spender@grsecurity.net>
106245 Date: Thu May 16 20:57:41 2013 -0400
106246
106247 CONFIG_GRKERNSEC depends on the recently-introduced CONFIG_TTY,
106248 reported by lulzh3ad on irc
106249
106250 security/Kconfig | 1 +
106251 1 files changed, 1 insertions(+), 0 deletions(-)
106252
106253 commit 0d4593e84707cdf6deb6b925c18c676a476b1613
106254 Merge: 43cd0c0 39a877f
106255 Author: Brad Spengler <spender@grsecurity.net>
106256 Date: Thu May 16 20:39:11 2013 -0400
106257
106258 Merge branch 'pax-test' into grsec-test
106259
106260 commit 39a877f192ed305d88edac10a14a9e8e1e161f3f
106261 Author: Brad Spengler <spender@grsecurity.net>
106262 Date: Thu May 16 20:37:35 2013 -0400
106263
106264 Update to pax-linux-3.9.2-test105.patch:
106265 - fixed !EFI boot problem, reported by spender
106266 - fixed a few compile warnings
106267 - fixed some more compile errors due to constification
106268 - fixed some arm fallout, reported by Michael Tremer
106269
106270 arch/arm/include/asm/psci.h | 2 +-
106271 arch/arm/kernel/psci.c | 2 +-
106272 arch/x86/kernel/sys_x86_64.c | 3 +--
106273 arch/x86/realmode/init.c | 2 +-
106274 drivers/hwmon/pmbus/pmbus_core.c | 10 +++++-----
106275 drivers/irqchip/irq-gic.c | 2 +-
106276 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +++-
106277 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +++++++++---
106278 drivers/platform/x86/chromeos_laptop.c | 2 +-
106279 fs/jfs/super.c | 4 ++--
106280 include/linux/irqchip/arm-gic.h | 2 ++
106281 include/sound/compress_driver.h | 2 +-
106282 net/mac80211/cfg.c | 4 ++--
106283 sound/soc/fsl/fsl_ssi.c | 2 +-
106284 14 files changed, 31 insertions(+), 22 deletions(-)
106285
106286 commit 43cd0c0c7bf3f3331689f88130a8e8ce58fc8540
106287 Author: Brad Spengler <spender@grsecurity.net>
106288 Date: Thu May 16 20:35:22 2013 -0400
106289
106290 Fix usercopy false positive under gcc 4.1
106291
106292 arch/x86/kernel/signal.c | 9 +++++++--
106293 1 files changed, 7 insertions(+), 2 deletions(-)
106294
106295 commit 56a166129d817f6634c8c230e6ec497669bdfaca
106296 Author: Amerigo Wang <amwang@redhat.com>
106297 Date: Thu May 9 21:56:37 2013 +0000
106298
106299 Upstream commit: 5dbd5068430b8bd1c19387d46d6c1a88b261257f
106300
106301 ipv6,gre: do not leak info to user-space
106302
106303 There is a hole in struct ip6_tnl_parm2, so we have to
106304 zero the struct on stack before copying it to user-space.
106305
106306 Cc: David S. Miller <davem@davemloft.net>
106307 Signed-off-by: Cong Wang <amwang@redhat.com>
106308 Signed-off-by: David S. Miller <davem@davemloft.net>
106309
106310 net/ipv6/ip6_gre.c | 2 ++
106311 1 files changed, 2 insertions(+), 0 deletions(-)
106312
106313 commit d6f50dae2653ad912952da40417a8ccbd59c7699
106314 Author: Brad Spengler <spender@grsecurity.net>
106315 Date: Tue May 14 16:52:35 2013 -0400
106316
106317 disable unprivileged kernel profiling under HIDESYM, rename
106318 the variable to something more appropriate
106319
106320 include/linux/perf_event.h | 8 ++++----
106321 kernel/events/core.c | 6 +++++-
106322 kernel/sysctl.c | 4 ++--
106323 3 files changed, 11 insertions(+), 7 deletions(-)
106324
106325 commit 01322c6951bed4eedefbd2178dbd99292b365d99
106326 Author: Brad Spengler <spender@grsecurity.net>
106327 Date: Mon May 13 17:19:57 2013 -0400
106328
106329 mark GRKERNSEC_RAND_THREADSTACK broken until PaX fixes its
106330 existing stack-heap gap code for the new unified vm_unmapped_area
106331
106332 grsecurity/Kconfig | 2 +-
106333 1 files changed, 1 insertions(+), 1 deletions(-)
106334
106335 commit 8e576ddc2196770ba2b86ba8f7b9e76c141d1083
106336 Author: Brad Spengler <spender@grsecurity.net>
106337 Date: Mon May 13 15:40:32 2013 -0400
106338
106339 fix NX fault on early boot
106340
106341 arch/x86/realmode/init.c | 2 +-
106342 1 files changed, 1 insertions(+), 1 deletions(-)
106343
106344 commit 85ce9b6f668f9b02f21d23ae61a1bacc8804f615
106345 Author: Brad Spengler <spender@grsecurity.net>
106346 Date: Mon May 13 10:48:13 2013 -0400
106347
106348 compile fix, we weren't using %pa anyway and it's now being used
106349 by upstream for physical address printing
106350
106351 lib/vsprintf.c | 3 +--
106352 1 files changed, 1 insertions(+), 2 deletions(-)
106353
106354 commit 4eeaeea04d4776b8263f0e9b018edcdbe66c929d
106355 Author: Brad Spengler <spender@grsecurity.net>
106356 Date: Mon May 13 10:39:52 2013 -0400
106357
106358 compile fix
106359
106360 grsecurity/grsec_chroot.c | 2 +-
106361 1 files changed, 1 insertions(+), 1 deletions(-)
106362
106363 commit 155fe84d0b966e41b077781e6b3bc6f6ed5b294b
106364 Author: Brad Spengler <spender@grsecurity.net>
106365 Date: Mon May 13 10:35:36 2013 -0400
106366
106367 compile fixes
106368
106369 grsecurity/grsec_chroot.c | 2 +-
106370 include/linux/grinternal.h | 8 ++++----
106371 include/linux/grsecurity.h | 4 ++--
106372 3 files changed, 7 insertions(+), 7 deletions(-)
106373
106374 commit f92047409f0a843ec0b44033ca4c37e539f9a1d5
106375 Author: Brad Spengler <spender@grsecurity.net>
106376 Date: Mon May 13 10:27:18 2013 -0400
106377
106378 compile fix
106379
106380 fs/exec.c | 6 +++---
106381 1 files changed, 3 insertions(+), 3 deletions(-)
106382
106383 commit 0e4123608755ab6af3f448cca6f6a8a57dbdcff1
106384 Author: Brad Spengler <spender@grsecurity.net>
106385 Date: Mon May 13 10:23:17 2013 -0400
106386
106387 Initial port of grsecurity for 3.9.2
106388
106389 Documentation/kernel-parameters.txt | 4 +
106390 Makefile | 8 +-
106391 arch/alpha/include/asm/cache.h | 4 +-
106392 arch/alpha/kernel/osf_sys.c | 12 +-
106393 arch/arm/include/asm/thread_info.h | 9 +-
106394 arch/arm/kernel/process.c | 4 +-
106395 arch/arm/kernel/ptrace.c | 9 +
106396 arch/arm/kernel/traps.c | 7 +-
106397 arch/arm/mm/fault.c | 29 +-
106398 arch/arm/mm/mmap.c | 8 +-
106399 arch/avr32/include/asm/cache.h | 4 +-
106400 arch/blackfin/include/asm/cache.h | 3 +-
106401 arch/cris/include/arch-v10/arch/cache.h | 3 +-
106402 arch/cris/include/arch-v32/arch/cache.h | 3 +-
106403 arch/frv/include/asm/cache.h | 3 +-
106404 arch/frv/mm/elf-fdpic.c | 4 +-
106405 arch/hexagon/include/asm/cache.h | 6 +-
106406 arch/ia64/include/asm/cache.h | 3 +-
106407 arch/ia64/kernel/sys_ia64.c | 2 +
106408 arch/ia64/mm/hugetlbpage.c | 2 +
106409 arch/m32r/include/asm/cache.h | 4 +-
106410 arch/m68k/include/asm/cache.h | 4 +-
106411 arch/metag/mm/hugetlbpage.c | 1 +
106412 arch/microblaze/include/asm/cache.h | 3 +-
106413 arch/mips/include/asm/cache.h | 3 +-
106414 arch/mips/include/asm/thread_info.h | 9 +-
106415 arch/mips/kernel/ptrace.c | 9 +
106416 arch/mips/kernel/scall32-o32.S | 2 +-
106417 arch/mips/kernel/scall64-64.S | 2 +-
106418 arch/mips/kernel/scall64-n32.S | 2 +-
106419 arch/mips/kernel/scall64-o32.S | 2 +-
106420 arch/mips/mm/mmap.c | 4 +-
106421 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
106422 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
106423 arch/openrisc/include/asm/cache.h | 4 +-
106424 arch/parisc/include/asm/cache.h | 5 +-
106425 arch/parisc/kernel/sys_parisc.c | 17 +-
106426 arch/powerpc/include/asm/cache.h | 3 +-
106427 arch/powerpc/include/asm/thread_info.h | 8 +-
106428 arch/powerpc/kernel/process.c | 10 +-
106429 arch/powerpc/kernel/ptrace.c | 14 +
106430 arch/powerpc/kernel/traps.c | 5 +
106431 arch/powerpc/mm/slice.c | 8 +-
106432 arch/s390/include/asm/cache.h | 4 +-
106433 arch/score/include/asm/cache.h | 4 +-
106434 arch/sh/include/asm/cache.h | 3 +-
106435 arch/sh/mm/mmap.c | 6 +-
106436 arch/sparc/include/asm/cache.h | 4 +-
106437 arch/sparc/include/asm/thread_info_64.h | 9 +-
106438 arch/sparc/kernel/process_32.c | 6 +-
106439 arch/sparc/kernel/process_64.c | 8 +-
106440 arch/sparc/kernel/ptrace_64.c | 14 +
106441 arch/sparc/kernel/sys_sparc_64.c | 8 +-
106442 arch/sparc/kernel/syscalls.S | 8 +-
106443 arch/sparc/kernel/traps_32.c | 8 +-
106444 arch/sparc/kernel/traps_64.c | 28 +-
106445 arch/sparc/kernel/unaligned_64.c | 2 +-
106446 arch/sparc/mm/fault_64.c | 2 +-
106447 arch/sparc/mm/hugetlbpage.c | 3 +-
106448 arch/tile/include/asm/cache.h | 3 +-
106449 arch/tile/mm/hugetlbpage.c | 2 +
106450 arch/um/defconfig | 1 -
106451 arch/um/include/asm/cache.h | 3 +-
106452 arch/unicore32/include/asm/cache.h | 6 +-
106453 arch/x86/Kconfig | 5 +-
106454 arch/x86/Kconfig.debug | 2 +-
106455 arch/x86/ia32/ia32_aout.c | 2 +
106456 arch/x86/include/asm/thread_info.h | 8 +-
106457 arch/x86/kernel/dumpstack.c | 8 +
106458 arch/x86/kernel/entry_32.S | 2 +-
106459 arch/x86/kernel/entry_64.S | 2 +-
106460 arch/x86/kernel/ioport.c | 13 +
106461 arch/x86/kernel/ptrace.c | 14 +
106462 arch/x86/kernel/smpboot.c | 3 +
106463 arch/x86/kernel/sys_i386_32.c | 14 +-
106464 arch/x86/kernel/sys_x86_64.c | 6 +-
106465 arch/x86/kernel/verify_cpu.S | 1 +
106466 arch/x86/kernel/vm86_32.c | 16 +
106467 arch/x86/mm/fault.c | 12 +-
106468 arch/x86/mm/hugetlbpage.c | 15 +-
106469 arch/x86/mm/init.c | 66 +-
106470 arch/x86/net/bpf_jit_comp.c | 126 +-
106471 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
106472 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
106473 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
106474 drivers/block/cciss.c | 2 +
106475 drivers/char/Kconfig | 4 +-
106476 drivers/char/genrtc.c | 1 +
106477 drivers/char/mem.c | 17 +
106478 drivers/char/random.c | 12 +
106479 drivers/gpu/drm/drm_info.c | 4 +
106480 drivers/hid/hid-wiimote-debug.c | 2 +-
106481 drivers/media/radio/radio-cadet.c | 2 +-
106482 drivers/message/fusion/mptbase.c | 9 +
106483 drivers/net/bonding/bond_main.c | 2 +-
106484 drivers/net/phy/mdio-bitbang.c | 1 +
106485 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
106486 drivers/pci/proc.c | 9 +
106487 drivers/rtc/rtc-dev.c | 3 +
106488 drivers/tty/sysrq.c | 2 +-
106489 drivers/tty/vt/keyboard.c | 22 +-
106490 drivers/usb/storage/realtek_cr.c | 2 +-
106491 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++--------
106492 drivers/xen/xenfs/xenstored.c | 5 +
106493 fs/attr.c | 1 +
106494 fs/autofs4/waitq.c | 9 +
106495 fs/binfmt_aout.c | 7 +
106496 fs/binfmt_elf.c | 8 +-
106497 fs/btrfs/ioctl.c | 6 +-
106498 fs/compat.c | 20 +-
106499 fs/coredump.c | 10 +-
106500 fs/debugfs/inode.c | 4 +
106501 fs/exec.c | 181 +-
106502 fs/ext2/balloc.c | 4 +-
106503 fs/ext3/balloc.c | 4 +-
106504 fs/ext4/balloc.c | 4 +-
106505 fs/fcntl.c | 5 +
106506 fs/file.c | 4 +
106507 fs/filesystems.c | 4 +
106508 fs/fs_struct.c | 13 +-
106509 fs/hugetlbfs/inode.c | 5 +-
106510 fs/namei.c | 241 ++-
106511 fs/namespace.c | 24 +
106512 fs/open.c | 38 +
106513 fs/pipe.c | 2 +-
106514 fs/proc/Kconfig | 10 +-
106515 fs/proc/array.c | 59 +-
106516 fs/proc/base.c | 168 +-
106517 fs/proc/cmdline.c | 4 +
106518 fs/proc/devices.c | 4 +
106519 fs/proc/fd.c | 17 +-
106520 fs/proc/inode.c | 17 +
106521 fs/proc/internal.h | 3 +
106522 fs/proc/kcore.c | 3 +
106523 fs/proc/proc_net.c | 12 +
106524 fs/proc/proc_sysctl.c | 43 +-
106525 fs/proc/root.c | 8 +
106526 fs/proc/task_mmu.c | 75 +-
106527 fs/readdir.c | 19 +
106528 fs/select.c | 2 +
106529 fs/seq_file.c | 12 +-
106530 fs/stat.c | 19 +-
106531 fs/sysfs/dir.c | 12 +
106532 fs/utimes.c | 7 +
106533 fs/xattr.c | 19 +-
106534 grsecurity/Kconfig | 1031 +++++
106535 grsecurity/Makefile | 38 +
106536 grsecurity/gracl.c | 4073 ++++++++++++++++++++
106537 grsecurity/gracl_alloc.c | 105 +
106538 grsecurity/gracl_cap.c | 110 +
106539 grsecurity/gracl_fs.c | 431 +++
106540 grsecurity/gracl_ip.c | 387 ++
106541 grsecurity/gracl_learn.c | 207 +
106542 grsecurity/gracl_res.c | 68 +
106543 grsecurity/gracl_segv.c | 305 ++
106544 grsecurity/gracl_shm.c | 40 +
106545 grsecurity/grsec_chdir.c | 19 +
106546 grsecurity/grsec_chroot.c | 370 ++
106547 grsecurity/grsec_disabled.c | 434 +++
106548 grsecurity/grsec_exec.c | 187 +
106549 grsecurity/grsec_fifo.c | 24 +
106550 grsecurity/grsec_fork.c | 23 +
106551 grsecurity/grsec_init.c | 283 ++
106552 grsecurity/grsec_link.c | 58 +
106553 grsecurity/grsec_log.c | 326 ++
106554 grsecurity/grsec_mem.c | 40 +
106555 grsecurity/grsec_mount.c | 62 +
106556 grsecurity/grsec_pax.c | 36 +
106557 grsecurity/grsec_ptrace.c | 30 +
106558 grsecurity/grsec_sig.c | 222 ++
106559 grsecurity/grsec_sock.c | 244 ++
106560 grsecurity/grsec_sysctl.c | 469 +++
106561 grsecurity/grsec_time.c | 16 +
106562 grsecurity/grsec_tpe.c | 73 +
106563 grsecurity/grsum.c | 61 +
106564 include/linux/capability.h | 5 +
106565 include/linux/cred.h | 3 +
106566 include/linux/fs.h | 10 +
106567 include/linux/fsnotify.h | 6 +
106568 include/linux/gracl.h | 319 ++
106569 include/linux/gralloc.h | 9 +
106570 include/linux/grdefs.h | 140 +
106571 include/linux/grinternal.h | 215 +
106572 include/linux/grmsg.h | 111 +
106573 include/linux/grsecurity.h | 242 ++
106574 include/linux/grsock.h | 19 +
106575 include/linux/kallsyms.h | 14 +-
106576 include/linux/kmod.h | 2 +
106577 include/linux/mm.h | 1 +
106578 include/linux/netfilter/xt_gradm.h | 9 +
106579 include/linux/printk.h | 3 +-
106580 include/linux/proc_fs.h | 12 +
106581 include/linux/sched.h | 68 +-
106582 include/linux/security.h | 1 +
106583 include/linux/seq_file.h | 3 +
106584 include/linux/shm.h | 4 +
106585 include/linux/skbuff.h | 3 +
106586 include/linux/slab.h | 9 -
106587 include/linux/sysctl.h | 2 +
106588 include/linux/thread_info.h | 2 +
106589 include/linux/uidgid.h | 5 +
106590 include/linux/vermagic.h | 9 +-
106591 include/net/secure_seq.h | 1 +
106592 include/trace/events/fs.h | 53 +
106593 include/uapi/linux/personality.h | 1 +
106594 init/Kconfig | 3 +-
106595 init/main.c | 14 +
106596 ipc/mqueue.c | 1 +
106597 ipc/shm.c | 28 +
106598 kernel/capability.c | 39 +-
106599 kernel/cgroup.c | 2 +-
106600 kernel/compat.c | 1 +
106601 kernel/configs.c | 11 +
106602 kernel/cred.c | 110 +-
106603 kernel/exit.c | 10 +-
106604 kernel/fork.c | 41 +-
106605 kernel/futex.c | 1 +
106606 kernel/kallsyms.c | 9 +
106607 kernel/kcmp.c | 4 +
106608 kernel/kmod.c | 71 +-
106609 kernel/kprobes.c | 4 +-
106610 kernel/ksysfs.c | 2 +
106611 kernel/lockdep_proc.c | 10 +-
106612 kernel/module.c | 81 +-
106613 kernel/panic.c | 4 +-
106614 kernel/pid.c | 19 +-
106615 kernel/posix-timers.c | 8 +
106616 kernel/printk.c | 13 +-
106617 kernel/ptrace.c | 20 +-
106618 kernel/resource.c | 10 +
106619 kernel/sched/core.c | 6 +-
106620 kernel/signal.c | 37 +-
106621 kernel/sys.c | 45 +-
106622 kernel/sysctl.c | 39 +-
106623 kernel/taskstats.c | 6 +
106624 kernel/time.c | 5 +
106625 kernel/time/timekeeping.c | 3 +
106626 kernel/time/timer_list.c | 12 +
106627 kernel/time/timer_stats.c | 10 +-
106628 lib/Kconfig.debug | 5 +-
106629 lib/is_single_threaded.c | 3 +
106630 lib/vsprintf.c | 35 +-
106631 localversion-grsec | 1 +
106632 mm/Kconfig | 4 +-
106633 mm/filemap.c | 1 +
106634 mm/kmemleak.c | 4 +-
106635 mm/mempolicy.c | 12 +-
106636 mm/migrate.c | 3 +-
106637 mm/mlock.c | 3 +
106638 mm/mmap.c | 64 +-
106639 mm/mprotect.c | 8 +
106640 mm/process_vm_access.c | 6 +
106641 mm/shmem.c | 2 +-
106642 mm/slab.c | 2 +-
106643 mm/slub.c | 14 +-
106644 mm/vmalloc.c | 4 +
106645 mm/vmstat.c | 18 +-
106646 net/8021q/vlan.c | 7 +
106647 net/core/dev_ioctl.c | 4 +
106648 net/core/net-procfs.c | 5 +
106649 net/core/secure_seq.c | 4 +-
106650 net/core/sock_diag.c | 7 +
106651 net/ipv4/af_inet.c | 5 +-
106652 net/ipv4/inet_hashtables.c | 5 +
106653 net/ipv4/ip_sockglue.c | 3 +-
106654 net/ipv4/tcp_input.c | 4 +-
106655 net/ipv4/tcp_ipv4.c | 24 +-
106656 net/ipv4/tcp_minisocks.c | 9 +-
106657 net/ipv4/tcp_timer.c | 11 +
106658 net/ipv4/udp.c | 24 +
106659 net/ipv6/tcp_ipv6.c | 23 +-
106660 net/ipv6/udp.c | 7 +
106661 net/netfilter/Kconfig | 10 +
106662 net/netfilter/Makefile | 1 +
106663 net/netfilter/nf_conntrack_core.c | 8 +
106664 net/netfilter/xt_gradm.c | 51 +
106665 net/netrom/af_netrom.c | 2 +-
106666 net/phonet/af_phonet.c | 2 +-
106667 net/sctp/probe.c | 2 +-
106668 net/sctp/proc.c | 3 +-
106669 net/socket.c | 66 +-
106670 net/sysctl_net.c | 2 +-
106671 net/tipc/link.c | 11 +-
106672 net/unix/af_unix.c | 31 +-
106673 security/Kconfig | 342 ++-
106674 security/commoncap.c | 29 +
106675 security/min_addr.c | 2 +
106676 security/security.c | 2 -
106677 security/selinux/hooks.c | 2 -
106678 security/tomoyo/mount.c | 4 +
106679 security/yama/Kconfig | 2 +-
106680 291 files changed, 15221 insertions(+), 2052 deletions(-)
106681
106682 commit 88854c350c899bceca4a94598c42bed44d0dc91b
106683 Author: Brad Spengler <spender@grsecurity.net>
106684 Date: Mon May 13 07:37:47 2013 -0400
106685
106686 Initial import of pax-linux-3.9.2-test2.patch
106687
106688 Documentation/dontdiff | 45 +-
106689 Documentation/kernel-parameters.txt | 12 +
106690 Makefile | 100 +-
106691 arch/alpha/include/asm/atomic.h | 10 +
106692 arch/alpha/include/asm/elf.h | 7 +
106693 arch/alpha/include/asm/pgalloc.h | 6 +
106694 arch/alpha/include/asm/pgtable.h | 11 +
106695 arch/alpha/kernel/module.c | 2 +-
106696 arch/alpha/kernel/osf_sys.c | 8 +-
106697 arch/alpha/mm/fault.c | 141 +-
106698 arch/arm/Kconfig | 2 +-
106699 arch/arm/include/asm/atomic.h | 421 ++-
106700 arch/arm/include/asm/cache.h | 5 +-
106701 arch/arm/include/asm/cacheflush.h | 2 +-
106702 arch/arm/include/asm/checksum.h | 14 +-
106703 arch/arm/include/asm/cmpxchg.h | 2 +
106704 arch/arm/include/asm/domain.h | 33 +-
106705 arch/arm/include/asm/elf.h | 13 +-
106706 arch/arm/include/asm/fncpy.h | 2 +
106707 arch/arm/include/asm/futex.h | 10 +
106708 arch/arm/include/asm/kmap_types.h | 2 +-
106709 arch/arm/include/asm/mach/dma.h | 2 +-
106710 arch/arm/include/asm/mach/map.h | 7 +-
106711 arch/arm/include/asm/outercache.h | 2 +-
106712 arch/arm/include/asm/page.h | 2 +-
106713 arch/arm/include/asm/pgalloc.h | 22 +-
106714 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
106715 arch/arm/include/asm/pgtable-2level.h | 1 +
106716 arch/arm/include/asm/pgtable-3level-hwdef.h | 2 +
106717 arch/arm/include/asm/pgtable-3level.h | 2 +
106718 arch/arm/include/asm/pgtable.h | 56 +-
106719 arch/arm/include/asm/proc-fns.h | 2 +-
106720 arch/arm/include/asm/processor.h | 5 +-
106721 arch/arm/include/asm/smp.h | 2 +-
106722 arch/arm/include/asm/thread_info.h | 6 +-
106723 arch/arm/include/asm/uaccess.h | 92 +-
106724 arch/arm/include/uapi/asm/ptrace.h | 2 +-
106725 arch/arm/kernel/armksyms.c | 6 +-
106726 arch/arm/kernel/entry-armv.S | 107 +-
106727 arch/arm/kernel/entry-common.S | 41 +-
106728 arch/arm/kernel/entry-header.S | 60 +
106729 arch/arm/kernel/fiq.c | 2 +
106730 arch/arm/kernel/head.S | 6 +-
106731 arch/arm/kernel/hw_breakpoint.c | 2 +-
106732 arch/arm/kernel/module.c | 29 +-
106733 arch/arm/kernel/patch.c | 2 +
106734 arch/arm/kernel/perf_event_cpu.c | 2 +-
106735 arch/arm/kernel/process.c | 15 +-
106736 arch/arm/kernel/setup.c | 22 +-
106737 arch/arm/kernel/signal.c | 24 +-
106738 arch/arm/kernel/smp.c | 2 +-
106739 arch/arm/kernel/traps.c | 15 +-
106740 arch/arm/kernel/vmlinux.lds.S | 22 +-
106741 arch/arm/lib/clear_user.S | 6 +-
106742 arch/arm/lib/copy_from_user.S | 6 +-
106743 arch/arm/lib/copy_page.S | 1 +
106744 arch/arm/lib/copy_to_user.S | 6 +-
106745 arch/arm/lib/csumpartialcopyuser.S | 4 +-
106746 arch/arm/lib/delay.c | 2 +-
106747 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
106748 arch/arm/mach-kirkwood/common.c | 19 +-
106749 arch/arm/mach-omap2/board-n8x0.c | 2 +-
106750 arch/arm/mach-omap2/gpmc.c | 22 +-
106751 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
106752 arch/arm/mach-omap2/omap_device.c | 4 +-
106753 arch/arm/mach-omap2/omap_device.h | 4 +-
106754 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
106755 arch/arm/mach-omap2/wd_timer.c | 6 +-
106756 arch/arm/mach-ux500/include/mach/setup.h | 7 -
106757 arch/arm/mm/Kconfig | 3 +-
106758 arch/arm/mm/alignment.c | 8 +
106759 arch/arm/mm/fault.c | 91 +
106760 arch/arm/mm/fault.h | 12 +
106761 arch/arm/mm/init.c | 41 +
106762 arch/arm/mm/ioremap.c | 4 +-
106763 arch/arm/mm/mmap.c | 36 +-
106764 arch/arm/mm/mmu.c | 187 +-
106765 arch/arm/mm/proc-v7-2level.S | 3 +
106766 arch/arm/plat-omap/sram.c | 2 +
106767 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
106768 arch/arm64/kernel/debug-monitors.c | 2 +-
106769 arch/arm64/kernel/hw_breakpoint.c | 2 +-
106770 arch/avr32/include/asm/elf.h | 8 +-
106771 arch/avr32/include/asm/kmap_types.h | 4 +-
106772 arch/avr32/mm/fault.c | 27 +
106773 arch/frv/include/asm/atomic.h | 10 +
106774 arch/frv/include/asm/kmap_types.h | 2 +-
106775 arch/frv/mm/elf-fdpic.c | 3 +-
106776 arch/ia64/include/asm/atomic.h | 10 +
106777 arch/ia64/include/asm/elf.h | 7 +
106778 arch/ia64/include/asm/pgalloc.h | 12 +
106779 arch/ia64/include/asm/pgtable.h | 13 +-
106780 arch/ia64/include/asm/spinlock.h | 2 +-
106781 arch/ia64/include/asm/uaccess.h | 26 +-
106782 arch/ia64/kernel/err_inject.c | 2 +-
106783 arch/ia64/kernel/mca.c | 2 +-
106784 arch/ia64/kernel/module.c | 48 +-
106785 arch/ia64/kernel/palinfo.c | 2 +-
106786 arch/ia64/kernel/salinfo.c | 2 +-
106787 arch/ia64/kernel/sys_ia64.c | 7 +
106788 arch/ia64/kernel/topology.c | 2 +-
106789 arch/ia64/kernel/vmlinux.lds.S | 2 +-
106790 arch/ia64/mm/fault.c | 32 +-
106791 arch/ia64/mm/init.c | 13 +
106792 arch/m32r/lib/usercopy.c | 6 +
106793 arch/mips/include/asm/atomic.h | 14 +
106794 arch/mips/include/asm/elf.h | 11 +-
106795 arch/mips/include/asm/exec.h | 2 +-
106796 arch/mips/include/asm/page.h | 2 +-
106797 arch/mips/include/asm/pgalloc.h | 5 +
106798 arch/mips/kernel/binfmt_elfn32.c | 7 +
106799 arch/mips/kernel/binfmt_elfo32.c | 7 +
106800 arch/mips/kernel/process.c | 12 -
106801 arch/mips/mm/fault.c | 17 +
106802 arch/mips/mm/mmap.c | 51 +-
106803 arch/parisc/include/asm/atomic.h | 10 +
106804 arch/parisc/include/asm/elf.h | 7 +
106805 arch/parisc/include/asm/pgalloc.h | 6 +
106806 arch/parisc/include/asm/pgtable.h | 11 +
106807 arch/parisc/include/asm/uaccess.h | 4 +-
106808 arch/parisc/kernel/module.c | 50 +-
106809 arch/parisc/kernel/sys_parisc.c | 9 +-
106810 arch/parisc/kernel/traps.c | 4 +-
106811 arch/parisc/mm/fault.c | 140 +-
106812 arch/powerpc/include/asm/atomic.h | 10 +
106813 arch/powerpc/include/asm/elf.h | 19 +-
106814 arch/powerpc/include/asm/exec.h | 2 +-
106815 arch/powerpc/include/asm/kmap_types.h | 2 +-
106816 arch/powerpc/include/asm/mman.h | 2 +-
106817 arch/powerpc/include/asm/page.h | 8 +-
106818 arch/powerpc/include/asm/page_64.h | 7 +-
106819 arch/powerpc/include/asm/pgalloc-64.h | 7 +
106820 arch/powerpc/include/asm/pgtable.h | 1 +
106821 arch/powerpc/include/asm/pte-hash32.h | 1 +
106822 arch/powerpc/include/asm/reg.h | 1 +
106823 arch/powerpc/include/asm/smp.h | 2 +-
106824 arch/powerpc/include/asm/uaccess.h | 140 +-
106825 arch/powerpc/kernel/exceptions-64e.S | 4 +-
106826 arch/powerpc/kernel/exceptions-64s.S | 2 +-
106827 arch/powerpc/kernel/module_32.c | 13 +-
106828 arch/powerpc/kernel/process.c | 55 -
106829 arch/powerpc/kernel/signal_32.c | 2 +-
106830 arch/powerpc/kernel/signal_64.c | 2 +-
106831 arch/powerpc/kernel/sysfs.c | 2 +-
106832 arch/powerpc/kernel/vdso.c | 5 +-
106833 arch/powerpc/lib/usercopy_64.c | 18 -
106834 arch/powerpc/mm/fault.c | 54 +-
106835 arch/powerpc/mm/mmap_64.c | 16 +
106836 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
106837 arch/powerpc/mm/numa.c | 2 +-
106838 arch/powerpc/mm/slice.c | 23 +-
106839 arch/powerpc/platforms/cell/spufs/file.c | 4 +-
106840 arch/powerpc/platforms/powermac/smp.c | 2 +-
106841 arch/s390/include/asm/atomic.h | 10 +
106842 arch/s390/include/asm/elf.h | 13 +-
106843 arch/s390/include/asm/exec.h | 2 +-
106844 arch/s390/include/asm/uaccess.h | 15 +-
106845 arch/s390/kernel/module.c | 22 +-
106846 arch/s390/kernel/process.c | 36 -
106847 arch/s390/mm/mmap.c | 24 +
106848 arch/score/include/asm/exec.h | 2 +-
106849 arch/score/kernel/process.c | 5 -
106850 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
106851 arch/sh/mm/mmap.c | 22 +-
106852 arch/sparc/include/asm/atomic_64.h | 106 +-
106853 arch/sparc/include/asm/cache.h | 2 +-
106854 arch/sparc/include/asm/elf_32.h | 7 +
106855 arch/sparc/include/asm/elf_64.h | 7 +
106856 arch/sparc/include/asm/pgalloc_32.h | 1 +
106857 arch/sparc/include/asm/pgalloc_64.h | 1 +
106858 arch/sparc/include/asm/pgtable_32.h | 15 +-
106859 arch/sparc/include/asm/pgtsrmmu.h | 5 +
106860 arch/sparc/include/asm/spinlock_64.h | 35 +-
106861 arch/sparc/include/asm/thread_info_32.h | 2 +
106862 arch/sparc/include/asm/thread_info_64.h | 2 +
106863 arch/sparc/include/asm/uaccess.h | 1 +
106864 arch/sparc/include/asm/uaccess_32.h | 27 +-
106865 arch/sparc/include/asm/uaccess_64.h | 19 +-
106866 arch/sparc/kernel/Makefile | 2 +-
106867 arch/sparc/kernel/prom_common.c | 2 +-
106868 arch/sparc/kernel/sys_sparc_32.c | 2 +-
106869 arch/sparc/kernel/sys_sparc_64.c | 48 +-
106870 arch/sparc/kernel/sysfs.c | 2 +-
106871 arch/sparc/kernel/traps_64.c | 13 +-
106872 arch/sparc/kernel/us3_cpufreq.c | 69 +-
106873 arch/sparc/lib/Makefile | 2 +-
106874 arch/sparc/lib/atomic_64.S | 136 +-
106875 arch/sparc/lib/ksyms.c | 6 +
106876 arch/sparc/mm/Makefile | 2 +-
106877 arch/sparc/mm/fault_32.c | 292 ++
106878 arch/sparc/mm/fault_64.c | 486 ++
106879 arch/sparc/mm/hugetlbpage.c | 21 +-
106880 arch/tile/include/asm/atomic_64.h | 10 +
106881 arch/tile/include/asm/uaccess.h | 4 +-
106882 arch/um/Makefile | 4 +
106883 arch/um/include/asm/kmap_types.h | 2 +-
106884 arch/um/include/asm/page.h | 3 +
106885 arch/um/include/asm/pgtable-3level.h | 1 +
106886 arch/um/kernel/process.c | 16 -
106887 arch/x86/Kconfig | 10 +-
106888 arch/x86/Kconfig.cpu | 6 +-
106889 arch/x86/Kconfig.debug | 6 +-
106890 arch/x86/Makefile | 10 +
106891 arch/x86/boot/Makefile | 3 +
106892 arch/x86/boot/bitops.h | 4 +-
106893 arch/x86/boot/boot.h | 4 +-
106894 arch/x86/boot/compressed/Makefile | 3 +
106895 arch/x86/boot/compressed/eboot.c | 2 -
106896 arch/x86/boot/compressed/head_32.S | 7 +-
106897 arch/x86/boot/compressed/head_64.S | 8 +-
106898 arch/x86/boot/compressed/misc.c | 4 +-
106899 arch/x86/boot/cpucheck.c | 28 +-
106900 arch/x86/boot/header.S | 6 +-
106901 arch/x86/boot/memory.c | 2 +-
106902 arch/x86/boot/video-vesa.c | 1 +
106903 arch/x86/boot/video.c | 2 +-
106904 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
106905 arch/x86/crypto/aesni-intel_asm.S | 21 +
106906 arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 +
106907 arch/x86/crypto/camellia-x86_64-asm_64.S | 7 +
106908 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 7 +
106909 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 7 +
106910 arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 +
106911 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 7 +
106912 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 +
106913 arch/x86/crypto/sha1_ssse3_asm.S | 2 +
106914 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 7 +
106915 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 +
106916 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
106917 arch/x86/ia32/ia32_signal.c | 14 +-
106918 arch/x86/ia32/ia32entry.S | 141 +-
106919 arch/x86/ia32/sys_ia32.c | 6 +-
106920 arch/x86/include/asm/alternative-asm.h | 39 +
106921 arch/x86/include/asm/alternative.h | 4 +-
106922 arch/x86/include/asm/apic.h | 2 +-
106923 arch/x86/include/asm/apm.h | 4 +-
106924 arch/x86/include/asm/atomic.h | 307 ++-
106925 arch/x86/include/asm/atomic64_32.h | 100 +
106926 arch/x86/include/asm/atomic64_64.h | 202 +-
106927 arch/x86/include/asm/bitops.h | 4 +-
106928 arch/x86/include/asm/boot.h | 7 +-
106929 arch/x86/include/asm/cache.h | 5 +-
106930 arch/x86/include/asm/cacheflush.h | 2 +-
106931 arch/x86/include/asm/checksum_32.h | 12 +-
106932 arch/x86/include/asm/cmpxchg.h | 35 +
106933 arch/x86/include/asm/compat.h | 2 +-
106934 arch/x86/include/asm/cpufeature.h | 4 +-
106935 arch/x86/include/asm/desc.h | 67 +-
106936 arch/x86/include/asm/desc_defs.h | 6 +
106937 arch/x86/include/asm/div64.h | 2 +-
106938 arch/x86/include/asm/elf.h | 31 +-
106939 arch/x86/include/asm/emergency-restart.h | 2 +-
106940 arch/x86/include/asm/fpu-internal.h | 6 +-
106941 arch/x86/include/asm/futex.h | 16 +-
106942 arch/x86/include/asm/hw_irq.h | 4 +-
106943 arch/x86/include/asm/i8259.h | 2 +-
106944 arch/x86/include/asm/io.h | 21 +-
106945 arch/x86/include/asm/irqflags.h | 5 +
106946 arch/x86/include/asm/kprobes.h | 9 +-
106947 arch/x86/include/asm/local.h | 142 +-
106948 arch/x86/include/asm/mman.h | 15 +
106949 arch/x86/include/asm/mmu.h | 16 +-
106950 arch/x86/include/asm/mmu_context.h | 76 +-
106951 arch/x86/include/asm/module.h | 17 +-
106952 arch/x86/include/asm/nmi.h | 6 +-
106953 arch/x86/include/asm/page_64.h | 2 +-
106954 arch/x86/include/asm/paravirt.h | 46 +-
106955 arch/x86/include/asm/paravirt_types.h | 17 +-
106956 arch/x86/include/asm/pgalloc.h | 23 +
106957 arch/x86/include/asm/pgtable-2level.h | 2 +
106958 arch/x86/include/asm/pgtable-3level.h | 4 +
106959 arch/x86/include/asm/pgtable.h | 113 +-
106960 arch/x86/include/asm/pgtable_32.h | 14 +-
106961 arch/x86/include/asm/pgtable_32_types.h | 15 +-
106962 arch/x86/include/asm/pgtable_64.h | 19 +-
106963 arch/x86/include/asm/pgtable_64_types.h | 5 +
106964 arch/x86/include/asm/pgtable_types.h | 36 +-
106965 arch/x86/include/asm/processor.h | 39 +-
106966 arch/x86/include/asm/ptrace.h | 26 +-
106967 arch/x86/include/asm/realmode.h | 4 +-
106968 arch/x86/include/asm/reboot.h | 10 +-
106969 arch/x86/include/asm/rwsem.h | 60 +-
106970 arch/x86/include/asm/segment.h | 24 +-
106971 arch/x86/include/asm/smp.h | 14 +-
106972 arch/x86/include/asm/spinlock.h | 36 +-
106973 arch/x86/include/asm/stackprotector.h | 4 +-
106974 arch/x86/include/asm/stacktrace.h | 32 +-
106975 arch/x86/include/asm/switch_to.h | 4 +-
106976 arch/x86/include/asm/thread_info.h | 83 +-
106977 arch/x86/include/asm/uaccess.h | 96 +-
106978 arch/x86/include/asm/uaccess_32.h | 106 +-
106979 arch/x86/include/asm/uaccess_64.h | 232 +-
106980 arch/x86/include/asm/word-at-a-time.h | 2 +-
106981 arch/x86/include/asm/x86_init.h | 10 +-
106982 arch/x86/include/asm/xsave.h | 10 +-
106983 arch/x86/include/uapi/asm/e820.h | 2 +-
106984 arch/x86/kernel/Makefile | 2 +-
106985 arch/x86/kernel/acpi/boot.c | 4 +-
106986 arch/x86/kernel/acpi/sleep.c | 4 +
106987 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
106988 arch/x86/kernel/alternative.c | 65 +-
106989 arch/x86/kernel/apic/apic.c | 4 +-
106990 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
106991 arch/x86/kernel/apic/apic_noop.c | 2 +-
106992 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
106993 arch/x86/kernel/apic/es7000_32.c | 5 +-
106994 arch/x86/kernel/apic/io_apic.c | 8 +-
106995 arch/x86/kernel/apic/numaq_32.c | 3 +-
106996 arch/x86/kernel/apic/probe_32.c | 2 +-
106997 arch/x86/kernel/apic/summit_32.c | 2 +-
106998 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
106999 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
107000 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
107001 arch/x86/kernel/apm_32.c | 19 +-
107002 arch/x86/kernel/asm-offsets.c | 20 +
107003 arch/x86/kernel/asm-offsets_64.c | 1 +
107004 arch/x86/kernel/cpu/Makefile | 4 -
107005 arch/x86/kernel/cpu/amd.c | 2 +-
107006 arch/x86/kernel/cpu/common.c | 75 +-
107007 arch/x86/kernel/cpu/intel.c | 2 +-
107008 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
107009 arch/x86/kernel/cpu/mcheck/mce.c | 31 +-
107010 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
107011 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
107012 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
107013 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
107014 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
107015 arch/x86/kernel/cpu/perf_event.c | 8 +-
107016 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
107017 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 4 +-
107018 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
107019 arch/x86/kernel/cpuid.c | 2 +-
107020 arch/x86/kernel/crash.c | 4 +-
107021 arch/x86/kernel/doublefault_32.c | 8 +-
107022 arch/x86/kernel/dumpstack.c | 30 +-
107023 arch/x86/kernel/dumpstack_32.c | 34 +-
107024 arch/x86/kernel/dumpstack_64.c | 63 +-
107025 arch/x86/kernel/early_printk.c | 1 +
107026 arch/x86/kernel/entry_32.S | 354 ++-
107027 arch/x86/kernel/entry_64.S | 530 ++-
107028 arch/x86/kernel/ftrace.c | 14 +-
107029 arch/x86/kernel/head64.c | 1 -
107030 arch/x86/kernel/head_32.S | 237 +-
107031 arch/x86/kernel/head_64.S | 120 +-
107032 arch/x86/kernel/i386_ksyms_32.c | 8 +
107033 arch/x86/kernel/i387.c | 2 +-
107034 arch/x86/kernel/i8259.c | 10 +-
107035 arch/x86/kernel/io_delay.c | 2 +-
107036 arch/x86/kernel/ioport.c | 2 +-
107037 arch/x86/kernel/irq.c | 8 +-
107038 arch/x86/kernel/irq_32.c | 69 +-
107039 arch/x86/kernel/irq_64.c | 2 +-
107040 arch/x86/kernel/kdebugfs.c | 2 +-
107041 arch/x86/kernel/kgdb.c | 25 +-
107042 arch/x86/kernel/kprobes/core.c | 30 +-
107043 arch/x86/kernel/kprobes/opt.c | 16 +-
107044 arch/x86/kernel/kvm.c | 2 +-
107045 arch/x86/kernel/ldt.c | 31 +-
107046 arch/x86/kernel/machine_kexec_32.c | 6 +-
107047 arch/x86/kernel/microcode_core.c | 2 +-
107048 arch/x86/kernel/microcode_intel.c | 4 +-
107049 arch/x86/kernel/module.c | 76 +-
107050 arch/x86/kernel/msr.c | 2 +-
107051 arch/x86/kernel/nmi.c | 19 +-
107052 arch/x86/kernel/nmi_selftest.c | 4 +-
107053 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
107054 arch/x86/kernel/paravirt.c | 43 +-
107055 arch/x86/kernel/pci-calgary_64.c | 2 +-
107056 arch/x86/kernel/pci-iommu_table.c | 2 +-
107057 arch/x86/kernel/pci-swiotlb.c | 2 +-
107058 arch/x86/kernel/process.c | 57 +-
107059 arch/x86/kernel/process_32.c | 29 +-
107060 arch/x86/kernel/process_64.c | 15 +-
107061 arch/x86/kernel/ptrace.c | 25 +-
107062 arch/x86/kernel/pvclock.c | 8 +-
107063 arch/x86/kernel/reboot.c | 44 +-
107064 arch/x86/kernel/relocate_kernel_64.S | 4 +-
107065 arch/x86/kernel/setup.c | 19 +-
107066 arch/x86/kernel/setup_percpu.c | 29 +-
107067 arch/x86/kernel/signal.c | 15 +-
107068 arch/x86/kernel/smp.c | 2 +-
107069 arch/x86/kernel/smpboot.c | 15 +-
107070 arch/x86/kernel/step.c | 10 +-
107071 arch/x86/kernel/sys_i386_32.c | 248 +
107072 arch/x86/kernel/sys_x86_64.c | 19 +-
107073 arch/x86/kernel/tboot.c | 14 +-
107074 arch/x86/kernel/time.c | 10 +-
107075 arch/x86/kernel/tls.c | 7 +-
107076 arch/x86/kernel/traps.c | 64 +-
107077 arch/x86/kernel/uprobes.c | 2 +-
107078 arch/x86/kernel/vm86_32.c | 6 +-
107079 arch/x86/kernel/vmlinux.lds.S | 148 +-
107080 arch/x86/kernel/vsyscall_64.c | 12 +-
107081 arch/x86/kernel/x8664_ksyms_64.c | 2 -
107082 arch/x86/kernel/x86_init.c | 8 +-
107083 arch/x86/kernel/xsave.c | 2 +
107084 arch/x86/kvm/cpuid.c | 21 +-
107085 arch/x86/kvm/emulate.c | 4 +-
107086 arch/x86/kvm/lapic.c | 2 +-
107087 arch/x86/kvm/paging_tmpl.h | 2 +-
107088 arch/x86/kvm/svm.c | 8 +
107089 arch/x86/kvm/vmx.c | 57 +-
107090 arch/x86/kvm/x86.c | 10 +-
107091 arch/x86/lguest/boot.c | 3 +-
107092 arch/x86/lib/atomic64_386_32.S | 164 +
107093 arch/x86/lib/atomic64_cx8_32.S | 103 +-
107094 arch/x86/lib/checksum_32.S | 100 +-
107095 arch/x86/lib/clear_page_64.S | 5 +-
107096 arch/x86/lib/cmpxchg16b_emu.S | 2 +
107097 arch/x86/lib/copy_page_64.S | 24 +-
107098 arch/x86/lib/copy_user_64.S | 47 +-
107099 arch/x86/lib/copy_user_nocache_64.S | 20 +-
107100 arch/x86/lib/csum-copy_64.S | 2 +
107101 arch/x86/lib/csum-wrappers_64.c | 4 +-
107102 arch/x86/lib/getuser.S | 70 +-
107103 arch/x86/lib/insn.c | 6 +-
107104 arch/x86/lib/iomap_copy_64.S | 2 +
107105 arch/x86/lib/memcpy_64.S | 18 +-
107106 arch/x86/lib/memmove_64.S | 34 +-
107107 arch/x86/lib/memset_64.S | 7 +-
107108 arch/x86/lib/mmx_32.c | 243 +-
107109 arch/x86/lib/msr-reg.S | 18 +-
107110 arch/x86/lib/putuser.S | 90 +-
107111 arch/x86/lib/rwlock.S | 42 +
107112 arch/x86/lib/rwsem.S | 6 +-
107113 arch/x86/lib/thunk_64.S | 2 +
107114 arch/x86/lib/usercopy_32.c | 376 +-
107115 arch/x86/lib/usercopy_64.c | 25 +-
107116 arch/x86/mm/extable.c | 25 +-
107117 arch/x86/mm/fault.c | 556 ++-
107118 arch/x86/mm/gup.c | 2 +-
107119 arch/x86/mm/highmem_32.c | 4 +
107120 arch/x86/mm/hugetlbpage.c | 30 +-
107121 arch/x86/mm/init.c | 90 +-
107122 arch/x86/mm/init_32.c | 119 +-
107123 arch/x86/mm/init_64.c | 44 +-
107124 arch/x86/mm/iomap_32.c | 4 +
107125 arch/x86/mm/ioremap.c | 15 +-
107126 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
107127 arch/x86/mm/mmap.c | 41 +-
107128 arch/x86/mm/mmio-mod.c | 10 +-
107129 arch/x86/mm/numa.c | 2 +-
107130 arch/x86/mm/pageattr-test.c | 2 +-
107131 arch/x86/mm/pageattr.c | 33 +-
107132 arch/x86/mm/pat.c | 12 +-
107133 arch/x86/mm/pf_in.c | 10 +-
107134 arch/x86/mm/pgtable.c | 137 +-
107135 arch/x86/mm/pgtable_32.c | 3 +
107136 arch/x86/mm/physaddr.c | 4 +-
107137 arch/x86/mm/setup_nx.c | 7 +
107138 arch/x86/mm/tlb.c | 4 +
107139 arch/x86/net/bpf_jit.S | 14 +
107140 arch/x86/net/bpf_jit_comp.c | 37 +-
107141 arch/x86/oprofile/backtrace.c | 8 +-
107142 arch/x86/oprofile/nmi_int.c | 8 +-
107143 arch/x86/oprofile/op_model_amd.c | 8 +-
107144 arch/x86/oprofile/op_model_ppro.c | 7 +-
107145 arch/x86/oprofile/op_x86_model.h | 2 +-
107146 arch/x86/pci/amd_bus.c | 2 +-
107147 arch/x86/pci/irq.c | 8 +-
107148 arch/x86/pci/mrst.c | 4 +-
107149 arch/x86/pci/pcbios.c | 144 +-
107150 arch/x86/platform/efi/efi_32.c | 19 +
107151 arch/x86/platform/efi/efi_stub_32.S | 64 +-
107152 arch/x86/platform/efi/efi_stub_64.S | 8 +
107153 arch/x86/platform/mrst/mrst.c | 6 +-
107154 arch/x86/platform/olpc/olpc_dt.c | 2 +-
107155 arch/x86/power/cpu.c | 4 +-
107156 arch/x86/realmode/init.c | 8 +-
107157 arch/x86/realmode/rm/Makefile | 3 +
107158 arch/x86/realmode/rm/header.S | 4 +-
107159 arch/x86/realmode/rm/trampoline_32.S | 12 +-
107160 arch/x86/realmode/rm/trampoline_64.S | 2 +-
107161 arch/x86/tools/relocs.c | 95 +-
107162 arch/x86/vdso/Makefile | 2 +-
107163 arch/x86/vdso/vdso32-setup.c | 23 +-
107164 arch/x86/vdso/vma.c | 29 +-
107165 arch/x86/xen/enlighten.c | 47 +-
107166 arch/x86/xen/mmu.c | 9 +
107167 arch/x86/xen/smp.c | 18 +-
107168 arch/x86/xen/xen-asm_32.S | 12 +-
107169 arch/x86/xen/xen-head.S | 11 +
107170 arch/x86/xen/xen-ops.h | 2 -
107171 block/blk-iopoll.c | 4 +-
107172 block/blk-map.c | 2 +-
107173 block/blk-softirq.c | 4 +-
107174 block/bsg.c | 12 +-
107175 block/compat_ioctl.c | 2 +-
107176 block/partitions/efi.c | 8 +-
107177 block/scsi_ioctl.c | 27 +-
107178 crypto/cryptd.c | 4 +-
107179 drivers/acpi/apei/apei-internal.h | 2 +-
107180 drivers/acpi/apei/cper.c | 8 +-
107181 drivers/acpi/bgrt.c | 6 +-
107182 drivers/acpi/blacklist.c | 4 +-
107183 drivers/acpi/ec_sys.c | 12 +-
107184 drivers/acpi/processor_idle.c | 2 +-
107185 drivers/acpi/sysfs.c | 4 +-
107186 drivers/ata/libahci.c | 2 +-
107187 drivers/ata/libata-core.c | 8 +-
107188 drivers/ata/pata_arasan_cf.c | 4 +-
107189 drivers/atm/adummy.c | 2 +-
107190 drivers/atm/ambassador.c | 8 +-
107191 drivers/atm/atmtcp.c | 14 +-
107192 drivers/atm/eni.c | 10 +-
107193 drivers/atm/firestream.c | 8 +-
107194 drivers/atm/fore200e.c | 14 +-
107195 drivers/atm/he.c | 18 +-
107196 drivers/atm/horizon.c | 4 +-
107197 drivers/atm/idt77252.c | 36 +-
107198 drivers/atm/iphase.c | 34 +-
107199 drivers/atm/lanai.c | 12 +-
107200 drivers/atm/nicstar.c | 46 +-
107201 drivers/atm/solos-pci.c | 4 +-
107202 drivers/atm/suni.c | 4 +-
107203 drivers/atm/uPD98402.c | 16 +-
107204 drivers/atm/zatm.c | 6 +-
107205 drivers/base/bus.c | 4 +-
107206 drivers/base/devtmpfs.c | 2 +-
107207 drivers/base/node.c | 2 +-
107208 drivers/base/power/domain.c | 4 +-
107209 drivers/base/power/wakeup.c | 8 +-
107210 drivers/base/syscore.c | 4 +-
107211 drivers/block/cciss.c | 28 +-
107212 drivers/block/cciss.h | 2 +-
107213 drivers/block/cpqarray.c | 28 +-
107214 drivers/block/cpqarray.h | 2 +-
107215 drivers/block/drbd/drbd_int.h | 6 +-
107216 drivers/block/drbd/drbd_main.c | 8 +-
107217 drivers/block/drbd/drbd_receiver.c | 22 +-
107218 drivers/block/loop.c | 2 +-
107219 drivers/block/pktcdvd.c | 2 +-
107220 drivers/cdrom/cdrom.c | 9 +-
107221 drivers/cdrom/gdrom.c | 1 -
107222 drivers/char/agp/frontend.c | 2 +-
107223 drivers/char/hpet.c | 2 +-
107224 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
107225 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
107226 drivers/char/mem.c | 41 +-
107227 drivers/char/nvram.c | 2 +-
107228 drivers/char/pcmcia/synclink_cs.c | 18 +-
107229 drivers/char/random.c | 10 +-
107230 drivers/char/sonypi.c | 9 +-
107231 drivers/char/tpm/tpm_acpi.c | 3 +-
107232 drivers/char/tpm/tpm_eventlog.c | 7 +-
107233 drivers/char/virtio_console.c | 4 +-
107234 drivers/clocksource/arm_arch_timer.c | 2 +-
107235 drivers/clocksource/metag_generic.c | 2 +-
107236 drivers/cpufreq/acpi-cpufreq.c | 20 +-
107237 drivers/cpufreq/cpufreq.c | 9 +-
107238 drivers/cpufreq/cpufreq_governor.c | 4 +-
107239 drivers/cpufreq/cpufreq_governor.h | 2 +-
107240 drivers/cpufreq/cpufreq_stats.c | 2 +-
107241 drivers/cpufreq/p4-clockmod.c | 12 +-
107242 drivers/cpufreq/speedstep-centrino.c | 7 +-
107243 drivers/cpuidle/cpuidle.c | 2 +-
107244 drivers/cpuidle/governor.c | 4 +-
107245 drivers/cpuidle/sysfs.c | 2 +-
107246 drivers/devfreq/devfreq.c | 4 +-
107247 drivers/dma/sh/shdma.c | 2 +-
107248 drivers/edac/edac_mc_sysfs.c | 12 +-
107249 drivers/edac/edac_pci_sysfs.c | 22 +-
107250 drivers/edac/mce_amd.h | 2 +-
107251 drivers/firewire/core-card.c | 2 +-
107252 drivers/firewire/core-cdev.c | 3 +-
107253 drivers/firewire/core-device.c | 2 +-
107254 drivers/firewire/core-transaction.c | 1 +
107255 drivers/firewire/core.h | 1 +
107256 drivers/firmware/dmi-id.c | 2 +-
107257 drivers/firmware/dmi_scan.c | 7 +-
107258 drivers/firmware/efivars.c | 4 +-
107259 drivers/firmware/google/memconsole.c | 4 +-
107260 drivers/gpio/gpio-ich.c | 2 +-
107261 drivers/gpio/gpio-vr41xx.c | 2 +-
107262 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
107263 drivers/gpu/drm/drm_drv.c | 6 +-
107264 drivers/gpu/drm/drm_fops.c | 18 +-
107265 drivers/gpu/drm/drm_global.c | 14 +-
107266 drivers/gpu/drm/drm_info.c | 14 +-
107267 drivers/gpu/drm/drm_ioc32.c | 13 +-
107268 drivers/gpu/drm/drm_ioctl.c | 2 +-
107269 drivers/gpu/drm/drm_lock.c | 4 +-
107270 drivers/gpu/drm/drm_stub.c | 2 +-
107271 drivers/gpu/drm/i810/i810_dma.c | 8 +-
107272 drivers/gpu/drm/i810/i810_drv.h | 4 +-
107273 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
107274 drivers/gpu/drm/i915/i915_dma.c | 2 +-
107275 drivers/gpu/drm/i915/i915_drv.h | 4 +-
107276 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +-
107277 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
107278 drivers/gpu/drm/i915/i915_irq.c | 22 +-
107279 drivers/gpu/drm/i915/intel_display.c | 26 +-
107280 drivers/gpu/drm/mga/mga_drv.h | 4 +-
107281 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
107282 drivers/gpu/drm/mga/mga_irq.c | 8 +-
107283 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
107284 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
107285 drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
107286 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
107287 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
107288 drivers/gpu/drm/r128/r128_cce.c | 2 +-
107289 drivers/gpu/drm/r128/r128_drv.h | 4 +-
107290 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
107291 drivers/gpu/drm/r128/r128_irq.c | 4 +-
107292 drivers/gpu/drm/r128/r128_state.c | 4 +-
107293 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
107294 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
107295 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
107296 drivers/gpu/drm/radeon/radeon_ioc32.c | 13 +-
107297 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
107298 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
107299 drivers/gpu/drm/radeon/radeon_ttm.c | 37 +-
107300 drivers/gpu/drm/radeon/rs690.c | 4 +-
107301 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
107302 drivers/gpu/drm/udl/udl_fb.c | 1 -
107303 drivers/gpu/drm/via/via_drv.h | 4 +-
107304 drivers/gpu/drm/via/via_irq.c | 18 +-
107305 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
107306 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
107307 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
107308 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
107309 drivers/hid/hid-core.c | 4 +-
107310 drivers/hv/channel.c | 4 +-
107311 drivers/hv/hv.c | 2 +-
107312 drivers/hv/hyperv_vmbus.h | 2 +-
107313 drivers/hv/vmbus_drv.c | 4 +-
107314 drivers/hwmon/acpi_power_meter.c | 4 +-
107315 drivers/hwmon/applesmc.c | 2 +-
107316 drivers/hwmon/asus_atk0110.c | 10 +-
107317 drivers/hwmon/coretemp.c | 2 +-
107318 drivers/hwmon/ibmaem.c | 2 +-
107319 drivers/hwmon/sht15.c | 12 +-
107320 drivers/hwmon/via-cputemp.c | 2 +-
107321 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
107322 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
107323 drivers/ide/ide-cd.c | 2 +-
107324 drivers/iio/industrialio-core.c | 2 +-
107325 drivers/infiniband/core/cm.c | 32 +-
107326 drivers/infiniband/core/fmr_pool.c | 20 +-
107327 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
107328 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
107329 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
107330 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
107331 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
107332 drivers/infiniband/hw/nes/nes.c | 4 +-
107333 drivers/infiniband/hw/nes/nes.h | 40 +-
107334 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
107335 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
107336 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
107337 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
107338 drivers/infiniband/hw/qib/qib.h | 1 +
107339 drivers/input/gameport/gameport.c | 4 +-
107340 drivers/input/input.c | 4 +-
107341 drivers/input/joystick/sidewinder.c | 1 +
107342 drivers/input/joystick/xpad.c | 4 +-
107343 drivers/input/mouse/psmouse.h | 2 +-
107344 drivers/input/mousedev.c | 2 +-
107345 drivers/input/serio/serio.c | 4 +-
107346 drivers/iommu/iommu.c | 2 +-
107347 drivers/iommu/irq_remapping.c | 10 +-
107348 drivers/irqchip/irq-gic.c | 4 +-
107349 drivers/isdn/capi/capi.c | 10 +-
107350 drivers/isdn/gigaset/interface.c | 8 +-
107351 drivers/isdn/hardware/avm/b1.c | 4 +-
107352 drivers/isdn/i4l/isdn_tty.c | 22 +-
107353 drivers/isdn/icn/icn.c | 2 +-
107354 drivers/leds/leds-clevo-mail.c | 2 +-
107355 drivers/leds/leds-ss4200.c | 2 +-
107356 drivers/lguest/core.c | 10 +-
107357 drivers/lguest/page_tables.c | 2 +-
107358 drivers/lguest/x86/core.c | 12 +-
107359 drivers/lguest/x86/switcher_32.S | 27 +-
107360 drivers/md/bitmap.c | 2 +-
107361 drivers/md/dm-ioctl.c | 2 +-
107362 drivers/md/dm-raid1.c | 16 +-
107363 drivers/md/dm-stripe.c | 10 +-
107364 drivers/md/dm-table.c | 2 +-
107365 drivers/md/dm-thin-metadata.c | 4 +-
107366 drivers/md/dm.c | 16 +-
107367 drivers/md/md.c | 26 +-
107368 drivers/md/md.h | 6 +-
107369 drivers/md/persistent-data/dm-space-map.h | 1 +
107370 drivers/md/raid1.c | 4 +-
107371 drivers/md/raid10.c | 16 +-
107372 drivers/md/raid5.c | 10 +-
107373 drivers/media/dvb-core/dvbdev.c | 2 +-
107374 drivers/media/dvb-frontends/dib3000.h | 2 +-
107375 drivers/media/pci/cx88/cx88-video.c | 6 +-
107376 drivers/media/platform/omap/omap_vout.c | 11 +-
107377 drivers/media/platform/s5p-tv/mixer.h | 2 +-
107378 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
107379 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
107380 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
107381 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
107382 drivers/media/radio/radio-cadet.c | 2 +
107383 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
107384 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
107385 drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
107386 drivers/message/fusion/mptsas.c | 34 +-
107387 drivers/message/fusion/mptscsih.c | 19 +-
107388 drivers/message/i2o/i2o_proc.c | 51 +-
107389 drivers/message/i2o/iop.c | 8 +-
107390 drivers/mfd/janz-cmodio.c | 1 +
107391 drivers/mfd/twl4030-irq.c | 9 +-
107392 drivers/mfd/twl6030-irq.c | 10 +-
107393 drivers/misc/c2port/core.c | 4 +-
107394 drivers/misc/kgdbts.c | 4 +-
107395 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
107396 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
107397 drivers/misc/sgi-gru/gruhandles.c | 4 +-
107398 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
107399 drivers/misc/sgi-gru/grutables.h | 154 +-
107400 drivers/misc/sgi-xp/xp.h | 2 +-
107401 drivers/misc/sgi-xp/xpc.h | 3 +-
107402 drivers/misc/sgi-xp/xpc_main.c | 4 +-
107403 drivers/mmc/core/mmc_ops.c | 2 +-
107404 drivers/mmc/host/dw_mmc.h | 2 +-
107405 drivers/mmc/host/sdhci-s3c.c | 8 +-
107406 drivers/mtd/devices/doc2000.c | 2 +-
107407 drivers/mtd/nand/denali.c | 1 +
107408 drivers/mtd/nftlmount.c | 1 +
107409 drivers/mtd/sm_ftl.c | 2 +-
107410 drivers/net/bonding/bond_main.c | 2 +-
107411 drivers/net/ethernet/8390/ax88796.c | 4 +-
107412 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
107413 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
107414 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
107415 drivers/net/ethernet/broadcom/tg3.h | 1 +
107416 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
107417 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
107418 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
107419 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
107420 drivers/net/ethernet/faraday/ftmac100.c | 2 +
107421 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
107422 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
107423 drivers/net/ethernet/realtek/r8169.c | 8 +-
107424 drivers/net/ethernet/sfc/ptp.c | 2 +-
107425 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
107426 drivers/net/hyperv/hyperv_net.h | 2 +-
107427 drivers/net/hyperv/rndis_filter.c | 4 +-
107428 drivers/net/ieee802154/fakehard.c | 2 +-
107429 drivers/net/macvlan.c | 18 +-
107430 drivers/net/macvtap.c | 2 +-
107431 drivers/net/ppp/ppp_generic.c | 4 +-
107432 drivers/net/slip/slhc.c | 2 +-
107433 drivers/net/team/team.c | 2 +-
107434 drivers/net/tun.c | 5 +-
107435 drivers/net/usb/hso.c | 23 +-
107436 drivers/net/vxlan.c | 2 +-
107437 drivers/net/wireless/at76c50x-usb.c | 2 +-
107438 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
107439 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
107440 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
107441 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
107442 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
107443 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
107444 drivers/net/wireless/mac80211_hwsim.c | 32 +-
107445 drivers/net/wireless/rndis_wlan.c | 2 +-
107446 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
107447 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
107448 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
107449 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
107450 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
107451 drivers/oprofile/buffer_sync.c | 8 +-
107452 drivers/oprofile/event_buffer.c | 2 +-
107453 drivers/oprofile/oprof.c | 2 +-
107454 drivers/oprofile/oprofile_files.c | 2 +-
107455 drivers/oprofile/oprofile_stats.c | 10 +-
107456 drivers/oprofile/oprofile_stats.h | 10 +-
107457 drivers/oprofile/oprofilefs.c | 2 +-
107458 drivers/oprofile/timer_int.c | 2 +-
107459 drivers/parport/procfs.c | 4 +-
107460 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
107461 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
107462 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
107463 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
107464 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
107465 drivers/pci/hotplug/pciehp_core.c | 2 +-
107466 drivers/pci/pci-sysfs.c | 6 +-
107467 drivers/pci/pci.h | 2 +-
107468 drivers/pci/pcie/aspm.c | 6 +-
107469 drivers/pci/probe.c | 2 +-
107470 drivers/platform/x86/msi-laptop.c | 14 +-
107471 drivers/platform/x86/sony-laptop.c | 2 +-
107472 drivers/platform/x86/thinkpad_acpi.c | 70 +-
107473 drivers/pnp/pnpbios/bioscalls.c | 14 +-
107474 drivers/pnp/resource.c | 4 +-
107475 drivers/power/pda_power.c | 7 +-
107476 drivers/power/power_supply.h | 4 +-
107477 drivers/power/power_supply_core.c | 7 +-
107478 drivers/power/power_supply_sysfs.c | 6 +-
107479 drivers/regulator/max8660.c | 6 +-
107480 drivers/regulator/max8973-regulator.c | 8 +-
107481 drivers/regulator/mc13892-regulator.c | 6 +-
107482 drivers/rtc/rtc-cmos.c | 4 +-
107483 drivers/rtc/rtc-ds1307.c | 2 +-
107484 drivers/rtc/rtc-m48t59.c | 4 +-
107485 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
107486 drivers/scsi/bfa/bfa_ioc.h | 4 +-
107487 drivers/scsi/hosts.c | 4 +-
107488 drivers/scsi/hpsa.c | 30 +-
107489 drivers/scsi/hpsa.h | 2 +-
107490 drivers/scsi/libfc/fc_exch.c | 50 +-
107491 drivers/scsi/libsas/sas_ata.c | 2 +-
107492 drivers/scsi/lpfc/lpfc.h | 8 +-
107493 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
107494 drivers/scsi/lpfc/lpfc_init.c | 6 +-
107495 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
107496 drivers/scsi/pmcraid.c | 20 +-
107497 drivers/scsi/pmcraid.h | 8 +-
107498 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
107499 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
107500 drivers/scsi/qla2xxx/qla_os.c | 6 +-
107501 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
107502 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
107503 drivers/scsi/scsi.c | 2 +-
107504 drivers/scsi/scsi_lib.c | 6 +-
107505 drivers/scsi/scsi_sysfs.c | 2 +-
107506 drivers/scsi/scsi_tgt_lib.c | 2 +-
107507 drivers/scsi/scsi_transport_fc.c | 8 +-
107508 drivers/scsi/scsi_transport_iscsi.c | 6 +-
107509 drivers/scsi/scsi_transport_srp.c | 6 +-
107510 drivers/scsi/sd.c | 2 +-
107511 drivers/scsi/sg.c | 2 +-
107512 drivers/spi/spi.c | 2 +-
107513 drivers/staging/iio/iio_hwmon.c | 2 +-
107514 drivers/staging/octeon/ethernet-rx.c | 12 +-
107515 drivers/staging/octeon/ethernet.c | 8 +-
107516 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
107517 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
107518 drivers/staging/usbip/vhci.h | 2 +-
107519 drivers/staging/usbip/vhci_hcd.c | 6 +-
107520 drivers/staging/usbip/vhci_rx.c | 2 +-
107521 drivers/staging/vt6655/hostap.c | 7 +-
107522 drivers/staging/vt6656/hostap.c | 7 +-
107523 drivers/staging/zcache/tmem.c | 4 +-
107524 drivers/staging/zcache/tmem.h | 2 +
107525 drivers/target/target_core_device.c | 2 +-
107526 drivers/target/target_core_transport.c | 2 +-
107527 drivers/tty/cyclades.c | 6 +-
107528 drivers/tty/hvc/hvc_console.c | 14 +-
107529 drivers/tty/hvc/hvcs.c | 21 +-
107530 drivers/tty/ipwireless/tty.c | 27 +-
107531 drivers/tty/moxa.c | 2 +-
107532 drivers/tty/n_gsm.c | 4 +-
107533 drivers/tty/n_tty.c | 3 +-
107534 drivers/tty/pty.c | 4 +-
107535 drivers/tty/rocket.c | 6 +-
107536 drivers/tty/serial/kgdboc.c | 32 +-
107537 drivers/tty/serial/samsung.c | 9 +-
107538 drivers/tty/serial/serial_core.c | 8 +-
107539 drivers/tty/synclink.c | 34 +-
107540 drivers/tty/synclink_gt.c | 28 +-
107541 drivers/tty/synclinkmp.c | 34 +-
107542 drivers/tty/tty_io.c | 2 +-
107543 drivers/tty/tty_ldisc.c | 10 +-
107544 drivers/tty/tty_port.c | 22 +-
107545 drivers/uio/uio.c | 21 +-
107546 drivers/usb/atm/cxacru.c | 2 +-
107547 drivers/usb/atm/usbatm.c | 24 +-
107548 drivers/usb/core/devices.c | 6 +-
107549 drivers/usb/core/hcd.c | 4 +-
107550 drivers/usb/core/message.c | 2 +-
107551 drivers/usb/core/sysfs.c | 2 +-
107552 drivers/usb/core/usb.c | 2 +-
107553 drivers/usb/early/ehci-dbgp.c | 16 +-
107554 drivers/usb/gadget/u_serial.c | 22 +-
107555 drivers/usb/serial/console.c | 6 +-
107556 drivers/usb/storage/usb.h | 2 +-
107557 drivers/usb/wusbcore/wa-hc.h | 4 +-
107558 drivers/usb/wusbcore/wa-xfer.c | 2 +-
107559 drivers/video/aty/aty128fb.c | 2 +-
107560 drivers/video/aty/atyfb_base.c | 8 +-
107561 drivers/video/aty/mach64_cursor.c | 5 +-
107562 drivers/video/backlight/kb3886_bl.c | 2 +-
107563 drivers/video/fb_defio.c | 6 +-
107564 drivers/video/fbcmap.c | 3 +-
107565 drivers/video/fbmem.c | 6 +-
107566 drivers/video/i810/i810_accel.c | 1 +
107567 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
107568 drivers/video/nvidia/nvidia.c | 27 +-
107569 drivers/video/s1d13xxxfb.c | 6 +-
107570 drivers/video/smscufx.c | 4 +-
107571 drivers/video/udlfb.c | 36 +-
107572 drivers/video/uvesafb.c | 53 +-
107573 drivers/video/vesafb.c | 58 +-
107574 drivers/video/via/via_clock.h | 2 +-
107575 fs/9p/vfs_inode.c | 2 +-
107576 fs/Kconfig.binfmt | 2 +-
107577 fs/aio.c | 11 +-
107578 fs/autofs4/waitq.c | 2 +-
107579 fs/befs/endian.h | 4 +-
107580 fs/befs/linuxvfs.c | 2 +-
107581 fs/binfmt_aout.c | 23 +-
107582 fs/binfmt_elf.c | 605 +++-
107583 fs/binfmt_flat.c | 6 +
107584 fs/bio.c | 6 +-
107585 fs/block_dev.c | 2 +-
107586 fs/btrfs/ctree.c | 9 +-
107587 fs/btrfs/super.c | 2 +-
107588 fs/cachefiles/bind.c | 6 +-
107589 fs/cachefiles/daemon.c | 8 +-
107590 fs/cachefiles/internal.h | 12 +-
107591 fs/cachefiles/namei.c | 2 +-
107592 fs/cachefiles/proc.c | 12 +-
107593 fs/cachefiles/rdwr.c | 2 +-
107594 fs/ceph/dir.c | 2 +-
107595 fs/cifs/cifs_debug.c | 12 +-
107596 fs/cifs/cifsfs.c | 8 +-
107597 fs/cifs/cifsglob.h | 54 +-
107598 fs/cifs/link.c | 2 +-
107599 fs/cifs/misc.c | 4 +-
107600 fs/cifs/smb1ops.c | 80 +-
107601 fs/cifs/smb2ops.c | 84 +-
107602 fs/cifs/smb2pdu.c | 3 +-
107603 fs/coda/cache.c | 10 +-
107604 fs/compat.c | 6 +-
107605 fs/compat_binfmt_elf.c | 2 +
107606 fs/compat_ioctl.c | 8 +-
107607 fs/configfs/dir.c | 10 +-
107608 fs/coredump.c | 24 +-
107609 fs/dcache.c | 2 +-
107610 fs/ecryptfs/inode.c | 4 +-
107611 fs/ecryptfs/miscdev.c | 2 +-
107612 fs/ecryptfs/read_write.c | 2 +-
107613 fs/exec.c | 362 ++-
107614 fs/ext4/ext4.h | 20 +-
107615 fs/ext4/mballoc.c | 44 +-
107616 fs/ext4/super.c | 2 +-
107617 fs/fhandle.c | 3 +-
107618 fs/fifo.c | 22 +-
107619 fs/fs_struct.c | 8 +-
107620 fs/fscache/cookie.c | 36 +-
107621 fs/fscache/internal.h | 196 +-
107622 fs/fscache/object.c | 28 +-
107623 fs/fscache/operation.c | 30 +-
107624 fs/fscache/page.c | 110 +-
107625 fs/fscache/stats.c | 344 +-
107626 fs/fuse/cuse.c | 10 +-
107627 fs/fuse/dev.c | 2 +-
107628 fs/fuse/dir.c | 2 +-
107629 fs/gfs2/inode.c | 2 +-
107630 fs/hugetlbfs/inode.c | 13 +-
107631 fs/inode.c | 4 +-
107632 fs/jffs2/erase.c | 3 +-
107633 fs/jffs2/wbuf.c | 3 +-
107634 fs/jfs/super.c | 6 +-
107635 fs/libfs.c | 10 +-
107636 fs/lockd/clntproc.c | 4 +-
107637 fs/locks.c | 8 +-
107638 fs/namei.c | 15 +-
107639 fs/namespace.c | 2 +-
107640 fs/nfs/callback_xdr.c | 2 +-
107641 fs/nfs/inode.c | 6 +-
107642 fs/nfsd/nfs4proc.c | 2 +-
107643 fs/nfsd/nfs4xdr.c | 6 +-
107644 fs/nfsd/nfscache.c | 8 +-
107645 fs/nfsd/vfs.c | 6 +-
107646 fs/nls/nls_base.c | 18 +-
107647 fs/nls/nls_euc-jp.c | 6 +-
107648 fs/nls/nls_koi8-ru.c | 6 +-
107649 fs/notify/fanotify/fanotify_user.c | 4 +-
107650 fs/notify/notification.c | 4 +-
107651 fs/ntfs/dir.c | 2 +-
107652 fs/ntfs/file.c | 4 +-
107653 fs/ocfs2/localalloc.c | 2 +-
107654 fs/ocfs2/ocfs2.h | 10 +-
107655 fs/ocfs2/suballoc.c | 12 +-
107656 fs/ocfs2/super.c | 20 +-
107657 fs/pipe.c | 33 +-
107658 fs/proc/array.c | 20 +
107659 fs/proc/base.c | 4 +-
107660 fs/proc/kcore.c | 32 +-
107661 fs/proc/meminfo.c | 2 +-
107662 fs/proc/nommu.c | 2 +-
107663 fs/proc/proc_sysctl.c | 18 +-
107664 fs/proc/self.c | 2 +-
107665 fs/proc/task_mmu.c | 39 +-
107666 fs/proc/task_nommu.c | 4 +-
107667 fs/qnx6/qnx6.h | 4 +-
107668 fs/quota/netlink.c | 4 +-
107669 fs/readdir.c | 2 +-
107670 fs/reiserfs/do_balan.c | 2 +-
107671 fs/reiserfs/procfs.c | 2 +-
107672 fs/reiserfs/reiserfs.h | 4 +-
107673 fs/seq_file.c | 2 +-
107674 fs/splice.c | 36 +-
107675 fs/sysfs/bin.c | 6 +-
107676 fs/sysfs/dir.c | 2 +-
107677 fs/sysfs/file.c | 10 +-
107678 fs/sysfs/symlink.c | 2 +-
107679 fs/sysv/sysv.h | 2 +-
107680 fs/ubifs/io.c | 2 +-
107681 fs/udf/misc.c | 2 +-
107682 fs/ufs/swab.h | 4 +-
107683 fs/xattr.c | 21 +
107684 fs/xattr_acl.c | 4 +-
107685 fs/xfs/xfs_bmap.c | 2 +-
107686 fs/xfs/xfs_dir2_sf.c | 10 +-
107687 fs/xfs/xfs_ioctl.c | 2 +-
107688 fs/xfs/xfs_iops.c | 2 +-
107689 include/asm-generic/4level-fixup.h | 2 +
107690 include/asm-generic/atomic-long.h | 210 +
107691 include/asm-generic/atomic.h | 2 +-
107692 include/asm-generic/atomic64.h | 12 +
107693 include/asm-generic/cache.h | 4 +-
107694 include/asm-generic/emergency-restart.h | 2 +-
107695 include/asm-generic/kmap_types.h | 4 +-
107696 include/asm-generic/local.h | 13 +
107697 include/asm-generic/pgtable-nopmd.h | 18 +-
107698 include/asm-generic/pgtable-nopud.h | 15 +-
107699 include/asm-generic/pgtable.h | 8 +
107700 include/asm-generic/vmlinux.lds.h | 10 +-
107701 include/crypto/algapi.h | 2 +-
107702 include/drm/drmP.h | 17 +-
107703 include/drm/drm_crtc_helper.h | 2 +-
107704 include/drm/ttm/ttm_memory.h | 2 +-
107705 include/keys/asymmetric-subtype.h | 2 +-
107706 include/linux/atmdev.h | 4 +-
107707 include/linux/binfmts.h | 3 +-
107708 include/linux/blkdev.h | 2 +-
107709 include/linux/blktrace_api.h | 2 +-
107710 include/linux/cache.h | 4 +
107711 include/linux/cdrom.h | 1 -
107712 include/linux/cleancache.h | 2 +-
107713 include/linux/compat.h | 6 +-
107714 include/linux/compiler-gcc4.h | 20 +
107715 include/linux/compiler.h | 65 +-
107716 include/linux/completion.h | 6 +-
107717 include/linux/configfs.h | 2 +-
107718 include/linux/cpu.h | 2 +-
107719 include/linux/cpufreq.h | 3 +-
107720 include/linux/cpuidle.h | 5 +-
107721 include/linux/cpumask.h | 12 +-
107722 include/linux/crypto.h | 6 +-
107723 include/linux/ctype.h | 2 +-
107724 include/linux/decompress/mm.h | 2 +-
107725 include/linux/devfreq.h | 2 +-
107726 include/linux/device.h | 7 +-
107727 include/linux/dma-mapping.h | 2 +-
107728 include/linux/dmaengine.h | 4 +-
107729 include/linux/efi.h | 1 +
107730 include/linux/elf.h | 2 +
107731 include/linux/err.h | 4 +-
107732 include/linux/extcon.h | 2 +-
107733 include/linux/fb.h | 2 +-
107734 include/linux/filter.h | 4 +
107735 include/linux/frontswap.h | 2 +-
107736 include/linux/fs.h | 3 +-
107737 include/linux/fs_struct.h | 2 +-
107738 include/linux/fscache-cache.h | 4 +-
107739 include/linux/fscache.h | 2 +-
107740 include/linux/fsnotify.h | 2 +-
107741 include/linux/ftrace_event.h | 2 +-
107742 include/linux/genhd.h | 2 +-
107743 include/linux/genl_magic_func.h | 2 +-
107744 include/linux/gfp.h | 12 +-
107745 include/linux/highmem.h | 12 +
107746 include/linux/hwmon-sysfs.h | 5 +-
107747 include/linux/i2c.h | 1 +
107748 include/linux/i2o.h | 2 +-
107749 include/linux/if_pppox.h | 2 +-
107750 include/linux/init.h | 33 +-
107751 include/linux/init_task.h | 7 +
107752 include/linux/interrupt.h | 8 +-
107753 include/linux/iommu.h | 2 +-
107754 include/linux/ioport.h | 2 +-
107755 include/linux/irq.h | 3 +-
107756 include/linux/irqchip/arm-gic.h | 2 +-
107757 include/linux/key-type.h | 2 +-
107758 include/linux/kgdb.h | 6 +-
107759 include/linux/kobject.h | 3 +-
107760 include/linux/kobject_ns.h | 2 +-
107761 include/linux/kref.h | 2 +-
107762 include/linux/kvm_host.h | 4 +-
107763 include/linux/libata.h | 2 +-
107764 include/linux/list.h | 15 +
107765 include/linux/math64.h | 6 +-
107766 include/linux/mm.h | 110 +-
107767 include/linux/mm_types.h | 20 +
107768 include/linux/mmiotrace.h | 4 +-
107769 include/linux/mmzone.h | 2 +-
107770 include/linux/mod_devicetable.h | 6 +-
107771 include/linux/module.h | 60 +-
107772 include/linux/moduleloader.h | 16 +
107773 include/linux/moduleparam.h | 4 +-
107774 include/linux/namei.h | 6 +-
107775 include/linux/net.h | 2 +-
107776 include/linux/netdevice.h | 3 +-
107777 include/linux/netfilter.h | 2 +-
107778 include/linux/netfilter/ipset/ip_set.h | 2 +-
107779 include/linux/netfilter/nfnetlink.h | 2 +-
107780 include/linux/nls.h | 2 +-
107781 include/linux/notifier.h | 3 +-
107782 include/linux/oprofile.h | 4 +-
107783 include/linux/pci_hotplug.h | 3 +-
107784 include/linux/perf_event.h | 12 +-
107785 include/linux/pipe_fs_i.h | 6 +-
107786 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
107787 include/linux/platform_data/usb-exynos.h | 2 +-
107788 include/linux/pm_domain.h | 2 +-
107789 include/linux/pm_runtime.h | 2 +-
107790 include/linux/pnp.h | 2 +-
107791 include/linux/poison.h | 4 +-
107792 include/linux/power/smartreflex.h | 2 +-
107793 include/linux/ppp-comp.h | 2 +-
107794 include/linux/proc_fs.h | 2 +-
107795 include/linux/random.h | 5 +
107796 include/linux/rculist.h | 16 +
107797 include/linux/reboot.h | 14 +-
107798 include/linux/regset.h | 3 +-
107799 include/linux/relay.h | 2 +-
107800 include/linux/rio.h | 2 +-
107801 include/linux/rmap.h | 4 +-
107802 include/linux/sched.h | 67 +-
107803 include/linux/sched/sysctl.h | 1 +
107804 include/linux/seq_file.h | 1 +
107805 include/linux/skbuff.h | 12 +-
107806 include/linux/slab.h | 36 +-
107807 include/linux/slab_def.h | 33 +-
107808 include/linux/slob_def.h | 4 +-
107809 include/linux/slub_def.h | 10 +-
107810 include/linux/sock_diag.h | 2 +-
107811 include/linux/sonet.h | 2 +-
107812 include/linux/sunrpc/addr.h | 8 +-
107813 include/linux/sunrpc/clnt.h | 2 +-
107814 include/linux/sunrpc/svc.h | 2 +-
107815 include/linux/sunrpc/svc_rdma.h | 18 +-
107816 include/linux/sunrpc/svcauth.h | 2 +-
107817 include/linux/swiotlb.h | 3 +-
107818 include/linux/syscalls.h | 2 +-
107819 include/linux/syscore_ops.h | 2 +-
107820 include/linux/sysctl.h | 6 +-
107821 include/linux/sysfs.h | 10 +-
107822 include/linux/sysrq.h | 3 +-
107823 include/linux/thread_info.h | 7 +
107824 include/linux/tty.h | 4 +-
107825 include/linux/tty_driver.h | 2 +-
107826 include/linux/tty_ldisc.h | 2 +-
107827 include/linux/types.h | 16 +
107828 include/linux/uaccess.h | 6 +-
107829 include/linux/unaligned/access_ok.h | 24 +-
107830 include/linux/usb.h | 4 +-
107831 include/linux/usb/renesas_usbhs.h | 2 +-
107832 include/linux/vermagic.h | 21 +-
107833 include/linux/vmalloc.h | 11 +-
107834 include/linux/vmstat.h | 20 +-
107835 include/linux/xattr.h | 5 +-
107836 include/linux/zlib.h | 3 +-
107837 include/media/v4l2-dev.h | 2 +-
107838 include/media/v4l2-ioctl.h | 1 -
107839 include/net/9p/transport.h | 2 +-
107840 include/net/bluetooth/l2cap.h | 2 +-
107841 include/net/caif/cfctrl.h | 6 +-
107842 include/net/flow.h | 2 +-
107843 include/net/genetlink.h | 2 +-
107844 include/net/gro_cells.h | 2 +-
107845 include/net/inet_connection_sock.h | 2 +-
107846 include/net/inetpeer.h | 8 +-
107847 include/net/ip.h | 2 +-
107848 include/net/ip_fib.h | 2 +-
107849 include/net/ip_vs.h | 8 +-
107850 include/net/irda/ircomm_tty.h | 1 +
107851 include/net/iucv/af_iucv.h | 2 +-
107852 include/net/llc_c_ac.h | 2 +-
107853 include/net/llc_c_ev.h | 4 +-
107854 include/net/llc_c_st.h | 2 +-
107855 include/net/llc_s_ac.h | 2 +-
107856 include/net/llc_s_st.h | 2 +-
107857 include/net/mac80211.h | 2 +-
107858 include/net/neighbour.h | 2 +-
107859 include/net/net_namespace.h | 12 +-
107860 include/net/netdma.h | 2 +-
107861 include/net/netlink.h | 2 +-
107862 include/net/netns/conntrack.h | 6 +-
107863 include/net/netns/ipv4.h | 2 +-
107864 include/net/protocol.h | 4 +-
107865 include/net/rtnetlink.h | 2 +-
107866 include/net/sctp/sctp.h | 6 +-
107867 include/net/sctp/sm.h | 4 +-
107868 include/net/sctp/structs.h | 2 +-
107869 include/net/sock.h | 6 +-
107870 include/net/tcp.h | 8 +-
107871 include/net/xfrm.h | 8 +-
107872 include/rdma/iw_cm.h | 2 +-
107873 include/scsi/libfc.h | 3 +-
107874 include/scsi/scsi_device.h | 6 +-
107875 include/scsi/scsi_transport_fc.h | 3 +-
107876 include/sound/soc.h | 4 +-
107877 include/target/target_core_base.h | 2 +-
107878 include/trace/events/irq.h | 4 +-
107879 include/uapi/linux/a.out.h | 8 +
107880 include/uapi/linux/byteorder/little_endian.h | 28 +-
107881 include/uapi/linux/elf.h | 28 +
107882 include/uapi/linux/screen_info.h | 3 +-
107883 include/uapi/linux/swab.h | 6 +-
107884 include/uapi/linux/sysctl.h | 6 +-
107885 include/uapi/linux/xattr.h | 4 +
107886 include/video/udlfb.h | 8 +-
107887 include/video/uvesafb.h | 1 +
107888 init/Kconfig | 2 +-
107889 init/Makefile | 3 +
107890 init/do_mounts.c | 14 +-
107891 init/do_mounts.h | 8 +-
107892 init/do_mounts_initrd.c | 22 +-
107893 init/do_mounts_md.c | 6 +-
107894 init/init_task.c | 4 +
107895 init/initramfs.c | 40 +-
107896 init/main.c | 77 +-
107897 ipc/ipc_sysctl.c | 10 +-
107898 ipc/mq_sysctl.c | 2 +-
107899 ipc/msg.c | 11 +-
107900 ipc/sem.c | 11 +-
107901 ipc/shm.c | 17 +-
107902 kernel/acct.c | 2 +-
107903 kernel/audit.c | 8 +-
107904 kernel/auditsc.c | 4 +-
107905 kernel/capability.c | 3 +
107906 kernel/compat.c | 40 +-
107907 kernel/debug/debug_core.c | 16 +-
107908 kernel/debug/kdb/kdb_main.c | 4 +-
107909 kernel/events/core.c | 28 +-
107910 kernel/exit.c | 4 +-
107911 kernel/fork.c | 167 +-
107912 kernel/futex.c | 9 +
107913 kernel/futex_compat.c | 2 +-
107914 kernel/gcov/base.c | 7 +-
107915 kernel/hrtimer.c | 4 +-
107916 kernel/irq_work.c | 7 +-
107917 kernel/jump_label.c | 5 +
107918 kernel/kallsyms.c | 39 +-
107919 kernel/kexec.c | 3 +-
107920 kernel/kmod.c | 4 +-
107921 kernel/kprobes.c | 8 +-
107922 kernel/ksysfs.c | 2 +-
107923 kernel/lockdep.c | 7 +-
107924 kernel/module.c | 337 +-
107925 kernel/mutex-debug.c | 12 +-
107926 kernel/mutex-debug.h | 4 +-
107927 kernel/mutex.c | 7 +-
107928 kernel/notifier.c | 17 +-
107929 kernel/panic.c | 3 +-
107930 kernel/pid.c | 2 +-
107931 kernel/pid_namespace.c | 2 +-
107932 kernel/posix-cpu-timers.c | 4 +-
107933 kernel/posix-timers.c | 20 +-
107934 kernel/power/process.c | 12 +-
107935 kernel/profile.c | 14 +-
107936 kernel/ptrace.c | 8 +-
107937 kernel/rcupdate.c | 4 +-
107938 kernel/rcutiny.c | 4 +-
107939 kernel/rcutiny_plugin.h | 2 +-
107940 kernel/rcutorture.c | 56 +-
107941 kernel/rcutree.c | 68 +-
107942 kernel/rcutree.h | 24 +-
107943 kernel/rcutree_plugin.h | 20 +-
107944 kernel/rcutree_trace.c | 22 +-
107945 kernel/rtmutex-tester.c | 24 +-
107946 kernel/sched/auto_group.c | 4 +-
107947 kernel/sched/core.c | 51 +-
107948 kernel/sched/fair.c | 4 +-
107949 kernel/signal.c | 12 +-
107950 kernel/smp.c | 2 +-
107951 kernel/smpboot.c | 4 +-
107952 kernel/softirq.c | 18 +-
107953 kernel/srcu.c | 4 +-
107954 kernel/sys.c | 10 +-
107955 kernel/sysctl.c | 39 +-
107956 kernel/time.c | 2 +-
107957 kernel/time/alarmtimer.c | 2 +-
107958 kernel/time/tick-broadcast.c | 2 +-
107959 kernel/time/timer_stats.c | 10 +-
107960 kernel/timer.c | 6 +-
107961 kernel/trace/blktrace.c | 6 +-
107962 kernel/trace/ftrace.c | 20 +-
107963 kernel/trace/ring_buffer.c | 76 +-
107964 kernel/trace/trace.c | 8 +-
107965 kernel/trace/trace.h | 2 +-
107966 kernel/trace/trace_events.c | 25 +-
107967 kernel/trace/trace_mmiotrace.c | 8 +-
107968 kernel/trace/trace_output.c | 12 +-
107969 kernel/trace/trace_stack.c | 2 +-
107970 kernel/user_namespace.c | 2 +-
107971 kernel/utsname_sysctl.c | 2 +-
107972 kernel/watchdog.c | 2 +-
107973 lib/Kconfig.debug | 6 +-
107974 lib/Makefile | 2 +-
107975 lib/bitmap.c | 8 +-
107976 lib/bug.c | 2 +
107977 lib/debugobjects.c | 2 +-
107978 lib/devres.c | 4 +-
107979 lib/div64.c | 4 +-
107980 lib/dma-debug.c | 4 +-
107981 lib/inflate.c | 2 +-
107982 lib/ioremap.c | 4 +-
107983 lib/kobject.c | 4 +-
107984 lib/list_debug.c | 126 +-
107985 lib/radix-tree.c | 2 +-
107986 lib/strncpy_from_user.c | 2 +-
107987 lib/strnlen_user.c | 2 +-
107988 lib/swiotlb.c | 2 +-
107989 lib/vsprintf.c | 12 +-
107990 mm/Kconfig | 6 +-
107991 mm/filemap.c | 2 +-
107992 mm/fremap.c | 5 +
107993 mm/highmem.c | 7 +-
107994 mm/hugetlb.c | 70 +-
107995 mm/internal.h | 1 +
107996 mm/maccess.c | 4 +-
107997 mm/madvise.c | 41 +
107998 mm/memory-failure.c | 26 +-
107999 mm/memory.c | 424 ++-
108000 mm/mempolicy.c | 26 +
108001 mm/mlock.c | 16 +-
108002 mm/mmap.c | 576 ++-
108003 mm/mprotect.c | 139 +-
108004 mm/mremap.c | 44 +-
108005 mm/nommu.c | 21 +-
108006 mm/page-writeback.c | 4 +-
108007 mm/page_alloc.c | 41 +-
108008 mm/percpu.c | 2 +-
108009 mm/process_vm_access.c | 14 +-
108010 mm/rmap.c | 38 +-
108011 mm/shmem.c | 19 +-
108012 mm/slab.c | 105 +-
108013 mm/slab.h | 5 +-
108014 mm/slab_common.c | 11 +-
108015 mm/slob.c | 201 +-
108016 mm/slub.c | 99 +-
108017 mm/sparse-vmemmap.c | 4 +-
108018 mm/sparse.c | 2 +-
108019 mm/swap.c | 3 +
108020 mm/swapfile.c | 12 +-
108021 mm/util.c | 6 +
108022 mm/vmalloc.c | 82 +-
108023 mm/vmstat.c | 12 +-
108024 net/8021q/vlan.c | 5 +-
108025 net/9p/mod.c | 4 +-
108026 net/9p/trans_fd.c | 2 +-
108027 net/atm/atm_misc.c | 8 +-
108028 net/atm/lec.h | 2 +-
108029 net/atm/proc.c | 6 +-
108030 net/atm/resources.c | 4 +-
108031 net/ax25/sysctl_net_ax25.c | 2 +-
108032 net/batman-adv/bat_iv_ogm.c | 8 +-
108033 net/batman-adv/hard-interface.c | 4 +-
108034 net/batman-adv/soft-interface.c | 4 +-
108035 net/batman-adv/types.h | 6 +-
108036 net/batman-adv/unicast.c | 2 +-
108037 net/bluetooth/hci_sock.c | 2 +-
108038 net/bluetooth/l2cap_core.c | 6 +-
108039 net/bluetooth/l2cap_sock.c | 12 +-
108040 net/bluetooth/rfcomm/sock.c | 4 +-
108041 net/bluetooth/rfcomm/tty.c | 10 +-
108042 net/bridge/netfilter/ebtables.c | 6 +-
108043 net/caif/cfctrl.c | 11 +-
108044 net/can/af_can.c | 2 +-
108045 net/can/gw.c | 6 +-
108046 net/compat.c | 34 +-
108047 net/core/datagram.c | 2 +-
108048 net/core/dev.c | 16 +-
108049 net/core/flow.c | 8 +-
108050 net/core/iovec.c | 4 +-
108051 net/core/neighbour.c | 2 +-
108052 net/core/net-sysfs.c | 2 +-
108053 net/core/net_namespace.c | 8 +-
108054 net/core/rtnetlink.c | 13 +-
108055 net/core/scm.c | 8 +-
108056 net/core/sock.c | 24 +-
108057 net/core/sock_diag.c | 9 +-
108058 net/core/sysctl_net_core.c | 18 +-
108059 net/decnet/af_decnet.c | 1 +
108060 net/decnet/sysctl_net_decnet.c | 4 +-
108061 net/ipv4/af_inet.c | 8 +-
108062 net/ipv4/ah4.c | 2 +-
108063 net/ipv4/devinet.c | 14 +-
108064 net/ipv4/esp4.c | 2 +-
108065 net/ipv4/fib_frontend.c | 6 +-
108066 net/ipv4/fib_semantics.c | 2 +-
108067 net/ipv4/inet_connection_sock.c | 2 +-
108068 net/ipv4/inetpeer.c | 4 +-
108069 net/ipv4/ip_fragment.c | 15 +-
108070 net/ipv4/ip_gre.c | 6 +-
108071 net/ipv4/ip_sockglue.c | 2 +-
108072 net/ipv4/ip_vti.c | 4 +-
108073 net/ipv4/ipcomp.c | 2 +-
108074 net/ipv4/ipconfig.c | 6 +-
108075 net/ipv4/ipip.c | 4 +-
108076 net/ipv4/netfilter/arp_tables.c | 12 +-
108077 net/ipv4/netfilter/ip_tables.c | 12 +-
108078 net/ipv4/ping.c | 2 +-
108079 net/ipv4/raw.c | 14 +-
108080 net/ipv4/route.c | 18 +-
108081 net/ipv4/sysctl_net_ipv4.c | 45 +-
108082 net/ipv4/tcp_input.c | 2 +-
108083 net/ipv4/tcp_probe.c | 2 +-
108084 net/ipv4/udp.c | 10 +-
108085 net/ipv4/xfrm4_policy.c | 14 +-
108086 net/ipv6/addrconf.c | 6 +-
108087 net/ipv6/icmp.c | 2 +-
108088 net/ipv6/ip6_gre.c | 8 +-
108089 net/ipv6/ip6_tunnel.c | 4 +-
108090 net/ipv6/ipv6_sockglue.c | 2 +-
108091 net/ipv6/netfilter/ip6_tables.c | 12 +-
108092 net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +-
108093 net/ipv6/raw.c | 19 +-
108094 net/ipv6/reassembly.c | 13 +-
108095 net/ipv6/route.c | 2 +-
108096 net/ipv6/sit.c | 4 +-
108097 net/ipv6/sysctl_net_ipv6.c | 2 +-
108098 net/ipv6/udp.c | 8 +-
108099 net/ipv6/xfrm6_policy.c | 13 +-
108100 net/irda/ircomm/ircomm_tty.c | 18 +-
108101 net/iucv/af_iucv.c | 4 +-
108102 net/iucv/iucv.c | 2 +-
108103 net/key/af_key.c | 4 +-
108104 net/mac80211/cfg.c | 8 +-
108105 net/mac80211/ieee80211_i.h | 3 +-
108106 net/mac80211/iface.c | 14 +-
108107 net/mac80211/main.c | 2 +-
108108 net/mac80211/pm.c | 6 +-
108109 net/mac80211/rate.c | 2 +-
108110 net/mac80211/rc80211_pid_debugfs.c | 2 +-
108111 net/mac80211/util.c | 2 +-
108112 net/netfilter/ipset/ip_set_core.c | 2 +-
108113 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
108114 net/netfilter/ipvs/ip_vs_core.c | 4 +-
108115 net/netfilter/ipvs/ip_vs_ctl.c | 14 +-
108116 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
108117 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
108118 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
108119 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
108120 net/netfilter/nf_conntrack_acct.c | 2 +-
108121 net/netfilter/nf_conntrack_ecache.c | 2 +-
108122 net/netfilter/nf_conntrack_helper.c | 2 +-
108123 net/netfilter/nf_conntrack_proto.c | 2 +-
108124 net/netfilter/nf_conntrack_standalone.c | 2 +-
108125 net/netfilter/nf_conntrack_timestamp.c | 2 +-
108126 net/netfilter/nf_log.c | 10 +-
108127 net/netfilter/nf_sockopt.c | 4 +-
108128 net/netfilter/nfnetlink_log.c | 4 +-
108129 net/netfilter/xt_statistic.c | 8 +-
108130 net/netlink/af_netlink.c | 4 +-
108131 net/netlink/genetlink.c | 16 +-
108132 net/packet/af_packet.c | 12 +-
108133 net/phonet/pep.c | 6 +-
108134 net/phonet/socket.c | 2 +-
108135 net/phonet/sysctl.c | 2 +-
108136 net/rds/cong.c | 6 +-
108137 net/rds/ib.h | 2 +-
108138 net/rds/ib_cm.c | 2 +-
108139 net/rds/ib_recv.c | 4 +-
108140 net/rds/iw.h | 2 +-
108141 net/rds/iw_cm.c | 2 +-
108142 net/rds/iw_recv.c | 4 +-
108143 net/rds/rds.h | 2 +-
108144 net/rds/tcp.c | 2 +-
108145 net/rds/tcp_send.c | 2 +-
108146 net/rxrpc/af_rxrpc.c | 2 +-
108147 net/rxrpc/ar-ack.c | 14 +-
108148 net/rxrpc/ar-call.c | 2 +-
108149 net/rxrpc/ar-connection.c | 2 +-
108150 net/rxrpc/ar-connevent.c | 2 +-
108151 net/rxrpc/ar-input.c | 4 +-
108152 net/rxrpc/ar-internal.h | 8 +-
108153 net/rxrpc/ar-local.c | 2 +-
108154 net/rxrpc/ar-output.c | 4 +-
108155 net/rxrpc/ar-peer.c | 2 +-
108156 net/rxrpc/ar-proc.c | 4 +-
108157 net/rxrpc/ar-transport.c | 2 +-
108158 net/rxrpc/rxkad.c | 4 +-
108159 net/sctp/ipv6.c | 6 +-
108160 net/sctp/protocol.c | 10 +-
108161 net/sctp/sm_sideeffect.c | 2 +-
108162 net/sctp/socket.c | 21 +-
108163 net/sctp/sysctl.c | 4 +-
108164 net/socket.c | 18 +-
108165 net/sunrpc/clnt.c | 4 +-
108166 net/sunrpc/sched.c | 4 +-
108167 net/sunrpc/svc.c | 4 +-
108168 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
108169 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
108170 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
108171 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
108172 net/tipc/link.c | 6 +-
108173 net/tipc/msg.c | 2 +-
108174 net/tipc/subscr.c | 2 +-
108175 net/unix/sysctl_net_unix.c | 2 +-
108176 net/wireless/wext-core.c | 19 +-
108177 net/xfrm/xfrm_policy.c | 27 +-
108178 net/xfrm/xfrm_state.c | 29 +-
108179 net/xfrm/xfrm_sysctl.c | 2 +-
108180 scripts/Makefile.build | 2 +-
108181 scripts/Makefile.clean | 3 +-
108182 scripts/Makefile.host | 28 +-
108183 scripts/basic/fixdep.c | 12 +-
108184 scripts/gcc-plugin.sh | 17 +
108185 scripts/headers_install.pl | 1 +
108186 scripts/link-vmlinux.sh | 2 +-
108187 scripts/mod/file2alias.c | 14 +-
108188 scripts/mod/modpost.c | 25 +-
108189 scripts/mod/modpost.h | 6 +-
108190 scripts/mod/sumversion.c | 2 +-
108191 scripts/package/builddeb | 1 +
108192 scripts/pnmtologo.c | 6 +-
108193 scripts/sortextable.h | 6 +-
108194 security/Kconfig | 675 +++-
108195 security/apparmor/lsm.c | 2 +-
108196 security/integrity/ima/ima.h | 4 +-
108197 security/integrity/ima/ima_api.c | 2 +-
108198 security/integrity/ima/ima_fs.c | 4 +-
108199 security/integrity/ima/ima_queue.c | 2 +-
108200 security/keys/compat.c | 2 +-
108201 security/keys/key.c | 18 +-
108202 security/keys/keyctl.c | 8 +-
108203 security/keys/keyring.c | 6 +-
108204 security/security.c | 9 +-
108205 security/selinux/hooks.c | 2 +-
108206 security/selinux/include/xfrm.h | 2 +-
108207 security/smack/smack_lsm.c | 2 +-
108208 security/tomoyo/tomoyo.c | 2 +-
108209 security/yama/yama_lsm.c | 22 +-
108210 sound/aoa/codecs/onyx.c | 7 +-
108211 sound/aoa/codecs/onyx.h | 1 +
108212 sound/core/oss/pcm_oss.c | 18 +-
108213 sound/core/pcm_compat.c | 2 +-
108214 sound/core/pcm_native.c | 4 +-
108215 sound/core/seq/seq_device.c | 8 +-
108216 sound/drivers/mts64.c | 14 +-
108217 sound/drivers/opl4/opl4_lib.c | 2 +-
108218 sound/drivers/portman2x4.c | 3 +-
108219 sound/firewire/amdtp.c | 4 +-
108220 sound/firewire/amdtp.h | 2 +-
108221 sound/firewire/isight.c | 10 +-
108222 sound/firewire/scs1x.c | 8 +-
108223 sound/oss/sb_audio.c | 2 +-
108224 sound/oss/swarm_cs4297a.c | 6 +-
108225 sound/pci/ymfpci/ymfpci.h | 2 +-
108226 sound/pci/ymfpci/ymfpci_main.c | 12 +-
108227 tools/gcc/.gitignore | 1 +
108228 tools/gcc/Makefile | 45 +
108229 tools/gcc/checker_plugin.c | 171 +
108230 tools/gcc/colorize_plugin.c | 151 +
108231 tools/gcc/constify_plugin.c | 518 ++
108232 tools/gcc/generate_size_overflow_hash.sh | 94 +
108233 tools/gcc/kallocstat_plugin.c | 170 +
108234 tools/gcc/kernexec_plugin.c | 465 ++
108235 tools/gcc/latent_entropy_plugin.c | 327 ++
108236 tools/gcc/size_overflow_hash.data | 5876 ++++++++++++++++++++++
108237 tools/gcc/size_overflow_plugin.c | 2114 ++++++++
108238 tools/gcc/stackleak_plugin.c | 327 ++
108239 tools/gcc/structleak_plugin.c | 276 +
108240 tools/perf/util/include/asm/alternative-asm.h | 3 +
108241 tools/perf/util/include/linux/compiler.h | 8 +
108242 virt/kvm/kvm_main.c | 32 +-
108243 1555 files changed, 30474 insertions(+), 7126 deletions(-)
108244 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
108245 Merge: 0949bd4 fc53d63
108246 Author: Brad Spengler <spender@grsecurity.net>
108247 Date: Thu Mar 22 19:03:44 2012 -0400
108248
108249 Merge branch 'pax-test' into grsec-test
108250
108251 commit fc53d6338964741b368070ec5c935bc579b8c2a6
108252 Author: Brad Spengler <spender@grsecurity.net>
108253 Date: Thu Mar 22 19:02:45 2012 -0400
108254
108255 Update to pax-linux-3.2.12-test33.patch
108256
108257 commit 0949bd46a6455b308f66ad7c993bfee62412db35
108258 Author: Brad Spengler <spender@grsecurity.net>
108259 Date: Thu Mar 22 16:56:09 2012 -0400
108260
108261 Use current_umask() instead of current->fs->umask
108262
108263 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
108264 Author: Brad Spengler <spender@grsecurity.net>
108265 Date: Wed Mar 21 19:42:42 2012 -0400
108266
108267 compile fix
108268
108269 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
108270 Author: Brad Spengler <spender@grsecurity.net>
108271 Date: Wed Mar 21 19:34:56 2012 -0400
108272
108273 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
108274 uses of domains with particular hash collisions
108275
108276 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
108277 Author: Brad Spengler <spender@grsecurity.net>
108278 Date: Tue Mar 20 20:25:49 2012 -0400
108279
108280 zero kernel_role
108281
108282 commit b00953b43c69238d181d21121ef1577c988d5f6b
108283 Author: Brad Spengler <spender@grsecurity.net>
108284 Date: Tue Mar 20 19:29:34 2012 -0400
108285
108286 zero real_root after releasing it
108287
108288 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
108289 Merge: b724f59 273f98e
108290 Author: Brad Spengler <spender@grsecurity.net>
108291 Date: Tue Mar 20 19:11:26 2012 -0400
108292
108293 Merge branch 'pax-test' into grsec-test
108294
108295 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
108296 Author: Brad Spengler <spender@grsecurity.net>
108297 Date: Tue Mar 20 19:10:52 2012 -0400
108298
108299 Temporary workaround for (most) size_overflow plugin false-positives
108300 Increase randomization for brk-managed heap to 21 bits
108301 Update to pax-linux-3.2.12-test32.patch
108302
108303 commit b724f59125304460c2af8bd4b02921993afbb5d3
108304 Author: Brad Spengler <spender@grsecurity.net>
108305 Date: Tue Mar 20 18:58:53 2012 -0400
108306
108307 compile fix
108308
108309 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
108310 Author: Brad Spengler <spender@grsecurity.net>
108311 Date: Tue Mar 20 18:52:23 2012 -0400
108312
108313 Require default and kernel role
108314
108315 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
108316 Author: Brad Spengler <spender@grsecurity.net>
108317 Date: Tue Mar 20 18:47:28 2012 -0400
108318
108319 Allow policies without special roles
108320 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
108321
108322 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
108323 Merge: 8e012dc f14661a
108324 Author: Brad Spengler <spender@grsecurity.net>
108325 Date: Mon Mar 19 18:06:59 2012 -0400
108326
108327 Merge branch 'pax-test' into grsec-test
108328
108329 Conflicts:
108330 fs/namei.c
108331
108332 commit f14661aaf202155c97f66626cea0269017bb7775
108333 Merge: eae671f 058b017
108334 Author: Brad Spengler <spender@grsecurity.net>
108335 Date: Mon Mar 19 18:05:44 2012 -0400
108336
108337 Merge branch 'linux-3.2.y' into pax-test
108338
108339 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
108340 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
108341 Date: Fri Mar 16 17:08:39 2012 -0700
108342
108343 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
108344
108345 According to the report from Slicky Devil, nilfs caused kernel oops at
108346 nilfs_load_super_block function during mount after he shrank the
108347 partition without resizing the filesystem:
108348
108349 BUG: unable to handle kernel NULL pointer dereference at 00000048
108350 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
108351 *pde = 00000000
108352 Oops: 0000 [#1] PREEMPT SMP
108353 ...
108354 Call Trace:
108355 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
108356 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
108357 [<c0226636>] mount_fs+0x36/0x180
108358 [<c023d961>] vfs_kern_mount+0x51/0xa0
108359 [<c023ddae>] do_kern_mount+0x3e/0xe0
108360 [<c023f189>] do_mount+0x169/0x700
108361 [<c023fa9b>] sys_mount+0x6b/0xa0
108362 [<c04abd1f>] sysenter_do_call+0x12/0x28
108363 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
108364 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
108365 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
108366 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
108367 CR2: 0000000000000048
108368
108369 This turned out due to a defect in an error path which runs if the
108370 calculated location of the secondary super block was invalid.
108371
108372 This patch fixes it and eliminates the reported oops.
108373
108374 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
108375 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
108376 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
108377 Cc: <stable@vger.kernel.org> [2.6.30+]
108378 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
108379 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108380
108381 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
108382 Author: Haogang Chen <haogangchen@gmail.com>
108383 Date: Fri Mar 16 17:08:38 2012 -0700
108384
108385 nilfs2: clamp ns_r_segments_percentage to [1, 99]
108386
108387 ns_r_segments_percentage is read from the disk. Bogus or malicious
108388 value could cause integer overflow and malfunction due to meaningless
108389 disk usage calculation. This patch reports error when mounting such
108390 bogus volumes.
108391
108392 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
108393 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
108394 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
108395 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108396
108397 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
108398 Author: Eric Dumazet <eric.dumazet@gmail.com>
108399 Date: Sat Mar 10 09:20:21 2012 +0000
108400
108401 tcp: fix syncookie regression
108402
108403 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
108404 added a serious regression on synflood handling.
108405
108406 Simon Kirby discovered a successful connection was delayed by 20 seconds
108407 before being responsive.
108408
108409 In my tests, I discovered that xmit frames were lost, and needed ~4
108410 retransmits and a socket dst rebuild before being really sent.
108411
108412 In case of syncookie initiated connection, we use a different path to
108413 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
108414
108415 As ip_queue_xmit() now depends on inet flow being setup, fix this by
108416 copying the temp flowi4 we use in cookie_v4_check().
108417
108418 Reported-by: Simon Kirby <sim@netnation.com>
108419 Bisected-by: Simon Kirby <sim@netnation.com>
108420 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
108421 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
108422 Signed-off-by: David S. Miller <davem@davemloft.net>
108423
108424 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
108425 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
108426 Date: Mon Mar 12 02:59:41 2012 +0000
108427
108428 tun: don't hold network namespace by tun sockets
108429
108430 v3: added previously removed sock_put() to the tun_release() callback, because
108431 sk_release_kernel() doesn't drop the socket reference.
108432
108433 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
108434 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
108435 call.
108436
108437 TUN was designed to destroy it's socket on network namesapce shutdown. But this
108438 will never happen for persistent device, because it's socket holds network
108439 namespace.
108440 This patch removes of holding network namespace by TUN socket and replaces it
108441 by creating socket in init_net and then changing it's net it to desired one. On
108442 shutdown socket is moved back to init_net prior to final put.
108443
108444 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
108445 Signed-off-by: David S. Miller <davem@davemloft.net>
108446
108447 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
108448 Author: Tyler Hicks <tyhicks@canonical.com>
108449 Date: Mon Dec 12 10:02:30 2011 -0600
108450
108451 vfs: Correctly set the dir i_mutex lockdep class
108452
108453 9a7aa12f3911853a introduced additional logic around setting the i_mutex
108454 lockdep class for directory inodes. The idea was that some filesystems
108455 may want their own special lockdep class for different directory
108456 inodes and calling unlock_new_inode() should not clobber one of
108457 those special classes.
108458
108459 I believe that the added conditional, around the *negated* return value
108460 of lockdep_match_class(), caused directory inodes to be placed in the
108461 wrong lockdep class.
108462
108463 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
108464 all inodes. If the filesystem did not change the class during inode
108465 initialization, then the conditional mentioned above was false and the
108466 directory inode was incorrectly left in the non-directory lockdep class.
108467 If the filesystem did set a special lockdep class, then the conditional
108468 mentioned above was true and that class was clobbered with
108469 i_mutex_dir_key.
108470
108471 This patch removes the negation from the conditional so that the i_mutex
108472 lockdep class is properly set for directory inodes. Special classes are
108473 preserved and directory inodes with unmodified classes are set with
108474 i_mutex_dir_key.
108475
108476 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
108477 Reviewed-by: Jan Kara <jack@suse.cz>
108478 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108479
108480 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
108481 Author: Jan Kara <jack@suse.cz>
108482 Date: Mon Feb 20 17:54:00 2012 +0100
108483
108484 udf: Fix deadlock in udf_release_file()
108485
108486 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
108487 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
108488 i_mutex is not needed in udf_release_file() anymore since protection by
108489 i_data_sem is enough to protect from races with write and truncate.
108490
108491 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
108492 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
108493 Signed-off-by: Jan Kara <jack@suse.cz>
108494 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108495
108496 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
108497 Author: Miklos Szeredi <mszeredi@suse.cz>
108498 Date: Tue Mar 6 13:56:33 2012 +0100
108499
108500 vfs: fix double put after complete_walk()
108501
108502 complete_walk() already puts nd->path, no need to do it again at cleanup time.
108503
108504 This would result in Oopses if triggered, apparently the codepath is not too
108505 well exercised.
108506
108507 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
108508 CC: stable@vger.kernel.org
108509 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108510
108511 commit 13885ba2b18400f3ef6540497d30f1af896605e5
108512 Author: Miklos Szeredi <mszeredi@suse.cz>
108513 Date: Tue Mar 6 13:56:34 2012 +0100
108514
108515 vfs: fix return value from do_last()
108516
108517 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
108518 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
108519 which is complete nonsense.
108520
108521 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
108522 CC: stable@vger.kernel.org
108523 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108524
108525 Conflicts:
108526
108527 fs/namei.c
108528
108529 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
108530 Author: Al Viro <viro@zeniv.linux.org.uk>
108531 Date: Sat Mar 10 17:07:28 2012 -0500
108532
108533 restore smp_mb() in unlock_new_inode()
108534
108535 wait_on_inode() doesn't have ->i_lock
108536
108537 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108538
108539 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
108540 Author: David S. Miller <davem@davemloft.net>
108541 Date: Tue Mar 13 18:19:51 2012 -0700
108542
108543 sparc32: Add -Av8 to assembler command line.
108544
108545 Newer version of binutils are more strict about specifying the
108546 correct options to enable certain classes of instructions.
108547
108548 The sparc32 build is done for v7 in order to support sun4c systems
108549 which lack hardware integer multiply and divide instructions.
108550
108551 So we have to pass -Av8 when building the assembler routines that
108552 use these instructions and get patched into the kernel when we find
108553 out that we have a v8 capable cpu.
108554
108555 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
108556 Signed-off-by: David S. Miller <davem@davemloft.net>
108557
108558 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
108559 Author: Thomas Gleixner <tglx@linutronix.de>
108560 Date: Fri Mar 9 20:55:10 2012 +0100
108561
108562 x86: Derandom delay_tsc for 64 bit
108563
108564 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
108565 delay_tsc() into a random delay generator for 64 bit. The reason is
108566 that it merged the mostly identical versions of delay_32.c and
108567 delay_64.c. Though the subtle difference of the result was:
108568
108569 static void delay_tsc(unsigned long loops)
108570 {
108571 - unsigned bclock, now;
108572 + unsigned long bclock, now;
108573
108574 Now the function uses rdtscl() which returns the lower 32bit of the
108575 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
108576 bit this fails when the lower 32bit are close to wrap around when
108577 bclock is read, because the following check
108578
108579 if ((now - bclock) >= loops)
108580 break;
108581
108582 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
108583 because the unsigned long (now - bclock) of these values results in
108584 0xffffffff00000001 which is definitely larger than the loops
108585 value. That explains Tvortkos observation:
108586
108587 "Because I am seeing udelay(500) (_occasionally_) being short, and
108588 that by delaying for some duration between 0us (yep) and 491us."
108589
108590 Make those variables explicitely u32 again, so this works for both 32
108591 and 64 bit.
108592
108593 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
108594 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
108595 Cc: stable@vger.kernel.org # >= 2.6.27
108596 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108597
108598 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
108599 Author: Al Viro <viro@ZenIV.linux.org.uk>
108600 Date: Thu Mar 8 17:51:19 2012 +0000
108601
108602 aio: fix the "too late munmap()" race
108603
108604 Current code has put_ioctx() called asynchronously from aio_fput_routine();
108605 that's done *after* we have killed the request that used to pin ioctx,
108606 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
108607 from progressing. As the result, we can end up with async call of
108608 put_ioctx() being the last one and possibly happening during exit_mmap()
108609 or elf_core_dump(), neither of which expects stray munmap() being done
108610 to them...
108611
108612 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
108613 with that, but that's all we care about - neither io_destroy() nor
108614 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
108615 does really_put_req(), so the ioctx teardown won't be done until then
108616 and we don't care about the contents of ioctx past that point.
108617
108618 Since actual freeing of these suckers is RCU-delayed, we don't need to
108619 bump ioctx refcount when request goes into list for async removal.
108620 All we need is rcu_read_lock held just over the ->ctx_lock-protected
108621 area in aio_fput_routine().
108622
108623 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108624 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
108625 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
108626 Cc: stable@vger.kernel.org
108627 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108628
108629 commit 002124c055afbf09b52226af65621999e8316448
108630 Author: Al Viro <viro@ZenIV.linux.org.uk>
108631 Date: Wed Mar 7 05:16:35 2012 +0000
108632
108633 aio: fix io_setup/io_destroy race
108634
108635 Have ioctx_alloc() return an extra reference, so that caller would drop it
108636 on success and not bother with re-grabbing it on failure exit. The current
108637 code is obviously broken - io_destroy() from another thread that managed
108638 to guess the address io_setup() would've returned would free ioctx right
108639 under us; gets especially interesting if aio_context_t * we pass to
108640 io_setup() points to PROT_READ mapping, so put_user() fails and we end
108641 up doing io_destroy() on kioctx another thread has just got freed...
108642
108643 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108644 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
108645 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
108646 Cc: stable@vger.kernel.org
108647 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108648
108649 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
108650 Author: Dan Carpenter <dan.carpenter@oracle.com>
108651 Date: Thu Mar 15 15:17:12 2012 -0700
108652
108653 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
108654
108655 strict_strtoul() writes a long but ->gamma_mode only has space to store an
108656 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
108657 well. I've changed it to use kstrtouint() instead.
108658
108659 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
108660 Acked-by: Inki Dae <inki.dae@samsung.com>
108661 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
108662 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
108663 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108664
108665 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
108666 Merge: e4b05b6 eae671f
108667 Author: Brad Spengler <spender@grsecurity.net>
108668 Date: Fri Mar 16 21:04:27 2012 -0400
108669
108670 Merge branch 'pax-test' into grsec-test
108671
108672 Conflicts:
108673 security/Kconfig
108674
108675 commit eae671fafe93f04685c04a089cc13efebc05d600
108676 Author: Brad Spengler <spender@grsecurity.net>
108677 Date: Fri Mar 16 20:58:01 2012 -0400
108678
108679 Update to pax-linux-3.2.11-test31.patch
108680 Introduction of the size_overflow plugin from Emese Revfy
108681 Many thanks to Emese for her hard work :)
108682
108683 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
108684 Merge: e55aa68 258c015
108685 Author: Brad Spengler <spender@grsecurity.net>
108686 Date: Thu Mar 15 20:59:19 2012 -0400
108687
108688 Merge branch 'pax-test' into grsec-test
108689
108690 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
108691 Author: Brad Spengler <spender@grsecurity.net>
108692 Date: Thu Mar 15 20:59:05 2012 -0400
108693
108694 fix ARM compilation
108695
108696 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
108697 Merge: 8f95ea9 55b7573
108698 Author: Brad Spengler <spender@grsecurity.net>
108699 Date: Wed Mar 14 19:33:41 2012 -0400
108700
108701 Merge branch 'pax-test' into grsec-test
108702
108703 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
108704 Author: Brad Spengler <spender@grsecurity.net>
108705 Date: Wed Mar 14 19:33:15 2012 -0400
108706
108707 Update to pax-linux-3.2.10-test28.patch
108708
108709 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
108710 Merge: c8786a2 886ac5e
108711 Author: Brad Spengler <spender@grsecurity.net>
108712 Date: Tue Mar 13 17:38:13 2012 -0400
108713
108714 Merge branch 'pax-test' into grsec-test
108715
108716 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
108717
108718 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
108719 Author: Brad Spengler <spender@grsecurity.net>
108720 Date: Tue Mar 13 17:37:44 2012 -0400
108721
108722 Update to pax-linux-3.2.10-test26.patch
108723
108724 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
108725 Merge: 219c982 c061fcf
108726 Author: Brad Spengler <spender@grsecurity.net>
108727 Date: Tue Mar 13 17:25:06 2012 -0400
108728
108729 Merge branch 'pax-test' into grsec-test
108730
108731 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
108732 Merge: 89373d2 3f4b3b2
108733 Author: Brad Spengler <spender@grsecurity.net>
108734 Date: Tue Mar 13 17:25:02 2012 -0400
108735
108736 Merge branch 'linux-3.2.y' into pax-test
108737
108738 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
108739 Merge: 54e19a3 89373d2
108740 Author: Brad Spengler <spender@grsecurity.net>
108741 Date: Mon Mar 12 17:23:57 2012 -0400
108742
108743 Merge branch 'pax-test' into grsec-test
108744
108745 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
108746 Merge: a778588 7459f11
108747 Author: Brad Spengler <spender@grsecurity.net>
108748 Date: Mon Mar 12 17:23:49 2012 -0400
108749
108750 Merge branch 'linux-3.2.y' into pax-test
108751
108752 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
108753 Merge: c4650f1 a778588
108754 Author: Brad Spengler <spender@grsecurity.net>
108755 Date: Mon Mar 12 16:51:25 2012 -0400
108756
108757 Merge branch 'pax-test' into grsec-test
108758
108759 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
108760 Author: Brad Spengler <spender@grsecurity.net>
108761 Date: Mon Mar 12 16:51:12 2012 -0400
108762
108763 Update to pax-linux-3.2.9-test24.patch
108764
108765 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
108766 Merge: fb2abee 1015790
108767 Author: Brad Spengler <spender@grsecurity.net>
108768 Date: Sun Mar 11 21:08:28 2012 -0400
108769
108770 Merge branch 'pax-test' into grsec-test
108771
108772 Conflicts:
108773 security/Kconfig
108774
108775 commit 101579028a736c224e590c7e12a7357018c424e1
108776 Author: Brad Spengler <spender@grsecurity.net>
108777 Date: Sun Mar 11 21:07:27 2012 -0400
108778
108779 Update to pax-linux-3.2.9-test22.patch
108780
108781 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
108782 Author: Brad Spengler <spender@grsecurity.net>
108783 Date: Sun Mar 11 11:02:17 2012 -0400
108784
108785 Allow 4096 CPUs
108786
108787 commit 96bae28cbe6a41d48e3b56e5904814096e956000
108788 Author: Brad Spengler <spender@grsecurity.net>
108789 Date: Sun Mar 11 10:25:58 2012 -0400
108790
108791 Use a per-cpu 48-bit counter instead of a global atomic64
108792 Initialize each counter to have the cpu number in the lower 16 bits
108793 instead of incrementing the counter each time by 1, perform the increments
108794 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
108795 any state
108796 idea from PaX Team
108797
108798 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
108799 Author: Brad Spengler <spender@grsecurity.net>
108800 Date: Sat Mar 10 20:33:12 2012 -0500
108801
108802 Special vnsec edition! :)
108803 Further reduce argv/env allowance for suid/sgid apps to 512KB
108804 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
108805 Clear 3GB personality on suid/sgid binaries
108806 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
108807 with the main purpose of throwing off program stack -> arg/env alignment
108808 Update documentation
108809
108810 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
108811 Author: Brad Spengler <spender@grsecurity.net>
108812 Date: Sat Mar 10 19:54:47 2012 -0500
108813
108814 Resolve skbuff.h warnings that turn into errors during compilation in
108815 the grsecurity directory with -Werror
108816
108817 commit 2023210ad43a944033fcacc660ce410888f562ee
108818 Merge: ece4383 5f66adf
108819 Author: Brad Spengler <spender@grsecurity.net>
108820 Date: Fri Mar 9 19:48:01 2012 -0500
108821
108822 Merge branch 'pax-test' into grsec-test
108823
108824 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
108825 Author: Brad Spengler <spender@grsecurity.net>
108826 Date: Fri Mar 9 19:47:06 2012 -0500
108827
108828 Add colorize plugin
108829
108830 commit ece4383e5e91c92d138c4df84225a70b552f4d69
108831 Merge: a366d0e ab4a5a1
108832 Author: Brad Spengler <spender@grsecurity.net>
108833 Date: Fri Mar 9 17:56:46 2012 -0500
108834
108835 Merge branch 'pax-test' into grsec-test
108836
108837 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
108838 Author: Brad Spengler <spender@grsecurity.net>
108839 Date: Fri Mar 9 17:56:26 2012 -0500
108840
108841 Update to pax-linux-3.2.9-test21.patch
108842
108843 commit a366d0ed963ce93fce10121c1100989d5f064e75
108844 Author: Mikulas Patocka <mpatocka@redhat.com>
108845 Date: Sun Mar 4 19:52:03 2012 -0500
108846
108847 mm: fix find_vma_prev
108848
108849 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
108850 management on PA-RISC.
108851
108852 After application of the patch, programs that allocate big arrays on the
108853 stack crash with segfault, for example, this will crash if compiled
108854 without optimization:
108855
108856 int main()
108857 {
108858 char array[200000];
108859 array[199999] = 0;
108860 return 0;
108861 }
108862
108863 The reason is that PA-RISC has up-growing stack and the stack is usually
108864 the last memory area. In the above example, a page fault happens above
108865 the stack.
108866
108867 Previously, if we passed too high address to find_vma_prev, it returned
108868 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
108869 change, it stores NULL in *pprev. Consequently, the stack area is not
108870 found and it is not expanded, as it used to be before the change.
108871
108872 This patch restores the old behavior and makes it return the last VMA in
108873 *pprev if the requested address is higher than address of any other VMA.
108874
108875 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
108876 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
108877 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108878
108879 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
108880 Author: Hugh Dickins <hughd@google.com>
108881 Date: Tue Mar 6 12:28:52 2012 -0800
108882
108883 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
108884
108885 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
108886 from shared anonymous: hoist the file case's -EINVAL up for both.
108887
108888 Signed-off-by: Hugh Dickins <hughd@google.com>
108889 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108890
108891 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
108892 Author: Al Viro <viro@ZenIV.linux.org.uk>
108893 Date: Mon Mar 5 06:38:42 2012 +0000
108894
108895 aout: move setup_arg_pages() prior to reading/mapping the binary
108896
108897 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108898 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108899
108900 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
108901 Author: Jan Beulich <JBeulich@suse.com>
108902 Date: Mon Mar 5 16:49:24 2012 +0000
108903
108904 vsprintf: make %pV handling compatible with kasprintf()
108905
108906 kasprintf() (and potentially other functions that I didn't run across so
108907 far) want to evaluate argument lists twice. Caring to do so for the
108908 primary list is obviously their job, but they can't reasonably be
108909 expected to check the format string for instances of %pV, which however
108910 need special handling too: On architectures like x86-64 (as opposed to
108911 e.g. ix86), using the same argument list twice doesn't produce the
108912 expected results, as an internally managed cursor gets updated during
108913 the first run.
108914
108915 Fix the problem by always acting on a copy of the original list when
108916 handling %pV.
108917
108918 Signed-off-by: Jan Beulich <jbeulich@suse.com>
108919 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108920
108921 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
108922 Author: Al Viro <viro@ZenIV.linux.org.uk>
108923 Date: Mon Mar 5 06:39:47 2012 +0000
108924
108925 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
108926
108927 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
108928 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108929
108930 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
108931 Author: Christian König <deathsimple@vodafone.de>
108932 Date: Tue Feb 28 23:19:20 2012 +0100
108933
108934 drm/radeon: fix uninitialized variable
108935
108936 Without this fix the driver randomly treats
108937 textures as arrays and I'm really wondering
108938 why gcc isn't complaining about it.
108939
108940 Signed-off-by: Christian König <deathsimple@vodafone.de>
108941 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
108942 Signed-off-by: Dave Airlie <airlied@redhat.com>
108943
108944 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
108945 Author: H. Peter Anvin <hpa@zytor.com>
108946 Date: Fri Mar 2 10:43:48 2012 -0800
108947
108948 regset: Prevent null pointer reference on readonly regsets
108949
108950 The regset common infrastructure assumed that regsets would always
108951 have .get and .set methods, but not necessarily .active methods.
108952 Unfortunately people have since written regsets without .set methods.
108953
108954 Rather than putting in stub functions everywhere, handle regsets with
108955 null .get or .set methods explicitly.
108956
108957 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
108958 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
108959 Acked-by: Roland McGrath <roland@hack.frob.com>
108960 Cc: <stable@vger.kernel.org>
108961 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
108962
108963 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
108964 Author: Brad Spengler <spender@grsecurity.net>
108965 Date: Mon Mar 5 18:12:57 2012 -0500
108966
108967 Fix compiler errors reported on forums
108968
108969 commit 1606774b48af24e6f99d99c624c0e447d4b66474
108970 Merge: 3127bd5 4ca2ffd
108971 Author: Brad Spengler <spender@grsecurity.net>
108972 Date: Mon Mar 5 17:31:35 2012 -0500
108973
108974 Merge branch 'pax-test' into grsec-test
108975
108976 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
108977 Author: Brad Spengler <spender@grsecurity.net>
108978 Date: Mon Mar 5 17:31:21 2012 -0500
108979
108980 Update to pax-linux-3.2.9-test20.patch
108981
108982 commit 3127bd581a292966b1057c7433219dac188c3720
108983 Author: Brad Spengler <spender@grsecurity.net>
108984 Date: Fri Mar 2 21:30:37 2012 -0500
108985
108986 Fix memory leak on logged exec_id check failure in /proc/pid/statm
108987 Thanks to Djalal Harouni for the report
108988
108989 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
108990 Merge: 0a56be8 9aa8288
108991 Author: Brad Spengler <spender@grsecurity.net>
108992 Date: Fri Mar 2 18:38:22 2012 -0500
108993
108994 Merge branch 'pax-test' into grsec-test
108995
108996 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
108997 Author: Brad Spengler <spender@grsecurity.net>
108998 Date: Fri Mar 2 18:37:43 2012 -0500
108999
109000 Update to pax-linux-3.2.9-test19.patch
109001
109002 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
109003 Merge: 9e66745 3f5c52a
109004 Author: Brad Spengler <spender@grsecurity.net>
109005 Date: Thu Mar 1 20:18:01 2012 -0500
109006
109007 Merge branch 'pax-test' into grsec-test
109008
109009 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
109010 Author: Brad Spengler <spender@grsecurity.net>
109011 Date: Thu Mar 1 20:16:56 2012 -0500
109012
109013 Update to pax-linux-3.2.9-test18.patch
109014
109015 commit ae53ec231d12719a36bf871f8c5841020ed692ee
109016 Merge: b255baf 44fb317
109017 Author: Brad Spengler <spender@grsecurity.net>
109018 Date: Thu Mar 1 20:15:31 2012 -0500
109019
109020 Merge branch 'linux-3.2.y' into pax-test
109021
109022 commit 9e667456c03eadea2f305be761abe4de9a5877a3
109023 Merge: 5e4e200 b255baf
109024 Author: Brad Spengler <spender@grsecurity.net>
109025 Date: Mon Feb 27 20:53:59 2012 -0500
109026
109027 Merge branch 'pax-test' into grsec-test
109028
109029 commit b255baf50365d39b406f43aab2c64745607baaa2
109030 Merge: 340ce90 1de504e
109031 Author: Brad Spengler <spender@grsecurity.net>
109032 Date: Mon Feb 27 20:53:29 2012 -0500
109033
109034 Merge branch 'linux-3.2.y' into pax-test
109035 Update to pax-linux-3.2.8-test17.patch
109036
109037 Conflicts:
109038 arch/x86/include/asm/i387.h
109039 arch/x86/kernel/process_32.c
109040 arch/x86/kernel/traps.c
109041
109042 commit 5e4e200ac530452884b625cb75de240e1e98c731
109043 Merge: 44306d7 340ce90
109044 Author: Brad Spengler <spender@grsecurity.net>
109045 Date: Mon Feb 27 18:02:13 2012 -0500
109046
109047 Merge branch 'pax-test' into grsec-test
109048
109049 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
109050 Author: Brad Spengler <spender@grsecurity.net>
109051 Date: Mon Feb 27 18:01:48 2012 -0500
109052
109053 Update to pax-linux-3.2.7-test17.patch
109054
109055 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
109056 Merge: 29d0b07 521c411
109057 Author: Brad Spengler <spender@grsecurity.net>
109058 Date: Sun Feb 26 19:04:15 2012 -0500
109059
109060 Merge branch 'pax-test' into grsec-test
109061
109062 Conflicts:
109063 Makefile
109064
109065 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
109066 Author: Brad Spengler <spender@grsecurity.net>
109067 Date: Sun Feb 26 19:03:33 2012 -0500
109068
109069 Update to pax-linux-3.2.7-test16.patch
109070
109071 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
109072 Author: Brad Spengler <spender@grsecurity.net>
109073 Date: Sun Feb 26 17:12:44 2012 -0500
109074
109075 fix typo
109076
109077 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
109078 Merge: f45b3be caa8f83
109079 Author: Brad Spengler <spender@grsecurity.net>
109080 Date: Sat Feb 25 20:59:27 2012 -0500
109081
109082 Merge branch 'pax-test' into grsec-test
109083
109084 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
109085 Author: Brad Spengler <spender@grsecurity.net>
109086 Date: Sat Feb 25 20:59:12 2012 -0500
109087
109088 Update to pax-linux-3.2.7-test15.patch
109089
109090 commit f45b3be34a345502a302e736af9a65742ddef7cb
109091 Merge: 62f35fd 9f1309b
109092 Author: Brad Spengler <spender@grsecurity.net>
109093 Date: Sat Feb 25 11:40:15 2012 -0500
109094
109095 Merge branch 'pax-test' into grsec-test
109096
109097 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
109098 Author: Brad Spengler <spender@grsecurity.net>
109099 Date: Sat Feb 25 11:39:57 2012 -0500
109100
109101 Update to pax-linux-3.2.7-test14.patch
109102
109103 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
109104 Author: Brad Spengler <spender@grsecurity.net>
109105 Date: Sat Feb 25 09:08:55 2012 -0500
109106
109107 We could log on attempted exploits of writing /proc/self/mem, but the current
109108 log function declares the access a read, so just swap the ordering for now
109109
109110 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
109111 Author: Brad Spengler <spender@grsecurity.net>
109112 Date: Sat Feb 25 08:46:14 2012 -0500
109113
109114 Log /proc/pid/mem attempts
109115
109116 commit 674471e581893a94d475acac3e3c4496209b3ac9
109117 Author: Brad Spengler <spender@grsecurity.net>
109118 Date: Sat Feb 25 08:15:00 2012 -0500
109119
109120 Make use of f_version for protecting /proc file structs (fine since we're not a directory
109121 or seq_file)
109122
109123 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
109124 Author: Brad Spengler <spender@grsecurity.net>
109125 Date: Fri Feb 24 20:02:19 2012 -0500
109126
109127 Fix ia64 compilation
109128
109129 commit 50dfea412fd395e0183c2ade368efa525d38b267
109130 Merge: 12db845 4c6f99b
109131 Author: Brad Spengler <spender@grsecurity.net>
109132 Date: Fri Feb 24 19:00:53 2012 -0500
109133
109134 Merge branch 'pax-test' into grsec-test
109135
109136 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
109137 Author: Brad Spengler <spender@grsecurity.net>
109138 Date: Fri Feb 24 19:00:36 2012 -0500
109139
109140 (6:57:09 PM) pipacs: but you can be proactive
109141 (Fix other-arch atomic64/REFCOUNT compilation failures)
109142
109143 commit 12db8453f6bb0a756f369c9151668ba1249bc478
109144 Author: Brad Spengler <spender@grsecurity.net>
109145 Date: Thu Feb 23 21:10:12 2012 -0500
109146
109147 Remove unnecessary copies, as suggested by solar
109148
109149 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
109150 Author: Brad Spengler <spender@grsecurity.net>
109151 Date: Thu Feb 23 20:59:35 2012 -0500
109152
109153 Make global_exec_counter static, as suggested by solar
109154
109155 commit e642091a475ebb3a30e81f85e7751233d0c2af43
109156 Author: Brad Spengler <spender@grsecurity.net>
109157 Date: Thu Feb 23 19:00:26 2012 -0500
109158
109159 sync with stable tree
109160
109161 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
109162 Author: Brad Spengler <spender@grsecurity.net>
109163 Date: Thu Feb 23 18:48:47 2012 -0500
109164
109165 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
109166 Remove handling of old kludge in chmod/fchmod
109167
109168 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
109169 Author: Brad Spengler <spender@grsecurity.net>
109170 Date: Thu Feb 23 18:18:49 2012 -0500
109171
109172 Apply umask checks to chmod/fchmod as well, as requested by sponsor
109173 Union the enforced umask with the existing one to produce minimal privilege
109174 Change umask type to u16
109175
109176 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
109177 Author: Brad Spengler <spender@grsecurity.net>
109178 Date: Wed Feb 22 18:16:11 2012 -0500
109179
109180 Add per-role umask enforcement to RBAC, requested by a sponsor
109181
109182 commit ad5ac943fe58199f1cc475912a39edb157acb77b
109183 Merge: dda0bb5 41722e3
109184 Author: Brad Spengler <spender@grsecurity.net>
109185 Date: Mon Feb 20 20:04:42 2012 -0500
109186
109187 Merge branch 'pax-test' into grsec-test
109188
109189 commit 41722e342e116d95f3d3556d66c97c888d752d39
109190 Author: Brad Spengler <spender@grsecurity.net>
109191 Date: Mon Feb 20 20:04:00 2012 -0500
109192
109193 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
109194 KERNEXEC plugin
109195
109196 commit dda0bb57137846a476a866c60db2681aaf6052c0
109197 Merge: 4fd554e d70927a
109198 Author: Brad Spengler <spender@grsecurity.net>
109199 Date: Mon Feb 20 20:01:41 2012 -0500
109200
109201 Merge branch 'pax-test' into grsec-test
109202
109203 commit d70927afec977d489a54c106a3c3ddc32e953050
109204 Merge: 1daebf1 9d0231c
109205 Author: Brad Spengler <spender@grsecurity.net>
109206 Date: Mon Feb 20 20:01:33 2012 -0500
109207
109208 Merge branch 'linux-3.2.y' into pax-test
109209
109210 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
109211 Author: Brad Spengler <spender@grsecurity.net>
109212 Date: Mon Feb 20 09:17:57 2012 -0500
109213
109214 Fix wrong logic on capability checks for switching roles, broke policies
109215 Thanks to Richard Kojedzinszky for reporting
109216
109217 commit 12f97d52ac603f24344f8d71569c412a307e9422
109218 Author: Brad Spengler <spender@grsecurity.net>
109219 Date: Thu Feb 16 21:20:10 2012 -0500
109220
109221 sparc64 compile fix
109222
109223 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
109224 Author: Brad Spengler <spender@grsecurity.net>
109225 Date: Thu Feb 16 18:38:32 2012 -0500
109226
109227 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
109228
109229 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
109230 Author: Brad Spengler <spender@grsecurity.net>
109231 Date: Thu Feb 16 18:18:01 2012 -0500
109232
109233 optimize the check a bit
109234
109235 commit 03159050f64989be44ae03be769cbed62a7cd2e5
109236 Author: Brad Spengler <spender@grsecurity.net>
109237 Date: Thu Feb 16 18:00:45 2012 -0500
109238
109239 smile VUPEN :D
109240 (limit argv+env to 1MB for suid/sgid binaries)
109241
109242 commit dd759d8800d225a397e4de49fe729c7d601298d2
109243 Author: Brad Spengler <spender@grsecurity.net>
109244 Date: Thu Feb 16 17:49:33 2012 -0500
109245
109246 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
109247
109248 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
109249 Author: Brad Spengler <spender@grsecurity.net>
109250 Date: Thu Feb 16 17:45:06 2012 -0500
109251
109252 Change the long long type for exec_id to the proper u64
109253
109254 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
109255 Author: Dan Carpenter <dan.carpenter@oracle.com>
109256 Date: Thu Feb 9 00:46:47 2012 +0000
109257
109258 isdn: type bug in isdn_net_header()
109259
109260 We use len to store the return value from eth_header(). eth_header()
109261 can return -ETH_HLEN (-14). We want to pass this back instead of
109262 truncating it to 65522 and returning that.
109263
109264 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
109265 Acked-by: Neil Horman <nhorman@tuxdriver.com>
109266 Signed-off-by: David S. Miller <davem@davemloft.net>
109267
109268 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
109269 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
109270 Date: Sat Feb 4 10:47:10 2012 +0100
109271
109272 exec: fix use-after-free bug in setup_new_exec()
109273
109274 Setting the task name is done within setup_new_exec() by accessing
109275 bprm->filename. However this happens after flush_old_exec().
109276 This may result in a use after free bug, flush_old_exec() may
109277 "complete" vfork_done, which will wake up the parent which in turn
109278 may free the passed in filename.
109279 To fix this add a new tcomm field in struct linux_binprm which
109280 contains the now early generated task name until it is used.
109281
109282 Fixes this bug on s390:
109283
109284 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
109285 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
109286 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
109287 Call Trace:
109288 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
109289 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
109290 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
109291 [<0000000000282b6c>] do_execve_common+0x410/0x514
109292 [<0000000000282cb6>] do_execve+0x46/0x58
109293 [<00000000005bce58>] kernel_execve+0x28/0x70
109294 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
109295 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
109296 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
109297 Last Breaking-Event-Address:
109298 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
109299
109300 Kernel panic - not syncing: Fatal exception: panic_on_oops
109301
109302 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
109303 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
109304 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
109305
109306 commit d758ee9f5230893dabb5aab737b3109684bde196
109307 Author: Dan Carpenter <dan.carpenter@oracle.com>
109308 Date: Fri Feb 10 09:03:58 2012 +0100
109309
109310 relay: prevent integer overflow in relay_open()
109311
109312 "subbuf_size" and "n_subbufs" come from the user and they need to be
109313 capped to prevent an integer overflow.
109314
109315 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
109316 Cc: stable@kernel.org
109317 Signed-off-by: Jens Axboe <axboe@kernel.dk>
109318
109319 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
109320 Merge: b1baadf 1daebf1
109321 Author: Brad Spengler <spender@grsecurity.net>
109322 Date: Mon Feb 13 17:47:04 2012 -0500
109323
109324 Merge branch 'pax-test' into grsec-test
109325
109326 Conflicts:
109327 fs/proc/base.c
109328
109329 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
109330 Merge: 1413df2 c2db2e2
109331 Author: Brad Spengler <spender@grsecurity.net>
109332 Date: Mon Feb 13 17:45:54 2012 -0500
109333
109334 Merge branch 'linux-3.2.y' into pax-test
109335
109336 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
109337 Author: Brad Spengler <spender@grsecurity.net>
109338 Date: Sun Feb 12 16:44:05 2012 -0500
109339
109340 add missing declaration
109341
109342 commit 3981059c35e8463002517935c28f3d74b8e3703c
109343 Author: Brad Spengler <spender@grsecurity.net>
109344 Date: Sun Feb 12 16:36:04 2012 -0500
109345
109346 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
109347 in addition to existing checks (this handles the setresuid ruid = euid case)
109348
109349 commit 0beab03263c773f463412c350ad9064b44b6ede0
109350 Author: Brad Spengler <spender@grsecurity.net>
109351 Date: Sun Feb 12 16:13:40 2012 -0500
109352
109353 Revert setreuid changes when RBAC is enabled, breaks freeradius
109354 I'll fix the learning issue Lavish reported a different way through
109355 gradm modifications
109356
109357 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
109358
109359 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
109360 Author: Brad Spengler <spender@grsecurity.net>
109361 Date: Sat Feb 11 14:22:46 2012 -0500
109362
109363 copy exec_id on fork
109364
109365 commit 000c08e0890630086b2ed04084050ed856a7ec31
109366 Author: Brad Spengler <spender@grsecurity.net>
109367 Date: Fri Feb 10 20:00:36 2012 -0500
109368
109369 compile fix
109370
109371 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
109372 Author: Brad Spengler <spender@grsecurity.net>
109373 Date: Fri Feb 10 19:19:52 2012 -0500
109374
109375 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
109376 denies reading of sensitive /proc/pid entries where the file descriptor
109377 was opened in a different task than the one performing the read
109378
109379 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
109380 Author: Brad Spengler <spender@grsecurity.net>
109381 Date: Fri Feb 10 17:43:24 2012 -0500
109382
109383 Remove duplicate signal check
109384
109385 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
109386 Merge: 4eba97e 1413df2
109387 Author: Brad Spengler <spender@grsecurity.net>
109388 Date: Wed Feb 8 19:24:34 2012 -0500
109389
109390 Merge branch 'pax-test' into grsec-test
109391
109392 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
109393 Author: Brad Spengler <spender@grsecurity.net>
109394 Date: Wed Feb 8 19:24:08 2012 -0500
109395
109396 Merge changes from pax-linux-3.2.4-test11.patch
109397
109398 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
109399 Merge: 0e058dd 8dd90a2
109400 Author: Brad Spengler <spender@grsecurity.net>
109401 Date: Mon Feb 6 17:50:12 2012 -0500
109402
109403 Merge branch 'pax-test' into grsec-test
109404
109405 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
109406 Author: Brad Spengler <spender@grsecurity.net>
109407 Date: Mon Feb 6 17:49:07 2012 -0500
109408
109409 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
109410
109411 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
109412 Merge: 7e4169c 6133971
109413 Author: Brad Spengler <spender@grsecurity.net>
109414 Date: Mon Feb 6 17:48:57 2012 -0500
109415
109416 Merge branch 'linux-3.2.y' into pax-test
109417
109418 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
109419 Author: Brad Spengler <spender@grsecurity.net>
109420 Date: Sun Feb 5 19:24:45 2012 -0500
109421
109422 We now allow configurations with no PaX markings, giving the system no way to override the defaults
109423
109424 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
109425 Author: Brad Spengler <spender@grsecurity.net>
109426 Date: Sun Feb 5 10:01:23 2012 -0500
109427
109428 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
109429
109430 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
109431 Author: Brad Spengler <spender@grsecurity.net>
109432 Date: Sat Feb 4 21:01:16 2012 -0500
109433
109434 Improve security of ptrace-based monitoring/sandboxing
109435 See:
109436 http://article.gmane.org/gmane.linux.kernel.lsm/15156
109437
109438 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
109439 Author: Brad Spengler <spender@grsecurity.net>
109440 Date: Fri Feb 3 20:42:55 2012 -0500
109441
109442 fix typo
109443
109444 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
109445 Author: Brad Spengler <spender@grsecurity.net>
109446 Date: Fri Feb 3 20:25:38 2012 -0500
109447
109448 Reported by lavish on IRC:
109449 If a suid/sgid binary did not learn any setuid/setgid call during learning,
109450 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
109451 any restrictions on uid/gid changes. uid and gid can however be changed
109452 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
109453 euid/egid.
109454
109455 My fix:
109456 POSIX doesn't specify whether unprivileged users can perform the above
109457 setresuid/setresgid as an unprivileged user, though Linux has historically
109458 permitted them. Modify this behavior when RBAC is enabled to require
109459 CAP_SETUID/CAP_SETGID for these operations.
109460
109461 Thanks to Lavish for the report!
109462
109463 Conflicts:
109464
109465 kernel/sys.c
109466
109467 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
109468 Merge: ba586eb 7e4169c
109469 Author: Brad Spengler <spender@grsecurity.net>
109470 Date: Fri Feb 3 20:10:21 2012 -0500
109471
109472 Merge branch 'pax-test' into grsec-test
109473
109474 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
109475 Author: Brad Spengler <spender@grsecurity.net>
109476 Date: Fri Feb 3 20:10:05 2012 -0500
109477
109478 Merge changes from pax-linux-3.2.4-test9.patch
109479
109480 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
109481 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
109482 Date: Thu Feb 2 11:34:09 2012 +1030
109483
109484 Fix race in process_vm_rw_core
109485
109486 This fixes the race in process_vm_core found by Oleg (see
109487
109488 http://article.gmane.org/gmane.linux.kernel/1235667/
109489
109490 for details).
109491
109492 This has been updated since I last sent it as the creation of the new
109493 mm_access() function did almost exactly the same thing as parts of the
109494 previous version of this patch did.
109495
109496 In order to use mm_access() even when /proc isn't enabled, we move it to
109497 kernel/fork.c where other related process mm access functions already
109498 are.
109499
109500 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
109501 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
109502
109503 Conflicts:
109504
109505 fs/proc/base.c
109506 mm/process_vm_access.c
109507
109508 commit b9194d60fb9fe579f5c34817ed822abde18939a0
109509 Author: Oleg Nesterov <oleg@redhat.com>
109510 Date: Tue Jan 31 17:15:11 2012 +0100
109511
109512 proc: make sure mem_open() doesn't pin the target's memory
109513
109514 Once /proc/pid/mem is opened, the memory can't be released until
109515 mem_release() even if its owner exits.
109516
109517 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
109518 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
109519 before access_remote_vm(), this verifies that this mm is still alive.
109520
109521 I am not sure what should mem_rw() return if atomic_inc_not_zero()
109522 fails. With this patch it returns zero to match the "mm == NULL" case,
109523 may be it should return -EINVAL like it did before e268337d.
109524
109525 Perhaps it makes sense to add the additional fatal_signal_pending()
109526 check into the main loop, to ensure we do not hold this memory if
109527 the target task was oom-killed.
109528
109529 Cc: stable@kernel.org
109530 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
109531 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
109532
109533 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
109534 Author: Oleg Nesterov <oleg@redhat.com>
109535 Date: Tue Jan 31 17:14:38 2012 +0100
109536
109537 proc: mem_release() should check mm != NULL
109538
109539 mem_release() can hit mm == NULL, add the necessary check.
109540
109541 Cc: stable@kernel.org
109542 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
109543 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
109544
109545 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
109546 Author: Oleg Nesterov <oleg@redhat.com>
109547 Date: Tue Jan 31 17:14:54 2012 +0100
109548
109549 note: redisabled mem_write
109550
109551 proc: unify mem_read() and mem_write()
109552
109553 No functional changes, cleanup and preparation.
109554
109555 mem_read() and mem_write() are very similar. Move this code into the
109556 new common helper, mem_rw(), which takes the additional "int write"
109557 argument.
109558
109559 Cc: stable@kernel.org
109560 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
109561 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
109562
109563 Conflicts:
109564
109565 fs/proc/base.c
109566
109567 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
109568 Merge: 3903f01 01fee18
109569 Author: Brad Spengler <spender@grsecurity.net>
109570 Date: Fri Feb 3 19:50:40 2012 -0500
109571
109572 Merge branch 'pax-test' into grsec-test
109573
109574 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
109575 Author: Brad Spengler <spender@grsecurity.net>
109576 Date: Fri Feb 3 19:49:46 2012 -0500
109577
109578 Merge changes from pax-linux-3.2.4-test8.patch
109579
109580 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
109581 Merge: 201c0db 141936c
109582 Author: Brad Spengler <spender@grsecurity.net>
109583 Date: Fri Feb 3 19:49:01 2012 -0500
109584
109585 Merge branch 'linux-3.2.y' into pax-test
109586
109587 commit 3903f0172ecadf7a575ba3535402a1506133640a
109588 Author: Brad Spengler <spender@grsecurity.net>
109589 Date: Mon Jan 30 23:26:44 2012 -0500
109590
109591 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
109592
109593 We'll whitelist required directories for compatibility instead of requiring
109594 that people disable the feature entirely if they use SELinux, fuse, etc
109595
109596 Conflicts:
109597
109598 fs/sysfs/mount.c
109599
109600 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
109601 Author: Brad Spengler <spender@grsecurity.net>
109602 Date: Sun Jan 29 01:12:19 2012 -0500
109603
109604 perform RBAC check if TPE is on but match fails, matches previous behavior
109605
109606 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
109607 Author: Brad Spengler <spender@grsecurity.net>
109608 Date: Sat Jan 28 13:17:06 2012 -0500
109609
109610 log more information about the reason for a TPE denial for novice users, requested by a sponsor
109611
109612 commit efefd67008cbad8a8591e2484410966a300a39a5
109613 Author: Brad Spengler <spender@grsecurity.net>
109614 Date: Fri Jan 27 19:58:53 2012 -0500
109615
109616 merge upstream sha512 changes
109617
109618 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
109619 Author: Brad Spengler <spender@grsecurity.net>
109620 Date: Fri Jan 27 19:49:07 2012 -0500
109621
109622 drop lock on error in xfs_readlink
109623
109624 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
109625
109626 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
109627 Author: Li Wang <liwang@nudt.edu.cn>
109628 Date: Thu Jan 19 09:44:36 2012 +0800
109629
109630 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
109631
109632 ecryptfs_write() can enter an infinite loop when truncating a file to a
109633 size larger than 4G. This only happens on architectures where size_t is
109634 represented by 32 bits.
109635
109636 This was caused by a size_t overflow due to it incorrectly being used to
109637 store the result of a calculation which uses potentially large values of
109638 type loff_t.
109639
109640 [tyhicks@canonical.com: rewrite subject and commit message]
109641 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
109642 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
109643 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
109644 Cc: <stable@vger.kernel.org>
109645 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
109646
109647 commit a7607747d0f74f357d78bb796d70635dd05f46e8
109648 Author: Tyler Hicks <tyhicks@canonical.com>
109649 Date: Thu Jan 19 20:33:44 2012 -0600
109650
109651 eCryptfs: Check inode changes in setattr
109652
109653 Most filesystems call inode_change_ok() very early in ->setattr(), but
109654 eCryptfs didn't call it at all. It allowed the lower filesystem to make
109655 the call in its ->setattr() function. Then, eCryptfs would copy the
109656 appropriate inode attributes from the lower inode to the eCryptfs inode.
109657
109658 This patch changes that and actually calls inode_change_ok() on the
109659 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
109660 would happen earlier in ecryptfs_setattr(), but there are some possible
109661 inode initialization steps that must happen first.
109662
109663 Since the call was already being made on the lower inode, the change in
109664 functionality should be minimal, except for the case of a file extending
109665 truncate call. In that case, inode_newsize_ok() was never being
109666 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
109667 maximum file size errors early on, eCryptfs would encrypt zeroed pages
109668 and write them to the lower filesystem until the lower filesystem's
109669 write path caught the error in generic_write_checks(). This patch
109670 introduces a new function, called ecryptfs_inode_newsize_ok(), which
109671 checks if the new lower file size is within the appropriate limits when
109672 the truncate operation will be growing the lower file.
109673
109674 In summary this change prevents eCryptfs truncate operations (and the
109675 resulting page encryptions), which would exceed the lower filesystem
109676 limits or FSIZE rlimits, from ever starting.
109677
109678 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
109679 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
109680 Cc: <stable@vger.kernel.org>
109681
109682 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
109683 Author: Tyler Hicks <tyhicks@canonical.com>
109684 Date: Wed Jan 18 18:30:04 2012 -0600
109685
109686 eCryptfs: Make truncate path killable
109687
109688 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
109689 page, zeroes out the appropriate portions, and then encrypts the page
109690 before writing it to the lower filesystem. It was unkillable and due to
109691 the lack of sparse file support could result in tying up a large portion
109692 of system resources, while encrypting pages of zeros, with no way for
109693 the truncate operation to be stopped from userspace.
109694
109695 This patch adds the ability for ecryptfs_write() to detect a pending
109696 fatal signal and return as gracefully as possible. The intent is to
109697 leave the lower file in a useable state, while still allowing a user to
109698 break out of the encryption loop. If a pending fatal signal is detected,
109699 the eCryptfs inode size is updated to reflect the modified inode size
109700 and then -EINTR is returned.
109701
109702 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
109703 Cc: <stable@vger.kernel.org>
109704
109705 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
109706 Author: Tyler Hicks <tyhicks@canonical.com>
109707 Date: Tue Jan 24 10:02:22 2012 -0600
109708
109709 eCryptfs: Fix oops when printing debug info in extent crypto functions
109710
109711 If pages passed to the eCryptfs extent-based crypto functions are not
109712 mapped and the module parameter ecryptfs_verbosity=1 was specified at
109713 loading time, a NULL pointer dereference will occur.
109714
109715 Note that this wouldn't happen on a production system, as you wouldn't
109716 pass ecryptfs_verbosity=1 on a production system. It leaks private
109717 information to the system logs and is for debugging only.
109718
109719 The debugging info printed in these messages is no longer very useful
109720 and rather than doing a kmap() in these debugging paths, it will be
109721 better to simply remove the debugging paths completely.
109722
109723 https://launchpad.net/bugs/913651
109724
109725 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
109726 Reported-by: Daniel DeFreez
109727 Cc: <stable@vger.kernel.org>
109728
109729 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
109730 Author: Tyler Hicks <tyhicks@canonical.com>
109731 Date: Thu Jan 12 11:30:44 2012 +0100
109732
109733 eCryptfs: Sanitize write counts of /dev/ecryptfs
109734
109735 A malicious count value specified when writing to /dev/ecryptfs may
109736 result in a a very large kernel memory allocation.
109737
109738 This patch peeks at the specified packet payload size, adds that to the
109739 size of the packet headers and compares the result with the write count
109740 value. The resulting maximum memory allocation size is approximately 532
109741 bytes.
109742
109743 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
109744 Reported-by: Sasha Levin <levinsasha928@gmail.com>
109745 Cc: <stable@vger.kernel.org>
109746
109747 commit 96dcb7282d323813181a1791f51c0ab7696b675b
109748 Merge: 6c09fa5 201c0db
109749 Author: Brad Spengler <spender@grsecurity.net>
109750 Date: Fri Jan 27 19:44:15 2012 -0500
109751
109752 Merge branch 'pax-test' into grsec-test
109753
109754 commit 201c0dbf177527367676028151e36d340923f033
109755 Author: Brad Spengler <spender@grsecurity.net>
109756 Date: Fri Jan 27 19:43:24 2012 -0500
109757
109758 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
109759 on loading modules with empty sections
109760
109761 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
109762 Author: Brad Spengler <spender@grsecurity.net>
109763 Date: Fri Jan 27 19:42:13 2012 -0500
109764
109765 compile fix
109766
109767 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
109768 Author: Brad Spengler <spender@grsecurity.net>
109769 Date: Fri Jan 27 19:39:28 2012 -0500
109770
109771 use LSM flags instead of duplicating checks
109772
109773 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
109774 Merge: 44b9f11 558718b
109775 Author: Brad Spengler <spender@grsecurity.net>
109776 Date: Fri Jan 27 18:56:23 2012 -0500
109777
109778 Merge branch 'pax-test' into grsec-test
109779
109780 commit 558718b2217beff69edf60f34a6f9893d910e9ac
109781 Author: Brad Spengler <spender@grsecurity.net>
109782 Date: Fri Jan 27 18:56:04 2012 -0500
109783
109784 Merge changes from pax-linux-3.2.2-test6.patch
109785
109786 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
109787 Author: Brad Spengler <spender@grsecurity.net>
109788 Date: Fri Jan 27 18:53:55 2012 -0500
109789
109790 don't increase the size of task_struct when unnecessary
109791 change ptrace_readexec log message
109792
109793 commit a9c9626e054adb885883aa64f85506852894dd33
109794 Author: Brad Spengler <spender@grsecurity.net>
109795 Date: Fri Jan 27 18:16:28 2012 -0500
109796
109797 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
109798 the protection applies to all unreadable binaries.
109799
109800 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
109801 Merge: 7b3f3af 05a1349
109802 Author: Brad Spengler <spender@grsecurity.net>
109803 Date: Wed Jan 25 20:52:09 2012 -0500
109804
109805 Merge branch 'pax-test' into grsec-test
109806
109807 Conflicts:
109808 block/scsi_ioctl.c
109809 drivers/scsi/sd.c
109810 fs/proc/base.c
109811
109812 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
109813 Author: Brad Spengler <spender@grsecurity.net>
109814 Date: Wed Jan 25 20:47:36 2012 -0500
109815
109816 Resync with pax-linux-3.2.2-test5.patch
109817
109818 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
109819 Merge: c6d443d 3499d64
109820 Author: Brad Spengler <spender@grsecurity.net>
109821 Date: Wed Jan 25 20:45:16 2012 -0500
109822
109823 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
109824
109825 Conflicts:
109826 ipc/shm.c
109827
109828 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
109829 Author: Brad Spengler <spender@grsecurity.net>
109830 Date: Tue Jan 24 19:42:01 2012 -0500
109831
109832 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
109833 (may be changed if it breaks some userland), the other has its own
109834 config option
109835
109836 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
109837 the syscall or /proc/sys.
109838
109839 Second feature requires read access to a suid/sgid binary in order
109840 to ptrace it, preventing infoleaking of binaries in situations where
109841 the admin has specified 4711 or 2711 perms. Feature has been
109842 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
109843 a sysctl entry of ptrace_readexec
109844
109845 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
109846 Author: Brad Spengler <spender@grsecurity.net>
109847 Date: Sun Jan 22 14:37:10 2012 -0500
109848
109849 Compilation fixes
109850
109851 commit cd400e21c7c352baba47d6f375297a7847afb33a
109852 Author: Brad Spengler <spender@grsecurity.net>
109853 Date: Sun Jan 22 14:20:27 2012 -0500
109854
109855 Initial port of grsecurity 2.2.2 for Linux 3.2.1
109856 Note that the new syscalls added to this kernel for remote process read/write
109857 are subject to ptrace hardening/other relevant RBAC features
109858 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
109859 as well
109860 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
109861 you should be using a version of gcc with plugin support
109862
109863 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
109864 Author: Brad Spengler <spender@grsecurity.net>
109865 Date: Sun Jan 22 11:47:31 2012 -0500
109866
109867 Import pax-linux-3.2.1-test5.patch
109868 commit bfd7db842f835f9837cd43644459b3a95b0b488d
109869 Author: Brad Spengler <spender@grsecurity.net>
109870 Date: Sun Jan 22 11:02:02 2012 -0500
109871
109872 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
109873 instead of returning -EACCES
109874 thanks to Wraith from irc for the report
109875
109876 commit 873ac13576506cd48ddb527c2540f274e249da50
109877 Merge: 34083dd 8a44fcc
109878 Author: Brad Spengler <spender@grsecurity.net>
109879 Date: Fri Jan 20 18:04:02 2012 -0500
109880
109881 Merge branch 'pax-test' into grsec-test
109882
109883 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
109884 Author: Brad Spengler <spender@grsecurity.net>
109885 Date: Fri Jan 20 18:02:15 2012 -0500
109886
109887 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
109888 Denies executable shared memory when MPROTECT is active
109889 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
109890
109891 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
109892 Author: Brad Spengler <spender@grsecurity.net>
109893 Date: Thu Jan 19 20:23:14 2012 -0500
109894
109895 Introduce new GRKERNSEC_SETXID implementation
109896 We're not able to change the credentials of other threads in the process until at most
109897 one syscall after the first thread does it, since we mark the threads as needing rescheduling
109898 and such work occurs on syscall exit.
109899 This does however ensure that we're only modifying the current task's credentials
109900 which upholds RCU expectations
109901
109902 Many thanks to corsac for testing
109903
109904 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
109905 Author: Brad Spengler <spender@grsecurity.net>
109906 Date: Thu Jan 19 17:42:48 2012 -0500
109907
109908 Simplify backport
109909
109910 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
109911 Author: Brad Spengler <spender@grsecurity.net>
109912 Date: Thu Jan 19 17:08:16 2012 -0500
109913
109914 Commit the latest silent fix for a local privilege escalation from Linus
109915 Also disable writing to /proc/pid/mem
109916 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
109917
109918 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
109919 Merge: 0394a3f 7e6299b
109920 Author: Brad Spengler <spender@grsecurity.net>
109921 Date: Wed Jan 18 20:22:09 2012 -0500
109922
109923 Merge branch 'pax-test' into grsec-test
109924
109925 commit 7e6299b4733c082dde930375dd207b63237751ec
109926 Merge: 83555fb 9bb1282
109927 Author: Brad Spengler <spender@grsecurity.net>
109928 Date: Wed Jan 18 20:21:37 2012 -0500
109929
109930 Merge branch 'linux-3.1.y' into pax-test
109931
109932 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
109933 Author: Jesper Juhl <jj@chaosbits.net>
109934 Date: Sun Jan 8 22:44:29 2012 +0100
109935
109936 audit: always follow va_copy() with va_end()
109937
109938 A call to va_copy() should always be followed by a call to va_end() in
109939 the same function. In kernel/autit.c::audit_log_vformat() this is not
109940 always done. This patch makes sure va_end() is always called.
109941
109942 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
109943 Cc: Al Viro <viro@zeniv.linux.org.uk>
109944 Cc: Eric Paris <eparis@redhat.com>
109945 Cc: Andrew Morton <akpm@linux-foundation.org>
109946 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
109947
109948 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
109949 Author: Andi Kleen <ak@linux.intel.com>
109950 Date: Thu Jan 12 17:20:30 2012 -0800
109951
109952 panic: don't print redundant backtraces on oops
109953
109954 When an oops causes a panic and panic prints another backtrace it's pretty
109955 common to have the original oops data be scrolled away on a 80x50 screen.
109956
109957 The second backtrace is quite redundant and not needed anyways.
109958
109959 So don't print the panic backtrace when oops_in_progress is true.
109960
109961 [akpm@linux-foundation.org: add comment]
109962 Signed-off-by: Andi Kleen <ak@linux.intel.com>
109963 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
109964 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
109965 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
109966
109967 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
109968 Author: Miklos Szeredi <mszeredi@suse.cz>
109969 Date: Thu Jan 12 17:59:46 2012 +0100
109970
109971 fsnotify: don't BUG in fsnotify_destroy_mark()
109972
109973 Removing the parent of a watched file results in "kernel BUG at
109974 fs/notify/mark.c:139".
109975
109976 To reproduce
109977
109978 add "-w /tmp/audit/dir/watched_file" to audit.rules
109979 rm -rf /tmp/audit/dir
109980
109981 This is caused by fsnotify_destroy_mark() being called without an
109982 extra reference taken by the caller.
109983
109984 Reported by Francesco Cosoleto here:
109985
109986 https://bugzilla.novell.com/show_bug.cgi?id=689860
109987
109988 Fix by removing the BUG_ON and adding a comment about not accessing mark after
109989 the iput.
109990
109991 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
109992 CC: stable@vger.kernel.org
109993 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
109994
109995 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
109996 Author: Paolo Bonzini <pbonzini@redhat.com>
109997 Date: Thu Jan 12 16:01:28 2012 +0100
109998
109999 block: fail SCSI passthrough ioctls on partition devices
110000
110001 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
110002 will pass the command to the underlying block device. This is
110003 well-known, but it is also a large security problem when (via Unix
110004 permissions, ACLs, SELinux or a combination thereof) a program or user
110005 needs to be granted access only to part of the disk.
110006
110007 This patch lets partitions forward a small set of harmless ioctls;
110008 others are logged with printk so that we can see which ioctls are
110009 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
110010 Of course it was being sent to a (partition on a) hard disk, so it would
110011 have failed with ENOTTY and the patch isn't changing anything in
110012 practice. Still, I'm treating it specially to avoid spamming the logs.
110013
110014 In principle, this restriction should include programs running with
110015 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
110016 /dev/sdb, it still should not be able to read/write outside the
110017 boundaries of /dev/sda2 independent of the capabilities. However, for
110018 now programs with CAP_SYS_RAWIO will still be allowed to send the
110019 ioctls. Their actions will still be logged.
110020
110021 This patch does not affect the non-libata IDE driver. That driver
110022 however already tests for bd != bd->bd_contains before issuing some
110023 ioctl; it could be restricted further to forbid these ioctls even for
110024 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
110025
110026 Cc: linux-scsi@vger.kernel.org
110027 Cc: Jens Axboe <axboe@kernel.dk>
110028 Cc: James Bottomley <JBottomley@parallels.com>
110029 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
110030 [ Make it also print the command name when warning - Linus ]
110031 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
110032
110033 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
110034 Author: Paolo Bonzini <pbonzini@redhat.com>
110035 Date: Thu Jan 12 16:01:27 2012 +0100
110036
110037 block: add and use scsi_blk_cmd_ioctl
110038
110039 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
110040
110041 The function will then be enhanced to detect partition block devices
110042 and, in that case, subject the ioctls to whitelisting.
110043
110044 Cc: linux-scsi@vger.kernel.org
110045 Cc: Jens Axboe <axboe@kernel.dk>
110046 Cc: James Bottomley <JBottomley@parallels.com>
110047 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
110048 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
110049
110050 commit 97a79814903fc350e1d13704ea31528a42705401
110051 Author: Kees Cook <keescook@chromium.org>
110052 Date: Sat Jan 7 10:41:04 2012 -0800
110053
110054 audit: treat s_id as an untrusted string
110055
110056 The use of s_id should go through the untrusted string path, just to be
110057 extra careful.
110058
110059 Signed-off-by: Kees Cook <keescook@chromium.org>
110060 Acked-by: Mimi Zohar <zohar@us.ibm.com>
110061 Signed-off-by: Eric Paris <eparis@redhat.com>
110062
110063 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
110064 Author: Xi Wang <xi.wang@gmail.com>
110065 Date: Tue Dec 20 18:39:41 2011 -0500
110066
110067 audit: fix signedness bug in audit_log_execve_info()
110068
110069 In the loop, a size_t "len" is used to hold the return value of
110070 audit_log_single_execve_arg(), which returns -1 on error. In that
110071 case the error handling (len <= 0) will be bypassed since "len" is
110072 unsigned, and the loop continues with (p += len) being wrapped.
110073 Change the type of "len" to signed int to fix the error handling.
110074
110075 size_t len;
110076 ...
110077 for (...) {
110078 len = audit_log_single_execve_arg(...);
110079 if (len <= 0)
110080 break;
110081 p += len;
110082 }
110083
110084 Signed-off-by: Xi Wang <xi.wang@gmail.com>
110085 Signed-off-by: Eric Paris <eparis@redhat.com>
110086
110087 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
110088 Author: Dan Carpenter <dan.carpenter@oracle.com>
110089 Date: Tue Jan 17 03:28:51 2012 -0300
110090
110091 [media] ds3000: using logical && instead of bitwise &
110092
110093 The intent here was to test if the FE_HAS_LOCK was set. The current
110094 test is equivalent to "if (status) { ..."
110095
110096 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
110097 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
110098
110099 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
110100 Author: Brad Spengler <spender@grsecurity.net>
110101 Date: Mon Jan 16 13:10:38 2012 -0500
110102
110103 Ignore the 0 signal for protected task RBAC checks
110104
110105 commit d513acd55f7a683f6e146a4f570cdb63300479ab
110106 Author: Brad Spengler <spender@grsecurity.net>
110107 Date: Mon Jan 16 11:56:13 2012 -0500
110108
110109 whitespace cleanup
110110
110111 commit ced261c4b82818c700aff8487f647f6f3e5b5122
110112 Merge: d48751f 83555fb
110113 Author: Brad Spengler <spender@grsecurity.net>
110114 Date: Fri Jan 13 20:12:54 2012 -0500
110115
110116 Merge branch 'pax-test' into grsec-test
110117
110118 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
110119 Merge: fcd8129 93dad39
110120 Author: Brad Spengler <spender@grsecurity.net>
110121 Date: Fri Jan 13 20:12:43 2012 -0500
110122
110123 Merge branch 'linux-3.1.y' into pax-test
110124
110125 commit d48751f3919ae855fda0ff6c149db82442329253
110126 Author: Brad Spengler <spender@grsecurity.net>
110127 Date: Wed Jan 11 19:05:47 2012 -0500
110128
110129 Call our own set_user when forcing change to new id
110130
110131 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
110132 Merge: e6578ff fcd8129
110133 Author: Brad Spengler <spender@grsecurity.net>
110134 Date: Tue Jan 10 16:00:10 2012 -0500
110135
110136 Merge branch 'pax-test' into grsec-test
110137
110138 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
110139 Author: Brad Spengler <spender@grsecurity.net>
110140 Date: Tue Jan 10 15:58:43 2012 -0500
110141
110142 Merge changes from pax-linux-3.1.8-test23.patch
110143
110144 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
110145 Merge: 8859ec3 a120549
110146 Author: Brad Spengler <spender@grsecurity.net>
110147 Date: Fri Jan 6 21:45:56 2012 -0500
110148
110149 Merge branch 'pax-test' into grsec-test
110150
110151 commit a12054967a77090de1caa07c41e694a77db4e237
110152 Author: Brad Spengler <spender@grsecurity.net>
110153 Date: Fri Jan 6 21:45:30 2012 -0500
110154
110155 Merge changes from pax-linux-3.1.8-test22.patch
110156
110157 commit 8859ec32f9815c274df65448f9f2960176c380d3
110158 Merge: a5016b4 ddd4114
110159 Author: Brad Spengler <spender@grsecurity.net>
110160 Date: Fri Jan 6 21:26:08 2012 -0500
110161
110162 Merge branch 'pax-test' into grsec-test
110163
110164 Conflicts:
110165 fs/binfmt_elf.c
110166 security/Kconfig
110167
110168 commit ddd41147e158a79704983a409b7433eba797cf66
110169 Author: Brad Spengler <spender@grsecurity.net>
110170 Date: Fri Jan 6 21:12:42 2012 -0500
110171
110172 Resync with PaX patch (whitespace difference)
110173
110174 commit 29e569df8205c5f0e043fe4803aa984406c8b118
110175 Author: Brad Spengler <spender@grsecurity.net>
110176 Date: Fri Jan 6 21:09:47 2012 -0500
110177
110178 Merge changes from pax-linux-3.1.8-test21.patch
110179
110180 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
110181 Merge: 0124c92 04231d5
110182 Author: Brad Spengler <spender@grsecurity.net>
110183 Date: Fri Jan 6 18:52:20 2012 -0500
110184
110185 Merge branch 'pax-test' into grsec-test
110186
110187 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
110188 Merge: 7bdddeb a919904
110189 Author: Brad Spengler <spender@grsecurity.net>
110190 Date: Fri Jan 6 18:51:50 2012 -0500
110191
110192 Merge branch 'linux-3.1.y' into pax-test
110193
110194 Conflicts:
110195 include/net/flow.h
110196
110197 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
110198 Author: Brad Spengler <spender@grsecurity.net>
110199 Date: Fri Jan 6 18:33:05 2012 -0500
110200
110201 Make GRKERNSEC_SETXID option compatible with credential debugging
110202
110203 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
110204 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
110205 Date: Wed Dec 28 15:57:11 2011 -0800
110206
110207 mm/mempolicy.c: refix mbind_range() vma issue
110208
110209 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
110210 slightly incorrect fix.
110211
110212 Why? Think following case.
110213
110214 1. map 4 pages of a file at offset 0
110215
110216 [0123]
110217
110218 2. map 2 pages just after the first mapping of the same file but with
110219 page offset 2
110220
110221 [0123][23]
110222
110223 3. mbind() 2 pages from the first mapping at offset 2.
110224 mbind_range() should treat new vma is,
110225
110226 [0123][23]
110227 |23|
110228 mbind vma
110229
110230 but it does
110231
110232 [0123][23]
110233 |01|
110234 mbind vma
110235
110236 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
110237
110238 This patch fixes it.
110239
110240 [testcase]
110241 test result - before the patch
110242
110243 case4: 126: test failed. expect '2,4', actual '2,2,2'
110244 case5: passed
110245 case6: passed
110246 case7: passed
110247 case8: passed
110248 case_n: 246: test failed. expect '4,2', actual '1,4'
110249
110250 ------------[ cut here ]------------
110251 kernel BUG at mm/filemap.c:135!
110252 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
110253
110254 (snip long bug on messages)
110255
110256 test result - after the patch
110257
110258 case4: passed
110259 case5: passed
110260 case6: passed
110261 case7: passed
110262 case8: passed
110263 case_n: passed
110264
110265 source: mbind_vma_test.c
110266 ============================================================
110267 #include <numaif.h>
110268 #include <numa.h>
110269 #include <sys/mman.h>
110270 #include <stdio.h>
110271 #include <unistd.h>
110272 #include <stdlib.h>
110273 #include <string.h>
110274
110275 static unsigned long pagesize;
110276 void* mmap_addr;
110277 struct bitmask *nmask;
110278 char buf[1024];
110279 FILE *file;
110280 char retbuf[10240] = "";
110281 int mapped_fd;
110282
110283 char *rubysrc = "ruby -e '\
110284 pid = %d; \
110285 vstart = 0x%llx; \
110286 vend = 0x%llx; \
110287 s = `pmap -q #{pid}`; \
110288 rary = []; \
110289 s.each_line {|line|; \
110290 ary=line.split(\" \"); \
110291 addr = ary[0].to_i(16); \
110292 if(vstart <= addr && addr < vend) then \
110293 rary.push(ary[1].to_i()/4); \
110294 end; \
110295 }; \
110296 print rary.join(\",\"); \
110297 '";
110298
110299 void init(void)
110300 {
110301 void* addr;
110302 char buf[128];
110303
110304 nmask = numa_allocate_nodemask();
110305 numa_bitmask_setbit(nmask, 0);
110306
110307 pagesize = getpagesize();
110308
110309 sprintf(buf, "%s", "mbind_vma_XXXXXX");
110310 mapped_fd = mkstemp(buf);
110311 if (mapped_fd == -1)
110312 perror("mkstemp "), exit(1);
110313 unlink(buf);
110314
110315 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
110316 perror("lseek "), exit(1);
110317 if (write(mapped_fd, "\0", 1) < 0)
110318 perror("write "), exit(1);
110319
110320 addr = mmap(NULL, pagesize*8, PROT_NONE,
110321 MAP_SHARED, mapped_fd, 0);
110322 if (addr == MAP_FAILED)
110323 perror("mmap "), exit(1);
110324
110325 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
110326 perror("mprotect "), exit(1);
110327
110328 mmap_addr = addr + pagesize;
110329
110330 /* make page populate */
110331 memset(mmap_addr, 0, pagesize*6);
110332 }
110333
110334 void fin(void)
110335 {
110336 void* addr = mmap_addr - pagesize;
110337 munmap(addr, pagesize*8);
110338
110339 memset(buf, 0, sizeof(buf));
110340 memset(retbuf, 0, sizeof(retbuf));
110341 }
110342
110343 void mem_bind(int index, int len)
110344 {
110345 int err;
110346
110347 err = mbind(mmap_addr+pagesize*index, pagesize*len,
110348 MPOL_BIND, nmask->maskp, nmask->size, 0);
110349 if (err)
110350 perror("mbind "), exit(err);
110351 }
110352
110353 void mem_interleave(int index, int len)
110354 {
110355 int err;
110356
110357 err = mbind(mmap_addr+pagesize*index, pagesize*len,
110358 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
110359 if (err)
110360 perror("mbind "), exit(err);
110361 }
110362
110363 void mem_unbind(int index, int len)
110364 {
110365 int err;
110366
110367 err = mbind(mmap_addr+pagesize*index, pagesize*len,
110368 MPOL_DEFAULT, NULL, 0, 0);
110369 if (err)
110370 perror("mbind "), exit(err);
110371 }
110372
110373 void Assert(char *expected, char *value, char *name, int line)
110374 {
110375 if (strcmp(expected, value) == 0) {
110376 fprintf(stderr, "%s: passed\n", name);
110377 return;
110378 }
110379 else {
110380 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
110381 name, line,
110382 expected, value);
110383 // exit(1);
110384 }
110385 }
110386
110387 /*
110388 AAAA
110389 PPPPPPNNNNNN
110390 might become
110391 PPNNNNNNNNNN
110392 case 4 below
110393 */
110394 void case4(void)
110395 {
110396 init();
110397 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
110398
110399 mem_bind(0, 4);
110400 mem_unbind(2, 2);
110401
110402 file = popen(buf, "r");
110403 fread(retbuf, sizeof(retbuf), 1, file);
110404 Assert("2,4", retbuf, "case4", __LINE__);
110405
110406 fin();
110407 }
110408
110409 /*
110410 AAAA
110411 PPPPPPNNNNNN
110412 might become
110413 PPPPPPPPPPNN
110414 case 5 below
110415 */
110416 void case5(void)
110417 {
110418 init();
110419 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
110420
110421 mem_bind(0, 2);
110422 mem_bind(2, 2);
110423
110424 file = popen(buf, "r");
110425 fread(retbuf, sizeof(retbuf), 1, file);
110426 Assert("4,2", retbuf, "case5", __LINE__);
110427
110428 fin();
110429 }
110430
110431 /*
110432 AAAA
110433 PPPPNNNNXXXX
110434 might become
110435 PPPPPPPPPPPP 6
110436 */
110437 void case6(void)
110438 {
110439 init();
110440 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
110441
110442 mem_bind(0, 2);
110443 mem_bind(4, 2);
110444 mem_bind(2, 2);
110445
110446 file = popen(buf, "r");
110447 fread(retbuf, sizeof(retbuf), 1, file);
110448 Assert("6", retbuf, "case6", __LINE__);
110449
110450 fin();
110451 }
110452
110453 /*
110454 AAAA
110455 PPPPNNNNXXXX
110456 might become
110457 PPPPPPPPXXXX 7
110458 */
110459 void case7(void)
110460 {
110461 init();
110462 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
110463
110464 mem_bind(0, 2);
110465 mem_interleave(4, 2);
110466 mem_bind(2, 2);
110467
110468 file = popen(buf, "r");
110469 fread(retbuf, sizeof(retbuf), 1, file);
110470 Assert("4,2", retbuf, "case7", __LINE__);
110471
110472 fin();
110473 }
110474
110475 /*
110476 AAAA
110477 PPPPNNNNXXXX
110478 might become
110479 PPPPNNNNNNNN 8
110480 */
110481 void case8(void)
110482 {
110483 init();
110484 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
110485
110486 mem_bind(0, 2);
110487 mem_interleave(4, 2);
110488 mem_interleave(2, 2);
110489
110490 file = popen(buf, "r");
110491 fread(retbuf, sizeof(retbuf), 1, file);
110492 Assert("2,4", retbuf, "case8", __LINE__);
110493
110494 fin();
110495 }
110496
110497 void case_n(void)
110498 {
110499 init();
110500 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
110501
110502 /* make redundunt mappings [0][1234][34][7] */
110503 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
110504 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
110505
110506 /* Expect to do nothing. */
110507 mem_unbind(2, 2);
110508
110509 file = popen(buf, "r");
110510 fread(retbuf, sizeof(retbuf), 1, file);
110511 Assert("4,2", retbuf, "case_n", __LINE__);
110512
110513 fin();
110514 }
110515
110516 int main(int argc, char** argv)
110517 {
110518 case4();
110519 case5();
110520 case6();
110521 case7();
110522 case8();
110523 case_n();
110524
110525 return 0;
110526 }
110527 =============================================================
110528
110529 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
110530 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
110531 Cc: Minchan Kim <minchan.kim@gmail.com>
110532 Cc: Caspar Zhang <caspar@casparzhang.com>
110533 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
110534 Cc: Christoph Lameter <cl@linux.com>
110535 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
110536 Cc: Mel Gorman <mel@csn.ul.ie>
110537 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
110538 Cc: <stable@vger.kernel.org> [3.1.x]
110539 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
110540 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
110541
110542 commit f3a1082005781777086df235049f8c0b7efe524e
110543 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
110544 Date: Tue Dec 27 22:32:41 2011 -0500
110545
110546 packet: fix possible dev refcnt leak when bind fail
110547
110548 If bind is fail when bind is called after set PACKET_FANOUT
110549 sock option, the dev refcnt will leak.
110550
110551 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
110552 Signed-off-by: David S. Miller <davem@davemloft.net>
110553
110554 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
110555 Author: Haogang Chen <haogangchen@gmail.com>
110556 Date: Mon Dec 19 17:11:56 2011 -0800
110557
110558 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
110559
110560 There is a potential integer overflow in nilfs_ioctl_clean_segments().
110561 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
110562 call to vmalloc() will allocate a buffer smaller than expected, which
110563 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
110564 lfs_clean_segments().
110565
110566 The following check does not prevent the overflow because nsegs is also
110567 controlled by the userspace and could be very large.
110568
110569 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
110570 goto out_free;
110571
110572 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
110573 returns -EINVAL when overflow.
110574
110575 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
110576 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
110577 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
110578 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
110579
110580 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
110581 Author: Kautuk Consul <consul.kautuk@gmail.com>
110582 Date: Mon Dec 19 17:12:04 2011 -0800
110583
110584 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
110585
110586 Static storage is not required for the struct vmap_area in
110587 __get_vm_area_node.
110588
110589 Removing "static" to store this variable on the stack instead.
110590
110591 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
110592 Acked-by: David Rientjes <rientjes@google.com>
110593 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
110594 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
110595
110596 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
110597 Author: Michel Lespinasse <walken@google.com>
110598 Date: Mon Dec 19 17:12:06 2011 -0800
110599
110600 binary_sysctl(): fix memory leak
110601
110602 binary_sysctl() calls sysctl_getname() which allocates from names_cache
110603 slab usin __getname()
110604
110605 The matching function to free the name is __putname(), and not putname()
110606 which should be used only to match getname() allocations.
110607
110608 This is because when auditing is enabled, putname() calls audit_putname
110609 *instead* (not in addition) to __putname(). Then, if a syscall is in
110610 progress, audit_putname does not release the name - instead, it expects
110611 the name to get released when the syscall completes, but that will happen
110612 only if audit_getname() was called previously, i.e. if the name was
110613 allocated with getname() rather than the naked __getname(). So,
110614 __getname() followed by putname() ends up leaking memory.
110615
110616 Signed-off-by: Michel Lespinasse <walken@google.com>
110617 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
110618 Cc: Christoph Hellwig <hch@infradead.org>
110619 Cc: Eric Paris <eparis@redhat.com>
110620 Cc: <stable@vger.kernel.org>
110621 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
110622 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
110623
110624 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
110625 Author: Sean Hefty <sean.hefty@intel.com>
110626 Date: Tue Dec 6 21:17:11 2011 +0000
110627
110628 RDMA/cma: Verify private data length
110629
110630 private_data_len is defined as a u8. If the user specifies a large
110631 private_data size (> 220 bytes), we will calculate a total length that
110632 exceeds 255, resulting in private_data_len wrapping back to 0. This
110633 can lead to overwriting random kernel memory. Avoid this by verifying
110634 that the resulting size fits into a u8.
110635
110636 Reported-by: B. Thery <benjamin.thery@bull.net>
110637 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
110638 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
110639 Signed-off-by: Roland Dreier <roland@purestorage.com>
110640
110641 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
110642 Author: Xi Wang <xi.wang@gmail.com>
110643 Date: Sun Dec 11 23:40:56 2011 -0800
110644
110645 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
110646
110647 The error check (intr_status < 0) didn't work because intr_status is
110648 a u8. Change its type to signed int.
110649
110650 Signed-off-by: Xi Wang <xi.wang@gmail.com>
110651 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
110652
110653 commit e27f34e383d7863b2528a63b81b23db09781f6b6
110654 Author: Xi Wang <xi.wang@gmail.com>
110655 Date: Fri Dec 16 12:44:15 2011 +0000
110656
110657 sctp: fix incorrect overflow check on autoclose
110658
110659 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
110660 limiting the autoclose value. If userspace passes in -1 on 32-bit
110661 platform, the overflow check didn't work and autoclose would be set
110662 to 0xffffffff.
110663
110664 This patch defines a max_autoclose (in seconds) for limiting the value
110665 and exposes it through sysctl, with the following intentions.
110666
110667 1) Avoid overflowing autoclose * HZ.
110668
110669 2) Keep the default autoclose bound consistent across 32- and 64-bit
110670 platforms (INT_MAX / HZ in this patch).
110671
110672 3) Keep the autoclose value consistent between setsockopt() and
110673 getsockopt() calls.
110674
110675 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
110676 Signed-off-by: Xi Wang <xi.wang@gmail.com>
110677 Signed-off-by: David S. Miller <davem@davemloft.net>
110678
110679 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
110680 Author: Xi Wang <xi.wang@gmail.com>
110681 Date: Wed Dec 21 05:18:33 2011 -0500
110682
110683 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
110684
110685 Commit e133e737 didn't correctly fix the integer overflow issue.
110686
110687 - unsigned int required_size;
110688 + u64 required_size;
110689 ...
110690 required_size = mode_cmd->pitch * mode_cmd->height;
110691 - if (unlikely(required_size > dev_priv->vram_size)) {
110692 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
110693
110694 Note that both pitch and height are u32. Their product is still u32 and
110695 would overflow before being assigned to required_size. A correct way is
110696 to convert pitch and height to u64 before the multiplication.
110697
110698 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
110699
110700 This patch calls the existing vmw_kms_validate_mode_vram() for
110701 validation.
110702
110703 Signed-off-by: Xi Wang <xi.wang@gmail.com>
110704 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
110705 Signed-off-by: Dave Airlie <airlied@redhat.com>
110706
110707 Conflicts:
110708
110709 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
110710
110711 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
110712 Author: Xi Wang <xi.wang@gmail.com>
110713 Date: Thu Dec 22 13:35:22 2011 +0000
110714
110715 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
110716
110717 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
110718 cause a kernel oops due to insufficient bounds checking.
110719
110720 if (count > 1<<30) {
110721 /* Enforce a limit to prevent overflow */
110722 return -EINVAL;
110723 }
110724 count = roundup_pow_of_two(count);
110725 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
110726
110727 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
110728
110729 ... + (count * sizeof(struct rps_dev_flow))
110730
110731 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
110732 32 bits.
110733
110734 This patch replaces the magic number (1 << 30) with a symbolic bound.
110735
110736 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
110737 Signed-off-by: Xi Wang <xi.wang@gmail.com>
110738 Signed-off-by: David S. Miller <davem@davemloft.net>
110739
110740 commit 648188958672024b616c42c1f6c98c8cfc85619d
110741 Author: Xi Wang <xi.wang@gmail.com>
110742 Date: Fri Dec 30 10:40:17 2011 -0500
110743
110744 netfilter: ctnetlink: fix timeout calculation
110745
110746 The sanity check (timeout < 0) never works; the dividend is unsigned
110747 and so is the division, which should have been a signed division.
110748
110749 long timeout = (ct->timeout.expires - jiffies) / HZ;
110750 if (timeout < 0)
110751 timeout = 0;
110752
110753 This patch converts the time values to signed for the division.
110754
110755 Signed-off-by: Xi Wang <xi.wang@gmail.com>
110756 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
110757
110758 commit ab03a0973cee73f88655ff4981812ad316a6cd59
110759 Merge: 76f82df 7bdddeb
110760 Author: Brad Spengler <spender@grsecurity.net>
110761 Date: Tue Jan 3 17:42:50 2012 -0500
110762
110763 Merge branch 'pax-test' into grsec-test
110764
110765 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
110766 Merge: 3e59cb5 55cc81a
110767 Author: Brad Spengler <spender@grsecurity.net>
110768 Date: Tue Jan 3 17:42:36 2012 -0500
110769
110770 Merge branch 'linux-3.1.y' into pax-test
110771
110772 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
110773 Author: Brad Spengler <spender@grsecurity.net>
110774 Date: Thu Dec 22 20:15:02 2011 -0500
110775
110776 Only further restrict futex targeting another process -- our modified
110777 permission check also happened to allow a case where a process retaining
110778 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
110779 being non-zero (reported on forums by ben_w)
110780
110781 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
110782 Merge: 97c16f0 3e59cb5
110783 Author: Brad Spengler <spender@grsecurity.net>
110784 Date: Thu Dec 22 19:11:06 2011 -0500
110785
110786 Merge branch 'pax-test' into grsec-test
110787
110788 Conflicts:
110789 fs/hfs/btree.c
110790
110791 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
110792 Merge: 285eb4e c26f60b
110793 Author: Brad Spengler <spender@grsecurity.net>
110794 Date: Thu Dec 22 19:09:57 2011 -0500
110795
110796 Merge branch 'linux-3.1.y' into pax-test
110797
110798 Conflicts:
110799 arch/x86/kernel/process.c
110800
110801 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
110802 Author: Brad Spengler <spender@grsecurity.net>
110803 Date: Mon Dec 19 21:54:01 2011 -0500
110804
110805 Add new option: "Enforce consistent multithreaded privileges"
110806
110807 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
110808 Author: Brad Spengler <spender@grsecurity.net>
110809 Date: Wed Dec 7 19:58:31 2011 -0500
110810
110811 Remove harmless duplicate code -- exec_file would be null already so the
110812 second check would never pass.
110813
110814 commit 4e3304e94aa72737810bc50169519af157dce4ce
110815 Author: Brad Spengler <spender@grsecurity.net>
110816 Date: Wed Dec 7 19:50:39 2011 -0500
110817
110818 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
110819 depended on for attaching to a thread. Entries exist in /proc for
110820 threads, but are not visible in a readdir.
110821
110822 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
110823 Author: Brad Spengler <spender@grsecurity.net>
110824 Date: Sun Dec 4 18:03:28 2011 -0500
110825
110826 Put the already-walked path if in RCU-walk mode
110827
110828 commit ec7ae36b7159f10649709779443a988662965d66
110829 Author: Brad Spengler <spender@grsecurity.net>
110830 Date: Sun Dec 4 17:35:21 2011 -0500
110831
110832 Fix memory leak introduced by recent (unpublished) commit
110833 75ab998b94a29d464518d6d501bdde3fbfcbfa14
110834
110835 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
110836 Author: Brad Spengler <spender@grsecurity.net>
110837 Date: Sun Dec 4 13:56:10 2011 -0500
110838
110839 Explicitly check size copied to userland in override_release to silence gcc
110840
110841 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
110842 Author: Brad Spengler <spender@grsecurity.net>
110843 Date: Sun Dec 4 13:54:02 2011 -0500
110844
110845 Initialize variable to silence erroneous gcc warning
110846
110847 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
110848 Author: Brad Spengler <spender@grsecurity.net>
110849 Date: Sun Dec 4 13:47:47 2011 -0500
110850
110851 Future-proof other potential RCU-aware locations where we can log.
110852
110853 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
110854 Author: Brad Spengler <spender@grsecurity.net>
110855 Date: Sun Dec 4 13:02:54 2011 -0500
110856
110857 Fix freeze reported by 'vs' on the forums. Bug occurred due to
110858 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
110859 in generic_permission() was in the task's effective set but disallowed by
110860 RBAC, would block when acquiring locks resulting in the freeze.
110861
110862 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
110863 as being required when CAP_DAC_OVERRIDE is present (consistent with
110864 older patches).
110865
110866 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
110867 Author: Xi Wang <xi.wang@gmail.com>
110868 Date: Tue Nov 29 09:26:30 2011 +0000
110869
110870 sctp: better integer overflow check in sctp_auth_create_key()
110871
110872 The check from commit 30c2235c is incomplete and cannot prevent
110873 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
110874 left-hand side of the check (INT_MAX - key_len), which is unsigned,
110875 becomes 0xffffffff (UINT_MAX) and bypasses the check.
110876
110877 However this shouldn't be a security issue. The function is called
110878 from the following two code paths:
110879
110880 1) setsockopt()
110881
110882 2) sctp_auth_asoc_set_secret()
110883
110884 In case (1), sca_keylength is never going to exceed 65535 since it's
110885 bounded by a u16 from the user API. As such, the key length will
110886 never overflow.
110887
110888 In case (2), sca_keylength is computed based on the user key (1 short)
110889 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
110890 will not overflow.
110891
110892 In other words, this overflow check is not really necessary. Just
110893 make it more correct.
110894
110895 Signed-off-by: Xi Wang <xi.wang@gmail.com>
110896 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
110897 Signed-off-by: David S. Miller <davem@davemloft.net>
110898
110899 commit e565e28c3635a1d50f80541fbf6b606d742fec76
110900 Author: Josh Boyer <jwboyer@redhat.com>
110901 Date: Fri Aug 19 14:50:26 2011 -0400
110902
110903 fs/minix: Verify bitmap block counts before mounting
110904
110905 Newer versions of MINIX can create filesystems that allocate an extra
110906 bitmap block. Mounting of this succeeds, but doing a statfs call will
110907 result in an oops in count_free because of a negative number being used
110908 for the bh index.
110909
110910 Avoid this by verifying the number of allocated blocks at mount time,
110911 erroring out if there are not enough and make statfs ignore the extras
110912 if there are too many.
110913
110914 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
110915
110916 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
110917 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
110918
110919 commit 6e134e398ec1a3f428261680e83df4319e64bed9
110920 Author: Julia Lawall <julia@diku.dk>
110921 Date: Tue Nov 15 14:53:11 2011 -0800
110922
110923 drivers/gpu/vga/vgaarb.c: add missing kfree
110924
110925 kbuf is a buffer that is local to this function, so all of the error paths
110926 leaving the function should release it.
110927
110928 Signed-off-by: Julia Lawall <julia@diku.dk>
110929 Cc: Jesper Juhl <jj@chaosbits.net>
110930 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
110931 Signed-off-by: Dave Airlie <airlied@redhat.com>
110932
110933 commit 2b9057b321e36860e8d63985b5c4e496f254b717
110934 Author: Brad Spengler <spender@grsecurity.net>
110935 Date: Sat Dec 3 21:33:28 2011 -0500
110936
110937 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
110938
110939 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
110940 Author: Brad Spengler <spender@grsecurity.net>
110941 Date: Sat Dec 3 21:29:37 2011 -0500
110942
110943 Import pax-linux-3.1.4-test18.patch
110944
110945 commit 285eb4ea45d853ae00426b3315a61c1368080dad
110946 Author: Brad Spengler <spender@grsecurity.net>
110947 Date: Sat Dec 10 18:33:46 2011 -0500
110948
110949 Import changes from pax-linux-3.1.5-test20.patch
110950
110951 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
110952 Author: Brad Spengler <spender@grsecurity.net>
110953 Date: Thu Dec 8 20:55:54 2011 -0500
110954
110955 Import changes from pax-linux-3.1.4-test19.patch
110956
110957 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
110958 Author: Brad Spengler <spender@grsecurity.net>
110959 Date: Sat Dec 3 21:29:37 2011 -0500
110960
110961 Import pax-linux-3.1.4-test18.patch
110962 commit c982acca364cbd7677bad7e53b9c7ecfaa6dfeb7
110963 Merge: 814820a 3a59a59
110964 Author: Brad Spengler <spender@grsecurity.net>
110965 Date: Sun May 12 21:51:18 2013 -0400
110966
110967 Merge branch 'pax-test' into grsec-test
110968
110969 Conflicts:
110970 security/Kconfig
110971
110972 commit 3a59a59cf5e1bf88f96b05c64f7969e97f7f051f
110973 Author: Brad Spengler <spender@grsecurity.net>
110974 Date: Sun May 12 21:50:07 2013 -0400
110975
110976 Update to pax-linux-3.8.13-test24.patch:
110977 - fixed sparc/constification compile error, reported by blake
110978 - UDEREF/amd64 should be a bit more efficient when disabled at boot time
110979 - fixed some unnecessary integer truncations that could trip up the size overflow plugin
110980
110981 arch/arm/kernel/vmlinux.lds.S | 4 ++--
110982 arch/sparc/kernel/us3_cpufreq.c | 4 ++--
110983 arch/x86/ia32/ia32entry.S | 4 ++--
110984 arch/x86/include/asm/pgtable.h | 6 ++++--
110985 arch/x86/include/asm/uaccess.h | 6 +++---
110986 arch/x86/kernel/kprobes-opt.c | 4 ++++
110987 arch/x86/lib/copy_user_nocache_64.S | 2 +-
110988 arch/x86/lib/getuser.S | 8 ++++----
110989 arch/x86/lib/putuser.S | 8 ++++----
110990 arch/x86/mm/fault.c | 6 +++---
110991 drivers/net/slip/slhc.c | 2 +-
110992 drivers/staging/iio/ring_sw.c | 2 +-
110993 fs/binfmt_elf.c | 6 +++---
110994 fs/nfsd/nfscache.c | 2 +-
110995 fs/xattr.c | 21 +++++++++++++++++++++
110996 include/linux/syscalls.h | 2 +-
110997 include/linux/xattr.h | 3 +++
110998 init/main.c | 3 +++
110999 kernel/futex_compat.c | 2 +-
111000 kernel/trace/trace.h | 2 +-
111001 net/socket.c | 2 +-
111002 security/Kconfig | 2 +-
111003 22 files changed, 67 insertions(+), 34 deletions(-)
111004
111005 commit 814820abfe5b9a34401d838b2510431a4cd92be9
111006 Author: Dan Carpenter <dan.carpenter@oracle.com>
111007 Date: Mon May 6 09:31:17 2013 +0000
111008
111009 Upstream commit: 6bf15191f666c5965d212561d7a5c7b78b808dfa
111010
111011 tipc: potential divide by zero in tipc_link_recv_fragment()
111012
111013 The worry here is that fragm_sz could be zero since it comes from
111014 skb->data.
111015
111016 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
111017 Signed-off-by: David S. Miller <davem@davemloft.net>
111018
111019 net/tipc/link.c | 6 ++++--
111020 1 files changed, 4 insertions(+), 2 deletions(-)
111021
111022 commit b58503d2784f0a4dbf4d9dbef9bdcc7bf163e3c1
111023 Author: Dan Carpenter <dan.carpenter@oracle.com>
111024 Date: Mon May 6 08:28:41 2013 +0000
111025
111026 Upstream commit: cb4b102f0ab29fcbaf945c6b1f85ef006cdb8edc
111027
111028 tipc: add a bounds check in link_recv_changeover_msg()
111029
111030 The bearer_id here comes from skb->data and it can be a number from 0 to
111031 7. The problem is that the ->links[] array has only 2 elements so I
111032 have added a range check.
111033
111034 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
111035 Signed-off-by: David S. Miller <davem@davemloft.net>
111036
111037 net/tipc/link.c | 5 ++++-
111038 1 files changed, 4 insertions(+), 1 deletions(-)
111039
111040 commit ed0428c4ef6c5498870772f212ac651216eb8d0c
111041 Merge: 2452d8d dbf932a
111042 Author: Brad Spengler <spender@grsecurity.net>
111043 Date: Sun May 12 21:18:25 2013 -0400
111044
111045 Merge branch 'linux-3.8.y' into pax-test
111046
111047 Conflicts:
111048 arch/x86/kernel/cpu/perf_event_intel_uncore.c
111049 arch/x86/mm/init.c
111050
111051 commit a113d6ac19303cd76d405df5aef5a4d190e6e7d7
111052 Author: Brad Spengler <spender@grsecurity.net>
111053 Date: Sun May 12 20:24:01 2013 -0400
111054
111055 compile fix
111056
111057 grsecurity/gracl.c | 1 +
111058 grsecurity/gracl_segv.c | 1 +
111059 2 files changed, 2 insertions(+), 0 deletions(-)
111060
111061 commit 1bd664ee9054a28bbcf1dad6f9ffbc9e8500bb00
111062 Author: Brad Spengler <spender@grsecurity.net>
111063 Date: Sun May 12 18:25:26 2013 -0400
111064
111065 fix btrfs support here as well
111066
111067 grsecurity/gracl_segv.c | 17 +++++++++--------
111068 1 files changed, 9 insertions(+), 8 deletions(-)
111069
111070 commit c75e4664fe4d20da1639f70d9def097c4f20856b
111071 Author: Brad Spengler <spender@grsecurity.net>
111072 Date: Sun May 12 18:12:57 2013 -0400
111073
111074 Fix RBAC compatibility with btrfs compiled as a module, as
111075 reported on the forums by YuHg at:
111076 http://forums.grsecurity.net/viewtopic.php?t=2575&p=12952#p12952
111077
111078 fs/btrfs/inode.c | 11 +----------
111079 grsecurity/gracl.c | 19 ++++++++++---------
111080 grsecurity/gracl_segv.c | 2 +-
111081 grsecurity/grsec_disabled.c | 2 +-
111082 4 files changed, 13 insertions(+), 21 deletions(-)
111083
111084 commit e40c5804acc5b83e10d16ca3ba92502a3e5f7f27
111085 Author: Brad Spengler <spender@grsecurity.net>
111086 Date: Sat May 11 12:12:00 2013 -0400
111087
111088 allow copies just up to the start of kernel code
111089
111090 fs/exec.c | 2 +-
111091 1 files changed, 1 insertions(+), 1 deletions(-)
111092
111093 commit 04638852588cf243f865f5a73aa9dab94fab53b7
111094 Author: Brad Spengler <spender@grsecurity.net>
111095 Date: Fri May 10 16:53:07 2013 -0400
111096
111097 MODULES_EXEC_VADDR is a virtual address
111098
111099 fs/exec.c | 2 +-
111100 1 files changed, 1 insertions(+), 1 deletions(-)
111101
111102 commit 017fc58a177b8b3fd9c2a7a4366f3590c9d49435
111103 Author: Brad Spengler <spender@grsecurity.net>
111104 Date: Fri May 10 16:51:03 2013 -0400
111105
111106 exempt module rx areas from usercopy protection under i386 kernexec
111107 their .rodata will be placed between stext/etext causing copies of
111108 constant strings to trigger usercopy reports/terminations
111109
111110 fs/exec.c | 5 +++++
111111 1 files changed, 5 insertions(+), 0 deletions(-)
111112
111113 commit c1b2cc5dd5f5ae5c88402c7acbcb270f8d36a9da
111114 Author: Brad Spengler <spender@grsecurity.net>
111115 Date: Wed May 8 20:25:52 2013 -0400
111116
111117 User jorgus on the forums:
111118 http://forums.grsecurity.net/viewtopic.php?f=3&t=3446
111119 discovered that the upstreamed version of enforcing RLIMIT_NPROC
111120 at setuid/exec time missed an important corner case:
111121 If RLIMIT_NPROC is set after a setuid occurs and the user's process
111122 limit is reached elsewhere, no enforcement of RLIMIT_NPROC will
111123 happen at exec time for the task with a modified RLIMIT_NPROC.
111124
111125 This patch fixes that.
111126
111127 kernel/sys.c | 7 +++++++
111128 1 files changed, 7 insertions(+), 0 deletions(-)
111129
111130 commit 85ffce8c95bd1d9114852f74db8c66ddbc2e77ff
111131 Merge: 539fff0 2452d8d
111132 Author: Brad Spengler <spender@grsecurity.net>
111133 Date: Wed May 8 18:13:41 2013 -0400
111134
111135 Merge branch 'pax-test' into grsec-test
111136
111137 commit 2452d8d0416d5c9c32805443dd89e5c9778dea4a
111138 Merge: 6c850d8 9c9ab76
111139 Author: Brad Spengler <spender@grsecurity.net>
111140 Date: Wed May 8 18:13:31 2013 -0400
111141
111142 Merge branch 'linux-3.8.y' into pax-test
111143
111144 Conflicts:
111145 arch/x86/kernel/irq.c
111146 kernel/trace/trace_stack.c
111147
111148 commit 539fff0cf95c3dcc02c5e0ac3ef8da4519efdb9a
111149 Author: Brad Spengler <spender@grsecurity.net>
111150 Date: Tue May 7 21:43:00 2013 -0400
111151
111152 turn counter into a flag
111153
111154 grsecurity/Kconfig | 2 +-
111155 grsecurity/grsec_chroot.c | 8 ++++----
111156 2 files changed, 5 insertions(+), 5 deletions(-)
111157
111158 commit 3da48c0f89377e1ef76470d4b19f19df793fdf32
111159 Author: Brad Spengler <spender@grsecurity.net>
111160 Date: Tue May 7 21:02:39 2013 -0400
111161
111162 add GRKERNSEC_CHROOT_INITRD to work around Plymouth stupidity
111163 useful for Fedora/RHEL users
111164
111165 grsecurity/Kconfig | 10 ++++++++++
111166 grsecurity/grsec_chroot.c | 17 +++++++++++++++--
111167 2 files changed, 25 insertions(+), 2 deletions(-)
111168
111169 commit 418102925c0cfb0de51b0a021abaa575e28fafa6
111170 Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
111171 Date: Fri May 3 14:11:25 2013 +0200
111172
111173 Upstream commit: 7cc23cd6c0c7d7f4bee057607e7ce01568925717
111174
111175 perf/x86/intel/lbr: Demand proper privileges for PERF_SAMPLE_BRANCH_KERNEL
111176
111177 We should always have proper privileges when requesting kernel
111178 data.
111179
111180 Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
111181 Cc: <stable@kernel.org>
111182 Cc: Andi Kleen <ak@linux.intel.com>
111183 Cc: eranian@google.com
111184 Link: http://lkml.kernel.org/r/20130503121256.230745028@chello.nl
111185 [ Fix build error reported by fengguang.wu@intel.com, propagate error code back. ]
111186 Signed-off-by: Ingo Molnar <mingo@kernel.org>
111187 Link: http://lkml.kernel.org/n/tip-v0x9ky3ahzr6nm3c6ilwrili@git.kernel.org
111188
111189 arch/x86/kernel/cpu/perf_event_intel_lbr.c | 13 ++++++++++---
111190 1 files changed, 10 insertions(+), 3 deletions(-)
111191
111192 commit f9e1af27cca1722a4c6a801000b5b3b5410401a2
111193 Author: Eric Dumazet <edumazet@google.com>
111194 Date: Mon Apr 29 05:58:52 2013 +0000
111195
111196 Upstream commit: aebda156a570782a86fc4426842152237a19427d
111197
111198 net: defer net_secret[] initialization
111199
111200 Instead of feeding net_secret[] at boot time, defer the init
111201 at the point first socket is created.
111202
111203 This permits some platforms to use better entropy sources than
111204 the ones available at boot time.
111205
111206 Signed-off-by: Eric Dumazet <edumazet@google.com>
111207 Signed-off-by: David S. Miller <davem@davemloft.net>
111208
111209 include/net/secure_seq.h | 1 +
111210 net/core/secure_seq.c | 4 +---
111211 net/ipv4/af_inet.c | 5 ++++-
111212 3 files changed, 6 insertions(+), 4 deletions(-)
111213
111214 commit a9229d75129cd9744a5e486ec99a0fe6aeaf10ac
111215 Author: Daniel Borkmann <dborkman@redhat.com>
111216 Date: Wed May 1 02:59:23 2013 +0000
111217
111218 Upstream commit: be3e45810bb1ee0bdfa93f6b9532d8c451e50f48
111219
111220 net: sctp: attribute printl with __printf for gcc fmt checks
111221
111222 Let GCC check for format string errors in sctp's probe printl
111223 function. This patch fixes the warning when compiled with W=1:
111224
111225 net/sctp/probe.c:73:2: warning: function might be possible candidate
111226 for 'gnu_printf' format attribute [-Wmissing-format-attribute]
111227
111228 Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
111229 Signed-off-by: David S. Miller <davem@davemloft.net>
111230
111231 net/sctp/probe.c | 2 +-
111232 1 files changed, 1 insertions(+), 1 deletions(-)
111233
111234 commit 81b98190c66a90f0ed2de4560f542b1dea7664f2
111235 Author: Brad Spengler <spender@grsecurity.net>
111236 Date: Thu May 2 19:58:54 2013 -0400
111237
111238 remove no-longer-needed vmware 8 compat fix
111239
111240 mm/page_alloc.c | 6 ------
111241 1 files changed, 0 insertions(+), 6 deletions(-)
111242
111243 commit a7716a90c1dbe09a8a6d98c74ea2f7fe2a530e94
111244 Author: Brad Spengler <spender@grsecurity.net>
111245 Date: Thu May 2 19:55:23 2013 -0400
111246
111247 remove unnecessary < 0 check
111248
111249 net/phonet/af_phonet.c | 2 +-
111250 1 files changed, 1 insertions(+), 1 deletions(-)
111251
111252 commit a4e8dd5b1cca13c2e4145af75694a04aaa811f3f
111253 Author: Brad Spengler <spender@grsecurity.net>
111254 Date: Wed May 1 18:30:48 2013 -0400
111255
111256 remove references to CONFIG_X86_WP_WORKS_OK
111257
111258 arch/um/defconfig | 1 -
111259 security/Kconfig | 2 +-
111260 2 files changed, 1 insertions(+), 2 deletions(-)
111261
111262 commit 408da6791f93ffe00d26bfe919f1b2218fe0804d
111263 Merge: a8dbe8e 6c850d8
111264 Author: Brad Spengler <spender@grsecurity.net>
111265 Date: Wed May 1 18:28:44 2013 -0400
111266
111267 Merge branch 'pax-test' into grsec-test
111268
111269 Conflicts:
111270 arch/sparc/mm/ultra.S
111271 drivers/tty/tty_io.c
111272
111273 commit 6c850d8b76b375e418b6a18a33cc8263f36fabcf
111274 Merge: cdbcbef 9fa1d01
111275 Author: Brad Spengler <spender@grsecurity.net>
111276 Date: Wed May 1 18:25:18 2013 -0400
111277
111278 Merge branch 'linux-3.8.y' into pax-test
111279
111280 commit a8dbe8ee7a0a3ace489e2f95d69d33e14d5f0b78
111281 Author: Brad Spengler <spender@grsecurity.net>
111282 Date: Mon Apr 29 18:44:23 2013 -0400
111283
111284 add module.h to silence compiler warning, thanks to
111285 Sergei Trofimovich
111286
111287 fs/btrfs/inode.c | 1 +
111288 1 files changed, 1 insertions(+), 0 deletions(-)
111289
111290 commit 55eba82aca97aa56378e000840c48965557721e8
111291 Author: Brad Spengler <spender@grsecurity.net>
111292 Date: Mon Apr 29 18:43:03 2013 -0400
111293
111294 compilation fix
111295
111296 kernel/trace/trace.h | 2 +-
111297 1 files changed, 1 insertions(+), 1 deletions(-)
111298
111299 commit e3bf912b54af6df7fbebc68b5999554562056c5c
111300 Merge: 5b72e37 cdbcbef
111301 Author: Brad Spengler <spender@grsecurity.net>
111302 Date: Mon Apr 29 18:34:42 2013 -0400
111303
111304 Merge branch 'pax-test' into grsec-test
111305
111306 commit cdbcbef45c4f003cbee11e10668a35d424c17c60
111307 Author: Brad Spengler <spender@grsecurity.net>
111308 Date: Mon Apr 29 18:33:35 2013 -0400
111309
111310 Update to pax-linux-3.8.10-test21.patch:
111311 - removed size overflow coverage of resource_size(), reported at http://forums.grsecurity.net/viewtopic.php?f=3&t=3412
111312 - fixed bad pointer arithmetic in nfsd_cache_update, reported by Jason A. Donenfeld and http://forums.grsecurity.net/viewtopic.php?f=3&t=3438
111313 note that the false positive is not fixed yet
111314 - fixed a few unintended bitmask computations found by a not-yet-public gcc plugin
111315 - fixed the kernel stack leak bug in do_tgkill, found by the size overflow plugin (https://code.google.com/p/chromium/issues/detail?id=223444)
111316 - reverted the nested NMI fix in search for a real one
111317 - simplified the arm_delay_ops constification
111318
111319 arch/arm/include/asm/delay.h | 8 ++++----
111320 arch/arm/lib/delay.c | 17 +++++------------
111321 arch/x86/kernel/entry_64.S | 11 ++++++++++-
111322 arch/x86/kernel/i8259.c | 2 +-
111323 arch/x86/kernel/pci-calgary_64.c | 2 +-
111324 arch/x86/kvm/vmx.c | 4 ++--
111325 drivers/block/pktcdvd.c | 2 +-
111326 fs/btrfs/extent-tree.c | 2 +-
111327 fs/nfsd/nfscache.c | 6 ++++--
111328 kernel/trace/trace.c | 2 +-
111329 tools/gcc/structleak_plugin.c | 4 ++++
111330 11 files changed, 34 insertions(+), 26 deletions(-)
111331
111332 commit 5b72e3790fa0e8a16a09c0ef745d8065620a1e74
111333 Author: Brad Spengler <spender@grsecurity.net>
111334 Date: Fri Apr 26 20:53:06 2013 -0400
111335
111336 don't use file_inode()
111337
111338 drivers/tty/tty_io.c | 2 +-
111339 1 files changed, 1 insertions(+), 1 deletions(-)
111340
111341 commit a2df9595fa2e3c7a0c63b1acac75425fd4feb946
111342 Author: Jiri Slaby <jslaby@suse.cz>
111343 Date: Fri Apr 26 13:48:53 2013 +0200
111344
111345 Upstream commit: 37b7f3c76595e23257f61bd80b223de8658617ee
111346
111347 TTY: fix atime/mtime regression
111348
111349 In commit b0de59b5733d ("TTY: do not update atime/mtime on read/write")
111350 we removed timestamps from tty inodes to fix a security issue and waited
111351 if something breaks. Well, 'w', the utility to find out logged users
111352 and their inactivity time broke. It shows that users are inactive since
111353 the time they logged in.
111354
111355 To revert to the old behaviour while still preventing attackers to
111356 guess the password length, we update the timestamps in one-minute
111357 intervals by this patch.
111358
111359 Signed-off-by: Jiri Slaby <jslaby@suse.cz>
111360 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
111361 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
111362
111363 Conflicts:
111364
111365 drivers/tty/tty_io.c
111366
111367 drivers/tty/tty_io.c | 15 ++++++++++++++-
111368 1 files changed, 14 insertions(+), 1 deletions(-)
111369
111370 commit c9c76fe07da7611a5062dd3234e5d2369e0a78ec
111371 Author: Jiri Slaby <jslaby@suse.cz>
111372 Date: Fri Feb 15 15:25:05 2013 +0100
111373
111374 Upstream commit: b0de59b5733d
111375
111376 TTY: do not update atime/mtime on read/write
111377
111378 On http://vladz.devzero.fr/013_ptmx-timing.php, we can see how to find
111379 out length of a password using timestamps of /dev/ptmx. It is
111380 documented in "Timing Analysis of Keystrokes and Timing Attacks on
111381 SSH". To avoid that problem, do not update time when reading
111382 from/writing to a TTY.
111383
111384 I am afraid of regressions as this is a behavior we have since 0.97
111385 and apps may expect the time to be current, e.g. for monitoring
111386 whether there was a change on the TTY. Now, there is no change. So
111387 this would better have a lot of testing before it goes upstream.
111388
111389 References: CVE-2013-0160
111390
111391 Signed-off-by: Jiri Slaby <jslaby@suse.cz>
111392 Cc: stable <stable@vger.kernel.org> # after 3.9 is out
111393 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
111394
111395 drivers/tty/tty_io.c | 8 ++------
111396 1 files changed, 2 insertions(+), 6 deletions(-)
111397
111398 commit 5344a24e2320d61dbdb88aae04922f0799deefd0
111399 Author: Zhao Hongjiang <zhaohongjiang@huawei.com>
111400 Date: Fri Apr 26 11:03:53 2013 +0800
111401
111402 Upstream commit: 91d80a84bbc8f28375cca7e65ec666577b4209ad
111403
111404 aio: fix possible invalid memory access when DEBUG is enabled
111405
111406 dprintk() shouldn't access @ring after it's unmapped.
111407
111408 Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
111409 Cc: stable@vger.kernel.org
111410 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
111411
111412 fs/aio.c | 2 +-
111413 1 files changed, 1 insertions(+), 1 deletions(-)
111414
111415 commit 786841cb279bbd8e458d67e112a1d01a3d4598a7
111416 Author: John David Anglin <dave.anglin@bell.net>
111417 Date: Tue Apr 23 22:42:07 2013 +0200
111418
111419 Upstream commit: bda079d336cd8183e1d844a265ea87ae3e1bbe78
111420
111421 parisc: use spin_lock_irqsave/spin_unlock_irqrestore for PTE updates
111422
111423 User applications running on SMP kernels have long suffered from instability
111424 and random segmentation faults. This patch improves the situation although
111425 there is more work to be done.
111426
111427 One of the problems is the various routines in pgtable.h that update page table
111428 entries use different locking mechanisms, or no lock at all (set_pte_at). This
111429 change modifies the routines to all use the same lock pa_dbit_lock. This lock
111430 is used for dirty bit updates in the interruption code. The patch also purges
111431 the TLB entries associated with the PTE to ensure that inconsistent values are
111432 not used after the page table entry is updated. The UP and SMP code are now
111433 identical.
111434
111435 The change also includes a minor update to the purge_tlb_entries function in
111436 cache.c to improve its efficiency.
111437
111438 Signed-off-by: John David Anglin <dave.anglin@bell.net>
111439 Cc: Helge Deller <deller@gmx.de>
111440 Signed-off-by: Helge Deller <deller@gmx.de>
111441
111442 arch/parisc/include/asm/pgtable.h | 47 +++++++++++++++++++-----------------
111443 arch/parisc/kernel/cache.c | 5 +---
111444 2 files changed, 26 insertions(+), 26 deletions(-)
111445
111446 commit 775a77ad179d4c25bc94e85ef81135cbdffcfdc1
111447 Merge: ba54c97 4d05084
111448 Author: Brad Spengler <spender@grsecurity.net>
111449 Date: Fri Apr 26 18:17:20 2013 -0400
111450
111451 Merge branch 'pax-test' into grsec-test
111452
111453 Conflicts:
111454 arch/x86/kvm/x86.c
111455 include/linux/capability.h
111456
111457 commit 4d0508463d0ee3ec4b9eca1ea6bed3be03a3df21
111458 Merge: c664779 bb8dd67
111459 Author: Brad Spengler <spender@grsecurity.net>
111460 Date: Fri Apr 26 18:15:45 2013 -0400
111461
111462 Merge branch 'linux-3.8.y' into pax-test
111463
111464 commit ba54c977fe8c3afc4a9efd7afc3f30cf10b02fa2
111465 Author: David S. Miller <davem@davemloft.net>
111466 Date: Wed Apr 24 16:52:18 2013 -0700
111467
111468 Upstream commit: f0af97070acbad5d6a361f485828223a4faaa0ee
111469
111470 sparc64: Fix missing put_cpu_var() in tlb_batch_add_one() when not batching.
111471
111472 Reported-by: Meelis Roos <mroos@linux.ee>
111473 Signed-off-by: David S. Miller <davem@davemloft.net>
111474
111475 arch/sparc/mm/tlb.c | 3 ++-
111476 1 files changed, 2 insertions(+), 1 deletions(-)
111477
111478 commit dc080cfd57c7cdc426f8c6c2da11911ac99959d8
111479 Author: David S. Miller <davem@davemloft.net>
111480 Date: Fri Apr 19 17:26:26 2013 -0400
111481
111482 Upstream commit: f36391d2790d04993f48da6a45810033a2cdf847
111483
111484 sparc64: Fix race in TLB batch processing.
111485
111486 As reported by Dave Kleikamp, when we emit cross calls to do batched
111487 TLB flush processing we have a race because we do not synchronize on
111488 the sibling cpus completing the cross call.
111489
111490 So meanwhile the TLB batch can be reset (tb->tlb_nr set to zero, etc.)
111491 and either flushes are missed or flushes will flush the wrong
111492 addresses.
111493
111494 Fix this by using generic infrastructure to synchonize on the
111495 completion of the cross call.
111496
111497 This first required getting the flush_tlb_pending() call out from
111498 switch_to() which operates with locks held and interrupts disabled.
111499 The problem is that smp_call_function_many() cannot be invoked with
111500 IRQs disabled and this is explicitly checked for with WARN_ON_ONCE().
111501
111502 We get the batch processing outside of locked IRQ disabled sections by
111503 using some ideas from the powerpc port. Namely, we only batch inside
111504 of arch_{enter,leave}_lazy_mmu_mode() calls. If we're not in such a
111505 region, we flush TLBs synchronously.
111506
111507 1) Get rid of xcall_flush_tlb_pending and per-cpu type
111508 implementations.
111509
111510 2) Do TLB batch cross calls instead via:
111511
111512 smp_call_function_many()
111513 tlb_pending_func()
111514 __flush_tlb_pending()
111515
111516 3) Batch only in lazy mmu sequences:
111517
111518 a) Add 'active' member to struct tlb_batch
111519 b) Define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
111520 c) Set 'active' in arch_enter_lazy_mmu_mode()
111521 d) Run batch and clear 'active' in arch_leave_lazy_mmu_mode()
111522 e) Check 'active' in tlb_batch_add_one() and do a synchronous
111523 flush if it's clear.
111524
111525 4) Add infrastructure for synchronous TLB page flushes.
111526
111527 a) Implement __flush_tlb_page and per-cpu variants, patch
111528 as needed.
111529 b) Likewise for xcall_flush_tlb_page.
111530 c) Implement smp_flush_tlb_page() to invoke the cross-call.
111531 d) Wire up global_flush_tlb_page() to the right routine based
111532 upon CONFIG_SMP
111533
111534 5) It turns out that singleton batches are very common, 2 out of every
111535 3 batch flushes have only a single entry in them.
111536
111537 The batch flush waiting is very expensive, both because of the poll
111538 on sibling cpu completeion, as well as because passing the tlb batch
111539 pointer to the sibling cpus invokes a shared memory dereference.
111540
111541 Therefore, in flush_tlb_pending(), if there is only one entry in
111542 the batch perform a completely asynchronous global_flush_tlb_page()
111543 instead.
111544
111545 Reported-by: Dave Kleikamp <dave.kleikamp@oracle.com>
111546 Signed-off-by: David S. Miller <davem@davemloft.net>
111547 Acked-by: Dave Kleikamp <dave.kleikamp@oracle.com>
111548
111549 arch/sparc/include/asm/pgtable_64.h | 1 +
111550 arch/sparc/include/asm/switch_to_64.h | 3 +-
111551 arch/sparc/include/asm/tlbflush_64.h | 37 +++++++++--
111552 arch/sparc/kernel/smp_64.c | 41 ++++++++++-
111553 arch/sparc/mm/tlb.c | 38 +++++++++-
111554 arch/sparc/mm/tsb.c | 57 ++++++++++++----
111555 arch/sparc/mm/ultra.S | 119 ++++++++++++++++++++++++++-------
111556 7 files changed, 241 insertions(+), 55 deletions(-)
111557
111558 commit cd80cc3cfd122295e6ec6db1e5e16e5b7a5d3b59
111559 Author: Linus Torvalds <torvalds@linux-foundation.org>
111560 Date: Fri Apr 19 15:32:32 2013 +0000
111561
111562 Upstream commit: 83f1b4ba917db5dc5a061a44b3403ddb6e783494
111563
111564 net: fix incorrect credentials passing
111565
111566 Commit 257b5358b32f ("scm: Capture the full credentials of the scm
111567 sender") changed the credentials passing code to pass in the effective
111568 uid/gid instead of the real uid/gid.
111569
111570 Obviously this doesn't matter most of the time (since normally they are
111571 the same), but it results in differences for suid binaries when the wrong
111572 uid/gid ends up being used.
111573
111574 This just undoes that (presumably unintentional) part of the commit.
111575
111576 Reported-by: Andy Lutomirski <luto@amacapital.net>
111577 Cc: Eric W. Biederman <ebiederm@xmission.com>
111578 Cc: Serge E. Hallyn <serge@hallyn.com>
111579 Cc: David S. Miller <davem@davemloft.net>
111580 Cc: stable@vger.kernel.org
111581 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
111582 Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
111583 Signed-off-by: David S. Miller <davem@davemloft.net>
111584
111585 include/net/scm.h | 4 ++--
111586 1 files changed, 2 insertions(+), 2 deletions(-)
111587
111588 commit e126225d1fcaa405ff2a7f1518d615cffe42e7d5
111589 Author: Brad Spengler <spender@grsecurity.net>
111590 Date: Thu Apr 18 19:22:40 2013 -0400
111591
111592 move _etext to only cover kernel code, not read-only data, as reported by Gu1
111593
111594 arch/arm/kernel/vmlinux.lds.S | 4 ++--
111595 1 files changed, 2 insertions(+), 2 deletions(-)
111596
111597 commit 98ad6adbc48759e4f9eae435d3e51ba487155685
111598 Author: Brad Spengler <spender@grsecurity.net>
111599 Date: Thu Apr 18 19:17:24 2013 -0400
111600
111601 add asm/sections.h for USERCOPY change
111602
111603 fs/exec.c | 1 +
111604 1 files changed, 1 insertions(+), 0 deletions(-)
111605
111606 commit c403a6c43da1bcac9b1ef2bca9bba0fb84a40f10
111607 Author: Dmitry Popov <dp@highloadlab.com>
111608 Date: Thu Apr 11 08:55:07 2013 +0000
111609
111610 Upstream commit: d66954a066158781ccf9c13c91d0316970fe57b6
111611
111612 tcp: incoming connections might use wrong route under synflood
111613
111614 There is a bug in cookie_v4_check (net/ipv4/syncookies.c):
111615 flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk),
111616 RT_SCOPE_UNIVERSE, IPPROTO_TCP,
111617 inet_sk_flowi_flags(sk),
111618 (opt && opt->srr) ? opt->faddr : ireq->rmt_addr,
111619 ireq->loc_addr, th->source, th->dest);
111620
111621 Here we do not respect sk->sk_bound_dev_if, therefore wrong dst_entry may be
111622 taken. This dst_entry is used by new socket (get_cookie_sock ->
111623 tcp_v4_syn_recv_sock), so its packets may take the wrong path.
111624
111625 Signed-off-by: Dmitry Popov <dp@highloadlab.com>
111626 Signed-off-by: David S. Miller <davem@davemloft.net>
111627
111628 net/ipv4/syncookies.c | 4 ++--
111629 1 files changed, 2 insertions(+), 2 deletions(-)
111630
111631 commit 3600395e8fef3ae712e72f9b68c3609639616df8
111632 Author: Thomas Graf <tgraf@suug.ch>
111633 Date: Thu Apr 11 10:57:18 2013 +0000
111634
111635 Upstream commit: 50bceae9bd3569d56744882f3012734d48a1d413
111636
111637 tcp: Reallocate headroom if it would overflow csum_start
111638
111639 If a TCP retransmission gets partially ACKed and collapsed multiple
111640 times it is possible for the headroom to grow beyond 64K which will
111641 overflow the 16bit skb->csum_start which is based on the start of
111642 the headroom. It has been observed rarely in the wild with IPoIB due
111643 to the 64K MTU.
111644
111645 Verify if the acking and collapsing resulted in a headroom exceeding
111646 what csum_start can cover and reallocate the headroom if so.
111647
111648 A big thank you to Jim Foraker <foraker1@llnl.gov> and the team at
111649 LLNL for helping out with the investigation and testing.
111650
111651 Reported-by: Jim Foraker <foraker1@llnl.gov>
111652 Signed-off-by: Thomas Graf <tgraf@suug.ch>
111653 Acked-by: Eric Dumazet <edumazet@google.com>
111654 Signed-off-by: David S. Miller <davem@davemloft.net>
111655
111656 net/ipv4/tcp_output.c | 8 ++++++--
111657 1 files changed, 6 insertions(+), 2 deletions(-)
111658
111659 commit 4b0b9a5038da806a2b6eba9efc3f3a53c5188a61
111660 Author: Ivan Vecera <ivecera@redhat.com>
111661 Date: Fri Apr 12 16:49:24 2013 +0200
111662
111663 Upstream commit: f11a869d4e38397ac81f2a3d22e8d2aeb3992b0f
111664
111665 be2net: take care of __vlan_put_tag return value
111666
111667 The driver should use return value of __vlan_put_tag with appropriate
111668 NULL-check instead of old skb pointer.
111669
111670 Signed-off-by: Ivan Vecera <ivecera@redhat.com>
111671 Signed-off-by: David S. Miller <davem@davemloft.net>
111672
111673 drivers/net/ethernet/emulex/benet/be_main.c | 5 +++--
111674 1 files changed, 3 insertions(+), 2 deletions(-)
111675
111676 commit 8d3aca40a891f13b9b1e0d957913fa788fd1cc55
111677 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
111678 Date: Fri Apr 12 03:17:12 2013 +0000
111679
111680 Upstream commit: 3be8fbab18fbc06b6ff94a56f9c225e29ea64a73
111681
111682 tuntap: fix error return code in tun_set_iff()
111683
111684 Fix to return a negative error code from the error handling
111685 case instead of 0, as returned elsewhere in this function.
111686
111687 [ Bug added in linux-3.8 , commit 4008e97f866db665
111688 ("tuntap: fix ambigious multiqueue API") ]
111689
111690 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
111691 Acked-by: Eric Dumazet <edumazet@google.com>
111692 Signed-off-by: David S. Miller <davem@davemloft.net>
111693
111694 drivers/net/tun.c | 2 +-
111695 1 files changed, 1 insertions(+), 1 deletions(-)
111696
111697 commit 42cfd101287e0ffa5e8425ca7dd3c4131a7a601c
111698 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
111699 Date: Sat Apr 13 15:49:03 2013 +0000
111700
111701 Upstream commit: 06848c10f720cbc20e3b784c0df24930b7304b93
111702
111703 esp4: fix error return code in esp_output()
111704
111705 Fix to return a negative error code from the error handling
111706 case instead of 0, as returned elsewhere in this function.
111707
111708 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
111709 Acked-by: Steffen Klassert <steffen.klassert@secunet.com>
111710 Signed-off-by: David S. Miller <davem@davemloft.net>
111711
111712 net/ipv4/esp4.c | 6 +++---
111713 1 files changed, 3 insertions(+), 3 deletions(-)
111714
111715 commit 2b45b5f52c2a8930f80c62de392a62516c83e225
111716 Author: Bjørn Mork <bjorn@mork.no>
111717 Date: Tue Apr 16 00:17:07 2013 +0000
111718
111719 Upstream commit: 32b161aa88aa40a83888a995c6e2ef81140219b1
111720
111721 net: cdc_mbim: remove bogus sizeof()
111722
111723 The intention was to test against the constant, not the size of
111724 the constant.
111725
111726 Signed-off-by: Bjørn Mork <bjorn@mork.no>
111727 Signed-off-by: David S. Miller <davem@davemloft.net>
111728
111729 drivers/net/usb/cdc_mbim.c | 2 +-
111730 1 files changed, 1 insertions(+), 1 deletions(-)
111731
111732 commit 17d7408795519037a5a1272c7888238e20830bfe
111733 Author: Vyacheslav Dubeyko <slava@dubeyko.com>
111734 Date: Wed Apr 17 15:58:33 2013 -0700
111735
111736 Upstream commit: 12f267a20aecf8b84a2a9069b9011f1661c779b4
111737
111738 hfsplus: fix potential overflow in hfsplus_file_truncate()
111739
111740 Change a u32 to loff_t hfsplus_file_truncate().
111741
111742 Signed-off-by: Vyacheslav Dubeyko <slava@dubeyko.com>
111743 Cc: Christoph Hellwig <hch@infradead.org>
111744 Cc: Al Viro <viro@zeniv.linux.org.uk>
111745 Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
111746 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
111747 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
111748
111749 fs/hfsplus/extents.c | 2 +-
111750 1 files changed, 1 insertions(+), 1 deletions(-)
111751
111752 commit 5c9574e7f16e7a9b3ea9b419c46ddc57110a555b
111753 Author: Emese Revfy <re.emese@gmail.com>
111754 Date: Wed Apr 17 15:58:36 2013 -0700
111755
111756 Upstream commit: b9e146d8eb3b9ecae5086d373b50fa0c1f3e7f0f
111757
111758 kernel/signal.c: stop info leak via the tkill and the tgkill syscalls
111759
111760 This fixes a kernel memory contents leak via the tkill and tgkill syscalls
111761 for compat processes.
111762
111763 This is visible in the siginfo_t->_sifields._rt.si_sigval.sival_ptr field
111764 when handling signals delivered from tkill.
111765
111766 The place of the infoleak:
111767
111768 int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)
111769 {
111770 ...
111771 put_user_ex(ptr_to_compat(from->si_ptr), &to->si_ptr);
111772 ...
111773 }
111774
111775 Signed-off-by: Emese Revfy <re.emese@gmail.com>
111776 Reviewed-by: PaX Team <pageexec@freemail.hu>
111777 Signed-off-by: Kees Cook <keescook@chromium.org>
111778 Cc: Al Viro <viro@zeniv.linux.org.uk>
111779 Cc: Oleg Nesterov <oleg@redhat.com>
111780 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
111781 Cc: Serge Hallyn <serge.hallyn@canonical.com>
111782 Cc: <stable@vger.kernel.org>
111783 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
111784 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
111785
111786 kernel/signal.c | 2 +-
111787 1 files changed, 1 insertions(+), 1 deletions(-)
111788
111789 commit 0942d16614b0ef59d50b10151d77ec52fc98c2d0
111790 Author: Brad Spengler <spender@grsecurity.net>
111791 Date: Wed Apr 17 20:17:00 2013 -0400
111792
111793 Improve PAX_USERCOPY to reject direct copies to/from main kernel text
111794
111795 fs/exec.c | 29 +++++++++++++++++++++++++++--
111796 1 files changed, 27 insertions(+), 2 deletions(-)
111797
111798 commit 3cb37d0c0c77dc3928ff8417f982139f95366eba
111799 Merge: e87c19f c664779
111800 Author: Brad Spengler <spender@grsecurity.net>
111801 Date: Wed Apr 17 20:06:08 2013 -0400
111802
111803 Merge branch 'pax-test' into grsec-test
111804
111805 commit c664779987cb0c27a242029f0e0db812e3236203
111806 Author: Brad Spengler <spender@grsecurity.net>
111807 Date: Wed Apr 17 19:54:09 2013 -0400
111808
111809 add intentional_overflow marking for resource_size() as reasoned by:
111810 http://forums.grsecurity.net/viewtopic.php?f=3&t=3412
111811
111812 include/linux/ioport.h | 2 +-
111813 1 files changed, 1 insertions(+), 1 deletions(-)
111814
111815 commit e87c19f8312355b8658e5138c16bfa6043a379c8
111816 Merge: 802d119 d0c636c
111817 Author: Brad Spengler <spender@grsecurity.net>
111818 Date: Wed Apr 17 16:57:12 2013 -0400
111819
111820 Merge branch 'pax-test' into grsec-test
111821
111822 commit d0c636ceaaf406e606898ce3e770e32fb043ea8a
111823 Merge: bc88628 2396403
111824 Author: Brad Spengler <spender@grsecurity.net>
111825 Date: Wed Apr 17 16:57:01 2013 -0400
111826
111827 Merge branch 'linux-3.8.y' into pax-test
111828
111829 Conflicts:
111830 arch/x86/kernel/paravirt.c
111831
111832 commit 802d1193dcb507b2a62a2de0a869a7dbadd66b9b
111833 Author: Brad Spengler <spender@grsecurity.net>
111834 Date: Sun Apr 14 21:39:51 2013 -0400
111835
111836 move location of RBAC user check on setfsuid until after capability checks
111837 for consistency with other checks
111838
111839 kernel/sys.c | 6 +++---
111840 1 files changed, 3 insertions(+), 3 deletions(-)
111841
111842 commit 1a860d7d67051559ab2e6d10f9888649c92904e6
111843 Author: Brad Spengler <spender@grsecurity.net>
111844 Date: Sun Apr 14 21:34:46 2013 -0400
111845
111846 A denied setfsuid by the RBAC system would result in an abort_creds() being called
111847 with an uninitalized pointer, introduced by a bad forward-port
111848
111849 kernel/sys.c | 6 +++---
111850 1 files changed, 3 insertions(+), 3 deletions(-)
111851
111852 commit 9f94b84d0e5e101fe8ea8ebcc8eeb141d8a6edb9
111853 Merge: c38d142 bc88628
111854 Author: Brad Spengler <spender@grsecurity.net>
111855 Date: Sun Apr 14 21:28:33 2013 -0400
111856
111857 Merge branch 'pax-test' into grsec-test
111858
111859 Conflicts:
111860 security/Kconfig
111861
111862 commit bc88628a6a8fcccaabb90908640809b0540df225
111863 Author: Brad Spengler <spender@grsecurity.net>
111864 Date: Sun Apr 14 21:26:41 2013 -0400
111865
111866 Update to pax-linux-3.8.7-test20.patch:
111867 - fixed KERNEXEC and NMI nesting problem reported by stef&hunger
111868 - changed PHYSICAL_ALIGN/START to fix http://forums.grsecurity.net/viewtopic.php?f=3&t=3414
111869 - CONSTIFY depends on KERNEXEC (for the kernel open/close feature)
111870 - fixed CONSTIFY and powerpc interference, reported by John Hardin (https://bugs.gentoo.org/show_bug.cgi?id=456364)
111871
111872 arch/powerpc/include/asm/smp.h | 2 +-
111873 arch/x86/Kconfig | 4 ++--
111874 arch/x86/kernel/entry_64.S | 8 ++++----
111875 security/Kconfig | 2 +-
111876 4 files changed, 8 insertions(+), 8 deletions(-)
111877
111878 commit c38d142744489fc4d9be80188b6435a278438fd9
111879 Author: Suleiman Souhlal <suleiman@google.com>
111880 Date: Sat Apr 13 16:03:06 2013 -0700
111881
111882 Upstream commit: 5b55d708335a9e3e4f61f2dadf7511502205ccd1
111883
111884 vfs: Revert spurious fix to spinning prevention in prune_icache_sb
111885
111886 Revert commit 62a3ddef6181 ("vfs: fix spinning prevention in prune_icache_sb").
111887
111888 This commit doesn't look right: since we are looking at the tail of the
111889 list (sb->s_inode_lru.prev) if we want to skip an inode, we should put
111890 it back at the head of the list instead of the tail, otherwise we will
111891 keep spinning on it.
111892
111893 Discovered when investigating why prune_icache_sb came top in perf
111894 reports of a swapping load.
111895
111896 Signed-off-by: Suleiman Souhlal <suleiman@google.com>
111897 Signed-off-by: Hugh Dickins <hughd@google.com>
111898 Cc: stable@vger.kernel.org # v3.2+
111899 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
111900
111901 fs/inode.c | 2 +-
111902 1 files changed, 1 insertions(+), 1 deletions(-)
111903
111904 commit 93019624b80ba59798393942798d7f6ed0c1dbc6
111905 Author: Linus Torvalds <torvalds@linux-foundation.org>
111906 Date: Sat Apr 13 15:15:30 2013 -0700
111907
111908 Upstream commit: a49b7e82cab0f9b41f483359be83f44fbb6b4979
111909
111910 kobject: fix kset_find_obj() race with concurrent last kobject_put()
111911
111912 Anatol Pomozov identified a race condition that hits module unloading
111913 and re-loading. To quote Anatol:
111914
111915 "This is a race codition that exists between kset_find_obj() and
111916 kobject_put(). kset_find_obj() might return kobject that has refcount
111917 equal to 0 if this kobject is freeing by kobject_put() in other
111918 thread.
111919
111920 Here is timeline for the crash in case if kset_find_obj() searches for
111921 an object tht nobody holds and other thread is doing kobject_put() on
111922 the same kobject:
111923
111924 THREAD A (calls kset_find_obj()) THREAD B (calls kobject_put())
111925 splin_lock()
111926 atomic_dec_return(kobj->kref), counter gets zero here
111927 ... starts kobject cleanup ....
111928 spin_lock() // WAIT thread A in kobj_kset_leave()
111929 iterate over kset->list
111930 atomic_inc(kobj->kref) (counter becomes 1)
111931 spin_unlock()
111932 spin_lock() // taken
111933 // it does not know that thread A increased counter so it
111934 remove obj from list
111935 spin_unlock()
111936 vfree(module) // frees module object with containing kobj
111937
111938 // kobj points to freed memory area!!
111939 kobject_put(kobj) // OOPS!!!!
111940
111941 The race above happens because module.c tries to use kset_find_obj()
111942 when somebody unloads module. The module.c code was introduced in
111943 commit 6494a93d55fa"
111944
111945 Anatol supplied a patch specific for module.c that worked around the
111946 problem by simply not using kset_find_obj() at all, but rather than make
111947 a local band-aid, this just fixes kset_find_obj() to be thread-safe
111948 using the proper model of refusing the get a new reference if the
111949 refcount has already dropped to zero.
111950
111951 See examples of this proper refcount handling not only in the kref
111952 documentation, but in various other equivalent uses of this pattern by
111953 grepping for atomic_inc_not_zero().
111954
111955 [ Side note: the module race does indicate that module loading and
111956 unloading is not properly serialized wrt sysfs information using the
111957 module mutex. That may require further thought, but this is the
111958 correct fix at the kobject layer regardless. ]
111959
111960 Reported-analyzed-and-tested-by: Anatol Pomozov <anatol.pomozov@gmail.com>
111961 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
111962 Cc: Al Viro <viro@zeniv.linux.org.uk>
111963 Cc: stable@vger.kernel.org
111964 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
111965
111966 lib/kobject.c | 9 ++++++++-
111967 1 files changed, 8 insertions(+), 1 deletions(-)
111968
111969 commit 5277b052b5fab36729e1255fb3b12f47a4b12867
111970 Author: Dave Hansen <dave@sr71.net>
111971 Date: Fri Apr 12 16:23:54 2013 -0700
111972
111973 Upstream commit: 1de14c3c5cbc9bb17e9dcc648cda51c0c85d54b9
111974
111975 x86-32: Fix possible incomplete TLB invalidate with PAE pagetables
111976
111977 This patch attempts to fix:
111978
111979 https://bugzilla.kernel.org/show_bug.cgi?id=56461
111980
111981 The symptom is a crash and messages like this:
111982
111983 chrome: Corrupted page table at address 34a03000
111984 *pdpt = 0000000000000000 *pde = 0000000000000000
111985 Bad pagetable: 000f [#1] PREEMPT SMP
111986
111987 Ingo guesses this got introduced by commit 611ae8e3f520 ("x86/tlb:
111988 enable tlb flush range support for x86") since that code started to free
111989 unused pagetables.
111990
111991 On x86-32 PAE kernels, that new code has the potential to free an entire
111992 PMD page and will clear one of the four page-directory-pointer-table
111993 (aka pgd_t entries).
111994
111995 The hardware aggressively "caches" these top-level entries and invlpg
111996 does not actually affect the CPU's copy. If we clear one we *HAVE* to
111997 do a full TLB flush, otherwise we might continue using a freed pmd page.
111998 (note, we do this properly on the population side in pud_populate()).
111999
112000 This patch tracks whenever we clear one of these entries in the 'struct
112001 mmu_gather', and ensures that we follow up with a full tlb flush.
112002
112003 BTW, I disassembled and checked that:
112004
112005 if (tlb->fullmm == 0)
112006 and
112007 if (!tlb->fullmm && !tlb->need_flush_all)
112008
112009 generate essentially the same code, so there should be zero impact there
112010 to the !PAE case.
112011
112012 Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
112013 Cc: Peter Anvin <hpa@zytor.com>
112014 Cc: Ingo Molnar <mingo@kernel.org>
112015 Cc: Artem S Tashkinov <t.artem@mailcity.com>
112016 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
112017
112018 arch/x86/include/asm/tlb.h | 2 +-
112019 arch/x86/mm/pgtable.c | 7 +++++++
112020 include/asm-generic/tlb.h | 7 ++++++-
112021 mm/memory.c | 1 +
112022 4 files changed, 15 insertions(+), 2 deletions(-)
112023
112024 commit 521e573fc77d1783c1d4636dfbb4617a922f043d
112025 Merge: 032f626 f807619
112026 Author: Brad Spengler <spender@grsecurity.net>
112027 Date: Fri Apr 12 19:29:34 2013 -0400
112028
112029 Merge branch 'pax-test' into grsec-test
112030
112031 commit f80761993b85df96fc142dfc3a317cadc0f8eae5
112032 Author: Brad Spengler <spender@grsecurity.net>
112033 Date: Fri Apr 12 19:28:21 2013 -0400
112034
112035 Update to pax-linux-3.8.7-test19.patch:
112036 - fixed STACKLEAK/XEN interference once again, reported by Jason A. Donenfeld
112037 - fixed small typo, reported by mlarm (http://forums.grsecurity.net/viewtopic.php?f=3&t=3411)
112038 - fixed the structleak plugin to compile for gcc 4.5-4.6 as well
112039
112040 Makefile | 2 +-
112041 arch/x86/xen/enlighten.c | 6 +++---
112042 tools/gcc/structleak_plugin.c | 5 +++--
112043 3 files changed, 7 insertions(+), 6 deletions(-)
112044
112045 commit 032f626a4ae9bc3196313a2e762650c3d9abdc96
112046 Merge: a3a770e 89886f5
112047 Author: Brad Spengler <spender@grsecurity.net>
112048 Date: Fri Apr 12 18:38:40 2013 -0400
112049
112050 Merge branch 'pax-test' into grsec-test
112051
112052 commit 89886f561cc0d1c42a99624ec8c3704711088155
112053 Merge: 9123489 531ec28
112054 Author: Brad Spengler <spender@grsecurity.net>
112055 Date: Fri Apr 12 18:38:30 2013 -0400
112056
112057 Merge branch 'linux-3.8.y' into pax-test
112058
112059 commit a3a770e18578841e4fbe2aa0831a22811b4812cf
112060 Author: Brad Spengler <spender@grsecurity.net>
112061 Date: Thu Apr 11 20:46:20 2013 -0400
112062
112063 Revert "Don't auto-enable stackleak if kernel is used for xen dom0, kernel will not boot"
112064 Will be fixed with the next PaX patch
112065
112066 This reverts commit 63badcd2023717cc62b6c3ad5f25fe504c49e6d7.
112067
112068 security/Kconfig | 2 +-
112069 1 files changed, 1 insertions(+), 1 deletions(-)
112070
112071 commit fc98763e4f1f1487928750b26a63098b9e0ed5b1
112072 Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
112073 Date: Fri Mar 29 10:20:56 2013 -0400
112074
112075 Upstream commit: b22227944b8fe92b19150b4c36421e37979d9a16
112076
112077 xen/mmu: On early bootup, flush the TLB when changing RO->RW bits Xen provided pagetables.
112078
112079 Occassionaly on a DL380 G4 the guest would crash quite early with this:
112080
112081 (XEN) d244:v0: unhandled page fault (ec=0003)
112082 (XEN) Pagetable walk from ffffffff84dc7000:
112083 (XEN) L4[0x1ff] = 00000000c3f18067 0000000000001789
112084 (XEN) L3[0x1fe] = 00000000c3f14067 000000000000178d
112085 (XEN) L2[0x026] = 00000000dc8b2067 0000000000004def
112086 (XEN) L1[0x1c7] = 00100000dc8da067 0000000000004dc7
112087 (XEN) domain_crash_sync called from entry.S
112088 (XEN) Domain 244 (vcpu#0) crashed on cpu#3:
112089 (XEN) ----[ Xen-4.1.3OVM x86_64 debug=n Not tainted ]----
112090 (XEN) CPU: 3
112091 (XEN) RIP: e033:[<ffffffff81263f22>]
112092 (XEN) RFLAGS: 0000000000000216 EM: 1 CONTEXT: pv guest
112093 (XEN) rax: 0000000000000000 rbx: ffffffff81785f88 rcx: 000000000000003f
112094 (XEN) rdx: 0000000000000000 rsi: 00000000dc8da063 rdi: ffffffff84dc7000
112095
112096 The offending code shows it to be a loop writting the value zero
112097 (%rax) in the %rdi (the L4 provided by Xen) register:
112098
112099 0: 44 00 00 add %r8b,(%rax)
112100 3: 31 c0 xor %eax,%eax
112101 5: b9 40 00 00 00 mov $0x40,%ecx
112102 a: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
112103 11: 00 00
112104 13: ff c9 dec %ecx
112105 15:* 48 89 07 mov %rax,(%rdi) <-- trapping instruction
112106 18: 48 89 47 08 mov %rax,0x8(%rdi)
112107 1c: 48 89 47 10 mov %rax,0x10(%rdi)
112108
112109 which fails. xen_setup_kernel_pagetable recycles some of the Xen's
112110 page-table entries when it has switched over to its Linux page-tables.
112111
112112 Right before try to clear the page, we make a hypercall to change
112113 it from _RO to _RW and that works (otherwise we would hit an BUG()).
112114 And the _RW flag is set for that page:
112115 (XEN) L1[0x1c7] = 001000004885f067 0000000000004dc7
112116
112117 The error code is 3, so PFEC_page_present and PFEC_write_access, so page is
112118 present (correct), and we tried to write to the page, but a violation
112119 occurred. The one theory is that the the page entries in hardware
112120 (which are cached) are not up to date with what we just set. Especially
112121 as we have just done an CR3 write and flushed the multicalls.
112122
112123 This patch does solve the problem by flusing out the TLB page
112124 entry after changing it from _RO to _RW and we don't hit this
112125 issue anymore.
112126
112127 Fixed-Oracle-Bug: 16243091 [ON OCCASIONS VM START GOES INTO
112128 'CRASH' STATE: CLEAR_PAGE+0X12 ON HP DL380 G4]
112129 Reported-and-Tested-by: Saar Maoz <Saar.Maoz@oracle.com>
112130 Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
112131
112132 arch/x86/xen/mmu.c | 12 ++++++++----
112133 1 files changed, 8 insertions(+), 4 deletions(-)
112134
112135 commit d56bdc2595e76ca48cbfd695def7f82c3ab80c11
112136 Author: Namhyung Kim <namhyung.kim@lge.com>
112137 Date: Mon Apr 1 21:46:23 2013 +0900
112138
112139 Upstream commit: 83e03b3fe4daffdebbb42151d5410d730ae50bd1
112140
112141 tracing: Fix double free when function profile init failed
112142
112143 On the failure path, stat->start and stat->pages will refer same page.
112144 So it'll attempt to free the same page again and get kernel panic.
112145
112146 Link: http://lkml.kernel.org/r/1364820385-32027-1-git-send-email-namhyung@kernel.org
112147
112148 Cc: Frederic Weisbecker <fweisbec@gmail.com>
112149 Cc: Namhyung Kim <namhyung.kim@lge.com>
112150 Cc: stable@vger.kernel.org
112151 Signed-off-by: Namhyung Kim <namhyung@kernel.org>
112152 Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
112153
112154 kernel/trace/ftrace.c | 1 -
112155 1 files changed, 0 insertions(+), 1 deletions(-)
112156
112157 commit c86b0de9f4c42a7ede40df5af9436e87ccc784bb
112158 Author: Neil Horman <nhorman@tuxdriver.com>
112159 Date: Tue Apr 9 23:19:00 2013 +0000
112160
112161 Upstream commit: 61a0f6efc8932e9914e1782ff3a027e23c687fc6
112162
112163 e100: Add dma mapping error check
112164
112165 e100 uses pci_map_single, but fails to check for a dma mapping error after its
112166 use, resulting in a stack trace:
112167
112168 [ 46.656594] ------------[ cut here ]------------
112169 [ 46.657004] WARNING: at lib/dma-debug.c:933 check_unmap+0x47b/0x950()
112170 [ 46.657004] Hardware name: To Be Filled By O.E.M.
112171 [ 46.657004] e100 0000:00:0e.0: DMA-API: device driver failed to check map
112172 error[device address=0x000000007a4540fa] [size=90 bytes] [mapped as single]
112173 [ 46.657004] Modules linked in:
112174 [ 46.657004] w83627hf hwmon_vid snd_via82xx ppdev snd_ac97_codec ac97_bus
112175 snd_seq snd_pcm snd_mpu401 snd_mpu401_uart ns558 snd_rawmidi gameport parport_pc
112176 e100 snd_seq_device parport snd_page_alloc snd_timer snd soundcore skge shpchp
112177 k8temp mii edac_core i2c_viapro edac_mce_amd nfsd auth_rpcgss nfs_acl lockd
112178 sunrpc binfmt_misc uinput ata_generic pata_acpi radeon i2c_algo_bit
112179 drm_kms_helper ttm firewire_ohci drm firewire_core pata_via sata_via i2c_core
112180 sata_promise crc_itu_t
112181 [ 46.657004] Pid: 792, comm: ip Not tainted 3.8.0-0.rc6.git0.1.fc19.x86_64 #1
112182 [ 46.657004] Call Trace:
112183 [ 46.657004] <IRQ> [<ffffffff81065ed0>] warn_slowpath_common+0x70/0xa0
112184 [ 46.657004] [<ffffffff81065f4c>] warn_slowpath_fmt+0x4c/0x50
112185 [ 46.657004] [<ffffffff81364cfb>] check_unmap+0x47b/0x950
112186 [ 46.657004] [<ffffffff8136522f>] debug_dma_unmap_page+0x5f/0x70
112187 [ 46.657004] [<ffffffffa030f0f0>] ? e100_tx_clean+0x30/0x210 [e100]
112188 [ 46.657004] [<ffffffffa030f1a8>] e100_tx_clean+0xe8/0x210 [e100]
112189 [ 46.657004] [<ffffffffa030fc6f>] e100_poll+0x56f/0x6c0 [e100]
112190 [ 46.657004] [<ffffffff8159dce1>] ? net_rx_action+0xa1/0x370
112191 [ 46.657004] [<ffffffff8159ddb2>] net_rx_action+0x172/0x370
112192 [ 46.657004] [<ffffffff810703bf>] __do_softirq+0xef/0x3d0
112193 [ 46.657004] [<ffffffff816e4ebc>] call_softirq+0x1c/0x30
112194 [ 46.657004] [<ffffffff8101c485>] do_softirq+0x85/0xc0
112195 [ 46.657004] [<ffffffff81070885>] irq_exit+0xd5/0xe0
112196 [ 46.657004] [<ffffffff816e5756>] do_IRQ+0x56/0xc0
112197 [ 46.657004] [<ffffffff816dacb2>] common_interrupt+0x72/0x72
112198 [ 46.657004] <EOI> [<ffffffff816da1eb>] ?
112199 _raw_spin_unlock_irqrestore+0x3b/0x70
112200 [ 46.657004] [<ffffffff816d124d>] __slab_free+0x58/0x38b
112201 [ 46.657004] [<ffffffff81214424>] ? fsnotify_clear_marks_by_inode+0x34/0x120
112202 [ 46.657004] [<ffffffff811b0417>] ? kmem_cache_free+0x97/0x320
112203 [ 46.657004] [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
112204 [ 46.657004] [<ffffffff8157fc14>] ? sock_destroy_inode+0x34/0x40
112205 [ 46.657004] [<ffffffff811b0692>] kmem_cache_free+0x312/0x320
112206 [ 46.657004] [<ffffffff8157fc14>] sock_destroy_inode+0x34/0x40
112207 [ 46.657004] [<ffffffff811e8c28>] destroy_inode+0x38/0x60
112208 [ 46.657004] [<ffffffff811e8d5e>] evict+0x10e/0x1a0
112209 [ 46.657004] [<ffffffff811e9605>] iput+0xf5/0x180
112210 [ 46.657004] [<ffffffff811e4338>] dput+0x248/0x310
112211 [ 46.657004] [<ffffffff811ce0e1>] __fput+0x171/0x240
112212 [ 46.657004] [<ffffffff811ce26e>] ____fput+0xe/0x10
112213 [ 46.657004] [<ffffffff8108d54c>] task_work_run+0xac/0xe0
112214 [ 46.657004] [<ffffffff8106c6ed>] do_exit+0x26d/0xc30
112215 [ 46.657004] [<ffffffff8109eccc>] ? finish_task_switch+0x7c/0x120
112216 [ 46.657004] [<ffffffff816dad58>] ? retint_swapgs+0x13/0x1b
112217 [ 46.657004] [<ffffffff8106d139>] do_group_exit+0x49/0xc0
112218 [ 46.657004] [<ffffffff8106d1c4>] sys_exit_group+0x14/0x20
112219 [ 46.657004] [<ffffffff816e3b19>] system_call_fastpath+0x16/0x1b
112220 [ 46.657004] ---[ end trace 4468c44e2156e7d1 ]---
112221 [ 46.657004] Mapped at:
112222 [ 46.657004] [<ffffffff813663d1>] debug_dma_map_page+0x91/0x140
112223 [ 46.657004] [<ffffffffa030e8eb>] e100_xmit_prepare+0x12b/0x1c0 [e100]
112224 [ 46.657004] [<ffffffffa030c924>] e100_exec_cb+0x84/0x140 [e100]
112225 [ 46.657004] [<ffffffffa030e56a>] e100_xmit_frame+0x3a/0x190 [e100]
112226 [ 46.657004] [<ffffffff8159ee89>] dev_hard_start_xmit+0x259/0x6c0
112227
112228 Easy fix, modify the cb paramter to e100_exec_cb to return an error, and do the
112229 dma_mapping_error check in the obvious place
112230
112231 This was reported previously here:
112232 http://article.gmane.org/gmane.linux.network/257893
112233
112234 But nobody stepped up and fixed it.
112235
112236 CC: Josh Boyer <jwboyer@redhat.com>
112237 CC: e1000-devel@lists.sourceforge.net
112238 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
112239 Reported-by: Michal Jaegermann <michal@harddata.com>
112240 Tested-by: Aaron Brown <aaron.f.brown@intel.com>
112241 Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
112242 Signed-off-by: David S. Miller <davem@davemloft.net>
112243
112244 drivers/net/ethernet/intel/e100.c | 36 +++++++++++++++++++++++++-----------
112245 1 files changed, 25 insertions(+), 11 deletions(-)
112246
112247 commit df93708573ce6c512b9a9406a83a6fd4e87ff6a6
112248 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
112249 Date: Wed Apr 10 12:44:18 2013 -0400
112250
112251 Upstream commit: eb04e0ac198cec3bab407ad220438dfa65c19c67
112252
112253 NFSv4: Doh! Typo in the fix to nfs41_walk_client_list
112254
112255 Make sure that we set the status to 0 on success. Missed in testing
112256 because it never appears when doing multiple mounts to _different_
112257 servers.
112258
112259 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
112260 Cc: <stable@vger.kernel.org> # 3.7.x: 7b1f1fd: NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
112261
112262 fs/nfs/nfs4client.c | 1 +
112263 1 files changed, 1 insertions(+), 0 deletions(-)
112264
112265 commit 0ea7b7294f627588b0b3dc26a8a0ff8e1e27b5ea
112266 Author: Yuval Mintz <yuvalmin@broadcom.com>
112267 Date: Wed Apr 10 13:34:39 2013 +0300
112268
112269 Upstream commit: fea75645342c7ad574214497a78e562db12dfd7b
112270
112271 bnx2x: Prevent null pointer dereference in AFEX mode
112272
112273 The cnic module is responsible for initializing various bnx2x structs
112274 via callbacks provided by the bnx2x module.
112275 One such struct is the queue object for the FCoE queue.
112276
112277 If a device is working in AFEX mode and its configuration allows FCoE yet
112278 the cnic module is not loaded, it's very likely a null pointer dereference
112279 will occur, as the bnx2x will erroneously access the FCoE's queue object.
112280
112281 Prevent said access until cnic properly registers itself.
112282
112283 Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
112284 Signed-off-by: Ariel Elior <ariele@broadcom.com>
112285 Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
112286 Signed-off-by: David S. Miller <davem@davemloft.net>
112287
112288 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 3 ++-
112289 1 files changed, 2 insertions(+), 1 deletions(-)
112290
112291 commit 2908830232725db624aaa052f7ad38d1f98bf541
112292 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
112293 Date: Tue Apr 9 14:16:04 2013 +0800
112294
112295 Upstream commit: 3480a2125923e4b7a56d79efc76743089bf273fc
112296
112297 can: gw: use kmem_cache_free() instead of kfree()
112298
112299 Memory allocated by kmem_cache_alloc() should be freed using
112300 kmem_cache_free(), not kfree().
112301
112302 Cc: linux-stable <stable@vger.kernel.org> # >= v3.2
112303 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
112304 Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
112305 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
112306
112307 net/can/gw.c | 6 +++---
112308 1 files changed, 3 insertions(+), 3 deletions(-)
112309
112310 commit d40b572e845a5fb561e3c4a80cc306cd38888a4e
112311 Author: Christoph Paasch <christoph.paasch@uclouvain.be>
112312 Date: Sun Apr 7 04:53:15 2013 +0000
112313
112314 Upstream commit: 50a75a8914539c5dcd441c5f54d237a666a426fd
112315
112316 ipv6/tcp: Stop processing ICMPv6 redirect messages
112317
112318 Tetja Rediske found that if the host receives an ICMPv6 redirect message
112319 after sending a SYN+ACK, the connection will be reset.
112320
112321 He bisected it down to 093d04d (ipv6: Change skb->data before using
112322 icmpv6_notify() to propagate redirect), but the origin of the bug comes
112323 from ec18d9a26 (ipv6: Add redirect support to all protocol icmp error
112324 handlers.). The bug simply did not trigger prior to 093d04d, because
112325 skb->data did not point to the inner IP header and thus icmpv6_notify
112326 did not call the correct err_handler.
112327
112328 This patch adds the missing "goto out;" in tcp_v6_err. After receiving
112329 an ICMPv6 Redirect, we should not continue processing the ICMP in
112330 tcp_v6_err, as this may trigger the removal of request-socks or setting
112331 sk_err(_soft).
112332
112333 Reported-by: Tetja Rediske <tetja@tetja.de>
112334 Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
112335 Acked-by: Eric Dumazet <edumazet@google.com>
112336 Signed-off-by: David S. Miller <davem@davemloft.net>
112337
112338 net/ipv6/tcp_ipv6.c | 1 +
112339 1 files changed, 1 insertions(+), 0 deletions(-)
112340
112341 commit c7d5c2524456ef3ea9194840e7a9a75069a46824
112342 Author: Brad Spengler <spender@grsecurity.net>
112343 Date: Wed Apr 10 20:32:54 2013 -0400
112344
112345 - fixed typo in Makefile reported by mlarm (https://forums.grsecurity.net/viewtopic.php?t=3411)
112346
112347 Makefile | 2 +-
112348 1 files changed, 1 insertions(+), 1 deletions(-)
112349
112350 commit acac2380fd97acee4367d2aa24c74322dcf1d22b
112351 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
112352 Date: Fri Apr 5 16:11:11 2013 -0400
112353
112354 Upstream commit: 7b1f1fd1842e6ede25183c267ae733a7f67f00bc
112355
112356 NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
112357
112358 It is unsafe to use list_for_each_entry_safe() here, because
112359 when we drop the nn->nfs_client_lock, we pin the _current_ list
112360 entry and ensure that it stays in the list, but we don't do the
112361 same for the _next_ list entry. Use of list_for_each_entry() is
112362 therefore the correct thing to do.
112363
112364 Also fix the refcounting in nfs41_walk_client_list().
112365
112366 Finally, ensure that the nfs_client has finished being initialised
112367 and, in the case of NFSv4.1, that the session is set up.
112368
112369 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
112370 Cc: Chuck Lever <chuck.lever@oracle.com>
112371 Cc: Bryan Schumaker <bjschuma@netapp.com>
112372 Cc: stable@vger.kernel.org [>= 3.7]
112373
112374 fs/nfs/nfs4client.c | 44 ++++++++++++++++++++++++++++----------------
112375 1 files changed, 28 insertions(+), 16 deletions(-)
112376
112377 commit a6cf5f387b882ac0ce655b75f623f86c075517be
112378 Author: Chuck Lever <chuck.lever@oracle.com>
112379 Date: Fri Mar 22 12:52:59 2013 -0400
112380
112381 Upstream commit: a58e0be6f6b3eb2079b0b8fedc9df6fa86869f1e
112382
112383 SUNRPC: Remove extra xprt_put()
112384
112385 While testing error cases where rpc_new_client() fails, I saw
112386 some oopses.
112387
112388 If rpc_new_client() fails, it already invokes xprt_put(). Thus
112389 __rpc_clone_client() does not need to invoke it again.
112390
112391 Introduced by commit 1b63a751 "SUNRPC: Refactor rpc_clone_client()"
112392 Fri Sep 14, 2012.
112393
112394 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
112395 Cc: stable@vger.kernel.org [>=3.7]
112396 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
112397
112398 net/sunrpc/clnt.c | 4 +---
112399 1 files changed, 1 insertions(+), 3 deletions(-)
112400
112401 commit a744b307c1f65ceb100412dc18cdd7ecc9a8ae00
112402 Author: Trond Myklebust <Trond.Myklebust@netapp.com>
112403 Date: Fri Apr 5 14:13:21 2013 -0400
112404
112405 Upstream commit: f05c124a70a4953a66acbd6d6c601ea1eb5d0fa7
112406
112407 SUNRPC: Fix a potential memory leak in rpc_new_client
112408
112409 If the call to rpciod_up() fails, we currently leak a reference to the
112410 struct rpc_xprt.
112411 As part of the fix, we also remove the redundant check for xprt!=NULL.
112412 This is already taken care of by the callers.
112413
112414 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
112415
112416 net/sunrpc/clnt.c | 7 ++-----
112417 1 files changed, 2 insertions(+), 5 deletions(-)
112418
112419 commit 43b9f1b9b8380984c5c100978bd33e8f16da06ac
112420 Author: Brad Spengler <spender@grsecurity.net>
112421 Date: Wed Apr 10 19:16:05 2013 -0400
112422
112423 From https://lkml.org/lkml/2013/4/8/469:
112424 [PATCH] rtnetlink: call nlmsg_parse() with correct header length
112425
112426 net/core/rtnetlink.c | 4 ++--
112427 1 files changed, 2 insertions(+), 2 deletions(-)
112428
112429 commit 9529169b8c405874fd543b785f53c74fa0501c2a
112430 Author: Christopher Harvey <charvey@matrox.com>
112431 Date: Fri Apr 5 10:51:15 2013 -0400
112432
112433 Upstream commit: 1812a3db0874be1d1524086da9e84397b800f546
112434
112435 drm/mgag200: Index 24 in extended CRTC registers is 24 in hex, not decimal.
112436
112437 This change properly enables the "requester" in G200ER cards that is
112438 responsible for getting pixels out of memory and clocking them out to
112439 the screen.
112440
112441 Signed-off-by: Christopher Harvey <charvey@matrox.com>
112442 Cc: stable@vger.kernel.org
112443 Signed-off-by: Dave Airlie <airlied@redhat.com>
112444
112445 drivers/gpu/drm/mgag200/mgag200_mode.c | 13 +++----------
112446 1 files changed, 3 insertions(+), 10 deletions(-)
112447
112448 commit 07c42243c7b01e2a7a9d168ad491e28b9ef9082a
112449 Author: Al Viro <viro@zeniv.linux.org.uk>
112450 Date: Thu Mar 28 13:30:23 2013 -0400
112451
112452 Upstream commit: 52f21999c7b921a0390708b66ed286282c2e4bee
112453
112454 ecryptfs: close rmmod race
112455
112456 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
112457
112458 fs/ecryptfs/miscdev.c | 14 ++------------
112459 1 files changed, 2 insertions(+), 12 deletions(-)
112460
112461 commit 2800bdcf9cd642b967e5fdc2a15c1c4aefbadd9b
112462 Author: Brad Spengler <spender@grsecurity.net>
112463 Date: Wed Apr 10 19:03:45 2013 -0400
112464
112465 Backport overflow fix from upstream commit: ccf932042fa7785832d8989ba1369cd7c7f5d7a1
112466
112467 arch/ia64/kernel/palinfo.c | 2 +-
112468 1 files changed, 1 insertions(+), 1 deletions(-)
112469
112470 commit 83280e384ae3ceadad30369ced111dc7d4b46085
112471 Author: Andrey Vagin <avagin@openvz.org>
112472 Date: Tue Apr 9 17:33:29 2013 +0400
112473
112474 Upstream commit: e9c5d8a562f01b211926d70443378eb14b29a676
112475
112476 mnt: release locks on error path in do_loopback
112477
112478 do_loopback calls lock_mount(path) and forget to unlock_mount
112479 if clone_mnt or copy_mnt fails.
112480
112481 [ 77.661566] ================================================
112482 [ 77.662939] [ BUG: lock held when returning to user space! ]
112483 [ 77.664104] 3.9.0-rc5+ #17 Not tainted
112484 [ 77.664982] ------------------------------------------------
112485 [ 77.666488] mount/514 is leaving the kernel with locks still held!
112486 [ 77.668027] 2 locks held by mount/514:
112487 [ 77.668817] #0: (&sb->s_type->i_mutex_key#7){+.+.+.}, at: [<ffffffff811cca22>] lock_mount+0x32/0xe0
112488 [ 77.671755] #1: (&namespace_sem){+++++.}, at: [<ffffffff811cca3a>] lock_mount+0x4a/0xe0
112489
112490 Signed-off-by: Andrey Vagin <avagin@openvz.org>
112491 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
112492
112493 fs/namespace.c | 2 +-
112494 1 files changed, 1 insertions(+), 1 deletions(-)
112495
112496 commit 679e536b9d9536d804f049fe942367a596253e6d
112497 Author: Alex Williamson <alex.williamson@redhat.com>
112498 Date: Tue Mar 26 11:33:16 2013 -0600
112499
112500 Upstream commit: 904c680c7bf016a8619a045850937427f8d7368c
112501
112502 vfio-pci: Fix possible integer overflow
112503
112504 The VFIO_DEVICE_SET_IRQS ioctl takes a start and count parameter, both
112505 of which are unsigned. We attempt to bounds check these, but fail to
112506 account for the case where start is a very large number, allowing
112507 start + count to wrap back into the valid range. Bounds check both
112508 start and start + count.
112509
112510 Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
112511 Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
112512
112513 drivers/vfio/pci/vfio_pci.c | 3 ++-
112514 1 files changed, 2 insertions(+), 1 deletions(-)
112515
112516 commit 63badcd2023717cc62b6c3ad5f25fe504c49e6d7
112517 Author: Brad Spengler <spender@grsecurity.net>
112518 Date: Wed Apr 10 18:48:45 2013 -0400
112519
112520 Don't auto-enable stackleak if kernel is used for xen dom0, kernel will not boot
112521
112522 security/Kconfig | 2 +-
112523 1 files changed, 1 insertions(+), 1 deletions(-)
112524
112525 commit b5261a6384ee42499b29495aaae40b271e77d394
112526 Author: Brad Spengler <spender@grsecurity.net>
112527 Date: Tue Apr 9 17:30:45 2013 -0400
112528
112529 some undefined behavior fixups
112530
112531 grsecurity/gracl.c | 4 ++--
112532 grsecurity/gracl_ip.c | 10 +++++-----
112533 grsecurity/gracl_segv.c | 4 ++--
112534 3 files changed, 9 insertions(+), 9 deletions(-)
112535
112536 commit 9f83caa35e78be1f3e753586ab217555c3b21ff4
112537 Author: Brad Spengler <spender@grsecurity.net>
112538 Date: Tue Apr 9 17:28:54 2013 -0400
112539
112540 don't whine about denied ipv6 when it's not enabled
112541
112542 grsecurity/gracl_ip.c | 3 +++
112543 1 files changed, 3 insertions(+), 0 deletions(-)
112544
112545 commit 5a02f8bc96bd0c31f9ff09e63f9d85d560b8be61
112546 Merge: 97bca88 9123489
112547 Author: Brad Spengler <spender@grsecurity.net>
112548 Date: Tue Apr 9 17:18:45 2013 -0400
112549
112550 Merge branch 'pax-test' into grsec-test
112551
112552 commit 9123489428c58668a89f316db6619739cbdd2c2a
112553 Author: Brad Spengler <spender@grsecurity.net>
112554 Date: Tue Apr 9 17:17:46 2013 -0400
112555
112556 Update to pax-linux-3.8.6-test18.patch:
112557 - new size overflow plugin from Emese to work around a gcc optimization
112558 resulting in an intentional overflow, reported by Carlos Carvalho
112559 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3409)
112560
112561 tools/gcc/size_overflow_plugin.c | 68 ++++++++++++++++++++++++++++++++++++-
112562 1 files changed, 66 insertions(+), 2 deletions(-)
112563
112564 commit 97bca8889e0f1e853f16b7026c39c6729a8587ab
112565 Merge: 675a41e e9d6073
112566 Author: Brad Spengler <spender@grsecurity.net>
112567 Date: Mon Apr 8 21:32:59 2013 -0400
112568
112569 Merge branch 'pax-test' into grsec-test
112570
112571 Conflicts:
112572 arch/sparc/kernel/us3_cpufreq.c
112573
112574 commit e9d6073f15010ccace0b6b0f0a19ed63cf1adeef
112575 Author: Brad Spengler <spender@grsecurity.net>
112576 Date: Mon Apr 8 21:19:03 2013 -0400
112577
112578 Update to pax-linux-3.8.6-test17.patch:
112579 - fixed ia64/ppc/sparc compilation by spender
112580 - improved the STRUCTLEAK gcc plugin to cover a few more cases (credit to stef for the bugreport)
112581
112582 arch/ia64/include/asm/uaccess.h | 2 -
112583 arch/powerpc/include/asm/uaccess.h | 2 -
112584 arch/sparc/include/asm/uaccess.h | 7 ----
112585 arch/sparc/kernel/prom_common.c | 2 +-
112586 arch/sparc/kernel/us3_cpufreq.c | 69 ++++++++++--------------------------
112587 tools/gcc/structleak_plugin.c | 15 ++++----
112588 6 files changed, 28 insertions(+), 69 deletions(-)
112589
112590 commit 675a41e42a636dcb1e97bffe0f0fa6262242e64b
112591 Author: Brad Spengler <spender@grsecurity.net>
112592 Date: Sun Apr 7 12:00:50 2013 -0400
112593
112594 fix similar leaks in sys_recvfrom as fixed in recvmsg, already handled by the new structleak plugin
112595
112596 net/socket.c | 2 +-
112597 1 files changed, 1 insertions(+), 1 deletions(-)
112598
112599 commit 5a216624a06429488f24ce47db093da042f90e48
112600 Author: Brad Spengler <spender@grsecurity.net>
112601 Date: Sat Apr 6 13:22:24 2013 -0400
112602
112603 fix typo
112604
112605 arch/sparc/kernel/us3_cpufreq.c | 5 +----
112606 1 files changed, 1 insertions(+), 4 deletions(-)
112607
112608 commit e476ca18d21788898cd3acd1b57049971a2fb70f
112609 Author: Brad Spengler <spender@grsecurity.net>
112610 Date: Sat Apr 6 13:16:13 2013 -0400
112611
112612 properly fix cpufreq_driver for ultrasparc III with constification
112613
112614 arch/sparc/kernel/us3_cpufreq.c | 35 +++++++++++++++++------------------
112615 1 files changed, 17 insertions(+), 18 deletions(-)
112616
112617 commit 3ef64a33c8a38d17db7d1e6ff13d9036c75598ae
112618 Author: Brad Spengler <spender@grsecurity.net>
112619 Date: Sat Apr 6 12:58:48 2013 -0400
112620
112621 mark prom_sparc_ops __initconst
112622
112623 arch/sparc/kernel/prom_common.c | 2 +-
112624 1 files changed, 1 insertions(+), 1 deletions(-)
112625
112626 commit daaa8e290cb1eb08e86c6d3f0fb1a8270d897439
112627 Author: Brad Spengler <spender@grsecurity.net>
112628 Date: Sat Apr 6 12:53:16 2013 -0400
112629
112630 fix ia64/powerpc/sparc compilation
112631
112632 arch/ia64/include/asm/uaccess.h | 2 --
112633 arch/powerpc/include/asm/uaccess.h | 2 --
112634 arch/sparc/include/asm/uaccess.h | 7 -------
112635 3 files changed, 0 insertions(+), 11 deletions(-)
112636
112637 commit 4a0cd3af0fd8788bd1c84de775743c8ae51e9a39
112638 Author: Johannes Berg <johannes.berg@intel.com>
112639 Date: Tue Mar 19 20:26:57 2013 +0100
112640
112641 Upstream commit: ce1eadda6badef9e4e3460097ede674fca47383d
112642
112643 cfg80211: fix wdev tracing crash
112644
112645 Arend reported a crash in tracing if the driver returns an
112646 ERR_PTR() value from the add_virtual_intf() callback. This
112647 is due to the tracing then still attempting to dereference
112648 the "pointer", fix this by using IS_ERR_OR_NULL().
112649
112650 Reported-by: Arend van Spriel <arend@broadcom.com>
112651 Tested-by: Arend van Spriel <arend@broadcom.com>
112652 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
112653
112654 net/wireless/trace.h | 3 ++-
112655 1 files changed, 2 insertions(+), 1 deletions(-)
112656
112657 commit 68e6eafdaf9a3b37c780b3916a35a1961b1559fd
112658 Author: Johannes Berg <johannes.berg@intel.com>
112659 Date: Mon Mar 25 11:51:14 2013 +0100
112660
112661 Upstream commit: 3fbd45ca8d1c98f3c2582ef8bc70ade42f70947b
112662
112663 mac80211: fix remain-on-channel cancel crash
112664
112665 If a ROC item is canceled just as it expires, the work
112666 struct may be scheduled while it is running (and waiting
112667 for the mutex). This results in it being run after being
112668 freed, which obviously crashes.
112669
112670 To fix this don't free it when aborting is requested but
112671 instead mark it as "to be freed", which makes the work a
112672 no-op and allows freeing it outside.
112673
112674 Cc: stable@vger.kernel.org [3.6+]
112675 Reported-by: Jouni Malinen <j@w1.fi>
112676 Tested-by: Jouni Malinen <j@w1.fi>
112677 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
112678
112679 net/mac80211/cfg.c | 6 ++++--
112680 net/mac80211/ieee80211_i.h | 3 ++-
112681 net/mac80211/offchannel.c | 23 +++++++++++++++++------
112682 3 files changed, 23 insertions(+), 9 deletions(-)
112683
112684 commit dd5df32b00e3c2344ba39fe01071e7b67b83e1e4
112685 Author: Stone Piao <piaoyun@marvell.com>
112686 Date: Fri Mar 29 19:21:21 2013 -0700
112687
112688 Upstream commit: 901ceba4e81e9dd6b4a3c4c37ee22000a6c5c65f
112689
112690 mwifiex: limit channel number not to overflow memory
112691
112692 Limit the channel number in scan request, or the driver scan
112693 config structure memory will be overflowed.
112694
112695 Cc: <stable@vger.kernel.org> # 3.5+
112696 Signed-off-by: Stone Piao <piaoyun@marvell.com>
112697 Signed-off-by: Bing Zhao <bzhao@marvell.com>
112698 Signed-off-by: John W. Linville <linville@tuxdriver.com>
112699
112700 drivers/net/wireless/mwifiex/cfg80211.c | 3 ++-
112701 1 files changed, 2 insertions(+), 1 deletions(-)
112702
112703 commit 207c411512bdaf0e4271f93ecac6ca26588da36f
112704 Author: Gao feng <gaofeng@cn.fujitsu.com>
112705 Date: Thu Mar 21 19:48:41 2013 +0000
112706
112707 Upstream commit: 130549fed828cc34c22624c6195afcf9e7ae56fe
112708
112709 netfilter: reset nf_trace in nf_reset
112710
112711 We forgot to clear the nf_trace of sk_buff in nf_reset,
112712 When we use veth device, this nf_trace information will
112713 be leaked from one net namespace to another net namespace.
112714
112715 Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
112716 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
112717
112718 include/linux/skbuff.h | 3 +++
112719 1 files changed, 3 insertions(+), 0 deletions(-)
112720
112721 commit 3b12800d73c763265b2de5f2a7a745d9caa62c6f
112722 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
112723 Date: Fri Mar 22 01:28:18 2013 +0000
112724
112725 Upstream commit: 558724a5b2a73ad0c7638e21e8dffc419d267b6c
112726
112727 netfilter: nfnetlink_queue: fix error return code in nfnetlink_queue_init()
112728
112729 Fix to return a negative error code from the error handling
112730 case instead of 0, as returned elsewhere in this function.
112731
112732 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
112733 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
112734
112735 net/netfilter/nfnetlink_queue_core.c | 4 +++-
112736 1 files changed, 3 insertions(+), 1 deletions(-)
112737
112738 commit a79feb7d3251eca577d83d7f69eee2b961ab2924
112739 Author: Pablo Neira Ayuso <pablo@netfilter.org>
112740 Date: Sat Mar 23 16:57:59 2013 +0100
112741
112742 Upstream commit: deadcfc3324410726cd6a663fb4fc46be595abe7
112743
112744 netfilter: nfnetlink_acct: return -EINVAL if object name is empty
112745
112746 If user-space tries to create accounting object with an empty
112747 name, then return -EINVAL.
112748
112749 Reported-by: Michael Zintakis <michael.zintakis@googlemail.com>
112750 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
112751
112752 net/netfilter/nfnetlink_acct.c | 2 ++
112753 1 files changed, 2 insertions(+), 0 deletions(-)
112754
112755 commit 1a51dca4fc16538d90a7a4c92b1ffe7e0fd76cf7
112756 Author: Matthias Schiffer <mschiffer@universe-factory.net>
112757 Date: Sat Mar 30 10:23:12 2013 +0000
112758
112759 Upstream commit: 906b1c394d0906a154fbdc904ca506bceb515756
112760
112761 netfilter: ip6t_NPT: Fix translation for non-multiple of 32 prefix lengths
112762
112763 The bitmask used for the prefix mangling was being calculated
112764 incorrectly, leading to the wrong part of the address being replaced
112765 when the prefix length wasn't a multiple of 32.
112766
112767 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
112768 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
112769
112770 net/ipv6/netfilter/ip6t_NPT.c | 2 +-
112771 1 files changed, 1 insertions(+), 1 deletions(-)
112772
112773 commit 3425de1e3dc22e1602f9c77fe8d258da58416d5e
112774 Author: Veaceslav Falico <vfalico@redhat.com>
112775 Date: Wed Apr 3 05:46:33 2013 +0000
112776
112777 Upstream commit: 4de79c737b200492195ebc54a887075327e1ec1d
112778
112779 bonding: remove sysfs before removing devices
112780
112781 We have a race condition if we try to rmmod bonding and simultaneously add
112782 a bond master through sysfs. In bonding_exit() we first remove the devices
112783 (through rtnl_link_unregister() ) and only after that we remove the sysfs.
112784 If we manage to add a device through sysfs after that the devices were
112785 removed - we'll end up with that device/sysfs structure and with the module
112786 unloaded.
112787
112788 Fix this by first removing the sysfs and only after that calling
112789 rtnl_link_unregister().
112790
112791 Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
112792 Signed-off-by: David S. Miller <davem@davemloft.net>
112793
112794 drivers/net/bonding/bond_main.c | 2 +-
112795 1 files changed, 1 insertions(+), 1 deletions(-)
112796
112797 commit d12cae44a9d12441d81c489178803237219d403d
112798 Author: Eric W. Biederman <ebiederm@xmission.com>
112799 Date: Wed Apr 3 16:14:47 2013 +0000
112800
112801 Upstream commit: 0e82e7f6dfeec1013339612f74abc2cdd29d43d2
112802
112803 af_unix: If we don't care about credentials coallesce all messages
112804
112805 It was reported that the following LSB test case failed
112806 https://lsbbugs.linuxfoundation.org/attachment.cgi?id=2144 because we
112807 were not coallescing unix stream messages when the application was
112808 expecting us to.
112809
112810 The problem was that the first send was before the socket was accepted
112811 and thus sock->sk_socket was NULL in maybe_add_creds, and the second
112812 send after the socket was accepted had a non-NULL value for sk->socket
112813 and thus we could tell the credentials were not needed so we did not
112814 bother.
112815
112816 The unnecessary credentials on the first message cause
112817 unix_stream_recvmsg to start verifying that all messages had the same
112818 credentials before coallescing and then the coallescing failed because
112819 the second message had no credentials.
112820
112821 Ignoring credentials when we don't care in unix_stream_recvmsg fixes a
112822 long standing pessimization which would fail to coallesce messages when
112823 reading from a unix stream socket if the senders were different even if
112824 we did not care about their credentials.
112825
112826 I have tested this and verified that the in the LSB test case mentioned
112827 above that the messages do coallesce now, while the were failing to
112828 coallesce without this change.
112829
112830 Reported-by: Karel Srot <ksrot@redhat.com>
112831 Reported-by: Ding Tianhong <dingtianhong@huawei.com>
112832 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
112833 Signed-off-by: David S. Miller <davem@davemloft.net>
112834
112835 net/unix/af_unix.c | 2 +-
112836 1 files changed, 1 insertions(+), 1 deletions(-)
112837
112838 commit 126d882492b130da6367f71cdf3ac59bf4f4c1bf
112839 Author: Eric W. Biederman <ebiederm@xmission.com>
112840 Date: Wed Apr 3 16:13:35 2013 +0000
112841
112842 Upstream commit: 25da0e3e9d3fb2b522bc2a598076735850310eb1
112843
112844 Revert "af_unix: dont send SCM_CREDENTIAL when dest socket is NULL"
112845
112846 This reverts commit 14134f6584212d585b310ce95428014b653dfaf6.
112847
112848 The problem that the above patch was meant to address is that af_unix
112849 messages are not being coallesced because we are sending unnecesarry
112850 credentials. Not sending credentials in maybe_add_creds totally
112851 breaks unconnected unix domain sockets that wish to send credentails
112852 to other sockets.
112853
112854 In practice this break some versions of udev because they receive a
112855 message and the sending uid is bogus so they drop the message.
112856
112857 Reported-by: Sven Joachim <svenjoac@gmx.de>
112858 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
112859 Signed-off-by: David S. Miller <davem@davemloft.net>
112860
112861 net/unix/af_unix.c | 4 ++--
112862 1 files changed, 2 insertions(+), 2 deletions(-)
112863
112864 commit 1295b4f600e8f5ab56af71e5a89e4c0e74e95663
112865 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
112866 Date: Wed Mar 20 21:31:42 2013 +0000
112867
112868 Upstream commit: cb0e51d80694fc9964436be1a1a15275e991cb1e
112869
112870 lantiq_etop: use free_netdev(netdev) instead of kfree()
112871
112872 Freeing netdev without free_netdev() leads to net, tx leaks.
112873 And it may lead to dereferencing freed pointer.
112874
112875 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
112876 Signed-off-by: David S. Miller <davem@davemloft.net>
112877
112878 drivers/net/ethernet/lantiq_etop.c | 2 +-
112879 1 files changed, 1 insertions(+), 1 deletions(-)
112880
112881 commit 1dcdddf846697fbd0b474e7b12ff92f7b408fe5f
112882 Author: Cong Wang <amwang@redhat.com>
112883 Date: Fri Mar 22 19:14:07 2013 +0000
112884
112885 Upstream commit: 4a7df340ed1bac190c124c1601bfc10cde9fb4fb
112886
112887 8021q: fix a potential use-after-free
112888
112889 vlan_vid_del() could possibly free ->vlan_info after a RCU grace
112890 period, however, we may still refer to the freed memory area
112891 by 'grp' pointer. Found by code inspection.
112892
112893 This patch moves vlan_vid_del() as behind as possible.
112894
112895 Cc: Patrick McHardy <kaber@trash.net>
112896 Cc: "David S. Miller" <davem@davemloft.net>
112897 Signed-off-by: Cong Wang <amwang@redhat.com>
112898 Acked-by: Eric Dumazet <edumazet@google.com>
112899 Signed-off-by: David S. Miller <davem@davemloft.net>
112900
112901 net/8021q/vlan.c | 7 +++++++
112902 1 files changed, 7 insertions(+), 0 deletions(-)
112903
112904 commit fff29c277024a39845d4b535083c8dafc21b45d9
112905 Author: Hong zhi guo <honkiko@gmail.com>
112906 Date: Sat Mar 23 02:27:50 2013 +0000
112907
112908 Upstream commit: 9b46922e15f4d9d2aedcd320c3b7f7f54d956da7
112909
112910 bridge: fix crash when set mac address of br interface
112911
112912 When I tried to set mac address of a bridge interface to a mac
112913 address which already learned on this bridge, I got system hang.
112914
112915 The cause is straight forward: function br_fdb_change_mac_address
112916 calls fdb_insert with NULL source nbp. Then an fdb lookup is
112917 performed. If an fdb entry is found and it's local, it's OK. But
112918 if it's not local, source is dereferenced for printk without NULL
112919 check.
112920
112921 Signed-off-by: Hong Zhiguo <honkiko@gmail.com>
112922 Signed-off-by: David S. Miller <davem@davemloft.net>
112923
112924 net/bridge/br_fdb.c | 2 +-
112925 1 files changed, 1 insertions(+), 1 deletions(-)
112926
112927 commit b72eca0f8495b4b084bcf3eb4fbb425281ba5349
112928 Author: Kumar Amit Mehta <gmate.amit@gmail.com>
112929 Date: Sat Mar 23 20:10:25 2013 +0000
112930
112931 Upstream commit: 8fe7f99a9e11a43183bc27420309ae105e1fec1a
112932
112933 bnx2x: fix assignment of signed expression to unsigned variable
112934
112935 fix for incorrect assignment of signed expression to unsigned variable.
112936
112937 Signed-off-by: Kumar Amit Mehta <gmate.amit@gmail.com>
112938 Acked-by: Dmitry Kravkov <dmitry@broadcom.com>
112939 Signed-off-by: David S. Miller <davem@davemloft.net>
112940
112941 drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | 18 +++++++++---------
112942 1 files changed, 9 insertions(+), 9 deletions(-)
112943
112944 commit 4d2d5e3694574d8e9d7594bf6111f144dccc873e
112945 Author: dingtianhong <dingtianhong@huawei.com>
112946 Date: Mon Mar 25 17:02:04 2013 +0000
112947
112948 Upstream commit: 14134f6584212d585b310ce95428014b653dfaf6
112949
112950 af_unix: dont send SCM_CREDENTIAL when dest socket is NULL
112951
112952 SCM_SCREDENTIALS should apply to write() syscalls only either source or destination
112953 socket asserted SOCK_PASSCRED. The original implememtation in maybe_add_creds is wrong,
112954 and breaks several LSB testcases ( i.e. /tset/LSB.os/netowkr/recvfrom/T.recvfrom).
112955
112956 Origionally-authored-by: Karel Srot <ksrot@redhat.com>
112957 Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
112958 Acked-by: Eric Dumazet <edumazet@google.com>
112959 Signed-off-by: David S. Miller <davem@davemloft.net>
112960
112961 net/unix/af_unix.c | 4 ++--
112962 1 files changed, 2 insertions(+), 2 deletions(-)
112963
112964 commit b964e1e61f0f0ccaa380be3342f956c604054bdc
112965 Author: Eric W. Biederman <ebiederm@xmission.com>
112966 Date: Thu Mar 21 02:30:41 2013 -0700
112967
112968 Upstream commit: eddc0a3abff273842a94784d2d022bbc36dc9015
112969
112970 yama: Better permission check for ptraceme
112971
112972 Change the permission check for yama_ptrace_ptracee to the standard
112973 ptrace permission check, testing if the traceer has CAP_SYS_PTRACE
112974 in the tracees user namespace.
112975
112976 Reviewed-by: Kees Cook <keescook@chromium.org>
112977 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
112978
112979 security/yama/yama_lsm.c | 4 +---
112980 1 files changed, 1 insertions(+), 3 deletions(-)
112981
112982 commit b94e71c7b6abe75989edff18aca2781233fa143b
112983 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
112984 Date: Mon Apr 1 11:40:51 2013 +0400
112985
112986 Upstream commit: 2dc958fa2fe6987e7ab106bd97029a09a82fcd8d
112987
112988 ipc: set msg back to -EAGAIN if copy wasn't performed
112989
112990 Make sure that msg pointer is set back to error value in case of
112991 MSG_COPY flag is set and desired message to copy wasn't found. This
112992 garantees that msg is either a error pointer or a copy address.
112993
112994 Otherwise the last message in queue will be freed without unlinking from
112995 the queue (which leads to memory corruption) and the dummy allocated
112996 copy won't be released.
112997
112998 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
112999 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
113000
113001 ipc/msg.c | 1 +
113002 1 files changed, 1 insertions(+), 0 deletions(-)
113003
113004 commit a997fbbe7a37ffd805f4784a18b8e530da6978d1
113005 Author: Jan Kara <jack@suse.cz>
113006 Date: Fri Mar 29 15:39:16 2013 +0100
113007
113008 Upstream commit: 35e5cbc0af240778e61113286c019837e06aeec6
113009
113010 reiserfs: Fix warning and inode leak when deleting inode with xattrs
113011
113012 After commit 21d8a15a (lookup_one_len: don't accept . and ..) reiserfs
113013 started failing to delete xattrs from inode. This was due to a buggy
113014 test for '.' and '..' in fill_with_dentries() which resulted in passing
113015 '.' and '..' entries to lookup_one_len() in some cases. That returned
113016 error and so we failed to iterate over all xattrs of and inode.
113017
113018 Fix the test in fill_with_dentries() along the lines of the one in
113019 lookup_one_len().
113020
113021 Reported-by: Pawel Zawora <pzawora@gmail.com>
113022 CC: stable@vger.kernel.org
113023 Signed-off-by: Jan Kara <jack@suse.cz>
113024
113025 fs/reiserfs/xattr.c | 4 ++--
113026 1 files changed, 2 insertions(+), 2 deletions(-)
113027
113028 commit 9f07957378e0f55abb81da8e23b124a608fbe1cc
113029 Author: Paul Bolle <pebolle@tiscali.nl>
113030 Date: Wed Apr 3 12:24:45 2013 +0100
113031
113032 Upstream commit: 4e1db26a0b42e2b6e27c05d68adcc01709c2eed2
113033
113034 ARM: 7690/1: mm: fix CONFIG_LPAE typos
113035
113036 CONFIG_LPAE doesn't exist: the correct option is CONFIG_ARM_LPAE, so fix
113037 up the two typos under arch/arm/.
113038
113039 The fix to head.S is slightly scary, but this is just for setting up
113040 an early io-mapping for the serial port when running on a big-endian,
113041 LPAE system. Since these systems don't exist in the wild (at least, I
113042 have no access to one outside of kvmtool, which doesn't provide a serial
113043 port suitable for earlyprintk), then we can revisit the code later if it
113044 causes any problems.
113045
113046 Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
113047 Signed-off-by: Will Deacon <will.deacon@arm.com>
113048 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
113049
113050 arch/arm/kernel/head.S | 2 +-
113051 arch/arm/kernel/setup.c | 2 +-
113052 2 files changed, 2 insertions(+), 2 deletions(-)
113053
113054 commit 984ba346b2d8f158473e9723ba145031368431ed
113055 Author: Catalin Marinas <catalin.marinas@arm.com>
113056 Date: Tue Mar 26 23:35:04 2013 +0100
113057
113058 Upstream commit: 93dc68876b608da041fe40ed39424b0fcd5aa2fb
113059
113060 ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB operations)
113061
113062 On Cortex-A15 (r0p0..r3p2) the TLBI/DSB are not adequately shooting down
113063 all use of the old entries. This patch implements the erratum workaround
113064 which consists of:
113065
113066 1. Dummy TLBIMVAIS and DSB on the CPU doing the TLBI operation.
113067 2. Send IPI to the CPUs that are running the same mm (and ASID) as the
113068 one being invalidated (or all the online CPUs for global pages).
113069 3. CPU receiving the IPI executes a DMB and CLREX (part of the exception
113070 return code already).
113071
113072 Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
113073 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
113074
113075 Conflicts:
113076
113077 arch/arm/include/asm/tlbflush.h
113078 arch/arm/kernel/smp_tlb.c
113079 arch/arm/mm/context.c
113080
113081 arch/arm/Kconfig | 10 +++++
113082 arch/arm/include/asm/highmem.h | 7 ++++
113083 arch/arm/include/asm/mmu_context.h | 2 +
113084 arch/arm/include/asm/tlbflush.h | 15 ++++++++
113085 arch/arm/kernel/smp_tlb.c | 66 ++++++++++++++++++++++++++++++++++++
113086 arch/arm/mm/context.c | 6 ++-
113087 6 files changed, 104 insertions(+), 2 deletions(-)
113088
113089 commit 9a6ef010c38b3d5471886d2dea6e3c1622e2a286
113090 Author: Jan Stancek <jstancek@redhat.com>
113091 Date: Thu Apr 4 11:35:10 2013 -0700
113092
113093 Upstream commit: b6a9b7f6b1f21735a7456d534dc0e68e61359d2c
113094
113095 mm: prevent mmap_cache race in find_vma()
113096
113097 find_vma() can be called by multiple threads with read lock
113098 held on mm->mmap_sem and any of them can update mm->mmap_cache.
113099 Prevent compiler from re-fetching mm->mmap_cache, because other
113100 readers could update it in the meantime:
113101
113102 thread 1 thread 2
113103 |
113104 find_vma() | find_vma()
113105 struct vm_area_struct *vma = NULL; |
113106 vma = mm->mmap_cache; |
113107 if (!(vma && vma->vm_end > addr |
113108 && vma->vm_start <= addr)) { |
113109 | mm->mmap_cache = vma;
113110 return vma; |
113111 ^^ compiler may optimize this |
113112 local variable out and re-read |
113113 mm->mmap_cache |
113114
113115 This issue can be reproduced with gcc-4.8.0-1 on s390x by running
113116 mallocstress testcase from LTP, which triggers:
113117
113118 kernel BUG at mm/rmap.c:1088!
113119 Call Trace:
113120 ([<000003d100c57000>] 0x3d100c57000)
113121 [<000000000023a1c0>] do_wp_page+0x2fc/0xa88
113122 [<000000000023baae>] handle_pte_fault+0x41a/0xac8
113123 [<000000000023d832>] handle_mm_fault+0x17a/0x268
113124 [<000000000060507a>] do_protection_exception+0x1e2/0x394
113125 [<0000000000603a04>] pgm_check_handler+0x138/0x13c
113126 [<000003fffcf1f07a>] 0x3fffcf1f07a
113127 Last Breaking-Event-Address:
113128 [<000000000024755e>] page_add_new_anon_rmap+0xc2/0x168
113129
113130 Thanks to Jakub Jelinek for his insight on gcc and helping to
113131 track this down.
113132
113133 Signed-off-by: Jan Stancek <jstancek@redhat.com>
113134 Acked-by: David Rientjes <rientjes@google.com>
113135 Signed-off-by: Hugh Dickins <hughd@google.com>
113136 Cc: stable@vger.kernel.org
113137 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
113138
113139 mm/mmap.c | 2 +-
113140 mm/nommu.c | 2 +-
113141 2 files changed, 2 insertions(+), 2 deletions(-)
113142
113143 commit 53f5096daa14967938bc154e6c41f9119863fb36
113144 Merge: e988d7c 0a45285
113145 Author: Brad Spengler <spender@grsecurity.net>
113146 Date: Fri Apr 5 17:32:31 2013 -0400
113147
113148 Merge branch 'pax-test' into grsec-test
113149
113150 Conflicts:
113151 drivers/net/ethernet/broadcom/tg3.c
113152
113153 commit 0a452855444d02502df6eb21ef3083cf303f71e1
113154 Merge: 0277fa1 00cfbb8
113155 Author: Brad Spengler <spender@grsecurity.net>
113156 Date: Fri Apr 5 17:31:15 2013 -0400
113157
113158 Update to pax-linux-3.8.6-test16.patch:
113159 - fixed some attribute leakage into userland headers, patch by Mathias Krause
113160 - fixed some of the access_*_vm related breakage that trigger size overflows, reported by Hunger
113161
113162 Merge branch 'linux-3.8.y' into pax-test
113163
113164 Conflicts:
113165 drivers/gpu/drm/i915/intel_display.c
113166
113167 commit e988d7c8d946c816a2cb97f0d38048a1584966b8
113168 Merge: baec40e 0277fa1
113169 Author: Brad Spengler <spender@grsecurity.net>
113170 Date: Wed Apr 3 22:05:41 2013 -0400
113171
113172 Merge branch 'pax-test' into grsec-test
113173
113174 commit 0277fa123b486cf11420967e4568d7653e225fd3
113175 Author: Brad Spengler <spender@grsecurity.net>
113176 Date: Wed Apr 3 22:04:48 2013 -0400
113177
113178 Update to pax-linux-3.8.5-test15.patch:
113179 - fixed section mismatch error caused by CONSTIFY (http://forums.grsecurity.net/viewtopic.php?f=3&t=3388 and http://forums.grsecurity.net/viewtopic.php?f=3&t=3391)
113180 - fixed integer type mixup in the cx88 driver (http://forums.grsecurity.net/viewtopic.php?f=3&t=3394)
113181
113182 drivers/media/pci/cx88/cx88-video.c | 6 +++---
113183 include/net/net_namespace.h | 4 ++++
113184 2 files changed, 7 insertions(+), 3 deletions(-)
113185
113186 commit baec40e6708fd5ae2000cad6c70c5980c998b91c
113187 Author: Brad Spengler <spender@grsecurity.net>
113188 Date: Tue Apr 2 19:50:32 2013 -0400
113189
113190 fix compilation as reported on forums for gcc versions lacking plugin
113191 support
113192
113193 include/net/net_namespace.h | 4 ++++
113194 1 files changed, 4 insertions(+), 0 deletions(-)
113195
113196 commit f6da5efca8a7edc9d3af02d6c35fddae0d2fd095
113197 Merge: 6b69c35 0db9d15
113198 Author: Brad Spengler <spender@grsecurity.net>
113199 Date: Tue Apr 2 17:47:27 2013 -0400
113200
113201 Merge branch 'pax-test' into grsec-test
113202
113203 commit 0db9d156826bdd50510086fde837648a3dfd370e
113204 Author: Brad Spengler <spender@grsecurity.net>
113205 Date: Tue Apr 2 17:46:05 2013 -0400
113206
113207 Update to pax-linux-3.8.5-test14.patch:
113208 - removed some no longer necessary __size_overflow marks and updated the overflow plugin's hash table
113209
113210 arch/x86/include/asm/uaccess_64.h | 6 +-
113211 include/linux/moduleloader.h | 4 +-
113212 tools/gcc/size_overflow_hash.data | 98 +++++++++++++++++++++----------------
113213 3 files changed, 61 insertions(+), 47 deletions(-)
113214
113215 commit 6b69c3589fa97b454a08c28ecfac5a512f610f4d
113216 Author: Brad Spengler <spender@grsecurity.net>
113217 Date: Tue Apr 2 17:35:06 2013 -0400
113218
113219 remove duplicate compiler.h
113220
113221 include/linux/sysrq.h | 1 -
113222 1 files changed, 0 insertions(+), 1 deletions(-)
113223
113224 commit 01e1d503fd2220adaaec0b92ea19441bdff73555
113225 Author: Brad Spengler <spender@grsecurity.net>
113226 Date: Fri Mar 29 19:53:50 2013 -0400
113227
113228 fix intentional_overflow marking on sys_sendto
113229
113230 include/linux/syscalls.h | 2 +-
113231 net/socket.c | 2 +-
113232 2 files changed, 2 insertions(+), 2 deletions(-)
113233
113234 commit cd5ff114d958470f471c63775278e8c05e774630
113235 Author: Brad Spengler <spender@grsecurity.net>
113236 Date: Fri Mar 29 18:46:16 2013 -0400
113237
113238 fix size_overflow false positive
113239
113240 kernel/futex_compat.c | 2 +-
113241 1 files changed, 1 insertions(+), 1 deletions(-)
113242
113243 commit 295ba16cc53df2375261accbedd6575ea327770a
113244 Merge: 18340f1 278a989
113245 Author: Brad Spengler <spender@grsecurity.net>
113246 Date: Fri Mar 29 17:36:18 2013 -0400
113247
113248 Merge branch 'pax-test' into grsec-test
113249
113250 Conflicts:
113251 fs/exec.c
113252 include/linux/thread_info.h
113253
113254 commit 278a989c831d62193c7b3d119fe2302babd45d12
113255 Author: Brad Spengler <spender@grsecurity.net>
113256 Date: Fri Mar 29 17:34:34 2013 -0400
113257
113258 Resync with pax-linux-3.8.5-test13.patch
113259
113260 arch/arm/include/asm/pgtable.h | 3 ++-
113261 arch/arm/lib/delay.c | 1 +
113262 fs/exec.c | 8 ++++----
113263 include/linux/compiler.h | 1 +
113264 include/linux/proc_fs.h | 2 +-
113265 include/linux/thread_info.h | 6 +++---
113266 include/linux/zlib.h | 3 ++-
113267 init/main.c | 4 ++--
113268 kernel/user_namespace.c | 2 +-
113269 lib/list_debug.c | 4 ++--
113270 mm/slab.c | 1 +
113271 mm/slob.c | 1 +
113272 mm/slub.c | 1 +
113273 net/core/sysctl_net_core.c | 3 +--
113274 tools/gcc/constify_plugin.c | 1 +
113275 15 files changed, 24 insertions(+), 17 deletions(-)
113276
113277 commit 18340f14bd42d06c60995ab04cf6bb235bcaade6
113278 Merge: 05f01ae e8cfeae
113279 Author: Brad Spengler <spender@grsecurity.net>
113280 Date: Fri Mar 29 17:30:57 2013 -0400
113281
113282 Merge branch 'pax-test' into grsec-test
113283
113284 commit e8cfeae7751abb844911a15114dff5c9b2b9fcd9
113285 Merge: b461cb7 aa4cfde
113286 Author: Brad Spengler <spender@grsecurity.net>
113287 Date: Fri Mar 29 17:30:44 2013 -0400
113288
113289 Merge branch 'linux-3.8.y' into pax-test
113290
113291 Conflicts:
113292 drivers/gpu/drm/i915/i915_gem_execbuffer.c
113293 fs/nfsd/vfs.c
113294
113295 commit 05f01ae4c3479541586a2387f916a6620889c479
113296 Author: Brad Spengler <spender@grsecurity.net>
113297 Date: Fri Mar 29 17:05:39 2013 -0400
113298
113299 Another infoleak, up to 128 bytes on the stack in __sys_recvmsg
113300 takes user-provided length, copies up to that amount in a sockaddr_storage
113301 struct on the stack, then takes an upper-bounded-only user-provided length
113302 and copies the sockaddr_storage struct back out to userland, complete with
113303 uninitialized data
113304
113305 net/socket.c | 2 +-
113306 1 files changed, 1 insertions(+), 1 deletions(-)
113307
113308 commit eea6ade59490784e83e08ec67322288fcf14cb31
113309 Author: Brad Spengler <spender@grsecurity.net>
113310 Date: Thu Mar 28 23:07:37 2013 -0400
113311
113312 return a proper error, otherwise we could be accessing uninitialized data
113313 (previous define was a positive value)
113314
113315 drivers/usb/storage/realtek_cr.c | 2 +-
113316 1 files changed, 1 insertions(+), 1 deletions(-)
113317
113318 commit 3cc43b90104c3016adb40f412ce2e4b0dcdd4c9e
113319 Merge: c3dc9a6 b461cb7
113320 Author: Brad Spengler <spender@grsecurity.net>
113321 Date: Thu Mar 28 20:54:24 2013 -0400
113322
113323 Merge branch 'pax-test' into grsec-test
113324
113325 commit b461cb7b1d85490430ef7896c247794af72c3749
113326 Author: Brad Spengler <spender@grsecurity.net>
113327 Date: Thu Mar 28 20:54:11 2013 -0400
113328
113329 Add structleak plugin
113330
113331 tools/gcc/structleak_plugin.c | 270 +++++++++++++++++++++++++++++++++++++++++
113332 1 files changed, 270 insertions(+), 0 deletions(-)
113333
113334 commit c3dc9a6ef10782894bb11fd088fd712db44d8062
113335 Author: Brad Spengler <spender@grsecurity.net>
113336 Date: Thu Mar 28 20:53:22 2013 -0400
113337
113338 Enable structleak by default for the security auto-config
113339
113340 security/Kconfig | 11 +++++++----
113341 1 files changed, 7 insertions(+), 4 deletions(-)
113342
113343 commit 6568e7348222fbe00256c9d337c4c24ee57e3f7e
113344 Merge: d8503a3 74bec16
113345 Author: Brad Spengler <spender@grsecurity.net>
113346 Date: Thu Mar 28 20:47:10 2013 -0400
113347
113348 Merge branch 'pax-test' into grsec-test
113349
113350 commit 74bec16b657147a5575b1f14f4423a717ba317a6
113351 Author: Brad Spengler <spender@grsecurity.net>
113352 Date: Thu Mar 28 20:46:13 2013 -0400
113353
113354 Update to pax-linux-3.8.4-test13.patch:
113355 - fixed bug with the old PAGEEXEC method and hugetlb, reported by Alex Efros (https://bugs.gentoo.org/show_bug.cgi?id=437722)
113356 - added a new gcc plugin to plug (pun intended) some of the kernel stack leaks to userland
113357
113358 Makefile | 5 +++-
113359 arch/x86/include/asm/compat.h | 2 +-
113360 arch/x86/mm/fault.c | 3 +-
113361 fs/binfmt_elf.c | 2 +-
113362 include/linux/compiler.h | 42 ++++++++++++++--------------------------
113363 security/Kconfig | 16 +++++++++++++++
113364 tools/gcc/Makefile | 2 +
113365 tools/gcc/constify_plugin.c | 7 +++++-
113366 8 files changed, 47 insertions(+), 32 deletions(-)
113367
113368 commit d8503a3a35d68b9ba1615d29335aef3f70d51465
113369 Author: Brad Spengler <spender@grsecurity.net>
113370 Date: Thu Mar 28 20:02:40 2013 -0400
113371
113372 Fix 8-byte stack infoleak in ia32_rt_sigpending
113373 User controls length, kernel only performs check on the upper bound, will
113374 fill in any amount less than sizeof(sigset_t) via a copy_to_user under
113375 KERNEL_DS in sys_rt_sigpending, then will copy the full size of compat_sigset_t
113376 regardless of whether the sigset_t content copied into it has been initialized
113377 or not
113378
113379 arch/x86/ia32/sys_ia32.c | 2 +-
113380 1 files changed, 1 insertions(+), 1 deletions(-)
113381
113382 commit 46a9f4b871ebf298ee67cc3f799dbd6c2382022b
113383 Author: Brad Spengler <spender@grsecurity.net>
113384 Date: Tue Mar 26 21:05:05 2013 -0400
113385
113386 commit 814d9d4f9164c3d778dadd093a54bb55d9a0c576
113387 Author: J. Bruce Fields <bfields@redhat.com>
113388 Date: Tue Mar 26 14:11:13 2013 -0400
113389
113390 nfsd4: reject "negative" acl lengths
113391
113392 Since we only enforce an upper bound, not a lower bound, a "negative"
113393 length can get through here.
113394
113395 The symptom seen was a warning when we attempt to a kmalloc with an
113396 excessive size.
113397
113398 Reported-by: Toralf Förster <toralf.foerster@gmx.de>
113399 Signed-off-by: J. Bruce Fields <bfields@redhat.com>
113400
113401 fs/nfsd/nfs4xdr.c | 2 +-
113402 1 files changed, 1 insertions(+), 1 deletions(-)
113403
113404 commit 2cf84a1843bfdf9298e2a1dc8df4e52d11a1af89
113405 Author: Jeff Layton <jlayton@redhat.com>
113406 Date: Mon Mar 11 09:52:19 2013 -0400
113407
113408 Upstream commit: f853c616883a8de966873a1dab283f1369e275a1
113409
113410 cifs: ignore everything in SPNEGO blob after mechTypes
113411
113412 We've had several reports of people attempting to mount Windows 8 shares
113413 and getting failures with a return code of -EINVAL. The default sec=
113414 mode changed recently to sec=ntlmssp. With that, we expect and parse a
113415 SPNEGO blob from the server in the NEGOTIATE reply.
113416
113417 The current decode_negTokenInit function first parses all of the
113418 mechTypes and then tries to parse the rest of the negTokenInit reply.
113419 The parser however currently expects a mechListMIC or nothing to follow the
113420 mechTypes, but Windows 8 puts a mechToken field there instead to carry
113421 some info for the new NegoEx stuff.
113422
113423 In practice, we don't do anything with the fields after the mechTypes
113424 anyway so I don't see any real benefit in continuing to parse them.
113425 This patch just has the kernel ignore the fields after the mechTypes.
113426 We'll probably need to reinstate some of this if we ever want to support
113427 NegoEx.
113428
113429 Reported-by: Jason Burgess <jason@jacknife2.dns2go.com>
113430 Reported-by: Yan Li <elliot.li.tech@gmail.com>
113431 Signed-off-by: Jeff Layton <jlayton@redhat.com>
113432 Cc: <stable@vger.kernel.org>
113433 Signed-off-by: Steve French <sfrench@us.ibm.com>
113434
113435 fs/cifs/asn1.c | 53 +++++------------------------------------------------
113436 1 files changed, 5 insertions(+), 48 deletions(-)
113437
113438 commit 0b1c6223105a05d5a84e39a5e951868e37610e1c
113439 Merge: 93ff726 0deb54c
113440 Author: Brad Spengler <spender@grsecurity.net>
113441 Date: Mon Mar 25 18:35:15 2013 -0400
113442
113443 Merge branch 'pax-test' into grsec-test
113444
113445 commit 0deb54c1f47145aef38f4d2bf0b7de3e9fbab959
113446 Author: Brad Spengler <spender@grsecurity.net>
113447 Date: Mon Mar 25 18:35:05 2013 -0400
113448
113449 fix typo
113450
113451 arch/x86/mm/ioremap.c | 2 +-
113452 1 files changed, 1 insertions(+), 1 deletions(-)
113453
113454 commit 93ff72680353534d4b0b213aecb61f1fc2f9a152
113455 Merge: be9f8b8 f95e53a
113456 Author: Brad Spengler <spender@grsecurity.net>
113457 Date: Mon Mar 25 18:30:06 2013 -0400
113458
113459 Merge branch 'pax-test' into grsec-test
113460
113461 commit f95e53abadb6e4665866e4502ff9f518514193e1
113462 Author: Brad Spengler <spender@grsecurity.net>
113463 Date: Mon Mar 25 18:29:25 2013 -0400
113464
113465 Update to pax-linux-3.8.4-test12.patch:
113466
113467 - fixed perf compilation reported by Michael Tremer
113468 - fixed USERCOPY reports triggered by SCTP, reported by mcp
113469 - last fix for aslr gap accounting, promise (thanks to spender)
113470
113471 arch/x86/mm/ioremap.c | 3 +++
113472 fs/binfmt_elf.c | 5 ++---
113473 mm/mmap.c | 2 +-
113474 net/sctp/socket.c | 19 +++++++++++++++----
113475 tools/perf/util/include/linux/compiler.h | 8 ++++++++
113476 5 files changed, 29 insertions(+), 8 deletions(-)
113477
113478 commit be9f8b82b0d8a21d7515fb6e44a907623381c5df
113479 Author: Brad Spengler <spender@grsecurity.net>
113480 Date: Mon Mar 25 16:48:34 2013 -0400
113481
113482 From: Al Viro <viro@ZenIV.linux.org.uk>
113483 To: Brad Spengler <spender@grsecurity.net>
113484 Cc: Linus Torvalds <torvalds@linux-foundation.org>
113485
113486 Umm... I see what you are describing, and AFAICS you are correct; let me
113487 see if I am misreading your analysis:
113488 * vfsmount_lock may act fair; A holding it shared, with B spinning
113489 on attempt to take it exclusive may lead to C spinning on attempt to take
113490 it shared.
113491 * path_is_under() tries get rename_lock while holding vfsmount_lock
113492 shared.
113493 * d_path() et.al. try to take vfsmount_lock shared, while holding
113494 rename_lock.
113495
113496 All true and yes, it's a bug (I'd probably classify it as a livelock, but
113497 that doesn't make any real difference). There are three possible solutions,
113498 AFAICS:
113499 1) two-liner in path_is_under() replacing the use of vfsmount_lock
113500 with that of namespace_sem; trivial, but results in function unexpectedly
113501 blocking. The current callers are fine with that, but it's a trouble
113502 waiting to happen.
113503 2) replace write_seqlock() in prepend_path() callers with
113504 read_seqbegin/read_seqretry loops; bigger and more brittle, since unlike
113505 is_subdir() we need more than just ->d_parent not pointing to something
113506 freed - we also care about ->d_name.len being in sync with ->d_name.name.
113507 It probably can be worked around, but...
113508
113509 3) declare that rename_lock nests inside vfsmount_lock and let
113510 the callers of prepend_path() take vfsmount_lock(). I'd probably prefer
113511 that one...
113512
113513 Nest rename_lock inside vfsmount_lock
113514
113515 ... lest we get livelocks between path_is_under() and d_path() and friends.
113516
113517 [ add grsec-specific bits, thanks to Alexey Vlasov for his patience in reproducing
113518 the issue ]
113519
113520 Spotted-by: Brad Spengler <spender@grsecurity.net>
113521 Cc: stable@vger.kernel.org
113522 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
113523
113524 fs/dcache.c | 16 +++++++++++-----
113525 grsecurity/gracl.c | 20 ++++++++++----------
113526 2 files changed, 21 insertions(+), 15 deletions(-)
113527
113528 commit d9253ae96e0e88510ae7b8adb8ab3ef089be6dee
113529 Author: Linus Torvalds <torvalds@linux-foundation.org>
113530 Date: Fri Mar 22 11:44:04 2013 -0700
113531
113532 Upstream commit: 51f0885e5415b4cc6535e9cdcc5145bfbc134353
113533
113534 vfs,proc: guarantee unique inodes in /proc
113535
113536 Dave Jones found another /proc issue with his Trinity tool: thanks to
113537 the namespace model, we can have multiple /proc dentries that point to
113538 the same inode, aliasing directories in /proc/<pid>/net/ for example.
113539
113540 This ends up being a total disaster, because it acts like hardlinked
113541 directories, and causes locking problems. We rely on the topological
113542 sort of the inodes pointed to by dentries, and if we have aliased
113543 directories, that odering becomes unreliable.
113544
113545 In short: don't do this. Multiple dentries with the same (directory)
113546 inode is just a bad idea, and the namespace code should never have
113547 exposed things this way. But we're kind of stuck with it.
113548
113549 This solves things by just always allocating a new inode during /proc
113550 dentry lookup, instead of using "iget_locked()" to look up existing
113551 inodes by superblock and number. That actually simplies the code a bit,
113552 at the cost of potentially doing more inode [de]allocations.
113553
113554 That said, the inode lookup wasn't free either (and did a lot of locking
113555 of inodes), so it is probably not that noticeable. We could easily keep
113556 the old lookup model for non-directory entries, but rather than try to
113557 be excessively clever this just implements the minimal and simplest
113558 workaround for the problem.
113559
113560 Reported-and-tested-by: Dave Jones <davej@redhat.com>
113561 Analyzed-by: Al Viro <viro@zeniv.linux.org.uk>
113562 Cc: stable@vger.kernel.org
113563 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
113564
113565 Conflicts:
113566
113567 fs/proc/inode.c
113568
113569 fs/proc/inode.c | 9 +++------
113570 1 files changed, 3 insertions(+), 6 deletions(-)
113571
113572 commit 399d3bbdb82db765c86118ae5a0bf1d2d17762fb
113573 Author: Vladimir Davydov <vdavydov@parallels.com>
113574 Date: Fri Mar 22 15:04:51 2013 -0700
113575
113576 Upstream commit: 38d78e587d4960d0db94add518d27ee74bad2301
113577
113578 mqueue: sys_mq_open: do not call mnt_drop_write() if read-only
113579
113580 mnt_drop_write() must be called only if mnt_want_write() succeeded,
113581 otherwise the mnt_writers counter will diverge.
113582
113583 mnt_writers counters are used to check if remounting FS as read-only is
113584 OK, so after an extra mnt_drop_write() call, it would be impossible to
113585 remount mqueue FS as read-only. Besides, on umount a warning would be
113586 printed like this one:
113587
113588 =====================================
113589 [ BUG: bad unlock balance detected! ]
113590 3.9.0-rc3 #5 Not tainted
113591 -------------------------------------
113592 a.out/12486 is trying to release lock (sb_writers) at:
113593 mnt_drop_write+0x1f/0x30
113594 but there are no more locks to release!
113595
113596 Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
113597 Cc: Doug Ledford <dledford@redhat.com>
113598 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
113599 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
113600 Cc: Al Viro <viro@zeniv.linux.org.uk>
113601 Cc: <stable@vger.kernel.org>
113602 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
113603 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
113604
113605 ipc/mqueue.c | 3 ++-
113606 1 files changed, 2 insertions(+), 1 deletions(-)
113607
113608 commit d3859c71e2ec174b6f3e5cbe06d3011cdddaa59e
113609 Author: Brad Spengler <spender@grsecurity.net>
113610 Date: Sat Mar 23 13:02:32 2013 -0400
113611
113612 Don't use constify plugin if not enabled in config,
113613 reported by Alexey Vlasov
113614
113615 Makefile | 2 +-
113616 1 files changed, 1 insertions(+), 1 deletions(-)
113617
113618 commit 3afb82e020593249ac394e9859397c3e0ef5341c
113619 Author: Brad Spengler <spender@grsecurity.net>
113620 Date: Sat Mar 23 12:50:13 2013 -0400
113621
113622 oded 0day #2
113623 http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
113624 slide 20
113625
113626 drivers/net/ethernet/broadcom/tg3.c | 6 ++++--
113627 1 files changed, 4 insertions(+), 2 deletions(-)
113628
113629 commit 4cc4b98b29faff2530540be16e0fcd8a74800b06
113630 Author: Brad Spengler <spender@grsecurity.net>
113631 Date: Sat Mar 23 12:15:50 2013 -0400
113632
113633 oded 0day #1
113634 http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
113635 slide 18
113636
113637 drivers/net/wireless/zd1211rw/zd_usb.c | 2 +-
113638 1 files changed, 1 insertions(+), 1 deletions(-)
113639
113640 commit 8a3292af6fdae4b88b49a2a4ef96eee145b4d479
113641 Author: Brad Spengler <spender@grsecurity.net>
113642 Date: Sat Mar 23 12:13:12 2013 -0400
113643
113644 remove warning on accessing this /proc entry, HIDESYM already caught the infoleak
113645
113646 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
113647 1 files changed, 1 insertions(+), 1 deletions(-)
113648
113649 commit 44cb11a9470f72157601d0ad4d572d111f90f504
113650 Author: Brad Spengler <spender@grsecurity.net>
113651 Date: Fri Mar 22 18:11:42 2013 -0400
113652
113653 use VM_DONTDUMP
113654
113655 fs/binfmt_elf.c | 2 +-
113656 1 files changed, 1 insertions(+), 1 deletions(-)
113657
113658 commit 92dd7f850ae63e3ddc3d262f2b7134cf54b51abb
113659 Author: Brad Spengler <spender@grsecurity.net>
113660 Date: Fri Mar 22 17:53:09 2013 -0400
113661
113662 fix recent RLIMIT_AS changes (due to vm_flags typo)
113663
113664 Conflicts:
113665
113666 fs/binfmt_elf.c
113667
113668 fs/binfmt_elf.c | 2 +-
113669 mm/mmap.c | 2 +-
113670 2 files changed, 2 insertions(+), 2 deletions(-)
113671
113672 commit fd5f0d92b0fbec02029dad124501a9c80e527a32
113673 Author: Brad Spengler <spender@grsecurity.net>
113674 Date: Fri Mar 22 17:08:48 2013 -0400
113675
113676 complete_walk drops rcu-walk mode, no need for our own dropping
113677 method outside of generic_permission
113678
113679 fs/namei.c | 30 ------------------------------
113680 1 files changed, 0 insertions(+), 30 deletions(-)
113681
113682 commit b49ab1c73edb6442eec609b26bba4d850b3111b6
113683 Merge: 5e9a707 783ade9
113684 Author: Brad Spengler <spender@grsecurity.net>
113685 Date: Thu Mar 21 21:56:28 2013 -0400
113686
113687 Merge branch 'pax-test' into grsec-test
113688
113689 commit 783ade9f97f0f736e3c83275b7c9fcb2d6e9d9c4
113690 Author: Brad Spengler <spender@grsecurity.net>
113691 Date: Thu Mar 21 21:55:31 2013 -0400
113692
113693 Update to pax-linux-3.8.3-test11.patch:
113694 - rewrote the ASLR gap accounting code once again
113695 - fixed ptrace compat bug found by the size overflow plugin
113696
113697 fs/binfmt_elf.c | 25 ++++++++++++-------------
113698 fs/exec.c | 7 ++-----
113699 include/linux/compat.h | 2 +-
113700 include/linux/mm.h | 5 +++++
113701 include/linux/mm_types.h | 2 +-
113702 kernel/ptrace.c | 2 +-
113703 mm/mmap.c | 15 ++++++++++-----
113704 7 files changed, 32 insertions(+), 26 deletions(-)
113705
113706 commit 5e9a7077d935b2279f25428c5d32fd53cbbfb92a
113707 Author: Brad Spengler <spender@grsecurity.net>
113708 Date: Thu Mar 21 19:37:33 2013 -0400
113709
113710 Make the constify plugin usage actually depend on the introduced config option
113711 (it was still forced on)
113712
113713 tools/gcc/Makefile | 2 +-
113714 1 files changed, 1 insertions(+), 1 deletions(-)
113715
113716 commit 1974b4f58d9d729c80ac1987785446115304a54c
113717 Author: Brad Spengler <spender@grsecurity.net>
113718 Date: Thu Mar 21 16:12:38 2013 -0400
113719
113720 fix failed merge
113721
113722 arch/arm/mm/fault.c | 15 +++------------
113723 1 files changed, 3 insertions(+), 12 deletions(-)
113724
113725 commit 675a8ab4a8fe8315df348735a37a302a7535224c
113726 Author: Brad Spengler <spender@grsecurity.net>
113727 Date: Wed Mar 20 23:36:14 2013 -0400
113728
113729 From c4dab66c31612717f798e1e8ff11b57253a81a31 Mon Sep 17 00:00:00 2001
113730 From: Kees Cook <keescook@chromium.org>
113731 Date: Sun, 10 Mar 2013 20:09:31 +0000
113732 Subject: drm/i915: bounds check execbuffer relocation count
113733
113734 It is possible to wrap the counter used to allocate the buffer for
113735 relocation copies. This could lead to heap writing overflows.
113736
113737 CVE-2013-0913
113738
113739 Signed-off-by: Kees Cook <keescook@chromium.org>
113740 Reported-by: Pinkie Pie
113741 Cc: stable@vger.kernel.org
113742
113743 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 11 ++++++++---
113744 1 files changed, 8 insertions(+), 3 deletions(-)
113745
113746 commit ddeac12cbb9076bffd51c544e03463f94c9eaa39
113747 Author: Andy Honig <ahonig@google.com>
113748 Date: Wed Feb 20 14:48:10 2013 -0800
113749
113750 Upstream commit: 0b79459b482e85cb7426aa7da683a9f2c97aeae1
113751
113752 KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions (CVE-2013-1797)
113753
113754 There is a potential use after free issue with the handling of
113755 MSR_KVM_SYSTEM_TIME. If the guest specifies a GPA in a movable or removable
113756 memory such as frame buffers then KVM might continue to write to that
113757 address even after it's removed via KVM_SET_USER_MEMORY_REGION. KVM pins
113758 the page in memory so it's unlikely to cause an issue, but if the user
113759 space component re-purposes the memory previously used for the guest, then
113760 the guest will be able to corrupt that memory.
113761
113762 Tested: Tested against kvmclock unit test
113763
113764 Signed-off-by: Andrew Honig <ahonig@google.com>
113765 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
113766
113767 arch/x86/include/asm/kvm_host.h | 4 +-
113768 arch/x86/kvm/x86.c | 47 ++++++++++++++++----------------------
113769 2 files changed, 22 insertions(+), 29 deletions(-)
113770
113771 commit 0bcac31b57c381001feb69fd6ec8069e61e03432
113772 Author: Andy Honig <ahonig@google.com>
113773 Date: Mon Mar 11 09:34:52 2013 -0700
113774
113775 Upstream commit: c300aa64ddf57d9c5d9c898a64b36877345dd4a9
113776
113777 KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)
113778
113779 If the guest sets the GPA of the time_page so that the request to update the
113780 time straddles a page then KVM will write onto an incorrect page. The
113781 write is done byusing kmap atomic to get a pointer to the page for the time
113782 structure and then performing a memcpy to that page starting at an offset
113783 that the guest controls. Well behaved guests always provide a 32-byte aligned
113784 address, however a malicious guest could use this to corrupt host kernel
113785 memory.
113786
113787 Tested: Tested against kvmclock unit test.
113788
113789 Signed-off-by: Andrew Honig <ahonig@google.com>
113790 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
113791
113792 arch/x86/kvm/x86.c | 5 +++++
113793 1 files changed, 5 insertions(+), 0 deletions(-)
113794
113795 commit 695c59887e4ec10b0b695ab4f645d1226c433be0
113796 Author: Andy Honig <ahonig@google.com>
113797 Date: Wed Feb 20 14:49:16 2013 -0800
113798
113799 Upstream commit: a2c118bfab8bc6b8bb213abfc35201e441693d55
113800
113801 KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)
113802
113803 If the guest specifies a IOAPIC_REG_SELECT with an invalid value and follows
113804 that with a read of the IOAPIC_REG_WINDOW KVM does not properly validate
113805 that request. ioapic_read_indirect contains an
113806 ASSERT(redir_index < IOAPIC_NUM_PINS), but the ASSERT has no effect in
113807 non-debug builds. In recent kernels this allows a guest to cause a kernel
113808 oops by reading invalid memory. In older kernels (pre-3.3) this allows a
113809 guest to read from large ranges of host memory.
113810
113811 Tested: tested against apic unit tests.
113812
113813 Signed-off-by: Andrew Honig <ahonig@google.com>
113814 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
113815
113816 virt/kvm/ioapic.c | 7 +++++--
113817 1 files changed, 5 insertions(+), 2 deletions(-)
113818
113819 commit c77e4017f6f372ac09751b6fcd85c35781dc2d9e
113820 Merge: aec3cd4 c522e3a
113821 Author: Brad Spengler <spender@grsecurity.net>
113822 Date: Wed Mar 20 19:38:25 2013 -0400
113823
113824 Merge branch 'pax-test' into grsec-test
113825
113826 commit c522e3a2167ff5e18996e55ca8cca5ca6f6d29e3
113827 Merge: c57d855 405acc3
113828 Author: Brad Spengler <spender@grsecurity.net>
113829 Date: Wed Mar 20 19:38:11 2013 -0400
113830
113831 Merge branch 'linux-3.8.y' into pax-test
113832
113833 commit aec3cd4d2bd54673b155d9ae3fb9c44becc790d1
113834 Author: Brad Spengler <spender@grsecurity.net>
113835 Date: Tue Mar 19 19:56:04 2013 -0400
113836
113837 include linux/compiler.h
113838
113839 include/linux/zlib.h | 1 +
113840 1 files changed, 1 insertions(+), 0 deletions(-)
113841
113842 commit 1f1109e97bc609218e52e4bb57683d3b23cf2e8e
113843 Author: Brad Spengler <spender@grsecurity.net>
113844 Date: Tue Mar 19 18:42:20 2013 -0400
113845
113846 fix missing sock_release()
113847
113848 net/irda/af_irda.c | 6 ++++--
113849 1 files changed, 4 insertions(+), 2 deletions(-)
113850
113851 commit dd65c05cd24faf8946d4941434a553ee285c35a3
113852 Author: Brad Spengler <spender@grsecurity.net>
113853 Date: Tue Mar 19 18:36:17 2013 -0400
113854
113855 fix mpt fusion infoleak
113856
113857 drivers/message/fusion/mptbase.c | 4 ++++
113858 1 files changed, 4 insertions(+), 0 deletions(-)
113859
113860 commit e297b4f150b769efdc4c547d3caf1e3c0f24735f
113861 Author: Brad Spengler <spender@grsecurity.net>
113862 Date: Tue Mar 19 18:33:45 2013 -0400
113863
113864 Fix size_overflow false positive reported by slashbeast
113865
113866 include/linux/zlib.h | 2 +-
113867 1 files changed, 1 insertions(+), 1 deletions(-)
113868
113869 commit 5b9982733764361c7102c2b1a9cbe42e5bf4f4be
113870 Author: Brad Spengler <spender@grsecurity.net>
113871 Date: Tue Mar 19 17:35:36 2013 -0400
113872
113873 fix up failed merge
113874
113875 arch/arm/mm/fault.c | 9 ++-------
113876 1 files changed, 2 insertions(+), 7 deletions(-)
113877
113878 commit a1bdc34d1d882da3abf47923a760e5b0bbdaf0bd
113879 Author: Brad Spengler <spender@grsecurity.net>
113880 Date: Tue Mar 19 17:34:36 2013 -0400
113881
113882 update documentation on consequences of building without gcc plugin support
113883
113884 Makefile | 2 +-
113885 1 files changed, 1 insertions(+), 1 deletions(-)
113886
113887 commit f49ae0f6c3bbedf6b3817ee2b1b232e0da7fa537
113888 Author: Brad Spengler <spender@grsecurity.net>
113889 Date: Tue Mar 19 17:18:13 2013 -0400
113890
113891 fix compilation failure associated with the latent entropy plugin and lack of gcc plugin support reported on the forums
113892
113893 init/main.c | 4 ++--
113894 1 files changed, 2 insertions(+), 2 deletions(-)
113895
113896 commit f00195c633f91cfbd8c1f530d2c371b713026e20
113897 Author: Brad Spengler <spender@grsecurity.net>
113898 Date: Mon Mar 18 22:27:33 2013 -0400
113899
113900 Fix compile error reported by KDE on the forums
113901
113902 kernel/user_namespace.c | 2 +-
113903 1 files changed, 1 insertions(+), 1 deletions(-)
113904
113905 commit 2979c6ee78aabb4421873ea53581380c6bb6ed05
113906 Merge: 0949569 c57d855
113907 Author: Brad Spengler <spender@grsecurity.net>
113908 Date: Mon Mar 18 22:20:46 2013 -0400
113909
113910 Merge branch 'pax-test' into grsec-test
113911
113912 Conflicts:
113913 arch/arm/mm/fault.c
113914 arch/x86/mm/fault.c
113915 fs/exec.c
113916
113917 commit c57d8557f5f2d77c2c7fa1f58316819a5e1f9293
113918 Author: Brad Spengler <spender@grsecurity.net>
113919 Date: Mon Mar 18 21:22:03 2013 -0400
113920
113921 Update to pax-linux-3.8.2-test9.patch:
113922 arm changes from spender
113923 - removed userland access to the vectors page
113924 - removed obsolete sigreturn trampoline handling
113925 - added emulation for __kuser_get_tls
113926 - fixed missing uderef instrumentation in unaligned memory accessors (failed safe)
113927 - fixed recent sysfs/power_supply attr breakage reported by Steven Allen
113928 - hopefully fixed the remaining issues with aslr_gap accounting (http://forums.grsecurity.net/viewtopic.php?f=3&t=2960)
113929 - changed debian packager rules to include the compiler plugins, from Tyler Coumbes <coumbes@gmail.com>
113930 - fixed the sa_restorer leak discovered and reported by Emese Revfy (CVE-2013-0914, google chromium bug #177956)
113931 - new size overflow plugin from Emese that instruments a whole lot more code due to tracking function return values
113932 and more type casts as well. this found the above mentioned sa_restorer leak and would have protected against CVE-2013-0913.
113933
113934 arch/arm/kernel/process.c | 5 +-
113935 arch/arm/kernel/signal.c | 24 +-
113936 arch/arm/kernel/traps.c | 7 -
113937 arch/arm/mm/alignment.c | 8 +
113938 arch/arm/mm/fault.c | 23 +-
113939 arch/arm/mm/mmu.c | 2 +-
113940 arch/x86/include/asm/bitops.h | 2 +-
113941 arch/x86/include/asm/desc.h | 2 +-
113942 arch/x86/include/asm/div64.h | 2 +-
113943 arch/x86/include/asm/io.h | 8 +-
113944 arch/x86/include/asm/paravirt.h | 2 +-
113945 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 16 +-
113946 arch/x86/kernel/setup_percpu.c | 2 +-
113947 arch/x86/mm/fault.c | 4 +-
113948 arch/x86/mm/numa.c | 2 +-
113949 arch/x86/mm/physaddr.c | 4 +-
113950 drivers/ata/libahci.c | 2 +-
113951 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +-
113952 drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +-
113953 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
113954 drivers/lguest/page_tables.c | 2 +-
113955 drivers/net/wireless/at76c50x-usb.c | 2 +-
113956 drivers/oprofile/oprofile_files.c | 2 +-
113957 drivers/power/power_supply_core.c | 1 +
113958 drivers/usb/core/message.c | 2 +-
113959 fs/befs/endian.h | 4 +-
113960 fs/binfmt_elf.c | 5 +-
113961 fs/exec.c | 4 +-
113962 fs/qnx6/qnx6.h | 4 +-
113963 fs/sysv/sysv.h | 2 +-
113964 fs/ubifs/io.c | 2 +-
113965 fs/ufs/swab.h | 4 +-
113966 include/linux/compat.h | 4 +-
113967 include/linux/completion.h | 6 +-
113968 include/linux/cpumask.h | 12 +-
113969 include/linux/ctype.h | 2 +-
113970 include/linux/err.h | 4 +-
113971 include/linux/math64.h | 6 +-
113972 include/linux/sched.h | 2 +-
113973 include/linux/unaligned/access_ok.h | 12 +-
113974 include/linux/usb.h | 2 +-
113975 include/uapi/linux/byteorder/little_endian.h | 4 +-
113976 include/uapi/linux/swab.h | 6 +-
113977 kernel/sched/core.c | 6 +-
113978 kernel/signal.c | 3 +
113979 kernel/time.c | 2 +-
113980 kernel/timer.c | 2 +-
113981 lib/div64.c | 4 +-
113982 mm/page-writeback.c | 2 +-
113983 net/socket.c | 2 +
113984 scripts/package/builddeb | 1 +
113985 tools/gcc/size_overflow_hash.data | 8869 +++++++++++++++----------
113986 tools/gcc/size_overflow_plugin.c | 1072 ++--
113987 53 files changed, 6227 insertions(+), 3951 deletions(-)
113988
113989 commit 09495691bb31f11ec14d9127429f9a0f3f716f22
113990 Author: Brad Spengler <spender@grsecurity.net>
113991 Date: Sun Mar 17 20:51:50 2013 -0400
113992
113993 fix typo
113994
113995 grsecurity/gracl.c | 2 +-
113996 1 files changed, 1 insertions(+), 1 deletions(-)
113997
113998 commit deb85b00d0f9f886e264e116313f298401ec5c59
113999 Author: Brad Spengler <spender@grsecurity.net>
114000 Date: Sun Mar 17 20:03:33 2013 -0400
114001
114002 Call update_rlimit_cpu to immediately change RLIMIT_CPU on the task
114003 with a subject applied to it with RES_CPU. Otherwise, the limit will only
114004 begin to be applied at fork time.
114005
114006 Thanks to Bjornar Ness for the report.
114007
114008 grsecurity/gracl.c | 4 ++++
114009 1 files changed, 4 insertions(+), 0 deletions(-)
114010
114011 commit 2126421f123513f604ceef2b23ba9ed516de7e58
114012 Author: Brad Spengler <spender@grsecurity.net>
114013 Date: Sat Mar 16 22:07:43 2013 -0400
114014
114015 Move inode auditing prior to our refcnt dropping
114016
114017 fs/namei.c | 2 +-
114018 1 files changed, 1 insertions(+), 1 deletions(-)
114019
114020 commit 4d4e665885aab4bacfe662ad6d2190fc9d817146
114021 Author: Brad Spengler <spender@grsecurity.net>
114022 Date: Sat Mar 16 22:00:30 2013 -0400
114023
114024 Drop reference on completed path walked in RCU mode or when violating
114025 the chroot fchdir check inside a chroot -- possible culprit for a reported
114026 vfsmount_lock hang during unmount
114027
114028 fs/namei.c | 8 ++++++--
114029 1 files changed, 6 insertions(+), 2 deletions(-)
114030
114031 commit 53a8a413f45340ee176dd36dd283de3a1ebb7417
114032 Author: Brad Spengler <spender@grsecurity.net>
114033 Date: Sat Mar 16 16:43:45 2013 -0400
114034
114035 add user_arg_ptr back to exec.c
114036
114037 fs/exec.c | 12 ++++++++++++
114038 1 files changed, 12 insertions(+), 0 deletions(-)
114039
114040 commit 83d285953c7e75db388c7f65be5cf1e16fcedec8
114041 Author: Brad Spengler <spender@grsecurity.net>
114042 Date: Sat Mar 16 11:22:36 2013 -0400
114043
114044 Don't globally include compat.h -- with the new X32 support it
114045 changes some definitions involving ELF binaries resulting in invalid
114046 coredumps, as reported by KDE on the forums:
114047 http://forums.grsecurity.net/viewtopic.php?f=3&t=3310
114048 Thanks to the PaX Team for debugging
114049
114050 fs/exec.c | 3 +++
114051 grsecurity/grsec_exec.c | 13 +++++++++++++
114052 include/linux/grsecurity.h | 15 ---------------
114053 3 files changed, 16 insertions(+), 15 deletions(-)
114054
114055 commit 67a94583659cf6c583fbbb023ec2a8ed471ba94a
114056 Author: Brad Spengler <spender@grsecurity.net>
114057 Date: Thu Mar 14 20:59:26 2013 -0400
114058
114059 Add peer information to /proc/net/unix from Kenan Kalajdzic:
114060 http://marc.info/?l=linux-netdev&m=126745636809191&w=2
114061
114062 We use a "P" prefix to the inode number instead of "peer=". This
114063 additional information can be used, for instance, to find what processes
114064 are connected to MySQL's unix domain socket.
114065
114066 net/unix/af_unix.c | 12 +++++++++---
114067 1 files changed, 9 insertions(+), 3 deletions(-)
114068
114069 commit 1cd623d11a462d151ea8a5cace4521e1724911a3
114070 Author: Oliver Neukum <oneukum@suse.de>
114071 Date: Tue Mar 12 14:52:42 2013 +0100
114072
114073 Upstream commit: c0f5ecee4e741667b2493c742b60b6218d40b3aa
114074
114075 USB: cdc-wdm: fix buffer overflow
114076
114077 The buffer for responses must not overflow.
114078 If this would happen, set a flag, drop the data and return
114079 an error after user space has read all remaining data.
114080
114081 Signed-off-by: Oliver Neukum <oliver@neukum.org>
114082 CC: stable@kernel.org
114083 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
114084
114085 drivers/usb/class/cdc-wdm.c | 23 ++++++++++++++++++++---
114086 1 files changed, 20 insertions(+), 3 deletions(-)
114087
114088 commit 3e9e7beb379eaf424d0634c0c556e47c07d367fc
114089 Merge: 9cdf9bc db4cb92
114090 Author: Brad Spengler <spender@grsecurity.net>
114091 Date: Thu Mar 14 20:23:14 2013 -0400
114092
114093 Merge branch 'pax-test' into grsec-test
114094
114095 Conflicts:
114096 security/keys/compat.c
114097
114098 commit db4cb924546e3fec3a59f78d056f48176eaf7100
114099 Author: Brad Spengler <spender@grsecurity.net>
114100 Date: Thu Mar 14 20:22:24 2013 -0400
114101
114102 Update to pax-linux-3.8.2-test8.patch
114103
114104 arch/arm/include/asm/cache.h | 2 ++
114105 arch/arm/mach-omap2/gpmc.c | 22 ++++++++++++----------
114106 arch/arm/mach-omap2/omap_device.c | 4 ++--
114107 arch/arm/mach-omap2/omap_device.h | 4 ++--
114108 arch/arm/plat-orion/include/plat/addr-map.h | 2 +-
114109 5 files changed, 19 insertions(+), 15 deletions(-)
114110
114111 commit 5e72fcce7c468d29168c64c72c18ff5ff0d3b4ae
114112 Merge: 3c865f9 1a45c31
114113 Author: Brad Spengler <spender@grsecurity.net>
114114 Date: Thu Mar 14 20:20:54 2013 -0400
114115
114116 Merge branch 'linux-3.8.y' into pax-test
114117
114118 Conflicts:
114119 arch/arm/include/asm/delay.h
114120 arch/arm/include/asm/pgtable.h
114121 arch/arm/lib/delay.c
114122 security/keys/compat.c
114123
114124 commit 9cdf9bccf22d6a6741e4152bb5d32335beb8caf1
114125 Author: Al Viro <viro@ZenIV.linux.org.uk>
114126 Date: Tue Mar 12 02:59:49 2013 +0000
114127
114128 Upstream commit: a930d8790552658140d7d0d2e316af4f0d76a512
114129
114130 vfs: fix pipe counter breakage
114131
114132 If you open a pipe for neither read nor write, the pipe code will not
114133 add any usage counters to the pipe, causing the 'struct pipe_inode_info"
114134 to be potentially released early.
114135
114136 That doesn't normally matter, since you cannot actually use the pipe,
114137 but the pipe release code - particularly fasync handling - still expects
114138 the actual pipe infrastructure to all be there. And rather than adding
114139 NULL pointer checks, let's just disallow this case, the same way we
114140 already do for the named pipe ("fifo") case.
114141
114142 This is ancient going back to pre-2.4 days, and until trinity, nobody
114143 naver noticed.
114144
114145 Reported-by: Dave Jones <davej@redhat.com>
114146 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
114147
114148 fs/pipe.c | 3 +++
114149 1 files changed, 3 insertions(+), 0 deletions(-)
114150
114151 commit c11fa4be226659a40a6c73f0fa09fee074fba1b2
114152 Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
114153 Date: Mon Feb 25 10:20:36 2013 -0500
114154
114155 Upstream commit: 8aec0f5d4137532de14e6554fd5dd201ff3a3c49
114156
114157 Fix: compat_rw_copy_check_uvector() misuse in aio, readv, writev, and security keys
114158
114159 Looking at mm/process_vm_access.c:process_vm_rw() and comparing it to
114160 compat_process_vm_rw() shows that the compatibility code requires an
114161 explicit "access_ok()" check before calling
114162 compat_rw_copy_check_uvector(). The same difference seems to appear when
114163 we compare fs/read_write.c:do_readv_writev() to
114164 fs/compat.c:compat_do_readv_writev().
114165
114166 This subtle difference between the compat and non-compat requirements
114167 should probably be debated, as it seems to be error-prone. In fact,
114168 there are two others sites that use this function in the Linux kernel,
114169 and they both seem to get it wrong:
114170
114171 Now shifting our attention to fs/aio.c, we see that aio_setup_iocb()
114172 also ends up calling compat_rw_copy_check_uvector() through
114173 aio_setup_vectored_rw(). Unfortunately, the access_ok() check appears to
114174 be missing. Same situation for
114175 security/keys/compat.c:compat_keyctl_instantiate_key_iov().
114176
114177 I propose that we add the access_ok() check directly into
114178 compat_rw_copy_check_uvector(), so callers don't have to worry about it,
114179 and it therefore makes the compat call code similar to its non-compat
114180 counterpart. Place the access_ok() check in the same location where
114181 copy_from_user() can trigger a -EFAULT error in the non-compat code, so
114182 the ABI behaviors are alike on both compat and non-compat.
114183
114184 While we are here, fix compat_do_readv_writev() so it checks for
114185 compat_rw_copy_check_uvector() negative return values.
114186
114187 And also, fix a memory leak in compat_keyctl_instantiate_key_iov() error
114188 handling.
114189
114190 Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
114191 Acked-by: Al Viro <viro@ZenIV.linux.org.uk>
114192 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
114193 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
114194
114195 Conflicts:
114196
114197 security/keys/compat.c
114198
114199 fs/compat.c | 15 +++++++--------
114200 mm/process_vm_access.c | 8 --------
114201 security/keys/compat.c | 3 ++-
114202 3 files changed, 9 insertions(+), 17 deletions(-)
114203
114204 commit 13487f197ab2d5bc76156224c24c45a44bbd6a11
114205 Author: Brad Spengler <spender@grsecurity.net>
114206 Date: Mon Mar 11 18:38:38 2013 -0400
114207
114208 Fix leak of signal handler addresses across execve, found by Emese Revfy
114209
114210 kernel/signal.c | 3 +++
114211 1 files changed, 3 insertions(+), 0 deletions(-)
114212
114213 commit 79b130c4b11c7940daf2b33d653a17666331c634
114214 Merge: 6480ce9 3c865f9
114215 Author: Brad Spengler <spender@grsecurity.net>
114216 Date: Sun Mar 10 20:04:03 2013 -0400
114217
114218 Merge branch 'pax-test' into grsec-test
114219
114220 commit 3c865f9184c6fd56c634bce0096cfc8039d5c43d
114221 Author: Brad Spengler <spender@grsecurity.net>
114222 Date: Sun Mar 10 20:03:12 2013 -0400
114223
114224 Update to pax-linux-3.8.2-test7.patch:
114225 - fixed gcc asserts reported by KDE (http://forums.grsecurity.net/viewtopic.php?f=3&t=3342)
114226 - adjusted RLIMIT_AS accounting for the extra ASLR gap mappings, reported by Alexander Stoll (https://bugs.gentoo.org/show_bug.cgi?id=459268)
114227
114228 fs/binfmt_elf.c | 3 ++-
114229 fs/exec.c | 3 +++
114230 include/linux/mm_types.h | 2 +-
114231 init/main.c | 4 ++--
114232 mm/mmap.c | 2 +-
114233 mm/page_alloc.c | 4 ++--
114234 tools/gcc/latent_entropy_plugin.c | 11 +++++++----
114235 7 files changed, 18 insertions(+), 11 deletions(-)
114236
114237 commit 6480ce919bd7d68ba14f3194e4bdd7b61bc8e491
114238 Merge: 4a5305e 25b3569
114239 Author: Brad Spengler <spender@grsecurity.net>
114240 Date: Sun Mar 10 10:41:16 2013 -0400
114241
114242 Merge branch 'pax-test' into grsec-test
114243
114244 commit 25b356980568bed9958315bb5a551fdc610055ed
114245 Author: Brad Spengler <spender@grsecurity.net>
114246 Date: Sun Mar 10 10:40:48 2013 -0400
114247
114248 Update to pax-linux-3.8.2-test6.patch:
114249 - fixed a KERNEXEC false positive on arm reported by Gu1
114250 - fixed various compile errors reported by x14sg1 (http://forums.grsecurity.net/viewtopic.php?f=3&t=3340)
114251 - fixed too strict mmap parameter checking on i386, reported by browndav (http://forums.grsecurity.net/viewtopic.php?f=1&t=3339)
114252 - added fix from spender for some namespace breakage reported by zakalwe
114253 - small latent entropy improvement: pass pax_extra_latent_entropy to the kernel to extract entropy from RAM content during boot
114254
114255 Documentation/kernel-parameters.txt | 5 +++++
114256 arch/arm/kernel/patch.c | 2 ++
114257 arch/x86/kernel/sys_i386_32.c | 5 +++--
114258 drivers/acpi/blacklist.c | 2 +-
114259 drivers/video/aty/mach64_cursor.c | 1 +
114260 init/main.c | 4 ----
114261 mm/page_alloc.c | 27 +++++++++++++++++++++++++++
114262 net/ipv4/ip_fragment.c | 2 +-
114263 security/Kconfig | 5 +++++
114264 tools/gcc/latent_entropy_plugin.c | 7 +++++--
114265 10 files changed, 50 insertions(+), 10 deletions(-)
114266
114267 commit 4a5305eb7b6c5e49c332feeca9b6bfead9ab917f
114268 Author: Brad Spengler <spender@grsecurity.net>
114269 Date: Sat Mar 9 11:19:06 2013 -0500
114270
114271 From: Mathias Krause <minipli@googlemail.com>
114272 To: "David S. Miller" <davem@davemloft.net>
114273 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>,
114274 Stephen Hemminger <stephen@networkplumber.org>
114275 Subject: [PATCH 1/3] bridge: fix mdb info leaks
114276 Date: Sat, 9 Mar 2013 16:52:19 +0100
114277
114278 The bridging code discloses heap and stack bytes via the RTM_GETMDB
114279 netlink interface and via the notify messages send to group RTNLGRP_MDB
114280 afer a successful add/del.
114281
114282 Fix both cases by initializing all unset members/padding bytes with
114283 memset(0).
114284
114285 Cc: Stephen Hemminger <stephen@networkplumber.org>
114286 Signed-off-by: Mathias Krause <minipli@googlemail.com>
114287
114288 From: Mathias Krause <minipli@googlemail.com>
114289 To: "David S. Miller" <davem@davemloft.net>
114290 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>
114291 Subject: [PATCH 2/3] rtnl: fix info leak on RTM_GETLINK request for VF devices
114292 Date: Sat, 9 Mar 2013 16:52:20 +0100
114293
114294 Initialize the mac address buffer with 0 as the driver specific function
114295 will probably not fill the whole buffer. In fact, all in-kernel drivers
114296 fill only ETH_ALEN of the MAX_ADDR_LEN bytes, i.e. 6 of the 32 possible
114297 bytes. Therefore we currently leak 26 bytes of stack memory to userland
114298 via the netlink interface.
114299
114300 Signed-off-by: Mathias Krause <minipli@googlemail.com>
114301
114302 From: Mathias Krause <minipli@googlemail.com>
114303 To: "David S. Miller" <davem@davemloft.net>
114304 Cc: netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>
114305 Subject: [PATCH 3/3] dcbnl: fix various netlink info leaks
114306 Date: Sat, 9 Mar 2013 16:52:21 +0100
114307
114308 The dcb netlink interface leaks stack memory in various places:
114309 * perm_addr[] buffer is only filled at max with 12 of the 32 bytes but
114310 copied completely,
114311 * no in-kernel driver fills all fields of an IEEE 802.1Qaz subcommand,
114312 so we're leaking up to 58 bytes for ieee_ets structs, up to 136 bytes
114313 for ieee_pfc structs, etc.,
114314 * the same is true for CEE -- no in-kernel driver fills the whole
114315 struct,
114316
114317 Prevent all of the above stack info leaks by properly initializing the
114318 buffers/structures involved.
114319
114320 Signed-off-by: Mathias Krause <minipli@googlemail.com>
114321
114322 net/bridge/br_mdb.c | 4 ++++
114323 net/core/rtnetlink.c | 1 +
114324 net/dcb/dcbnl.c | 8 ++++++++
114325 3 files changed, 13 insertions(+), 0 deletions(-)
114326
114327 commit 601dd446f896e3a362f706943df18a68d50420a1
114328 Author: Brad Spengler <spender@grsecurity.net>
114329 Date: Sat Mar 9 09:35:25 2013 -0500
114330
114331 add open/close wrappers in __patch_text() as reported by Gu1 on IRC
114332
114333 arch/arm/kernel/patch.c | 2 ++
114334 1 files changed, 2 insertions(+), 0 deletions(-)
114335
114336 commit ae39966fd85a493e9079b357e3faa62245a41222
114337 Author: Peter Hurley <peter@hurleysoftware.com>
114338 Date: Fri Mar 8 12:43:27 2013 -0800
114339
114340 Upstream commit: 88b9e456b1649722673ffa147914299799dc9041
114341
114342 ipc: don't allocate a copy larger than max
114343
114344 When MSG_COPY is set, a duplicate message must be allocated for the copy
114345 before locking the queue. However, the copy could not be larger than was
114346 sent which is limited to msg_ctlmax.
114347
114348 Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
114349 Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
114350 Cc: <stable@vger.kernel.org>
114351 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
114352 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
114353
114354 ipc/msg.c | 6 ++++--
114355 1 files changed, 4 insertions(+), 2 deletions(-)
114356
114357 commit 61240e99650ea3e540a03a3e994349c5086f166b
114358 Author: Peter Hurley <peter@hurleysoftware.com>
114359 Date: Fri Mar 8 12:43:26 2013 -0800
114360
114361 Upstream commit: e1082f45f1e2bbf6e25f6b614fc6616ebf709d19
114362
114363 ipc: fix potential oops when src msg > 4k w/ MSG_COPY
114364
114365 If the src msg is > 4k, then dest->next points to the
114366 next allocated segment; resetting it just prior to dereferencing
114367 is bad.
114368
114369 Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
114370 Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
114371 Cc: <stable@vger.kernel.org>
114372 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
114373 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
114374
114375 ipc/msgutil.c | 3 ---
114376 1 files changed, 0 insertions(+), 3 deletions(-)
114377
114378 commit 51727f602a267f34fb2e0dc9557f1714028d51a2
114379 Author: Brad Spengler <spender@grsecurity.net>
114380 Date: Fri Mar 8 22:14:06 2013 -0500
114381
114382 add missing 'else' in recent constify fixups
114383
114384 net/ipv4/ip_fragment.c | 2 +-
114385 1 files changed, 1 insertions(+), 1 deletions(-)
114386
114387 commit a38c1a640729b3d8e584d1ab98e908c221bc12cf
114388 Merge: 1580bb3 47c3f47
114389 Author: Brad Spengler <spender@grsecurity.net>
114390 Date: Fri Mar 8 18:18:37 2013 -0500
114391
114392 Merge branch 'pax-test' into grsec-test
114393
114394 commit 47c3f47ba4f874f5c72e4c04b76b6b92e44daebe
114395 Author: Brad Spengler <spender@grsecurity.net>
114396 Date: Fri Mar 8 18:17:22 2013 -0500
114397
114398 Update to pax-linux-3.8.2-test5.patch:
114399 - fixed some fallout after the last round of constification changes, reported by several people
114400
114401 arch/arm/common/gic.c | 4 ++--
114402 arch/arm/include/asm/hardware/gic.h | 3 ++-
114403 arch/x86/include/asm/nmi.h | 2 +-
114404 arch/x86/kernel/nmi.c | 2 +-
114405 arch/x86/pci/irq.c | 2 +-
114406 drivers/base/power/domain.c | 4 ++--
114407 drivers/cpufreq/cpufreq_governor.c | 4 ++--
114408 drivers/mfd/twl4030-irq.c | 1 +
114409 drivers/video/vesafb.c | 7 +++++--
114410 include/linux/irq.h | 1 +
114411 include/linux/pm_domain.h | 2 +-
114412 kernel/sched/core.c | 4 ++++
114413 lib/Kconfig.debug | 4 ++--
114414 net/core/sysctl_net_core.c | 2 +-
114415 net/decnet/af_decnet.c | 1 +
114416 net/ipv4/devinet.c | 2 +-
114417 net/ipv4/ip_fragment.c | 2 +-
114418 net/ipv4/route.c | 2 +-
114419 net/ipv4/sysctl_net_ipv4.c | 2 +-
114420 net/ipv6/netfilter/nf_conntrack_reasm.c | 2 +-
114421 net/ipv6/reassembly.c | 2 +-
114422 scripts/sortextable.h | 6 +++---
114423 22 files changed, 36 insertions(+), 25 deletions(-)
114424
114425 commit 1580bb38b4db0bf2a46316599815e8b234edad81
114426 Author: Brad Spengler <spender@grsecurity.net>
114427 Date: Thu Mar 7 22:02:59 2013 -0500
114428
114429 add an additional open/close wrapper
114430
114431 kernel/sched/core.c | 2 ++
114432 1 files changed, 2 insertions(+), 0 deletions(-)
114433
114434 commit 21622672d28d58e0d93a805cd1f9650a894a752a
114435 Author: Brad Spengler <spender@grsecurity.net>
114436 Date: Thu Mar 7 21:58:24 2013 -0500
114437
114438 fix oops at shutdown with new constify code
114439
114440 kernel/sched/core.c | 2 ++
114441 1 files changed, 2 insertions(+), 0 deletions(-)
114442
114443 commit f6b9ab9fcc747bb1b14a4857d59e6681936220ec
114444 Author: Brad Spengler <spender@grsecurity.net>
114445 Date: Thu Mar 7 21:18:44 2013 -0500
114446
114447 Add PAX_CONSTIFY_PLUGIN, which we previously enabled unconditionally
114448 it currently conflicts with some lock debugging options, so made as an
114449 option to allow for debugging when necessary
114450
114451 Makefile | 2 --
114452 lib/Kconfig.debug | 6 +++---
114453 security/Kconfig | 18 ++++++++++++++++++
114454 3 files changed, 21 insertions(+), 5 deletions(-)
114455
114456 commit 0885b00b8373a1597b69c38032a0c9eee279303b
114457 Author: Brad Spengler <spender@grsecurity.net>
114458 Date: Thu Mar 7 20:55:19 2013 -0500
114459
114460 disable DEBUG_LOCK_ALLOC, as it conflicts with the new constify
114461
114462 lib/Kconfig.debug | 2 +-
114463 1 files changed, 1 insertions(+), 1 deletions(-)
114464
114465 commit c8a2617165e7127a54f293cbf57d22d50dd83abd
114466 Author: Brad Spengler <spender@grsecurity.net>
114467 Date: Thu Mar 7 20:30:41 2013 -0500
114468
114469 Fix error:
114470 drivers/video/vesafb.c:502:3: error: assignment of member ‘fb_pan_display’ in read-only object
114471 with cast and proper kernexec accessors
114472
114473 drivers/video/vesafb.c | 7 +++++--
114474 1 files changed, 5 insertions(+), 2 deletions(-)
114475
114476 commit 99f2814d3e2a6db25985edc47c7e09c4a2d8c408
114477 Author: Brad Spengler <spender@grsecurity.net>
114478 Date: Thu Mar 7 20:20:28 2013 -0500
114479
114480 fix typo
114481
114482 grsecurity/gracl.c | 2 +-
114483 1 files changed, 1 insertions(+), 1 deletions(-)
114484
114485 commit 399674de6c42bbcae2d01b082d6d9ce9d183b000
114486 Author: Brad Spengler <spender@grsecurity.net>
114487 Date: Thu Mar 7 20:12:17 2013 -0500
114488
114489 fix compilation error -- no reason for task_pid_nr to not take a const task ptr
114490
114491 include/linux/sched.h | 2 +-
114492 1 files changed, 1 insertions(+), 1 deletions(-)
114493
114494 commit a6c239eacf683f9dd2aeebb1b1adb71e5eedbd9f
114495 Author: Kees Cook <keescook@chromium.org>
114496 Date: Mon Feb 25 21:32:25 2013 +0000
114497
114498 Upstream commit: e70ab977991964a5a7ad1182799451d067e62669
114499
114500 proc connector: reject unprivileged listener bumps
114501
114502 While PROC_CN_MCAST_LISTEN/IGNORE is entirely advisory, it was possible
114503 for an unprivileged user to turn off notifications for all listeners by
114504 sending PROC_CN_MCAST_IGNORE. Instead, require the same privileges as
114505 required for a multicast bind.
114506
114507 Signed-off-by: Kees Cook <keescook@chromium.org>
114508 Cc: Evgeniy Polyakov <zbr@ioremap.net>
114509 Cc: Matt Helsley <matthltc@us.ibm.com>
114510 Cc: stable@vger.kernel.org
114511 Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
114512 Acked-by: Matt Helsley <matthltc@us.ibm.com>
114513 Signed-off-by: David S. Miller <davem@davemloft.net>
114514
114515 drivers/connector/cn_proc.c | 8 ++++++++
114516 1 files changed, 8 insertions(+), 0 deletions(-)
114517
114518 commit ac6014ded57101e3e608941555ff507e20c1ece3
114519 Author: Dan Carpenter <dan.carpenter@oracle.com>
114520 Date: Tue Feb 26 19:15:02 2013 +0000
114521
114522 Upstream commit: 90c7881ecee1f08e0a49172cf61371cf2509ee4a
114523
114524 irda: small read beyond end of array in debug code
114525
114526 charset comes from skb->data. It's a number in the 0-255 range.
114527 If we have debugging turned on then this could cause a read beyond
114528 the end of the array.
114529
114530 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
114531 Signed-off-by: David S. Miller <davem@davemloft.net>
114532
114533 net/irda/iriap.c | 7 +++++--
114534 1 files changed, 5 insertions(+), 2 deletions(-)
114535
114536 commit e60bd2aad9bfdb68731cc888eae14a7600bd2ffe
114537 Author: Guenter Roeck <linux@roeck-us.net>
114538 Date: Wed Feb 27 10:57:31 2013 +0000
114539
114540 Upstream commit: 726bc6b092da4c093eb74d13c07184b18c1af0f1
114541
114542 net/sctp: Validate parameter size for SCTP_GET_ASSOC_STATS
114543
114544 Building sctp may fail with:
114545
114546 In function ‘copy_from_user’,
114547 inlined from ‘sctp_getsockopt_assoc_stats’ at
114548 net/sctp/socket.c:5656:20:
114549 arch/x86/include/asm/uaccess_32.h:211:26: error: call to
114550 ‘copy_from_user_overflow’ declared with attribute error: copy_from_user()
114551 buffer size is not provably correct
114552
114553 if built with W=1 due to a missing parameter size validation
114554 before the call to copy_from_user.
114555
114556 Signed-off-by: Guenter Roeck <linux@roeck-us.net>
114557 Acked-by: Vlad Yasevich <vyasevich@gmail.com>
114558 Signed-off-by: David S. Miller <davem@davemloft.net>
114559
114560 net/sctp/socket.c | 6 +++---
114561 1 files changed, 3 insertions(+), 3 deletions(-)
114562
114563 commit be49e0ae9a4d0e8daa831d7d8d6f3a56beda3e3c
114564 Author: Guillaume Nault <g.nault@alphalink.fr>
114565 Date: Fri Mar 1 05:02:02 2013 +0000
114566
114567 Upstream commit: 8b82547e33e85fc24d4d172a93c796de1fefa81a
114568
114569 l2tp: Restore socket refcount when sendmsg succeeds
114570
114571 The sendmsg() syscall handler for PPPoL2TP doesn't decrease the socket
114572 reference counter after successful transmissions. Any successful
114573 sendmsg() call from userspace will then increase the reference counter
114574 forever, thus preventing the kernel's session and tunnel data from
114575 being freed later on.
114576
114577 The problem only happens when writing directly on L2TP sockets.
114578 PPP sockets attached to L2TP are unaffected as the PPP subsystem
114579 uses pppol2tp_xmit() which symmetrically increase/decrease reference
114580 counters.
114581
114582 This patch adds the missing call to sock_put() before returning from
114583 pppol2tp_sendmsg().
114584
114585 Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
114586 Signed-off-by: David S. Miller <davem@davemloft.net>
114587
114588 net/l2tp/l2tp_ppp.c | 1 +
114589 1 files changed, 1 insertions(+), 0 deletions(-)
114590
114591 commit 98a9a5f981f5deda4059a255c1196886f2f27e2f
114592 Author: Cong Wang <amwang@redhat.com>
114593 Date: Sun Mar 3 16:18:11 2013 +0000
114594
114595 Upstream commit: ece6b0a2b25652d684a7ced4ae680a863af041e0
114596
114597 rds: limit the size allocated by rds_message_alloc()
114598
114599 Dave Jones reported the following bug:
114600
114601 "When fed mangled socket data, rds will trust what userspace gives it,
114602 and tries to allocate enormous amounts of memory larger than what
114603 kmalloc can satisfy."
114604
114605 WARNING: at mm/page_alloc.c:2393 __alloc_pages_nodemask+0xa0d/0xbe0()
114606 Hardware name: GA-MA78GM-S2H
114607 Modules linked in: vmw_vsock_vmci_transport vmw_vmci vsock fuse bnep dlci bridge 8021q garp stp mrp binfmt_misc l2tp_ppp l2tp_core rfcomm s
114608 Pid: 24652, comm: trinity-child2 Not tainted 3.8.0+ #65
114609 Call Trace:
114610 [<ffffffff81044155>] warn_slowpath_common+0x75/0xa0
114611 [<ffffffff8104419a>] warn_slowpath_null+0x1a/0x20
114612 [<ffffffff811444ad>] __alloc_pages_nodemask+0xa0d/0xbe0
114613 [<ffffffff8100a196>] ? native_sched_clock+0x26/0x90
114614 [<ffffffff810b2128>] ? trace_hardirqs_off_caller+0x28/0xc0
114615 [<ffffffff810b21cd>] ? trace_hardirqs_off+0xd/0x10
114616 [<ffffffff811861f8>] alloc_pages_current+0xb8/0x180
114617 [<ffffffff8113eaaa>] __get_free_pages+0x2a/0x80
114618 [<ffffffff811934fe>] kmalloc_order_trace+0x3e/0x1a0
114619 [<ffffffff81193955>] __kmalloc+0x2f5/0x3a0
114620 [<ffffffff8104df0c>] ? local_bh_enable_ip+0x7c/0xf0
114621 [<ffffffffa0401ab3>] rds_message_alloc+0x23/0xb0 [rds]
114622 [<ffffffffa04043a1>] rds_sendmsg+0x2b1/0x990 [rds]
114623 [<ffffffff810b21cd>] ? trace_hardirqs_off+0xd/0x10
114624 [<ffffffff81564620>] sock_sendmsg+0xb0/0xe0
114625 [<ffffffff810b2052>] ? get_lock_stats+0x22/0x70
114626 [<ffffffff810b24be>] ? put_lock_stats.isra.23+0xe/0x40
114627 [<ffffffff81567f30>] sys_sendto+0x130/0x180
114628 [<ffffffff810b872d>] ? trace_hardirqs_on+0xd/0x10
114629 [<ffffffff816c547b>] ? _raw_spin_unlock_irq+0x3b/0x60
114630 [<ffffffff816cd767>] ? sysret_check+0x1b/0x56
114631 [<ffffffff810b8695>] ? trace_hardirqs_on_caller+0x115/0x1a0
114632 [<ffffffff81341d8e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
114633 [<ffffffff816cd742>] system_call_fastpath+0x16/0x1b
114634 ---[ end trace eed6ae990d018c8b ]---
114635
114636 Reported-by: Dave Jones <davej@redhat.com>
114637 Cc: Dave Jones <davej@redhat.com>
114638 Cc: David S. Miller <davem@davemloft.net>
114639 Cc: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
114640 Signed-off-by: Cong Wang <amwang@redhat.com>
114641 Acked-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
114642 Signed-off-by: David S. Miller <davem@davemloft.net>
114643
114644 net/rds/message.c | 3 +++
114645 1 files changed, 3 insertions(+), 0 deletions(-)
114646
114647 commit b46df323e01c63c62fdb82cf2c47e4386f5a0499
114648 Author: Cong Wang <amwang@redhat.com>
114649 Date: Sun Mar 3 16:28:27 2013 +0000
114650
114651 Upstream commit: 3f736868b47687d1336fe88185560b22bb92021e
114652
114653 sctp: use KMALLOC_MAX_SIZE instead of its own MAX_KMALLOC_SIZE
114654
114655 Don't definite its own MAX_KMALLOC_SIZE, use the one
114656 defined in mm.
114657
114658 Cc: Vlad Yasevich <vyasevich@gmail.com>
114659 Cc: Sridhar Samudrala <sri@us.ibm.com>
114660 Cc: Neil Horman <nhorman@tuxdriver.com>
114661 Cc: David S. Miller <davem@davemloft.net>
114662 Signed-off-by: Cong Wang <amwang@redhat.com>
114663 Acked-by: Neil Horman <nhorman@tuxdriver.com>
114664 Signed-off-by: David S. Miller <davem@davemloft.net>
114665
114666 net/sctp/ssnmap.c | 8 +++-----
114667 1 files changed, 3 insertions(+), 5 deletions(-)
114668
114669 commit 4295a024e812f903fc580c81de5e81cc149503fa
114670 Author: Brad Spengler <spender@grsecurity.net>
114671 Date: Thu Mar 7 17:57:49 2013 -0500
114672
114673 Upstream commit: https://lkml.org/lkml/2013/3/6/535
114674
114675 security/keys/process_keys.c | 2 +-
114676 1 files changed, 1 insertions(+), 1 deletions(-)
114677
114678 commit 33edd486a9899a145a15586d7134636b0300aaee
114679 Merge: 4eeeaf3 a2a2094
114680 Author: Brad Spengler <spender@grsecurity.net>
114681 Date: Thu Mar 7 17:53:00 2013 -0500
114682
114683 Merge branch 'pax-test' into grsec-test
114684
114685 Conflicts:
114686 arch/arm/include/asm/domain.h
114687
114688 commit a2a20947f5e1332e474160a39af520738b3c8c19
114689 Author: Brad Spengler <spender@grsecurity.net>
114690 Date: Thu Mar 7 17:51:04 2013 -0500
114691
114692 Update to pax-linux-3.8.2-test4.patch:
114693 fixed arm compilation problems reported by Michael Tremer
114694 - the constify plugin got smarter that enabled, with some additional patching,
114695 the elimination of about half the static function pointers on amd64/allmod
114696 (up from about 18%), depending on the kernel config it can be even more (70%)
114697
114698 Documentation/dontdiff | 2 +
114699 arch/arm/include/asm/domain.h | 1 +
114700 arch/x86/include/asm/i8259.h | 2 +-
114701 arch/x86/include/asm/nmi.h | 4 +-
114702 arch/x86/kernel/acpi/boot.c | 4 +-
114703 arch/x86/kernel/apic/apic_noop.c | 2 +-
114704 arch/x86/kernel/apic/es7000_32.c | 2 +-
114705 arch/x86/kernel/apic/io_apic.c | 10 +-
114706 arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
114707 arch/x86/kernel/cpu/perf_event.c | 6 +-
114708 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
114709 arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +-
114710 arch/x86/kernel/i8259.c | 6 +-
114711 arch/x86/kernel/io_delay.c | 2 +-
114712 arch/x86/kernel/nmi.c | 6 +-
114713 arch/x86/kernel/nmi_selftest.c | 4 +-
114714 arch/x86/kernel/pci-swiotlb.c | 2 +-
114715 arch/x86/oprofile/nmi_int.c | 8 +-
114716 arch/x86/oprofile/op_model_amd.c | 8 +-
114717 arch/x86/oprofile/op_model_ppro.c | 7 +-
114718 arch/x86/oprofile/op_x86_model.h | 2 +-
114719 arch/x86/pci/irq.c | 6 +-
114720 drivers/acpi/apei/apei-internal.h | 2 +-
114721 drivers/acpi/bgrt.c | 6 +-
114722 drivers/acpi/blacklist.c | 2 +-
114723 drivers/acpi/processor_idle.c | 2 +-
114724 drivers/acpi/sysfs.c | 4 +-
114725 drivers/base/bus.c | 4 +-
114726 drivers/base/node.c | 2 +-
114727 drivers/base/syscore.c | 4 +-
114728 drivers/block/drbd/drbd_receiver.c | 4 +-
114729 drivers/char/random.c | 2 +-
114730 drivers/cpufreq/acpi-cpufreq.c | 20 ++-
114731 drivers/cpufreq/cpufreq.c | 7 +-
114732 drivers/cpufreq/cpufreq_governor.c | 4 +-
114733 drivers/cpufreq/cpufreq_governor.h | 2 +-
114734 drivers/cpufreq/p4-clockmod.c | 12 +-
114735 drivers/cpufreq/speedstep-centrino.c | 7 +-
114736 drivers/cpuidle/cpuidle.c | 2 +-
114737 drivers/cpuidle/governor.c | 4 +-
114738 drivers/cpuidle/sysfs.c | 2 +-
114739 drivers/devfreq/devfreq.c | 4 +-
114740 drivers/edac/edac_mc_sysfs.c | 2 +-
114741 drivers/edac/edac_pci_sysfs.c | 2 +-
114742 drivers/firewire/core-device.c | 2 +-
114743 drivers/firmware/dmi-id.c | 2 +-
114744 drivers/firmware/efivars.c | 2 +-
114745 drivers/firmware/google/memconsole.c | 4 +-
114746 drivers/gpio/gpio-ich.c | 2 +-
114747 drivers/gpu/drm/drm_drv.c | 2 +-
114748 drivers/gpu/drm/drm_ioc32.c | 9 +-
114749 drivers/gpu/drm/i915/i915_ioc32.c | 11 +-
114750 drivers/gpu/drm/i915/intel_display.c | 26 ++-
114751 drivers/gpu/drm/mga/mga_ioc32.c | 11 +-
114752 drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +-
114753 drivers/gpu/drm/r128/r128_ioc32.c | 11 +-
114754 drivers/gpu/drm/radeon/radeon_ioc32.c | 11 +-
114755 drivers/gpu/drm/radeon/radeon_ttm.c | 33 ++--
114756 drivers/gpu/drm/udl/udl_fb.c | 1 -
114757 drivers/hwmon/acpi_power_meter.c | 4 +-
114758 drivers/hwmon/applesmc.c | 2 +-
114759 drivers/hwmon/asus_atk0110.c | 10 +-
114760 drivers/hwmon/ibmaem.c | 2 +-
114761 drivers/hwmon/pmbus/pmbus_core.c | 2 +-
114762 drivers/iio/industrialio-core.c | 2 +-
114763 drivers/input/mouse/psmouse.h | 2 +-
114764 drivers/iommu/iommu.c | 2 +-
114765 drivers/leds/leds-clevo-mail.c | 2 +-
114766 drivers/leds/leds-ss4200.c | 2 +-
114767 drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
114768 drivers/mfd/twl4030-irq.c | 8 +-
114769 drivers/mfd/twl6030-irq.c | 10 +-
114770 drivers/misc/c2port/core.c | 4 +-
114771 drivers/mtd/sm_ftl.c | 2 +-
114772 drivers/net/bonding/bond_main.c | 2 +-
114773 drivers/net/macvlan.c | 16 +-
114774 drivers/net/vxlan.c | 2 +-
114775 drivers/pci/hotplug/acpiphp_ibm.c | 4 +-
114776 drivers/pci/hotplug/pci_hotplug_core.c | 6 +-
114777 drivers/pci/hotplug/pciehp_core.c | 2 +-
114778 drivers/pci/pci-sysfs.c | 6 +-
114779 drivers/pci/pci.h | 2 +-
114780 drivers/platform/x86/msi-laptop.c | 14 +-
114781 drivers/platform/x86/sony-laptop.c | 2 +-
114782 drivers/power/power_supply.h | 4 +-
114783 drivers/power/power_supply_core.c | 6 +-
114784 drivers/power/power_supply_sysfs.c | 6 +-
114785 drivers/rtc/rtc-cmos.c | 4 +-
114786 drivers/rtc/rtc-ds1307.c | 2 +-
114787 drivers/rtc/rtc-m48t59.c | 4 +-
114788 drivers/scsi/bfa/bfa.h | 2 +-
114789 drivers/staging/iio/iio_hwmon.c | 2 +-
114790 drivers/usb/storage/usb.h | 2 +-
114791 drivers/video/aty/atyfb_base.c | 8 +-
114792 drivers/video/aty/mach64_cursor.c | 4 +-
114793 drivers/video/backlight/kb3886_bl.c | 2 +-
114794 drivers/video/fb_defio.c | 6 +-
114795 drivers/video/mb862xx/mb862xxfb_accel.c | 16 +-
114796 drivers/video/nvidia/nvidia.c | 27 ++-
114797 drivers/video/s1d13xxxfb.c | 6 +-
114798 drivers/video/smscufx.c | 4 +-
114799 drivers/video/udlfb.c | 4 +-
114800 drivers/video/uvesafb.c | 14 +-
114801 fs/exec.c | 6 +-
114802 fs/ext4/super.c | 2 +-
114803 fs/jfs/super.c | 4 +-
114804 fs/nfs/callback_xdr.c | 2 +-
114805 fs/nfsd/nfs4proc.c | 2 +-
114806 fs/nfsd/nfs4xdr.c | 6 +-
114807 fs/nls/nls_base.c | 18 +-
114808 fs/nls/nls_euc-jp.c | 6 +-
114809 fs/nls/nls_koi8-ru.c | 6 +-
114810 fs/proc/proc_sysctl.c | 18 +-
114811 include/drm/drmP.h | 12 +-
114812 include/keys/asymmetric-subtype.h | 2 +-
114813 include/linux/atmdev.h | 2 +-
114814 include/linux/binfmts.h | 2 +-
114815 include/linux/configfs.h | 2 +-
114816 include/linux/cpufreq.h | 3 +-
114817 include/linux/cpuidle.h | 5 +-
114818 include/linux/devfreq.h | 2 +-
114819 include/linux/device.h | 7 +-
114820 include/linux/extcon.h | 2 +-
114821 include/linux/fb.h | 2 +-
114822 include/linux/fscache.h | 2 +-
114823 include/linux/genl_magic_func.h | 2 +-
114824 include/linux/hwmon-sysfs.h | 5 +-
114825 include/linux/iommu.h | 2 +-
114826 include/linux/irq.h | 2 +-
114827 include/linux/key-type.h | 2 +-
114828 include/linux/kobject.h | 1 +
114829 include/linux/kobject_ns.h | 2 +-
114830 include/linux/list.h | 14 +-
114831 include/linux/mod_devicetable.h | 2 +-
114832 include/linux/module.h | 5 +-
114833 include/linux/net.h | 2 +-
114834 include/linux/netfilter.h | 2 +-
114835 include/linux/nls.h | 2 +-
114836 include/linux/pci_hotplug.h | 3 +-
114837 include/linux/platform_data/usb-exynos.h | 2 +-
114838 include/linux/pnp.h | 2 +-
114839 include/linux/ppp-comp.h | 2 +-
114840 include/linux/rculist.h | 16 ++
114841 include/linux/sched.h | 2 +-
114842 include/linux/sock_diag.h | 2 +-
114843 include/linux/sunrpc/clnt.h | 2 +-
114844 include/linux/sunrpc/svc.h | 2 +-
114845 include/linux/sunrpc/svcauth.h | 2 +-
114846 include/linux/swiotlb.h | 3 +-
114847 include/linux/syscore_ops.h | 2 +-
114848 include/linux/sysctl.h | 6 +-
114849 include/linux/sysfs.h | 10 +-
114850 include/linux/sysrq.h | 1 +
114851 include/linux/xattr.h | 2 +-
114852 include/net/9p/transport.h | 2 +-
114853 include/net/bluetooth/l2cap.h | 2 +-
114854 include/net/genetlink.h | 2 +-
114855 include/net/ip.h | 2 +-
114856 include/net/ip_vs.h | 4 +-
114857 include/net/llc_c_ac.h | 2 +-
114858 include/net/llc_c_ev.h | 4 +-
114859 include/net/llc_c_st.h | 2 +-
114860 include/net/llc_s_ac.h | 2 +-
114861 include/net/llc_s_st.h | 2 +-
114862 include/net/mac80211.h | 2 +-
114863 include/net/net_namespace.h | 2 +-
114864 include/net/netns/conntrack.h | 6 +-
114865 include/net/rtnetlink.h | 2 +-
114866 include/net/sctp/sm.h | 4 +-
114867 include/net/sctp/structs.h | 2 +-
114868 include/net/xfrm.h | 4 +-
114869 ipc/ipc_sysctl.c | 10 +-
114870 ipc/mq_sysctl.c | 2 +-
114871 kernel/kmod.c | 2 +-
114872 kernel/ksysfs.c | 2 +-
114873 kernel/module.c | 4 +-
114874 kernel/pid_namespace.c | 2 +-
114875 kernel/rcutree_plugin.h | 2 +-
114876 kernel/sched/core.c | 39 ++--
114877 kernel/smpboot.c | 4 +-
114878 kernel/softirq.c | 2 +-
114879 kernel/sysctl.c | 2 +-
114880 kernel/utsname_sysctl.c | 2 +-
114881 kernel/watchdog.c | 2 +-
114882 lib/Kconfig.debug | 2 +-
114883 lib/kobject.c | 4 +-
114884 lib/list_debug.c | 57 ++++-
114885 lib/swiotlb.c | 2 +-
114886 mm/hugetlb.c | 16 +-
114887 mm/memory-failure.c | 2 +-
114888 mm/slab_common.c | 2 +-
114889 net/9p/mod.c | 4 +-
114890 net/ax25/sysctl_net_ax25.c | 2 +-
114891 net/core/neighbour.c | 2 +-
114892 net/core/net-sysfs.c | 2 +-
114893 net/core/net_namespace.c | 8 +-
114894 net/core/rtnetlink.c | 11 +-
114895 net/core/sock_diag.c | 9 +-
114896 net/core/sysctl_net_core.c | 15 +-
114897 net/ipv4/af_inet.c | 8 +-
114898 net/ipv4/devinet.c | 12 +-
114899 net/ipv4/inet_connection_sock.c | 2 +-
114900 net/ipv4/ip_fragment.c | 9 +-
114901 net/ipv4/ip_gre.c | 6 +-
114902 net/ipv4/ip_vti.c | 4 +-
114903 net/ipv4/ipip.c | 4 +-
114904 net/ipv4/route.c | 14 +-
114905 net/ipv4/sysctl_net_ipv4.c | 43 ++--
114906 net/ipv6/addrconf.c | 4 +-
114907 net/ipv6/icmp.c | 2 +-
114908 net/ipv6/ip6_gre.c | 6 +-
114909 net/ipv6/ip6_tunnel.c | 4 +-
114910 net/ipv6/netfilter/nf_conntrack_reasm.c | 12 +-
114911 net/ipv6/reassembly.c | 11 +-
114912 net/ipv6/route.c | 2 +-
114913 net/ipv6/sit.c | 4 +-
114914 net/ipv6/sysctl_net_ipv6.c | 2 +-
114915 net/netfilter/ipset/ip_set_core.c | 2 +-
114916 net/netfilter/ipvs/ip_vs_ctl.c | 4 +-
114917 net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
114918 net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
114919 net/netfilter/nf_conntrack_acct.c | 2 +-
114920 net/netfilter/nf_conntrack_ecache.c | 2 +-
114921 net/netfilter/nf_conntrack_helper.c | 2 +-
114922 net/netfilter/nf_conntrack_proto.c | 2 +-
114923 net/netfilter/nf_conntrack_standalone.c | 2 +-
114924 net/netfilter/nf_conntrack_timestamp.c | 2 +-
114925 net/netfilter/nf_log.c | 10 +-
114926 net/netfilter/nf_sockopt.c | 4 +-
114927 net/netlink/genetlink.c | 16 +-
114928 net/phonet/sysctl.c | 2 +-
114929 net/rds/rds.h | 2 +-
114930 net/sctp/ipv6.c | 6 +-
114931 net/sctp/protocol.c | 10 +-
114932 net/sctp/sm_sideeffect.c | 2 +-
114933 net/sctp/sysctl.c | 4 +-
114934 net/sunrpc/clnt.c | 4 +-
114935 net/sunrpc/svc.c | 4 +-
114936 net/unix/sysctl_net_unix.c | 2 +-
114937 net/xfrm/xfrm_policy.c | 11 +-
114938 net/xfrm/xfrm_state.c | 29 ++-
114939 net/xfrm/xfrm_sysctl.c | 2 +-
114940 security/apparmor/lsm.c | 2 +-
114941 security/keys/key.c | 18 +-
114942 security/yama/yama_lsm.c | 22 +-
114943 tools/gcc/Makefile | 4 +-
114944 tools/gcc/constify_plugin.c | 299 +++++++++++++++++++------
114945 tools/gcc/size_overflow_plugin.c | 7 +-
114946 248 files changed, 994 insertions(+), 668 deletions(-)
114947
114948 commit 4eeeaf3a560e25d1685f8973ef676b205efaa81b
114949 Author: Brad Spengler <spender@grsecurity.net>
114950 Date: Wed Mar 6 12:58:21 2013 -0500
114951
114952 Make slab_state __read_only, it's only written to during init
114953
114954 mm/slab_common.c | 2 +-
114955 1 files changed, 1 insertions(+), 1 deletions(-)
114956
114957 commit e7067b68d36fb9e0e8818de5d9ce1b4ba19ce24a
114958 Author: Brad Spengler <spender@grsecurity.net>
114959 Date: Wed Mar 6 12:31:35 2013 -0500
114960
114961 Make two new helper functions:
114962 gr_is_global_root() and gr_is_global_nonroot()
114963
114964 grsecurity/gracl.c | 10 +++++-----
114965 grsecurity/gracl_segv.c | 2 +-
114966 grsecurity/grsec_link.c | 4 ++--
114967 grsecurity/grsec_sig.c | 10 +++++-----
114968 grsecurity/grsec_tpe.c | 6 +++---
114969 include/linux/uidgid.h | 2 ++
114970 6 files changed, 18 insertions(+), 16 deletions(-)
114971
114972 commit d45d88eddd4998b280b1e5b5384289ee11ca7088
114973 Author: Brad Spengler <spender@grsecurity.net>
114974 Date: Wed Mar 6 12:14:41 2013 -0500
114975
114976 convert remaining task->pid to task_pid_nr(task)
114977
114978 grsecurity/gracl.c | 22 +++++++++++-----------
114979 grsecurity/gracl_shm.c | 2 +-
114980 grsecurity/grsec_chroot.c | 4 ++--
114981 grsecurity/grsec_sig.c | 4 ++--
114982 4 files changed, 16 insertions(+), 16 deletions(-)
114983
114984 commit c877f2ece03ee2232dd281c1977ae59507297124
114985 Author: Brad Spengler <spender@grsecurity.net>
114986 Date: Tue Mar 5 17:29:54 2013 -0500
114987
114988 compat-log is only used anymore by vm86-on-64bit and allows unlimited
114989 spamming of the kernel log buffer (and since it includes the changable
114990 process name, can avoid syslog log deduplication)
114991 Turn it off by default
114992
114993 fs/compat.c | 2 +-
114994 1 files changed, 1 insertions(+), 1 deletions(-)
114995
114996 commit 7c1964c4b7276889d7967bee70e46918cdca1b14
114997 Author: Brad Spengler <spender@grsecurity.net>
114998 Date: Mon Mar 4 17:19:10 2013 -0500
114999
115000 fix compilation error reported on IRC and forums when GRKERNSEC_PROC_USERGROUP
115001 is enabled, introduced with recent userns support
115002
115003 init/main.c | 4 ++--
115004 1 files changed, 2 insertions(+), 2 deletions(-)
115005
115006 commit c3ce01b94d8dd42b9c7942c0d513b152613e0656
115007 Author: Brad Spengler <spender@grsecurity.net>
115008 Date: Sun Mar 3 18:46:12 2013 -0500
115009
115010 Prevent TOMOYO from auto-loading modules by unprivileged users
115011 (Only reachable if TOMOYO is actually used)
115012
115013 security/tomoyo/mount.c | 4 ++++
115014 1 files changed, 4 insertions(+), 0 deletions(-)
115015
115016 commit 79e142f9455b398759ff9d93d4963a21b98dddda
115017 Author: Brad Spengler <spender@grsecurity.net>
115018 Date: Sun Mar 3 18:28:45 2013 -0500
115019
115020 For now, don't permit any special access to /proc in a user namespace
115021 Later we can go back and allow a userns-uid0 special access to a /proc
115022 with a non-global pid namespace
115023
115024 fs/proc/base.c | 2 +-
115025 1 files changed, 1 insertions(+), 1 deletions(-)
115026
115027 commit 8b91fb393049ce5f3c0a86f62247409853fd9700
115028 Merge: d931eb8 603ef05
115029 Author: Brad Spengler <spender@grsecurity.net>
115030 Date: Sun Mar 3 17:42:09 2013 -0500
115031
115032 Merge branch 'pax-test' into grsec-test
115033
115034 commit 603ef0579b9c3765d999c1938cb7a120d8c8e00b
115035 Author: Brad Spengler <spender@grsecurity.net>
115036 Date: Sun Mar 3 17:41:31 2013 -0500
115037
115038 Fix compilation error on ARM reported by Michael Tremer
115039
115040 arch/arm/mach-omap2/wd_timer.c | 6 +++---
115041 1 files changed, 3 insertions(+), 3 deletions(-)
115042
115043 commit b4c9ce81fdd7839a150c97873c710c479e788280
115044 Author: Brad Spengler <spender@grsecurity.net>
115045 Date: Sun Mar 3 17:39:53 2013 -0500
115046
115047 Fix compilation error on ARM reported by Michael Tremer
115048
115049 arch/arm/kernel/armksyms.c | 2 +-
115050 1 files changed, 1 insertions(+), 1 deletions(-)
115051
115052 commit d931eb81ab3da46896268fd61373a6aa7bbea930
115053 Merge: bfa7f44 5948f93
115054 Author: Brad Spengler <spender@grsecurity.net>
115055 Date: Sun Mar 3 17:34:36 2013 -0500
115056
115057 Merge branch 'pax-test' into grsec-test
115058
115059 commit 5948f930bc1c2d22138c1c76ca7e1bc94b6a3ce0
115060 Merge: ab30472 19b00d2
115061 Author: Brad Spengler <spender@grsecurity.net>
115062 Date: Sun Mar 3 17:34:08 2013 -0500
115063
115064 Merge branch 'linux-3.8.y' into pax-test
115065
115066 commit bfa7f445c5d484de51a5828b92ad2ff65053cc87
115067 Author: Brad Spengler <spender@grsecurity.net>
115068 Date: Sun Mar 3 15:12:12 2013 -0500
115069
115070 Initial support for user namespaces, as we previously didn't allow
115071 the option to be enabled at all.
115072
115073 RBAC will act on the global uids/gids only, so all uids/gids in user
115074 namespaces will be converted
115075
115076 Because Eric Biederman is insulted that I didn't support his
115077 backdoor prior to it receiving proper review. I still have the CAP_SYS_ADMIN
115078 check in for user namespaces, so this is generally irrelevant.
115079
115080 fs/exec.c | 6 +-
115081 fs/proc/base.c | 2 +-
115082 fs/proc/proc_net.c | 4 +-
115083 grsecurity/gracl.c | 128 +++++++++++++++++++++++++++++-------------
115084 grsecurity/gracl_cap.c | 4 +-
115085 grsecurity/gracl_ip.c | 16 +++---
115086 grsecurity/gracl_segv.c | 12 +++-
115087 grsecurity/gracl_shm.c | 4 +-
115088 grsecurity/grsec_disabled.c | 10 ++--
115089 grsecurity/grsec_fifo.c | 6 +-
115090 grsecurity/grsec_init.c | 24 ++++----
115091 grsecurity/grsec_log.c | 3 -
115092 grsecurity/grsec_tpe.c | 6 +-
115093 include/linux/grinternal.h | 12 ++--
115094 include/linux/grsecurity.h | 12 ++--
115095 include/linux/uidgid.h | 3 +
115096 init/Kconfig | 2 -
115097 ipc/shm.c | 2 +-
115098 kernel/cred.c | 5 +-
115099 kernel/kallsyms.c | 2 +-
115100 kernel/kmod.c | 6 +-
115101 kernel/sys.c | 12 ++--
115102 22 files changed, 166 insertions(+), 115 deletions(-)
115103
115104 commit 27a8cc1a9f22f95de6fe8740bdc900a160274dff
115105 Author: Linus Torvalds <torvalds@linux-foundation.org>
115106 Date: Wed Feb 27 08:36:04 2013 -0800
115107
115108 Upstream commit: 09884964335e85e897876d17783c2ad33cf8a2e0
115109
115110 mm: do not grow the stack vma just because of an overrun on preceding vma
115111
115112 The stack vma is designed to grow automatically (marked with VM_GROWSUP
115113 or VM_GROWSDOWN depending on architecture) when an access is made beyond
115114 the existing boundary. However, particularly if you have not limited
115115 your stack at all ("ulimit -s unlimited"), this can cause the stack to
115116 grow even if the access was really just one past *another* segment.
115117
115118 And that's wrong, especially since we first grow the segment, but then
115119 immediately later enforce the stack guard page on the last page of the
115120 segment. So _despite_ first growing the stack segment as a result of
115121 the access, the kernel will then make the access cause a SIGSEGV anyway!
115122
115123 So do the same logic as the guard page check does, and consider an
115124 access to within one page of the next segment to be a bad access, rather
115125 than growing the stack to abut the next segment.
115126
115127 Reported-and-tested-by: Heiko Carstens <heiko.carstens@de.ibm.com>
115128 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115129
115130 mm/mmap.c | 27 +++++++++++++++++++++++++++
115131 1 files changed, 27 insertions(+), 0 deletions(-)
115132
115133 commit 5596211af754867ca825f58e6e0300a8439950fe
115134 Author: H. Peter Anvin <hpa@linux.intel.com>
115135 Date: Wed Feb 27 12:46:40 2013 -0800
115136
115137 Upstream commit: 7c10093692ed2e6f318387d96b829320aa0ca64c
115138
115139 x86: Make sure we can boot in the case the BDA contains pure garbage
115140
115141 On non-BIOS platforms it is possible that the BIOS data area contains
115142 garbage instead of being zeroed or something equivalent (firmware
115143 people: we are talking of 1.5K here, so please do the sane thing.)
115144
115145 We need on the order of 20-30K of low memory in order to boot, which
115146 may grow up to < 64K in the future. We probably want to avoid the
115147 lowest of the low memory. At the same time, it seems extremely
115148 unlikely that a legitimate EBDA would ever reach down to the 128K
115149 (which would require it to be over half a megabyte in size.) Thus,
115150 pick 128K as the cutoff for "this is insane, ignore." We may still
115151 end up reserving a bunch of extra memory on the low megabyte, but that
115152 is not really a major issue these days. In the worst case we lose
115153 512K of RAM.
115154
115155 This code really should be merged with trim_bios_range() in
115156 arch/x86/kernel/setup.c, but that is a bigger patch for a later merge
115157 window.
115158
115159 Reported-by: Darren Hart <dvhart@linux.intel.com>
115160 Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
115161 Cc: Matt Fleming <matt.fleming@intel.com>
115162 Cc: <stable@vger.kernel.org>
115163 Link: http://lkml.kernel.org/n/tip-oebml055yyfm8yxmria09rja@git.kernel.org
115164
115165 arch/x86/kernel/head.c | 53 ++++++++++++++++++++++++++++++-----------------
115166 1 files changed, 34 insertions(+), 19 deletions(-)
115167
115168 commit 10eb1dabfb743fb22dcbcf186bb8d2192d2d55ea
115169 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
115170 Date: Wed Feb 27 17:05:46 2013 -0800
115171
115172 Upstream commit: 940da353a83e895ea600cb8ab17dceefb1bcb469
115173
115174 memstick: move the dereference below the NULL test
115175
115176 The dereference should be moved below the NULL test.
115177
115178 spatch with a semantic match is used to found this.
115179 (http://coccinelle.lip6.fr/)
115180
115181 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
115182 Cc: Maxim Levitsky <maximlevitsky@gmail.com>
115183 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
115184 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115185
115186 drivers/memstick/host/r592.c | 3 ++-
115187 1 files changed, 2 insertions(+), 1 deletions(-)
115188
115189 commit 1a63cb1ca50a10748cbf766894ecedf34a89baa3
115190 Author: Xi Wang <xi.wang@gmail.com>
115191 Date: Wed Feb 27 17:05:21 2013 -0800
115192
115193 Upstream commit: df1778be1a33edffa51d094eeda87c858ded6560
115194
115195 sysctl: fix null checking in bin_dn_node_address()
115196
115197 The null check of `strchr() + 1' is broken, which is always non-null,
115198 leading to OOB read. Instead, check the result of strchr().
115199
115200 Signed-off-by: Xi Wang <xi.wang@gmail.com>
115201 Cc: "Eric W. Biederman" <ebiederm@xmission.com>
115202 Cc: <stable@vger.kernel.org>
115203 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
115204 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115205
115206 kernel/sysctl_binary.c | 3 ++-
115207 1 files changed, 2 insertions(+), 1 deletions(-)
115208
115209 commit 7ca96db0817416fd40761e7437d1939fc0731380
115210 Author: Tejun Heo <tj@kernel.org>
115211 Date: Wed Feb 27 17:03:34 2013 -0800
115212
115213 Upstream commit: 6cdae7416a1c45c2ce105a78187d9b7e8feb9e24
115214
115215 idr: fix a subtle bug in idr_get_next()
115216
115217 The iteration logic of idr_get_next() is borrowed mostly verbatim from
115218 idr_for_each(). It walks down the tree looking for the slot matching
115219 the current ID. If the matching slot is not found, the ID is
115220 incremented by the distance of single slot at the given level and
115221 repeats.
115222
115223 The implementation assumes that during the whole iteration id is aligned
115224 to the layer boundaries of the level closest to the leaf, which is true
115225 for all iterations starting from zero or an existing element and thus is
115226 fine for idr_for_each().
115227
115228 However, idr_get_next() may be given any point and if the starting id
115229 hits in the middle of a non-existent layer, increment to the next layer
115230 will end up skipping the same offset into it. For example, an IDR with
115231 IDs filled between [64, 127] would look like the following.
115232
115233 [ 0 64 ... ]
115234 /----/ |
115235 | |
115236 NULL [ 64 ... 127 ]
115237
115238 If idr_get_next() is called with 63 as the starting point, it will try
115239 to follow down the pointer from 0. As it is NULL, it will then try to
115240 proceed to the next slot in the same level by adding the slot distance
115241 at that level which is 64 - making the next try 127. It goes around the
115242 loop and finds and returns 127 skipping [64, 126].
115243
115244 Note that this bug also triggers in idr_for_each_entry() loop which
115245 deletes during iteration as deletions can make layers go away leaving
115246 the iteration with unaligned ID into missing layers.
115247
115248 Fix it by ensuring proceeding to the next slot doesn't carry over the
115249 unaligned offset - ie. use round_up(id + 1, slot_distance) instead of
115250 id += slot_distance.
115251
115252 Signed-off-by: Tejun Heo <tj@kernel.org>
115253 Reported-by: David Teigland <teigland@redhat.com>
115254 Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
115255 Cc: <stable@vger.kernel.org>
115256 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
115257 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115258
115259 lib/idr.c | 9 ++++++++-
115260 1 files changed, 8 insertions(+), 1 deletions(-)
115261
115262 commit 745362f28034f54242ba2e64eaa7374ab9869613
115263 Author: Brad Spengler <spender@grsecurity.net>
115264 Date: Fri Mar 1 20:31:42 2013 -0500
115265
115266 Fix dentry use-after-free after failed complete_walk() with RBAC enabled
115267 Many thanks to zakalwe from #grsecurity for the report and debugging help
115268
115269 fs/namei.c | 8 +++-----
115270 1 files changed, 3 insertions(+), 5 deletions(-)
115271
115272 commit b53b3b14330920c6f7cfb74c8508a3026e1be620
115273 Author: Brad Spengler <spender@grsecurity.net>
115274 Date: Thu Feb 28 18:29:26 2013 -0500
115275
115276 Fix bad git merge
115277
115278 fs/namespace.c | 8 --------
115279 1 files changed, 0 insertions(+), 8 deletions(-)
115280
115281 commit 71886f69ea10fa22e593dba1bdbe5c0334c6fede
115282 Merge: 1cce1dd ab30472
115283 Author: Brad Spengler <spender@grsecurity.net>
115284 Date: Thu Feb 28 17:45:14 2013 -0500
115285
115286 Merge branch 'pax-test' into grsec-test
115287
115288 Conflicts:
115289 net/core/sock_diag.c
115290
115291 commit ab3047280e1dfb43f1b301a296123757b4ac4f6e
115292 Merge: 4b61d21 4c91a0e
115293 Author: Brad Spengler <spender@grsecurity.net>
115294 Date: Thu Feb 28 17:43:56 2013 -0500
115295
115296 Merge branch 'linux-3.8.y' into pax-test
115297
115298 commit 1cce1ddd17c584c80465521834c3faf1a7c607d7
115299 Author: Brad Spengler <spender@grsecurity.net>
115300 Date: Wed Feb 27 22:20:22 2013 -0500
115301
115302 add compiler.h to sysrq.h to fix compilation problem reported by micu on forums
115303
115304 include/linux/sysrq.h | 1 +
115305 1 files changed, 1 insertions(+), 0 deletions(-)
115306
115307 commit 9f1e7fe130803fde83eb903b575335f59cd2bd18
115308 Author: Brad Spengler <spender@grsecurity.net>
115309 Date: Wed Feb 27 17:52:31 2013 -0500
115310
115311 declare check_syslog_permissions() earlier in file, fix bug in syslog_action_restricted() in upstream kernel
115312
115313 kernel/printk.c | 12 +++++++-----
115314 1 files changed, 7 insertions(+), 5 deletions(-)
115315
115316 commit 11dd499888fa76f3466821ce4daa5e0c55e43d39
115317 Author: Brad Spengler <spender@grsecurity.net>
115318 Date: Wed Feb 27 17:23:46 2013 -0500
115319
115320 Fix upstream vulnerability from addition of a /dev/kmsg device
115321 while neglecting to add the same set of existing permission checks
115322 from do_syslog. This bit both dmesg_restrict and GRKERNSEC_DMESG.
115323 A temporary workaround without this patch would be to
115324 chmod 0600 /dev/kmsg (and is likely a good idea anyway).
115325
115326 Notified in #grsecurity IRC by Jason A. Donenfeld and Petr Matousek
115327 Initially reported to Redhat bugzilla by Christian Kujau:
115328 https://bugzilla.redhat.com/show_bug.cgi?id=903192
115329
115330 kernel/printk.c | 4 ++++
115331 1 files changed, 4 insertions(+), 0 deletions(-)
115332
115333 commit 66c04806f5660988c3cb4855e60de294e77e3d0e
115334 Author: David Howells <dhowells@redhat.com>
115335 Date: Thu Feb 21 12:00:25 2013 +0000
115336
115337 Upstream commit: fe9453a1dcb5fb146f9653267e78f4a558066f6f
115338
115339 KEYS: Revert one application of "Fix unreachable code" patch
115340
115341 A patch to fix some unreachable code in search_my_process_keyrings() got
115342 applied twice by two different routes upstream as commits e67eab39bee2
115343 and b010520ab3d2 (both "fix unreachable code").
115344
115345 Unfortunately, the second application removed something it shouldn't
115346 have and this wasn't detected by GIT. This is due to the patch not
115347 having sufficient lines of context to distinguish the two places of
115348 application.
115349
115350 The effect of this is relatively minor: inside the kernel, the keyring
115351 search routines may search multiple keyrings and then prioritise the
115352 errors if no keys or negative keys are found in any of them. With the
115353 extra deletion, the presence of a negative key in the thread keyring
115354 (causing ENOKEY) is incorrectly overridden by an error searching the
115355 process keyring.
115356
115357 So revert the second application of the patch.
115358
115359 Signed-off-by: David Howells <dhowells@redhat.com>
115360 Cc: Jiri Kosina <jkosina@suse.cz>
115361 Cc: Andrew Morton <akpm@linux-foundation.org>
115362 Cc: stable@vger.kernel.org
115363 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115364
115365 security/keys/process_keys.c | 2 ++
115366 1 files changed, 2 insertions(+), 0 deletions(-)
115367
115368 commit 954b0c8a95b08c09c3d15ec38106ce403bf714da
115369 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
115370 Date: Thu Feb 21 16:42:43 2013 -0800
115371
115372 Upstream commit: 49deb4bc227cb9db5b8ebf9434367f8bed057c7a
115373
115374 configfs: move the dereference below the NULL test
115375
115376 The dereference should be moved below the NULL test.
115377
115378 spatch with a semantic match is used to found this.
115379 (http://coccinelle.lip6.fr/)
115380
115381 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
115382 Cc: Joel Becker <jlbec@evilplan.org>
115383 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
115384 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115385
115386 fs/configfs/dir.c | 5 +++--
115387 1 files changed, 3 insertions(+), 2 deletions(-)
115388
115389 commit d16d42c4fdc8baca5816d75b4a115102bf3d3423
115390 Author: Nicolas Pitre <nicolas.pitre@linaro.org>
115391 Date: Sun Feb 24 20:06:09 2013 -0500
115392
115393 Upstream commit: a883b70d8e0a88278c0a1f80753b4dc99962b541
115394
115395 tty vt: fix character insertion overflow
115396
115397 Commit 81732c3b2fed ("tty vt: Fix line garbage in virtual console on
115398 command line edition") broke insert_char() in multiple ways. Then
115399 commit b1a925f44a3a ("tty vt: Fix a regression in command line edition")
115400 partially fixed it. However, the buffer being moved is still too large
115401 and overflowing beyond the end of the current line, corrupting existing
115402 characters on the next line.
115403
115404 Example test case:
115405
115406 echo -e "abc\nde\x1b[A\x1b[4h \x1b[4l\x1b[B"
115407
115408 Expected result:
115409
115410 ab c
115411 de
115412
115413 Current result:
115414
115415 ab c
115416 e
115417
115418 Needless to say that this is very annoying when inserting words in the
115419 middle of paragraphs with certain text editors.
115420
115421 Signed-off-by: Nicolas Pitre <nico@linaro.org>
115422 Cc: Jean-François Moine <moinejf@free.fr>
115423 Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
115424 Cc: <stable@vger.kernel.org>
115425 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115426
115427 drivers/tty/vt/vt.c | 2 +-
115428 1 files changed, 1 insertions(+), 1 deletions(-)
115429
115430 commit 6cda35071669b4aabde081bd039e0ffea36f997a
115431 Author: Robin Holt <holt@sgi.com>
115432 Date: Fri Feb 22 16:35:34 2013 -0800
115433
115434 Upstream commit: 751efd8610d3d7d67b7bdf7f62646edea7365dd7
115435
115436 mmu_notifier_unregister NULL Pointer deref and multiple ->release() callouts
115437
115438 There is a race condition between mmu_notifier_unregister() and
115439 __mmu_notifier_release().
115440
115441 Assume two tasks, one calling mmu_notifier_unregister() as a result of a
115442 filp_close() ->flush() callout (task A), and the other calling
115443 mmu_notifier_release() from an mmput() (task B).
115444
115445 A B
115446 t1 srcu_read_lock()
115447 t2 if (!hlist_unhashed())
115448 t3 srcu_read_unlock()
115449 t4 srcu_read_lock()
115450 t5 hlist_del_init_rcu()
115451 t6 synchronize_srcu()
115452 t7 srcu_read_unlock()
115453 t8 hlist_del_rcu() <--- NULL pointer deref.
115454
115455 Additionally, the list traversal in __mmu_notifier_release() is not
115456 protected by the by the mmu_notifier_mm->hlist_lock which can result in
115457 callouts to the ->release() notifier from both mmu_notifier_unregister()
115458 and __mmu_notifier_release().
115459
115460 -stable suggestions:
115461
115462 The stable trees prior to 3.7.y need commits 21a92735f660 and
115463 70400303ce0c cherry-picked in that order prior to cherry-picking this
115464 commit. The 3.7.y tree already has those two commits.
115465
115466 Signed-off-by: Robin Holt <holt@sgi.com>
115467 Cc: Andrea Arcangeli <aarcange@redhat.com>
115468 Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
115469 Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
115470 Cc: Avi Kivity <avi@redhat.com>
115471 Cc: Hugh Dickins <hughd@google.com>
115472 Cc: Marcelo Tosatti <mtosatti@redhat.com>
115473 Cc: Sagi Grimberg <sagig@mellanox.co.il>
115474 Cc: Haggai Eran <haggaie@mellanox.com>
115475 Cc: <stable@vger.kernel.org>
115476 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
115477 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115478
115479 mm/mmu_notifier.c | 82 +++++++++++++++++++++++++++--------------------------
115480 1 files changed, 42 insertions(+), 40 deletions(-)
115481
115482 commit bf5167ed78ba6131c6874887f714bda50c2cab83
115483 Author: Mike Galbraith <bitbucket@online.de>
115484 Date: Mon Jan 28 12:19:25 2013 +0100
115485
115486 Upstream commit: e0a79f529d5ba2507486d498b25da40911d95cf6
115487
115488 sched: Fix select_idle_sibling() bouncing cow syndrome
115489
115490 If the previous CPU is cache affine and idle, select it.
115491
115492 The current implementation simply traverses the sd_llc domain,
115493 taking the first idle CPU encountered, which walks buddy pairs
115494 hand in hand over the package, inflicting excruciating pain.
115495
115496 1 tbench pair (worst case) in a 10 core + SMT package:
115497
115498 pre 15.22 MB/sec 1 procs
115499 post 252.01 MB/sec 1 procs
115500
115501 Signed-off-by: Mike Galbraith <bitbucket@online.de>
115502 Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
115503 Link: http://lkml.kernel.org/r/1359371965.5783.127.camel@marge.simpson.net
115504 Signed-off-by: Ingo Molnar <mingo@kernel.org>
115505
115506 kernel/sched/fair.c | 21 +++++++--------------
115507 1 files changed, 7 insertions(+), 14 deletions(-)
115508
115509 commit cf7c2d257836fdcb5d51ad142cbc56ac12f7a37c
115510 Author: Eric W. Biederman <ebiederm@xmission.com>
115511 Date: Fri Dec 28 18:58:39 2012 -0800
115512
115513 Upstream commit: c61a2810a2161986353705b44d9503e6bb079f4f
115514
115515 userns: Avoid recursion in put_user_ns
115516
115517 When freeing a deeply nested user namespace free_user_ns calls
115518 put_user_ns on it's parent which may in turn call free_user_ns again.
115519 When -fno-optimize-sibling-calls is passed to gcc one stack frame per
115520 user namespace is left on the stack, potentially overflowing the
115521 kernel stack. CONFIG_FRAME_POINTER forces -fno-optimize-sibling-calls
115522 so we can't count on gcc to optimize this code.
115523
115524 Remove struct kref and use a plain atomic_t. Making the code more
115525 flexible and easier to comprehend. Make the loop in free_user_ns
115526 explict to guarantee that the stack does not overflow with
115527 CONFIG_FRAME_POINTER enabled.
115528
115529 I have tested this fix with a simple program that uses unshare to
115530 create a deeply nested user namespace structure and then calls exit.
115531 With 1000 nesteuser namespaces before this change running my test
115532 program causes the kernel to die a horrible death. With 10,000,000
115533 nested user namespaces after this change my test program runs to
115534 completion and causes no harm.
115535
115536 Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
115537 Pointed-out-by: Vasily Kulikov <segoon@openwall.com>
115538 Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
115539
115540 include/linux/user_namespace.h | 10 +++++-----
115541 kernel/user.c | 4 +---
115542 kernel/user_namespace.c | 17 +++++++++--------
115543 3 files changed, 15 insertions(+), 16 deletions(-)
115544
115545 commit 81501c7106ccc186c94806f4db954626295b5ebe
115546 Author: Brad Spengler <spender@grsecurity.net>
115547 Date: Tue Feb 26 17:12:30 2013 -0500
115548
115549 Pass the same flags to kern_path_create as the original function
115550
115551 fs/namei.c | 4 ++--
115552 1 files changed, 2 insertions(+), 2 deletions(-)
115553
115554 commit a677c8eee35afe48868f92c7d6745bfe809cd481
115555 Author: Al Viro <viro@zeniv.linux.org.uk>
115556 Date: Fri Feb 22 22:45:42 2013 -0500
115557
115558 Upstream commit: 9b40bc90abd126bcc5da5658059b8e72e285e559
115559
115560 get rid of unprotected dereferencing of mnt->mnt_ns
115561
115562 It's safe only under namespace_sem or vfsmount_lock; all places
115563 in fs/namespace.c that want mnt->mnt_ns->user_ns actually want to use
115564 current->nsproxy->mnt_ns->user_ns (note the calls of check_mnt() in
115565 there).
115566
115567 Cc: stable@vger.kernel.org
115568 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
115569
115570 fs/namespace.c | 29 +++++++++++++++++------------
115571 1 files changed, 17 insertions(+), 12 deletions(-)
115572
115573 commit 89298124d0c96dc34a60377e7a1308f8f532ff75
115574 Author: Greg Thelen <gthelen@google.com>
115575 Date: Fri Feb 22 16:36:01 2013 -0800
115576
115577 Upstream fix: 5f00110f7273f9ff04ac69a5f85bb535a4fd0987
115578
115579 tmpfs: fix use-after-free of mempolicy object
115580
115581 The tmpfs remount logic preserves filesystem mempolicy if the mpol=M
115582 option is not specified in the remount request. A new policy can be
115583 specified if mpol=M is given.
115584
115585 Before this patch remounting an mpol bound tmpfs without specifying
115586 mpol= mount option in the remount request would set the filesystem's
115587 mempolicy object to a freed mempolicy object.
115588
115589 To reproduce the problem boot a DEBUG_PAGEALLOC kernel and run:
115590 # mkdir /tmp/x
115591
115592 # mount -t tmpfs -o size=100M,mpol=interleave nodev /tmp/x
115593
115594 # grep /tmp/x /proc/mounts
115595 nodev /tmp/x tmpfs rw,relatime,size=102400k,mpol=interleave:0-3 0 0
115596
115597 # mount -o remount,size=200M nodev /tmp/x
115598
115599 # grep /tmp/x /proc/mounts
115600 nodev /tmp/x tmpfs rw,relatime,size=204800k,mpol=??? 0 0
115601 # note ? garbage in mpol=... output above
115602
115603 # dd if=/dev/zero of=/tmp/x/f count=1
115604 # panic here
115605
115606 Panic:
115607 BUG: unable to handle kernel NULL pointer dereference at (null)
115608 IP: [< (null)>] (null)
115609 [...]
115610 Oops: 0010 [#1] SMP DEBUG_PAGEALLOC
115611 Call Trace:
115612 mpol_shared_policy_init+0xa5/0x160
115613 shmem_get_inode+0x209/0x270
115614 shmem_mknod+0x3e/0xf0
115615 shmem_create+0x18/0x20
115616 vfs_create+0xb5/0x130
115617 do_last+0x9a1/0xea0
115618 path_openat+0xb3/0x4d0
115619 do_filp_open+0x42/0xa0
115620 do_sys_open+0xfe/0x1e0
115621 compat_sys_open+0x1b/0x20
115622 cstar_dispatch+0x7/0x1f
115623
115624 Non-debug kernels will not crash immediately because referencing the
115625 dangling mpol will not cause a fault. Instead the filesystem will
115626 reference a freed mempolicy object, which will cause unpredictable
115627 behavior.
115628
115629 The problem boils down to a dropped mpol reference below if
115630 shmem_parse_options() does not allocate a new mpol:
115631
115632 config = *sbinfo
115633 shmem_parse_options(data, &config, true)
115634 mpol_put(sbinfo->mpol)
115635 sbinfo->mpol = config.mpol /* BUG: saves unreferenced mpol */
115636
115637 This patch avoids the crash by not releasing the mempolicy if
115638 shmem_parse_options() doesn't create a new mpol.
115639
115640 How far back does this issue go? I see it in both 2.6.36 and 3.3. I did
115641 not look back further.
115642
115643 Signed-off-by: Greg Thelen <gthelen@google.com>
115644 Acked-by: Hugh Dickins <hughd@google.com>
115645 Cc: <stable@vger.kernel.org>
115646 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
115647 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
115648
115649 mm/shmem.c | 10 ++++++++--
115650 1 files changed, 8 insertions(+), 2 deletions(-)
115651
115652 commit 614943c76d9e49f12f3e1154f1dea80dc4bb2743
115653 Author: Brad Spengler <spender@grsecurity.net>
115654 Date: Sat Feb 23 11:08:05 2013 -0500
115655
115656 Userland can send a netlink message requesting SOCK_DIAG_BY_FAMILY
115657 with a family greater or equal then AF_MAX -- the array size of
115658 sock_diag_handlers[]. The current code does not test for this
115659 condition therefore is vulnerable to an out-of-bound access opening
115660 doors for a privilege escalation.
115661
115662 Signed-off-by: Mathias Krause <minipli@googlemail.com>
115663
115664 The sock_diag_lock_handler() and sock_diag_unlock_handler() actually
115665 make the code less readable. Get rid of them and make the lock usage
115666 and access to sock_diag_handlers[] clear on the first sight.
115667
115668 Signed-off-by: Mathias Krause <minipli@googlemail.com>
115669
115670 net/core/sock_diag.c | 27 ++++++++++-----------------
115671 1 files changed, 10 insertions(+), 17 deletions(-)
115672
115673 commit e8d44970f8ac5ceda7b0e3f2c2ab33cefb800990
115674 Author: Brad Spengler <spender@grsecurity.net>
115675 Date: Sat Feb 23 10:58:52 2013 -0500
115676
115677 Fix compilation failure reported by Hinnerk van Bruinehsen when CPU_USE_DOMAINS is not defined
115678
115679 arch/arm/include/asm/domain.h | 1 +
115680 1 files changed, 1 insertions(+), 0 deletions(-)
115681
115682 commit 7b729586eb81f344fdedf0942fab0acc738a6725
115683 Author: Brad Spengler <spender@grsecurity.net>
115684 Date: Fri Feb 22 19:02:51 2013 -0500
115685
115686 Add back capability check for user namespaces. They have not seen enough proper review and needlessly exposes additional attack surface for all users.
115687
115688 kernel/fork.c | 17 +++++++++++++++++
115689 1 files changed, 17 insertions(+), 0 deletions(-)
115690
115691 commit fadc560d0c486af88da83177735f5515e88acdcc
115692 Author: Brad Spengler <spender@grsecurity.net>
115693 Date: Thu Feb 21 23:06:48 2013 -0500
115694
115695 put is_hugetlbfs_mnt inside ifdefs
115696
115697 grsecurity/gracl.c | 2 ++
115698 1 files changed, 2 insertions(+), 0 deletions(-)
115699
115700 commit 8252176922d405484f986eb2cc350b7cd3ae586e
115701 Author: Brad Spengler <spender@grsecurity.net>
115702 Date: Thu Feb 21 23:02:07 2013 -0500
115703
115704 remove unused label
115705
115706 kernel/module.c | 1 -
115707 1 files changed, 0 insertions(+), 1 deletions(-)
115708
115709 commit dad4a980f0b625059e215d13da728aa7fd02a374
115710 Author: Brad Spengler <spender@grsecurity.net>
115711 Date: Thu Feb 21 23:00:52 2013 -0500
115712
115713 compile fix
115714
115715 fs/open.c | 2 +-
115716 1 files changed, 1 insertions(+), 1 deletions(-)
115717
115718 commit 13e3266c41b98a40f3d8a4a7fb8ee5c0983156b7
115719 Author: Brad Spengler <spender@grsecurity.net>
115720 Date: Thu Feb 21 22:57:49 2013 -0500
115721
115722 remove kmalloc_array_error for the same reasons as kcalloc_error
115723
115724 include/linux/slab.h | 9 ---------
115725 1 files changed, 0 insertions(+), 9 deletions(-)
115726
115727 commit 0c24df0e81ae880c4523cc78ff91609b9aa6133a
115728 Author: Brad Spengler <spender@grsecurity.net>
115729 Date: Thu Feb 21 22:49:35 2013 -0500
115730
115731 Initial port of grsecurity for Linux 3.8
115732
115733 Documentation/kernel-parameters.txt | 4 +
115734 Makefile | 10 +-
115735 arch/alpha/include/asm/cache.h | 4 +-
115736 arch/alpha/kernel/osf_sys.c | 14 +-
115737 arch/arm/include/asm/cache.h | 2 +
115738 arch/arm/include/asm/thread_info.h | 9 +-
115739 arch/arm/kernel/process.c | 4 +-
115740 arch/arm/kernel/ptrace.c | 9 +
115741 arch/arm/kernel/traps.c | 7 +-
115742 arch/arm/mm/fault.c | 27 +-
115743 arch/arm/mm/mmap.c | 6 +-
115744 arch/avr32/include/asm/cache.h | 4 +-
115745 arch/blackfin/include/asm/cache.h | 3 +-
115746 arch/cris/include/arch-v10/arch/cache.h | 3 +-
115747 arch/cris/include/arch-v32/arch/cache.h | 3 +-
115748 arch/frv/include/asm/cache.h | 3 +-
115749 arch/frv/mm/elf-fdpic.c | 7 +-
115750 arch/hexagon/include/asm/cache.h | 6 +-
115751 arch/ia64/include/asm/cache.h | 3 +-
115752 arch/ia64/kernel/sys_ia64.c | 3 +-
115753 arch/ia64/mm/hugetlbpage.c | 3 +-
115754 arch/m32r/include/asm/cache.h | 4 +-
115755 arch/m68k/include/asm/cache.h | 4 +-
115756 arch/microblaze/include/asm/cache.h | 3 +-
115757 arch/mips/include/asm/cache.h | 3 +-
115758 arch/mips/include/asm/thread_info.h | 9 +-
115759 arch/mips/kernel/ptrace.c | 9 +
115760 arch/mips/kernel/scall32-o32.S | 2 +-
115761 arch/mips/kernel/scall64-64.S | 2 +-
115762 arch/mips/kernel/scall64-n32.S | 2 +-
115763 arch/mips/kernel/scall64-o32.S | 2 +-
115764 arch/mips/mm/mmap.c | 3 +-
115765 arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +-
115766 arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +-
115767 arch/openrisc/include/asm/cache.h | 4 +-
115768 arch/parisc/include/asm/cache.h | 5 +-
115769 arch/parisc/kernel/sys_parisc.c | 19 +-
115770 arch/powerpc/include/asm/cache.h | 3 +-
115771 arch/powerpc/include/asm/thread_info.h | 8 +-
115772 arch/powerpc/kernel/process.c | 10 +-
115773 arch/powerpc/kernel/ptrace.c | 14 +
115774 arch/powerpc/kernel/traps.c | 5 +
115775 arch/powerpc/mm/slice.c | 8 +-
115776 arch/s390/include/asm/cache.h | 4 +-
115777 arch/score/include/asm/cache.h | 4 +-
115778 arch/sh/include/asm/cache.h | 3 +-
115779 arch/sh/mm/mmap.c | 6 +-
115780 arch/sparc/include/asm/cache.h | 4 +-
115781 arch/sparc/include/asm/thread_info_64.h | 9 +-
115782 arch/sparc/kernel/process_32.c | 6 +-
115783 arch/sparc/kernel/process_64.c | 8 +-
115784 arch/sparc/kernel/ptrace_64.c | 14 +
115785 arch/sparc/kernel/sys_sparc_64.c | 6 +-
115786 arch/sparc/kernel/syscalls.S | 8 +-
115787 arch/sparc/kernel/traps_32.c | 8 +-
115788 arch/sparc/kernel/traps_64.c | 28 +-
115789 arch/sparc/kernel/unaligned_64.c | 2 +-
115790 arch/sparc/mm/fault_64.c | 2 +-
115791 arch/sparc/mm/hugetlbpage.c | 3 +-
115792 arch/tile/include/asm/cache.h | 3 +-
115793 arch/um/include/asm/cache.h | 3 +-
115794 arch/unicore32/include/asm/cache.h | 6 +-
115795 arch/x86/Kconfig | 5 +-
115796 arch/x86/Kconfig.debug | 2 +-
115797 arch/x86/ia32/ia32_aout.c | 2 +
115798 arch/x86/include/asm/thread_info.h | 8 +-
115799 arch/x86/kernel/dumpstack.c | 8 +
115800 arch/x86/kernel/entry_32.S | 2 +-
115801 arch/x86/kernel/entry_64.S | 2 +-
115802 arch/x86/kernel/ioport.c | 13 +
115803 arch/x86/kernel/ptrace.c | 14 +
115804 arch/x86/kernel/smpboot.c | 3 +
115805 arch/x86/kernel/sys_i386_32.c | 14 +-
115806 arch/x86/kernel/sys_x86_64.c | 3 +-
115807 arch/x86/kernel/verify_cpu.S | 1 +
115808 arch/x86/kernel/vm86_32.c | 16 +
115809 arch/x86/mm/fault.c | 12 +-
115810 arch/x86/mm/hugetlbpage.c | 3 +-
115811 arch/x86/mm/init.c | 66 +-
115812 arch/x86/net/bpf_jit_comp.c | 126 +-
115813 arch/xtensa/variants/dc232b/include/variant/core.h | 2 +-
115814 arch/xtensa/variants/fsf/include/variant/core.h | 3 +-
115815 arch/xtensa/variants/s6000/include/variant/core.h | 3 +-
115816 crypto/ablkcipher.c | 12 +-
115817 crypto/aead.c | 9 +-
115818 crypto/ahash.c | 2 +-
115819 crypto/blkcipher.c | 6 +-
115820 crypto/crypto_user.c | 38 +-
115821 crypto/pcompress.c | 3 +-
115822 crypto/rng.c | 2 +-
115823 crypto/shash.c | 3 +-
115824 drivers/block/cciss.c | 2 +
115825 drivers/char/Kconfig | 4 +-
115826 drivers/char/genrtc.c | 1 +
115827 drivers/char/mem.c | 17 +
115828 drivers/char/random.c | 12 +
115829 drivers/gpu/drm/drm_info.c | 4 +
115830 drivers/hid/hid-wiimote-debug.c | 2 +-
115831 drivers/media/radio/radio-cadet.c | 2 +-
115832 drivers/message/fusion/mptbase.c | 5 +
115833 drivers/net/phy/mdio-bitbang.c | 1 +
115834 drivers/pci/proc.c | 9 +
115835 drivers/rtc/rtc-dev.c | 3 +
115836 drivers/tty/sysrq.c | 2 +-
115837 drivers/tty/vt/keyboard.c | 22 +-
115838 drivers/video/logo/logo_linux_clut224.ppm | 2721 ++++++--------
115839 drivers/xen/xenfs/xenstored.c | 5 +
115840 fs/attr.c | 1 +
115841 fs/autofs4/waitq.c | 9 +
115842 fs/binfmt_aout.c | 7 +
115843 fs/binfmt_elf.c | 6 +
115844 fs/btrfs/inode.c | 10 +-
115845 fs/btrfs/ioctl.c | 6 +-
115846 fs/compat.c | 18 +
115847 fs/coredump.c | 10 +-
115848 fs/debugfs/inode.c | 4 +
115849 fs/exec.c | 155 +-
115850 fs/ext2/balloc.c | 4 +-
115851 fs/ext3/balloc.c | 4 +-
115852 fs/ext4/balloc.c | 4 +-
115853 fs/fcntl.c | 5 +
115854 fs/file.c | 4 +
115855 fs/filesystems.c | 5 +
115856 fs/fs_struct.c | 26 +-
115857 fs/hugetlbfs/inode.c | 5 +-
115858 fs/namei.c | 269 ++-
115859 fs/namespace.c | 24 +
115860 fs/open.c | 38 +
115861 fs/pipe.c | 2 +-
115862 fs/proc/Kconfig | 10 +-
115863 fs/proc/array.c | 59 +-
115864 fs/proc/base.c | 168 +-
115865 fs/proc/cmdline.c | 4 +
115866 fs/proc/devices.c | 4 +
115867 fs/proc/fd.c | 17 +-
115868 fs/proc/inode.c | 17 +
115869 fs/proc/internal.h | 3 +
115870 fs/proc/kcore.c | 3 +
115871 fs/proc/proc_net.c | 12 +
115872 fs/proc/proc_sysctl.c | 43 +-
115873 fs/proc/root.c | 8 +
115874 fs/proc/task_mmu.c | 75 +-
115875 fs/readdir.c | 19 +
115876 fs/select.c | 2 +
115877 fs/seq_file.c | 12 +-
115878 fs/stat.c | 19 +-
115879 fs/sysfs/dir.c | 12 +
115880 fs/utimes.c | 7 +
115881 fs/xattr.c | 19 +-
115882 grsecurity/Kconfig | 1021 +++++
115883 grsecurity/Makefile | 38 +
115884 grsecurity/gracl.c | 4017 ++++++++++++++++++++
115885 grsecurity/gracl_alloc.c | 105 +
115886 grsecurity/gracl_cap.c | 110 +
115887 grsecurity/gracl_fs.c | 431 +++
115888 grsecurity/gracl_ip.c | 384 ++
115889 grsecurity/gracl_learn.c | 207 +
115890 grsecurity/gracl_res.c | 68 +
115891 grsecurity/gracl_segv.c | 299 ++
115892 grsecurity/gracl_shm.c | 40 +
115893 grsecurity/grsec_chdir.c | 19 +
115894 grsecurity/grsec_chroot.c | 357 ++
115895 grsecurity/grsec_disabled.c | 434 +++
115896 grsecurity/grsec_exec.c | 174 +
115897 grsecurity/grsec_fifo.c | 24 +
115898 grsecurity/grsec_fork.c | 23 +
115899 grsecurity/grsec_init.c | 283 ++
115900 grsecurity/grsec_link.c | 58 +
115901 grsecurity/grsec_log.c | 329 ++
115902 grsecurity/grsec_mem.c | 40 +
115903 grsecurity/grsec_mount.c | 62 +
115904 grsecurity/grsec_pax.c | 36 +
115905 grsecurity/grsec_ptrace.c | 30 +
115906 grsecurity/grsec_sig.c | 222 ++
115907 grsecurity/grsec_sock.c | 244 ++
115908 grsecurity/grsec_sysctl.c | 469 +++
115909 grsecurity/grsec_time.c | 16 +
115910 grsecurity/grsec_tpe.c | 73 +
115911 grsecurity/grsum.c | 61 +
115912 include/linux/capability.h | 5 +
115913 include/linux/cred.h | 3 +
115914 include/linux/fs.h | 10 +
115915 include/linux/fsnotify.h | 6 +
115916 include/linux/gracl.h | 319 ++
115917 include/linux/gralloc.h | 9 +
115918 include/linux/grdefs.h | 140 +
115919 include/linux/grinternal.h | 215 ++
115920 include/linux/grmsg.h | 111 +
115921 include/linux/grsecurity.h | 257 ++
115922 include/linux/grsock.h | 19 +
115923 include/linux/kallsyms.h | 14 +-
115924 include/linux/kmod.h | 2 +
115925 include/linux/netfilter/xt_gradm.h | 9 +
115926 include/linux/printk.h | 3 +-
115927 include/linux/proc_fs.h | 12 +
115928 include/linux/sched.h | 66 +-
115929 include/linux/security.h | 1 +
115930 include/linux/seq_file.h | 3 +
115931 include/linux/shm.h | 4 +
115932 include/linux/sysctl.h | 2 +
115933 include/linux/thread_info.h | 2 +
115934 include/linux/vermagic.h | 9 +-
115935 include/trace/events/fs.h | 53 +
115936 include/uapi/linux/personality.h | 1 +
115937 init/Kconfig | 5 +-
115938 init/main.c | 14 +
115939 ipc/mqueue.c | 1 +
115940 ipc/shm.c | 28 +
115941 kernel/capability.c | 39 +-
115942 kernel/cgroup.c | 2 +-
115943 kernel/compat.c | 1 +
115944 kernel/configs.c | 11 +
115945 kernel/cred.c | 109 +-
115946 kernel/exit.c | 10 +-
115947 kernel/fork.c | 24 +-
115948 kernel/futex.c | 1 +
115949 kernel/kallsyms.c | 9 +
115950 kernel/kcmp.c | 4 +
115951 kernel/kmod.c | 71 +-
115952 kernel/kprobes.c | 4 +-
115953 kernel/ksysfs.c | 2 +
115954 kernel/lockdep_proc.c | 10 +-
115955 kernel/module.c | 80 +-
115956 kernel/panic.c | 4 +-
115957 kernel/pid.c | 19 +-
115958 kernel/posix-timers.c | 8 +
115959 kernel/printk.c | 5 +
115960 kernel/ptrace.c | 20 +-
115961 kernel/resource.c | 10 +
115962 kernel/sched/core.c | 6 +-
115963 kernel/signal.c | 37 +-
115964 kernel/sys.c | 38 +-
115965 kernel/sysctl.c | 39 +-
115966 kernel/taskstats.c | 6 +
115967 kernel/time.c | 5 +
115968 kernel/time/timekeeping.c | 3 +
115969 kernel/time/timer_list.c | 12 +
115970 kernel/time/timer_stats.c | 10 +-
115971 lib/Kconfig.debug | 5 +-
115972 lib/is_single_threaded.c | 3 +
115973 lib/vsprintf.c | 35 +-
115974 localversion-grsec | 1 +
115975 mm/Kconfig | 4 +-
115976 mm/filemap.c | 1 +
115977 mm/kmemleak.c | 4 +-
115978 mm/mempolicy.c | 12 +-
115979 mm/migrate.c | 3 +-
115980 mm/mlock.c | 3 +
115981 mm/mmap.c | 62 +-
115982 mm/mprotect.c | 8 +
115983 mm/page_alloc.c | 6 +
115984 mm/process_vm_access.c | 6 +
115985 mm/shmem.c | 2 +-
115986 mm/slab.c | 2 +-
115987 mm/slub.c | 14 +-
115988 mm/vmalloc.c | 4 +
115989 mm/vmstat.c | 18 +-
115990 net/core/dev.c | 9 +
115991 net/core/sock_diag.c | 7 +
115992 net/ipv4/inet_hashtables.c | 5 +
115993 net/ipv4/ip_sockglue.c | 3 +-
115994 net/ipv4/tcp_input.c | 4 +-
115995 net/ipv4/tcp_ipv4.c | 24 +-
115996 net/ipv4/tcp_minisocks.c | 9 +-
115997 net/ipv4/tcp_timer.c | 11 +
115998 net/ipv4/udp.c | 24 +
115999 net/ipv6/tcp_ipv6.c | 23 +-
116000 net/ipv6/udp.c | 7 +
116001 net/netfilter/Kconfig | 10 +
116002 net/netfilter/Makefile | 1 +
116003 net/netfilter/nf_conntrack_core.c | 8 +
116004 net/netfilter/xt_gradm.c | 51 +
116005 net/netrom/af_netrom.c | 2 +-
116006 net/phonet/af_phonet.c | 4 +-
116007 net/sctp/proc.c | 3 +-
116008 net/socket.c | 62 +-
116009 net/sysctl_net.c | 2 +-
116010 net/unix/af_unix.c | 19 +
116011 security/Kconfig | 320 ++-
116012 security/apparmor/lsm.c | 2 +-
116013 security/commoncap.c | 29 +
116014 security/min_addr.c | 2 +
116015 security/security.c | 2 -
116016 security/selinux/hooks.c | 2 -
116017 security/yama/Kconfig | 2 +-
116018 tools/gcc/Makefile | 2 +-
116019 286 files changed, 15083 insertions(+), 2067 deletions(-)
116020
116021 commit 4b61d2188de70da9dc9b3e67fc0565077370eb27
116022 Author: Brad Spengler <spender@grsecurity.net>
116023 Date: Wed Feb 20 21:00:42 2013 -0500
116024
116025 Initial import of pax-linux-3.8-test3.patch
116026
116027 Documentation/dontdiff | 43 +-
116028 Documentation/kernel-parameters.txt | 7 +
116029 Makefile | 97 +-
116030 arch/alpha/include/asm/atomic.h | 10 +
116031 arch/alpha/include/asm/elf.h | 7 +
116032 arch/alpha/include/asm/pgalloc.h | 6 +
116033 arch/alpha/include/asm/pgtable.h | 11 +
116034 arch/alpha/kernel/module.c | 2 +-
116035 arch/alpha/kernel/osf_sys.c | 10 +-
116036 arch/alpha/mm/fault.c | 141 +-
116037 arch/arm/Kconfig | 2 +-
116038 arch/arm/include/asm/atomic.h | 421 +++-
116039 arch/arm/include/asm/cache.h | 3 +-
116040 arch/arm/include/asm/cacheflush.h | 2 +-
116041 arch/arm/include/asm/checksum.h | 14 +-
116042 arch/arm/include/asm/cmpxchg.h | 2 +
116043 arch/arm/include/asm/delay.h | 8 +-
116044 arch/arm/include/asm/domain.h | 32 +-
116045 arch/arm/include/asm/elf.h | 13 +-
116046 arch/arm/include/asm/fncpy.h | 2 +
116047 arch/arm/include/asm/futex.h | 10 +
116048 arch/arm/include/asm/kmap_types.h | 2 +-
116049 arch/arm/include/asm/mach/dma.h | 2 +-
116050 arch/arm/include/asm/mach/map.h | 7 +-
116051 arch/arm/include/asm/outercache.h | 2 +-
116052 arch/arm/include/asm/page.h | 2 +-
116053 arch/arm/include/asm/pgalloc.h | 22 +-
116054 arch/arm/include/asm/pgtable-2level-hwdef.h | 5 +
116055 arch/arm/include/asm/pgtable-2level.h | 1 +
116056 arch/arm/include/asm/pgtable-3level-hwdef.h | 4 +
116057 arch/arm/include/asm/pgtable-3level.h | 2 +
116058 arch/arm/include/asm/pgtable.h | 56 +-
116059 arch/arm/include/asm/proc-fns.h | 2 +-
116060 arch/arm/include/asm/processor.h | 5 +-
116061 arch/arm/include/asm/smp.h | 2 +-
116062 arch/arm/include/asm/thread_info.h | 6 +-
116063 arch/arm/include/asm/uaccess.h | 92 +-
116064 arch/arm/include/uapi/asm/ptrace.h | 2 +-
116065 arch/arm/kernel/armksyms.c | 4 +-
116066 arch/arm/kernel/entry-armv.S | 107 +-
116067 arch/arm/kernel/entry-common.S | 41 +-
116068 arch/arm/kernel/entry-header.S | 60 +
116069 arch/arm/kernel/fiq.c | 2 +
116070 arch/arm/kernel/head.S | 6 +-
116071 arch/arm/kernel/hw_breakpoint.c | 2 +-
116072 arch/arm/kernel/module.c | 29 +-
116073 arch/arm/kernel/perf_event_cpu.c | 2 +-
116074 arch/arm/kernel/process.c | 10 +-
116075 arch/arm/kernel/setup.c | 22 +-
116076 arch/arm/kernel/smp.c | 2 +-
116077 arch/arm/kernel/traps.c | 8 +-
116078 arch/arm/kernel/vmlinux.lds.S | 20 +-
116079 arch/arm/lib/clear_user.S | 6 +-
116080 arch/arm/lib/copy_from_user.S | 6 +-
116081 arch/arm/lib/copy_page.S | 1 +
116082 arch/arm/lib/copy_to_user.S | 6 +-
116083 arch/arm/lib/csumpartialcopyuser.S | 4 +-
116084 arch/arm/lib/delay.c | 14 +-
116085 arch/arm/lib/uaccess_with_memcpy.c | 2 +-
116086 arch/arm/mach-kirkwood/common.c | 19 +-
116087 arch/arm/mach-omap2/board-n8x0.c | 2 +-
116088 arch/arm/mach-omap2/omap-wakeupgen.c | 2 +-
116089 arch/arm/mach-omap2/omap_hwmod.c | 4 +-
116090 arch/arm/mach-ux500/include/mach/setup.h | 7 -
116091 arch/arm/mm/Kconfig | 3 +-
116092 arch/arm/mm/fault.c | 78 +
116093 arch/arm/mm/fault.h | 12 +
116094 arch/arm/mm/init.c | 41 +
116095 arch/arm/mm/ioremap.c | 4 +-
116096 arch/arm/mm/mmap.c | 36 +-
116097 arch/arm/mm/mmu.c | 186 +-
116098 arch/arm/mm/proc-v7-2level.S | 3 +
116099 arch/arm/plat-omap/sram.c | 2 +
116100 arch/arm/plat-orion/include/plat/addr-map.h | 2 +-
116101 arch/arm/plat-samsung/include/plat/dma-ops.h | 2 +-
116102 arch/arm64/kernel/debug-monitors.c | 2 +-
116103 arch/arm64/kernel/hw_breakpoint.c | 2 +-
116104 arch/avr32/include/asm/elf.h | 8 +-
116105 arch/avr32/include/asm/kmap_types.h | 4 +-
116106 arch/avr32/mm/fault.c | 27 +
116107 arch/frv/include/asm/atomic.h | 10 +
116108 arch/frv/include/asm/kmap_types.h | 2 +-
116109 arch/frv/mm/elf-fdpic.c | 7 +-
116110 arch/ia64/include/asm/atomic.h | 10 +
116111 arch/ia64/include/asm/elf.h | 7 +
116112 arch/ia64/include/asm/pgalloc.h | 12 +
116113 arch/ia64/include/asm/pgtable.h | 13 +-
116114 arch/ia64/include/asm/spinlock.h | 2 +-
116115 arch/ia64/include/asm/uaccess.h | 28 +-
116116 arch/ia64/kernel/err_inject.c | 2 +-
116117 arch/ia64/kernel/mca.c | 2 +-
116118 arch/ia64/kernel/module.c | 48 +-
116119 arch/ia64/kernel/palinfo.c | 2 +-
116120 arch/ia64/kernel/salinfo.c | 2 +-
116121 arch/ia64/kernel/sys_ia64.c | 13 +-
116122 arch/ia64/kernel/topology.c | 2 +-
116123 arch/ia64/kernel/vmlinux.lds.S | 2 +-
116124 arch/ia64/mm/fault.c | 32 +-
116125 arch/ia64/mm/hugetlbpage.c | 2 +-
116126 arch/ia64/mm/init.c | 13 +
116127 arch/m32r/lib/usercopy.c | 6 +
116128 arch/mips/include/asm/atomic.h | 14 +
116129 arch/mips/include/asm/elf.h | 11 +-
116130 arch/mips/include/asm/exec.h | 2 +-
116131 arch/mips/include/asm/page.h | 2 +-
116132 arch/mips/include/asm/pgalloc.h | 5 +
116133 arch/mips/kernel/binfmt_elfn32.c | 7 +
116134 arch/mips/kernel/binfmt_elfo32.c | 7 +
116135 arch/mips/kernel/process.c | 12 -
116136 arch/mips/mm/fault.c | 17 +
116137 arch/mips/mm/mmap.c | 51 +-
116138 arch/parisc/include/asm/atomic.h | 10 +
116139 arch/parisc/include/asm/elf.h | 7 +
116140 arch/parisc/include/asm/pgalloc.h | 6 +
116141 arch/parisc/include/asm/pgtable.h | 11 +
116142 arch/parisc/include/asm/uaccess.h | 4 +-
116143 arch/parisc/kernel/module.c | 50 +-
116144 arch/parisc/kernel/sys_parisc.c | 6 +-
116145 arch/parisc/kernel/traps.c | 4 +-
116146 arch/parisc/mm/fault.c | 140 +-
116147 arch/powerpc/include/asm/atomic.h | 10 +
116148 arch/powerpc/include/asm/elf.h | 19 +-
116149 arch/powerpc/include/asm/exec.h | 2 +-
116150 arch/powerpc/include/asm/kmap_types.h | 2 +-
116151 arch/powerpc/include/asm/mman.h | 2 +-
116152 arch/powerpc/include/asm/page.h | 8 +-
116153 arch/powerpc/include/asm/page_64.h | 7 +-
116154 arch/powerpc/include/asm/pgalloc-64.h | 7 +
116155 arch/powerpc/include/asm/pgtable.h | 1 +
116156 arch/powerpc/include/asm/pte-hash32.h | 1 +
116157 arch/powerpc/include/asm/reg.h | 1 +
116158 arch/powerpc/include/asm/uaccess.h | 142 +-
116159 arch/powerpc/kernel/exceptions-64e.S | 4 +-
116160 arch/powerpc/kernel/exceptions-64s.S | 2 +-
116161 arch/powerpc/kernel/module_32.c | 13 +-
116162 arch/powerpc/kernel/process.c | 55 -
116163 arch/powerpc/kernel/signal_32.c | 2 +-
116164 arch/powerpc/kernel/signal_64.c | 2 +-
116165 arch/powerpc/kernel/sysfs.c | 2 +-
116166 arch/powerpc/kernel/vdso.c | 5 +-
116167 arch/powerpc/lib/usercopy_64.c | 18 -
116168 arch/powerpc/mm/fault.c | 54 +-
116169 arch/powerpc/mm/mmap_64.c | 16 +
116170 arch/powerpc/mm/mmu_context_nohash.c | 2 +-
116171 arch/powerpc/mm/numa.c | 2 +-
116172 arch/powerpc/mm/slice.c | 23 +-
116173 arch/powerpc/platforms/powermac/smp.c | 2 +-
116174 arch/s390/include/asm/atomic.h | 10 +
116175 arch/s390/include/asm/elf.h | 13 +-
116176 arch/s390/include/asm/exec.h | 2 +-
116177 arch/s390/include/asm/uaccess.h | 15 +-
116178 arch/s390/kernel/module.c | 22 +-
116179 arch/s390/kernel/process.c | 36 -
116180 arch/s390/mm/mmap.c | 24 +
116181 arch/score/include/asm/exec.h | 2 +-
116182 arch/score/kernel/process.c | 5 -
116183 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 2 +-
116184 arch/sh/mm/mmap.c | 22 +-
116185 arch/sparc/include/asm/atomic_64.h | 106 +-
116186 arch/sparc/include/asm/cache.h | 2 +-
116187 arch/sparc/include/asm/elf_32.h | 7 +
116188 arch/sparc/include/asm/elf_64.h | 7 +
116189 arch/sparc/include/asm/pgalloc_32.h | 1 +
116190 arch/sparc/include/asm/pgalloc_64.h | 1 +
116191 arch/sparc/include/asm/pgtable_32.h | 15 +-
116192 arch/sparc/include/asm/pgtsrmmu.h | 5 +
116193 arch/sparc/include/asm/spinlock_64.h | 35 +-
116194 arch/sparc/include/asm/thread_info_32.h | 2 +
116195 arch/sparc/include/asm/thread_info_64.h | 2 +
116196 arch/sparc/include/asm/uaccess.h | 8 +
116197 arch/sparc/include/asm/uaccess_32.h | 27 +-
116198 arch/sparc/include/asm/uaccess_64.h | 19 +-
116199 arch/sparc/kernel/Makefile | 2 +-
116200 arch/sparc/kernel/sys_sparc_32.c | 2 +-
116201 arch/sparc/kernel/sys_sparc_64.c | 48 +-
116202 arch/sparc/kernel/sysfs.c | 2 +-
116203 arch/sparc/kernel/traps_64.c | 13 +-
116204 arch/sparc/lib/Makefile | 2 +-
116205 arch/sparc/lib/atomic_64.S | 136 +-
116206 arch/sparc/lib/ksyms.c | 6 +
116207 arch/sparc/mm/Makefile | 2 +-
116208 arch/sparc/mm/fault_32.c | 292 ++
116209 arch/sparc/mm/fault_64.c | 486 +++
116210 arch/sparc/mm/hugetlbpage.c | 21 +-
116211 arch/tile/include/asm/atomic_64.h | 10 +
116212 arch/tile/include/asm/uaccess.h | 4 +-
116213 arch/um/Makefile | 4 +
116214 arch/um/include/asm/kmap_types.h | 2 +-
116215 arch/um/include/asm/page.h | 3 +
116216 arch/um/include/asm/pgtable-3level.h | 1 +
116217 arch/um/kernel/process.c | 16 -
116218 arch/x86/Kconfig | 10 +-
116219 arch/x86/Kconfig.cpu | 6 +-
116220 arch/x86/Kconfig.debug | 6 +-
116221 arch/x86/Makefile | 10 +
116222 arch/x86/boot/Makefile | 3 +
116223 arch/x86/boot/bitops.h | 4 +-
116224 arch/x86/boot/boot.h | 4 +-
116225 arch/x86/boot/compressed/Makefile | 3 +
116226 arch/x86/boot/compressed/eboot.c | 2 -
116227 arch/x86/boot/compressed/head_32.S | 7 +-
116228 arch/x86/boot/compressed/head_64.S | 4 +-
116229 arch/x86/boot/compressed/misc.c | 4 +-
116230 arch/x86/boot/cpucheck.c | 28 +-
116231 arch/x86/boot/header.S | 6 +-
116232 arch/x86/boot/memory.c | 2 +-
116233 arch/x86/boot/video-vesa.c | 1 +
116234 arch/x86/boot/video.c | 2 +-
116235 arch/x86/crypto/aes-x86_64-asm_64.S | 4 +
116236 arch/x86/crypto/aesni-intel_asm.S | 31 +
116237 arch/x86/crypto/blowfish-x86_64-asm_64.S | 8 +
116238 arch/x86/crypto/camellia-x86_64-asm_64.S | 8 +
116239 arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 8 +
116240 arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 8 +
116241 arch/x86/crypto/salsa20-x86_64-asm_64.S | 5 +
116242 arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 8 +
116243 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 5 +
116244 arch/x86/crypto/sha1_ssse3_asm.S | 3 +
116245 arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 8 +
116246 arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 5 +
116247 arch/x86/crypto/twofish-x86_64-asm_64.S | 3 +
116248 arch/x86/ia32/ia32_signal.c | 14 +-
116249 arch/x86/ia32/ia32entry.S | 141 +-
116250 arch/x86/ia32/sys_ia32.c | 12 +-
116251 arch/x86/include/asm/alternative-asm.h | 39 +
116252 arch/x86/include/asm/alternative.h | 4 +-
116253 arch/x86/include/asm/apic.h | 2 +-
116254 arch/x86/include/asm/apm.h | 4 +-
116255 arch/x86/include/asm/atomic.h | 307 ++-
116256 arch/x86/include/asm/atomic64_32.h | 100 +
116257 arch/x86/include/asm/atomic64_64.h | 202 ++-
116258 arch/x86/include/asm/bitops.h | 2 +-
116259 arch/x86/include/asm/boot.h | 7 +-
116260 arch/x86/include/asm/cache.h | 5 +-
116261 arch/x86/include/asm/cacheflush.h | 2 +-
116262 arch/x86/include/asm/checksum_32.h | 12 +-
116263 arch/x86/include/asm/cmpxchg.h | 35 +
116264 arch/x86/include/asm/cpufeature.h | 4 +-
116265 arch/x86/include/asm/desc.h | 65 +-
116266 arch/x86/include/asm/desc_defs.h | 6 +
116267 arch/x86/include/asm/elf.h | 31 +-
116268 arch/x86/include/asm/emergency-restart.h | 2 +-
116269 arch/x86/include/asm/fpu-internal.h | 6 +-
116270 arch/x86/include/asm/futex.h | 16 +-
116271 arch/x86/include/asm/hw_irq.h | 4 +-
116272 arch/x86/include/asm/io.h | 13 +-
116273 arch/x86/include/asm/irqflags.h | 5 +
116274 arch/x86/include/asm/kprobes.h | 9 +-
116275 arch/x86/include/asm/local.h | 142 +-
116276 arch/x86/include/asm/mman.h | 15 +
116277 arch/x86/include/asm/mmu.h | 16 +-
116278 arch/x86/include/asm/mmu_context.h | 76 +-
116279 arch/x86/include/asm/module.h | 17 +-
116280 arch/x86/include/asm/page_64_types.h | 2 +-
116281 arch/x86/include/asm/paravirt.h | 44 +-
116282 arch/x86/include/asm/paravirt_types.h | 17 +-
116283 arch/x86/include/asm/pgalloc.h | 23 +
116284 arch/x86/include/asm/pgtable-2level.h | 2 +
116285 arch/x86/include/asm/pgtable-3level.h | 4 +
116286 arch/x86/include/asm/pgtable.h | 110 +-
116287 arch/x86/include/asm/pgtable_32.h | 14 +-
116288 arch/x86/include/asm/pgtable_32_types.h | 15 +-
116289 arch/x86/include/asm/pgtable_64.h | 19 +-
116290 arch/x86/include/asm/pgtable_64_types.h | 5 +
116291 arch/x86/include/asm/pgtable_types.h | 36 +-
116292 arch/x86/include/asm/processor.h | 39 +-
116293 arch/x86/include/asm/ptrace.h | 26 +-
116294 arch/x86/include/asm/realmode.h | 4 +-
116295 arch/x86/include/asm/reboot.h | 10 +-
116296 arch/x86/include/asm/rwsem.h | 60 +-
116297 arch/x86/include/asm/segment.h | 24 +-
116298 arch/x86/include/asm/smp.h | 14 +-
116299 arch/x86/include/asm/spinlock.h | 36 +-
116300 arch/x86/include/asm/stackprotector.h | 4 +-
116301 arch/x86/include/asm/stacktrace.h | 32 +-
116302 arch/x86/include/asm/switch_to.h | 4 +-
116303 arch/x86/include/asm/thread_info.h | 83 +-
116304 arch/x86/include/asm/uaccess.h | 96 +-
116305 arch/x86/include/asm/uaccess_32.h | 106 +-
116306 arch/x86/include/asm/uaccess_64.h | 232 +-
116307 arch/x86/include/asm/word-at-a-time.h | 2 +-
116308 arch/x86/include/asm/x86_init.h | 10 +-
116309 arch/x86/include/asm/xsave.h | 10 +-
116310 arch/x86/include/uapi/asm/e820.h | 2 +-
116311 arch/x86/kernel/Makefile | 2 +-
116312 arch/x86/kernel/acpi/sleep.c | 4 +
116313 arch/x86/kernel/acpi/wakeup_32.S | 6 +-
116314 arch/x86/kernel/alternative.c | 65 +-
116315 arch/x86/kernel/apic/apic.c | 6 +-
116316 arch/x86/kernel/apic/apic_flat_64.c | 4 +-
116317 arch/x86/kernel/apic/bigsmp_32.c | 2 +-
116318 arch/x86/kernel/apic/es7000_32.c | 5 +-
116319 arch/x86/kernel/apic/io_apic.c | 8 +-
116320 arch/x86/kernel/apic/numaq_32.c | 3 +-
116321 arch/x86/kernel/apic/probe_32.c | 2 +-
116322 arch/x86/kernel/apic/summit_32.c | 2 +-
116323 arch/x86/kernel/apic/x2apic_cluster.c | 4 +-
116324 arch/x86/kernel/apic/x2apic_phys.c | 2 +-
116325 arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
116326 arch/x86/kernel/apm_32.c | 19 +-
116327 arch/x86/kernel/asm-offsets.c | 20 +
116328 arch/x86/kernel/asm-offsets_64.c | 1 +
116329 arch/x86/kernel/cpu/Makefile | 4 -
116330 arch/x86/kernel/cpu/amd.c | 2 +-
116331 arch/x86/kernel/cpu/common.c | 75 +-
116332 arch/x86/kernel/cpu/intel.c | 2 +-
116333 arch/x86/kernel/cpu/intel_cacheinfo.c | 50 +-
116334 arch/x86/kernel/cpu/mcheck/mce.c | 29 +-
116335 arch/x86/kernel/cpu/mcheck/p5.c | 3 +
116336 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
116337 arch/x86/kernel/cpu/mcheck/winchip.c | 3 +
116338 arch/x86/kernel/cpu/mtrr/main.c | 2 +-
116339 arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +-
116340 arch/x86/kernel/cpu/perf_event.c | 4 +-
116341 arch/x86/kernel/cpu/perf_event_intel.c | 6 +-
116342 arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +-
116343 arch/x86/kernel/cpuid.c | 2 +-
116344 arch/x86/kernel/crash.c | 4 +-
116345 arch/x86/kernel/doublefault_32.c | 8 +-
116346 arch/x86/kernel/dumpstack.c | 30 +-
116347 arch/x86/kernel/dumpstack_32.c | 34 +-
116348 arch/x86/kernel/dumpstack_64.c | 63 +-
116349 arch/x86/kernel/early_printk.c | 1 +
116350 arch/x86/kernel/entry_32.S | 354 ++-
116351 arch/x86/kernel/entry_64.S | 512 +++-
116352 arch/x86/kernel/ftrace.c | 14 +-
116353 arch/x86/kernel/head32.c | 4 +-
116354 arch/x86/kernel/head_32.S | 237 ++-
116355 arch/x86/kernel/head_64.S | 158 +-
116356 arch/x86/kernel/i386_ksyms_32.c | 8 +
116357 arch/x86/kernel/i387.c | 2 +-
116358 arch/x86/kernel/i8259.c | 2 +-
116359 arch/x86/kernel/ioport.c | 2 +-
116360 arch/x86/kernel/irq.c | 10 +-
116361 arch/x86/kernel/irq_32.c | 69 +-
116362 arch/x86/kernel/irq_64.c | 2 +-
116363 arch/x86/kernel/kdebugfs.c | 2 +-
116364 arch/x86/kernel/kgdb.c | 25 +-
116365 arch/x86/kernel/kprobes-opt.c | 12 +-
116366 arch/x86/kernel/kprobes.c | 30 +-
116367 arch/x86/kernel/kvm.c | 2 +-
116368 arch/x86/kernel/ldt.c | 31 +-
116369 arch/x86/kernel/machine_kexec_32.c | 6 +-
116370 arch/x86/kernel/microcode_core.c | 2 +-
116371 arch/x86/kernel/microcode_intel.c | 4 +-
116372 arch/x86/kernel/module.c | 76 +-
116373 arch/x86/kernel/msr.c | 2 +-
116374 arch/x86/kernel/nmi.c | 11 +
116375 arch/x86/kernel/paravirt-spinlocks.c | 2 +-
116376 arch/x86/kernel/paravirt.c | 43 +-
116377 arch/x86/kernel/pci-iommu_table.c | 2 +-
116378 arch/x86/kernel/process.c | 57 +-
116379 arch/x86/kernel/process_32.c | 29 +-
116380 arch/x86/kernel/process_64.c | 15 +-
116381 arch/x86/kernel/ptrace.c | 25 +-
116382 arch/x86/kernel/pvclock.c | 8 +-
116383 arch/x86/kernel/reboot.c | 44 +-
116384 arch/x86/kernel/relocate_kernel_64.S | 4 +-
116385 arch/x86/kernel/setup.c | 14 +-
116386 arch/x86/kernel/setup_percpu.c | 27 +-
116387 arch/x86/kernel/signal.c | 15 +-
116388 arch/x86/kernel/smp.c | 2 +-
116389 arch/x86/kernel/smpboot.c | 15 +-
116390 arch/x86/kernel/step.c | 10 +-
116391 arch/x86/kernel/sys_i386_32.c | 247 ++
116392 arch/x86/kernel/sys_x86_64.c | 19 +-
116393 arch/x86/kernel/tboot.c | 14 +-
116394 arch/x86/kernel/time.c | 10 +-
116395 arch/x86/kernel/tls.c | 7 +-
116396 arch/x86/kernel/traps.c | 64 +-
116397 arch/x86/kernel/uprobes.c | 2 +-
116398 arch/x86/kernel/vm86_32.c | 6 +-
116399 arch/x86/kernel/vmlinux.lds.S | 148 +-
116400 arch/x86/kernel/vsyscall_64.c | 12 +-
116401 arch/x86/kernel/x8664_ksyms_64.c | 2 -
116402 arch/x86/kernel/x86_init.c | 8 +-
116403 arch/x86/kernel/xsave.c | 2 +
116404 arch/x86/kvm/cpuid.c | 21 +-
116405 arch/x86/kvm/emulate.c | 4 +-
116406 arch/x86/kvm/lapic.c | 2 +-
116407 arch/x86/kvm/paging_tmpl.h | 2 +-
116408 arch/x86/kvm/svm.c | 8 +
116409 arch/x86/kvm/vmx.c | 47 +-
116410 arch/x86/kvm/x86.c | 10 +-
116411 arch/x86/lguest/boot.c | 3 +-
116412 arch/x86/lib/atomic64_386_32.S | 164 +
116413 arch/x86/lib/atomic64_cx8_32.S | 103 +-
116414 arch/x86/lib/checksum_32.S | 100 +-
116415 arch/x86/lib/clear_page_64.S | 5 +-
116416 arch/x86/lib/cmpxchg16b_emu.S | 2 +
116417 arch/x86/lib/copy_page_64.S | 24 +-
116418 arch/x86/lib/copy_user_64.S | 47 +-
116419 arch/x86/lib/copy_user_nocache_64.S | 20 +-
116420 arch/x86/lib/csum-copy_64.S | 2 +
116421 arch/x86/lib/csum-wrappers_64.c | 4 +-
116422 arch/x86/lib/getuser.S | 68 +-
116423 arch/x86/lib/insn.c | 6 +-
116424 arch/x86/lib/iomap_copy_64.S | 2 +
116425 arch/x86/lib/memcpy_64.S | 18 +-
116426 arch/x86/lib/memmove_64.S | 34 +-
116427 arch/x86/lib/memset_64.S | 7 +-
116428 arch/x86/lib/mmx_32.c | 243 +-
116429 arch/x86/lib/msr-reg.S | 18 +-
116430 arch/x86/lib/putuser.S | 90 +-
116431 arch/x86/lib/rwlock.S | 42 +
116432 arch/x86/lib/rwsem.S | 6 +-
116433 arch/x86/lib/thunk_64.S | 2 +
116434 arch/x86/lib/usercopy_32.c | 376 ++-
116435 arch/x86/lib/usercopy_64.c | 25 +-
116436 arch/x86/mm/extable.c | 25 +-
116437 arch/x86/mm/fault.c | 555 +++-
116438 arch/x86/mm/gup.c | 2 +-
116439 arch/x86/mm/highmem_32.c | 4 +
116440 arch/x86/mm/hugetlbpage.c | 30 +-
116441 arch/x86/mm/init.c | 92 +-
116442 arch/x86/mm/init_32.c | 122 +-
116443 arch/x86/mm/init_64.c | 48 +-
116444 arch/x86/mm/iomap_32.c | 4 +
116445 arch/x86/mm/ioremap.c | 12 +-
116446 arch/x86/mm/kmemcheck/kmemcheck.c | 4 +-
116447 arch/x86/mm/mmap.c | 41 +-
116448 arch/x86/mm/mmio-mod.c | 10 +-
116449 arch/x86/mm/pageattr-test.c | 2 +-
116450 arch/x86/mm/pageattr.c | 33 +-
116451 arch/x86/mm/pat.c | 12 +-
116452 arch/x86/mm/pf_in.c | 10 +-
116453 arch/x86/mm/pgtable.c | 137 +-
116454 arch/x86/mm/pgtable_32.c | 3 +
116455 arch/x86/mm/setup_nx.c | 7 +
116456 arch/x86/mm/tlb.c | 4 +
116457 arch/x86/net/bpf_jit.S | 14 +
116458 arch/x86/net/bpf_jit_comp.c | 37 +-
116459 arch/x86/oprofile/backtrace.c | 8 +-
116460 arch/x86/pci/amd_bus.c | 2 +-
116461 arch/x86/pci/mrst.c | 4 +-
116462 arch/x86/pci/pcbios.c | 144 +-
116463 arch/x86/platform/efi/efi_32.c | 19 +
116464 arch/x86/platform/efi/efi_stub_32.S | 64 +-
116465 arch/x86/platform/efi/efi_stub_64.S | 8 +
116466 arch/x86/platform/mrst/mrst.c | 6 +-
116467 arch/x86/platform/olpc/olpc_dt.c | 2 +-
116468 arch/x86/power/cpu.c | 4 +-
116469 arch/x86/realmode/init.c | 8 +-
116470 arch/x86/realmode/rm/Makefile | 3 +
116471 arch/x86/realmode/rm/header.S | 4 +-
116472 arch/x86/realmode/rm/trampoline_32.S | 12 +-
116473 arch/x86/realmode/rm/trampoline_64.S | 2 +-
116474 arch/x86/tools/relocs.c | 95 +-
116475 arch/x86/vdso/Makefile | 2 +-
116476 arch/x86/vdso/vdso32-setup.c | 23 +-
116477 arch/x86/vdso/vma.c | 29 +-
116478 arch/x86/xen/enlighten.c | 47 +-
116479 arch/x86/xen/mmu.c | 9 +
116480 arch/x86/xen/smp.c | 18 +-
116481 arch/x86/xen/xen-asm_32.S | 12 +-
116482 arch/x86/xen/xen-head.S | 11 +
116483 arch/x86/xen/xen-ops.h | 2 -
116484 block/blk-iopoll.c | 4 +-
116485 block/blk-map.c | 2 +-
116486 block/blk-softirq.c | 4 +-
116487 block/bsg.c | 12 +-
116488 block/compat_ioctl.c | 2 +-
116489 block/partitions/efi.c | 8 +-
116490 block/scsi_ioctl.c | 27 +-
116491 crypto/cryptd.c | 4 +-
116492 drivers/acpi/apei/cper.c | 8 +-
116493 drivers/acpi/ec_sys.c | 12 +-
116494 drivers/acpi/processor_driver.c | 2 +-
116495 drivers/ata/libata-core.c | 8 +-
116496 drivers/ata/pata_arasan_cf.c | 4 +-
116497 drivers/atm/adummy.c | 2 +-
116498 drivers/atm/ambassador.c | 8 +-
116499 drivers/atm/atmtcp.c | 14 +-
116500 drivers/atm/eni.c | 10 +-
116501 drivers/atm/firestream.c | 8 +-
116502 drivers/atm/fore200e.c | 14 +-
116503 drivers/atm/he.c | 18 +-
116504 drivers/atm/horizon.c | 4 +-
116505 drivers/atm/idt77252.c | 36 +-
116506 drivers/atm/iphase.c | 34 +-
116507 drivers/atm/lanai.c | 12 +-
116508 drivers/atm/nicstar.c | 46 +-
116509 drivers/atm/solos-pci.c | 4 +-
116510 drivers/atm/suni.c | 4 +-
116511 drivers/atm/uPD98402.c | 16 +-
116512 drivers/atm/zatm.c | 6 +-
116513 drivers/base/devtmpfs.c | 2 +-
116514 drivers/base/power/wakeup.c | 8 +-
116515 drivers/block/cciss.c | 28 +-
116516 drivers/block/cciss.h | 2 +-
116517 drivers/block/cpqarray.c | 28 +-
116518 drivers/block/cpqarray.h | 2 +-
116519 drivers/block/drbd/drbd_int.h | 6 +-
116520 drivers/block/drbd/drbd_main.c | 8 +-
116521 drivers/block/drbd/drbd_receiver.c | 18 +-
116522 drivers/block/loop.c | 2 +-
116523 drivers/cdrom/cdrom.c | 9 +-
116524 drivers/cdrom/gdrom.c | 1 -
116525 drivers/char/agp/frontend.c | 2 +-
116526 drivers/char/hpet.c | 2 +-
116527 drivers/char/ipmi/ipmi_msghandler.c | 8 +-
116528 drivers/char/ipmi/ipmi_si_intf.c | 8 +-
116529 drivers/char/mem.c | 41 +-
116530 drivers/char/nvram.c | 2 +-
116531 drivers/char/pcmcia/synclink_cs.c | 18 +-
116532 drivers/char/random.c | 8 +-
116533 drivers/char/sonypi.c | 9 +-
116534 drivers/char/tpm/tpm.c | 2 +-
116535 drivers/char/tpm/tpm_acpi.c | 3 +-
116536 drivers/char/tpm/tpm_eventlog.c | 7 +-
116537 drivers/char/virtio_console.c | 4 +-
116538 drivers/clocksource/arm_generic.c | 2 +-
116539 drivers/cpufreq/cpufreq.c | 2 +-
116540 drivers/cpufreq/cpufreq_stats.c | 2 +-
116541 drivers/dma/sh/shdma.c | 2 +-
116542 drivers/edac/edac_pci_sysfs.c | 20 +-
116543 drivers/edac/mce_amd.h | 2 +-
116544 drivers/firewire/core-card.c | 2 +-
116545 drivers/firewire/core-cdev.c | 3 +-
116546 drivers/firewire/core-transaction.c | 1 +
116547 drivers/firewire/core.h | 1 +
116548 drivers/firmware/dmi_scan.c | 7 +-
116549 drivers/firmware/efivars.c | 2 +-
116550 drivers/gpio/gpio-vr41xx.c | 2 +-
116551 drivers/gpu/drm/drm_crtc_helper.c | 2 +-
116552 drivers/gpu/drm/drm_drv.c | 4 +-
116553 drivers/gpu/drm/drm_fops.c | 18 +-
116554 drivers/gpu/drm/drm_global.c | 14 +-
116555 drivers/gpu/drm/drm_info.c | 14 +-
116556 drivers/gpu/drm/drm_ioc32.c | 4 +-
116557 drivers/gpu/drm/drm_ioctl.c | 2 +-
116558 drivers/gpu/drm/drm_lock.c | 4 +-
116559 drivers/gpu/drm/drm_stub.c | 2 +-
116560 drivers/gpu/drm/i810/i810_dma.c | 8 +-
116561 drivers/gpu/drm/i810/i810_drv.h | 4 +-
116562 drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
116563 drivers/gpu/drm/i915/i915_dma.c | 2 +-
116564 drivers/gpu/drm/i915/i915_drv.h | 6 +-
116565 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +-
116566 drivers/gpu/drm/i915/i915_irq.c | 22 +-
116567 drivers/gpu/drm/i915/intel_display.c | 9 +-
116568 drivers/gpu/drm/mga/mga_drv.h | 4 +-
116569 drivers/gpu/drm/mga/mga_irq.c | 8 +-
116570 drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
116571 drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +-
116572 drivers/gpu/drm/nouveau/nouveau_fence.h | 2 +-
116573 drivers/gpu/drm/nouveau/nouveau_gem.c | 2 +-
116574 drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
116575 drivers/gpu/drm/r128/r128_cce.c | 2 +-
116576 drivers/gpu/drm/r128/r128_drv.h | 4 +-
116577 drivers/gpu/drm/r128/r128_irq.c | 4 +-
116578 drivers/gpu/drm/r128/r128_state.c | 4 +-
116579 drivers/gpu/drm/radeon/mkregtable.c | 4 +-
116580 drivers/gpu/drm/radeon/radeon_device.c | 2 +-
116581 drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
116582 drivers/gpu/drm/radeon/radeon_ioc32.c | 2 +-
116583 drivers/gpu/drm/radeon/radeon_irq.c | 6 +-
116584 drivers/gpu/drm/radeon/radeon_state.c | 4 +-
116585 drivers/gpu/drm/radeon/radeon_ttm.c | 4 +-
116586 drivers/gpu/drm/radeon/rs690.c | 4 +-
116587 drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
116588 drivers/gpu/drm/via/via_drv.h | 4 +-
116589 drivers/gpu/drm/via/via_irq.c | 18 +-
116590 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
116591 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +-
116592 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +-
116593 drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +-
116594 drivers/hid/hid-core.c | 4 +-
116595 drivers/hv/channel.c | 4 +-
116596 drivers/hv/hv.c | 2 +-
116597 drivers/hv/hyperv_vmbus.h | 2 +-
116598 drivers/hv/vmbus_drv.c | 4 +-
116599 drivers/hwmon/coretemp.c | 2 +-
116600 drivers/hwmon/sht15.c | 12 +-
116601 drivers/hwmon/via-cputemp.c | 2 +-
116602 drivers/i2c/busses/i2c-amd756-s4882.c | 2 +-
116603 drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +-
116604 drivers/ide/ide-cd.c | 2 +-
116605 drivers/infiniband/core/cm.c | 32 +-
116606 drivers/infiniband/core/fmr_pool.c | 20 +-
116607 drivers/infiniband/hw/cxgb4/mem.c | 4 +-
116608 drivers/infiniband/hw/ipath/ipath_rc.c | 6 +-
116609 drivers/infiniband/hw/ipath/ipath_ruc.c | 6 +-
116610 drivers/infiniband/hw/nes/nes.c | 4 +-
116611 drivers/infiniband/hw/nes/nes.h | 40 +-
116612 drivers/infiniband/hw/nes/nes_cm.c | 62 +-
116613 drivers/infiniband/hw/nes/nes_mgt.c | 8 +-
116614 drivers/infiniband/hw/nes/nes_nic.c | 40 +-
116615 drivers/infiniband/hw/nes/nes_verbs.c | 10 +-
116616 drivers/infiniband/hw/qib/qib.h | 1 +
116617 drivers/input/gameport/gameport.c | 4 +-
116618 drivers/input/input.c | 4 +-
116619 drivers/input/joystick/sidewinder.c | 1 +
116620 drivers/input/joystick/xpad.c | 4 +-
116621 drivers/input/mousedev.c | 2 +-
116622 drivers/input/serio/serio.c | 4 +-
116623 drivers/isdn/capi/capi.c | 10 +-
116624 drivers/isdn/gigaset/interface.c | 8 +-
116625 drivers/isdn/hardware/avm/b1.c | 4 +-
116626 drivers/isdn/i4l/isdn_tty.c | 22 +-
116627 drivers/isdn/icn/icn.c | 2 +-
116628 drivers/lguest/core.c | 10 +-
116629 drivers/lguest/x86/core.c | 12 +-
116630 drivers/lguest/x86/switcher_32.S | 27 +-
116631 drivers/md/bitmap.c | 2 +-
116632 drivers/md/dm-ioctl.c | 2 +-
116633 drivers/md/dm-raid1.c | 16 +-
116634 drivers/md/dm-stripe.c | 10 +-
116635 drivers/md/dm-table.c | 2 +-
116636 drivers/md/dm-thin-metadata.c | 4 +-
116637 drivers/md/dm.c | 16 +-
116638 drivers/md/md.c | 26 +-
116639 drivers/md/md.h | 6 +-
116640 drivers/md/persistent-data/dm-space-map.h | 1 +
116641 drivers/md/raid1.c | 4 +-
116642 drivers/md/raid10.c | 16 +-
116643 drivers/md/raid5.c | 10 +-
116644 drivers/media/dvb-core/dvbdev.c | 2 +-
116645 drivers/media/dvb-frontends/dib3000.h | 2 +-
116646 drivers/media/platform/omap/omap_vout.c | 11 +-
116647 drivers/media/platform/s5p-tv/mixer.h | 2 +-
116648 drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +-
116649 drivers/media/platform/s5p-tv/mixer_reg.c | 2 +-
116650 drivers/media/platform/s5p-tv/mixer_video.c | 24 +-
116651 drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +-
116652 drivers/media/radio/radio-cadet.c | 2 +
116653 drivers/media/usb/dvb-usb/cxusb.c | 2 +-
116654 drivers/media/usb/dvb-usb/dw2102.c | 2 +-
116655 drivers/message/fusion/mptsas.c | 34 +-
116656 drivers/message/fusion/mptscsih.c | 19 +-
116657 drivers/message/i2o/i2o_proc.c | 51 +-
116658 drivers/message/i2o/iop.c | 8 +-
116659 drivers/mfd/janz-cmodio.c | 1 +
116660 drivers/misc/kgdbts.c | 4 +-
116661 drivers/misc/lis3lv02d/lis3lv02d.c | 8 +-
116662 drivers/misc/lis3lv02d/lis3lv02d.h | 2 +-
116663 drivers/misc/sgi-gru/gruhandles.c | 4 +-
116664 drivers/misc/sgi-gru/gruprocfs.c | 8 +-
116665 drivers/misc/sgi-gru/grutables.h | 154 +-
116666 drivers/misc/sgi-xp/xp.h | 2 +-
116667 drivers/misc/sgi-xp/xpc.h | 3 +-
116668 drivers/misc/sgi-xp/xpc_main.c | 4 +-
116669 drivers/mmc/core/mmc_ops.c | 2 +-
116670 drivers/mmc/host/dw_mmc.h | 2 +-
116671 drivers/mmc/host/sdhci-s3c.c | 8 +-
116672 drivers/mtd/devices/doc2000.c | 2 +-
116673 drivers/mtd/nand/denali.c | 1 +
116674 drivers/mtd/nftlmount.c | 1 +
116675 drivers/net/ethernet/8390/ax88796.c | 4 +-
116676 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
116677 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +-
116678 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +-
116679 drivers/net/ethernet/broadcom/tg3.h | 1 +
116680 drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +-
116681 drivers/net/ethernet/dec/tulip/de4x5.c | 4 +-
116682 drivers/net/ethernet/emulex/benet/be_main.c | 2 +-
116683 drivers/net/ethernet/faraday/ftgmac100.c | 2 +
116684 drivers/net/ethernet/faraday/ftmac100.c | 2 +
116685 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +-
116686 drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +-
116687 drivers/net/ethernet/realtek/r8169.c | 8 +-
116688 drivers/net/ethernet/sfc/ptp.c | 2 +-
116689 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +-
116690 drivers/net/hyperv/hyperv_net.h | 2 +-
116691 drivers/net/hyperv/rndis_filter.c | 4 +-
116692 drivers/net/ieee802154/fakehard.c | 2 +-
116693 drivers/net/macvlan.c | 2 +-
116694 drivers/net/macvtap.c | 2 +-
116695 drivers/net/ppp/ppp_generic.c | 4 +-
116696 drivers/net/team/team.c | 2 +-
116697 drivers/net/tun.c | 5 +-
116698 drivers/net/usb/hso.c | 23 +-
116699 drivers/net/wireless/ath/ath9k/ar9002_mac.c | 30 +-
116700 drivers/net/wireless/ath/ath9k/ar9003_mac.c | 58 +-
116701 drivers/net/wireless/ath/ath9k/hw.h | 4 +-
116702 drivers/net/wireless/iwlegacy/3945-mac.c | 4 +-
116703 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 26 +-
116704 drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +-
116705 drivers/net/wireless/mac80211_hwsim.c | 32 +-
116706 drivers/net/wireless/rndis_wlan.c | 2 +-
116707 drivers/net/wireless/rt2x00/rt2x00.h | 2 +-
116708 drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +-
116709 drivers/net/wireless/ti/wl1251/sdio.c | 12 +-
116710 drivers/net/wireless/ti/wl12xx/main.c | 8 +-
116711 drivers/net/wireless/ti/wl18xx/main.c | 6 +-
116712 drivers/oprofile/buffer_sync.c | 8 +-
116713 drivers/oprofile/event_buffer.c | 2 +-
116714 drivers/oprofile/oprof.c | 2 +-
116715 drivers/oprofile/oprofile_stats.c | 10 +-
116716 drivers/oprofile/oprofile_stats.h | 10 +-
116717 drivers/oprofile/oprofilefs.c | 2 +-
116718 drivers/oprofile/timer_int.c | 2 +-
116719 drivers/parport/procfs.c | 4 +-
116720 drivers/pci/hotplug/cpcihp_generic.c | 6 +-
116721 drivers/pci/hotplug/cpcihp_zt5550.c | 14 +-
116722 drivers/pci/hotplug/cpqphp_nvram.c | 4 +
116723 drivers/pci/pcie/aspm.c | 6 +-
116724 drivers/pci/probe.c | 2 +-
116725 drivers/platform/x86/thinkpad_acpi.c | 70 +-
116726 drivers/pnp/pnpbios/bioscalls.c | 14 +-
116727 drivers/pnp/resource.c | 4 +-
116728 drivers/power/pda_power.c | 7 +-
116729 drivers/regulator/max8660.c | 6 +-
116730 drivers/regulator/max8973-regulator.c | 8 +-
116731 drivers/regulator/mc13892-regulator.c | 6 +-
116732 drivers/scsi/bfa/bfa.h | 2 +-
116733 drivers/scsi/bfa/bfa_fcpim.h | 2 +-
116734 drivers/scsi/bfa/bfa_ioc.h | 4 +-
116735 drivers/scsi/hosts.c | 4 +-
116736 drivers/scsi/hpsa.c | 30 +-
116737 drivers/scsi/hpsa.h | 2 +-
116738 drivers/scsi/libfc/fc_exch.c | 50 +-
116739 drivers/scsi/libsas/sas_ata.c | 2 +-
116740 drivers/scsi/lpfc/lpfc.h | 8 +-
116741 drivers/scsi/lpfc/lpfc_debugfs.c | 18 +-
116742 drivers/scsi/lpfc/lpfc_init.c | 6 +-
116743 drivers/scsi/lpfc/lpfc_scsi.c | 16 +-
116744 drivers/scsi/pmcraid.c | 20 +-
116745 drivers/scsi/pmcraid.h | 8 +-
116746 drivers/scsi/qla2xxx/qla_attr.c | 4 +-
116747 drivers/scsi/qla2xxx/qla_gbl.h | 4 +-
116748 drivers/scsi/qla2xxx/qla_os.c | 6 +-
116749 drivers/scsi/qla4xxx/ql4_def.h | 2 +-
116750 drivers/scsi/qla4xxx/ql4_os.c | 6 +-
116751 drivers/scsi/scsi.c | 2 +-
116752 drivers/scsi/scsi_lib.c | 6 +-
116753 drivers/scsi/scsi_sysfs.c | 2 +-
116754 drivers/scsi/scsi_tgt_lib.c | 2 +-
116755 drivers/scsi/scsi_transport_fc.c | 8 +-
116756 drivers/scsi/scsi_transport_iscsi.c | 6 +-
116757 drivers/scsi/scsi_transport_srp.c | 6 +-
116758 drivers/scsi/sd.c | 2 +-
116759 drivers/scsi/sg.c | 2 +-
116760 drivers/spi/spi.c | 2 +-
116761 drivers/staging/octeon/ethernet-rx.c | 12 +-
116762 drivers/staging/octeon/ethernet.c | 8 +-
116763 drivers/staging/ramster/tmem.c | 54 +-
116764 drivers/staging/rtl8712/rtl871x_io.h | 2 +-
116765 drivers/staging/sbe-2t3e3/netdev.c | 2 +-
116766 drivers/staging/usbip/vhci.h | 2 +-
116767 drivers/staging/usbip/vhci_hcd.c | 6 +-
116768 drivers/staging/usbip/vhci_rx.c | 2 +-
116769 drivers/staging/vt6655/hostap.c | 7 +-
116770 drivers/staging/vt6656/hostap.c | 7 +-
116771 drivers/staging/zcache/tmem.c | 4 +-
116772 drivers/staging/zcache/tmem.h | 2 +
116773 drivers/target/target_core_device.c | 2 +-
116774 drivers/target/target_core_transport.c | 2 +-
116775 drivers/tty/cyclades.c | 6 +-
116776 drivers/tty/hvc/hvc_console.c | 14 +-
116777 drivers/tty/hvc/hvcs.c | 21 +-
116778 drivers/tty/ipwireless/tty.c | 27 +-
116779 drivers/tty/moxa.c | 2 +-
116780 drivers/tty/n_gsm.c | 4 +-
116781 drivers/tty/n_tty.c | 3 +-
116782 drivers/tty/pty.c | 4 +-
116783 drivers/tty/rocket.c | 6 +-
116784 drivers/tty/serial/kgdboc.c | 32 +-
116785 drivers/tty/serial/samsung.c | 9 +-
116786 drivers/tty/serial/serial_core.c | 8 +-
116787 drivers/tty/synclink.c | 34 +-
116788 drivers/tty/synclink_gt.c | 28 +-
116789 drivers/tty/synclinkmp.c | 34 +-
116790 drivers/tty/tty_io.c | 2 +-
116791 drivers/tty/tty_ldisc.c | 10 +-
116792 drivers/tty/tty_port.c | 22 +-
116793 drivers/uio/uio.c | 21 +-
116794 drivers/usb/atm/cxacru.c | 2 +-
116795 drivers/usb/atm/usbatm.c | 24 +-
116796 drivers/usb/core/devices.c | 6 +-
116797 drivers/usb/core/hcd.c | 4 +-
116798 drivers/usb/core/sysfs.c | 2 +-
116799 drivers/usb/core/usb.c | 2 +-
116800 drivers/usb/early/ehci-dbgp.c | 16 +-
116801 drivers/usb/gadget/u_serial.c | 22 +-
116802 drivers/usb/serial/console.c | 6 +-
116803 drivers/usb/wusbcore/wa-hc.h | 4 +-
116804 drivers/usb/wusbcore/wa-xfer.c | 2 +-
116805 drivers/video/aty/aty128fb.c | 2 +-
116806 drivers/video/fbcmap.c | 3 +-
116807 drivers/video/fbmem.c | 6 +-
116808 drivers/video/i810/i810_accel.c | 1 +
116809 drivers/video/udlfb.c | 32 +-
116810 drivers/video/uvesafb.c | 39 +-
116811 drivers/video/vesafb.c | 51 +-
116812 drivers/video/via/via_clock.h | 2 +-
116813 fs/9p/vfs_inode.c | 2 +-
116814 fs/Kconfig.binfmt | 2 +-
116815 fs/aio.c | 11 +-
116816 fs/autofs4/waitq.c | 2 +-
116817 fs/befs/linuxvfs.c | 2 +-
116818 fs/binfmt_aout.c | 23 +-
116819 fs/binfmt_elf.c | 604 ++++-
116820 fs/binfmt_flat.c | 6 +
116821 fs/bio.c | 6 +-
116822 fs/block_dev.c | 2 +-
116823 fs/btrfs/ctree.c | 9 +-
116824 fs/btrfs/relocation.c | 2 +-
116825 fs/btrfs/super.c | 2 +-
116826 fs/cachefiles/bind.c | 6 +-
116827 fs/cachefiles/daemon.c | 8 +-
116828 fs/cachefiles/internal.h | 12 +-
116829 fs/cachefiles/namei.c | 2 +-
116830 fs/cachefiles/proc.c | 12 +-
116831 fs/cachefiles/rdwr.c | 2 +-
116832 fs/ceph/dir.c | 2 +-
116833 fs/cifs/cifs_debug.c | 12 +-
116834 fs/cifs/cifsfs.c | 8 +-
116835 fs/cifs/cifsglob.h | 54 +-
116836 fs/cifs/link.c | 2 +-
116837 fs/cifs/misc.c | 4 +-
116838 fs/cifs/smb1ops.c | 80 +-
116839 fs/cifs/smb2ops.c | 84 +-
116840 fs/cifs/smb2pdu.c | 3 +-
116841 fs/coda/cache.c | 10 +-
116842 fs/compat.c | 6 +-
116843 fs/compat_binfmt_elf.c | 2 +
116844 fs/compat_ioctl.c | 8 +-
116845 fs/configfs/dir.c | 10 +-
116846 fs/coredump.c | 24 +-
116847 fs/dcache.c | 2 +-
116848 fs/ecryptfs/inode.c | 4 +-
116849 fs/ecryptfs/miscdev.c | 2 +-
116850 fs/ecryptfs/read_write.c | 4 +-
116851 fs/exec.c | 356 ++-
116852 fs/ext4/ext4.h | 20 +-
116853 fs/ext4/mballoc.c | 44 +-
116854 fs/fhandle.c | 3 +-
116855 fs/fifo.c | 22 +-
116856 fs/fs_struct.c | 8 +-
116857 fs/fscache/cookie.c | 36 +-
116858 fs/fscache/internal.h | 196 +-
116859 fs/fscache/object.c | 28 +-
116860 fs/fscache/operation.c | 30 +-
116861 fs/fscache/page.c | 110 +-
116862 fs/fscache/stats.c | 344 +-
116863 fs/fuse/cuse.c | 10 +-
116864 fs/fuse/dev.c | 2 +-
116865 fs/fuse/dir.c | 2 +-
116866 fs/gfs2/inode.c | 2 +-
116867 fs/hugetlbfs/inode.c | 13 +-
116868 fs/inode.c | 4 +-
116869 fs/jffs2/erase.c | 3 +-
116870 fs/jffs2/wbuf.c | 3 +-
116871 fs/jfs/super.c | 2 +-
116872 fs/libfs.c | 10 +-
116873 fs/lockd/clntproc.c | 4 +-
116874 fs/locks.c | 8 +-
116875 fs/namei.c | 15 +-
116876 fs/namespace.c | 2 +-
116877 fs/nfs/inode.c | 6 +-
116878 fs/nfsd/vfs.c | 6 +-
116879 fs/notify/fanotify/fanotify_user.c | 4 +-
116880 fs/notify/notification.c | 4 +-
116881 fs/ntfs/dir.c | 2 +-
116882 fs/ntfs/file.c | 4 +-
116883 fs/ocfs2/localalloc.c | 2 +-
116884 fs/ocfs2/ocfs2.h | 10 +-
116885 fs/ocfs2/suballoc.c | 12 +-
116886 fs/ocfs2/super.c | 20 +-
116887 fs/pipe.c | 33 +-
116888 fs/proc/array.c | 20 +
116889 fs/proc/kcore.c | 32 +-
116890 fs/proc/meminfo.c | 2 +-
116891 fs/proc/nommu.c | 2 +-
116892 fs/proc/self.c | 2 +-
116893 fs/proc/task_mmu.c | 39 +-
116894 fs/proc/task_nommu.c | 4 +-
116895 fs/quota/netlink.c | 4 +-
116896 fs/readdir.c | 2 +-
116897 fs/reiserfs/do_balan.c | 2 +-
116898 fs/reiserfs/procfs.c | 2 +-
116899 fs/reiserfs/reiserfs.h | 4 +-
116900 fs/seq_file.c | 2 +-
116901 fs/splice.c | 36 +-
116902 fs/sysfs/file.c | 10 +-
116903 fs/sysfs/symlink.c | 2 +-
116904 fs/udf/misc.c | 2 +-
116905 fs/xattr_acl.c | 4 +-
116906 fs/xfs/xfs_bmap.c | 2 +-
116907 fs/xfs/xfs_dir2_sf.c | 10 +-
116908 fs/xfs/xfs_ioctl.c | 2 +-
116909 fs/xfs/xfs_iops.c | 2 +-
116910 include/asm-generic/4level-fixup.h | 2 +
116911 include/asm-generic/atomic-long.h | 210 ++
116912 include/asm-generic/atomic.h | 2 +-
116913 include/asm-generic/atomic64.h | 12 +
116914 include/asm-generic/cache.h | 4 +-
116915 include/asm-generic/emergency-restart.h | 2 +-
116916 include/asm-generic/kmap_types.h | 4 +-
116917 include/asm-generic/local.h | 13 +
116918 include/asm-generic/pgtable-nopmd.h | 18 +-
116919 include/asm-generic/pgtable-nopud.h | 15 +-
116920 include/asm-generic/pgtable.h | 8 +
116921 include/asm-generic/vmlinux.lds.h | 10 +-
116922 include/crypto/algapi.h | 2 +-
116923 include/drm/drmP.h | 5 +-
116924 include/drm/drm_crtc_helper.h | 2 +-
116925 include/drm/ttm/ttm_memory.h | 2 +-
116926 include/linux/atmdev.h | 2 +-
116927 include/linux/binfmts.h | 1 +
116928 include/linux/blkdev.h | 2 +-
116929 include/linux/blktrace_api.h | 2 +-
116930 include/linux/cache.h | 4 +
116931 include/linux/cdrom.h | 1 -
116932 include/linux/cleancache.h | 2 +-
116933 include/linux/compiler-gcc4.h | 20 +
116934 include/linux/compiler.h | 72 +-
116935 include/linux/cpu.h | 2 +-
116936 include/linux/crypto.h | 6 +-
116937 include/linux/decompress/mm.h | 2 +-
116938 include/linux/dma-mapping.h | 2 +-
116939 include/linux/dmaengine.h | 4 +-
116940 include/linux/efi.h | 1 +
116941 include/linux/elf.h | 2 +
116942 include/linux/filter.h | 4 +
116943 include/linux/frontswap.h | 2 +-
116944 include/linux/fs.h | 3 +-
116945 include/linux/fs_struct.h | 2 +-
116946 include/linux/fscache-cache.h | 4 +-
116947 include/linux/fsnotify.h | 2 +-
116948 include/linux/ftrace_event.h | 2 +-
116949 include/linux/genhd.h | 2 +-
116950 include/linux/gfp.h | 12 +-
116951 include/linux/highmem.h | 12 +
116952 include/linux/i2c.h | 1 +
116953 include/linux/i2o.h | 2 +-
116954 include/linux/if_pppox.h | 2 +-
116955 include/linux/init.h | 33 +-
116956 include/linux/init_task.h | 7 +
116957 include/linux/interrupt.h | 8 +-
116958 include/linux/kgdb.h | 6 +-
116959 include/linux/kobject.h | 2 +-
116960 include/linux/kref.h | 2 +-
116961 include/linux/kvm_host.h | 4 +-
116962 include/linux/libata.h | 2 +-
116963 include/linux/list.h | 3 +
116964 include/linux/mm.h | 91 +-
116965 include/linux/mm_types.h | 22 +-
116966 include/linux/mmiotrace.h | 4 +-
116967 include/linux/mmzone.h | 2 +-
116968 include/linux/mod_devicetable.h | 4 +-
116969 include/linux/module.h | 55 +-
116970 include/linux/moduleloader.h | 18 +-
116971 include/linux/moduleparam.h | 4 +-
116972 include/linux/namei.h | 6 +-
116973 include/linux/netdevice.h | 3 +-
116974 include/linux/netfilter/ipset/ip_set.h | 2 +-
116975 include/linux/netfilter/nfnetlink.h | 2 +-
116976 include/linux/notifier.h | 3 +-
116977 include/linux/oprofile.h | 4 +-
116978 include/linux/perf_event.h | 10 +-
116979 include/linux/pipe_fs_i.h | 6 +-
116980 include/linux/platform_data/usb-ehci-s5p.h | 2 +-
116981 include/linux/pm_runtime.h | 2 +-
116982 include/linux/poison.h | 4 +-
116983 include/linux/power/smartreflex.h | 2 +-
116984 include/linux/random.h | 5 +
116985 include/linux/reboot.h | 14 +-
116986 include/linux/regset.h | 3 +-
116987 include/linux/relay.h | 2 +-
116988 include/linux/rio.h | 2 +-
116989 include/linux/rmap.h | 4 +-
116990 include/linux/sched.h | 64 +-
116991 include/linux/seq_file.h | 1 +
116992 include/linux/skbuff.h | 12 +-
116993 include/linux/slab.h | 36 +-
116994 include/linux/slab_def.h | 33 +-
116995 include/linux/slob_def.h | 4 +-
116996 include/linux/slub_def.h | 10 +-
116997 include/linux/sonet.h | 2 +-
116998 include/linux/sunrpc/clnt.h | 8 +-
116999 include/linux/sunrpc/svc_rdma.h | 18 +-
117000 include/linux/sysrq.h | 2 +-
117001 include/linux/thread_info.h | 7 +
117002 include/linux/tty.h | 4 +-
117003 include/linux/tty_driver.h | 2 +-
117004 include/linux/tty_ldisc.h | 2 +-
117005 include/linux/types.h | 16 +
117006 include/linux/uaccess.h | 6 +-
117007 include/linux/unaligned/access_ok.h | 12 +-
117008 include/linux/usb.h | 2 +-
117009 include/linux/usb/renesas_usbhs.h | 2 +-
117010 include/linux/vermagic.h | 21 +-
117011 include/linux/vmalloc.h | 11 +-
117012 include/linux/vmstat.h | 20 +-
117013 include/media/v4l2-dev.h | 2 +-
117014 include/media/v4l2-ioctl.h | 1 -
117015 include/net/caif/cfctrl.h | 6 +-
117016 include/net/flow.h | 2 +-
117017 include/net/gro_cells.h | 6 +-
117018 include/net/inet_connection_sock.h | 2 +-
117019 include/net/inetpeer.h | 8 +-
117020 include/net/ip_fib.h | 2 +-
117021 include/net/ip_vs.h | 4 +-
117022 include/net/irda/ircomm_tty.h | 1 +
117023 include/net/iucv/af_iucv.h | 2 +-
117024 include/net/neighbour.h | 2 +-
117025 include/net/net_namespace.h | 6 +-
117026 include/net/netdma.h | 2 +-
117027 include/net/netlink.h | 2 +-
117028 include/net/netns/ipv4.h | 2 +-
117029 include/net/protocol.h | 4 +-
117030 include/net/sctp/sctp.h | 6 +-
117031 include/net/sctp/structs.h | 4 +-
117032 include/net/sock.h | 6 +-
117033 include/net/tcp.h | 8 +-
117034 include/net/xfrm.h | 4 +-
117035 include/rdma/iw_cm.h | 2 +-
117036 include/scsi/libfc.h | 3 +-
117037 include/scsi/scsi_device.h | 6 +-
117038 include/scsi/scsi_transport_fc.h | 3 +-
117039 include/sound/soc.h | 4 +-
117040 include/target/target_core_base.h | 2 +-
117041 include/trace/events/irq.h | 4 +-
117042 include/uapi/linux/a.out.h | 8 +
117043 include/uapi/linux/byteorder/little_endian.h | 24 +-
117044 include/uapi/linux/elf.h | 28 +
117045 include/uapi/linux/screen_info.h | 3 +-
117046 include/uapi/linux/sysctl.h | 6 +-
117047 include/uapi/linux/xattr.h | 4 +
117048 include/video/udlfb.h | 8 +-
117049 include/video/uvesafb.h | 1 +
117050 init/Kconfig | 2 +-
117051 init/Makefile | 3 +
117052 init/do_mounts.c | 14 +-
117053 init/do_mounts.h | 8 +-
117054 init/do_mounts_initrd.c | 22 +-
117055 init/do_mounts_md.c | 6 +-
117056 init/init_task.c | 4 +
117057 init/initramfs.c | 40 +-
117058 init/main.c | 78 +-
117059 ipc/msg.c | 11 +-
117060 ipc/sem.c | 11 +-
117061 ipc/shm.c | 17 +-
117062 kernel/acct.c | 2 +-
117063 kernel/audit.c | 8 +-
117064 kernel/auditsc.c | 4 +-
117065 kernel/capability.c | 3 +
117066 kernel/compat.c | 40 +-
117067 kernel/debug/debug_core.c | 16 +-
117068 kernel/debug/kdb/kdb_main.c | 4 +-
117069 kernel/events/core.c | 28 +-
117070 kernel/exit.c | 4 +-
117071 kernel/fork.c | 167 +-
117072 kernel/futex.c | 9 +
117073 kernel/gcov/base.c | 7 +-
117074 kernel/hrtimer.c | 4 +-
117075 kernel/jump_label.c | 5 +
117076 kernel/kallsyms.c | 39 +-
117077 kernel/kexec.c | 3 +-
117078 kernel/kmod.c | 2 +-
117079 kernel/kprobes.c | 8 +-
117080 kernel/lockdep.c | 7 +-
117081 kernel/module.c | 333 ++-
117082 kernel/mutex-debug.c | 12 +-
117083 kernel/mutex-debug.h | 4 +-
117084 kernel/mutex.c | 7 +-
117085 kernel/notifier.c | 17 +-
117086 kernel/panic.c | 3 +-
117087 kernel/pid.c | 2 +-
117088 kernel/posix-cpu-timers.c | 4 +-
117089 kernel/posix-timers.c | 20 +-
117090 kernel/power/process.c | 12 +-
117091 kernel/profile.c | 14 +-
117092 kernel/ptrace.c | 6 +-
117093 kernel/rcutiny.c | 4 +-
117094 kernel/rcutiny_plugin.h | 2 +-
117095 kernel/rcutorture.c | 56 +-
117096 kernel/rcutree.c | 72 +-
117097 kernel/rcutree.h | 24 +-
117098 kernel/rcutree_plugin.h | 18 +-
117099 kernel/rcutree_trace.c | 22 +-
117100 kernel/rtmutex-tester.c | 24 +-
117101 kernel/sched/auto_group.c | 4 +-
117102 kernel/sched/core.c | 2 +-
117103 kernel/sched/fair.c | 4 +-
117104 kernel/signal.c | 12 +-
117105 kernel/smp.c | 2 +-
117106 kernel/softirq.c | 16 +-
117107 kernel/srcu.c | 6 +-
117108 kernel/stop_machine.c | 2 +-
117109 kernel/sys.c | 12 +-
117110 kernel/sysctl.c | 37 +-
117111 kernel/sysctl_binary.c | 14 +-
117112 kernel/time/alarmtimer.c | 2 +-
117113 kernel/time/tick-broadcast.c | 2 +-
117114 kernel/time/timer_stats.c | 10 +-
117115 kernel/timer.c | 4 +-
117116 kernel/trace/blktrace.c | 6 +-
117117 kernel/trace/ftrace.c | 20 +-
117118 kernel/trace/ring_buffer.c | 76 +-
117119 kernel/trace/trace.c | 6 +-
117120 kernel/trace/trace_events.c | 25 +-
117121 kernel/trace/trace_mmiotrace.c | 8 +-
117122 kernel/trace/trace_output.c | 12 +-
117123 kernel/trace/trace_stack.c | 2 +-
117124 lib/Makefile | 2 +-
117125 lib/bitmap.c | 8 +-
117126 lib/bug.c | 2 +
117127 lib/debugobjects.c | 2 +-
117128 lib/devres.c | 4 +-
117129 lib/dma-debug.c | 4 +-
117130 lib/inflate.c | 2 +-
117131 lib/ioremap.c | 4 +-
117132 lib/list_debug.c | 89 +-
117133 lib/radix-tree.c | 2 +-
117134 lib/strncpy_from_user.c | 2 +-
117135 lib/strnlen_user.c | 2 +-
117136 lib/vsprintf.c | 12 +-
117137 mm/Kconfig | 6 +-
117138 mm/filemap.c | 2 +-
117139 mm/fremap.c | 5 +
117140 mm/highmem.c | 7 +-
117141 mm/hugetlb.c | 54 +
117142 mm/internal.h | 1 +
117143 mm/maccess.c | 4 +-
117144 mm/madvise.c | 41 +
117145 mm/memory-failure.c | 18 +-
117146 mm/memory.c | 404 ++-
117147 mm/mempolicy.c | 26 +
117148 mm/mlock.c | 16 +-
117149 mm/mmap.c | 573 +++-
117150 mm/mprotect.c | 138 +-
117151 mm/mremap.c | 44 +-
117152 mm/nommu.c | 11 +-
117153 mm/page-writeback.c | 2 +-
117154 mm/page_alloc.c | 14 +-
117155 mm/percpu.c | 2 +-
117156 mm/process_vm_access.c | 14 +-
117157 mm/rmap.c | 38 +-
117158 mm/shmem.c | 19 +-
117159 mm/slab.c | 104 +-
117160 mm/slab.h | 5 +-
117161 mm/slab_common.c | 9 +-
117162 mm/slob.c | 200 +-
117163 mm/slub.c | 98 +-
117164 mm/sparse-vmemmap.c | 4 +-
117165 mm/sparse.c | 2 +-
117166 mm/swap.c | 3 +
117167 mm/swapfile.c | 12 +-
117168 mm/util.c | 6 +
117169 mm/vmalloc.c | 82 +-
117170 mm/vmstat.c | 12 +-
117171 net/8021q/vlan.c | 5 +-
117172 net/9p/trans_fd.c | 2 +-
117173 net/atm/atm_misc.c | 8 +-
117174 net/atm/lec.h | 2 +-
117175 net/atm/proc.c | 6 +-
117176 net/atm/resources.c | 4 +-
117177 net/batman-adv/bat_iv_ogm.c | 8 +-
117178 net/batman-adv/hard-interface.c | 4 +-
117179 net/batman-adv/soft-interface.c | 4 +-
117180 net/batman-adv/types.h | 6 +-
117181 net/batman-adv/unicast.c | 2 +-
117182 net/bluetooth/hci_sock.c | 2 +-
117183 net/bluetooth/l2cap_core.c | 6 +-
117184 net/bluetooth/l2cap_sock.c | 12 +-
117185 net/bluetooth/rfcomm/sock.c | 4 +-
117186 net/bluetooth/rfcomm/tty.c | 10 +-
117187 net/bridge/netfilter/ebtables.c | 6 +-
117188 net/caif/cfctrl.c | 11 +-
117189 net/can/af_can.c | 2 +-
117190 net/can/gw.c | 6 +-
117191 net/compat.c | 34 +-
117192 net/core/datagram.c | 2 +-
117193 net/core/dev.c | 16 +-
117194 net/core/flow.c | 8 +-
117195 net/core/iovec.c | 4 +-
117196 net/core/rtnetlink.c | 2 +-
117197 net/core/scm.c | 8 +-
117198 net/core/sock.c | 24 +-
117199 net/decnet/sysctl_net_decnet.c | 4 +-
117200 net/ipv4/ah4.c | 2 +-
117201 net/ipv4/esp4.c | 2 +-
117202 net/ipv4/fib_frontend.c | 6 +-
117203 net/ipv4/fib_semantics.c | 2 +-
117204 net/ipv4/inetpeer.c | 4 +-
117205 net/ipv4/ip_fragment.c | 2 +-
117206 net/ipv4/ip_sockglue.c | 2 +-
117207 net/ipv4/ipcomp.c | 2 +-
117208 net/ipv4/ipconfig.c | 6 +-
117209 net/ipv4/netfilter/arp_tables.c | 12 +-
117210 net/ipv4/netfilter/ip_tables.c | 12 +-
117211 net/ipv4/ping.c | 2 +-
117212 net/ipv4/raw.c | 14 +-
117213 net/ipv4/route.c | 2 +-
117214 net/ipv4/tcp_input.c | 2 +-
117215 net/ipv4/tcp_probe.c | 2 +-
117216 net/ipv4/udp.c | 10 +-
117217 net/ipv6/addrconf.c | 2 +-
117218 net/ipv6/ip6_gre.c | 2 +-
117219 net/ipv6/ipv6_sockglue.c | 2 +-
117220 net/ipv6/netfilter/ip6_tables.c | 12 +-
117221 net/ipv6/raw.c | 19 +-
117222 net/ipv6/udp.c | 8 +-
117223 net/irda/ircomm/ircomm_tty.c | 18 +-
117224 net/iucv/af_iucv.c | 4 +-
117225 net/iucv/iucv.c | 2 +-
117226 net/key/af_key.c | 4 +-
117227 net/mac80211/cfg.c | 4 +-
117228 net/mac80211/ieee80211_i.h | 3 +-
117229 net/mac80211/iface.c | 14 +-
117230 net/mac80211/main.c | 2 +-
117231 net/mac80211/pm.c | 6 +-
117232 net/mac80211/rate.c | 2 +-
117233 net/mac80211/rc80211_pid_debugfs.c | 2 +-
117234 net/mac80211/util.c | 2 +-
117235 net/netfilter/ipvs/ip_vs_conn.c | 6 +-
117236 net/netfilter/ipvs/ip_vs_core.c | 4 +-
117237 net/netfilter/ipvs/ip_vs_ctl.c | 10 +-
117238 net/netfilter/ipvs/ip_vs_sync.c | 6 +-
117239 net/netfilter/ipvs/ip_vs_xmit.c | 4 +-
117240 net/netfilter/nfnetlink_log.c | 4 +-
117241 net/netfilter/xt_statistic.c | 8 +-
117242 net/netlink/af_netlink.c | 4 +-
117243 net/packet/af_packet.c | 12 +-
117244 net/phonet/pep.c | 6 +-
117245 net/phonet/socket.c | 2 +-
117246 net/rds/cong.c | 6 +-
117247 net/rds/ib.h | 2 +-
117248 net/rds/ib_cm.c | 2 +-
117249 net/rds/ib_recv.c | 4 +-
117250 net/rds/iw.h | 2 +-
117251 net/rds/iw_cm.c | 2 +-
117252 net/rds/iw_recv.c | 4 +-
117253 net/rds/tcp.c | 2 +-
117254 net/rds/tcp_send.c | 2 +-
117255 net/rxrpc/af_rxrpc.c | 2 +-
117256 net/rxrpc/ar-ack.c | 14 +-
117257 net/rxrpc/ar-call.c | 2 +-
117258 net/rxrpc/ar-connection.c | 2 +-
117259 net/rxrpc/ar-connevent.c | 2 +-
117260 net/rxrpc/ar-input.c | 4 +-
117261 net/rxrpc/ar-internal.h | 8 +-
117262 net/rxrpc/ar-local.c | 2 +-
117263 net/rxrpc/ar-output.c | 4 +-
117264 net/rxrpc/ar-peer.c | 2 +-
117265 net/rxrpc/ar-proc.c | 4 +-
117266 net/rxrpc/ar-transport.c | 2 +-
117267 net/rxrpc/rxkad.c | 4 +-
117268 net/sctp/ipv6.c | 2 +-
117269 net/sctp/protocol.c | 8 +-
117270 net/sctp/socket.c | 2 +
117271 net/socket.c | 34 +-
117272 net/sunrpc/sched.c | 4 +-
117273 net/sunrpc/xprtrdma/svc_rdma.c | 38 +-
117274 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 6 +-
117275 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +-
117276 net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
117277 net/tipc/link.c | 6 +-
117278 net/tipc/msg.c | 2 +-
117279 net/tipc/subscr.c | 2 +-
117280 net/wireless/wext-core.c | 19 +-
117281 net/xfrm/xfrm_policy.c | 16 +-
117282 net/xfrm/xfrm_state.c | 4 +-
117283 scripts/Makefile.build | 2 +-
117284 scripts/Makefile.clean | 3 +-
117285 scripts/Makefile.host | 28 +-
117286 scripts/basic/fixdep.c | 12 +-
117287 scripts/gcc-plugin.sh | 17 +
117288 scripts/link-vmlinux.sh | 2 +-
117289 scripts/mod/file2alias.c | 14 +-
117290 scripts/mod/modpost.c | 25 +-
117291 scripts/mod/modpost.h | 6 +-
117292 scripts/mod/sumversion.c | 2 +-
117293 scripts/pnmtologo.c | 6 +-
117294 security/Kconfig | 654 ++++-
117295 security/integrity/ima/ima.h | 4 +-
117296 security/integrity/ima/ima_api.c | 2 +-
117297 security/integrity/ima/ima_fs.c | 4 +-
117298 security/integrity/ima/ima_queue.c | 2 +-
117299 security/keys/compat.c | 2 +-
117300 security/keys/keyctl.c | 8 +-
117301 security/keys/keyring.c | 6 +-
117302 security/security.c | 9 +-
117303 security/selinux/hooks.c | 2 +-
117304 security/selinux/include/xfrm.h | 2 +-
117305 security/smack/smack_lsm.c | 2 +-
117306 security/tomoyo/tomoyo.c | 2 +-
117307 sound/aoa/codecs/onyx.c | 7 +-
117308 sound/aoa/codecs/onyx.h | 1 +
117309 sound/core/oss/pcm_oss.c | 18 +-
117310 sound/core/pcm_compat.c | 2 +-
117311 sound/core/pcm_native.c | 4 +-
117312 sound/core/seq/seq_device.c | 8 +-
117313 sound/drivers/mts64.c | 14 +-
117314 sound/drivers/opl4/opl4_lib.c | 2 +-
117315 sound/drivers/portman2x4.c | 3 +-
117316 sound/firewire/amdtp.c | 4 +-
117317 sound/firewire/amdtp.h | 2 +-
117318 sound/firewire/isight.c | 10 +-
117319 sound/firewire/scs1x.c | 8 +-
117320 sound/oss/sb_audio.c | 2 +-
117321 sound/oss/swarm_cs4297a.c | 6 +-
117322 sound/pci/ymfpci/ymfpci.h | 2 +-
117323 sound/pci/ymfpci/ymfpci_main.c | 12 +-
117324 tools/gcc/.gitignore | 1 +
117325 tools/gcc/Makefile | 43 +
117326 tools/gcc/checker_plugin.c | 171 +
117327 tools/gcc/colorize_plugin.c | 151 +
117328 tools/gcc/constify_plugin.c | 359 +++
117329 tools/gcc/generate_size_overflow_hash.sh | 94 +
117330 tools/gcc/kallocstat_plugin.c | 170 +
117331 tools/gcc/kernexec_plugin.c | 465 +++
117332 tools/gcc/latent_entropy_plugin.c | 321 ++
117333 tools/gcc/size_overflow_hash.data | 3713 ++++++++++++++++++++++
117334 tools/gcc/size_overflow_plugin.c | 1941 +++++++++++
117335 tools/gcc/stackleak_plugin.c | 327 ++
117336 tools/perf/util/include/asm/alternative-asm.h | 3 +
117337 virt/kvm/kvm_main.c | 32 +-
117338 1311 files changed, 26668 insertions(+), 6394 deletions(-)
117339 commit a00016a11e35e91aec8e2d9b6ec4c6fbb11d6d2b
117340 Merge: 0949bd4 fc53d63
117341 Author: Brad Spengler <spender@grsecurity.net>
117342 Date: Thu Mar 22 19:03:44 2012 -0400
117343
117344 Merge branch 'pax-test' into grsec-test
117345
117346 commit fc53d6338964741b368070ec5c935bc579b8c2a6
117347 Author: Brad Spengler <spender@grsecurity.net>
117348 Date: Thu Mar 22 19:02:45 2012 -0400
117349
117350 Update to pax-linux-3.2.12-test33.patch
117351
117352 commit 0949bd46a6455b308f66ad7c993bfee62412db35
117353 Author: Brad Spengler <spender@grsecurity.net>
117354 Date: Thu Mar 22 16:56:09 2012 -0400
117355
117356 Use current_umask() instead of current->fs->umask
117357
117358 commit 22f6432d0fe733619cfcb523782ed7d80c46d645
117359 Author: Brad Spengler <spender@grsecurity.net>
117360 Date: Wed Mar 21 19:42:42 2012 -0400
117361
117362 compile fix
117363
117364 commit 0cad49d6b8fbb32395da924c1665a1110a9a9eef
117365 Author: Brad Spengler <spender@grsecurity.net>
117366 Date: Wed Mar 21 19:34:56 2012 -0400
117367
117368 Resolve some very tricky hash table manipulations that resulted in an infinite loop in certain
117369 uses of domains with particular hash collisions
117370
117371 commit 47fc52e0a068a29d6cca2f809daf0679cba33c44
117372 Author: Brad Spengler <spender@grsecurity.net>
117373 Date: Tue Mar 20 20:25:49 2012 -0400
117374
117375 zero kernel_role
117376
117377 commit b00953b43c69238d181d21121ef1577c988d5f6b
117378 Author: Brad Spengler <spender@grsecurity.net>
117379 Date: Tue Mar 20 19:29:34 2012 -0400
117380
117381 zero real_root after releasing it
117382
117383 commit 0b3ab73ce5d34a2c3206955cd65eddd6bdfd32a1
117384 Merge: b724f59 273f98e
117385 Author: Brad Spengler <spender@grsecurity.net>
117386 Date: Tue Mar 20 19:11:26 2012 -0400
117387
117388 Merge branch 'pax-test' into grsec-test
117389
117390 commit 273f98e58cdac555d3b5dce5c1ca168349f95878
117391 Author: Brad Spengler <spender@grsecurity.net>
117392 Date: Tue Mar 20 19:10:52 2012 -0400
117393
117394 Temporary workaround for (most) size_overflow plugin false-positives
117395 Increase randomization for brk-managed heap to 21 bits
117396 Update to pax-linux-3.2.12-test32.patch
117397
117398 commit b724f59125304460c2af8bd4b02921993afbb5d3
117399 Author: Brad Spengler <spender@grsecurity.net>
117400 Date: Tue Mar 20 18:58:53 2012 -0400
117401
117402 compile fix
117403
117404 commit 329f1a9d0f137d0a973316c53bbec18a6eeecd4f
117405 Author: Brad Spengler <spender@grsecurity.net>
117406 Date: Tue Mar 20 18:52:23 2012 -0400
117407
117408 Require default and kernel role
117409
117410 commit a7c5c4f55bdd61cfcd0fb1be7a67160429409878
117411 Author: Brad Spengler <spender@grsecurity.net>
117412 Date: Tue Mar 20 18:47:28 2012 -0400
117413
117414 Allow policies without special roles
117415 don't call free_variables in error path of copy_user_acl, we'll call it later (triggered by a policy without special roles)
117416
117417 commit 402ec3d24d66d38403dc543c84851f5e72d39e22
117418 Merge: 8e012dc f14661a
117419 Author: Brad Spengler <spender@grsecurity.net>
117420 Date: Mon Mar 19 18:06:59 2012 -0400
117421
117422 Merge branch 'pax-test' into grsec-test
117423
117424 Conflicts:
117425 fs/namei.c
117426
117427 commit f14661aaf202155c97f66626cea0269017bb7775
117428 Merge: eae671f 058b017
117429 Author: Brad Spengler <spender@grsecurity.net>
117430 Date: Mon Mar 19 18:05:44 2012 -0400
117431
117432 Merge branch 'linux-3.2.y' into pax-test
117433
117434 commit 8e012dcf7a50b7cde34c2cec93ecedd049123b75
117435 Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
117436 Date: Fri Mar 16 17:08:39 2012 -0700
117437
117438 nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
117439
117440 According to the report from Slicky Devil, nilfs caused kernel oops at
117441 nilfs_load_super_block function during mount after he shrank the
117442 partition without resizing the filesystem:
117443
117444 BUG: unable to handle kernel NULL pointer dereference at 00000048
117445 IP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2]
117446 *pde = 00000000
117447 Oops: 0000 [#1] PREEMPT SMP
117448 ...
117449 Call Trace:
117450 [<d0d7a87b>] init_nilfs+0x4b/0x2e0 [nilfs2]
117451 [<d0d6f707>] nilfs_mount+0x447/0x5b0 [nilfs2]
117452 [<c0226636>] mount_fs+0x36/0x180
117453 [<c023d961>] vfs_kern_mount+0x51/0xa0
117454 [<c023ddae>] do_kern_mount+0x3e/0xe0
117455 [<c023f189>] do_mount+0x169/0x700
117456 [<c023fa9b>] sys_mount+0x6b/0xa0
117457 [<c04abd1f>] sysenter_do_call+0x12/0x28
117458 Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43
117459 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 <8b> 72
117460 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00
117461 EIP: [<d0d7a08e>] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc
117462 CR2: 0000000000000048
117463
117464 This turned out due to a defect in an error path which runs if the
117465 calculated location of the secondary super block was invalid.
117466
117467 This patch fixes it and eliminates the reported oops.
117468
117469 Reported-by: Slicky Devil <slicky.dvl@gmail.com>
117470 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
117471 Tested-by: Slicky Devil <slicky.dvl@gmail.com>
117472 Cc: <stable@vger.kernel.org> [2.6.30+]
117473 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
117474 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117475
117476 commit 8067d7f69bf27dc08057a771cf125e71e4575bf2
117477 Author: Haogang Chen <haogangchen@gmail.com>
117478 Date: Fri Mar 16 17:08:38 2012 -0700
117479
117480 nilfs2: clamp ns_r_segments_percentage to [1, 99]
117481
117482 ns_r_segments_percentage is read from the disk. Bogus or malicious
117483 value could cause integer overflow and malfunction due to meaningless
117484 disk usage calculation. This patch reports error when mounting such
117485 bogus volumes.
117486
117487 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
117488 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
117489 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
117490 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117491
117492 commit e1a90645643f9b0194a5984ec8febd06360d5c8b
117493 Author: Eric Dumazet <eric.dumazet@gmail.com>
117494 Date: Sat Mar 10 09:20:21 2012 +0000
117495
117496 tcp: fix syncookie regression
117497
117498 commit ea4fc0d619 (ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit())
117499 added a serious regression on synflood handling.
117500
117501 Simon Kirby discovered a successful connection was delayed by 20 seconds
117502 before being responsive.
117503
117504 In my tests, I discovered that xmit frames were lost, and needed ~4
117505 retransmits and a socket dst rebuild before being really sent.
117506
117507 In case of syncookie initiated connection, we use a different path to
117508 initialize the socket dst, and inet->cork.fl.u.ip4 is left cleared.
117509
117510 As ip_queue_xmit() now depends on inet flow being setup, fix this by
117511 copying the temp flowi4 we use in cookie_v4_check().
117512
117513 Reported-by: Simon Kirby <sim@netnation.com>
117514 Bisected-by: Simon Kirby <sim@netnation.com>
117515 Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
117516 Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
117517 Signed-off-by: David S. Miller <davem@davemloft.net>
117518
117519 commit 06c6c8628bf38b08b4d97f4c55cde9fdecfb5d65
117520 Author: Stanislav Kinsbursky <skinsbursky@parallels.com>
117521 Date: Mon Mar 12 02:59:41 2012 +0000
117522
117523 tun: don't hold network namespace by tun sockets
117524
117525 v3: added previously removed sock_put() to the tun_release() callback, because
117526 sk_release_kernel() doesn't drop the socket reference.
117527
117528 v2: sk_release_kernel() used for socket release. Dummy tun_release() is
117529 required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
117530 call.
117531
117532 TUN was designed to destroy it's socket on network namesapce shutdown. But this
117533 will never happen for persistent device, because it's socket holds network
117534 namespace.
117535 This patch removes of holding network namespace by TUN socket and replaces it
117536 by creating socket in init_net and then changing it's net it to desired one. On
117537 shutdown socket is moved back to init_net prior to final put.
117538
117539 Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
117540 Signed-off-by: David S. Miller <davem@davemloft.net>
117541
117542 commit 46ae7374bd387c58d673a9e58852a9fd31042c5c
117543 Author: Tyler Hicks <tyhicks@canonical.com>
117544 Date: Mon Dec 12 10:02:30 2011 -0600
117545
117546 vfs: Correctly set the dir i_mutex lockdep class
117547
117548 9a7aa12f3911853a introduced additional logic around setting the i_mutex
117549 lockdep class for directory inodes. The idea was that some filesystems
117550 may want their own special lockdep class for different directory
117551 inodes and calling unlock_new_inode() should not clobber one of
117552 those special classes.
117553
117554 I believe that the added conditional, around the *negated* return value
117555 of lockdep_match_class(), caused directory inodes to be placed in the
117556 wrong lockdep class.
117557
117558 inode_init_always() sets the i_mutex lockdep class with i_mutex_key for
117559 all inodes. If the filesystem did not change the class during inode
117560 initialization, then the conditional mentioned above was false and the
117561 directory inode was incorrectly left in the non-directory lockdep class.
117562 If the filesystem did set a special lockdep class, then the conditional
117563 mentioned above was true and that class was clobbered with
117564 i_mutex_dir_key.
117565
117566 This patch removes the negation from the conditional so that the i_mutex
117567 lockdep class is properly set for directory inodes. Special classes are
117568 preserved and directory inodes with unmodified classes are set with
117569 i_mutex_dir_key.
117570
117571 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
117572 Reviewed-by: Jan Kara <jack@suse.cz>
117573 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
117574
117575 commit 603590b0d2eca61ce26499eac9c563bc567a18c9
117576 Author: Jan Kara <jack@suse.cz>
117577 Date: Mon Feb 20 17:54:00 2012 +0100
117578
117579 udf: Fix deadlock in udf_release_file()
117580
117581 udf_release_file() can be called from munmap() path with mmap_sem held. Thus
117582 we cannot take i_mutex there because that ranks above mmap_sem. Luckily,
117583 i_mutex is not needed in udf_release_file() anymore since protection by
117584 i_data_sem is enough to protect from races with write and truncate.
117585
117586 Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
117587 Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
117588 Signed-off-by: Jan Kara <jack@suse.cz>
117589 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
117590
117591 commit ca79ab9034f3c2f7e3f65c35e0d9ed3ecea529bf
117592 Author: Miklos Szeredi <mszeredi@suse.cz>
117593 Date: Tue Mar 6 13:56:33 2012 +0100
117594
117595 vfs: fix double put after complete_walk()
117596
117597 complete_walk() already puts nd->path, no need to do it again at cleanup time.
117598
117599 This would result in Oopses if triggered, apparently the codepath is not too
117600 well exercised.
117601
117602 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
117603 CC: stable@vger.kernel.org
117604 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
117605
117606 commit 13885ba2b18400f3ef6540497d30f1af896605e5
117607 Author: Miklos Szeredi <mszeredi@suse.cz>
117608 Date: Tue Mar 6 13:56:34 2012 +0100
117609
117610 vfs: fix return value from do_last()
117611
117612 complete_walk() returns either ECHILD or ESTALE. do_last() turns this into
117613 ECHILD unconditionally. If not in RCU mode, this error will reach userspace
117614 which is complete nonsense.
117615
117616 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
117617 CC: stable@vger.kernel.org
117618 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
117619
117620 Conflicts:
117621
117622 fs/namei.c
117623
117624 commit f5ab7572c99ffb58953eb1070622307e904c3b7f
117625 Author: Al Viro <viro@zeniv.linux.org.uk>
117626 Date: Sat Mar 10 17:07:28 2012 -0500
117627
117628 restore smp_mb() in unlock_new_inode()
117629
117630 wait_on_inode() doesn't have ->i_lock
117631
117632 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
117633
117634 commit f3e758cd08e3881982d4b78eb72fe8a1ead6b872
117635 Author: David S. Miller <davem@davemloft.net>
117636 Date: Tue Mar 13 18:19:51 2012 -0700
117637
117638 sparc32: Add -Av8 to assembler command line.
117639
117640 Newer version of binutils are more strict about specifying the
117641 correct options to enable certain classes of instructions.
117642
117643 The sparc32 build is done for v7 in order to support sun4c systems
117644 which lack hardware integer multiply and divide instructions.
117645
117646 So we have to pass -Av8 when building the assembler routines that
117647 use these instructions and get patched into the kernel when we find
117648 out that we have a v8 capable cpu.
117649
117650 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
117651 Signed-off-by: David S. Miller <davem@davemloft.net>
117652
117653 commit 66276ec78b2a971d2e704e5ef963cdc8b6a049a4
117654 Author: Thomas Gleixner <tglx@linutronix.de>
117655 Date: Fri Mar 9 20:55:10 2012 +0100
117656
117657 x86: Derandom delay_tsc for 64 bit
117658
117659 Commit f0fbf0abc093 ("x86: integrate delay functions") converted
117660 delay_tsc() into a random delay generator for 64 bit. The reason is
117661 that it merged the mostly identical versions of delay_32.c and
117662 delay_64.c. Though the subtle difference of the result was:
117663
117664 static void delay_tsc(unsigned long loops)
117665 {
117666 - unsigned bclock, now;
117667 + unsigned long bclock, now;
117668
117669 Now the function uses rdtscl() which returns the lower 32bit of the
117670 TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64
117671 bit this fails when the lower 32bit are close to wrap around when
117672 bclock is read, because the following check
117673
117674 if ((now - bclock) >= loops)
117675 break;
117676
117677 evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0
117678 because the unsigned long (now - bclock) of these values results in
117679 0xffffffff00000001 which is definitely larger than the loops
117680 value. That explains Tvortkos observation:
117681
117682 "Because I am seeing udelay(500) (_occasionally_) being short, and
117683 that by delaying for some duration between 0us (yep) and 491us."
117684
117685 Make those variables explicitely u32 again, so this works for both 32
117686 and 64 bit.
117687
117688 Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
117689 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
117690 Cc: stable@vger.kernel.org # >= 2.6.27
117691 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117692
117693 commit 2d0ddb60f5031bdf79b4d51225f9f2d5856255bf
117694 Author: Al Viro <viro@ZenIV.linux.org.uk>
117695 Date: Thu Mar 8 17:51:19 2012 +0000
117696
117697 aio: fix the "too late munmap()" race
117698
117699 Current code has put_ioctx() called asynchronously from aio_fput_routine();
117700 that's done *after* we have killed the request that used to pin ioctx,
117701 so there's nothing to stop io_destroy() waiting in wait_for_all_aios()
117702 from progressing. As the result, we can end up with async call of
117703 put_ioctx() being the last one and possibly happening during exit_mmap()
117704 or elf_core_dump(), neither of which expects stray munmap() being done
117705 to them...
117706
117707 We do need to prevent _freeing_ ioctx until aio_fput_routine() is done
117708 with that, but that's all we care about - neither io_destroy() nor
117709 exit_aio() will progress past wait_for_all_aios() until aio_fput_routine()
117710 does really_put_req(), so the ioctx teardown won't be done until then
117711 and we don't care about the contents of ioctx past that point.
117712
117713 Since actual freeing of these suckers is RCU-delayed, we don't need to
117714 bump ioctx refcount when request goes into list for async removal.
117715 All we need is rcu_read_lock held just over the ->ctx_lock-protected
117716 area in aio_fput_routine().
117717
117718 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
117719 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
117720 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
117721 Cc: stable@vger.kernel.org
117722 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117723
117724 commit 002124c055afbf09b52226af65621999e8316448
117725 Author: Al Viro <viro@ZenIV.linux.org.uk>
117726 Date: Wed Mar 7 05:16:35 2012 +0000
117727
117728 aio: fix io_setup/io_destroy race
117729
117730 Have ioctx_alloc() return an extra reference, so that caller would drop it
117731 on success and not bother with re-grabbing it on failure exit. The current
117732 code is obviously broken - io_destroy() from another thread that managed
117733 to guess the address io_setup() would've returned would free ioctx right
117734 under us; gets especially interesting if aio_context_t * we pass to
117735 io_setup() points to PROT_READ mapping, so put_user() fails and we end
117736 up doing io_destroy() on kioctx another thread has just got freed...
117737
117738 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
117739 Acked-by: Benjamin LaHaise <bcrl@kvack.org>
117740 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
117741 Cc: stable@vger.kernel.org
117742 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117743
117744 commit a1cd2719b8ed8e40dbd98c87713ac23a2169f6d8
117745 Author: Dan Carpenter <dan.carpenter@oracle.com>
117746 Date: Thu Mar 15 15:17:12 2012 -0700
117747
117748 drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode
117749
117750 strict_strtoul() writes a long but ->gamma_mode only has space to store an
117751 int, so on 64 bit systems we end up scribbling over ->gamma_table_count as
117752 well. I've changed it to use kstrtouint() instead.
117753
117754 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
117755 Acked-by: Inki Dae <inki.dae@samsung.com>
117756 Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
117757 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
117758 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117759
117760 commit cf83f735a5571f4341ee6eab947a1f7d833cea6e
117761 Merge: e4b05b6 eae671f
117762 Author: Brad Spengler <spender@grsecurity.net>
117763 Date: Fri Mar 16 21:04:27 2012 -0400
117764
117765 Merge branch 'pax-test' into grsec-test
117766
117767 Conflicts:
117768 security/Kconfig
117769
117770 commit eae671fafe93f04685c04a089cc13efebc05d600
117771 Author: Brad Spengler <spender@grsecurity.net>
117772 Date: Fri Mar 16 20:58:01 2012 -0400
117773
117774 Update to pax-linux-3.2.11-test31.patch
117775 Introduction of the size_overflow plugin from Emese Revfy
117776 Many thanks to Emese for her hard work :)
117777
117778 commit e4b05b65c645c412eceb9c950ee7b4771627e6b1
117779 Merge: e55aa68 258c015
117780 Author: Brad Spengler <spender@grsecurity.net>
117781 Date: Thu Mar 15 20:59:19 2012 -0400
117782
117783 Merge branch 'pax-test' into grsec-test
117784
117785 commit 258c0159fa6dd5044ca984eeaad57bb6e21bacea
117786 Author: Brad Spengler <spender@grsecurity.net>
117787 Date: Thu Mar 15 20:59:05 2012 -0400
117788
117789 fix ARM compilation
117790
117791 commit e55aa68f4bb20e75cd7423123aa612c2a69590c0
117792 Merge: 8f95ea9 55b7573
117793 Author: Brad Spengler <spender@grsecurity.net>
117794 Date: Wed Mar 14 19:33:41 2012 -0400
117795
117796 Merge branch 'pax-test' into grsec-test
117797
117798 commit 55b7573f6c2f3be26fb39c7bd6a9d742d02811ca
117799 Author: Brad Spengler <spender@grsecurity.net>
117800 Date: Wed Mar 14 19:33:15 2012 -0400
117801
117802 Update to pax-linux-3.2.10-test28.patch
117803
117804 commit 8f95ea9f718c293794a1f6bdd2a5f5f336f7bd64
117805 Merge: c8786a2 886ac5e
117806 Author: Brad Spengler <spender@grsecurity.net>
117807 Date: Tue Mar 13 17:38:13 2012 -0400
117808
117809 Merge branch 'pax-test' into grsec-test
117810
117811 Greets and thanks to snq for his assistance in testing/debugging REFCOUNT on ARM :)
117812
117813 commit 886ac5eeb1835e87cf7398b8aae9e9ba6b36bf77
117814 Author: Brad Spengler <spender@grsecurity.net>
117815 Date: Tue Mar 13 17:37:44 2012 -0400
117816
117817 Update to pax-linux-3.2.10-test26.patch
117818
117819 commit c8786a2abed5e5327f68efa520c04db99bb6a63a
117820 Merge: 219c982 c061fcf
117821 Author: Brad Spengler <spender@grsecurity.net>
117822 Date: Tue Mar 13 17:25:06 2012 -0400
117823
117824 Merge branch 'pax-test' into grsec-test
117825
117826 commit c061fcfa6b78f3774800821144d8ac2d94d7da3e
117827 Merge: 89373d2 3f4b3b2
117828 Author: Brad Spengler <spender@grsecurity.net>
117829 Date: Tue Mar 13 17:25:02 2012 -0400
117830
117831 Merge branch 'linux-3.2.y' into pax-test
117832
117833 commit 219c982a05abe47be4ea7d749e1b408e0cb86f1f
117834 Merge: 54e19a3 89373d2
117835 Author: Brad Spengler <spender@grsecurity.net>
117836 Date: Mon Mar 12 17:23:57 2012 -0400
117837
117838 Merge branch 'pax-test' into grsec-test
117839
117840 commit 89373d2abafb9bda97f78bdb157d1d05cf21e008
117841 Merge: a778588 7459f11
117842 Author: Brad Spengler <spender@grsecurity.net>
117843 Date: Mon Mar 12 17:23:49 2012 -0400
117844
117845 Merge branch 'linux-3.2.y' into pax-test
117846
117847 commit 54e19a3979978fca902b14ae25125f26fbbbc7a7
117848 Merge: c4650f1 a778588
117849 Author: Brad Spengler <spender@grsecurity.net>
117850 Date: Mon Mar 12 16:51:25 2012 -0400
117851
117852 Merge branch 'pax-test' into grsec-test
117853
117854 commit a778588c9d1b75c48c1f09aac98c1b28bd87a749
117855 Author: Brad Spengler <spender@grsecurity.net>
117856 Date: Mon Mar 12 16:51:12 2012 -0400
117857
117858 Update to pax-linux-3.2.9-test24.patch
117859
117860 commit c4650f14b13f84735fe3de06a1f3ff5776473eff
117861 Merge: fb2abee 1015790
117862 Author: Brad Spengler <spender@grsecurity.net>
117863 Date: Sun Mar 11 21:08:28 2012 -0400
117864
117865 Merge branch 'pax-test' into grsec-test
117866
117867 Conflicts:
117868 security/Kconfig
117869
117870 commit 101579028a736c224e590c7e12a7357018c424e1
117871 Author: Brad Spengler <spender@grsecurity.net>
117872 Date: Sun Mar 11 21:07:27 2012 -0400
117873
117874 Update to pax-linux-3.2.9-test22.patch
117875
117876 commit fb2abee4b9b49f5f18342a8cdf7aa3ba2b7c9100
117877 Author: Brad Spengler <spender@grsecurity.net>
117878 Date: Sun Mar 11 11:02:17 2012 -0400
117879
117880 Allow 4096 CPUs
117881
117882 commit 96bae28cbe6a41d48e3b56e5904814096e956000
117883 Author: Brad Spengler <spender@grsecurity.net>
117884 Date: Sun Mar 11 10:25:58 2012 -0400
117885
117886 Use a per-cpu 48-bit counter instead of a global atomic64
117887 Initialize each counter to have the cpu number in the lower 16 bits
117888 instead of incrementing the counter each time by 1, perform the increments
117889 above the cpu number so that wrapping/exhausting the counter doesn't corrupt
117890 any state
117891 idea from PaX Team
117892
117893 commit b975688101da6e966aebb1bc6b8c5c5983974f9c
117894 Author: Brad Spengler <spender@grsecurity.net>
117895 Date: Sat Mar 10 20:33:12 2012 -0500
117896
117897 Special vnsec edition! :)
117898 Further reduce argv/env allowance for suid/sgid apps to 512KB
117899 Clamp suid/sgid stack resource limit to 8MB (preventing compat mmap layout fallback/too large stack gap)
117900 Clear 3GB personality on suid/sgid binaries
117901 Restore 4 bits entropy in the lowest bits of arg/env strings (now 28 bits on x86, 39 bits on x64)
117902 with the main purpose of throwing off program stack -> arg/env alignment
117903 Update documentation
117904
117905 commit e5cfa902c4e891d11dd2086543d2555aa0c27d33
117906 Author: Brad Spengler <spender@grsecurity.net>
117907 Date: Sat Mar 10 19:54:47 2012 -0500
117908
117909 Resolve skbuff.h warnings that turn into errors during compilation in
117910 the grsecurity directory with -Werror
117911
117912 commit 2023210ad43a944033fcacc660ce410888f562ee
117913 Merge: ece4383 5f66adf
117914 Author: Brad Spengler <spender@grsecurity.net>
117915 Date: Fri Mar 9 19:48:01 2012 -0500
117916
117917 Merge branch 'pax-test' into grsec-test
117918
117919 commit 5f66adf72f83730a07bc79a2fab56afed6dbbd0e
117920 Author: Brad Spengler <spender@grsecurity.net>
117921 Date: Fri Mar 9 19:47:06 2012 -0500
117922
117923 Add colorize plugin
117924
117925 commit ece4383e5e91c92d138c4df84225a70b552f4d69
117926 Merge: a366d0e ab4a5a1
117927 Author: Brad Spengler <spender@grsecurity.net>
117928 Date: Fri Mar 9 17:56:46 2012 -0500
117929
117930 Merge branch 'pax-test' into grsec-test
117931
117932 commit ab4a5a1a67289c3585e2ff8aa64ecece7bd17eea
117933 Author: Brad Spengler <spender@grsecurity.net>
117934 Date: Fri Mar 9 17:56:26 2012 -0500
117935
117936 Update to pax-linux-3.2.9-test21.patch
117937
117938 commit a366d0ed963ce93fce10121c1100989d5f064e75
117939 Author: Mikulas Patocka <mpatocka@redhat.com>
117940 Date: Sun Mar 4 19:52:03 2012 -0500
117941
117942 mm: fix find_vma_prev
117943
117944 Commit 6bd4837de96e ("mm: simplify find_vma_prev()") broke memory
117945 management on PA-RISC.
117946
117947 After application of the patch, programs that allocate big arrays on the
117948 stack crash with segfault, for example, this will crash if compiled
117949 without optimization:
117950
117951 int main()
117952 {
117953 char array[200000];
117954 array[199999] = 0;
117955 return 0;
117956 }
117957
117958 The reason is that PA-RISC has up-growing stack and the stack is usually
117959 the last memory area. In the above example, a page fault happens above
117960 the stack.
117961
117962 Previously, if we passed too high address to find_vma_prev, it returned
117963 NULL and stored the last VMA in *pprev. After "simplify find_vma_prev"
117964 change, it stores NULL in *pprev. Consequently, the stack area is not
117965 found and it is not expanded, as it used to be before the change.
117966
117967 This patch restores the old behavior and makes it return the last VMA in
117968 *pprev if the requested address is higher than address of any other VMA.
117969
117970 Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
117971 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
117972 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117973
117974 commit 9cd8dd4d56051099f11563f72fcd91cd0ce19604
117975 Author: Hugh Dickins <hughd@google.com>
117976 Date: Tue Mar 6 12:28:52 2012 -0800
117977
117978 mmap: EINVAL not ENOMEM when rejecting VM_GROWS
117979
117980 Currently error is -ENOMEM when rejecting VM_GROWSDOWN|VM_GROWSUP
117981 from shared anonymous: hoist the file case's -EINVAL up for both.
117982
117983 Signed-off-by: Hugh Dickins <hughd@google.com>
117984 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117985
117986 commit 97745dce6c87f9d9ca5b4be9bd4c2fc1684ca04c
117987 Author: Al Viro <viro@ZenIV.linux.org.uk>
117988 Date: Mon Mar 5 06:38:42 2012 +0000
117989
117990 aout: move setup_arg_pages() prior to reading/mapping the binary
117991
117992 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
117993 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
117994
117995 commit 3b20ce55ae8cffee43cb4afdf5be438b5ac4fef0
117996 Author: Jan Beulich <JBeulich@suse.com>
117997 Date: Mon Mar 5 16:49:24 2012 +0000
117998
117999 vsprintf: make %pV handling compatible with kasprintf()
118000
118001 kasprintf() (and potentially other functions that I didn't run across so
118002 far) want to evaluate argument lists twice. Caring to do so for the
118003 primary list is obviously their job, but they can't reasonably be
118004 expected to check the format string for instances of %pV, which however
118005 need special handling too: On architectures like x86-64 (as opposed to
118006 e.g. ix86), using the same argument list twice doesn't produce the
118007 expected results, as an internally managed cursor gets updated during
118008 the first run.
118009
118010 Fix the problem by always acting on a copy of the original list when
118011 handling %pV.
118012
118013 Signed-off-by: Jan Beulich <jbeulich@suse.com>
118014 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
118015
118016 commit 4146896ab9674f51d4909f3a52bc7fe80f04e4cb
118017 Author: Al Viro <viro@ZenIV.linux.org.uk>
118018 Date: Mon Mar 5 06:39:47 2012 +0000
118019
118020 VM_GROWS{UP,DOWN} shouldn't be set on shmem VMAs
118021
118022 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
118023 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
118024
118025 commit a831bd53764695ea680cc1fa3c98759a610ed2ac
118026 Author: Christian König <deathsimple@vodafone.de>
118027 Date: Tue Feb 28 23:19:20 2012 +0100
118028
118029 drm/radeon: fix uninitialized variable
118030
118031 Without this fix the driver randomly treats
118032 textures as arrays and I'm really wondering
118033 why gcc isn't complaining about it.
118034
118035 Signed-off-by: Christian König <deathsimple@vodafone.de>
118036 Reviewed-by: Jerome Glisse <jglisse@redhat.com>
118037 Signed-off-by: Dave Airlie <airlied@redhat.com>
118038
118039 commit aa2cd55f97f3cc03bdd895b6e8ba99619ee69dfc
118040 Author: H. Peter Anvin <hpa@zytor.com>
118041 Date: Fri Mar 2 10:43:48 2012 -0800
118042
118043 regset: Prevent null pointer reference on readonly regsets
118044
118045 The regset common infrastructure assumed that regsets would always
118046 have .get and .set methods, but not necessarily .active methods.
118047 Unfortunately people have since written regsets without .set methods.
118048
118049 Rather than putting in stub functions everywhere, handle regsets with
118050 null .get or .set methods explicitly.
118051
118052 Signed-off-by: H. Peter Anvin <hpa@zytor.com>
118053 Reviewed-by: Oleg Nesterov <oleg@redhat.com>
118054 Acked-by: Roland McGrath <roland@hack.frob.com>
118055 Cc: <stable@vger.kernel.org>
118056 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
118057
118058 commit 072ddd99401c79b53c6bf6bff9deb93022124c79
118059 Author: Brad Spengler <spender@grsecurity.net>
118060 Date: Mon Mar 5 18:12:57 2012 -0500
118061
118062 Fix compiler errors reported on forums
118063
118064 commit 1606774b48af24e6f99d99c624c0e447d4b66474
118065 Merge: 3127bd5 4ca2ffd
118066 Author: Brad Spengler <spender@grsecurity.net>
118067 Date: Mon Mar 5 17:31:35 2012 -0500
118068
118069 Merge branch 'pax-test' into grsec-test
118070
118071 commit 4ca2ffd9da024f4ba2d0cb6245ba1b2726169452
118072 Author: Brad Spengler <spender@grsecurity.net>
118073 Date: Mon Mar 5 17:31:21 2012 -0500
118074
118075 Update to pax-linux-3.2.9-test20.patch
118076
118077 commit 3127bd581a292966b1057c7433219dac188c3720
118078 Author: Brad Spengler <spender@grsecurity.net>
118079 Date: Fri Mar 2 21:30:37 2012 -0500
118080
118081 Fix memory leak on logged exec_id check failure in /proc/pid/statm
118082 Thanks to Djalal Harouni for the report
118083
118084 commit d9f1a3be0e97e0632f97379322712d8deeb3ce23
118085 Merge: 0a56be8 9aa8288
118086 Author: Brad Spengler <spender@grsecurity.net>
118087 Date: Fri Mar 2 18:38:22 2012 -0500
118088
118089 Merge branch 'pax-test' into grsec-test
118090
118091 commit 9aa8288a09e6e03ce37c08136b26bff17a093b5c
118092 Author: Brad Spengler <spender@grsecurity.net>
118093 Date: Fri Mar 2 18:37:43 2012 -0500
118094
118095 Update to pax-linux-3.2.9-test19.patch
118096
118097 commit 0a56be884bbd7ce733cac0b879c45383494d73b0
118098 Merge: 9e66745 3f5c52a
118099 Author: Brad Spengler <spender@grsecurity.net>
118100 Date: Thu Mar 1 20:18:01 2012 -0500
118101
118102 Merge branch 'pax-test' into grsec-test
118103
118104 commit 3f5c52aba100b3bb252980f9d363aafde52da1a2
118105 Author: Brad Spengler <spender@grsecurity.net>
118106 Date: Thu Mar 1 20:16:56 2012 -0500
118107
118108 Update to pax-linux-3.2.9-test18.patch
118109
118110 commit ae53ec231d12719a36bf871f8c5841020ed692ee
118111 Merge: b255baf 44fb317
118112 Author: Brad Spengler <spender@grsecurity.net>
118113 Date: Thu Mar 1 20:15:31 2012 -0500
118114
118115 Merge branch 'linux-3.2.y' into pax-test
118116
118117 commit 9e667456c03eadea2f305be761abe4de9a5877a3
118118 Merge: 5e4e200 b255baf
118119 Author: Brad Spengler <spender@grsecurity.net>
118120 Date: Mon Feb 27 20:53:59 2012 -0500
118121
118122 Merge branch 'pax-test' into grsec-test
118123
118124 commit b255baf50365d39b406f43aab2c64745607baaa2
118125 Merge: 340ce90 1de504e
118126 Author: Brad Spengler <spender@grsecurity.net>
118127 Date: Mon Feb 27 20:53:29 2012 -0500
118128
118129 Merge branch 'linux-3.2.y' into pax-test
118130 Update to pax-linux-3.2.8-test17.patch
118131
118132 Conflicts:
118133 arch/x86/include/asm/i387.h
118134 arch/x86/kernel/process_32.c
118135 arch/x86/kernel/traps.c
118136
118137 commit 5e4e200ac530452884b625cb75de240e1e98c731
118138 Merge: 44306d7 340ce90
118139 Author: Brad Spengler <spender@grsecurity.net>
118140 Date: Mon Feb 27 18:02:13 2012 -0500
118141
118142 Merge branch 'pax-test' into grsec-test
118143
118144 commit 340ce90d98a043fa8e4ed9ffc229d4c1f86e2fec
118145 Author: Brad Spengler <spender@grsecurity.net>
118146 Date: Mon Feb 27 18:01:48 2012 -0500
118147
118148 Update to pax-linux-3.2.7-test17.patch
118149
118150 commit 44306d7b3097f77e73040dd25f4f6750751bae7a
118151 Merge: 29d0b07 521c411
118152 Author: Brad Spengler <spender@grsecurity.net>
118153 Date: Sun Feb 26 19:04:15 2012 -0500
118154
118155 Merge branch 'pax-test' into grsec-test
118156
118157 Conflicts:
118158 Makefile
118159
118160 commit 521c411bb4ca66ce01146fde8bac9dd22414076d
118161 Author: Brad Spengler <spender@grsecurity.net>
118162 Date: Sun Feb 26 19:03:33 2012 -0500
118163
118164 Update to pax-linux-3.2.7-test16.patch
118165
118166 commit 29d0b07290bb9a10cdfcc3c30058e16265330dea
118167 Author: Brad Spengler <spender@grsecurity.net>
118168 Date: Sun Feb 26 17:12:44 2012 -0500
118169
118170 fix typo
118171
118172 commit 344f6d84e5d3fdc6ec40a078fc2f5861d340b2ef
118173 Merge: f45b3be caa8f83
118174 Author: Brad Spengler <spender@grsecurity.net>
118175 Date: Sat Feb 25 20:59:27 2012 -0500
118176
118177 Merge branch 'pax-test' into grsec-test
118178
118179 commit caa8f83456c4d0b204beefffaa1d1993f2348d08
118180 Author: Brad Spengler <spender@grsecurity.net>
118181 Date: Sat Feb 25 20:59:12 2012 -0500
118182
118183 Update to pax-linux-3.2.7-test15.patch
118184
118185 commit f45b3be34a345502a302e736af9a65742ddef7cb
118186 Merge: 62f35fd 9f1309b
118187 Author: Brad Spengler <spender@grsecurity.net>
118188 Date: Sat Feb 25 11:40:15 2012 -0500
118189
118190 Merge branch 'pax-test' into grsec-test
118191
118192 commit 9f1309b0b935e3b30fc87a9e3009b84cf943ef47
118193 Author: Brad Spengler <spender@grsecurity.net>
118194 Date: Sat Feb 25 11:39:57 2012 -0500
118195
118196 Update to pax-linux-3.2.7-test14.patch
118197
118198 commit 62f35fdbecc58f2988fe13638d907b87a15776bb
118199 Author: Brad Spengler <spender@grsecurity.net>
118200 Date: Sat Feb 25 09:08:55 2012 -0500
118201
118202 We could log on attempted exploits of writing /proc/self/mem, but the current
118203 log function declares the access a read, so just swap the ordering for now
118204
118205 commit 066ee8f9c26f1549b4ad893508777b549c8d4b79
118206 Author: Brad Spengler <spender@grsecurity.net>
118207 Date: Sat Feb 25 08:46:14 2012 -0500
118208
118209 Log /proc/pid/mem attempts
118210
118211 commit 674471e581893a94d475acac3e3c4496209b3ac9
118212 Author: Brad Spengler <spender@grsecurity.net>
118213 Date: Sat Feb 25 08:15:00 2012 -0500
118214
118215 Make use of f_version for protecting /proc file structs (fine since we're not a directory
118216 or seq_file)
118217
118218 commit eab42cfdd237ffcdd8ec24bedecc275a3a9e987f
118219 Author: Brad Spengler <spender@grsecurity.net>
118220 Date: Fri Feb 24 20:02:19 2012 -0500
118221
118222 Fix ia64 compilation
118223
118224 commit 50dfea412fd395e0183c2ade368efa525d38b267
118225 Merge: 12db845 4c6f99b
118226 Author: Brad Spengler <spender@grsecurity.net>
118227 Date: Fri Feb 24 19:00:53 2012 -0500
118228
118229 Merge branch 'pax-test' into grsec-test
118230
118231 commit 4c6f99bf338e03966356b147d0360cb3b522a44f
118232 Author: Brad Spengler <spender@grsecurity.net>
118233 Date: Fri Feb 24 19:00:36 2012 -0500
118234
118235 (6:57:09 PM) pipacs: but you can be proactive
118236 (Fix other-arch atomic64/REFCOUNT compilation failures)
118237
118238 commit 12db8453f6bb0a756f369c9151668ba1249bc478
118239 Author: Brad Spengler <spender@grsecurity.net>
118240 Date: Thu Feb 23 21:10:12 2012 -0500
118241
118242 Remove unnecessary copies, as suggested by solar
118243
118244 commit cc02cab84368467ea03cb35f861a8a7092d91ab4
118245 Author: Brad Spengler <spender@grsecurity.net>
118246 Date: Thu Feb 23 20:59:35 2012 -0500
118247
118248 Make global_exec_counter static, as suggested by solar
118249
118250 commit e642091a475ebb3a30e81f85e7751233d0c2af43
118251 Author: Brad Spengler <spender@grsecurity.net>
118252 Date: Thu Feb 23 19:00:26 2012 -0500
118253
118254 sync with stable tree
118255
118256 commit 6df09c3d8e371905b7b8fe90c4188f23614c6be5
118257 Author: Brad Spengler <spender@grsecurity.net>
118258 Date: Thu Feb 23 18:48:47 2012 -0500
118259
118260 Remove unneeded gr_acl_handle_fchmod, as the code is shared now by gr_acl_handle_chmod
118261 Remove handling of old kludge in chmod/fchmod
118262
118263 commit 815cb62f2ca7b58efc39778b3a855feb675ab56c
118264 Author: Brad Spengler <spender@grsecurity.net>
118265 Date: Thu Feb 23 18:18:49 2012 -0500
118266
118267 Apply umask checks to chmod/fchmod as well, as requested by sponsor
118268 Union the enforced umask with the existing one to produce minimal privilege
118269 Change umask type to u16
118270
118271 commit 0e7668c6abbdbcd3f7f9759e3994d6f4bc9953f0
118272 Author: Brad Spengler <spender@grsecurity.net>
118273 Date: Wed Feb 22 18:16:11 2012 -0500
118274
118275 Add per-role umask enforcement to RBAC, requested by a sponsor
118276
118277 commit ad5ac943fe58199f1cc475912a39edb157acb77b
118278 Merge: dda0bb5 41722e3
118279 Author: Brad Spengler <spender@grsecurity.net>
118280 Date: Mon Feb 20 20:04:42 2012 -0500
118281
118282 Merge branch 'pax-test' into grsec-test
118283
118284 commit 41722e342e116d95f3d3556d66c97c888d752d39
118285 Author: Brad Spengler <spender@grsecurity.net>
118286 Date: Mon Feb 20 20:04:00 2012 -0500
118287
118288 Merge changes from pax-linux-3.2.7-test12.patch, fixes KVM incompatibility with
118289 KERNEXEC plugin
118290
118291 commit dda0bb57137846a476a866c60db2681aaf6052c0
118292 Merge: 4fd554e d70927a
118293 Author: Brad Spengler <spender@grsecurity.net>
118294 Date: Mon Feb 20 20:01:41 2012 -0500
118295
118296 Merge branch 'pax-test' into grsec-test
118297
118298 commit d70927afec977d489a54c106a3c3ddc32e953050
118299 Merge: 1daebf1 9d0231c
118300 Author: Brad Spengler <spender@grsecurity.net>
118301 Date: Mon Feb 20 20:01:33 2012 -0500
118302
118303 Merge branch 'linux-3.2.y' into pax-test
118304
118305 commit 4fd554e3a097b22c5049fcdc423897477deff5ef
118306 Author: Brad Spengler <spender@grsecurity.net>
118307 Date: Mon Feb 20 09:17:57 2012 -0500
118308
118309 Fix wrong logic on capability checks for switching roles, broke policies
118310 Thanks to Richard Kojedzinszky for reporting
118311
118312 commit 12f97d52ac603f24344f8d71569c412a307e9422
118313 Author: Brad Spengler <spender@grsecurity.net>
118314 Date: Thu Feb 16 21:20:10 2012 -0500
118315
118316 sparc64 compile fix
118317
118318 commit 07af3d8e76a6a47ce1836e5b20ed8c0f879c8201
118319 Author: Brad Spengler <spender@grsecurity.net>
118320 Date: Thu Feb 16 18:38:32 2012 -0500
118321
118322 Update configuration help and name for GRKERNSEC_PROC_MEMMAP
118323
118324 commit 5ced6f8def06c2176b40b5fa07345fc723dc4dcb
118325 Author: Brad Spengler <spender@grsecurity.net>
118326 Date: Thu Feb 16 18:18:01 2012 -0500
118327
118328 optimize the check a bit
118329
118330 commit 03159050f64989be44ae03be769cbed62a7cd2e5
118331 Author: Brad Spengler <spender@grsecurity.net>
118332 Date: Thu Feb 16 18:00:45 2012 -0500
118333
118334 smile VUPEN :D
118335 (limit argv+env to 1MB for suid/sgid binaries)
118336
118337 commit dd759d8800d225a397e4de49fe729c7d601298d2
118338 Author: Brad Spengler <spender@grsecurity.net>
118339 Date: Thu Feb 16 17:49:33 2012 -0500
118340
118341 Address Space Protection -> Memory Protections (suggested on IRC for consistency)
118342
118343 commit 4de635bda8ebfb85312e3bf851bdbff93de400da
118344 Author: Brad Spengler <spender@grsecurity.net>
118345 Date: Thu Feb 16 17:45:06 2012 -0500
118346
118347 Change the long long type for exec_id to the proper u64
118348
118349 commit 4feb07e7cb64b3d0f0f8cca1aef70bc725cae6fa
118350 Author: Dan Carpenter <dan.carpenter@oracle.com>
118351 Date: Thu Feb 9 00:46:47 2012 +0000
118352
118353 isdn: type bug in isdn_net_header()
118354
118355 We use len to store the return value from eth_header(). eth_header()
118356 can return -ETH_HLEN (-14). We want to pass this back instead of
118357 truncating it to 65522 and returning that.
118358
118359 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
118360 Acked-by: Neil Horman <nhorman@tuxdriver.com>
118361 Signed-off-by: David S. Miller <davem@davemloft.net>
118362
118363 commit 134ac8545b47f0f27d550ea6e1edb3a1ed7a9748
118364 Author: Heiko Carstens <heiko.carstens@de.ibm.com>
118365 Date: Sat Feb 4 10:47:10 2012 +0100
118366
118367 exec: fix use-after-free bug in setup_new_exec()
118368
118369 Setting the task name is done within setup_new_exec() by accessing
118370 bprm->filename. However this happens after flush_old_exec().
118371 This may result in a use after free bug, flush_old_exec() may
118372 "complete" vfork_done, which will wake up the parent which in turn
118373 may free the passed in filename.
118374 To fix this add a new tcomm field in struct linux_binprm which
118375 contains the now early generated task name until it is used.
118376
118377 Fixes this bug on s390:
118378
118379 Unable to handle kernel pointer dereference at virtual kernel address 0000000039768000
118380 Process kworker/u:3 (pid: 245, task: 000000003a3dc840, ksp: 0000000039453818)
118381 Krnl PSW : 0704000180000000 0000000000282e94 (setup_new_exec+0xa0/0x374)
118382 Call Trace:
118383 ([<0000000000282e2c>] setup_new_exec+0x38/0x374)
118384 [<00000000002dd12e>] load_elf_binary+0x402/0x1bf4
118385 [<0000000000280a42>] search_binary_handler+0x38e/0x5bc
118386 [<0000000000282b6c>] do_execve_common+0x410/0x514
118387 [<0000000000282cb6>] do_execve+0x46/0x58
118388 [<00000000005bce58>] kernel_execve+0x28/0x70
118389 [<000000000014ba2e>] ____call_usermodehelper+0x102/0x140
118390 [<00000000005bc8da>] kernel_thread_starter+0x6/0xc
118391 [<00000000005bc8d4>] kernel_thread_starter+0x0/0xc
118392 Last Breaking-Event-Address:
118393 [<00000000002830f0>] setup_new_exec+0x2fc/0x374
118394
118395 Kernel panic - not syncing: Fatal exception: panic_on_oops
118396
118397 Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
118398 Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
118399 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
118400
118401 commit d758ee9f5230893dabb5aab737b3109684bde196
118402 Author: Dan Carpenter <dan.carpenter@oracle.com>
118403 Date: Fri Feb 10 09:03:58 2012 +0100
118404
118405 relay: prevent integer overflow in relay_open()
118406
118407 "subbuf_size" and "n_subbufs" come from the user and they need to be
118408 capped to prevent an integer overflow.
118409
118410 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
118411 Cc: stable@kernel.org
118412 Signed-off-by: Jens Axboe <axboe@kernel.dk>
118413
118414 commit 40ed7b34848b8e0d7bf9a3fc21a7c75ce1ae507c
118415 Merge: b1baadf 1daebf1
118416 Author: Brad Spengler <spender@grsecurity.net>
118417 Date: Mon Feb 13 17:47:04 2012 -0500
118418
118419 Merge branch 'pax-test' into grsec-test
118420
118421 Conflicts:
118422 fs/proc/base.c
118423
118424 commit 1daebf1d623fe5b0efdd329f78562eb7078bc772
118425 Merge: 1413df2 c2db2e2
118426 Author: Brad Spengler <spender@grsecurity.net>
118427 Date: Mon Feb 13 17:45:54 2012 -0500
118428
118429 Merge branch 'linux-3.2.y' into pax-test
118430
118431 commit b1baadf5047ab67cf61cd20bf58c6afb09c37c7d
118432 Author: Brad Spengler <spender@grsecurity.net>
118433 Date: Sun Feb 12 16:44:05 2012 -0500
118434
118435 add missing declaration
118436
118437 commit 3981059c35e8463002517935c28f3d74b8e3703c
118438 Author: Brad Spengler <spender@grsecurity.net>
118439 Date: Sun Feb 12 16:36:04 2012 -0500
118440
118441 Require CAP_SETUID/CAP_SETGID in a subject in order to change roles
118442 in addition to existing checks (this handles the setresuid ruid = euid case)
118443
118444 commit 0beab03263c773f463412c350ad9064b44b6ede0
118445 Author: Brad Spengler <spender@grsecurity.net>
118446 Date: Sun Feb 12 16:13:40 2012 -0500
118447
118448 Revert setreuid changes when RBAC is enabled, breaks freeradius
118449 I'll fix the learning issue Lavish reported a different way through
118450 gradm modifications
118451
118452 This reverts commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111.
118453
118454 commit 0c61cb1cfbbfec7d07647268c922d51434d22621
118455 Author: Brad Spengler <spender@grsecurity.net>
118456 Date: Sat Feb 11 14:22:46 2012 -0500
118457
118458 copy exec_id on fork
118459
118460 commit 000c08e0890630086b2ed04084050ed856a7ec31
118461 Author: Brad Spengler <spender@grsecurity.net>
118462 Date: Fri Feb 10 20:00:36 2012 -0500
118463
118464 compile fix
118465
118466 commit 54b8c8f54484e5ee18040657827158bc4b63bccc
118467 Author: Brad Spengler <spender@grsecurity.net>
118468 Date: Fri Feb 10 19:19:52 2012 -0500
118469
118470 Introduce enhancement to CONFIG_GRKERNSEC_PROC_MEMMAP
118471 denies reading of sensitive /proc/pid entries where the file descriptor
118472 was opened in a different task than the one performing the read
118473
118474 commit dd19579049186e2648b9ae5e42af04cfda7ab2dc
118475 Author: Brad Spengler <spender@grsecurity.net>
118476 Date: Fri Feb 10 17:43:24 2012 -0500
118477
118478 Remove duplicate signal check
118479
118480 commit 6ff60c34155bb73a4eec7bbfe6f59e9d35e1c0c6
118481 Merge: 4eba97e 1413df2
118482 Author: Brad Spengler <spender@grsecurity.net>
118483 Date: Wed Feb 8 19:24:34 2012 -0500
118484
118485 Merge branch 'pax-test' into grsec-test
118486
118487 commit 1413df258d4664d928b876ffb57e1bdc1ccd06f6
118488 Author: Brad Spengler <spender@grsecurity.net>
118489 Date: Wed Feb 8 19:24:08 2012 -0500
118490
118491 Merge changes from pax-linux-3.2.4-test11.patch
118492
118493 commit 4eba97eda7f7d25b7ab6ad5c9de094545e749044
118494 Merge: 0e058dd 8dd90a2
118495 Author: Brad Spengler <spender@grsecurity.net>
118496 Date: Mon Feb 6 17:50:12 2012 -0500
118497
118498 Merge branch 'pax-test' into grsec-test
118499
118500 commit 8dd90a21adfeefd86134d1fedf77b958bc59eaa3
118501 Author: Brad Spengler <spender@grsecurity.net>
118502 Date: Mon Feb 6 17:49:07 2012 -0500
118503
118504 Merge changes from pax-linux-3.2.4-test10.patch, fixes BPF JIT double-free
118505
118506 commit a6b5dfed0937a0eb386b4b519a387f8e8177ffdc
118507 Merge: 7e4169c 6133971
118508 Author: Brad Spengler <spender@grsecurity.net>
118509 Date: Mon Feb 6 17:48:57 2012 -0500
118510
118511 Merge branch 'linux-3.2.y' into pax-test
118512
118513 commit 0e058dd6d14e0c67c44dd332a871f1fe1bb06095
118514 Author: Brad Spengler <spender@grsecurity.net>
118515 Date: Sun Feb 5 19:24:45 2012 -0500
118516
118517 We now allow configurations with no PaX markings, giving the system no way to override the defaults
118518
118519 commit 9afb0110287e31c3c56d861b4927f64f8dbd7857
118520 Author: Brad Spengler <spender@grsecurity.net>
118521 Date: Sun Feb 5 10:01:23 2012 -0500
118522
118523 Increase the buffer size of logged TPE reason, otherwise we could truncate the "y" in directory
118524
118525 commit a6a0ad24a5f7bef90236d94c1bdfe21d291fc834
118526 Author: Brad Spengler <spender@grsecurity.net>
118527 Date: Sat Feb 4 21:01:16 2012 -0500
118528
118529 Improve security of ptrace-based monitoring/sandboxing
118530 See:
118531 http://article.gmane.org/gmane.linux.kernel.lsm/15156
118532
118533 commit ca4ca5a1027b41f9528794e52a53ce9c47926101
118534 Author: Brad Spengler <spender@grsecurity.net>
118535 Date: Fri Feb 3 20:42:55 2012 -0500
118536
118537 fix typo
118538
118539 commit d54ec64b7078f1dcb71b5d8a29e47d4a0f46c111
118540 Author: Brad Spengler <spender@grsecurity.net>
118541 Date: Fri Feb 3 20:25:38 2012 -0500
118542
118543 Reported by lavish on IRC:
118544 If a suid/sgid binary did not learn any setuid/setgid call during learning,
118545 we would not any CAP_SETUID/CAP_SETGID capability to the task, nor
118546 any restrictions on uid/gid changes. uid and gid can however be changed
118547 within a suid/sgid binary via setresuid/setresgid with ruid/rgid set to
118548 euid/egid.
118549
118550 My fix:
118551 POSIX doesn't specify whether unprivileged users can perform the above
118552 setresuid/setresgid as an unprivileged user, though Linux has historically
118553 permitted them. Modify this behavior when RBAC is enabled to require
118554 CAP_SETUID/CAP_SETGID for these operations.
118555
118556 Thanks to Lavish for the report!
118557
118558 Conflicts:
118559
118560 kernel/sys.c
118561
118562 commit e55be1f30908f1ad4450cb0558cde71ff5c7247f
118563 Merge: ba586eb 7e4169c
118564 Author: Brad Spengler <spender@grsecurity.net>
118565 Date: Fri Feb 3 20:10:21 2012 -0500
118566
118567 Merge branch 'pax-test' into grsec-test
118568
118569 commit 7e4169c6c880ec9641f1178c88545913c8a21e1f
118570 Author: Brad Spengler <spender@grsecurity.net>
118571 Date: Fri Feb 3 20:10:05 2012 -0500
118572
118573 Merge changes from pax-linux-3.2.4-test9.patch
118574
118575 commit ba586ebbcd0ed781e38a99c580a757a00347c6eb
118576 Author: Christopher Yeoh <cyeoh@au1.ibm.com>
118577 Date: Thu Feb 2 11:34:09 2012 +1030
118578
118579 Fix race in process_vm_rw_core
118580
118581 This fixes the race in process_vm_core found by Oleg (see
118582
118583 http://article.gmane.org/gmane.linux.kernel/1235667/
118584
118585 for details).
118586
118587 This has been updated since I last sent it as the creation of the new
118588 mm_access() function did almost exactly the same thing as parts of the
118589 previous version of this patch did.
118590
118591 In order to use mm_access() even when /proc isn't enabled, we move it to
118592 kernel/fork.c where other related process mm access functions already
118593 are.
118594
118595 Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
118596 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
118597
118598 Conflicts:
118599
118600 fs/proc/base.c
118601 mm/process_vm_access.c
118602
118603 commit b9194d60fb9fe579f5c34817ed822abde18939a0
118604 Author: Oleg Nesterov <oleg@redhat.com>
118605 Date: Tue Jan 31 17:15:11 2012 +0100
118606
118607 proc: make sure mem_open() doesn't pin the target's memory
118608
118609 Once /proc/pid/mem is opened, the memory can't be released until
118610 mem_release() even if its owner exits.
118611
118612 Change mem_open() to do atomic_inc(mm_count) + mmput(), this only
118613 pins mm_struct. Change mem_rw() to do atomic_inc_not_zero(mm_count)
118614 before access_remote_vm(), this verifies that this mm is still alive.
118615
118616 I am not sure what should mem_rw() return if atomic_inc_not_zero()
118617 fails. With this patch it returns zero to match the "mm == NULL" case,
118618 may be it should return -EINVAL like it did before e268337d.
118619
118620 Perhaps it makes sense to add the additional fatal_signal_pending()
118621 check into the main loop, to ensure we do not hold this memory if
118622 the target task was oom-killed.
118623
118624 Cc: stable@kernel.org
118625 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
118626 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
118627
118628 commit d4500134f9363bc79556e0e7a1fd811cd8552cc4
118629 Author: Oleg Nesterov <oleg@redhat.com>
118630 Date: Tue Jan 31 17:14:38 2012 +0100
118631
118632 proc: mem_release() should check mm != NULL
118633
118634 mem_release() can hit mm == NULL, add the necessary check.
118635
118636 Cc: stable@kernel.org
118637 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
118638 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
118639
118640 commit 5d1c11221a86f233fdbb232312a561f85d0a3a05
118641 Author: Oleg Nesterov <oleg@redhat.com>
118642 Date: Tue Jan 31 17:14:54 2012 +0100
118643
118644 note: redisabled mem_write
118645
118646 proc: unify mem_read() and mem_write()
118647
118648 No functional changes, cleanup and preparation.
118649
118650 mem_read() and mem_write() are very similar. Move this code into the
118651 new common helper, mem_rw(), which takes the additional "int write"
118652 argument.
118653
118654 Cc: stable@kernel.org
118655 Signed-off-by: Oleg Nesterov <oleg@redhat.com>
118656 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
118657
118658 Conflicts:
118659
118660 fs/proc/base.c
118661
118662 commit af966b421d9f55ab7e1a8b2741beba44b22bc2e0
118663 Merge: 3903f01 01fee18
118664 Author: Brad Spengler <spender@grsecurity.net>
118665 Date: Fri Feb 3 19:50:40 2012 -0500
118666
118667 Merge branch 'pax-test' into grsec-test
118668
118669 commit 01fee1851aef26b898ccba5312cabf1f919b74cb
118670 Author: Brad Spengler <spender@grsecurity.net>
118671 Date: Fri Feb 3 19:49:46 2012 -0500
118672
118673 Merge changes from pax-linux-3.2.4-test8.patch
118674
118675 commit c2490ddbfc3f5dd664dd0e1b8575856c3be01879
118676 Merge: 201c0db 141936c
118677 Author: Brad Spengler <spender@grsecurity.net>
118678 Date: Fri Feb 3 19:49:01 2012 -0500
118679
118680 Merge branch 'linux-3.2.y' into pax-test
118681
118682 commit 3903f0172ecadf7a575ba3535402a1506133640a
118683 Author: Brad Spengler <spender@grsecurity.net>
118684 Date: Mon Jan 30 23:26:44 2012 -0500
118685
118686 Implement new version of CONFIG_GRKERNSEC_SYSFS_RESTRICT
118687
118688 We'll whitelist required directories for compatibility instead of requiring
118689 that people disable the feature entirely if they use SELinux, fuse, etc
118690
118691 Conflicts:
118692
118693 fs/sysfs/mount.c
118694
118695 commit e3618feaa7e63807f1b88c199882075b3ec9bd05
118696 Author: Brad Spengler <spender@grsecurity.net>
118697 Date: Sun Jan 29 01:12:19 2012 -0500
118698
118699 perform RBAC check if TPE is on but match fails, matches previous behavior
118700
118701 commit 627b7fe22799a86e2f81a74f0e0c53474bec3100
118702 Author: Brad Spengler <spender@grsecurity.net>
118703 Date: Sat Jan 28 13:17:06 2012 -0500
118704
118705 log more information about the reason for a TPE denial for novice users, requested by a sponsor
118706
118707 commit efefd67008cbad8a8591e2484410966a300a39a5
118708 Author: Brad Spengler <spender@grsecurity.net>
118709 Date: Fri Jan 27 19:58:53 2012 -0500
118710
118711 merge upstream sha512 changes
118712
118713 commit 8a79280377db78fb2091fe01eddb9e24f75d9fe1
118714 Author: Brad Spengler <spender@grsecurity.net>
118715 Date: Fri Jan 27 19:49:07 2012 -0500
118716
118717 drop lock on error in xfs_readlink
118718
118719 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aaad641eadfd3e74b0fbb68fcf539b9cef0415d0
118720
118721 commit aa5f2f63e37f426bf2211c5fb8f7bc70de14f08a
118722 Author: Li Wang <liwang@nudt.edu.cn>
118723 Date: Thu Jan 19 09:44:36 2012 +0800
118724
118725 eCryptfs: Infinite loop due to overflow in ecryptfs_write()
118726
118727 ecryptfs_write() can enter an infinite loop when truncating a file to a
118728 size larger than 4G. This only happens on architectures where size_t is
118729 represented by 32 bits.
118730
118731 This was caused by a size_t overflow due to it incorrectly being used to
118732 store the result of a calculation which uses potentially large values of
118733 type loff_t.
118734
118735 [tyhicks@canonical.com: rewrite subject and commit message]
118736 Signed-off-by: Li Wang <liwang@nudt.edu.cn>
118737 Signed-off-by: Yunchuan Wen <wenyunchuan@kylinos.com.cn>
118738 Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
118739 Cc: <stable@vger.kernel.org>
118740 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
118741
118742 commit a7607747d0f74f357d78bb796d70635dd05f46e8
118743 Author: Tyler Hicks <tyhicks@canonical.com>
118744 Date: Thu Jan 19 20:33:44 2012 -0600
118745
118746 eCryptfs: Check inode changes in setattr
118747
118748 Most filesystems call inode_change_ok() very early in ->setattr(), but
118749 eCryptfs didn't call it at all. It allowed the lower filesystem to make
118750 the call in its ->setattr() function. Then, eCryptfs would copy the
118751 appropriate inode attributes from the lower inode to the eCryptfs inode.
118752
118753 This patch changes that and actually calls inode_change_ok() on the
118754 eCryptfs inode, fairly early in ecryptfs_setattr(). Ideally, the call
118755 would happen earlier in ecryptfs_setattr(), but there are some possible
118756 inode initialization steps that must happen first.
118757
118758 Since the call was already being made on the lower inode, the change in
118759 functionality should be minimal, except for the case of a file extending
118760 truncate call. In that case, inode_newsize_ok() was never being
118761 called on the eCryptfs inode. Rather than inode_newsize_ok() catching
118762 maximum file size errors early on, eCryptfs would encrypt zeroed pages
118763 and write them to the lower filesystem until the lower filesystem's
118764 write path caught the error in generic_write_checks(). This patch
118765 introduces a new function, called ecryptfs_inode_newsize_ok(), which
118766 checks if the new lower file size is within the appropriate limits when
118767 the truncate operation will be growing the lower file.
118768
118769 In summary this change prevents eCryptfs truncate operations (and the
118770 resulting page encryptions), which would exceed the lower filesystem
118771 limits or FSIZE rlimits, from ever starting.
118772
118773 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
118774 Reviewed-by: Li Wang <liwang@nudt.edu.cn>
118775 Cc: <stable@vger.kernel.org>
118776
118777 commit 0d96f190a39505254ace4e9330219aaeda9b64e3
118778 Author: Tyler Hicks <tyhicks@canonical.com>
118779 Date: Wed Jan 18 18:30:04 2012 -0600
118780
118781 eCryptfs: Make truncate path killable
118782
118783 ecryptfs_write() handles the truncation of eCryptfs inodes. It grabs a
118784 page, zeroes out the appropriate portions, and then encrypts the page
118785 before writing it to the lower filesystem. It was unkillable and due to
118786 the lack of sparse file support could result in tying up a large portion
118787 of system resources, while encrypting pages of zeros, with no way for
118788 the truncate operation to be stopped from userspace.
118789
118790 This patch adds the ability for ecryptfs_write() to detect a pending
118791 fatal signal and return as gracefully as possible. The intent is to
118792 leave the lower file in a useable state, while still allowing a user to
118793 break out of the encryption loop. If a pending fatal signal is detected,
118794 the eCryptfs inode size is updated to reflect the modified inode size
118795 and then -EINTR is returned.
118796
118797 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
118798 Cc: <stable@vger.kernel.org>
118799
118800 commit a02d0d2516b9e92edffeb8fca87462bca49c1f6f
118801 Author: Tyler Hicks <tyhicks@canonical.com>
118802 Date: Tue Jan 24 10:02:22 2012 -0600
118803
118804 eCryptfs: Fix oops when printing debug info in extent crypto functions
118805
118806 If pages passed to the eCryptfs extent-based crypto functions are not
118807 mapped and the module parameter ecryptfs_verbosity=1 was specified at
118808 loading time, a NULL pointer dereference will occur.
118809
118810 Note that this wouldn't happen on a production system, as you wouldn't
118811 pass ecryptfs_verbosity=1 on a production system. It leaks private
118812 information to the system logs and is for debugging only.
118813
118814 The debugging info printed in these messages is no longer very useful
118815 and rather than doing a kmap() in these debugging paths, it will be
118816 better to simply remove the debugging paths completely.
118817
118818 https://launchpad.net/bugs/913651
118819
118820 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
118821 Reported-by: Daniel DeFreez
118822 Cc: <stable@vger.kernel.org>
118823
118824 commit b1c44d3054dc7f293b2e0a98c0e9e5e03e01f04c
118825 Author: Tyler Hicks <tyhicks@canonical.com>
118826 Date: Thu Jan 12 11:30:44 2012 +0100
118827
118828 eCryptfs: Sanitize write counts of /dev/ecryptfs
118829
118830 A malicious count value specified when writing to /dev/ecryptfs may
118831 result in a a very large kernel memory allocation.
118832
118833 This patch peeks at the specified packet payload size, adds that to the
118834 size of the packet headers and compares the result with the write count
118835 value. The resulting maximum memory allocation size is approximately 532
118836 bytes.
118837
118838 Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
118839 Reported-by: Sasha Levin <levinsasha928@gmail.com>
118840 Cc: <stable@vger.kernel.org>
118841
118842 commit 96dcb7282d323813181a1791f51c0ab7696b675b
118843 Merge: 6c09fa5 201c0db
118844 Author: Brad Spengler <spender@grsecurity.net>
118845 Date: Fri Jan 27 19:44:15 2012 -0500
118846
118847 Merge branch 'pax-test' into grsec-test
118848
118849 commit 201c0dbf177527367676028151e36d340923f033
118850 Author: Brad Spengler <spender@grsecurity.net>
118851 Date: Fri Jan 27 19:43:24 2012 -0500
118852
118853 Merge changes from pax-linux-3.2.2-test6.patch, fixes 0 order vmalloc allocation errors
118854 on loading modules with empty sections
118855
118856 commit 6c09fa566a7c29f00556ca12f343f2db91c4f42b
118857 Author: Brad Spengler <spender@grsecurity.net>
118858 Date: Fri Jan 27 19:42:13 2012 -0500
118859
118860 compile fix
118861
118862 commit 917ae526b4fcec2b3e1afefa13de9dff7d8a5423
118863 Author: Brad Spengler <spender@grsecurity.net>
118864 Date: Fri Jan 27 19:39:28 2012 -0500
118865
118866 use LSM flags instead of duplicating checks
118867
118868 commit 0cf3be2ea2ae43c9dd4933fb26c0429041b8acb8
118869 Merge: 44b9f11 558718b
118870 Author: Brad Spengler <spender@grsecurity.net>
118871 Date: Fri Jan 27 18:56:23 2012 -0500
118872
118873 Merge branch 'pax-test' into grsec-test
118874
118875 commit 558718b2217beff69edf60f34a6f9893d910e9ac
118876 Author: Brad Spengler <spender@grsecurity.net>
118877 Date: Fri Jan 27 18:56:04 2012 -0500
118878
118879 Merge changes from pax-linux-3.2.2-test6.patch
118880
118881 commit 44b9f1132b2de7cbf5f57525fe0f7f9fb0a76507
118882 Author: Brad Spengler <spender@grsecurity.net>
118883 Date: Fri Jan 27 18:53:55 2012 -0500
118884
118885 don't increase the size of task_struct when unnecessary
118886 change ptrace_readexec log message
118887
118888 commit a9c9626e054adb885883aa64f85506852894dd33
118889 Author: Brad Spengler <spender@grsecurity.net>
118890 Date: Fri Jan 27 18:16:28 2012 -0500
118891
118892 Update documentation for CONFIG_GRKERNSEC_PTRACE_READEXEC --
118893 the protection applies to all unreadable binaries.
118894
118895 commit 98fdf4ab69eba7a72efb2054295daafdbbc2fb8f
118896 Merge: 7b3f3af 05a1349
118897 Author: Brad Spengler <spender@grsecurity.net>
118898 Date: Wed Jan 25 20:52:09 2012 -0500
118899
118900 Merge branch 'pax-test' into grsec-test
118901
118902 Conflicts:
118903 block/scsi_ioctl.c
118904 drivers/scsi/sd.c
118905 fs/proc/base.c
118906
118907 commit 05a134966efb9cb9346ad3422888969ffc79ac1d
118908 Author: Brad Spengler <spender@grsecurity.net>
118909 Date: Wed Jan 25 20:47:36 2012 -0500
118910
118911 Resync with pax-linux-3.2.2-test5.patch
118912
118913 commit 5ecaafd81b229aeeb5656df36f9c8da86307f82a
118914 Merge: c6d443d 3499d64
118915 Author: Brad Spengler <spender@grsecurity.net>
118916 Date: Wed Jan 25 20:45:16 2012 -0500
118917
118918 Merge branch 'linux-3.2.y' into pax-test (and pax-linux-3.2.2-test5.patch)
118919
118920 Conflicts:
118921 ipc/shm.c
118922
118923 commit 7b3f3afd7444613c759d68ff8c2efaebfae3bab1
118924 Author: Brad Spengler <spender@grsecurity.net>
118925 Date: Tue Jan 24 19:42:01 2012 -0500
118926
118927 Add two new features, one is automatic by enabling CONFIG_GRKERNSEC
118928 (may be changed if it breaks some userland), the other has its own
118929 config option
118930
118931 First feature requires CAP_SYS_ADMIN to write to any sysctl entry via
118932 the syscall or /proc/sys.
118933
118934 Second feature requires read access to a suid/sgid binary in order
118935 to ptrace it, preventing infoleaking of binaries in situations where
118936 the admin has specified 4711 or 2711 perms. Feature has been
118937 given the config option CONFIG_GRKERNSEC_PTRACE_READEXEC and
118938 a sysctl entry of ptrace_readexec
118939
118940 commit 11a7bb25c411c9dccfdca5718639b4becdffd388
118941 Author: Brad Spengler <spender@grsecurity.net>
118942 Date: Sun Jan 22 14:37:10 2012 -0500
118943
118944 Compilation fixes
118945
118946 commit cd400e21c7c352baba47d6f375297a7847afb33a
118947 Author: Brad Spengler <spender@grsecurity.net>
118948 Date: Sun Jan 22 14:20:27 2012 -0500
118949
118950 Initial port of grsecurity 2.2.2 for Linux 3.2.1
118951 Note that the new syscalls added to this kernel for remote process read/write
118952 are subject to ptrace hardening/other relevant RBAC features
118953 /proc/slabinfo is S_IRUSR via mainline now, so I made slab_allocators S_IRUSR by default
118954 as well
118955 pax_track_stack has been removed from support for this kernel -- if you're running this kernel
118956 you should be using a version of gcc with plugin support
118957
118958 commit c6d443d1270f455c56a4ffe0f1dd3d3e7ec12a2f
118959 Author: Brad Spengler <spender@grsecurity.net>
118960 Date: Sun Jan 22 11:47:31 2012 -0500
118961
118962 Import pax-linux-3.2.1-test5.patch
118963 commit bfd7db842f835f9837cd43644459b3a95b0b488d
118964 Author: Brad Spengler <spender@grsecurity.net>
118965 Date: Sun Jan 22 11:02:02 2012 -0500
118966
118967 Allow processes to access others' /proc/pid/maps files (subject to the normal modification of data)
118968 instead of returning -EACCES
118969 thanks to Wraith from irc for the report
118970
118971 commit 873ac13576506cd48ddb527c2540f274e249da50
118972 Merge: 34083dd 8a44fcc
118973 Author: Brad Spengler <spender@grsecurity.net>
118974 Date: Fri Jan 20 18:04:02 2012 -0500
118975
118976 Merge branch 'pax-test' into grsec-test
118977
118978 commit 8a44fcc90cf3368003dc84e1ed013b2e4248c9b2
118979 Author: Brad Spengler <spender@grsecurity.net>
118980 Date: Fri Jan 20 18:02:15 2012 -0500
118981
118982 Merge the diff between pax-linux-3.2.1-test4.patch and pax-linux-3.2.1-test5.patch
118983 Denies executable shared memory when MPROTECT is active
118984 Fixes ia32 emulation crash on 64bit host introduced in a recent patch
118985
118986 commit 34083ddf5c0b2b1c0f5e9f7d9e32ddcba223446b
118987 Author: Brad Spengler <spender@grsecurity.net>
118988 Date: Thu Jan 19 20:23:14 2012 -0500
118989
118990 Introduce new GRKERNSEC_SETXID implementation
118991 We're not able to change the credentials of other threads in the process until at most
118992 one syscall after the first thread does it, since we mark the threads as needing rescheduling
118993 and such work occurs on syscall exit.
118994 This does however ensure that we're only modifying the current task's credentials
118995 which upholds RCU expectations
118996
118997 Many thanks to corsac for testing
118998
118999 commit 5f900ad54d3992a4e1cda88273acc2f897a42e71
119000 Author: Brad Spengler <spender@grsecurity.net>
119001 Date: Thu Jan 19 17:42:48 2012 -0500
119002
119003 Simplify backport
119004
119005 commit f02e444f7b2fb286f99d3b4031ff4e44a4606c37
119006 Author: Brad Spengler <spender@grsecurity.net>
119007 Date: Thu Jan 19 17:08:16 2012 -0500
119008
119009 Commit the latest silent fix for a local privilege escalation from Linus
119010 Also disable writing to /proc/pid/mem
119011 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e268337dfe26dfc7efd422a804dbb27977a3cccc
119012
119013 commit 814d38c72b1ee3338294576a05af4f6ca9cffa6c
119014 Merge: 0394a3f 7e6299b
119015 Author: Brad Spengler <spender@grsecurity.net>
119016 Date: Wed Jan 18 20:22:09 2012 -0500
119017
119018 Merge branch 'pax-test' into grsec-test
119019
119020 commit 7e6299b4733c082dde930375dd207b63237751ec
119021 Merge: 83555fb 9bb1282
119022 Author: Brad Spengler <spender@grsecurity.net>
119023 Date: Wed Jan 18 20:21:37 2012 -0500
119024
119025 Merge branch 'linux-3.1.y' into pax-test
119026
119027 commit 0394a3f36c6195dcaf22e265c94d11bb7338c6f7
119028 Author: Jesper Juhl <jj@chaosbits.net>
119029 Date: Sun Jan 8 22:44:29 2012 +0100
119030
119031 audit: always follow va_copy() with va_end()
119032
119033 A call to va_copy() should always be followed by a call to va_end() in
119034 the same function. In kernel/autit.c::audit_log_vformat() this is not
119035 always done. This patch makes sure va_end() is always called.
119036
119037 Signed-off-by: Jesper Juhl <jj@chaosbits.net>
119038 Cc: Al Viro <viro@zeniv.linux.org.uk>
119039 Cc: Eric Paris <eparis@redhat.com>
119040 Cc: Andrew Morton <akpm@linux-foundation.org>
119041 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119042
119043 commit fcbb39319e88bfdf70efe3931cf80a9f23b1a4d9
119044 Author: Andi Kleen <ak@linux.intel.com>
119045 Date: Thu Jan 12 17:20:30 2012 -0800
119046
119047 panic: don't print redundant backtraces on oops
119048
119049 When an oops causes a panic and panic prints another backtrace it's pretty
119050 common to have the original oops data be scrolled away on a 80x50 screen.
119051
119052 The second backtrace is quite redundant and not needed anyways.
119053
119054 So don't print the panic backtrace when oops_in_progress is true.
119055
119056 [akpm@linux-foundation.org: add comment]
119057 Signed-off-by: Andi Kleen <ak@linux.intel.com>
119058 Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
119059 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
119060 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119061
119062 commit 22e4717d04333e2aff6d5d1b2c1b16045f367a1f
119063 Author: Miklos Szeredi <mszeredi@suse.cz>
119064 Date: Thu Jan 12 17:59:46 2012 +0100
119065
119066 fsnotify: don't BUG in fsnotify_destroy_mark()
119067
119068 Removing the parent of a watched file results in "kernel BUG at
119069 fs/notify/mark.c:139".
119070
119071 To reproduce
119072
119073 add "-w /tmp/audit/dir/watched_file" to audit.rules
119074 rm -rf /tmp/audit/dir
119075
119076 This is caused by fsnotify_destroy_mark() being called without an
119077 extra reference taken by the caller.
119078
119079 Reported by Francesco Cosoleto here:
119080
119081 https://bugzilla.novell.com/show_bug.cgi?id=689860
119082
119083 Fix by removing the BUG_ON and adding a comment about not accessing mark after
119084 the iput.
119085
119086 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
119087 CC: stable@vger.kernel.org
119088 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119089
119090 commit 1a90cff66ed00cd57bf00a990d13e95060fa362c
119091 Author: Paolo Bonzini <pbonzini@redhat.com>
119092 Date: Thu Jan 12 16:01:28 2012 +0100
119093
119094 block: fail SCSI passthrough ioctls on partition devices
119095
119096 Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
119097 will pass the command to the underlying block device. This is
119098 well-known, but it is also a large security problem when (via Unix
119099 permissions, ACLs, SELinux or a combination thereof) a program or user
119100 needs to be granted access only to part of the disk.
119101
119102 This patch lets partitions forward a small set of harmless ioctls;
119103 others are logged with printk so that we can see which ioctls are
119104 actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
119105 Of course it was being sent to a (partition on a) hard disk, so it would
119106 have failed with ENOTTY and the patch isn't changing anything in
119107 practice. Still, I'm treating it specially to avoid spamming the logs.
119108
119109 In principle, this restriction should include programs running with
119110 CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
119111 /dev/sdb, it still should not be able to read/write outside the
119112 boundaries of /dev/sda2 independent of the capabilities. However, for
119113 now programs with CAP_SYS_RAWIO will still be allowed to send the
119114 ioctls. Their actions will still be logged.
119115
119116 This patch does not affect the non-libata IDE driver. That driver
119117 however already tests for bd != bd->bd_contains before issuing some
119118 ioctl; it could be restricted further to forbid these ioctls even for
119119 programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.
119120
119121 Cc: linux-scsi@vger.kernel.org
119122 Cc: Jens Axboe <axboe@kernel.dk>
119123 Cc: James Bottomley <JBottomley@parallels.com>
119124 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
119125 [ Make it also print the command name when warning - Linus ]
119126 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119127
119128 commit b41a1178caa15bd7d6d5b36c04c7b1ead05717e2
119129 Author: Paolo Bonzini <pbonzini@redhat.com>
119130 Date: Thu Jan 12 16:01:27 2012 +0100
119131
119132 block: add and use scsi_blk_cmd_ioctl
119133
119134 Introduce a wrapper around scsi_cmd_ioctl that takes a block device.
119135
119136 The function will then be enhanced to detect partition block devices
119137 and, in that case, subject the ioctls to whitelisting.
119138
119139 Cc: linux-scsi@vger.kernel.org
119140 Cc: Jens Axboe <axboe@kernel.dk>
119141 Cc: James Bottomley <JBottomley@parallels.com>
119142 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
119143 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119144
119145 commit 97a79814903fc350e1d13704ea31528a42705401
119146 Author: Kees Cook <keescook@chromium.org>
119147 Date: Sat Jan 7 10:41:04 2012 -0800
119148
119149 audit: treat s_id as an untrusted string
119150
119151 The use of s_id should go through the untrusted string path, just to be
119152 extra careful.
119153
119154 Signed-off-by: Kees Cook <keescook@chromium.org>
119155 Acked-by: Mimi Zohar <zohar@us.ibm.com>
119156 Signed-off-by: Eric Paris <eparis@redhat.com>
119157
119158 commit 2d3f39e9dd73f26a8248fd4442f110d983c5b419
119159 Author: Xi Wang <xi.wang@gmail.com>
119160 Date: Tue Dec 20 18:39:41 2011 -0500
119161
119162 audit: fix signedness bug in audit_log_execve_info()
119163
119164 In the loop, a size_t "len" is used to hold the return value of
119165 audit_log_single_execve_arg(), which returns -1 on error. In that
119166 case the error handling (len <= 0) will be bypassed since "len" is
119167 unsigned, and the loop continues with (p += len) being wrapped.
119168 Change the type of "len" to signed int to fix the error handling.
119169
119170 size_t len;
119171 ...
119172 for (...) {
119173 len = audit_log_single_execve_arg(...);
119174 if (len <= 0)
119175 break;
119176 p += len;
119177 }
119178
119179 Signed-off-by: Xi Wang <xi.wang@gmail.com>
119180 Signed-off-by: Eric Paris <eparis@redhat.com>
119181
119182 commit 1b3dc2ea3204fb22b9d0d30b2b7953991f5be594
119183 Author: Dan Carpenter <dan.carpenter@oracle.com>
119184 Date: Tue Jan 17 03:28:51 2012 -0300
119185
119186 [media] ds3000: using logical && instead of bitwise &
119187
119188 The intent here was to test if the FE_HAS_LOCK was set. The current
119189 test is equivalent to "if (status) { ..."
119190
119191 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
119192 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
119193
119194 commit 36522330dc59d2fc70c042f3f081d75c32b6259a
119195 Author: Brad Spengler <spender@grsecurity.net>
119196 Date: Mon Jan 16 13:10:38 2012 -0500
119197
119198 Ignore the 0 signal for protected task RBAC checks
119199
119200 commit d513acd55f7a683f6e146a4f570cdb63300479ab
119201 Author: Brad Spengler <spender@grsecurity.net>
119202 Date: Mon Jan 16 11:56:13 2012 -0500
119203
119204 whitespace cleanup
119205
119206 commit ced261c4b82818c700aff8487f647f6f3e5b5122
119207 Merge: d48751f 83555fb
119208 Author: Brad Spengler <spender@grsecurity.net>
119209 Date: Fri Jan 13 20:12:54 2012 -0500
119210
119211 Merge branch 'pax-test' into grsec-test
119212
119213 commit 83555fb431e5be6c0e09687ff3bdc583f0caf9d9
119214 Merge: fcd8129 93dad39
119215 Author: Brad Spengler <spender@grsecurity.net>
119216 Date: Fri Jan 13 20:12:43 2012 -0500
119217
119218 Merge branch 'linux-3.1.y' into pax-test
119219
119220 commit d48751f3919ae855fda0ff6c149db82442329253
119221 Author: Brad Spengler <spender@grsecurity.net>
119222 Date: Wed Jan 11 19:05:47 2012 -0500
119223
119224 Call our own set_user when forcing change to new id
119225
119226 commit 26d9d497f6b926bc1699980aa18c360a3d3c52a0
119227 Merge: e6578ff fcd8129
119228 Author: Brad Spengler <spender@grsecurity.net>
119229 Date: Tue Jan 10 16:00:10 2012 -0500
119230
119231 Merge branch 'pax-test' into grsec-test
119232
119233 commit fcd8129277601f2e2d5a2066120cf8b2472d7d1f
119234 Author: Brad Spengler <spender@grsecurity.net>
119235 Date: Tue Jan 10 15:58:43 2012 -0500
119236
119237 Merge changes from pax-linux-3.1.8-test23.patch
119238
119239 commit e6578ff3e7629c432ed9b99bde6af2a1c00279b5
119240 Merge: 8859ec3 a120549
119241 Author: Brad Spengler <spender@grsecurity.net>
119242 Date: Fri Jan 6 21:45:56 2012 -0500
119243
119244 Merge branch 'pax-test' into grsec-test
119245
119246 commit a12054967a77090de1caa07c41e694a77db4e237
119247 Author: Brad Spengler <spender@grsecurity.net>
119248 Date: Fri Jan 6 21:45:30 2012 -0500
119249
119250 Merge changes from pax-linux-3.1.8-test22.patch
119251
119252 commit 8859ec32f9815c274df65448f9f2960176c380d3
119253 Merge: a5016b4 ddd4114
119254 Author: Brad Spengler <spender@grsecurity.net>
119255 Date: Fri Jan 6 21:26:08 2012 -0500
119256
119257 Merge branch 'pax-test' into grsec-test
119258
119259 Conflicts:
119260 fs/binfmt_elf.c
119261 security/Kconfig
119262
119263 commit ddd41147e158a79704983a409b7433eba797cf66
119264 Author: Brad Spengler <spender@grsecurity.net>
119265 Date: Fri Jan 6 21:12:42 2012 -0500
119266
119267 Resync with PaX patch (whitespace difference)
119268
119269 commit 29e569df8205c5f0e043fe4803aa984406c8b118
119270 Author: Brad Spengler <spender@grsecurity.net>
119271 Date: Fri Jan 6 21:09:47 2012 -0500
119272
119273 Merge changes from pax-linux-3.1.8-test21.patch
119274
119275 commit a5016b4f9c09c337b17e063a7f369af1e86d944d
119276 Merge: 0124c92 04231d5
119277 Author: Brad Spengler <spender@grsecurity.net>
119278 Date: Fri Jan 6 18:52:20 2012 -0500
119279
119280 Merge branch 'pax-test' into grsec-test
119281
119282 commit 04231d52dc8d0d6788a6bc6709dc046d3eb37097
119283 Merge: 7bdddeb a919904
119284 Author: Brad Spengler <spender@grsecurity.net>
119285 Date: Fri Jan 6 18:51:50 2012 -0500
119286
119287 Merge branch 'linux-3.1.y' into pax-test
119288
119289 Conflicts:
119290 include/net/flow.h
119291
119292 commit 0124c9264234c450904a0a5fa2f8c608ab8e3796
119293 Author: Brad Spengler <spender@grsecurity.net>
119294 Date: Fri Jan 6 18:33:05 2012 -0500
119295
119296 Make GRKERNSEC_SETXID option compatible with credential debugging
119297
119298 commit 69919c6da7cf8a781439da15b597a7d6bc9b3abe
119299 Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
119300 Date: Wed Dec 28 15:57:11 2011 -0800
119301
119302 mm/mempolicy.c: refix mbind_range() vma issue
119303
119304 commit 8aacc9f550 ("mm/mempolicy.c: fix pgoff in mbind vma merge") is the
119305 slightly incorrect fix.
119306
119307 Why? Think following case.
119308
119309 1. map 4 pages of a file at offset 0
119310
119311 [0123]
119312
119313 2. map 2 pages just after the first mapping of the same file but with
119314 page offset 2
119315
119316 [0123][23]
119317
119318 3. mbind() 2 pages from the first mapping at offset 2.
119319 mbind_range() should treat new vma is,
119320
119321 [0123][23]
119322 |23|
119323 mbind vma
119324
119325 but it does
119326
119327 [0123][23]
119328 |01|
119329 mbind vma
119330
119331 Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).
119332
119333 This patch fixes it.
119334
119335 [testcase]
119336 test result - before the patch
119337
119338 case4: 126: test failed. expect '2,4', actual '2,2,2'
119339 case5: passed
119340 case6: passed
119341 case7: passed
119342 case8: passed
119343 case_n: 246: test failed. expect '4,2', actual '1,4'
119344
119345 ------------[ cut here ]------------
119346 kernel BUG at mm/filemap.c:135!
119347 invalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC
119348
119349 (snip long bug on messages)
119350
119351 test result - after the patch
119352
119353 case4: passed
119354 case5: passed
119355 case6: passed
119356 case7: passed
119357 case8: passed
119358 case_n: passed
119359
119360 source: mbind_vma_test.c
119361 ============================================================
119362 #include <numaif.h>
119363 #include <numa.h>
119364 #include <sys/mman.h>
119365 #include <stdio.h>
119366 #include <unistd.h>
119367 #include <stdlib.h>
119368 #include <string.h>
119369
119370 static unsigned long pagesize;
119371 void* mmap_addr;
119372 struct bitmask *nmask;
119373 char buf[1024];
119374 FILE *file;
119375 char retbuf[10240] = "";
119376 int mapped_fd;
119377
119378 char *rubysrc = "ruby -e '\
119379 pid = %d; \
119380 vstart = 0x%llx; \
119381 vend = 0x%llx; \
119382 s = `pmap -q #{pid}`; \
119383 rary = []; \
119384 s.each_line {|line|; \
119385 ary=line.split(\" \"); \
119386 addr = ary[0].to_i(16); \
119387 if(vstart <= addr && addr < vend) then \
119388 rary.push(ary[1].to_i()/4); \
119389 end; \
119390 }; \
119391 print rary.join(\",\"); \
119392 '";
119393
119394 void init(void)
119395 {
119396 void* addr;
119397 char buf[128];
119398
119399 nmask = numa_allocate_nodemask();
119400 numa_bitmask_setbit(nmask, 0);
119401
119402 pagesize = getpagesize();
119403
119404 sprintf(buf, "%s", "mbind_vma_XXXXXX");
119405 mapped_fd = mkstemp(buf);
119406 if (mapped_fd == -1)
119407 perror("mkstemp "), exit(1);
119408 unlink(buf);
119409
119410 if (lseek(mapped_fd, pagesize*8, SEEK_SET) < 0)
119411 perror("lseek "), exit(1);
119412 if (write(mapped_fd, "\0", 1) < 0)
119413 perror("write "), exit(1);
119414
119415 addr = mmap(NULL, pagesize*8, PROT_NONE,
119416 MAP_SHARED, mapped_fd, 0);
119417 if (addr == MAP_FAILED)
119418 perror("mmap "), exit(1);
119419
119420 if (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) < 0)
119421 perror("mprotect "), exit(1);
119422
119423 mmap_addr = addr + pagesize;
119424
119425 /* make page populate */
119426 memset(mmap_addr, 0, pagesize*6);
119427 }
119428
119429 void fin(void)
119430 {
119431 void* addr = mmap_addr - pagesize;
119432 munmap(addr, pagesize*8);
119433
119434 memset(buf, 0, sizeof(buf));
119435 memset(retbuf, 0, sizeof(retbuf));
119436 }
119437
119438 void mem_bind(int index, int len)
119439 {
119440 int err;
119441
119442 err = mbind(mmap_addr+pagesize*index, pagesize*len,
119443 MPOL_BIND, nmask->maskp, nmask->size, 0);
119444 if (err)
119445 perror("mbind "), exit(err);
119446 }
119447
119448 void mem_interleave(int index, int len)
119449 {
119450 int err;
119451
119452 err = mbind(mmap_addr+pagesize*index, pagesize*len,
119453 MPOL_INTERLEAVE, nmask->maskp, nmask->size, 0);
119454 if (err)
119455 perror("mbind "), exit(err);
119456 }
119457
119458 void mem_unbind(int index, int len)
119459 {
119460 int err;
119461
119462 err = mbind(mmap_addr+pagesize*index, pagesize*len,
119463 MPOL_DEFAULT, NULL, 0, 0);
119464 if (err)
119465 perror("mbind "), exit(err);
119466 }
119467
119468 void Assert(char *expected, char *value, char *name, int line)
119469 {
119470 if (strcmp(expected, value) == 0) {
119471 fprintf(stderr, "%s: passed\n", name);
119472 return;
119473 }
119474 else {
119475 fprintf(stderr, "%s: %d: test failed. expect '%s', actual '%s'\n",
119476 name, line,
119477 expected, value);
119478 // exit(1);
119479 }
119480 }
119481
119482 /*
119483 AAAA
119484 PPPPPPNNNNNN
119485 might become
119486 PPNNNNNNNNNN
119487 case 4 below
119488 */
119489 void case4(void)
119490 {
119491 init();
119492 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
119493
119494 mem_bind(0, 4);
119495 mem_unbind(2, 2);
119496
119497 file = popen(buf, "r");
119498 fread(retbuf, sizeof(retbuf), 1, file);
119499 Assert("2,4", retbuf, "case4", __LINE__);
119500
119501 fin();
119502 }
119503
119504 /*
119505 AAAA
119506 PPPPPPNNNNNN
119507 might become
119508 PPPPPPPPPPNN
119509 case 5 below
119510 */
119511 void case5(void)
119512 {
119513 init();
119514 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
119515
119516 mem_bind(0, 2);
119517 mem_bind(2, 2);
119518
119519 file = popen(buf, "r");
119520 fread(retbuf, sizeof(retbuf), 1, file);
119521 Assert("4,2", retbuf, "case5", __LINE__);
119522
119523 fin();
119524 }
119525
119526 /*
119527 AAAA
119528 PPPPNNNNXXXX
119529 might become
119530 PPPPPPPPPPPP 6
119531 */
119532 void case6(void)
119533 {
119534 init();
119535 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
119536
119537 mem_bind(0, 2);
119538 mem_bind(4, 2);
119539 mem_bind(2, 2);
119540
119541 file = popen(buf, "r");
119542 fread(retbuf, sizeof(retbuf), 1, file);
119543 Assert("6", retbuf, "case6", __LINE__);
119544
119545 fin();
119546 }
119547
119548 /*
119549 AAAA
119550 PPPPNNNNXXXX
119551 might become
119552 PPPPPPPPXXXX 7
119553 */
119554 void case7(void)
119555 {
119556 init();
119557 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
119558
119559 mem_bind(0, 2);
119560 mem_interleave(4, 2);
119561 mem_bind(2, 2);
119562
119563 file = popen(buf, "r");
119564 fread(retbuf, sizeof(retbuf), 1, file);
119565 Assert("4,2", retbuf, "case7", __LINE__);
119566
119567 fin();
119568 }
119569
119570 /*
119571 AAAA
119572 PPPPNNNNXXXX
119573 might become
119574 PPPPNNNNNNNN 8
119575 */
119576 void case8(void)
119577 {
119578 init();
119579 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
119580
119581 mem_bind(0, 2);
119582 mem_interleave(4, 2);
119583 mem_interleave(2, 2);
119584
119585 file = popen(buf, "r");
119586 fread(retbuf, sizeof(retbuf), 1, file);
119587 Assert("2,4", retbuf, "case8", __LINE__);
119588
119589 fin();
119590 }
119591
119592 void case_n(void)
119593 {
119594 init();
119595 sprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);
119596
119597 /* make redundunt mappings [0][1234][34][7] */
119598 mmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,
119599 MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);
119600
119601 /* Expect to do nothing. */
119602 mem_unbind(2, 2);
119603
119604 file = popen(buf, "r");
119605 fread(retbuf, sizeof(retbuf), 1, file);
119606 Assert("4,2", retbuf, "case_n", __LINE__);
119607
119608 fin();
119609 }
119610
119611 int main(int argc, char** argv)
119612 {
119613 case4();
119614 case5();
119615 case6();
119616 case7();
119617 case8();
119618 case_n();
119619
119620 return 0;
119621 }
119622 =============================================================
119623
119624 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
119625 Acked-by: Johannes Weiner <hannes@cmpxchg.org>
119626 Cc: Minchan Kim <minchan.kim@gmail.com>
119627 Cc: Caspar Zhang <caspar@casparzhang.com>
119628 Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
119629 Cc: Christoph Lameter <cl@linux.com>
119630 Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
119631 Cc: Mel Gorman <mel@csn.ul.ie>
119632 Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
119633 Cc: <stable@vger.kernel.org> [3.1.x]
119634 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
119635 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119636
119637 commit f3a1082005781777086df235049f8c0b7efe524e
119638 Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
119639 Date: Tue Dec 27 22:32:41 2011 -0500
119640
119641 packet: fix possible dev refcnt leak when bind fail
119642
119643 If bind is fail when bind is called after set PACKET_FANOUT
119644 sock option, the dev refcnt will leak.
119645
119646 Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
119647 Signed-off-by: David S. Miller <davem@davemloft.net>
119648
119649 commit 915f8b08dac68839dc7204ee81cf9852fda16d24
119650 Author: Haogang Chen <haogangchen@gmail.com>
119651 Date: Mon Dec 19 17:11:56 2011 -0800
119652
119653 nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
119654
119655 There is a potential integer overflow in nilfs_ioctl_clean_segments().
119656 When a large argv[n].v_nmembs is passed from the userspace, the subsequent
119657 call to vmalloc() will allocate a buffer smaller than expected, which
119658 leads to out-of-bound access in nilfs_ioctl_move_blocks() and
119659 lfs_clean_segments().
119660
119661 The following check does not prevent the overflow because nsegs is also
119662 controlled by the userspace and could be very large.
119663
119664 if (argv[n].v_nmembs > nsegs * nilfs->ns_blocks_per_segment)
119665 goto out_free;
119666
119667 This patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and
119668 returns -EINVAL when overflow.
119669
119670 Signed-off-by: Haogang Chen <haogangchen@gmail.com>
119671 Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
119672 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
119673 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119674
119675 commit 006afb6eb7a7398edc0068c3a7b9510ffaf80f72
119676 Author: Kautuk Consul <consul.kautuk@gmail.com>
119677 Date: Mon Dec 19 17:12:04 2011 -0800
119678
119679 mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
119680
119681 Static storage is not required for the struct vmap_area in
119682 __get_vm_area_node.
119683
119684 Removing "static" to store this variable on the stack instead.
119685
119686 Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
119687 Acked-by: David Rientjes <rientjes@google.com>
119688 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
119689 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119690
119691 commit 461ecdf221edb089e5fa0d5563e1688cd0a36f66
119692 Author: Michel Lespinasse <walken@google.com>
119693 Date: Mon Dec 19 17:12:06 2011 -0800
119694
119695 binary_sysctl(): fix memory leak
119696
119697 binary_sysctl() calls sysctl_getname() which allocates from names_cache
119698 slab usin __getname()
119699
119700 The matching function to free the name is __putname(), and not putname()
119701 which should be used only to match getname() allocations.
119702
119703 This is because when auditing is enabled, putname() calls audit_putname
119704 *instead* (not in addition) to __putname(). Then, if a syscall is in
119705 progress, audit_putname does not release the name - instead, it expects
119706 the name to get released when the syscall completes, but that will happen
119707 only if audit_getname() was called previously, i.e. if the name was
119708 allocated with getname() rather than the naked __getname(). So,
119709 __getname() followed by putname() ends up leaking memory.
119710
119711 Signed-off-by: Michel Lespinasse <walken@google.com>
119712 Acked-by: Al Viro <viro@zeniv.linux.org.uk>
119713 Cc: Christoph Hellwig <hch@infradead.org>
119714 Cc: Eric Paris <eparis@redhat.com>
119715 Cc: <stable@vger.kernel.org>
119716 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
119717 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
119718
119719 commit 0a2cd3ef50c0bae70d59c74a77db0455d26fde56
119720 Author: Sean Hefty <sean.hefty@intel.com>
119721 Date: Tue Dec 6 21:17:11 2011 +0000
119722
119723 RDMA/cma: Verify private data length
119724
119725 private_data_len is defined as a u8. If the user specifies a large
119726 private_data size (> 220 bytes), we will calculate a total length that
119727 exceeds 255, resulting in private_data_len wrapping back to 0. This
119728 can lead to overwriting random kernel memory. Avoid this by verifying
119729 that the resulting size fits into a u8.
119730
119731 Reported-by: B. Thery <benjamin.thery@bull.net>
119732 Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335>
119733 Signed-off-by: Sean Hefty <sean.hefty@intel.com>
119734 Signed-off-by: Roland Dreier <roland@purestorage.com>
119735
119736 commit 6b618c54aaec99078629ec5b9575cb7d6fc31176
119737 Author: Xi Wang <xi.wang@gmail.com>
119738 Date: Sun Dec 11 23:40:56 2011 -0800
119739
119740 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq()
119741
119742 The error check (intr_status < 0) didn't work because intr_status is
119743 a u8. Change its type to signed int.
119744
119745 Signed-off-by: Xi Wang <xi.wang@gmail.com>
119746 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
119747
119748 commit e27f34e383d7863b2528a63b81b23db09781f6b6
119749 Author: Xi Wang <xi.wang@gmail.com>
119750 Date: Fri Dec 16 12:44:15 2011 +0000
119751
119752 sctp: fix incorrect overflow check on autoclose
119753
119754 Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
119755 limiting the autoclose value. If userspace passes in -1 on 32-bit
119756 platform, the overflow check didn't work and autoclose would be set
119757 to 0xffffffff.
119758
119759 This patch defines a max_autoclose (in seconds) for limiting the value
119760 and exposes it through sysctl, with the following intentions.
119761
119762 1) Avoid overflowing autoclose * HZ.
119763
119764 2) Keep the default autoclose bound consistent across 32- and 64-bit
119765 platforms (INT_MAX / HZ in this patch).
119766
119767 3) Keep the autoclose value consistent between setsockopt() and
119768 getsockopt() calls.
119769
119770 Suggested-by: Vlad Yasevich <vladislav.yasevich@hp.com>
119771 Signed-off-by: Xi Wang <xi.wang@gmail.com>
119772 Signed-off-by: David S. Miller <davem@davemloft.net>
119773
119774 commit 8ebdfaad2f46ff0ac9fef9858e436bcc712a1ac8
119775 Author: Xi Wang <xi.wang@gmail.com>
119776 Date: Wed Dec 21 05:18:33 2011 -0500
119777
119778 vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
119779
119780 Commit e133e737 didn't correctly fix the integer overflow issue.
119781
119782 - unsigned int required_size;
119783 + u64 required_size;
119784 ...
119785 required_size = mode_cmd->pitch * mode_cmd->height;
119786 - if (unlikely(required_size > dev_priv->vram_size)) {
119787 + if (unlikely(required_size > (u64) dev_priv->vram_size)) {
119788
119789 Note that both pitch and height are u32. Their product is still u32 and
119790 would overflow before being assigned to required_size. A correct way is
119791 to convert pitch and height to u64 before the multiplication.
119792
119793 required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
119794
119795 This patch calls the existing vmw_kms_validate_mode_vram() for
119796 validation.
119797
119798 Signed-off-by: Xi Wang <xi.wang@gmail.com>
119799 Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
119800 Signed-off-by: Dave Airlie <airlied@redhat.com>
119801
119802 Conflicts:
119803
119804 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
119805
119806 commit eb8f0bd01fb994c9abc77dc84729794cd841753d
119807 Author: Xi Wang <xi.wang@gmail.com>
119808 Date: Thu Dec 22 13:35:22 2011 +0000
119809
119810 rps: fix insufficient bounds checking in store_rps_dev_flow_table_cnt()
119811
119812 Setting a large rps_flow_cnt like (1 << 30) on 32-bit platform will
119813 cause a kernel oops due to insufficient bounds checking.
119814
119815 if (count > 1<<30) {
119816 /* Enforce a limit to prevent overflow */
119817 return -EINVAL;
119818 }
119819 count = roundup_pow_of_two(count);
119820 table = vmalloc(RPS_DEV_FLOW_TABLE_SIZE(count));
119821
119822 Note that the macro RPS_DEV_FLOW_TABLE_SIZE(count) is defined as:
119823
119824 ... + (count * sizeof(struct rps_dev_flow))
119825
119826 where sizeof(struct rps_dev_flow) is 8. (1 << 30) * 8 will overflow
119827 32 bits.
119828
119829 This patch replaces the magic number (1 << 30) with a symbolic bound.
119830
119831 Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
119832 Signed-off-by: Xi Wang <xi.wang@gmail.com>
119833 Signed-off-by: David S. Miller <davem@davemloft.net>
119834
119835 commit 648188958672024b616c42c1f6c98c8cfc85619d
119836 Author: Xi Wang <xi.wang@gmail.com>
119837 Date: Fri Dec 30 10:40:17 2011 -0500
119838
119839 netfilter: ctnetlink: fix timeout calculation
119840
119841 The sanity check (timeout < 0) never works; the dividend is unsigned
119842 and so is the division, which should have been a signed division.
119843
119844 long timeout = (ct->timeout.expires - jiffies) / HZ;
119845 if (timeout < 0)
119846 timeout = 0;
119847
119848 This patch converts the time values to signed for the division.
119849
119850 Signed-off-by: Xi Wang <xi.wang@gmail.com>
119851 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
119852
119853 commit ab03a0973cee73f88655ff4981812ad316a6cd59
119854 Merge: 76f82df 7bdddeb
119855 Author: Brad Spengler <spender@grsecurity.net>
119856 Date: Tue Jan 3 17:42:50 2012 -0500
119857
119858 Merge branch 'pax-test' into grsec-test
119859
119860 commit 7bdddebd9d274a344a1c57a561152160c9e9a32a
119861 Merge: 3e59cb5 55cc81a
119862 Author: Brad Spengler <spender@grsecurity.net>
119863 Date: Tue Jan 3 17:42:36 2012 -0500
119864
119865 Merge branch 'linux-3.1.y' into pax-test
119866
119867 commit 76f82df18ba181687f454426fa9ced7a92b2ac1f
119868 Author: Brad Spengler <spender@grsecurity.net>
119869 Date: Thu Dec 22 20:15:02 2011 -0500
119870
119871 Only further restrict futex targeting another process -- our modified
119872 permission check also happened to allow a case where a process retaining
119873 uid 0 could issue futex syscalls against other uid 0 tasks, despite the euid
119874 being non-zero (reported on forums by ben_w)
119875
119876 commit 6b235a4450a5fea41663ec35fa0608988b6078c6
119877 Merge: 97c16f0 3e59cb5
119878 Author: Brad Spengler <spender@grsecurity.net>
119879 Date: Thu Dec 22 19:11:06 2011 -0500
119880
119881 Merge branch 'pax-test' into grsec-test
119882
119883 Conflicts:
119884 fs/hfs/btree.c
119885
119886 commit 3e59cb503d4ca6ce0954b8d3eb508cf7d1a31f50
119887 Merge: 285eb4e c26f60b
119888 Author: Brad Spengler <spender@grsecurity.net>
119889 Date: Thu Dec 22 19:09:57 2011 -0500
119890
119891 Merge branch 'linux-3.1.y' into pax-test
119892
119893 Conflicts:
119894 arch/x86/kernel/process.c
119895
119896 commit 97c16f0fcff592160c1787bd1c56ae7ad070ac17
119897 Author: Brad Spengler <spender@grsecurity.net>
119898 Date: Mon Dec 19 21:54:01 2011 -0500
119899
119900 Add new option: "Enforce consistent multithreaded privileges"
119901
119902 commit 7d125a16a5245b2bafc9184b8f93e864394ba1cb
119903 Author: Brad Spengler <spender@grsecurity.net>
119904 Date: Wed Dec 7 19:58:31 2011 -0500
119905
119906 Remove harmless duplicate code -- exec_file would be null already so the
119907 second check would never pass.
119908
119909 commit 4e3304e94aa72737810bc50169519af157dce4ce
119910 Author: Brad Spengler <spender@grsecurity.net>
119911 Date: Wed Dec 7 19:50:39 2011 -0500
119912
119913 Revert back to (possibly?) undocumented /proc/pid behavior that gdb
119914 depended on for attaching to a thread. Entries exist in /proc for
119915 threads, but are not visible in a readdir.
119916
119917 commit 1bd899335f23815cfe8deac44c6b346398f3b95e
119918 Author: Brad Spengler <spender@grsecurity.net>
119919 Date: Sun Dec 4 18:03:28 2011 -0500
119920
119921 Put the already-walked path if in RCU-walk mode
119922
119923 commit ec7ae36b7159f10649709779443a988662965d66
119924 Author: Brad Spengler <spender@grsecurity.net>
119925 Date: Sun Dec 4 17:35:21 2011 -0500
119926
119927 Fix memory leak introduced by recent (unpublished) commit
119928 75ab998b94a29d464518d6d501bdde3fbfcbfa14
119929
119930 commit 1e2318a8ea2e67eaf17236be374b5da8a5ba5e04
119931 Author: Brad Spengler <spender@grsecurity.net>
119932 Date: Sun Dec 4 13:56:10 2011 -0500
119933
119934 Explicitly check size copied to userland in override_release to silence gcc
119935
119936 commit c30a85d0fff67e0724e726febb934c0b6fa01c6c
119937 Author: Brad Spengler <spender@grsecurity.net>
119938 Date: Sun Dec 4 13:54:02 2011 -0500
119939
119940 Initialize variable to silence erroneous gcc warning
119941
119942 commit 2cf8e7a3bf4e97b2cd3de9ebc453bc505dc7eb78
119943 Author: Brad Spengler <spender@grsecurity.net>
119944 Date: Sun Dec 4 13:47:47 2011 -0500
119945
119946 Future-proof other potential RCU-aware locations where we can log.
119947
119948 commit 0c904e8c7ea0338c47c7ae825e093a152dc8f8a8
119949 Author: Brad Spengler <spender@grsecurity.net>
119950 Date: Sun Dec 4 13:02:54 2011 -0500
119951
119952 Fix freeze reported by 'vs' on the forums. Bug occurred due to
119953 MAY_NOT_BLOCK added to Linux 3.1. Our logging code, when a capability used
119954 in generic_permission() was in the task's effective set but disallowed by
119955 RBAC, would block when acquiring locks resulting in the freeze.
119956
119957 Also update the ordering of checks so that CAP_DAC_READ_SEARCH isn't logged
119958 as being required when CAP_DAC_OVERRIDE is present (consistent with
119959 older patches).
119960
119961 commit ab694e5eccfbc369baa593ebc1269d1908cf16dc
119962 Author: Xi Wang <xi.wang@gmail.com>
119963 Date: Tue Nov 29 09:26:30 2011 +0000
119964
119965 sctp: better integer overflow check in sctp_auth_create_key()
119966
119967 The check from commit 30c2235c is incomplete and cannot prevent
119968 cases like key_len = 0x80000000 (INT_MAX + 1). In that case, the
119969 left-hand side of the check (INT_MAX - key_len), which is unsigned,
119970 becomes 0xffffffff (UINT_MAX) and bypasses the check.
119971
119972 However this shouldn't be a security issue. The function is called
119973 from the following two code paths:
119974
119975 1) setsockopt()
119976
119977 2) sctp_auth_asoc_set_secret()
119978
119979 In case (1), sca_keylength is never going to exceed 65535 since it's
119980 bounded by a u16 from the user API. As such, the key length will
119981 never overflow.
119982
119983 In case (2), sca_keylength is computed based on the user key (1 short)
119984 and 2 * key_vector (3 shorts) for a total of 7 * USHRT_MAX, which still
119985 will not overflow.
119986
119987 In other words, this overflow check is not really necessary. Just
119988 make it more correct.
119989
119990 Signed-off-by: Xi Wang <xi.wang@gmail.com>
119991 Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
119992 Signed-off-by: David S. Miller <davem@davemloft.net>
119993
119994 commit e565e28c3635a1d50f80541fbf6b606d742fec76
119995 Author: Josh Boyer <jwboyer@redhat.com>
119996 Date: Fri Aug 19 14:50:26 2011 -0400
119997
119998 fs/minix: Verify bitmap block counts before mounting
119999
120000 Newer versions of MINIX can create filesystems that allocate an extra
120001 bitmap block. Mounting of this succeeds, but doing a statfs call will
120002 result in an oops in count_free because of a negative number being used
120003 for the bh index.
120004
120005 Avoid this by verifying the number of allocated blocks at mount time,
120006 erroring out if there are not enough and make statfs ignore the extras
120007 if there are too many.
120008
120009 This fixes https://bugzilla.kernel.org/show_bug.cgi?id=18792
120010
120011 Signed-off-by: Josh Boyer <jwboyer@redhat.com>
120012 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
120013
120014 commit 6e134e398ec1a3f428261680e83df4319e64bed9
120015 Author: Julia Lawall <julia@diku.dk>
120016 Date: Tue Nov 15 14:53:11 2011 -0800
120017
120018 drivers/gpu/vga/vgaarb.c: add missing kfree
120019
120020 kbuf is a buffer that is local to this function, so all of the error paths
120021 leaving the function should release it.
120022
120023 Signed-off-by: Julia Lawall <julia@diku.dk>
120024 Cc: Jesper Juhl <jj@chaosbits.net>
120025 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
120026 Signed-off-by: Dave Airlie <airlied@redhat.com>
120027
120028 commit 2b9057b321e36860e8d63985b5c4e496f254b717
120029 Author: Brad Spengler <spender@grsecurity.net>
120030 Date: Sat Dec 3 21:33:28 2011 -0500
120031
120032 Import changes between pax-linux-3.1.4-test18.patch and grsecurity-2.2.2-3.1.4-201112021740.patch
120033
120034 commit 5dfe6091dca281a456eaff5e7b4692d768a05cfd
120035 Author: Brad Spengler <spender@grsecurity.net>
120036 Date: Sat Dec 3 21:29:37 2011 -0500
120037
120038 Import pax-linux-3.1.4-test18.patch
120039
120040 commit 285eb4ea45d853ae00426b3315a61c1368080dad
120041 Author: Brad Spengler <spender@grsecurity.net>
120042 Date: Sat Dec 10 18:33:46 2011 -0500
120043
120044 Import changes from pax-linux-3.1.5-test20.patch
120045
120046 commit a6bda918fc90ec1d5c387e978d147ad2044153f1
120047 Author: Brad Spengler <spender@grsecurity.net>
120048 Date: Thu Dec 8 20:55:54 2011 -0500
120049
120050 Import changes from pax-linux-3.1.4-test19.patch
120051
120052 commit e6d987bdb782b280f882cc20055e3d9cb28ad3a5
120053 Author: Brad Spengler <spender@grsecurity.net>
120054 Date: Sat Dec 3 21:29:37 2011 -0500
120055
120056 Import pax-linux-3.1.4-test18.patch