X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fgrsecurity-scrape.git;a=blobdiff_plain;f=test%2Fchangelog-test.txt;h=d9d04e79a72dc1b39ce18afd8986c4afacf3b2f2;hp=c4c8d545995e5038f99faa7335c08c1d76049917;hb=21439aa39bc38016a3788891b192c07bdab80059;hpb=b1eb623d3bc850d3009908a8594296c1515038a8 diff --git a/test/changelog-test.txt b/test/changelog-test.txt index c4c8d54..d9d04e7 100644 --- a/test/changelog-test.txt +++ b/test/changelog-test.txt @@ -1,1786 +1,15185 @@ -commit 1d376287aeba7a53c91d5ee49ef0a11d02193964 +commit a0b31ddd80510c595b1db203edd009a721e68cfa +Merge: f9c6bb9 c8102ee Author: Brad Spengler -Date: Fri Apr 15 21:31:07 2016 -0400 +Date: Sun Mar 5 18:02:18 2017 -0500 - Use proper type for function pointer + Merge branch 'pax-test' into grsec-test - drivers/gpu/drm/gma500/mdfld_dsi_output.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) +commit c8102eef049988a1905817e4dc4e859287c2923e +Author: Brad Spengler +Date: Sun Mar 5 18:01:22 2017 -0500 -commit 0a4104a2fa32904102fac07245426d78a1e9dfab + Update to pax-linux-4.9.13-test6.patch: + - fixed a regression where on amd64 STACKLEAK instrumented functions executed in IRQ context caused a preempt counter overdecrement, by Jason A. Donenfeld , reported by nail (https://forums.grsecurity.net/viewtopic.php?f=3&t=4668) + - fixed an unbalanced pax_open_kernel call that would trigger a BUG in the zt5550 driver + +commit f9c6bb92aa1205f0402085e363fa914ea34beceb Author: Brad Spengler -Date: Fri Apr 15 21:24:04 2016 -0400 +Date: Mon Feb 27 06:55:25 2017 -0500 - Fix skylake cstates compat with constify + Fix softirq warnings reported by nail at: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4668 + and reported and debugged by Jason Donenfeld. + + A stray put_cpu() was left in the pax_check_alloca code when + porting to Linux 4.9, which would cause a preempt imbalance + on interrupts making use of alloca() (either explicitly or through + variable length arrays). - drivers/idle/intel_idle.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) +commit 8019276815d5d50fb57b4a1bd9f33af0c5cd7615 +Author: Brad Spengler +Date: Sun Feb 26 10:28:40 2017 -0500 -commit f433f8fd372253c9e78e307afe5b800c5ab0ea61 + Update size_overflow hash table, from Toralf Foerster + +commit 5996b10c778c1b3378219a3c29ae90b504482a50 +Merge: 1d6d9f9 ef547fe Author: Brad Spengler -Date: Fri Apr 15 21:10:44 2016 -0400 +Date: Sun Feb 26 07:41:37 2017 -0500 - Update size_overflow hash table + Merge branch 'pax-test' into grsec-test - tools/gcc/size_overflow_plugin/size_overflow_hash.data | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) +commit ef547fea89fc7818dec64af7db1c7528fc3c1436 +Merge: bce7062 3737a5f +Author: Brad Spengler +Date: Sun Feb 26 07:41:28 2017 -0500 -commit ef7804da81cb3c6b6a4c985a3c14ee230a03f26a + Merge branch 'linux-4.9.y' into pax-test + +commit 1d6d9f9363ebed20318f0c047dccb5a39a4441e7 Author: Brad Spengler -Date: Fri Apr 15 20:52:37 2016 -0400 +Date: Fri Feb 24 07:11:39 2017 -0500 - compile fix + Silence a compiler warning, reported by Etienne Buira - fs/coredump.c | 3 --- - 1 file changed, 3 deletions(-) +commit e47311b356a178a1652c88cf47aea011f0211061 +Author: Brad Spengler +Date: Thu Feb 23 18:25:41 2017 -0500 -commit 967224da52bd98d078b1237aea5ec9e622238fba -Merge: 92771d6 a107ba2 + Update size_overflow hash table + +commit 7852bd5868a61b1a9c4210c0214ef8c1d3e0e7e2 +Merge: 15fc570 bce7062 Author: Brad Spengler -Date: Fri Apr 15 20:30:23 2016 -0400 +Date: Thu Feb 23 17:41:07 2017 -0500 Merge branch 'pax-test' into grsec-test -commit a107ba25214d9694eb836fb04c782ad694977b91 -Merge: 4d8fc00 b40108b +commit bce7062ee9c933a4188dec2691155442df3a79e8 +Merge: b26ab25 ae7d431 Author: Brad Spengler -Date: Fri Apr 15 20:18:26 2016 -0400 +Date: Thu Feb 23 17:40:59 2017 -0500 - Merge branch 'linux-4.4.y' into pax-test + Merge branch 'linux-4.9.y' into pax-test -commit 92771d60677d68e8f6ea7a91ff34dd6e24b6d4cf +commit 15fc5704b74ec1d5c4a9ecd00c9e24e9955a1e24 Author: Brad Spengler -Date: Sun Apr 10 07:18:03 2016 -0400 +Date: Thu Feb 23 17:35:05 2017 -0500 - From: Mathias Krause - To: "David S. Miller" - Cc: netdev@vger.kernel.org, "Eric W. Biederman" , Pavel - Emelyanov - Subject: [PATCH net] packet: fix heap info leak in PACKET_DIAG_MCLIST sock_diag - interface - - Because we miss to wipe the remainder of i->addr[] in packet_mc_add(), - pdiag_put_mclist() leaks uninitialized heap bytes via the - PACKET_DIAG_MCLIST netlink attribute. - - Fix this by explicitly memset(0)ing the remaining bytes in i->addr[]. - - Fixes: eea68e2f1a00 ("packet: Report socket mclist info via diag module") - Signed-off-by: Mathias Krause - Cc: Eric W. Biederman - Cc: Pavel Emelyanov - --- - The bug itself precedes commit eea68e2f1a00 but the list wasn't exposed - to userland before the introduction of the packet_diag interface. - Therefore the "Fixes:" line on that commit. + Fix !GRKERNSEC_KMEM && GRKERNSEC_SYSFS_RESTRICT incompatibility with + KVM, reported at https://bugs.gentoo.org/show_bug.cgi?id=597554 + by Christian Roessner, Miro Rovis, and Étienne Buira - net/packet/af_packet.c | 1 + - 1 file changed, 1 insertion(+) +commit c26d7750fb91d084a1ba3fbf84fa892cabf2cee9 +Merge: f0e6f87 b26ab25 +Author: Brad Spengler +Date: Wed Feb 22 20:46:04 2017 -0500 -commit 4286ce3f9e9db4d68870af46ae1d5f9b90b920dd -Author: Jakub Sitnicki -Date: Tue Apr 5 18:41:08 2016 +0200 + Merge branch 'pax-test' into grsec-test - ipv6: Count in extension headers in skb->network_header +commit b26ab25c73a41147b14a8edb35eec6a08fafd927 +Author: Brad Spengler +Date: Wed Feb 22 20:45:31 2017 -0500 + + Update to pax-linux-4.9.10-test5.patch: + - fixed resume regression on i386/UDEREF caused by upstream commit ffa64eff956a25548cad0391dbc14c672827be7b, reported by corsac + - fixed compile regression on i386/XEN, reported by bugmenot (https://forums.grsecurity.net/viewtopic.php?f=3&t=4677) + - worked around an intentional integer overflow caused by the amdgpu driver that was caught by the size overflow plugin, reported by foxxx0 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4667) + - made better use of upstream's idea of invpcid + +commit f0e6f87d2d7d767eba1534fd8c1fa4e8e26e00c8 +Author: Andrey Konovalov +Date: Thu Feb 16 17:22:46 2017 +0100 + + dccp: fix freeing skb too early for IPV6_RECVPKTINFO - When sending a UDPv6 message longer than MTU, account for the length - of fragmentable IPv6 extension headers in skb->network_header offset. - Same as we do in alloc_new_skb path in __ip6_append_data(). + In the current DCCP implementation an skb for a DCCP_PKT_REQUEST packet + is forcibly freed via __kfree_skb in dccp_rcv_state_process if + dccp_v6_conn_request successfully returns. - This ensures that later on __ip6_make_skb() will make space in - headroom for fragmentable extension headers: + However, if IPV6_RECVPKTINFO is set on a socket, the address of the skb + is saved to ireq->pktopts and the ref count for skb is incremented in + dccp_v6_conn_request, so skb is still in use. Nevertheless, it gets freed + in dccp_rcv_state_process. - /* move skb->data to ip header from ext header */ - if (skb->data < skb_network_header(skb)) - __skb_pull(skb, skb_network_offset(skb)); + Fix by calling consume_skb instead of doing goto discard and therefore + calling __kfree_skb. - Prevents a splat due to skb_under_panic: + Similar fixes for TCP: - skbuff: skb_under_panic: text:ffffffff8143397b len:2126 put:14 \ - head:ffff880005bacf50 data:ffff880005bacf4a tail:0x48 end:0xc0 dev:lo - ------------[ cut here ]------------ - kernel BUG at net/core/skbuff.c:104! - invalid opcode: 0000 [#1] KASAN - CPU: 0 PID: 160 Comm: reproducer Not tainted 4.6.0-rc2 #65 - [...] - Call Trace: - [] skb_push+0x79/0x80 - [] eth_header+0x2b/0x100 - [] neigh_resolve_output+0x210/0x310 - [] ip6_finish_output2+0x4a7/0x7c0 - [] ip6_output+0x16a/0x280 - [] ip6_local_out+0xb1/0xf0 - [] ip6_send_skb+0x45/0xd0 - [] udp_v6_send_skb+0x246/0x5d0 - [] udpv6_sendmsg+0xa6e/0x1090 - [...] + fb7e2399ec17f1004c0e0ccfd17439f8759ede01 [TCP]: skb is unexpectedly freed. + 0aea76d35c9651d55bbaf746e7914e5f9ae5a25d tcp: SYN packets are now + simply consumed - Reported-by: Ji Jianwen - Signed-off-by: Jakub Sitnicki - Acked-by: Hannes Frederic Sowa + Signed-off-by: Andrey Konovalov + Acked-by: Eric Dumazet Signed-off-by: David S. Miller - net/ipv6/ip6_output.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) +commit 9f575ef66df46cb78f751e0d8d509171afe3933e +Author: Brad Spengler +Date: Sat Feb 18 13:09:26 2017 -0500 -commit 638dad49a9ba3d86f627adb58b2f4636ed253685 -Author: Thadeu Lima de Souza Cascardo -Date: Fri Apr 1 17:17:50 2016 -0300 + Update size_overflow hash table - ip6_tunnel: set rtnl_link_ops before calling register_netdevice - - When creating an ip6tnl tunnel with ip tunnel, rtnl_link_ops is not set - before ip6_tnl_create2 is called. When register_netdevice is called, there - is no linkinfo attribute in the NEWLINK message because of that. - - Setting rtnl_link_ops before calling register_netdevice fixes that. - - Fixes: 0b112457229d ("ip6tnl: add support of link creation via rtnl") - Signed-off-by: Thadeu Lima de Souza Cascardo - Acked-by: Nicolas Dichtel - Signed-off-by: David S. Miller +commit e927308508ef20392a61e493bc411e73d597682f +Merge: 55d2e75 d711991 +Author: Brad Spengler +Date: Sat Feb 18 11:35:11 2017 -0500 - net/ipv6/ip6_tunnel.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + Merge branch 'pax-test' into grsec-test -commit 14146a0bfaf2ced0055fe549c8fa0941c61e2457 +commit d711991b1628e84076fde9b2c94d25920cca7882 +Merge: 70fbe2f eee1550 Author: Brad Spengler -Date: Tue Apr 5 21:12:44 2016 -0400 +Date: Sat Feb 18 11:34:56 2017 -0500 - Code cleanups to RANDSTRUCT based on feedback from the PaX Team + Merge branch 'linux-4.9.y' into pax-test - tools/gcc/randomize_layout_plugin.c | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) +commit 55d2e7501a1db909073644bb1b5c58effb627754 +Author: Brad Spengler +Date: Thu Feb 16 19:47:51 2017 -0500 -commit 3f7dea5e59b0bb34f6bdb628c87251f0105b3d57 + Allow symbol printing for softirq change + +commit e489c2948bc9e1d9643c84667bf81ac8387293e0 +Merge: d7b63ba 70fbe2f Author: Brad Spengler -Date: Sun Apr 3 20:10:10 2016 -0400 +Date: Thu Feb 16 19:47:37 2017 -0500 - Fix RANDSTRUCT support on ARM + Merge branch 'pax-test' into grsec-test + + n why this merge is necessary, - tools/gcc/randomize_layout_plugin.c | 54 +++++++++++++++++++++++++++++++++++-- - 1 file changed, 52 insertions(+), 2 deletions(-) +commit 70fbe2fc1540632d2cc67e770d826f9637b5b73f +Author: Brad Spengler +Date: Thu Feb 16 19:46:55 2017 -0500 -commit bd893a75ab49f6ea5a216eb334471507337118ba -Merge: 87b7f1d 4d8fc00 + Update to pax-linux-4.9.10-test4.patch: + - worked around a gcc induced integer truncation that triggered a size overflow, reported by René Korthaus (https://bugs.gentoo.org/show_bug.cgi?id=609500) + - disabled size overflow checking on qdisc_tree_reduce_backlog for good as newer gcc is smart enough to get around the previous workaround, reported by craftyguy (https://forums.grsecurity.net/viewtopic.php?f=3&t=4640) + - fixed a SEGMEXEC/vma mirroring regression, reported by osea (https://forums.grsecurity.net/viewtopic.php?f=3&t=4643) + +commit d7b63bad761e0ca8897ec9c5df4482483aa20201 +Merge: d310a9c b6296dc Author: Brad Spengler -Date: Sat Apr 2 11:54:20 2016 -0400 +Date: Wed Feb 15 20:18:47 2017 -0500 Merge branch 'pax-test' into grsec-test -commit 4d8fc00c0066b1921e233123b346efe6ffb27691 +commit b6296dc3544b4a4543a45777a5cc1ecb2ce51042 Author: Brad Spengler -Date: Sat Apr 2 11:53:53 2016 -0400 +Date: Wed Feb 15 20:16:32 2017 -0500 - Update to pax-linux-4.4.6-test13.patch: - - fixed a REFCOUNT related compile regression on mips, reported by Steve Arnold (https://bugs.gentoo.org/show_bug.cgi?id=578394) - - worked around an integer signedness mixup in md causing a size overflow false positive, reported by Étienne Buira (https://bugs.gentoo.org/show_bug.cgi?id=578502) + Update to pax-linux-4.9.9-test3.patch: + - fixed a compile error on i386 with X86_CMPXCHG64=n, by Natanael Copa + - Emese fixed a few section mismatches and compile errors caused by the initify plugin, reported by Kees Cook, hunger and Valdis Kletnieks + - fixed a compile error caused by type mismatches on i386, reported by spender - arch/mips/include/asm/atomic.h | 4 ---- - tools/gcc/size_overflow_plugin/disable_size_overflow_hash.data | 1 + - tools/gcc/size_overflow_plugin/size_overflow_hash.data | 1 - - 3 files changed, 1 insertion(+), 5 deletions(-) +commit d310a9c0ab751121a5f97196857bfe4e90d86adf +Author: Brad Spengler +Date: Wed Feb 15 20:03:55 2017 -0500 -commit 87b7f1d200023ba826b9d552834a2ee85e67526c -Merge: 3335266 3abdad0 + compile fix, reported by ncopa + +commit f6fed850d763aca4162bc24b29afe5bb23d49d91 +Merge: c3fff1a 1971888 Author: Brad Spengler -Date: Sat Apr 2 11:19:17 2016 -0400 +Date: Wed Feb 15 17:21:00 2017 -0500 Merge branch 'pax-test' into grsec-test -commit 3abdad0c3b436c076c88289f07a250b811d6f79d +commit 19718886c80977af99f8181fe8e91b0f6f1fb5f7 +Merge: b608a1f 390caee Author: Brad Spengler -Date: Sat Apr 2 11:12:56 2016 -0400 +Date: Wed Feb 15 17:20:51 2017 -0500 - Update to pax-linux-4.4.6-test12.patch: - - fixed vmalloc_fault on i386/PAE to use the correct percpu userland pgd table/entry - - fixed a size overflow false positive report in pptp, reported by Pinkbyte (https://forums.grsecurity.net/viewtopic.php?f=3&t=4437) - - fixed a size overflow false positive report in tbf_segment, reported by audiocricket (https://forums.grsecurity.net/viewtopic.php?f=3&t=4438) - - Emese fixed the x86 vdso32 CFLAGS to omit the gcc plugins - - Emese simplified the gcc plugin related make rules, suggested by Masahiro Yamada - - André Fabian Silva Delgado fixed a compile regression on arm, reported by coadde (https://forums.grsecurity.net/viewtopic.php?f=3&t=4435) - - fixed an integer sign conversion error in nfs_super_set_maxbytes caught by the size overflow plugin, reported by Alexey Dvoichenkov - - fixed a size overflow false positive in squashfs, reported by Mathias Krause - - fixed a size overflow false positive in xfrm6_transport_output, reported by marcan (https://forums.grsecurity.net/viewtopic.php?f=3&t=4426) - - fixed an integer truncation bug in elf_kcore_store_hdr caught by the size overflow plugin - - fixed a gratuitous userland dereference in the amd64 stack walker - - added latent entropy gathering to a few more functions - - constified a few smp_hotplug_thread instances + Merge branch 'linux-4.9.y' into pax-test - arch/x86/entry/vdso/Makefile | 1 + - arch/x86/include/asm/cpufeature.h | 1 - - arch/x86/kernel/dumpstack_64.c | 17 ++++++----------- - arch/x86/kernel/head_32.S | 6 +++--- - arch/x86/mm/fault.c | 2 +- - drivers/iommu/arm-smmu.c | 2 +- - drivers/net/ppp/pptp.c | 1 + - drivers/staging/rdma/ehca/ehca_irq.c | 2 +- - fs/nfs/internal.h | 5 +++-- - fs/proc/kcore.c | 2 +- - kernel/module.c | 6 +++--- - kernel/rcu/tree.c | 2 +- - kernel/softirq.c | 2 +- - kernel/stop_machine.c | 2 +- - net/ipv6/xfrm6_mode_transport.c | 2 +- - net/sched/sch_tbf.c | 9 ++++++--- - scripts/Makefile.gcc-plugins | 13 +++---------- - scripts/Makefile.host | 3 +-- - .../disable_size_overflow_hash.data | 4 +++- - tools/gcc/size_overflow_plugin/size_overflow_hash.data | 6 ++---- - 20 files changed, 40 insertions(+), 48 deletions(-) +commit c3fff1a653824ad47021d536dec50e8c937e6347 +Merge: 57a5c6d b608a1f +Author: Brad Spengler +Date: Sun Feb 12 20:14:55 2017 -0500 -commit 3335266d5bec9bc01580736c0a7026ed96cf25e5 -Author: Mika Penttilä -Date: Mon Feb 22 17:56:52 2016 +0100 + Merge branch 'pax-test' into grsec-test - ARM: 8544/1: set_memory_xx fixes - - Allow zero size updates. This makes set_memory_xx() consistent with x86, s390 and arm64 and makes apply_to_page_range() not to BUG() when loading modules. - - Signed-off-by: Mika Penttilä mika.penttila@nextfour.com - Signed-off-by: Russell King +commit b608a1f8eadf8287e6accf031da5f5e26964e79a +Author: Brad Spengler +Date: Sun Feb 12 20:14:47 2017 -0500 - arch/arm/mm/pageattr.c | 3 +++ - 1 file changed, 3 insertions(+) + compile fix -commit d6d6499b22c0e5593a16f41c516041b23fbf9eeb -Author: Josh Boyer -Date: Mon Mar 14 10:42:38 2016 -0400 +commit 57a5c6d747cce4a1dd99e3677ddb564c47c5305a +Merge: f1a2106 0851ca2 +Author: Brad Spengler +Date: Sun Feb 12 20:13:15 2017 -0500 - USB: iowarrior: fix oops with malicious USB descriptors - - The iowarrior driver expects at least one valid endpoint. If given - malicious descriptors that specify 0 for the number of endpoints, - it will crash in the probe function. Ensure there is at least - one endpoint on the interface before using it. - - The full report of this issue can be found here: - http://seclists.org/bugtraq/2016/Mar/87 - - Reported-by: Ralf Spenneberg - Cc: stable - Signed-off-by: Josh Boyer - Signed-off-by: Greg Kroah-Hartman + Merge branch 'pax-test' into grsec-test - drivers/usb/misc/iowarrior.c | 6 ++++++ - 1 file changed, 6 insertions(+) +commit 0851ca2f75213d1f9aabe2d10f98553bf642e024 +Author: Brad Spengler +Date: Sun Feb 12 20:13:02 2017 -0500 -commit 79a1fb47ab1245e81040bcd45b3e44e65d282684 -Author: Oliver Neukum -Date: Tue Mar 15 10:14:04 2016 +0100 + compile fix - USB: cdc-acm: more sanity checking - - An attack has become available which pretends to be a quirky - device circumventing normal sanity checks and crashes the kernel - by an insufficient number of interfaces. This patch adds a check - to the code path for quirky devices. - - Signed-off-by: Oliver Neukum - CC: stable@vger.kernel.org - Signed-off-by: Greg Kroah-Hartman +commit f1a2106f030f628edd9d729e8a4cf7a7cbaffe70 +Merge: fb5b3e7 5cff6ef +Author: Brad Spengler +Date: Sun Feb 12 20:05:35 2017 -0500 - drivers/usb/class/cdc-acm.c | 3 +++ - 1 file changed, 3 insertions(+) + Merge branch 'pax-test' into grsec-test -commit 6ee21acdf0da6602671cb50edeca0abfba3955f7 -Author: Oliver Neukum -Date: Wed Mar 16 13:26:17 2016 +0100 +commit 5cff6ef64e73635a287a5635ed89db37b4860336 +Author: Brad Spengler +Date: Sun Feb 12 20:05:28 2017 -0500 - USB: usb_driver_claim_interface: add sanity checking - - Attacks that trick drivers into passing a NULL pointer - to usb_driver_claim_interface() using forged descriptors are - known. This thwarts them by sanity checking. - - Signed-off-by: Oliver Neukum - CC: stable@vger.kernel.org - Signed-off-by: Greg Kroah-Hartman + compile fix - drivers/usb/core/driver.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) +commit fb5b3e71be3a859d01a3e935762125808f8dcff4 +Merge: 005e22e a85c589 +Author: Brad Spengler +Date: Sun Feb 12 19:54:55 2017 -0500 -commit 44247834ddab762509eaaf5c742e15bfadcd9d94 -Author: Paolo Bonzini -Date: Mon Mar 21 10:15:25 2016 +0100 + Merge branch 'pax-test' into grsec-test - KVM: fix spin_lock_init order on x86 - - Moving the initialization earlier is needed in 4.6 because - kvm_arch_init_vm is now using mmu_lock, causing lockdep to - complain: - - [ 284.440294] INFO: trying to register non-static key. - [ 284.445259] the code is fine but needs lockdep annotation. - [ 284.450736] turning off the locking correctness validator. - ... - [ 284.528318] [] lock_acquire+0xd3/0x240 - [ 284.533733] [] ? kvm_page_track_register_notifier+0x20/0x60 [kvm] - [ 284.541467] [] _raw_spin_lock+0x41/0x80 - [ 284.546960] [] ? kvm_page_track_register_notifier+0x20/0x60 [kvm] - [ 284.554707] [] kvm_page_track_register_notifier+0x20/0x60 [kvm] - [ 284.562281] [] kvm_mmu_init_vm+0x20/0x30 [kvm] - [ 284.568381] [] kvm_arch_init_vm+0x1ea/0x200 [kvm] - [ 284.574740] [] kvm_dev_ioctl+0xbf/0x4d0 [kvm] - - However, it also helps fixing a preexisting problem, which is why this - patch is also good for stable kernels: kvm_create_vm was incrementing - current->mm->mm_count but not decrementing it at the out_err label (in - case kvm_init_mmu_notifier failed). The new initialization order makes - it possible to add the required mmdrop without adding a new error label. - - Cc: stable@vger.kernel.org - Reported-by: Borislav Petkov - Signed-off-by: Paolo Bonzini +commit a85c5893051fbbc5b97ab6504747f60d9359dabe +Author: Brad Spengler +Date: Sun Feb 12 19:54:47 2017 -0500 - virt/kvm/kvm_main.c | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) + compile fix -commit 9d0cf281d74a9fe490f3ba5ca3d0e57eac066e1c -Author: Paolo Bonzini -Date: Fri Mar 18 16:53:42 2016 +0100 +commit 005e22eb6f5f0630dc47c5bf4c37fe72cb8d5afa +Merge: 230f6cf e376f96 +Author: Brad Spengler +Date: Sun Feb 12 19:49:23 2017 -0500 - KVM: VMX: avoid guest hang on invalid invvpid instruction - - A guest executing an invalid invvpid instruction would hang - because the instruction pointer was not updated. - - Reported-by: jmontleo@redhat.com - Tested-by: jmontleo@redhat.com - Cc: stable@vger.kernel.org - Fixes: 99b83ac893b84ed1a62ad6d1f2b6cc32026b9e85 - Reviewed-by: David Matlack - Signed-off-by: Paolo Bonzini + Merge branch 'pax-test' into grsec-test - arch/x86/kvm/vmx.c | 1 + - 1 file changed, 1 insertion(+) +commit e376f965ed749044bc294004f16b36f4ca7fab28 +Author: Brad Spengler +Date: Sun Feb 12 19:49:16 2017 -0500 -commit 602caaece277e5e21ae43771398bbf7778061beb -Author: Paolo Bonzini -Date: Fri Mar 18 16:53:29 2016 +0100 + compile fix - KVM: VMX: avoid guest hang on invalid invept instruction - - A guest executing an invalid invept instruction would hang - because the instruction pointer was not updated. - - Cc: stable@vger.kernel.org - Fixes: bfd0a56b90005f8c8a004baf407ad90045c2b11e - Reviewed-by: David Matlack - Signed-off-by: Paolo Bonzini +commit 230f6cf74a165b342fdc05c8202422e8e243b528 +Merge: a60f9ee f4cbdea +Author: Brad Spengler +Date: Sun Feb 12 19:38:05 2017 -0500 - arch/x86/kvm/vmx.c | 1 + - 1 file changed, 1 insertion(+) + Merge branch 'pax-test' into grsec-test -commit 3309ac82d6596de8abc6ea51dd0a942416da1cc1 -Author: Jann Horn -Date: Tue Mar 22 14:25:36 2016 -0700 +commit f4cbdeaa06cfd3658346f94abb5b6e11fe025961 +Author: Brad Spengler +Date: Sun Feb 12 19:37:57 2017 -0500 - fs/coredump: prevent fsuid=0 dumps into user-controlled directories + compile fix + +commit a60f9eef51ff4133c0a713bc89c5e2137999e74c +Merge: dc07488 d545a4c +Author: Brad Spengler +Date: Sun Feb 12 19:24:32 2017 -0500 + + Merge branch 'pax-test' into grsec-test + +commit d545a4c83b3191aeee56ebda071a8476a046eb40 +Author: Brad Spengler +Date: Sun Feb 12 19:22:21 2017 -0500 + + Update to pax-linux-4.9.8-test2.patch: + - switched to upstream commit 76bee23411f8510fbf5fc5641bae2c203b726eb6 to fix LTO builds + - fixed the symbol export of cpu_gdt_table on x86, by corsac + - fixed a bunch of compile warnings, by Mathias Krause + - fixed PARAVIRT/RAP boot problems, reported by quasar366 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4663) and Rhett M. Bowen (https://bugs.archlinux.org/task/52881#comment155215), tested by pierrecap@yahoo.fr + - fixed KERNEXEC/UEFI boot problems, reported by anoteros (https://bugs.gentoo.org/show_bug.cgi?id=608680) and Clayton Craft (https://bugs.archlinux.org/task/52881#comment155250) + +commit dc07488c378373e2bf6b60df31709da5ff767afd +Author: Sean Rees +Date: Wed Feb 8 14:30:59 2017 -0800 + + Another bug from this pointless mitigation + see also: https://twitter.com/halvarflake/status/827613317296508928 - This commit fixes the following security hole affecting systems where - all of the following conditions are fulfilled: + mm/slub.c: fix random_seq offset destruction - - The fs.suid_dumpable sysctl is set to 2. - - The kernel.core_pattern sysctl's value starts with "/". (Systems - where kernel.core_pattern starts with "|/" are not affected.) - - Unprivileged user namespace creation is permitted. (This is - true on Linux >=3.8, but some distributions disallow it by - default using a distro patch.) + Commit 210e7a43fa90 ("mm: SLUB freelist randomization") broke USB hub + initialisation as described in - Under these conditions, if a program executes under secure exec rules, - causing it to run with the SUID_DUMP_ROOT flag, then unshares its user - namespace, changes its root directory and crashes, the coredump will be - written using fsuid=0 and a path derived from kernel.core_pattern - but - this path is interpreted relative to the root directory of the process, - allowing the attacker to control where a coredump will be written with - root privileges. + https://bugzilla.kernel.org/show_bug.cgi?id=177551. - To fix the security issue, always interpret core_pattern for dumps that - are written under SUID_DUMP_ROOT relative to the root directory of init. + Bail out early from init_cache_random_seq if s->random_seq is already + initialised. This prevents destroying the previously computed + random_seq offsets later in the function. - Signed-off-by: Jann Horn - Acked-by: Kees Cook - Cc: Al Viro - Cc: "Eric W. Biederman" - Cc: Andy Lutomirski - Cc: Oleg Nesterov + If the offsets are destroyed, then shuffle_freelist will truncate + page->freelist to just the first object (orphaning the rest). + + Fixes: 210e7a43fa90 ("mm: SLUB freelist randomization") + Link: http://lkml.kernel.org/r/20170207140707.20824-1-sean@erifax.org + Signed-off-by: Sean Rees + Reported-by: + Cc: Christoph Lameter + Cc: Pekka Enberg + Cc: David Rientjes + Cc: Joonsoo Kim + Cc: Thomas Garnier Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds - arch/um/drivers/mconsole_kern.c | 2 +- - fs/coredump.c | 31 +++++++++++++++++++++++++++---- - fs/fhandle.c | 2 +- - fs/open.c | 6 ++---- - include/linux/fs.h | 2 +- - kernel/sysctl_binary.c | 2 +- - 6 files changed, 33 insertions(+), 12 deletions(-) +commit 7bb22c6cffa5d31bd953b6161db96000edd9eb23 +Merge: a86976a8 9d73aa5 +Author: Brad Spengler +Date: Thu Feb 9 07:22:12 2017 -0500 -commit a7c8d3c91a3e50d0873942f09afbb5071382d5e7 -Author: Takashi Iwai -Date: Fri Apr 1 12:28:16 2016 +0200 + Merge branch 'pax-test' into grsec-test - ALSA: timer: Use mod_timer() for rearming the system timer - - ALSA system timer backend stops the timer via del_timer() without sync - and leaves del_timer_sync() at the close instead. This is because of - the restriction by the design of ALSA timer: namely, the stop callback - may be called from the timer handler, and calling the sync shall lead - to a hangup. However, this also triggers a kernel BUG() when the - timer is rearmed immediately after stopping without sync: - kernel BUG at kernel/time/timer.c:966! - Call Trace: - - [] snd_timer_s_start+0x13e/0x1a0 - [] snd_timer_interrupt+0x504/0xec0 - [] ? debug_check_no_locks_freed+0x290/0x290 - [] snd_timer_s_function+0xb4/0x120 - [] call_timer_fn+0x162/0x520 - [] ? call_timer_fn+0xcd/0x520 - [] ? snd_timer_interrupt+0xec0/0xec0 - .... - - It's the place where add_timer() checks the pending timer. It's clear - that this may happen after the immediate restart without sync in our - cases. - - So, the workaround here is just to use mod_timer() instead of - add_timer(). This looks like a band-aid fix, but it's a right move, - as snd_timer_interrupt() takes care of the continuous rearm of timer. - - Reported-by: Jiri Slaby - Cc: - Signed-off-by: Takashi Iwai +commit 9d73aa5a4dee061781926c89c592a7d447804e7d +Merge: 709a650 d2e4b66 +Author: Brad Spengler +Date: Thu Feb 9 07:22:05 2017 -0500 - sound/core/timer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + Merge branch 'linux-4.9.y' into pax-test -commit 2de05c5fc90b461d78a54a7240b664a068844c8c -Author: Daniel Vetter -Date: Wed Mar 30 11:40:43 2016 +0200 +commit a86976a86e06bb353a436c2486b1ccfb471f9c50 +Author: Brad Spengler +Date: Tue Feb 7 08:31:41 2017 -0500 - drm/udl: Use unlocked gem unreferencing - - For drm_gem_object_unreference callers are required to hold - dev->struct_mutex, which these paths don't. Enforcing this requirement - has become a bit more strict with - - commit ef4c6270bf2867e2f8032e9614d1a8cfc6c71663 - Author: Daniel Vetter - Date: Thu Oct 15 09:36:25 2015 +0200 - - drm/gem: Check locking in drm_gem_object_unreference - - Cc: stable@vger.kernel.org - Signed-off-by: Daniel Vetter - Signed-off-by: Dave Airlie + compile fix - drivers/gpu/drm/udl/udl_fb.c | 2 +- - drivers/gpu/drm/udl/udl_gem.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) +commit 6261adb89e218739e07dc2e55fc87534ea2da325 +Author: Brad Spengler +Date: Tue Feb 7 07:43:30 2017 -0500 -commit c8153b6b1731b8fee33966dd8d148643240f1dc0 -Author: Jan Kara -Date: Mon Dec 7 14:34:49 2015 -0500 + Relax /proc/pid/auxv check to match what was present in previous patches. + Many thanks to M. Vefa Bicakci for the report and fix! - ext4: fix races of writeback with punch hole and zero range - - When doing delayed allocation, update of on-disk inode size is postponed - until IO submission time. However hole punch or zero range fallocate - calls can end up discarding the tail page cache page and thus on-disk - inode size would never be properly updated. - - Make sure the on-disk inode size is updated before truncating page - cache. - - Signed-off-by: Jan Kara - Signed-off-by: Theodore Ts'o +commit cabfb9cbd9201438006865d5e67d10105d8430bc +Author: Brad Spengler +Date: Tue Feb 7 07:31:48 2017 -0500 - fs/ext4/ext4.h | 3 +++ - fs/ext4/extents.c | 5 +++++ - fs/ext4/inode.c | 35 ++++++++++++++++++++++++++++++++++- - 3 files changed, 42 insertions(+), 1 deletion(-) + Cleanup from Mathias Krause -commit d64beb441579f2667e99eb9d4d6e83deb88bf59b -Author: Jan Kara -Date: Mon Dec 7 14:31:11 2015 -0500 +commit 24cf8c373075b002719617a16a180bcd1c281c83 +Author: Brad Spengler +Date: Tue Feb 7 07:28:52 2017 -0500 - ext4: fix races between buffered IO and collapse / insert range - - Current code implementing FALLOC_FL_COLLAPSE_RANGE and - FALLOC_FL_INSERT_RANGE is prone to races with buffered writes and page - faults. If buffered write or write via mmap manages to squeeze between - filemap_write_and_wait_range() and truncate_pagecache() in the fallocate - implementations, the written data is simply discarded by - truncate_pagecache() although it should have been shifted. - - Fix the problem by moving filemap_write_and_wait_range() call inside - i_mutex and i_mmap_sem. That way we are protected against races with - both buffered writes and page faults. - - Signed-off-by: Jan Kara - Signed-off-by: Theodore Ts'o + Fix driver error case that we had correct but which broke when merging + upstream's ripoff of our code, reported by Mathias Krause - fs/ext4/extents.c | 59 +++++++++++++++++++++++++++++-------------------------- - 1 file changed, 31 insertions(+), 28 deletions(-) +commit d467970a05a441b364d247d5b4366913e44ad7ef +Merge: cd0b761 709a650 +Author: Brad Spengler +Date: Sun Feb 5 10:00:34 2017 -0500 -commit b1ae49aa4dad39233b16456e0765a23ba4e0546c -Author: Jan Kara -Date: Mon Dec 7 14:29:17 2015 -0500 + Merge branch 'pax-test' into grsec-test - ext4: move unlocked dio protection from ext4_alloc_file_blocks() - - Currently ext4_alloc_file_blocks() was handling protection against - unlocked DIO. However we now need to sometimes call it under i_mmap_sem - and sometimes not and DIO protection ranks above it (although strictly - speaking this cannot currently create any deadlocks). Also - ext4_zero_range() was actually getting & releasing unlocked DIO - protection twice in some cases. Luckily it didn't introduce any real bug - but it was a land mine waiting to be stepped on. So move DIO protection - out from ext4_alloc_file_blocks() into the two callsites. - - Signed-off-by: Jan Kara - Signed-off-by: Theodore Ts'o +commit 709a650aee15f96f6f564e8f4753ce4d2ce4d666 +Author: Brad Spengler +Date: Sun Feb 5 10:00:20 2017 -0500 - fs/ext4/extents.c | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) + Update to pax-linux-4.9.8-test1x.patch -commit f9329a4ec30a26f0fababf809c5f1a3ef851b625 -Author: Jan Kara -Date: Mon Dec 7 14:28:03 2015 -0500 +commit cd0b7618163bb40398b593d3649920ded2e1af33 +Author: Brad Spengler +Date: Sat Feb 4 15:58:39 2017 -0500 - ext4: fix races between page faults and hole punching - - Currently, page faults and hole punching are completely unsynchronized. - This can result in page fault faulting in a page into a range that we - are punching after truncate_pagecache_range() has been called and thus - we can end up with a page mapped to disk blocks that will be shortly - freed. Filesystem corruption will shortly follow. Note that the same - race is avoided for truncate by checking page fault offset against - i_size but there isn't similar mechanism available for punching holes. - - Fix the problem by creating new rw semaphore i_mmap_sem in inode and - grab it for writing over truncate, hole punching, and other functions - removing blocks from extent tree and for read over page faults. We - cannot easily use i_data_sem for this since that ranks below transaction - start and we need something ranking above it so that it can be held over - the whole truncate / hole punching operation. Also remove various - workarounds we had in the code to reduce race window when page fault - could have created pages with stale mapping information. - - Signed-off-by: Jan Kara - Signed-off-by: Theodore Ts'o + Update size_overflow hash table - fs/ext4/ext4.h | 10 +++++++++ - fs/ext4/extents.c | 54 ++++++++++++++++++++++++-------------------- - fs/ext4/file.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++-------- - fs/ext4/inode.c | 36 +++++++++++++++++++++-------- - fs/ext4/super.c | 1 + - fs/ext4/truncate.h | 2 ++ - 6 files changed, 127 insertions(+), 42 deletions(-) +commit a6ac7f5e6378cef84c4c00a051725c023a63021b +Author: Brad Spengler +Date: Sat Feb 4 14:58:33 2017 -0500 -commit 572a615b85c1d5c8aeea4ffd24ab428775a1cca9 -Author: Guenter Roeck -Date: Sat Mar 26 12:28:05 2016 -0700 + Update size_overflow hash tables - hwmon: (max1111) Return -ENODEV from max1111_read_channel if not instantiated - - arm:pxa_defconfig can result in the following crash if the max1111 driver - is not instantiated. - - Unhandled fault: page domain fault (0x01b) at 0x00000000 - pgd = c0004000 - [00000000] *pgd=00000000 - Internal error: : 1b [#1] PREEMPT ARM - Modules linked in: - CPU: 0 PID: 300 Comm: kworker/0:1 Not tainted 4.5.0-01301-g1701f680407c #10 - Hardware name: SHARP Akita - Workqueue: events sharpsl_charge_toggle - task: c390a000 ti: c391e000 task.ti: c391e000 - PC is at max1111_read_channel+0x20/0x30 - LR is at sharpsl_pm_pxa_read_max1111+0x2c/0x3c - pc : [] lr : [] psr: 20000013 - ... - [] (max1111_read_channel) from [] - (sharpsl_pm_pxa_read_max1111+0x2c/0x3c) - [] (sharpsl_pm_pxa_read_max1111) from [] - (spitzpm_read_devdata+0x5c/0xc4) - [] (spitzpm_read_devdata) from [] - (sharpsl_check_battery_temp+0x78/0x110) - [] (sharpsl_check_battery_temp) from [] - (sharpsl_charge_toggle+0x48/0x110) - [] (sharpsl_charge_toggle) from [] - (process_one_work+0x14c/0x48c) - [] (process_one_work) from [] (worker_thread+0x3c/0x5d4) - [] (worker_thread) from [] (kthread+0xd0/0xec) - [] (kthread) from [] (ret_from_fork+0x14/0x24) - - This can occur because the SPI controller driver (SPI_PXA2XX) is built as - module and thus not necessarily loaded. While building SPI_PXA2XX into the - kernel would make the problem disappear, it appears prudent to ensure that - the driver is instantiated before accessing its data structures. - - Cc: Arnd Bergmann - Cc: stable@vger.kernel.org - Signed-off-by: Guenter Roeck +commit ae5d77fb41c008fcc8b504c350fe3556b43c3973 +Author: Brad Spengler +Date: Sat Feb 4 12:35:54 2017 -0500 - drivers/hwmon/max1111.c | 6 ++++++ - 1 file changed, 6 insertions(+) + Update size_overflow hash table -commit f75f1af7a0b4be055855ca5120ee78174f3370f2 -Author: Nicolai Stange -Date: Sun Mar 20 23:23:46 2016 +0100 +commit 25a2af42cf8bd480755fb946623e868e297a3136 +Author: Brad Spengler +Date: Sat Feb 4 12:25:45 2017 -0500 - PKCS#7: pkcs7_validate_trust(): initialize the _trusted output argument - - Despite what the DocBook comment to pkcs7_validate_trust() says, the - *_trusted argument is never set to false. - - pkcs7_validate_trust() only positively sets *_trusted upon encountering - a trusted PKCS#7 SignedInfo block. - - This is quite unfortunate since its callers, system_verify_data() for - example, depend on pkcs7_validate_trust() clearing *_trusted on non-trust. + Initial import of grsecurity 3.1 for Linux 4.9.8 + +commit e3932cb3abbbcfa7e0c7414541fdbd0a27453d4d +Author: Brad Spengler +Date: Sat Feb 4 11:52:14 2017 -0500 + + Update to pax-linux-4.9.8-test1.patch + +commit 979bddf15aa0dbb73dcd418d18ff2fd30ff1b38e +Merge: d93b949 c8ea2f3 +Author: Brad Spengler +Date: Sat Feb 4 04:27:39 2017 -0500 + + Merge branch 'linux-4.9.y' into pax-test + +commit d93b94991428cb11d0f66e209c070b1ba884bf83 +Author: Brad Spengler +Date: Thu Feb 2 17:26:16 2017 -0500 + + Update to pax-linux-4.9.6-test1xxxxxy.patch + +commit c5ecf5720061b63b90eb0ae6dcac9a7b88edd723 +Author: Brad Spengler +Date: Wed Feb 1 21:22:36 2017 -0500 + + Update to pax-linux-4.9.6-test1xxxxx.patch + +commit aede64e292980acc6c5784bb18864cd7fabec093 +Author: Brad Spengler +Date: Wed Feb 1 20:34:33 2017 -0500 + + Update to pax-linux-4.9.6-test1xxxx.patch + +commit 24a41127f3313bba134e0b68ab9da40f2b0f1ab5 +Author: Brad Spengler +Date: Wed Feb 1 19:32:39 2017 -0500 + + Update to pax-linux-4.9.6-test1xxx.patch + +commit 5ed38e522dd7df25d0102f9faf97fca62ba84102 +Merge: a2e84e3 fd2ffe5 +Author: Brad Spengler +Date: Wed Feb 1 08:14:15 2017 -0500 + + Merge branch 'linux-4.9.y' into pax-test + +commit a2e84e35dd4c940ddf23d70de6b29a48cbcaa39c +Author: Brad Spengler +Date: Wed Feb 1 07:40:25 2017 -0500 + + Update to pax-linux-4.9.6-test1xx.patch + +commit a06453c00dca1885a8f638b5a4e0dfa703a2094f +Author: Brad Spengler +Date: Tue Jan 31 19:50:03 2017 -0500 + + Update to pax-linux-4.9.6-test1x.patch + +commit a78566f6da3985944fee653782344976e37a5dea +Author: Brad Spengler +Date: Fri Jan 27 21:41:39 2017 -0500 + + Initial import of pax-linux-4.9.6-test1.patch +commit e5800118f68fd1553ac02b1f05bc3d567a884e22 +Author: Brad Spengler +Date: Sun Jan 15 15:50:04 2017 -0500 + + Fix size_overflow FP with gcc 6 reported by craftyguy at: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4640 + + scripts/gcc-plugins/size_overflow_plugin/disable.data | 1 + + scripts/gcc-plugins/size_overflow_plugin/e_fields.data | 1 - + 2 files changed, 1 insertion(+), 1 deletion(-) + +commit 5861d0ad8a1c929257f1eda7f97dadbc1818112f +Author: Brad Spengler +Date: Sun Jan 15 14:17:09 2017 -0500 + + Initify plugin updates from Emese Revfy: - Indeed, UBSAN splats when attempting to load the uninitialized local - variable 'trusted' from system_verify_data() in pkcs7_validate_trust(): + Fixed a logical error that caused a section mismatch + Forgot to handle callees from a caller that is marked by BOTH. - UBSAN: Undefined behaviour in crypto/asymmetric_keys/pkcs7_trust.c:194:14 - load of value 82 is not a valid value for type '_Bool' - [...] - Call Trace: - [] dump_stack+0xbc/0x117 - [] ? _atomic_dec_and_lock+0x169/0x169 - [] ubsan_epilogue+0xd/0x4e - [] __ubsan_handle_load_invalid_value+0x111/0x158 - [] ? val_to_string.constprop.12+0xcf/0xcf - [] ? x509_request_asymmetric_key+0x114/0x370 - [] ? kfree+0x220/0x370 - [] ? public_key_verify_signature_2+0x32/0x50 - [] pkcs7_validate_trust+0x524/0x5f0 - [] system_verify_data+0xca/0x170 - [] ? top_trace_array+0x9b/0x9b - [] ? __vfs_read+0x279/0x3d0 - [] mod_verify_sig+0x1ff/0x290 - [...] + WARNING: vmlinux.o(.text.unlikely+0x1b1): Section mismatch in + reference from the function uncore_pci_exit.part.22() to the function + .init.text:uncore_free_pcibus_map() + The function uncore_pci_exit.part.22() references + the function __init uncore_free_pcibus_map(). + This is often because uncore_pci_exit.part.22 lacks a __init + annotation or the annotation of uncore_free_pcibus_map is wrong. - The implication is that pkcs7_validate_trust() effectively grants trust - when it really shouldn't have. + Reported-by: Kees Cook - Fix this by explicitly setting *_trusted to false at the very beginning - of pkcs7_validate_trust(). + Examine all clones as well for __init/__exit eligibility + WARNING: vmlinux.o(.text+0x1087e7): Section mismatch in reference from + the function rebind_subsystems() to the variable + .init.rodata.str:__func__.4400 + The function rebind_subsystems() references + the variable __initconst __func__.4400. + This is often because rebind_subsystems lacks a __initconst + annotation or the annotation of __func__.4400 is wrong. - Cc: - Signed-off-by: Nicolai Stange - Signed-off-by: Herbert Xu + Reported-by: Kees Cook - crypto/asymmetric_keys/pkcs7_trust.c | 2 ++ - 1 file changed, 2 insertions(+) + scripts/gcc-plugins/initify_plugin.c | 76 ++++++++++++++++++++++++------------ + 1 file changed, 51 insertions(+), 25 deletions(-) -commit 1052826f7352ccc98167129b0b83222f45d50046 -Author: Florian Westphal -Date: Tue Mar 22 18:02:49 2016 +0100 +commit 08e03c1434f26e9b56f00a6ce8236320bd557494 +Author: Brad Spengler +Date: Sun Jan 15 14:08:04 2017 -0500 + + After over a year of hard work, KSPP has finally released its first + ever contribution back to grsecurity, the project from which KSPP + plagiarizes^Wobtains every useful improvement to Linux security. We are proud to + announce in this joint release the fruits of their hard work: a typo fix + to change 'unkown' to 'unknown' when reporting incorrect GCC plugin + command line arguments. Many thanks to Kees Cook and KSPP for this + innovation in spell check, and we look forward to many future + contributions of the same ilk from their capable hands. 'This + contribution of a typo fix confirms the high level of respect and + commitment to long-term sustainability KSPP has for grsecurity and its + innovative efforts over the past 16 years in producing the state of the + art in Linux security' said Brad Spengler, President of Open Source + Security Inc. + + "Based on a patch by Kees Cook" (since like much upstream efforts this + one was incomplete in that it missed the rap and size_overflow typos + as they existed in separate directories). + + scripts/gcc-plugins/checker_plugin.c | 2 +- + scripts/gcc-plugins/colorize_plugin.c | 2 +- + scripts/gcc-plugins/constify_plugin.c | 2 +- + scripts/gcc-plugins/initify_plugin.c | 2 +- + scripts/gcc-plugins/kernexec_plugin.c | 2 +- + scripts/gcc-plugins/latent_entropy_plugin.c | 2 +- + scripts/gcc-plugins/randomize_layout_plugin.c | 2 +- + scripts/gcc-plugins/rap_plugin/rap_plugin.c | 2 +- + scripts/gcc-plugins/sancov_plugin.c | 2 +- + scripts/gcc-plugins/size_overflow_plugin/size_overflow_plugin.c | 2 +- + scripts/gcc-plugins/stackleak_plugin.c | 2 +- + scripts/gcc-plugins/structleak_plugin.c | 2 +- + 12 files changed, 12 insertions(+), 12 deletions(-) + +commit 9b4ad0aa5ee41a03f02a928e2fd9679044048bde +Author: Brad Spengler +Date: Sun Jan 15 12:18:18 2017 -0500 - netfilter: x_tables: validate e->target_offset early - - We should check that e->target_offset is sane before - mark_source_chains gets called since it will fetch the target entry - for loop detection. - - Signed-off-by: Florian Westphal - Signed-off-by: Pablo Neira Ayuso + Fix boot hang on 32-bit 4.8 kernels with SEGMEXEC enabled, reported by + osea at: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4643 - net/ipv4/netfilter/arp_tables.c | 17 ++++++++--------- - net/ipv4/netfilter/ip_tables.c | 17 ++++++++--------- - net/ipv6/netfilter/ip6_tables.c | 17 ++++++++--------- - 3 files changed, 24 insertions(+), 27 deletions(-) + mm/memory.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) -commit b35d19509e8dab157214e46dd24314663ccf554f -Author: Florian Westphal -Date: Tue Mar 22 18:02:50 2016 +0100 +commit 2c93d3e0efb5b3d413cf2c0c5ac56faf47fa3e2d +Author: Brad Spengler +Date: Sun Jan 15 08:52:57 2017 -0500 - netfilter: x_tables: make sure e->next_offset covers remaining blob size - - Otherwise this function may read data beyond the ruleset blob. + Allow USERCOPY to be disabled, was a bug in PaX that somehow slipped through + the holiday cracks - Signed-off-by: Florian Westphal - Signed-off-by: Pablo Neira Ayuso + Reported by Chris Henhawke at: + https://bugs.gentoo.org/show_bug.cgi?id=603188 - net/ipv4/netfilter/arp_tables.c | 6 ++++-- - net/ipv4/netfilter/ip_tables.c | 6 ++++-- - net/ipv6/netfilter/ip6_tables.c | 6 ++++-- - 3 files changed, 12 insertions(+), 6 deletions(-) + security/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit 4d7642ed66b69140733a7b51fcd6d37ce4d4514c -Author: Florian Westphal -Date: Tue Mar 22 18:02:52 2016 +0100 +commit e86618efec929cb7f77480f35b21154368f2e7d1 +Author: John Sperbeck +Date: Tue Jan 10 16:58:24 2017 -0800 - netfilter: x_tables: fix unconditional helper - - Ben Hawkes says: - - In the mark_source_chains function (net/ipv4/netfilter/ip_tables.c) it - is possible for a user-supplied ipt_entry structure to have a large - next_offset field. This field is not bounds checked prior to writing a - counter value at the supplied offset. - - Problem is that mark_source_chains should not have been called -- - the rule doesn't have a next entry, so its supposed to return - an absolute verdict of either ACCEPT or DROP. + From the team that brought you useless improvements to the useless KASLR: + Useless mitigation causing likely privesc, with one of the worst commit messages + of all time (that wasn't written by an upstream developer for once -- to his credit, + Andrew Morton actually demanded more info (albeit receiving it in vague quality), + without which this commit message would have been even more sparse. - However, the function conditional() doesn't work as the name implies. - It only checks that the rule is using wildcard address matching. + Someone should request a CVE for this: - However, an unconditional rule must also not be using any matches - (no -m args). + mm/slab.c: fix SLAB freelist randomization duplicate entries - The underflow validator only checked the addresses, therefore - passing the 'unconditional absolute verdict' test, while - mark_source_chains also tested for presence of matches, and thus - proceeeded to the next (not-existent) rule. + This patch fixes a bug in the freelist randomization code. When a high + random number is used, the freelist will contain duplicate entries. It + will result in different allocations sharing the same chunk. - Unify this so that all the callers have same idea of 'unconditional rule'. + It will result in odd behaviours and crashes. It should be uncommon but + it depends on the machines. We saw it happening more often on some + machines (every few hours of running tests). - Reported-by: Ben Hawkes - Signed-off-by: Florian Westphal - Signed-off-by: Pablo Neira Ayuso + Fixes: c7ce4f60ac19 ("mm: SLAB freelist randomization") + Link: http://lkml.kernel.org/r/20170103181908.143178-1-thgarnie@google.com + Signed-off-by: John Sperbeck + Signed-off-by: Thomas Garnier + Cc: Christoph Lameter + Cc: Pekka Enberg + Cc: David Rientjes + Cc: Joonsoo Kim + Cc: + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds - net/ipv4/netfilter/arp_tables.c | 18 +++++++++--------- - net/ipv4/netfilter/ip_tables.c | 23 +++++++++++------------ - net/ipv6/netfilter/ip6_tables.c | 23 +++++++++++------------ - 3 files changed, 31 insertions(+), 33 deletions(-) + mm/slab.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) -commit e3e51682563f1453dfc4b9ef88b29af4d1a78e78 -Author: Pablo Neira Ayuso -Date: Thu Mar 24 21:29:53 2016 +0100 +commit f7abe91bbcb4950f9c611fadd813b6dbe68db74b +Merge: 124f515 006324d +Author: Brad Spengler +Date: Mon Jan 9 07:22:15 2017 -0500 - netfilter: x_tables: enforce nul-terminated table name from getsockopt GET_ENTRIES - - Make sure the table names via getsockopt GET_ENTRIES is nul-terminated - in ebtables and all the x_tables variants and their respective compat - code. Uncovered by KASAN. - - Reported-by: Baozeng Ding - Signed-off-by: Pablo Neira Ayuso + Merge branch 'pax-test' into grsec-test - net/bridge/netfilter/ebtables.c | 4 ++++ - net/ipv4/netfilter/arp_tables.c | 2 ++ - net/ipv4/netfilter/ip_tables.c | 2 ++ - net/ipv6/netfilter/ip6_tables.c | 2 ++ - 4 files changed, 10 insertions(+) +commit 006324d50d856bb254eb375407bc0478f8ae95eb +Merge: 2f6e197 3d8f8d0 +Author: Brad Spengler +Date: Mon Jan 9 07:22:06 2017 -0500 -commit 7742471b674597627f8f608f6a89c6e5bbd6533d -Author: Nicolai Stange -Date: Fri Mar 25 14:22:14 2016 -0700 + Merge branch 'linux-4.8.y' into pax-test - mm/filemap: generic_file_read_iter(): check for zero reads unconditionally - - If - - generic_file_read_iter() gets called with a zero read length, - - the read offset is at a page boundary, - - IOCB_DIRECT is not set - - and the page in question hasn't made it into the page cache yet, - then do_generic_file_read() will trigger a readahead with a req_size hint - of zero. - - Since roundup_pow_of_two(0) is undefined, UBSAN reports - - UBSAN: Undefined behaviour in include/linux/log2.h:63:13 - shift exponent 64 is too large for 64-bit type 'long unsigned int' - CPU: 3 PID: 1017 Comm: sa1 Tainted: G L 4.5.0-next-20160318+ #14 - [...] - Call Trace: - [...] - [] ondemand_readahead+0x3aa/0x3d0 - [] ? ondemand_readahead+0x3aa/0x3d0 - [] ? find_get_entry+0x2d/0x210 - [] page_cache_sync_readahead+0x63/0xa0 - [] do_generic_file_read+0x80d/0xf90 - [] generic_file_read_iter+0x185/0x420 - [...] - [] __vfs_read+0x256/0x3d0 - [...] - - when get_init_ra_size() gets called from ondemand_readahead(). +commit 124f5155ead017e547c2a3736a312762870d4b0d +Author: Brad Spengler +Date: Fri Jan 6 18:03:39 2017 -0500 + + compile fix + + fs/exec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 655fffef715aff25550a3a90eaf4a7d06426ed8f +Author: Brad Spengler +Date: Fri Jan 6 17:57:28 2017 -0500 + + compile fix + + fs/exec.c | 2 +- + kernel/ptrace.c | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit a4f3d168f78cb8d84eaabba7dd501799b1f6e5a1 +Merge: c86a12c 2f6e197 +Author: Brad Spengler +Date: Fri Jan 6 09:01:05 2017 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 2f6e19780747cdf28176251e19d15c2741b58813 +Merge: a685c6f c65ed08 +Author: Brad Spengler +Date: Fri Jan 6 08:01:20 2017 -0500 + + Merge branch 'linux-4.8.y' into pax-test + +commit c86a12c6f8a8551a0025ad531abe9d383e7388d2 +Author: Brad Spengler +Date: Tue Jan 3 17:37:11 2017 -0500 + + Fix an off-by-one in reporting some denied socket families, as reported by + Blub + + grsecurity/gracl_ip.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 85f6681653925320e2040a772aa9526d7bdbe083 +Merge: 9d7ca54 a685c6f +Author: Brad Spengler +Date: Tue Jan 3 17:18:37 2017 -0500 + + Merge branch 'pax-test' into grsec-test + +commit a685c6fc603aac945ce129adfcbeb9b05b0aba62 +Author: Brad Spengler +Date: Tue Jan 3 17:18:07 2017 -0500 + + Update to pax-linux-4.8.15-test9.patch: + - fixed a few compiler warnings due to KERNEXEC and constification, reported by spender + - made a few micro-optimizations to lretq usage on amd64 and BUG_ON + - updated gcc-common.h and the plugins to eliminate some code bloat in pass registration + - fixed the use of build_string in all gcc plugins as it doesn't set TREE_TYPE itself + + arch/x86/kernel/head_64.S | 6 +- + drivers/hv/hv.c | 2 +- + drivers/net/ethernet/amd/xgbe/xgbe.h | 6 +- + include/asm-generic/bug.h | 2 +- + scripts/gcc-plugins/checker_plugin.c | 15 +-- + scripts/gcc-plugins/colorize_plugin.c | 8 +- + scripts/gcc-plugins/constify_plugin.c | 9 +- + scripts/gcc-plugins/cyc_complexity_plugin.c | 8 +- + scripts/gcc-plugins/gcc-common.h | 106 ++++++++++++++++++--- + scripts/gcc-plugins/initify_plugin.c | 12 +-- + scripts/gcc-plugins/kallocstat_plugin.c | 8 +- + scripts/gcc-plugins/kernexec_plugin.c | 28 ++---- + scripts/gcc-plugins/latent_entropy_plugin.c | 10 +- + scripts/gcc-plugins/rap_plugin/rap_plugin.c | 24 ++--- + scripts/gcc-plugins/sancov_plugin.c | 14 ++- + .../insert_size_overflow_asm.c | 6 +- + .../size_overflow_plugin/size_overflow_ipa.c | 2 +- + .../size_overflow_plugin/size_overflow_plugin.c | 26 ++--- + .../size_overflow_plugin/size_overflow_transform.c | 4 +- + .../size_overflow_transform_core.c | 20 +--- + scripts/gcc-plugins/stackleak_plugin.c | 18 +--- + scripts/gcc-plugins/structleak_plugin.c | 8 +- + 22 files changed, 164 insertions(+), 178 deletions(-) + +commit 9d7ca543b94c0203affd278739c77992ccaa7ba6 +Author: Brad Spengler +Date: Fri Dec 30 18:21:59 2016 -0500 + + Fix virtualbox host compatibility as reported by aurelf at: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4634 - The net effect is that the initial readahead size is arch dependent for - requested read lengths of zero: for example, since + This will be reverted once the VirtualBox devs stop disabling + SMAP unnecessarily, which seems like it will happen never. + Anyone who cares about security of their host system shouldn't + use VirtualBox, as it already precludes the use of KERNEXEC, UDEREF, + and RANDKSTACK. + + arch/x86/include/asm/irqflags.h | 4 ++++ + 1 file changed, 4 insertions(+) + +commit cec0b19f2d7ac2d8f8357aee654dddd4418086b8 +Author: Brad Spengler +Date: Thu Dec 22 22:19:33 2016 -0500 + + Make HIDESYM select PAX_USERCOPY instead of the now nonexistent PAX_USERCOPY_SLABS + + grsecurity/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 61c3fa5b25ecc4a7c4f3d531a5cc76adeb89336c +Author: Brad Spengler +Date: Thu Dec 15 18:36:17 2016 -0500 + + Update size_overflow hash table + + scripts/gcc-plugins/size_overflow_plugin/e_fns.data | 1 + + 1 file changed, 1 insertion(+) + +commit 58e3f480aa38ec2007ec86afdbe668cf30238cd2 +Author: Linus Torvalds +Date: Wed Dec 14 12:45:25 2016 -0800 + + vfs,mm: fix return value of read() at s_maxbytes - 1UL << (sizeof(unsigned long) * 8) + We truncated the possible read iterator to s_maxbytes in commit + c2a9737f45e2 ("vfs,mm: fix a dead loop in truncate_inode_pages_range()"), + but our end condition handling was wrong: it's not an error to try to + read at the end of the file. - evaluates to 1 on x86 while its result is 0 on ARMv7, the initial readahead - size becomes 4 on the former and 0 on the latter. + Reading past the end should return EOF (0), not EINVAL. - What's more, whether or not the file access timestamp is updated for zero - length reads is decided differently for the two cases of IOCB_DIRECT - being set or cleared: in the first case, generic_file_read_iter() - explicitly skips updating that timestamp while in the latter case, it is - always updated through the call to do_generic_file_read(). + See for example - According to POSIX, zero length reads "do not modify the last data access - timestamp" and thus, the IOCB_DIRECT behaviour is POSIXly correct. + https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1649342 + http://lists.gnu.org/archive/html/bug-coreutils/2016-12/msg00008.html - Let generic_file_read_iter() unconditionally check the requested read - length at its entry and return immediately with success if it is zero. + where a md5sum of a maximally sized file fails because the final read is + exactly at s_maxbytes. - Signed-off-by: Nicolai Stange + Fixes: c2a9737f45e2 ("vfs,mm: fix a dead loop in truncate_inode_pages_range()") + Reported-by: Joseph Salisbury + Cc: Wei Fang + Cc: Christoph Hellwig + Cc: Dave Chinner Cc: Al Viro - Reviewed-by: Jan Kara - Signed-off-by: Andrew Morton + Cc: Andrew Morton + Cc: stable@kernel.org Signed-off-by: Linus Torvalds - mm/filemap.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) + mm/filemap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -commit 604785419da498d7e876a0191b2e11626db706bb -Author: Oliver Neukum -Date: Thu Mar 17 14:00:17 2016 -0700 +commit 70975981c11bc45fd4ad44e9a6f5e8c2210a14f6 +Merge: 3a0285a 224c7ab +Author: Brad Spengler +Date: Thu Dec 15 17:43:49 2016 -0500 - Input: ims-pcu - sanity check against missing interfaces - - A malicious device missing interface can make the driver oops. - Add sanity checking. - - Signed-off-by: Oliver Neukum - CC: stable@vger.kernel.org - Signed-off-by: Dmitry Torokhov + Merge branch 'pax-test' into grsec-test - drivers/input/misc/ims-pcu.c | 4 ++++ - 1 file changed, 4 insertions(+) +commit 224c7ab2cacdcf25cc319978f7fbe64f519f03f0 +Merge: ccbe963 8bba2e2 +Author: Brad Spengler +Date: Thu Dec 15 17:43:37 2016 -0500 -commit 24c3f4f6652f07eb2c3deea1488ff4de00592e80 -Author: Vladis Dronov -Date: Wed Mar 23 11:53:46 2016 -0700 + Merge branch 'linux-4.8.y' into pax-test - Input: ati_remote2 - fix crashes on detecting device with invalid descriptor - - The ati_remote2 driver expects at least two interfaces with one - endpoint each. If given malicious descriptor that specify one - interface or no endpoints, it will crash in the probe function. - Ensure there is at least two interfaces and one endpoint for each - interface before using it. - - The full disclosure: http://seclists.org/bugtraq/2016/Mar/90 - - Reported-by: Ralf Spenneberg - Signed-off-by: Vladis Dronov - Cc: stable@vger.kernel.org - Signed-off-by: Dmitry Torokhov +commit 3a0285abbc886698581f682e6d269143c1709031 +Merge: eec49c3 ccbe963 +Author: Brad Spengler +Date: Sat Dec 10 17:49:55 2016 -0500 - drivers/input/misc/ati_remote2.c | 36 ++++++++++++++++++++++++++++++------ - 1 file changed, 30 insertions(+), 6 deletions(-) + Merge branch 'pax-test' into grsec-test -commit 262df604d00e72a4b930fbf7fe3a770f0196a5a5 -Author: Oliver Neukum -Date: Wed Mar 23 14:36:56 2016 -0700 +commit ccbe96350259e7d78fb4178ab1e5ece026641816 +Merge: dd08da6 7b8c57c +Author: Brad Spengler +Date: Sat Dec 10 17:49:17 2016 -0500 - Input: sur40 - fix DMA on stack - - During the initialisation the driver uses a buffer on the stack for DMA. - That violates the cache coherency rules. The fix is to allocate the buffer - with kmalloc(). + Update to pax-linux-4.8.14-test8.patch: + - fixed hyperv hypercall page handling when compiled as a module, reported by Kyle Spiers (kyle@atomicorp.com) + - fixed a logic error in initify that initified some ineligible functions triggering a boot crash under hyperv, reported by Kyle Spiers (kyle@atomicorp.com) + - Emese turned the compile time error checking of the nocapture attribute into a warning instead + - prototypes were missing for make_*_pass(), reported by Andrew Donnellan - Signed-off-by: Oliver Neukum - Signed-off-by: Dmitry Torokhov + Merge branch 'linux-4.8.y' into pax-test - drivers/input/touchscreen/sur40.c | 21 ++++++++++++++------- - 1 file changed, 14 insertions(+), 7 deletions(-) +commit eec49c307bcebdfb24cd0c9d1d69282490d30e90 +Merge: 2fd4ed6 dd08da6 +Author: Brad Spengler +Date: Thu Dec 8 20:03:08 2016 -0500 -commit 015dd03669b2ab646723f6b123377e4ef5694a10 -Author: Haiyang Zhang -Date: Wed Mar 23 09:43:10 2016 -0700 + Merge branch 'pax-test' into grsec-test - hv_netvsc: Fix the array sizes to be max supported channels +commit dd08da6af044ecb2b82a0be6bb57a8814637a10e +Author: Brad Spengler +Date: Thu Dec 8 20:02:44 2016 -0500 + + Forward-port some PaX changes: + - fixed hyperv hypercall page handling when compiled as a module, reported by Kyle Spiers (kyle@atomicorp.com) + - fixed a logic error in initify that initified some ineligible functions triggering a boot crash under hyperv, reported by Kyle Spiers (kyle@atomicorp.com) + - Emese turned the compile time error checking of the nocapture attribute into a warning instead + + drivers/hv/hv.c | 2 +- + scripts/gcc-plugins/initify_plugin.c | 14 ++++++-------- + 2 files changed, 7 insertions(+), 9 deletions(-) + +commit 2fd4ed677eead793deb99095d0fea1014947fc1f +Author: David Ahern +Date: Sun Nov 27 18:52:53 2016 -0800 + + net: handle no dst on skb in icmp6_send - The VRSS_CHANNEL_MAX is the max number of channels supported by Hyper-V - hosts. We use it for the related array sizes instead of using NR_CPUS, - which may be set to several thousands. - This patch reduces possible memory allocation failures. + Andrey reported the following while fuzzing the kernel with syzkaller: - Signed-off-by: Haiyang Zhang - Reviewed-by: K. Y. Srinivasan + kasan: CONFIG_KASAN_INLINE enabled + kasan: GPF could be caused by NULL-ptr deref or user memory access + general protection fault: 0000 [#1] SMP KASAN + Modules linked in: + CPU: 0 PID: 3859 Comm: a.out Not tainted 4.9.0-rc6+ #429 + Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 + task: ffff8800666d4200 task.stack: ffff880067348000 + RIP: 0010:[] [] + icmp6_send+0x5fc/0x1e30 net/ipv6/icmp.c:451 + RSP: 0018:ffff88006734f2c0 EFLAGS: 00010206 + RAX: ffff8800666d4200 RBX: 0000000000000000 RCX: 0000000000000000 + RDX: 0000000000000000 RSI: dffffc0000000000 RDI: 0000000000000018 + RBP: ffff88006734f630 R08: ffff880064138418 R09: 0000000000000003 + R10: dffffc0000000000 R11: 0000000000000005 R12: 0000000000000000 + R13: ffffffff84e7e200 R14: ffff880064138484 R15: ffff8800641383c0 + FS: 00007fb3887a07c0(0000) GS:ffff88006cc00000(0000) knlGS:0000000000000000 + CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 + CR2: 0000000020000000 CR3: 000000006b040000 CR4: 00000000000006f0 + Stack: + ffff8800666d4200 ffff8800666d49f8 ffff8800666d4200 ffffffff84c02460 + ffff8800666d4a1a 1ffff1000ccdaa2f ffff88006734f498 0000000000000046 + ffff88006734f440 ffffffff832f4269 ffff880064ba7456 0000000000000000 + Call Trace: + [] icmpv6_param_prob+0x2c/0x40 net/ipv6/icmp.c:557 + [< inline >] ip6_tlvopt_unknown net/ipv6/exthdrs.c:88 + [] ip6_parse_tlv+0x555/0x670 net/ipv6/exthdrs.c:157 + [] ipv6_parse_hopopts+0x199/0x460 net/ipv6/exthdrs.c:663 + [] ipv6_rcv+0xfa3/0x1dc0 net/ipv6/ip6_input.c:191 + ... + + icmp6_send / icmpv6_send is invoked for both rx and tx paths. In both + cases the dst->dev should be preferred for determining the L3 domain + if the dst has been set on the skb. Fallback to the skb->dev if it has + not. This covers the case reported here where icmp6_send is invoked on + Rx before the route lookup. + + Fixes: 5d41ce29e ("net: icmp6_send should use dst dev to determine L3 domain") + Reported-by: Andrey Konovalov + Signed-off-by: David Ahern Signed-off-by: David S. Miller - drivers/net/hyperv/hyperv_net.h | 7 ++++--- - drivers/net/hyperv/rndis_filter.c | 4 ++-- - 2 files changed, 6 insertions(+), 5 deletions(-) + net/ipv6/icmp.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) -commit a850a78d6393ef22a970266cbbefdf3dba0267b5 -Author: Haiyang Zhang -Date: Wed Mar 23 09:43:09 2016 -0700 +commit 15977cda939cb4a2072de08f265d2d95a97c5c9c +Merge: 4d51197 5d6499b +Author: Brad Spengler +Date: Thu Dec 8 19:56:26 2016 -0500 - hv_netvsc: Fix accessing freed memory in netvsc_change_mtu() + Merge branch 'pax-test' into grsec-test + +commit 5d6499bbf52429aee789035bda61df32919293e0 +Merge: f3f4924 55d64c0 +Author: Brad Spengler +Date: Thu Dec 8 19:56:19 2016 -0500 + + Merge branch 'linux-4.8.y' into pax-test + +commit 4d51197ad44024df9dcb2f8f3bc871d5cc185808 +Author: Philip Pettersson +Date: Wed Nov 30 14:55:36 2016 -0800 + + Not unpriv privilege escalation on any version of grsecurity -- + (contrary to copy+pasted Arch Linux security advisories) + we've disabled unprivileged userns ever since it existed. - struct netvsc_device is freed in rndis_filter_device_remove(). So we save - the nvdev->num_chn into a temp variable for later usage. + packet: fix race condition in packet_set_ring - (Please also include this patch into stable branch.) + When packet_set_ring creates a ring buffer it will initialize a + struct timer_list if the packet version is TPACKET_V3. This value + can then be raced by a different thread calling setsockopt to + set the version to TPACKET_V1 before packet_set_ring has finished. - Signed-off-by: Haiyang Zhang - Reviewed-by: K. Y. Srinivasan + This leads to a use-after-free on a function pointer in the + struct timer_list when the socket is closed as the previously + initialized timer will not be deleted. + + The bug is fixed by taking lock_sock(sk) in packet_setsockopt when + changing the packet version while also taking the lock at the start + of packet_set_ring. + + Fixes: f6fb8f100b80 ("af-packet: TPACKET_V3 flexible buffer implementation.") + Signed-off-by: Philip Pettersson + Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller - drivers/net/hyperv/netvsc_drv.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) + net/packet/af_packet.c | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) -commit 7409626e43fe871cede30ac926425938f3ccddaf -Author: Guillaume Nault -Date: Wed Mar 23 16:38:55 2016 +0100 +commit 8fb1a916b99396cae8f6961d1734ea51c333e8ae +Merge: 54050b7 f3f4924 +Author: Brad Spengler +Date: Tue Dec 6 21:42:51 2016 -0500 - ppp: take reference on channels netns + Merge branch 'pax-test' into grsec-test + +commit f3f49240500f0393101d222410f48f68c481959b +Author: Brad Spengler +Date: Tue Dec 6 21:42:28 2016 -0500 + + Update to pax-linux-4.8.12-test7.patch: + - fixed non-executable HIBERNATION resume code on amd64, reported and partially fixed by Arseny Solokha + - fixed USERCOPY compile regression with old gcc versions, reported by André Ferraz + - fixed ENDPROC use on atomic functions on sparc64 + - fixed return value checking of convert_ip_to_linear + - fixed a few function types for RAP + + arch/arm64/include/asm/processor.h | 7 ------- + arch/sparc/lib/atomic_64.S | 8 ++++---- + arch/x86/kernel/step.c | 2 +- + arch/x86/mm/fault.c | 5 ++++- + arch/x86/power/cpu.c | 4 ++++ + arch/x86/power/hibernate_64.c | 11 +++++------ + drivers/misc/lkdtm_core.c | 2 +- + drivers/staging/wlan-ng/p80211netdev.c | 2 +- + include/linux/init_task.h | 1 - + 9 files changed, 20 insertions(+), 22 deletions(-) + +commit 54050b78ed9dc52e72180f178a38474606a09d5c +Merge: 736e717 34c61d4 +Author: Brad Spengler +Date: Sat Dec 3 09:14:47 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 34c61d446390e30aa6b5c6940618a500c894a397 +Merge: 99257a4 356ccf6 +Author: Brad Spengler +Date: Sat Dec 3 09:14:32 2016 -0500 + + Merge branch 'linux-4.8.y' into pax-test + +commit 736e717e33565dd4e71870b60d310e1d5aa3d0cd +Merge: 6e1844a 99257a4 +Author: Brad Spengler +Date: Sun Nov 27 11:33:24 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 99257a4169235bbe2576eb44ce2e0ce640070a17 +Author: Brad Spengler +Date: Sun Nov 27 11:32:06 2016 -0500 + + Update to pax-linux-4.8.11-test6.patch: + - fixed harmless compile warning introduced by a previous fix, reported by Matt Turner (https://bugs.gentoo.org/show_bug.cgi?id=599320#c11) + - removed unnecessary objtree use in generating the size overflow hash tables + - Emese worked around a size overflow false positive in drbd, reported by rot (https://forums.grsecurity.net/viewtopic.php?f=3&t=4526) + + drivers/block/drbd/drbd_int.h | 2 +- + kernel/trace/trace_printk.c | 6 ------ + scripts/gcc-plugins/size_overflow_plugin/Makefile | 4 ++-- + 3 files changed, 3 insertions(+), 9 deletions(-) + +commit 6e1844aa17930704e360cd231fa5d12f3aadda1b +Author: Ard Biesheuvel +Date: Mon Oct 17 15:05:33 2016 +0100 + + mac80211: move struct aead_req off the stack + + Some crypto implementations (such as the generic CCM wrapper in crypto/) + use scatterlists to map fields of private data in their struct aead_req. + This means these data structures cannot live in the vmalloc area, which + means that they cannot live on the stack (with CONFIG_VMAP_STACK.) + + This currently occurs only with the generic software implementation, but + the private data and usage is implementation specific, so move the whole + data structures off the stack into heap by allocating every time we need + to use them. + + In addition, take care not to put any of our own stack allocations into + scatterlists. This involves reserving some extra room when allocating the + aead_request structures, and referring to those allocations in the scatter- + lists (while copying the data from the stack before the crypto operation) + + Signed-off-by: Ard Biesheuvel + Signed-off-by: Johannes Berg + + net/mac80211/aes_ccm.c | 46 ++++++++++++++++++++++++++++++---------------- + net/mac80211/aes_ccm.h | 8 +++++--- + net/mac80211/aes_gcm.c | 43 ++++++++++++++++++++++++++++--------------- + net/mac80211/aes_gcm.h | 6 ++++-- + net/mac80211/aes_gmac.c | 26 +++++++++++++------------- + net/mac80211/aes_gmac.h | 4 ++++ + net/mac80211/wpa.c | 22 +++++++++------------- + 7 files changed, 93 insertions(+), 62 deletions(-) + +commit c10e1633c41d5418e6eedc665582418a5befbb4f +Author: Brad Spengler +Date: Sun Nov 27 10:27:05 2016 -0500 + + Work around drbd size_overflow FP when SIZE_OVERFLOW_EXTRA is enabled, reported by rot at: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4526 + + drivers/block/drbd/drbd_int.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 249d9232cebd4152a203680c63759332cdac13cb +Merge: 18d46a8 b01d05b +Author: Brad Spengler +Date: Sat Nov 26 08:07:35 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit b01d05b77234043e071a10852c021c594531af1b +Merge: 41ec71c 36bd5bf +Author: Brad Spengler +Date: Sat Nov 26 08:07:28 2016 -0500 + + Merge branch 'linux-4.8.y' into pax-test + +commit 18d46a8fa74de2cb68fb5e6678959e5e61c6fea6 +Author: Brad Spengler +Date: Fri Nov 25 08:37:05 2016 -0500 + + Mark __phys_addr_nodebug() on x64 as always-inlined + + arch/x86/include/asm/page_64.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5dd906f677c6d649efad1b01da6d6965e15ac3db +Author: Andrey Ryabinin +Date: Thu Nov 24 13:23:10 2016 +0000 + + mpi: Fix NULL ptr dereference in mpi_powm() [ver #3] - Let channels hold a reference on their network namespace. - Some channel types, like ppp_async and ppp_synctty, can have their - userspace controller running in a different namespace. Therefore they - can't rely on them to preclude their netns from being removed from - under them. + This fixes CVE-2016-8650. - ================================================================== - BUG: KASAN: use-after-free in ppp_unregister_channel+0x372/0x3a0 at - addr ffff880064e217e0 - Read of size 8 by task syz-executor/11581 - ============================================================================= - BUG net_namespace (Not tainted): kasan: bad access detected - ----------------------------------------------------------------------------- + If mpi_powm() is given a zero exponent, it wants to immediately return + either 1 or 0, depending on the modulus. However, if the result was + initalised with zero limb space, no limbs space is allocated and a + NULL-pointer exception ensues. - Disabling lock debugging due to kernel taint - INFO: Allocated in copy_net_ns+0x6b/0x1a0 age=92569 cpu=3 pid=6906 - [< none >] ___slab_alloc+0x4c7/0x500 kernel/mm/slub.c:2440 - [< none >] __slab_alloc+0x4c/0x90 kernel/mm/slub.c:2469 - [< inline >] slab_alloc_node kernel/mm/slub.c:2532 - [< inline >] slab_alloc kernel/mm/slub.c:2574 - [< none >] kmem_cache_alloc+0x23a/0x2b0 kernel/mm/slub.c:2579 - [< inline >] kmem_cache_zalloc kernel/include/linux/slab.h:597 - [< inline >] net_alloc kernel/net/core/net_namespace.c:325 - [< none >] copy_net_ns+0x6b/0x1a0 kernel/net/core/net_namespace.c:360 - [< none >] create_new_namespaces+0x2f6/0x610 kernel/kernel/nsproxy.c:95 - [< none >] copy_namespaces+0x297/0x320 kernel/kernel/nsproxy.c:150 - [< none >] copy_process.part.35+0x1bf4/0x5760 kernel/kernel/fork.c:1451 - [< inline >] copy_process kernel/kernel/fork.c:1274 - [< none >] _do_fork+0x1bc/0xcb0 kernel/kernel/fork.c:1723 - [< inline >] SYSC_clone kernel/kernel/fork.c:1832 - [< none >] SyS_clone+0x37/0x50 kernel/kernel/fork.c:1826 - [< none >] entry_SYSCALL_64_fastpath+0x16/0x7a kernel/arch/x86/entry/entry_64.S:185 + Fix this by allocating a minimal amount of limb space for the result when + the 0-exponent case when the result is 1 and not touching the limb space + when the result is 0. - INFO: Freed in net_drop_ns+0x67/0x80 age=575 cpu=2 pid=2631 - [< none >] __slab_free+0x1fc/0x320 kernel/mm/slub.c:2650 - [< inline >] slab_free kernel/mm/slub.c:2805 - [< none >] kmem_cache_free+0x2a0/0x330 kernel/mm/slub.c:2814 - [< inline >] net_free kernel/net/core/net_namespace.c:341 - [< none >] net_drop_ns+0x67/0x80 kernel/net/core/net_namespace.c:348 - [< none >] cleanup_net+0x4e5/0x600 kernel/net/core/net_namespace.c:448 - [< none >] process_one_work+0x794/0x1440 kernel/kernel/workqueue.c:2036 - [< none >] worker_thread+0xdb/0xfc0 kernel/kernel/workqueue.c:2170 - [< none >] kthread+0x23f/0x2d0 kernel/drivers/block/aoe/aoecmd.c:1303 - [< none >] ret_from_fork+0x3f/0x70 kernel/arch/x86/entry/entry_64.S:468 - INFO: Slab 0xffffea0001938800 objects=3 used=0 fp=0xffff880064e20000 - flags=0x5fffc0000004080 - INFO: Object 0xffff880064e20000 @offset=0 fp=0xffff880064e24200 + This affects the use of RSA keys and X.509 certificates that carry them. - CPU: 1 PID: 11581 Comm: syz-executor Tainted: G B 4.4.0+ - Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS - rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014 - 00000000ffffffff ffff8800662c7790 ffffffff8292049d ffff88003e36a300 - ffff880064e20000 ffff880064e20000 ffff8800662c77c0 ffffffff816f2054 - ffff88003e36a300 ffffea0001938800 ffff880064e20000 0000000000000000 + BUG: unable to handle kernel NULL pointer dereference at (null) + IP: [] mpi_powm+0x32/0x7e6 + PGD 0 + Oops: 0002 [#1] SMP + Modules linked in: + CPU: 3 PID: 3014 Comm: keyctl Not tainted 4.9.0-rc6-fscache+ #278 + Hardware name: ASUS All Series/H97-PLUS, BIOS 2306 10/09/2014 + task: ffff8804011944c0 task.stack: ffff880401294000 + RIP: 0010:[] [] mpi_powm+0x32/0x7e6 + RSP: 0018:ffff880401297ad8 EFLAGS: 00010212 + RAX: 0000000000000000 RBX: ffff88040868bec0 RCX: ffff88040868bba0 + RDX: ffff88040868b260 RSI: ffff88040868bec0 RDI: ffff88040868bee0 + RBP: ffff880401297ba8 R08: 0000000000000000 R09: 0000000000000000 + R10: 0000000000000047 R11: ffffffff8183b210 R12: 0000000000000000 + R13: ffff8804087c7600 R14: 000000000000001f R15: ffff880401297c50 + FS: 00007f7a7918c700(0000) GS:ffff88041fb80000(0000) knlGS:0000000000000000 + CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 + CR2: 0000000000000000 CR3: 0000000401250000 CR4: 00000000001406e0 + Stack: + ffff88040868bec0 0000000000000020 ffff880401297b00 ffffffff81376cd4 + 0000000000000100 ffff880401297b10 ffffffff81376d12 ffff880401297b30 + ffffffff81376f37 0000000000000100 0000000000000000 ffff880401297ba8 Call Trace: - [< inline >] __dump_stack kernel/lib/dump_stack.c:15 - [] dump_stack+0x6f/0xa2 kernel/lib/dump_stack.c:50 - [] print_trailer+0xf4/0x150 kernel/mm/slub.c:654 - [] object_err+0x2f/0x40 kernel/mm/slub.c:661 - [< inline >] print_address_description kernel/mm/kasan/report.c:138 - [] kasan_report_error+0x215/0x530 kernel/mm/kasan/report.c:236 - [< inline >] kasan_report kernel/mm/kasan/report.c:259 - [] __asan_report_load8_noabort+0x3e/0x40 kernel/mm/kasan/report.c:280 - [< inline >] ? ppp_pernet kernel/include/linux/compiler.h:218 - [] ? ppp_unregister_channel+0x372/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392 - [< inline >] ppp_pernet kernel/include/linux/compiler.h:218 - [] ppp_unregister_channel+0x372/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392 - [< inline >] ? ppp_pernet kernel/drivers/net/ppp/ppp_generic.c:293 - [] ? ppp_unregister_channel+0xe6/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392 - [] ppp_asynctty_close+0xa3/0x130 kernel/drivers/net/ppp/ppp_async.c:241 - [] ? async_lcp_peek+0x5b0/0x5b0 kernel/drivers/net/ppp/ppp_async.c:1000 - [] tty_ldisc_close.isra.1+0x99/0xe0 kernel/drivers/tty/tty_ldisc.c:478 - [] tty_ldisc_kill+0x40/0x170 kernel/drivers/tty/tty_ldisc.c:744 - [] tty_ldisc_release+0x1b3/0x260 kernel/drivers/tty/tty_ldisc.c:772 - [] tty_release+0xac1/0x13e0 kernel/drivers/tty/tty_io.c:1901 - [] ? release_tty+0x320/0x320 kernel/drivers/tty/tty_io.c:1688 - [] __fput+0x236/0x780 kernel/fs/file_table.c:208 - [] ____fput+0x15/0x20 kernel/fs/file_table.c:244 - [] task_work_run+0x16b/0x200 kernel/kernel/task_work.c:115 - [< inline >] exit_task_work kernel/include/linux/task_work.h:21 - [] do_exit+0x8b5/0x2c60 kernel/kernel/exit.c:750 - [] ? debug_check_no_locks_freed+0x290/0x290 kernel/kernel/locking/lockdep.c:4123 - [] ? mm_update_next_owner+0x6f0/0x6f0 kernel/kernel/exit.c:357 - [] ? __dequeue_signal+0x136/0x470 kernel/kernel/signal.c:550 - [] ? recalc_sigpending_tsk+0x13b/0x180 kernel/kernel/signal.c:145 - [] do_group_exit+0x108/0x330 kernel/kernel/exit.c:880 - [] get_signal+0x5e4/0x14f0 kernel/kernel/signal.c:2307 - [< inline >] ? kretprobe_table_lock kernel/kernel/kprobes.c:1113 - [] ? kprobe_flush_task+0xb5/0x450 kernel/kernel/kprobes.c:1158 - [] do_signal+0x83/0x1c90 kernel/arch/x86/kernel/signal.c:712 - [] ? recycle_rp_inst+0x310/0x310 kernel/include/linux/list.h:655 - [] ? setup_sigcontext+0x780/0x780 kernel/arch/x86/kernel/signal.c:165 - [] ? finish_task_switch+0x424/0x5f0 kernel/kernel/sched/core.c:2692 - [< inline >] ? finish_lock_switch kernel/kernel/sched/sched.h:1099 - [] ? finish_task_switch+0x120/0x5f0 kernel/kernel/sched/core.c:2678 - [< inline >] ? context_switch kernel/kernel/sched/core.c:2807 - [] ? __schedule+0x919/0x1bd0 kernel/kernel/sched/core.c:3283 - [] exit_to_usermode_loop+0xf1/0x1a0 kernel/arch/x86/entry/common.c:247 - [< inline >] prepare_exit_to_usermode kernel/arch/x86/entry/common.c:282 - [] syscall_return_slowpath+0x19f/0x210 kernel/arch/x86/entry/common.c:344 - [] int_ret_from_sys_call+0x25/0x9f kernel/arch/x86/entry/entry_64.S:281 - Memory state around the buggy address: - ffff880064e21680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb - ffff880064e21700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb - >ffff880064e21780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb - ^ - ffff880064e21800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb - ffff880064e21880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb - ================================================================== - - Fixes: 273ec51dd7ce ("net: ppp_generic - introduce net-namespace functionality v2") - Reported-by: Baozeng Ding - Signed-off-by: Guillaume Nault - Reviewed-by: Cyrill Gorcunov - Signed-off-by: David S. Miller + [] ? __sg_page_iter_next+0x43/0x66 + [] ? sg_miter_get_next_page+0x1b/0x5d + [] ? sg_miter_next+0x17/0xbd + [] ? mpi_read_raw_from_sgl+0xf2/0x146 + [] rsa_verify+0x9d/0xee + [] ? pkcs1pad_sg_set_buf+0x2e/0xbb + [] pkcs1pad_verify+0xc0/0xe1 + [] public_key_verify_signature+0x1b0/0x228 + [] x509_check_for_self_signed+0xa1/0xc4 + [] x509_cert_parse+0x167/0x1a1 + [] x509_key_preparse+0x21/0x1a1 + [] asymmetric_key_preparse+0x34/0x61 + [] key_create_or_update+0x145/0x399 + [] SyS_add_key+0x154/0x19e + [] do_syscall_64+0x80/0x191 + [] entry_SYSCALL64_slow_path+0x25/0x25 + Code: 56 41 55 41 54 53 48 81 ec a8 00 00 00 44 8b 71 04 8b 42 04 4c 8b 67 18 45 85 f6 89 45 80 0f 84 b4 06 00 00 85 c0 75 2f 41 ff ce <49> c7 04 24 01 00 00 00 b0 01 75 0b 48 8b 41 18 48 83 38 01 0f + RIP [] mpi_powm+0x32/0x7e6 + RSP + CR2: 0000000000000000 + ---[ end trace d82015255d4a5d8d ]--- + + Basically, this is a backport of a libgcrypt patch: + + http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=patch;h=6e1adb05d290aeeb1c230c763970695f4a538526 + + Fixes: cdec9cb5167a ("crypto: GnuPG based MPI lib - source files (part 1)") + Signed-off-by: Andrey Ryabinin + Signed-off-by: David Howells + cc: Dmitry Kasatkin + cc: linux-ima-devel@lists.sourceforge.net + cc: stable@vger.kernel.org + Signed-off-by: James Morris - drivers/net/ppp/ppp_generic.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) + lib/mpi/mpi-pow.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) -commit bfb890c1ac9d29b377f6bec4a5aab51d053114c4 -Author: Herbert Xu -Date: Wed Mar 16 17:06:01 2016 +0800 +commit 218b2fc710bd61f32c7c0cf4556aa628bccf0382 +Author: Andrey Ryabinin +Date: Thu Nov 24 13:23:03 2016 +0000 - eCryptfs: Use skcipher and shash - - eCryptfs: Fix null pointer dereference on kzalloc error path - - The conversion to skcipher and shash added a couple of null pointer - dereference bugs on the kzalloc failure path. This patch fixes them. + X.509: Fix double free in x509_cert_parse() [ver #3] - Fixes: 3095e8e366b4 ("eCryptfs: Use skcipher and shash") - Reported-by: Dan Carpenter - Signed-off-by: Herbert Xu + We shouldn't free cert->pub->key in x509_cert_parse() because + x509_free_certificate() also does this: + BUG: Double free or freeing an invalid pointer + ... + Call Trace: + [] dump_stack+0x63/0x83 + [] kasan_object_err+0x21/0x70 + [] kasan_report_double_free+0x49/0x60 + [] kasan_slab_free+0x9d/0xc0 + [] kfree+0x8a/0x1a0 + [] public_key_free+0x1f/0x30 + [] x509_free_certificate+0x24/0x90 + [] x509_cert_parse+0x2bc/0x300 + [] x509_key_preparse+0x3e/0x330 + [] asymmetric_key_preparse+0x6f/0x100 + [] key_create_or_update+0x260/0x5f0 + [] SyS_add_key+0x199/0x2a0 + [] entry_SYSCALL_64_fastpath+0x1e/0xad + Object at ffff880110bd1900, in cache kmalloc-512 size: 512 + .... + Freed: + PID = 2579 + [] save_stack_trace+0x1b/0x20 + [] save_stack+0x46/0xd0 + [] kasan_slab_free+0x73/0xc0 + [] kfree+0x8a/0x1a0 + [] x509_cert_parse+0x2a3/0x300 + [] x509_key_preparse+0x3e/0x330 + [] asymmetric_key_preparse+0x6f/0x100 + [] key_create_or_update+0x260/0x5f0 + [] SyS_add_key+0x199/0x2a0 + [] entry_SYSCALL_64_fastpath+0x1e/0xad + + Fixes: db6c43bd2132 ("crypto: KEYS: convert public key and digsig asym to the akcipher api") + Signed-off-by: Andrey Ryabinin + Cc: + Signed-off-by: David Howells + Signed-off-by: James Morris - fs/ecryptfs/keystore.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) + crypto/asymmetric_keys/x509_cert_parser.c | 1 - + 1 file changed, 1 deletion(-) -commit 58a8421ae537e0609c4ff59bf6b11be869a43cc6 -Author: Boris BREZILLON -Date: Thu Mar 17 10:21:34 2016 +0100 +commit 7ab38a1d2f20a0ee1646c61f69c5628868e36e1c +Author: Brad Spengler +Date: Fri Nov 25 15:04:31 2016 -0500 - crypto: marvell/cesa - fix memory leak - - Crypto requests are not guaranteed to be finalized (->final() call), - and can be freed at any moment, without getting any notification from - the core. This can lead to memory leaks of the ->cache buffer. - - Make this buffer part of the request object, and allocate an extra buffer - from the DMA cache pool when doing DMA operations. - - As a side effect, this patch also fixes another bug related to cache - allocation and DMA operations. When the core allocates a new request and - import an existing state, a cache buffer can be allocated (depending - on the state). The problem is, at that very moment, we don't know yet - whether the request will use DMA or not, and since everything is - likely to be initialized to zero, mv_cesa_ahash_alloc_cache() thinks it - should allocate a buffer for standard operation. But when - mv_cesa_ahash_free_cache() is called, req->type has been set to - CESA_DMA_REQ in the meantime, thus leading to an invalind dma_pool_free() - call (the buffer passed in argument has not been allocated from the pool). - - Signed-off-by: Boris Brezillon - Reported-by: Gregory CLEMENT - Signed-off-by: Herbert Xu + Mark RANDSTRUCT as depending on GCC_PLUGINS - drivers/crypto/marvell/cesa.h | 3 +- - drivers/crypto/marvell/hash.c | 86 +++++++++---------------------------------- - 2 files changed, 20 insertions(+), 69 deletions(-) + grsecurity/Kconfig | 1 + + 1 file changed, 1 insertion(+) -commit 1ec604f99895b9c37f26a692ff83a7da02d667fd -Author: Boris BREZILLON -Date: Thu Mar 17 10:21:35 2016 +0100 +commit 4b779f90caef66bc904533a068e82ed7929a741f +Author: Brad Spengler +Date: Wed Nov 23 22:22:22 2016 -0500 - crypto: marvell/cesa - initialize hash states - - ->export() might be called before we have done an update operation, - and in this case the ->state field is left uninitialized. - Put the correct default value when initializing the request. - - Signed-off-by: Boris Brezillon - Signed-off-by: Herbert Xu + whitespace cleanup - drivers/crypto/marvell/hash.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) + mm/usercopy.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -commit 23879f055d23e82c2f78cceca22c33e631973977 -Author: David S. Miller -Date: Sun Mar 13 23:28:00 2016 -0400 +commit fa8c4d8069e8a83b3a30bedbb7b5281cc035722e +Author: Brad Spengler +Date: Wed Nov 23 21:36:42 2016 -0500 - ipv4: Don't do expensive useless work during inetdev destroy. - - When an inetdev is destroyed, every address assigned to the interface - is removed. And in this scenerio we do two pointless things which can - be very expensive if the number of assigned interfaces is large: - - 1) Address promotion. We are deleting all addresses, so there is no - point in doing this. - - 2) A full nf conntrack table purge for every address. We only need to - do this once, as is already caught by the existing - masq_dev_notifier so masq_inet_event() can skip this. - - Reported-by: Solar Designer - Signed-off-by: David S. Miller - Tested-by: Cyrill Gorcunov + Fix regression on i386 KERNEXEC introduced by KSPP ripoff of USERCOPY - net/ipv4/devinet.c | 4 ++++ - net/ipv4/fib_frontend.c | 4 ++++ - net/ipv4/netfilter/nf_nat_masquerade_ipv4.c | 12 ++++++++++-- - 3 files changed, 18 insertions(+), 2 deletions(-) + mm/usercopy.c | 9 +++++++++ + 1 file changed, 9 insertions(+) -commit 60394231e840e884024592a76a6c5612433d3756 -Author: Marcelo Ricardo Leitner -Date: Tue Mar 8 10:34:28 2016 -0300 +commit 7bde68e909b1592b4de453d16d9efd544fdcf5d7 +Merge: 104123c 41ec71c +Author: Brad Spengler +Date: Wed Nov 23 19:59:44 2016 -0500 - sctp: fix copying more bytes than expected in sctp_add_bind_addr - - Dmitry reported that sctp_add_bind_addr may read more bytes than - expected in case the parameter is a IPv4 addr supplied by the user - through calls such as sctp_bindx_add(), because it always copies - sizeof(union sctp_addr) while the buffer may be just a struct - sockaddr_in, which is smaller. - - This patch then fixes it by limiting the memcpy to the min between the - union size and a (new parameter) provided addr size. Where possible this - parameter still is the size of that union, except for reading from - user-provided buffers, which then it accounts for protocol type. + Merge branch 'pax-test' into grsec-test + +commit 41ec71c4866375c87ea6d28341bfb980ec5805f3 +Author: Brad Spengler +Date: Wed Nov 23 19:58:53 2016 -0500 + + Update to pax-linux-4.8.10-test5.patch: + - worked around a false positive initify report with KMEMCHECK, reported by spender + - fixed a compile error of the initify plugin with gcc 4.5 + - Emese fixed an infinite recursion bug in the initify plugin that triggered with certain gcc versions, reported by spender + - worked around a false positive initify report with KMEMCHECK, reported by spender + - fixed a compile error of the initify plugin with gcc 4.5 + - Emese fixed an infinite recursion bug in the initify plugin that triggered with certain gcc versions, reported by spender + + fs/exofs/super.c | 7 +- + kernel/trace/trace_printk.c | 11 +- + net/netfilter/nf_log.c | 2 +- + .../size_overflow_plugin/size_overflow.h | 8 +- + .../size_overflow_plugin/size_overflow_debug.c | 4 +- + .../size_overflow_plugin/size_overflow_ipa.c | 143 ++++++++++++++------- + .../size_overflow_plugin/size_overflow_plugin.c | 2 +- + .../size_overflow_plugin_hash.c | 40 +++--- + .../size_overflow_plugin/size_overflow_transform.c | 6 +- + 9 files changed, 136 insertions(+), 87 deletions(-) + +commit 104123c7083b4b405c3d94e5cbcf8d82a3c1bf3b +Author: Joerg Roedel +Date: Wed Sep 14 11:41:59 2016 +0200 + + iommu/amd: Don't put completion-wait semaphore on stack + + The semaphore used by the AMD IOMMU to signal command + completion lived on the stack until now, which was safe as + the driver busy-waited on the semaphore with IRQs disabled, + so the stack can't go away under the driver. + + But the recently introduced vmap-based stacks break this as + the physical address of the semaphore can't be determinded + easily anymore. The driver used the __pa() macro, but that + only works in the direct-mapping. The result were + Completion-Wait timeout errors seen by the IOMMU driver, + breaking system boot. + + Since putting the semaphore on the stack is bad design + anyway, move the semaphore into 'struct amd_iommu'. It is + protected by the per-iommu lock and now in the direct + mapping again. This fixes the Completion-Wait timeout errors + and makes AMD IOMMU systems boot again with vmap-based + stacks enabled. - Reported-by: Dmitry Vyukov - Tested-by: Dmitry Vyukov - Signed-off-by: Marcelo Ricardo Leitner - Signed-off-by: David S. Miller + Reported-by: Borislav Petkov + Signed-off-by: Joerg Roedel + Cc: H. Peter Anvin + Cc: Linus Torvalds + Cc: Peter Zijlstra + Cc: Thomas Gleixner + Signed-off-by: Ingo Molnar - include/net/sctp/structs.h | 2 +- - net/sctp/bind_addr.c | 14 ++++++++------ - net/sctp/protocol.c | 1 + - net/sctp/sm_make_chunk.c | 3 ++- - net/sctp/socket.c | 4 +++- - 5 files changed, 15 insertions(+), 9 deletions(-) + drivers/iommu/amd_iommu.c | 51 ++++++++++++++++++++++++++++------------- + drivers/iommu/amd_iommu_types.h | 2 ++ + 2 files changed, 37 insertions(+), 16 deletions(-) -commit 9831caa50e1453818c5ec618890291f028b7992f +commit fb4681fbb3ac4fbfc38c4d878a769d9521b2cadc +Merge: 5c7c04f7 2eb064c Author: Brad Spengler -Date: Mon Mar 28 19:20:28 2016 -0400 +Date: Mon Nov 21 07:32:06 2016 -0500 - Also allow /bin/false as needed by systemd + Merge branch 'pax-test' into grsec-test - kernel/kmod.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) +commit 2eb064cd06070c433afb5bbe06f2912c6fe4c0ca +Merge: ec40a67 cf5ae29 +Author: Brad Spengler +Date: Mon Nov 21 07:31:48 2016 -0500 -commit bb38a61b496a3f09f4d7b93d2f0fe15476918147 + Merge branch 'linux-4.8.y' into pax-test + +commit 5c7c04f7c8fcb7a3730b34db41a0842ef0dbed51 Author: Brad Spengler -Date: Tue Mar 22 16:59:43 2016 -0400 +Date: Sat Nov 19 19:50:51 2016 -0500 - Fix size_overflow FP reported by marcan at: - https://forums.grsecurity.net/viewtopic.php?f=3&t=4426 + compile fix - net/ipv6/xfrm6_mode_transport.c | 2 +- + drivers/platform/x86/toshiba-wmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 523a36a9c845da3051e58c6767c2e1a0f640998a -Merge: 0d0ec9e c0b77a7 +commit 05eb3d0ec6643c60f794937ba562fea97f5be897 Author: Brad Spengler -Date: Wed Mar 16 20:20:40 2016 -0400 +Date: Sat Nov 19 19:32:09 2016 -0500 - Merge branch 'pax-test' into grsec-test + compile fix -commit c0b77a7cb578199f0b7dc90768a13ca6c044aba9 -Merge: 10d57c1 0d19123 + net/netfilter/nf_log.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fb9517eef2f4321b99e1427728ea81e7beb6709e Author: Brad Spengler -Date: Wed Mar 16 20:20:27 2016 -0400 +Date: Sat Nov 19 19:26:19 2016 -0500 - Merge branch 'linux-4.4.y' into pax-test + compile fix -commit 0d0ec9ee83144ab839710a01cfd746bd78257394 + drivers/platform/x86/toshiba-wmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d7be8fc340893cb7a61f295adf357433684c1412 Author: Brad Spengler -Date: Mon Mar 14 20:15:47 2016 -0400 +Date: Sat Nov 19 18:50:43 2016 -0500 - Invert logic to clean up code + Fix an instance of DMA on stack reported by jotik - fs/namei.c | 32 +++++++------------------------- - grsecurity/grsec_chroot.c | 10 +++++----- - 2 files changed, 12 insertions(+), 30 deletions(-) + drivers/tty/hvc/hvc_console.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) -commit 39e0e623c84863af7b3ace759b583ff938fde2b7 +commit 491d119de68bd80666a5e0c9a45538b03a7e0359 +Merge: d06ab17 ec40a67 Author: Brad Spengler -Date: Mon Mar 14 19:59:36 2016 -0400 +Date: Sat Nov 19 09:49:17 2016 -0500 - compile fix + Merge branch 'pax-test' into grsec-test - fs/namei.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) +commit ec40a67f38da6771cc50d21b8bdfef7fe85c13f9 +Merge: d10440d 8765773 +Author: Brad Spengler +Date: Sat Nov 19 09:48:59 2016 -0500 -commit 2b3ad8bc095fea829275b7fcc7e5671677b8ed33 + Merge branch 'linux-4.8.y' into pax-test + +commit d06ab1776f143f4c0f040b37b5d4be02fb4c2b2f Author: Brad Spengler -Date: Mon Mar 14 19:57:53 2016 -0400 +Date: Wed Nov 16 20:06:47 2016 -0500 - Also handle renames + Move location of GRKERNSEC_BRUTE call, otherwise on systems with suid + dumping enabled, the crash of a suid/fscapped binary will not produce a + coredump as a SIGKILL to the other threads of the process will trigger + a group exit. Thanks to Michael Hu and Meenakshi Selvaraj for the report! - fs/namei.c | 9 +++++++++ - 1 file changed, 9 insertions(+) + fs/coredump.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -commit 54dfd13b19743d4a340de0cd5683b5bde44e7d9c +commit 2deb6e90bf515a547273218c9e5e80362cedf5f4 +Merge: 538290f d10440d Author: Brad Spengler -Date: Mon Mar 14 19:45:56 2016 -0400 +Date: Tue Nov 15 07:22:21 2016 -0500 - Add additional check to cover lookup family of functions - - fs/namei.c | 9 +++++++++ - 1 file changed, 9 insertions(+) + Merge branch 'pax-test' into grsec-test -commit c3df846baa7873fb99401136f220676b87452918 +commit d10440da199a8c4601cf572c85c240b391d7ff1c Author: Brad Spengler -Date: Mon Mar 14 18:42:37 2016 -0400 +Date: Tue Nov 15 07:21:39 2016 -0500 - compile fix + Forward-port PaX INITIFY updates: + - Emese fixed an infinite recursion bug in the initify plugin that triggered with certain gcc versions, reported by spender + - fixed a copy-paste error in the previous initify compile error fix - fs/namei.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + scripts/gcc-plugins/initify_plugin.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) -commit 384ea9c0ef9df4298dfa3a71948c08e70f1092bf +commit 538290f125d86e96ca1cb58ec6b6dc42c6df94f5 +Merge: 29790c8 0651bb9 Author: Brad Spengler -Date: Mon Mar 14 18:34:40 2016 -0400 +Date: Tue Nov 15 07:16:37 2016 -0500 - Fix recent chroot check on the create side, as reported by - Toralf Foerster + Merge branch 'pax-test' into grsec-test - fs/namei.c | 26 ++++++++++++++++---------- - 1 file changed, 16 insertions(+), 10 deletions(-) +commit 0651bb9a29497614f2ac8907576e13c25d14417d +Merge: 3dccfc8 61385cc +Author: Brad Spengler +Date: Tue Nov 15 07:16:23 2016 -0500 -commit 82e7dc61a626c47887d392ff9cd35b104f01fd25 -Author: Paolo Bonzini -Date: Tue Mar 8 12:13:39 2016 +0100 + Merge branch 'linux-4.8.y' into pax-test - KVM: MMU: fix ept=0/pte.u=1/pte.w=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 combo - - Yes, all of these are needed. :) This is admittedly a bit odd, but - kvm-unit-tests access.flat tests this if you run it with "-cpu host" - and of course ept=0. - - KVM runs the guest with CR0.WP=1, so it must handle supervisor writes - specially when pte.u=1/pte.w=0/CR0.WP=0. Such writes cause a fault - when U=1 and W=0 in the SPTE, but they must succeed because CR0.WP=0. - When KVM gets the fault, it sets U=0 and W=1 in the shadow PTE and - restarts execution. This will still cause a user write to fault, while - supervisor writes will succeed. User reads will fault spuriously now, - and KVM will then flip U and W again in the SPTE (U=1, W=0). User reads - will be enabled and supervisor writes disabled, going back to the - originary situation where supervisor writes fault spuriously. - - When SMEP is in effect, however, U=0 will enable kernel execution of - this page. To avoid this, KVM also sets NX=1 in the shadow PTE together - with U=0. If the guest has not enabled NX, the result is a continuous - stream of page faults due to the NX bit being reserved. - - The fix is to force EFER.NX=1 even if the CPU is taking care of the EFER - switch. (All machines with SMEP have the CPU_LOAD_IA32_EFER vm-entry - control, so they do not use user-return notifiers for EFER---if they did, - EFER.NX would be forced to the same value as the host). - - There is another bug in the reserved bit check, which I've split to a - separate patch for easier application to stable kernels. - - Cc: stable@vger.kernel.org - Cc: Andy Lutomirski - Reviewed-by: Xiao Guangrong - Fixes: f6577a5fa15d82217ca73c74cd2dcbc0f6c781dd - Signed-off-by: Paolo Bonzini +commit 29790c808b36fed3643adb45a52ddd1eaf215d5a +Merge: 884f7d7 3dccfc8 +Author: Brad Spengler +Date: Mon Nov 14 21:55:00 2016 -0500 - Documentation/virtual/kvm/mmu.txt | 3 ++- - arch/x86/kvm/vmx.c | 36 +++++++++++++++++++++++------------- - 2 files changed, 25 insertions(+), 14 deletions(-) + Merge branch 'pax-test' into grsec-test -commit 802a88e57b141e9643e93afb7805813ad8da22f3 -Author: Paolo Bonzini -Date: Wed Mar 9 14:28:02 2016 +0100 +commit 3dccfc8eb94c31bb44f90f2d5673867d47ceeae1 +Author: Brad Spengler +Date: Mon Nov 14 21:53:56 2016 -0500 - KVM: MMU: fix reserved bit check for ept=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 - - KVM has special logic to handle pages with pte.u=1 and pte.w=0 when - CR0.WP=1. These pages' SPTEs flip continuously between two states: - U=1/W=0 (user and supervisor reads allowed, supervisor writes not allowed) - and U=0/W=1 (supervisor reads and writes allowed, user writes not allowed). - - When SMEP is in effect, however, U=0 will enable kernel execution of - this page. To avoid this, KVM also sets NX=1 in the shadow PTE together - with U=0, making the two states U=1/W=0/NX=gpte.NX and U=0/W=1/NX=1. - When guest EFER has the NX bit cleared, the reserved bit check thinks - that the latter state is invalid; teach it that the smep_andnot_wp case - will also use the NX bit of SPTEs. - - Cc: stable@vger.kernel.org - Reviewed-by: Xiao Guangrong - Fixes: c258b62b264fdc469b6d3610a907708068145e3b - Signed-off-by: Paolo Bonzini + Forward-ported PaX updates (so all patches can be released tonight): + - worked around a false positive initify report with KMEMCHECK, reported by spender + - fixed a compile error of the initify plugin with gcc 4.5 - arch/x86/kvm/mmu.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) + lib/Kconfig.kmemcheck | 1 + + scripts/gcc-plugins/initify_plugin.c | 8 ++++++++ + 2 files changed, 9 insertions(+) -commit 3925851224428c1d2bca32cf33821befb947c4f3 -Author: Ming Lei -Date: Sat Mar 12 22:56:19 2016 +0800 +commit 884f7d7137f2cb388491c398a22b555c9e04bd3b +Author: Brad Spengler +Date: Mon Nov 14 08:52:36 2016 -0500 - block: don't optimize for non-cloned bio in bio_get_last_bvec() - - For !BIO_CLONED bio, we can use .bi_vcnt safely, but it - doesn't mean we can just simply return .bi_io_vec[.bi_vcnt - 1] - because the start postion may have been moved in the middle of - the bvec, such as splitting in the middle of bvec. - - Fixes: 7bcd79ac50d9(block: bio: introduce helpers to get the 1st and last bvec) - Cc: stable@vger.kernel.org - Reported-by: Kent Overstreet - Signed-off-by: Ming Lei - Signed-off-by: Jens Axboe + re-enable INITIFY - include/linux/bio.h | 5 ----- - 1 file changed, 5 deletions(-) + security/Kconfig | 1 - + 1 file changed, 1 deletion(-) -commit db541463b4a0926bebdbac743c8736fb9e903d58 -Author: Borislav Petkov -Date: Fri Mar 11 12:32:06 2016 +0100 +commit 1199c8fee72e0204eef6e517acf1d17e1edb35d0 +Author: Brad Spengler +Date: Sat Nov 12 09:28:52 2016 -0500 - x86/fpu: Fix eager-FPU handling on legacy FPU machines - - i486 derived cores like Intel Quark support only the very old, - legacy x87 FPU (FSAVE/FRSTOR, CPUID bit FXSR is not set), and - our FPU code wasn't handling the saving and restoring there - properly in the 'eagerfpu' case. - - So after we made eagerfpu the default for all CPU types: - - 58122bf1d856 x86/fpu: Default eagerfpu=on on all CPUs - - these old FPU designs broke. First, Andy Shevchenko reported a splat: - - WARNING: CPU: 0 PID: 823 at arch/x86/include/asm/fpu/internal.h:163 fpu__clear+0x8c/0x160 - - which was us trying to execute FXRSTOR on those machines even though - they don't support it. - - After taking care of that, Bryan O'Donoghue reported that a simple FPU - test still failed because we weren't initializing the FPU state properly - on those machines. - - Take care of all that. - - Reported-and-tested-by: Bryan O'Donoghue - Reported-by: Andy Shevchenko - Signed-off-by: Borislav Petkov - Acked-by: Linus Torvalds - Cc: Andrew Morton - Cc: Andy Lutomirski - Cc: Borislav Petkov - Cc: Brian Gerst - Cc: Dave Hansen - Cc: Denys Vlasenko - Cc: Fenghua Yu - Cc: H. Peter Anvin - Cc: Oleg Nesterov - Cc: Peter Zijlstra - Cc: Quentin Casasnovas - Cc: Thomas Gleixner - Cc: Yu-cheng - Link: http://lkml.kernel.org/r/20160311113206.GD4312@pd.tnic - Signed-off-by: Ingo Molnar + always clear after restore - arch/x86/kernel/fpu/core.c | 4 +++- - arch/x86/kernel/fpu/init.c | 2 +- - 2 files changed, 4 insertions(+), 2 deletions(-) + kernel/power/snapshot.c | 2 -- + 1 file changed, 2 deletions(-) -commit 8fed14e935cb62d2d46e99793d728dc7760dcc87 +commit 6ee3a03e6b4610d3a4c8536222e613c9381d310a Author: Brad Spengler -Date: Sun Mar 13 11:35:56 2016 -0400 +Date: Sat Nov 12 07:48:59 2016 -0500 - Compile fixes + Remove duplicate function definition caused by bad git merge + Thanks to Toralf Foerster for the report - fs/namei.c | 2 +- - grsecurity/grsec_chroot.c | 2 +- - include/linux/grsecurity.h | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) + kernel/power/snapshot.c | 20 -------------------- + 1 file changed, 20 deletions(-) -commit aab25a3496c4683c5858056960010119fb7d9a5a +commit 972fc7c4ab01bed5011f92621c0235a29b964321 +Merge: b797a7f 179609c Author: Brad Spengler -Date: Sun Mar 13 10:53:59 2016 -0400 +Date: Thu Nov 10 21:30:42 2016 -0500 - Use fput instead of put_filp() + Merge branch 'pax-test' into grsec-test - fs/namei.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) +commit 179609c35bcb2c28967e27dd71850a64dd8d2457 +Author: Brad Spengler +Date: Thu Nov 10 21:28:09 2016 -0500 + + Update to pax-linux-4.8.7-test3.patch + + Makefile | 5 +- + arch/x86/kernel/alternative.c | 2 + + arch/x86/kernel/cpu/intel.c | 6 + + arch/x86/kernel/tsc.c | 3 + + .../gcc-plugins/size_overflow_plugin/.gitignore | 5 +- + .../gcc-plugins/size_overflow_plugin/e_fields.data | 240 ++++++++++++++++--- + .../gcc-plugins/size_overflow_plugin/e_fns.data | 262 +++++++++++++++++++-- + .../gcc-plugins/size_overflow_plugin/e_vars.data | 3 + + 8 files changed, 467 insertions(+), 59 deletions(-) + +commit b797a7f8f1bd6dd882c302108d3e0e24eec4eb52 +Merge: c65bef9 61c5e35 +Author: Brad Spengler +Date: Thu Nov 10 18:47:19 2016 -0500 -commit 928ddec9dfe5415dff82d941c3b3e76ee6f48761 + Merge branch 'pax-test' into grsec-test + +commit 61c5e357c8e096078f3087cc1c9945311580ef58 +Merge: 26e177d 567aeca Author: Brad Spengler -Date: Sun Mar 13 10:30:54 2016 -0400 +Date: Thu Nov 10 18:47:09 2016 -0500 - Update MPROTECT_COMPAT config description, disable by default + Merge branch 'linux-4.8.y' into pax-test - security/Kconfig | 18 ++++++------------ - 1 file changed, 6 insertions(+), 12 deletions(-) +commit c65bef9442a61a12256456658a6e3a3aa6f0017c +Author: Brad Spengler +Date: Wed Nov 9 17:22:04 2016 -0500 -commit 4cc29af2e81e7a4bdfab1afedfdedca6e23362d5 + Add SLAB_USERCOPY backward compatibility for out of tree modules + + include/linux/slab.h | 7 +++++++ + mm/slab_common.c | 3 ++- + 2 files changed, 9 insertions(+), 1 deletion(-) + +commit 9f7c67696110c732bc080f27629a93c652aa6784 +Merge: 8c2ed61 26e177d Author: Brad Spengler -Date: Sun Mar 13 10:35:55 2016 -0400 +Date: Wed Nov 9 17:13:02 2016 -0500 - As reported by Jann Horn, chroot scenarios where the chrooting application - brings in a directory fd can be used to access any file outside of the chroot - via *at syscalls. To maintain compatibility with Chromium and other apps, - we specifically only disallow relative accesses off a directory fd when the - final path is not located under that directory described by the fd and exists - outside of the chroot. This additional restriction will exist under the - current GRKERNSEC_CHROOT_FCHDIR option. + Merge branch 'pax-test' into grsec-test - fs/namei.c | 9 +++++++++ - grsecurity/Kconfig | 10 ++++++---- - grsecurity/grsec_chroot.c | 39 +++++++++++++++++++++++++++++++++++++++ - include/linux/grmsg.h | 1 + - include/linux/grsecurity.h | 1 + - 5 files changed, 56 insertions(+), 4 deletions(-) +commit 26e177df8561bd7b261090dcce16f8bc5a166e43 +Author: Brad Spengler +Date: Wed Nov 9 17:11:43 2016 -0500 + + Update to pax-linux-4.8.6-test2.patch: + - fixed resume regression on X86 caused by the recent constification of boot_cpu_data, reported by Joe Gabinsky (https://bugs.archlinux.org/task/51767) + - worked around a compile error with gcc enforced PIE, reported by Carlos Carvalho (https://forums.grsecurity.net/viewtopic.php?f=3&t=4607) + - fixed a latent entropy compile error that triggered on arm, reported by spender + + Makefile | 2 ++ + arch/x86/include/asm/irqflags.h | 2 ++ + arch/x86/include/asm/uaccess_32.h | 3 +++ + arch/x86/include/asm/uaccess_64.h | 4 ++++ + arch/x86/kernel/acpi/wakeup_32.S | 2 ++ + arch/x86/kernel/acpi/wakeup_64.S | 2 ++ + arch/x86/kernel/cpu/common.c | 6 ++++++ + arch/x86/kernel/vm86_32.c | 6 ++---- + arch/x86/power/hibernate_asm_32.S | 2 ++ + arch/x86/power/hibernate_asm_64.S | 2 ++ + fs/pstore/ftrace.c | 1 + + kernel/events/hw_breakpoint.c | 1 + + mm/slab.c | 14 +++++++------- + scripts/gcc-plugins/latent_entropy_plugin.c | 4 ++-- + scripts/gcc-plugins/size_overflow_plugin/disable.data | 3 +++ + scripts/gcc-plugins/size_overflow_plugin/e_fns.data | 5 +---- + 16 files changed, 42 insertions(+), 17 deletions(-) + +commit 8c2ed61b048133cef4d19cbcfad489c5229c6d85 +Author: Brad Spengler +Date: Wed Nov 9 17:08:54 2016 -0500 -commit 7d02a991213f0b07a3677dcc93cdafc3ac309142 + re-enable latent_entropy on ARM + + security/Kconfig | 1 - + 1 file changed, 1 deletion(-) + +commit f111a022d48483a796d7f6d170e5165fa17c32aa Author: Brad Spengler -Date: Thu Mar 10 22:17:16 2016 -0500 +Date: Tue Nov 8 21:10:00 2016 -0500 - Update size_overflow hash table + Update size_overflow hash tables - tools/gcc/size_overflow_plugin/size_overflow_hash.data | 1 + - 1 file changed, 1 insertion(+) + scripts/gcc-plugins/size_overflow_plugin/e_fields.data | 1 + + scripts/gcc-plugins/size_overflow_plugin/e_fns.data | 1 + + 2 files changed, 2 insertions(+) -commit 29f25ddda6a5625340df26beb394279fefea2b49 +commit f4e7a9c6e5c14a7d9765191e4fdae902e777a62b Author: Brad Spengler -Date: Thu Mar 10 22:16:04 2016 -0500 +Date: Tue Nov 8 20:39:56 2016 -0500 - Fix module support + Update size_overflow hash table - kernel/module.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + .../gcc-plugins/size_overflow_plugin/e_fields.data | 87 ++++++++++++++++++---- + .../gcc-plugins/size_overflow_plugin/e_fns.data | 81 +++++++++++++++++--- + 2 files changed, 143 insertions(+), 25 deletions(-) -commit b057a45636b626e7eaf03077ed0916b95fea054c -Merge: ba5ee94 10d57c1 +commit f3a2f418e4c8c9e7a3c8e44994a9b789b755f690 Author: Brad Spengler -Date: Thu Mar 10 21:36:10 2016 -0500 +Date: Tue Nov 8 20:27:26 2016 -0500 - Merge branch 'pax-test' into grsec-test + Update size_overflow hash table -commit 10d57c107e7fabffbe616b14efab73df585576c2 -Merge: 1cbae46 62e2195 + scripts/gcc-plugins/size_overflow_plugin/e_fields.data | 1 + + scripts/gcc-plugins/size_overflow_plugin/e_fns.data | 1 + + 2 files changed, 2 insertions(+) + +commit 7429f39d5af5c7c6744dadbc8cef6fb09bba0378 Author: Brad Spengler -Date: Thu Mar 10 21:34:58 2016 -0500 +Date: Tue Nov 8 20:22:07 2016 -0500 - Update to pax-linux-4.4.5-test9.patch: - - fixed an integer signedness mixup in the old select syscall caught by the size overflow plugin, by Mathias Krause - - Emese cleaned up a few unnecessary type casts in the size overflow plugin - - fixed the initify plugin to not trigger a compiler assert with gcc 6 in LTO mode - - compile the x86 vdso without plugins, reported by Emese - - fixed a REFCOUNT/arm compile error, reported by coadde (https://forums.grsecurity.net/viewtopic.php?f=3&t=4410) - - fixed gcc-common.h for gcc 6, reported by psturm (https://forums.grsecurity.net/viewtopic.php?f=3&t=4394) - - Merge branch 'linux-4.4.y' into pax-test + compile fix -commit ba5ee94199b11c1429559a08c2158677dd8f1761 + security/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2c1be792d3b1eced5c977f431b97a6f358257c7d Author: Brad Spengler -Date: Thu Mar 3 20:20:19 2016 -0500 +Date: Tue Nov 8 20:15:52 2016 -0500 - Update size_overflow hash table + Disable LATENT_ENTROPY on ARM temporarily - tools/gcc/size_overflow_plugin/size_overflow_hash.data | 1 + + security/Kconfig | 1 + 1 file changed, 1 insertion(+) -commit 50a5cd726362f0988b81a54d4c962acf8fd34a70 -Merge: 335c04c 1cbae46 +commit 5baa2459453f698c59713d66c19a35ceb08c6423 Author: Brad Spengler -Date: Thu Mar 3 20:04:00 2016 -0500 +Date: Tue Nov 8 19:28:11 2016 -0500 - Merge branch 'pax-test' into grsec-test + Update size_overflow hash tables -commit 1cbae46efa0b111ef2d46502f8d34c4c572a0e00 -Merge: a51cdb8 c252409 + .../gcc-plugins/size_overflow_plugin/e_fields.data | 19 +++++++++-- + .../gcc-plugins/size_overflow_plugin/e_fns.data | 38 ++++++++++++++++++++-- + .../gcc-plugins/size_overflow_plugin/e_vars.data | 2 ++ + 3 files changed, 55 insertions(+), 4 deletions(-) + +commit e6ff4162464e018c08a58689f60664f96786a4e0 Author: Brad Spengler -Date: Thu Mar 3 19:57:43 2016 -0500 +Date: Tue Nov 8 19:23:13 2016 -0500 - Merge branch 'linux-4.4.y' into pax-test + Update size_overflow hash tables -commit 335c04c8146a696a6101a9c69dbd47f11383549e -Merge: 897877e a51cdb8 + .../gcc-plugins/size_overflow_plugin/e_fields.data | 132 +++++++++++++++++--- + .../gcc-plugins/size_overflow_plugin/e_fns.data | 135 +++++++++++++++++++-- + .../gcc-plugins/size_overflow_plugin/e_vars.data | 1 + + 3 files changed, 243 insertions(+), 25 deletions(-) + +commit ee26614f6745609f79b28620130afa73b2c86ff8 Author: Brad Spengler -Date: Tue Mar 1 17:57:24 2016 -0500 +Date: Tue Nov 8 19:10:38 2016 -0500 - Merge branch 'pax-test' into grsec-test + Update size_overflow hash table -commit a51cdb83569b450858737a30d2be043d87d7ddc1 + scripts/gcc-plugins/size_overflow_plugin/e_fns.data | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit d3291c0dc6f25e59c8c402b66416cf0f4f6dddb7 Author: Brad Spengler -Date: Tue Mar 1 17:56:43 2016 -0500 +Date: Tue Nov 8 19:03:02 2016 -0500 - Update to pax-linux-4.4.3-test6.patch: - - spender fixed the cftype constification fallout, reported by quasar366 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4391) - - fixed a few section mismatches on notifier_block variables - - fixed a few REFCOUNT false positives found by Emese's plugin - - constified hypervisor_x86 - - arch/x86/include/asm/hypervisor.h | 2 +- - arch/x86/kernel/cpu/mshyperv.c | 2 +- - arch/x86/kernel/cpu/vmware.c | 2 +- - arch/x86/kernel/kvm.c | 2 +- - drivers/lightnvm/rrpc.c | 4 ++-- - drivers/lightnvm/rrpc.h | 2 +- - drivers/net/can/led.c | 2 +- - drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 2 +- - drivers/net/ethernet/rocker/rocker.c | 4 ++-- - drivers/net/ipvlan/ipvlan_main.c | 6 +++--- - drivers/net/vrf.c | 2 +- - drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 12 ++++++------ - drivers/staging/rtl8188eu/include/rtw_mlme_ext.h | 2 +- - drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 12 ++++++------ - drivers/staging/rtl8723au/include/drv_types.h | 2 +- - drivers/staging/rtl8723au/include/rtw_mlme_ext.h | 2 +- - drivers/staging/rtl8723au/include/usb_ops.h | 4 ++-- - drivers/thermal/x86_pkg_temp_thermal.c | 2 +- - fs/proc/kcore.c | 2 +- - mm/hugetlb_cgroup.c | 8 ++++---- - mm/mm_init.c | 2 +- - mm/slub.c | 2 +- - net/mac802154/iface.c | 2 +- - 23 files changed, 41 insertions(+), 41 deletions(-) - -commit 897877e79629a0b854e98cb666a9d898256d45a7 -Merge: 1ffa5d5 4f4b213 -Author: Brad Spengler -Date: Sun Feb 28 20:54:59 2016 -0500 - - Merge branch 'pax-test' into grsec-test - -commit 4f4b21342a4a4f87c01f7909406e6b5f4c9dadbf -Author: Brad Spengler -Date: Sun Feb 28 20:54:06 2016 -0500 - - Update to pax-linux-4.4.3-test5.patch: - - constified xfrm_mgr and cftype, by Mathias Krause - - Emese fixed a few checkpatch reports on the gcc plugin generator headers - - Emese fixed a false positive size overflow report in get_next_ino, reported by KARBOWSKI Piotr - - added a generator for SIMPLE_IPA passes as well - - include/linux/cgroup-defs.h | 2 +- - include/linux/hugetlb.h | 2 +- - include/linux/hugetlb_cgroup.h | 11 ++ - include/net/xfrm.h | 2 +- - kernel/cgroup.c | 29 ++-- - mm/hugetlb.c | 55 ++++++- - mm/hugetlb_cgroup.c | 60 ++----- - mm/mmap.c | 38 ++--- - net/xfrm/xfrm_state.c | 4 +- - tools/gcc/constify_plugin.c | 5 +- - tools/gcc/gcc-common.h | 42 +++-- - tools/gcc/gcc-generate-gimple-pass.h | 27 ++-- - tools/gcc/gcc-generate-ipa-pass.h | 43 ++--- - tools/gcc/gcc-generate-rtl-pass.h | 27 ++-- - tools/gcc/gcc-generate-simple_ipa-pass.h | 173 +++++++++++++++++++++ - tools/gcc/size_overflow_plugin/.gitignore | 1 + - .../disable_size_overflow_hash.data | 7 +- - .../size_overflow_plugin/size_overflow_hash.data | 3 - - 18 files changed, 385 insertions(+), 146 deletions(-) - -commit 1ffa5d50a2161311d46b56fdef734f309503cb80 -Author: Brad Spengler -Date: Sun Feb 28 20:43:02 2016 -0500 - - Make suid/sgid bruteforce prevention also apply to binaries with fscaps - enabled - - grsecurity/grsec_sig.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit cfdb373a77c88d01c1539e605e28143af5981571 -Author: Brad Spengler -Date: Sun Feb 28 19:12:39 2016 -0500 - - compile fix - - grsecurity/gracl_segv.c | 2 +- - grsecurity/grsec_sig.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 67d5160f8c1ee12ee4da1e7ad57f8688fcc77b53 -Author: Brad Spengler -Date: Sun Feb 28 18:24:50 2016 -0500 - - Update the daemon check in handling of anti-bruteforcing of suid binaries - by GRKERNSEC_BRUTE to prevent a bypass reported by Jann Horn where one - could create unprivileged copies of the suid binary via ptrace, inject - code into them, and fork+exec a privileged copy. A crash then in the - privileged copy would trigger the daemon detection which could be avoided - by simply terminating the original process. Defeat this by using our - is_privileged_binary() function against the task's mm->binfmt->file to detect - an fscaps-enabled or suid/sgid binary being involved. - - Also update the RBAC RES_CRASH code to use is_privileged_binary(). - - grsecurity/gracl_segv.c | 15 +-------------- - grsecurity/grsec_sig.c | 3 ++- - 2 files changed, 3 insertions(+), 15 deletions(-) - -commit 7382ec22b0c9627c674ccbb00210276d26f219e3 -Author: Brad Spengler -Date: Sun Feb 28 15:06:32 2016 -0500 - - Fix a GRKERNSEC_PTRACE_READEXEC bypass reported by Jann Horn where one - could dump out an unreadable suid binary by creating a script that used - that binary as an interpreter. - - fs/exec.c | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit 3e60eddebe1c59b97c0b5432506bf8e13d84e8e6 -Merge: 2d35d52 8327ee6 -Author: Brad Spengler -Date: Thu Feb 25 18:44:11 2016 -0500 - - Merge branch 'pax-test' into grsec-test - - Conflicts: - fs/proc/base.c - kernel/ptrace.c - mm/process_vm_access.c - -commit 8327ee64e5e24ae6a3446dd96b95d5185f70e1f6 -Merge: 09d53c7 2134d97 -Author: Brad Spengler -Date: Thu Feb 25 18:36:46 2016 -0500 - - Merge branch 'linux-4.4.y' into pax-test - - Conflicts: - mm/mmap.c - -commit 2d35d5276f3feb0c053209f8c3a77b1f55f9d96b -Author: Brad Spengler -Date: Wed Feb 24 07:59:12 2016 -0500 - - Remove /proc/pid/map_files which we had previously prevented via - an inverted dependency on checkpoint/restart, but clearly should have - guarded independently as upstream in 4.3 enabled it regardless of checkpoint/ - restart support. It can be used since 4.3 as an ASLR leak under RBAC to - processes of the same UID. Thanks to Mathias Krause for the report! - - fs/proc/base.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit e4f1e517092222aa28179b20e14c0ddfb2796049 -Author: Brad Spengler -Date: Thu Feb 18 19:32:39 2016 -0500 - - Update size_overflow hash table - - .../size_overflow_plugin/size_overflow_hash.data | 158 +++++++++++++++++---- - 1 file changed, 131 insertions(+), 27 deletions(-) - -commit d5f895ddfa903d0d70425b8c3d7ef649c7e6943b -Author: Brad Spengler -Date: Thu Feb 18 18:52:37 2016 -0500 - - Update size_overflow hash table - - .../size_overflow_plugin/size_overflow_hash.data | 293 +++++++++++++++++---- - 1 file changed, 237 insertions(+), 56 deletions(-) - -commit 9d198df724c306c36e254fe19d0957fb608c3fa2 -Author: Brad Spengler -Date: Thu Feb 18 18:23:03 2016 -0500 - - compile fix - - tools/gcc/randomize_layout_plugin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 024d2af98b755712daff6ed7c49af921da4e8883 -Author: Brad Spengler -Date: Thu Feb 18 18:19:47 2016 -0500 - - compile fix - - tools/gcc/randomize_layout_plugin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 14a7b3bb5c3d8c6ef70c3e0842a5adc7f0f3e2c8 -Author: Brad Spengler -Date: Thu Feb 18 18:16:32 2016 -0500 - - compile fix + Initial import of grsecurity 3.1 for Linux 4.8.6 - tools/gcc/randomize_layout_plugin.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 9b2d0ee62bc66858c274f256c0502cbcbd34b2bf -Author: Brad Spengler -Date: Thu Feb 18 17:54:51 2016 -0500 - - Compile fix - - tools/gcc/randomize_layout_plugin.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 13823395101c4228ecded4b624583389ee13bfb3 -Author: Brad Spengler -Date: Thu Feb 18 17:35:21 2016 -0500 - - compile fix - - Makefile | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit 0316a42a37e67b0bc8a545c7a8b63db2d25f1ab0 -Merge: 45cbb7e 09d53c7 -Author: Brad Spengler -Date: Thu Feb 18 16:40:51 2016 -0500 - - Merge branch 'pax-test' into grsec-test - - Conflicts: - Makefile - include/linux/genl_magic_struct.h - scripts/mod/modpost.c - tools/gcc/size_overflow_plugin/size_overflow_hash.data - -commit 09d53c74140e87e886a28980cedbb7e771f2a356 -Author: Brad Spengler -Date: Thu Feb 18 16:24:02 2016 -0500 - - Update to pax-linux-4.4.2-test4.patch: - - fixed the initialization of ipc_namespace.shm_ctlmax to prevent the size overflow plugin from catching an integer truncation when calling shmem_kernel_file_setup, reported by Mathias Krause - - moved gcc plugin related makefile bits into a separate file, by Emese - - changed modpost to report writable function pointers separately - - increased the size of mem_cgroup.numainfo_events to avoid a wraparound caught by REFCOUNT, reported by alexey vlasov - - reduced the size of the compat syscall entry points on amd64 - - fixed an integer signedness mixup in drbd caught by the size overflow plugin, reported by iamb and gaima (https://forums.grsecurity.net/viewtopic.php?f=3&t=4366) - - Emese regenerated the size overflow hash table for 4.4 - - all plugins now use the new pass generator headers - - Makefile | 73 +- - arch/x86/entry/entry_64.S | 2 +- - arch/x86/entry/entry_64_compat.S | 48 +- - fs/exec.c | 3 + - include/linux/genl_magic_struct.h | 4 +- - include/linux/memcontrol.h | 2 +- - ipc/shm.c | 2 +- - mm/memcontrol.c | 6 +- - scripts/Makefile.extrawarn | 4 + - scripts/Makefile.gcc-plugins | 69 + - scripts/mod/modpost.c | 15 +- - tools/gcc/checker_plugin.c | 71 +- - tools/gcc/colorize_plugin.c | 65 +- - tools/gcc/constify_plugin.c | 65 +- - tools/gcc/gcc-generate-gimple-pass.h | 172 + - tools/gcc/gcc-generate-ipa-pass.h | 286 + + Documentation/dontdiff | 2 + + Documentation/kernel-parameters.txt | 6 + + Documentation/sysctl/kernel.txt | 15 + + Makefile | 8 +- + arch/alpha/include/asm/cache.h | 4 +- + arch/alpha/kernel/osf_sys.c | 12 +- + arch/arc/Kconfig | 1 + + arch/arm/Kconfig | 2 + + arch/arm/Kconfig.debug | 1 + + arch/arm/include/asm/cacheflush.h | 2 +- + arch/arm/include/asm/thread_info.h | 7 +- + arch/arm/kernel/entry-common.S | 8 +- + arch/arm/kernel/process.c | 4 +- + arch/arm/kernel/ptrace.c | 9 + + arch/arm/kernel/traps.c | 7 +- + arch/arm/mm/Kconfig | 4 +- + arch/arm/mm/fault.c | 40 +- + arch/arm/mm/mmap.c | 8 +- + arch/arm/net/bpf_jit_32.c | 51 +- + arch/arm64/Kconfig.debug | 1 + + arch/arm64/include/asm/atomic.h | 2 + + arch/arm64/include/asm/cache.h | 2 + + arch/arm64/include/asm/pgtable.h | 3 + + arch/avr32/include/asm/cache.h | 4 +- + arch/blackfin/Kconfig.debug | 1 + + arch/blackfin/include/asm/cache.h | 3 +- + arch/cris/include/arch-v10/arch/cache.h | 3 +- + arch/cris/include/arch-v32/arch/cache.h | 3 +- + arch/frv/include/asm/cache.h | 3 +- + arch/frv/mm/elf-fdpic.c | 4 +- + arch/hexagon/include/asm/cache.h | 6 +- + arch/ia64/Kconfig | 1 + + arch/ia64/include/asm/cache.h | 3 +- + arch/ia64/kernel/sys_ia64.c | 2 + + arch/ia64/mm/hugetlbpage.c | 2 + + arch/m32r/include/asm/cache.h | 4 +- + arch/m68k/include/asm/cache.h | 4 +- + arch/m68k/kernel/time.c | 1 + + arch/metag/mm/hugetlbpage.c | 1 + + arch/microblaze/include/asm/cache.h | 3 +- + arch/mips/Kconfig | 1 + + arch/mips/include/asm/thread_info.h | 11 +- + arch/mips/kernel/irq.c | 3 + + arch/mips/kernel/ptrace.c | 9 + + arch/mips/mm/mmap.c | 4 +- + arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +- + arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +- + arch/openrisc/include/asm/cache.h | 4 +- + arch/parisc/include/asm/cache.h | 3 + + arch/parisc/kernel/sys_parisc.c | 4 + + arch/powerpc/Kconfig | 1 + + arch/powerpc/include/asm/thread_info.h | 5 +- + arch/powerpc/kernel/Makefile | 2 + + arch/powerpc/kernel/irq.c | 3 + + arch/powerpc/kernel/process.c | 10 +- + arch/powerpc/kernel/ptrace.c | 15 + + arch/powerpc/kernel/traps.c | 5 + + arch/powerpc/mm/slice.c | 2 +- + arch/s390/Kconfig.debug | 1 + + arch/s390/include/asm/cache.h | 4 +- + arch/score/include/asm/cache.h | 4 +- + arch/sh/include/asm/cache.h | 3 +- + arch/sh/mm/mmap.c | 6 +- + arch/sparc/include/asm/thread_info_64.h | 8 +- + arch/sparc/kernel/process_32.c | 6 +- + arch/sparc/kernel/process_64.c | 8 +- + arch/sparc/kernel/ptrace_64.c | 14 + + arch/sparc/kernel/sys_sparc_64.c | 8 +- + arch/sparc/kernel/syscalls.S | 8 +- + arch/sparc/kernel/traps_32.c | 8 +- + arch/sparc/kernel/traps_64.c | 28 +- + arch/sparc/kernel/unaligned_64.c | 2 +- + arch/sparc/mm/fault_64.c | 2 +- + arch/sparc/mm/hugetlbpage.c | 15 +- + arch/tile/Kconfig | 1 + + arch/tile/include/asm/cache.h | 3 +- + arch/tile/mm/hugetlbpage.c | 2 + + arch/unicore32/include/asm/cache.h | 6 +- + arch/x86/Kconfig | 21 + + arch/x86/Kconfig.debug | 2 + + arch/x86/entry/common.c | 14 + + arch/x86/entry/entry_32.S | 2 +- + arch/x86/entry/entry_64.S | 2 +- + arch/x86/ia32/ia32_aout.c | 2 + + arch/x86/include/asm/floppy.h | 20 +- + arch/x86/include/asm/fpu/types.h | 69 +- + arch/x86/include/asm/io.h | 2 +- + arch/x86/include/asm/page.h | 12 +- + arch/x86/include/asm/paravirt_types.h | 21 +- + arch/x86/include/asm/processor.h | 4 +- + arch/x86/include/asm/thread_info.h | 6 +- + arch/x86/kernel/dumpstack.c | 8 +- + arch/x86/kernel/dumpstack_32.c | 1 + + arch/x86/kernel/ioport.c | 13 + + arch/x86/kernel/irq_32.c | 3 + + arch/x86/kernel/irq_64.c | 7 +- + arch/x86/kernel/ldt.c | 18 + + arch/x86/kernel/msr.c | 12 + + arch/x86/kernel/sys_i386_32.c | 9 +- + arch/x86/kernel/sys_x86_64.c | 8 +- + arch/x86/kernel/traps.c | 5 + + arch/x86/kernel/verify_cpu.S | 1 + + arch/x86/kernel/vm86_32.c | 15 + + arch/x86/mm/fault.c | 12 +- + arch/x86/mm/hugetlbpage.c | 15 +- + arch/x86/mm/init.c | 51 +- + arch/x86/mm/init_32.c | 6 +- + arch/x86/mm/mmap.c | 16 +- + arch/x86/net/bpf_jit_comp.c | 4 + + arch/x86/xen/Kconfig | 1 + + arch/xtensa/variants/dc232b/include/variant/core.h | 2 +- + arch/xtensa/variants/fsf/include/variant/core.h | 3 +- + crypto/scatterwalk.c | 10 +- + drivers/acpi/acpica/hwxfsleep.c | 11 +- + drivers/acpi/custom_method.c | 4 + + drivers/block/cciss.h | 30 +- + drivers/block/smart1,2.h | 40 +- + drivers/char/Kconfig | 4 +- + drivers/char/mem.c | 19 +- + drivers/char/random.c | 3 - + drivers/cpufreq/sparc-us3-cpufreq.c | 2 - + drivers/firewire/ohci.c | 4 + + drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 82 +- + .../drm/amd/powerplay/hwmgr/cz_clockpowergating.c | 12 +- + drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 58 +- + drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c | 20 +- + .../drm/amd/powerplay/hwmgr/polaris10_thermal.c | 22 +- + .../gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c | 20 +- + drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 9 +- + drivers/gpu/drm/nouveau/nouveau_ttm.c | 28 +- + drivers/gpu/drm/ttm/ttm_bo_manager.c | 10 +- + drivers/gpu/drm/virtio/virtgpu_ttm.c | 10 +- + drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 10 +- + drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 138 +- + drivers/infiniband/hw/i40iw/i40iw_uk.c | 34 +- + drivers/infiniband/hw/nes/nes_cm.c | 22 +- + drivers/iommu/amd_iommu.c | 14 +- + drivers/isdn/gigaset/bas-gigaset.c | 32 +- + drivers/isdn/gigaset/ser-gigaset.c | 32 +- + drivers/isdn/gigaset/usb-gigaset.c | 32 +- + drivers/isdn/i4l/isdn_concap.c | 6 +- + drivers/isdn/i4l/isdn_x25iface.c | 16 +- + drivers/md/bcache/Kconfig | 1 + + drivers/md/raid5.c | 8 + + drivers/media/pci/solo6x10/solo6x10-g723.c | 2 +- + .../media/platform/mtk-vcodec/venc/venc_h264_if.c | 8 +- + .../media/platform/mtk-vcodec/venc/venc_vp8_if.c | 8 +- + drivers/media/platform/sti/c8sectpfe/Kconfig | 1 + + drivers/media/usb/dvb-usb/cinergyT2-core.c | 91 +- + drivers/media/usb/dvb-usb/cinergyT2-fe.c | 182 +- + drivers/media/usb/dvb-usb/dvb-usb-firmware.c | 37 +- + drivers/media/usb/dvb-usb/technisat-usb2.c | 23 +- + drivers/message/fusion/mptbase.c | 9 + + drivers/misc/sgi-xp/xp_main.c | 12 +- + drivers/net/ethernet/brocade/bna/bna_enet.c | 8 +- + drivers/net/wan/lmc/lmc_media.c | 97 +- + drivers/net/wan/z85230.c | 24 +- + drivers/net/wireless/ath/ath9k/Kconfig | 1 - + drivers/pci/proc.c | 9 + + drivers/platform/x86/asus-wmi.c | 12 + + drivers/rtc/rtc-dev.c | 3 + + drivers/scsi/bfa/bfa_fcs.c | 19 +- + drivers/scsi/bfa/bfa_fcs_lport.c | 29 +- + drivers/scsi/bfa/bfa_modules.h | 12 +- + drivers/scsi/hpsa.h | 40 +- + drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +- + drivers/staging/wilc1000/host_interface.h | 1 + + drivers/staging/wilc1000/wilc_spi.c | 1 + + drivers/tty/sysrq.c | 2 +- + drivers/tty/tty_io.c | 4 + + drivers/tty/vt/keyboard.c | 22 +- + drivers/usb/core/hub.c | 5 + + drivers/usb/gadget/function/f_uac1.c | 1 + + drivers/usb/gadget/function/u_uac1.c | 1 + + drivers/usb/host/hwa-hc.c | 9 +- + drivers/usb/usbip/vhci_sysfs.c | 2 +- + drivers/video/fbdev/matrox/matroxfb_DAC1064.c | 10 +- + drivers/video/fbdev/matrox/matroxfb_Ti3026.c | 5 +- + drivers/video/fbdev/sh_mobile_lcdcfb.c | 6 +- + drivers/video/logo/logo_linux_clut224.ppm | 2720 ++++---- + drivers/xen/xenfs/xenstored.c | 5 + + firmware/Makefile | 2 + + firmware/WHENCE | 20 +- + firmware/bnx2/bnx2-mips-06-6.2.3.fw.ihex | 5804 +++++++++++++++++ + firmware/bnx2/bnx2-mips-09-6.2.1b.fw.ihex | 6496 ++++++++++++++++++++ + fs/attr.c | 4 + + fs/autofs4/waitq.c | 9 + + fs/binfmt_aout.c | 7 + + fs/binfmt_elf.c | 40 +- + fs/compat.c | 20 +- + fs/coredump.c | 17 +- + fs/dcache.c | 5 +- + fs/debugfs/inode.c | 19 +- + fs/exec.c | 159 +- + fs/ext2/balloc.c | 4 +- + fs/ext2/super.c | 8 +- + fs/ext4/balloc.c | 4 +- + fs/fcntl.c | 4 + + fs/fhandle.c | 3 +- + fs/file.c | 4 + + fs/filesystems.c | 4 + + fs/fs_struct.c | 20 +- + fs/hugetlbfs/inode.c | 5 +- + fs/inode.c | 8 +- + fs/kernfs/dir.c | 6 + + fs/mount.h | 4 +- + fs/namei.c | 290 +- + fs/namespace.c | 24 + + fs/open.c | 38 + + fs/overlayfs/super.c | 6 +- + fs/pipe.c | 2 +- + fs/posix_acl.c | 15 +- + fs/proc/Kconfig | 10 +- + fs/proc/array.c | 67 +- + fs/proc/base.c | 193 +- + fs/proc/cmdline.c | 4 + + fs/proc/devices.c | 4 + + fs/proc/fd.c | 13 +- + fs/proc/generic.c | 64 + + fs/proc/inode.c | 17 + + fs/proc/internal.h | 18 +- + fs/proc/interrupts.c | 4 + + fs/proc/kcore.c | 3 + + fs/proc/proc_net.c | 31 + + fs/proc/proc_sysctl.c | 50 +- + fs/proc/root.c | 8 + + fs/proc/stat.c | 69 +- + fs/proc/task_mmu.c | 87 +- + fs/proc/task_nommu.c | 2 +- + fs/readdir.c | 19 + + fs/reiserfs/item_ops.c | 24 +- + fs/reiserfs/super.c | 4 + + fs/select.c | 2 + + fs/seq_file.c | 31 +- + fs/stat.c | 20 +- + fs/sysfs/dir.c | 30 +- + fs/utimes.c | 8 + + fs/xattr.c | 26 +- + fs/xfs/xfs_ioctl.c | 6 + + grsecurity/Kconfig | 1205 ++++ + grsecurity/Makefile | 54 + + grsecurity/gracl.c | 2773 +++++++++ + grsecurity/gracl_alloc.c | 105 + + grsecurity/gracl_cap.c | 96 + + grsecurity/gracl_compat.c | 269 + + grsecurity/gracl_fs.c | 448 ++ + grsecurity/gracl_ip.c | 387 ++ + grsecurity/gracl_learn.c | 209 + + grsecurity/gracl_policy.c | 1784 ++++++ + grsecurity/gracl_res.c | 74 + + grsecurity/gracl_segv.c | 306 + + grsecurity/gracl_shm.c | 40 + + grsecurity/grsec_chdir.c | 19 + + grsecurity/grsec_chroot.c | 506 ++ + grsecurity/grsec_disabled.c | 445 ++ + grsecurity/grsec_exec.c | 188 + + grsecurity/grsec_fifo.c | 26 + + grsecurity/grsec_fork.c | 23 + + grsecurity/grsec_init.c | 294 + + grsecurity/grsec_ipc.c | 48 + + grsecurity/grsec_link.c | 65 + + grsecurity/grsec_log.c | 340 + + grsecurity/grsec_mem.c | 48 + + grsecurity/grsec_mount.c | 65 + + grsecurity/grsec_pax.c | 47 + + grsecurity/grsec_proc.c | 20 + + grsecurity/grsec_ptrace.c | 30 + + grsecurity/grsec_sig.c | 248 + + grsecurity/grsec_sock.c | 244 + + grsecurity/grsec_sysctl.c | 497 ++ + grsecurity/grsec_time.c | 16 + + grsecurity/grsec_tpe.c | 78 + + grsecurity/grsec_tty.c | 18 + + grsecurity/grsec_usb.c | 15 + + grsecurity/grsum.c | 56 + + include/linux/binfmts.h | 5 +- + include/linux/capability.h | 8 + + include/linux/cdev.h | 2 +- + include/linux/compiler-gcc.h | 5 + + include/linux/compiler.h | 8 + + include/linux/cred.h | 8 +- + include/linux/dcache.h | 5 +- + include/linux/debugfs.h | 2 +- + include/linux/fs.h | 26 +- + include/linux/fs_struct.h | 2 +- + include/linux/fsnotify.h | 6 + + include/linux/gracl.h | 342 ++ + include/linux/gracl_compat.h | 156 + + include/linux/gralloc.h | 9 + + include/linux/grdefs.h | 140 + + include/linux/grinternal.h | 231 + + include/linux/grmsg.h | 120 + + include/linux/grsecurity.h | 259 + + include/linux/grsock.h | 19 + + include/linux/ipc.h | 2 +- + include/linux/ipc_namespace.h | 2 +- + include/linux/kallsyms.h | 18 +- + include/linux/key-type.h | 4 +- + include/linux/kmod.h | 7 +- + include/linux/kobject.h | 2 +- + include/linux/lsm_hooks.h | 4 +- + include/linux/mm.h | 12 + + include/linux/mm_types.h | 4 +- + include/linux/module.h | 5 +- + include/linux/mount.h | 2 +- + include/linux/msg.h | 2 +- + include/linux/netfilter/xt_gradm.h | 9 + + include/linux/path.h | 4 +- + include/linux/perf_event.h | 13 +- + include/linux/pid_namespace.h | 2 +- + include/linux/printk.h | 3 +- + include/linux/proc_fs.h | 22 +- + include/linux/proc_ns.h | 2 +- + include/linux/rbtree_augmented.h | 4 +- + include/linux/scatterlist.h | 12 +- + include/linux/sched.h | 133 +- + include/linux/security.h | 1 + + include/linux/sem.h | 2 +- + include/linux/seq_file.h | 5 + + include/linux/shm.h | 6 +- + include/linux/skbuff.h | 3 + + include/linux/slab.h | 9 - + include/linux/sysctl.h | 8 +- + include/linux/tty.h | 2 +- + include/linux/tty_driver.h | 4 +- + include/linux/uidgid.h | 6 + + include/linux/user_namespace.h | 2 +- + include/linux/utsname.h | 2 +- + include/linux/vermagic.h | 16 +- + include/linux/vmalloc.h | 11 + + include/net/af_unix.h | 2 +- + include/net/ip.h | 2 +- + include/net/neighbour.h | 2 +- + include/net/net_namespace.h | 2 +- + include/net/sock.h | 2 +- + include/trace/events/fs.h | 53 + + init/Kconfig | 7 +- + init/main.c | 37 + + ipc/mqueue.c | 1 + + ipc/msg.c | 3 +- + ipc/msgutil.c | 4 +- + ipc/sem.c | 3 +- + ipc/shm.c | 26 +- + ipc/util.c | 6 + + kernel/bpf/syscall.c | 10 +- + kernel/capability.c | 31 +- + kernel/cgroup.c | 5 +- + kernel/compat.c | 1 + + kernel/configs.c | 11 + + kernel/cred.c | 112 +- + kernel/events/core.c | 14 +- + kernel/exit.c | 7 + + kernel/fork.c | 93 +- + kernel/futex.c | 4 +- + kernel/kallsyms.c | 9 + + kernel/kcmp.c | 4 + + kernel/kexec_core.c | 2 +- + kernel/kmod.c | 96 +- + kernel/kprobes.c | 9 +- + kernel/ksysfs.c | 2 + + kernel/locking/lockdep_proc.c | 10 +- + kernel/module.c | 108 +- + kernel/panic.c | 6 +- + kernel/pid.c | 18 +- + kernel/power/Kconfig | 1 + + kernel/power/snapshot.c | 20 + + kernel/printk/printk.c | 7 +- + kernel/ptrace.c | 50 +- + kernel/resource.c | 10 + + kernel/sched/core.c | 16 +- + kernel/sched/debug.c | 4 + + kernel/signal.c | 37 +- + kernel/sys.c | 64 +- + kernel/sysctl.c | 174 +- + kernel/taskstats.c | 6 + + kernel/time/posix-timers.c | 8 + + kernel/time/time.c | 5 + + kernel/time/timekeeping.c | 3 + + kernel/time/timer_list.c | 13 +- + kernel/time/timer_stats.c | 10 +- + kernel/trace/Kconfig | 6 + + kernel/trace/trace_syscalls.c | 8 + + kernel/user_namespace.c | 15 + + lib/Kconfig.debug | 11 +- + lib/is_single_threaded.c | 3 + + lib/list_debug.c | 65 +- + lib/nlattr.c | 2 + + lib/rbtree.c | 4 +- + lib/vsprintf.c | 42 +- + localversion-grsec | 1 + + mm/Kconfig | 8 +- + mm/Kconfig.debug | 1 + + mm/filemap.c | 1 + + mm/kmemleak.c | 4 +- + mm/memory.c | 2 +- + mm/mempolicy.c | 12 +- + mm/migrate.c | 3 +- + mm/mlock.c | 9 + + mm/mmap.c | 116 +- + mm/mprotect.c | 8 + + mm/page_alloc.c | 2 +- + mm/process_vm_access.c | 6 + + mm/shmem.c | 2 +- + mm/slab.c | 14 +- + mm/slab_common.c | 2 +- + mm/slob.c | 12 + + mm/slub.c | 53 +- + mm/usercopy.c | 2 - + mm/util.c | 3 + + mm/vmalloc.c | 94 +- + mm/vmstat.c | 29 +- + net/appletalk/atalk_proc.c | 2 +- + net/atm/lec.c | 6 +- + net/atm/mpoa_caches.c | 43 +- + net/can/bcm.c | 2 +- + net/can/proc.c | 2 +- + net/core/dev_ioctl.c | 7 +- + net/core/filter.c | 8 +- + net/core/net-procfs.c | 17 +- + net/core/pktgen.c | 2 +- + net/core/sock.c | 23 +- + net/core/sysctl_net_core.c | 2 +- + net/decnet/dn_dev.c | 2 +- + net/ipv4/devinet.c | 6 +- + net/ipv4/inet_hashtables.c | 6 + + net/ipv4/ip_input.c | 7 + + net/ipv4/ip_vti.c | 2 +- + net/ipv4/netfilter/ipt_CLUSTERIP.c | 2 +- + net/ipv4/route.c | 6 +- + net/ipv4/tcp_input.c | 6 +- + net/ipv4/tcp_ipv4.c | 24 +- + net/ipv4/tcp_minisocks.c | 9 +- + net/ipv4/tcp_timer.c | 11 + + net/ipv4/udp.c | 23 + + net/ipv6/addrconf.c | 13 +- + net/ipv6/proc.c | 2 +- + net/ipv6/tcp_ipv6.c | 23 +- + net/ipv6/udp.c | 7 + + net/ipx/ipx_proc.c | 2 +- + net/irda/irproc.c | 2 +- + net/llc/llc_proc.c | 2 +- + net/netfilter/Kconfig | 10 + + net/netfilter/Makefile | 1 + + net/netfilter/xt_gradm.c | 51 + + net/netfilter/xt_hashlimit.c | 4 +- + net/netfilter/xt_recent.c | 2 +- + net/socket.c | 75 +- + net/sunrpc/Kconfig | 1 + + net/sunrpc/cache.c | 2 +- + net/sunrpc/stats.c | 2 +- + net/unix/af_unix.c | 53 +- + net/vmw_vsock/vmci_transport_notify.c | 30 +- + net/vmw_vsock/vmci_transport_notify_qstate.c | 30 +- + net/x25/sysctl_net_x25.c | 2 +- + net/x25/x25_proc.c | 2 +- + scripts/Makefile.gcc-plugins | 5 + + scripts/gcc-plugins/.gitignore | 1 + + scripts/gcc-plugins/Makefile | 10 + + scripts/gcc-plugins/gen-random-seed.sh | 8 + + scripts/gcc-plugins/randomize_layout_plugin.c | 940 +++ + .../gcc-plugins/size_overflow_plugin/.gitignore | 5 +- + scripts/package/Makefile | 2 +- + scripts/package/mkspec | 41 +- + security/Kconfig | 314 +- + security/apparmor/file.c | 4 +- + security/apparmor/lsm.c | 6 +- + security/commoncap.c | 29 + + security/keys/internal.h | 2 +- + security/tomoyo/file.c | 12 +- + security/tomoyo/mount.c | 4 + + security/tomoyo/tomoyo.c | 20 +- + security/yama/Kconfig | 2 +- + sound/synth/emux/emux_seq.c | 14 +- + sound/usb/line6/driver.c | 40 +- + sound/usb/line6/toneport.c | 12 +- + 475 files changed, 32298 insertions(+), 3053 deletions(-) + +commit 863a7358ccafaadba7ca6d6c7b9dec8232aef6fd +Author: Brad Spengler +Date: Tue Nov 8 18:33:39 2016 -0500 + + Initial import of pax-linux-4.8.6-test1.patch + + Documentation/dontdiff | 49 +- + Documentation/kbuild/makefiles.txt | 39 +- + Documentation/kernel-parameters.txt | 33 + + Makefile | 13 +- + arch/Kconfig | 2 +- + arch/alpha/include/asm/atomic.h | 10 + + arch/alpha/include/asm/elf.h | 7 + + arch/alpha/include/asm/pgalloc.h | 6 + + arch/alpha/include/asm/pgtable.h | 11 + + arch/alpha/kernel/module.c | 2 +- + arch/alpha/kernel/osf_sys.c | 8 +- + arch/alpha/mm/fault.c | 141 +- + arch/arm/Kconfig | 5 +- + arch/arm/boot/compressed/Makefile | 2 + + arch/arm/crypto/sha1_glue.c | 12 +- + arch/arm/crypto/sha1_neon_glue.c | 10 +- + arch/arm/crypto/sha256_glue.c | 13 +- + arch/arm/crypto/sha256_neon_glue.c | 13 +- + arch/arm/crypto/sha512-glue.c | 11 +- + arch/arm/crypto/sha512-neon-glue.c | 11 +- + arch/arm/include/asm/atomic.h | 306 +- + arch/arm/include/asm/cache.h | 4 +- + arch/arm/include/asm/cacheflush.h | 2 +- + arch/arm/include/asm/checksum.h | 14 +- + arch/arm/include/asm/cmpxchg.h | 5 + + arch/arm/include/asm/cpuidle.h | 2 +- + arch/arm/include/asm/domain.h | 43 +- + arch/arm/include/asm/elf.h | 9 +- + arch/arm/include/asm/fncpy.h | 2 + + arch/arm/include/asm/futex.h | 1 + + arch/arm/include/asm/kmap_types.h | 2 +- + arch/arm/include/asm/mach/dma.h | 2 +- + arch/arm/include/asm/mach/map.h | 16 +- + arch/arm/include/asm/outercache.h | 2 +- + arch/arm/include/asm/page.h | 3 +- + arch/arm/include/asm/pgalloc.h | 20 + + arch/arm/include/asm/pgtable-2level-hwdef.h | 4 +- + arch/arm/include/asm/pgtable-2level.h | 3 + + arch/arm/include/asm/pgtable-3level.h | 3 + + arch/arm/include/asm/pgtable.h | 54 +- + arch/arm/include/asm/smp.h | 2 +- + arch/arm/include/asm/string.h | 10 +- + arch/arm/include/asm/thread_info.h | 3 + + arch/arm/include/asm/timex.h | 1 + + arch/arm/include/asm/tls.h | 3 + + arch/arm/include/asm/uaccess.h | 102 +- + arch/arm/include/uapi/asm/ptrace.h | 2 +- + arch/arm/kernel/armksyms.c | 2 +- + arch/arm/kernel/cpuidle.c | 2 +- + arch/arm/kernel/efi.c | 4 +- + arch/arm/kernel/entry-armv.S | 109 +- + arch/arm/kernel/entry-common.S | 40 +- + arch/arm/kernel/entry-header.S | 55 + + arch/arm/kernel/fiq.c | 3 + + arch/arm/kernel/module-plts.c | 7 +- + arch/arm/kernel/module.c | 38 +- + arch/arm/kernel/patch.c | 2 + + arch/arm/kernel/process.c | 86 +- + arch/arm/kernel/reboot.c | 1 + + arch/arm/kernel/setup.c | 20 +- + arch/arm/kernel/signal.c | 35 +- + arch/arm/kernel/smp.c | 2 +- + arch/arm/kernel/tcm.c | 4 +- + arch/arm/kernel/vmlinux.lds.S | 3 +- + arch/arm/kvm/arm.c | 8 +- + arch/arm/lib/copy_page.S | 1 + + arch/arm/lib/csumpartialcopyuser.S | 4 +- + arch/arm/lib/delay.c | 2 +- + arch/arm/lib/uaccess_with_memcpy.c | 4 +- + arch/arm/mach-exynos/suspend.c | 6 +- + arch/arm/mach-mmp/mmp2.c | 4 +- + arch/arm/mach-mmp/pxa910.c | 4 +- + arch/arm/mach-mvebu/coherency.c | 6 +- + arch/arm/mach-mvebu/pmsu.c | 2 +- + arch/arm/mach-omap2/board-n8x0.c | 2 +- + arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 +- + arch/arm/mach-omap2/omap-smp.c | 1 + + arch/arm/mach-omap2/omap_device.c | 4 +- + arch/arm/mach-omap2/omap_device.h | 4 +- + arch/arm/mach-omap2/omap_hwmod.c | 4 +- + arch/arm/mach-omap2/powerdomains43xx_data.c | 5 +- + arch/arm/mach-omap2/wd_timer.c | 6 +- + arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +- + arch/arm/mach-shmobile/platsmp-apmu.c | 5 +- + arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +- + arch/arm/mach-tegra/irq.c | 1 + + arch/arm/mach-ux500/pm.c | 1 + + arch/arm/mach-zynq/platsmp.c | 1 + + arch/arm/mm/Kconfig | 6 +- + arch/arm/mm/alignment.c | 24 +- + arch/arm/mm/cache-l2x0.c | 2 +- + arch/arm/mm/context.c | 10 +- + arch/arm/mm/fault.c | 160 + + arch/arm/mm/fault.h | 12 + + arch/arm/mm/init.c | 39 + + arch/arm/mm/ioremap.c | 4 +- + arch/arm/mm/mmap.c | 36 +- + arch/arm/mm/mmu.c | 162 +- + arch/arm/net/bpf_jit_32.c | 3 + + arch/arm/plat-iop/setup.c | 2 +- + arch/arm/plat-omap/sram.c | 2 + + arch/arm64/Kconfig | 1 + + arch/arm64/crypto/sha1-ce-glue.c | 12 +- + arch/arm64/include/asm/atomic.h | 13 + + arch/arm64/include/asm/cache.h | 4 +- + arch/arm64/include/asm/percpu.h | 8 +- + arch/arm64/include/asm/pgalloc.h | 10 + + arch/arm64/include/asm/pgtable.h | 3 + + arch/arm64/include/asm/processor.h | 7 + + arch/arm64/include/asm/string.h | 24 +- + arch/arm64/include/asm/uaccess.h | 10 + + arch/arm64/kernel/hibernate.c | 14 +- + arch/arm64/kernel/probes/decode-insn.c | 4 +- + arch/arm64/kernel/process.c | 9 +- + arch/arm64/kernel/stacktrace.c | 4 +- + arch/arm64/kernel/traps.c | 2 +- + arch/avr32/include/asm/elf.h | 8 +- + arch/avr32/include/asm/kmap_types.h | 4 +- + arch/avr32/mm/fault.c | 27 + + arch/frv/include/asm/atomic.h | 10 + + arch/frv/include/asm/kmap_types.h | 2 +- + arch/frv/mm/elf-fdpic.c | 3 +- + arch/ia64/Makefile | 1 + + arch/ia64/include/asm/atomic.h | 10 + + arch/ia64/include/asm/elf.h | 7 + + arch/ia64/include/asm/pgalloc.h | 12 + + arch/ia64/include/asm/pgtable.h | 13 +- + arch/ia64/include/asm/spinlock.h | 2 +- + arch/ia64/include/asm/uaccess.h | 27 +- + arch/ia64/kernel/module.c | 20 +- + arch/ia64/kernel/palinfo.c | 2 +- + arch/ia64/kernel/sys_ia64.c | 7 + + arch/ia64/kernel/vmlinux.lds.S | 2 +- + arch/ia64/mm/fault.c | 32 +- + arch/ia64/mm/init.c | 15 +- + arch/m32r/lib/usercopy.c | 6 + + arch/mips/Kbuild | 2 +- + arch/mips/Kconfig | 3 +- + arch/mips/include/asm/atomic.h | 387 +- + arch/mips/include/asm/cache.h | 3 +- + arch/mips/include/asm/elf.h | 7 + + arch/mips/include/asm/exec.h | 2 +- + arch/mips/include/asm/hw_irq.h | 2 +- + arch/mips/include/asm/irq.h | 1 - + arch/mips/include/asm/local.h | 57 + + arch/mips/include/asm/page.h | 2 +- + arch/mips/include/asm/pgalloc.h | 5 + + arch/mips/include/asm/pgtable.h | 3 + + arch/mips/include/asm/uaccess.h | 1 + + arch/mips/kernel/binfmt_elfn32.c | 7 + + arch/mips/kernel/binfmt_elfo32.c | 7 + + arch/mips/kernel/irq-gt641xx.c | 2 +- + arch/mips/kernel/irq.c | 6 +- + arch/mips/kernel/pm-cps.c | 2 +- + arch/mips/kernel/process.c | 12 - + arch/mips/kernel/sync-r4k.c | 24 +- + arch/mips/kernel/traps.c | 13 +- + arch/mips/lib/ashldi3.c | 21 +- + arch/mips/lib/ashrdi3.c | 19 +- + arch/mips/lib/libgcc.h | 12 +- + arch/mips/mm/fault.c | 25 + + arch/mips/mm/init.c | 4 +- + arch/mips/mm/mmap.c | 24 +- + arch/mips/sgi-ip27/ip27-nmi.c | 6 +- + arch/mips/sni/rm200.c | 2 +- + arch/mips/vr41xx/common/icu.c | 2 +- + arch/mips/vr41xx/common/irq.c | 4 +- + arch/parisc/include/asm/atomic.h | 10 + + arch/parisc/include/asm/elf.h | 7 + + arch/parisc/include/asm/pgalloc.h | 6 + + arch/parisc/include/asm/pgtable.h | 11 + + arch/parisc/include/asm/uaccess.h | 6 +- + arch/parisc/kernel/module.c | 26 +- + arch/parisc/kernel/sys_parisc.c | 15 + + arch/parisc/kernel/traps.c | 4 +- + arch/parisc/mm/fault.c | 140 +- + arch/powerpc/Kconfig | 1 + + arch/powerpc/include/asm/atomic.h | 306 +- + arch/powerpc/include/asm/book3s/32/hash.h | 1 + + arch/powerpc/include/asm/book3s/32/pgtable.h | 2 +- + arch/powerpc/include/asm/book3s/64/pgalloc.h | 10 + + arch/powerpc/include/asm/cache.h | 4 +- + arch/powerpc/include/asm/elf.h | 12 + + arch/powerpc/include/asm/exec.h | 2 +- + arch/powerpc/include/asm/kmap_types.h | 2 +- + arch/powerpc/include/asm/local.h | 46 + + arch/powerpc/include/asm/mman.h | 2 +- + arch/powerpc/include/asm/nohash/64/pgalloc.h | 7 + + arch/powerpc/include/asm/page.h | 8 +- + arch/powerpc/include/asm/page_64.h | 7 +- + arch/powerpc/include/asm/pgtable.h | 1 + + arch/powerpc/include/asm/pte-common.h | 30 +- + arch/powerpc/include/asm/reg.h | 1 + + arch/powerpc/include/asm/smp.h | 2 +- + arch/powerpc/include/asm/spinlock.h | 43 +- + arch/powerpc/include/asm/string.h | 20 +- + arch/powerpc/include/asm/uaccess.h | 102 +- + arch/powerpc/kernel/Makefile | 5 + + arch/powerpc/kernel/exceptions-64e.S | 4 +- + arch/powerpc/kernel/exceptions-64s.S | 2 +- + arch/powerpc/kernel/module_32.c | 15 +- + arch/powerpc/kernel/process.c | 7 - + arch/powerpc/kernel/signal_32.c | 2 +- + arch/powerpc/kernel/signal_64.c | 2 +- + arch/powerpc/kernel/traps.c | 21 + + arch/powerpc/kernel/vdso.c | 5 +- + arch/powerpc/lib/usercopy_64.c | 18 - + arch/powerpc/mm/fault.c | 56 +- + arch/powerpc/mm/mmap.c | 16 + + arch/powerpc/mm/slice.c | 21 +- + arch/powerpc/platforms/cell/spufs/file.c | 4 +- + arch/s390/include/asm/atomic.h | 10 + + arch/s390/include/asm/elf.h | 7 + + arch/s390/include/asm/exec.h | 2 +- + arch/s390/include/asm/uaccess.h | 13 +- + arch/s390/kernel/module.c | 22 +- + arch/s390/kernel/process.c | 7 - + arch/s390/mm/mmap.c | 22 +- + arch/score/include/asm/exec.h | 2 +- + arch/score/kernel/process.c | 5 - + arch/sh/mm/mmap.c | 28 +- + arch/sparc/Kconfig | 1 + + arch/sparc/include/asm/atomic_64.h | 116 +- + arch/sparc/include/asm/cache.h | 4 +- + arch/sparc/include/asm/elf_32.h | 7 + + arch/sparc/include/asm/elf_64.h | 7 + + arch/sparc/include/asm/pgalloc_32.h | 1 + + arch/sparc/include/asm/pgalloc_64.h | 2 + + arch/sparc/include/asm/pgtable.h | 4 + + arch/sparc/include/asm/pgtable_32.h | 15 +- + arch/sparc/include/asm/pgtsrmmu.h | 5 + + arch/sparc/include/asm/setup.h | 4 +- + arch/sparc/include/asm/spinlock_64.h | 35 +- + arch/sparc/include/asm/thread_info_32.h | 1 + + arch/sparc/include/asm/thread_info_64.h | 2 + + arch/sparc/include/asm/uaccess.h | 1 + + arch/sparc/include/asm/uaccess_32.h | 13 + + arch/sparc/include/asm/uaccess_64.h | 12 + + arch/sparc/kernel/Makefile | 2 +- + arch/sparc/kernel/prom_common.c | 2 +- + arch/sparc/kernel/smp_64.c | 8 +- + arch/sparc/kernel/sys_sparc_32.c | 2 +- + arch/sparc/kernel/sys_sparc_64.c | 58 +- + arch/sparc/kernel/traps_64.c | 27 +- + arch/sparc/lib/Makefile | 2 +- + arch/sparc/lib/atomic_64.S | 57 +- + arch/sparc/lib/ksyms.c | 6 +- + arch/sparc/mm/Makefile | 2 +- + arch/sparc/mm/fault_32.c | 292 + + arch/sparc/mm/fault_64.c | 486 + + arch/sparc/mm/hugetlbpage.c | 30 +- + arch/sparc/mm/init_64.c | 10 +- + arch/tile/include/asm/atomic_64.h | 10 + + arch/tile/include/asm/uaccess.h | 4 +- + arch/um/Makefile | 2 + + arch/um/include/asm/cache.h | 3 +- + arch/um/include/asm/kmap_types.h | 2 +- + arch/um/include/asm/page.h | 3 + + arch/um/include/asm/pgtable-3level.h | 1 + + arch/um/kernel/process.c | 16 - + arch/x86/Kconfig | 35 +- + arch/x86/Kconfig.cpu | 6 +- + arch/x86/Kconfig.debug | 3 +- + arch/x86/Makefile | 13 +- + arch/x86/boot/bitops.h | 4 +- + arch/x86/boot/boot.h | 2 +- + arch/x86/boot/compressed/Makefile | 17 + + arch/x86/boot/compressed/efi_stub_32.S | 16 +- + arch/x86/boot/compressed/efi_thunk_64.S | 4 +- + arch/x86/boot/compressed/head_32.S | 4 +- + arch/x86/boot/compressed/head_64.S | 12 +- + arch/x86/boot/compressed/misc.c | 21 +- + arch/x86/boot/compressed/pagetable.c | 1 + + arch/x86/boot/cpucheck.c | 16 +- + arch/x86/boot/header.S | 7 +- + arch/x86/boot/memory.c | 2 +- + arch/x86/boot/video-vesa.c | 1 + + arch/x86/boot/video.c | 2 +- + arch/x86/crypto/aes-x86_64-asm_64.S | 4 + + arch/x86/crypto/aesni-intel_asm.S | 116 +- + arch/x86/crypto/aesni-intel_glue.c | 4 +- + arch/x86/crypto/blowfish-x86_64-asm_64.S | 11 +- + arch/x86/crypto/camellia-aesni-avx-asm_64.S | 22 +- + arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 22 +- + arch/x86/crypto/camellia-x86_64-asm_64.S | 11 +- + arch/x86/crypto/camellia_aesni_avx2_glue.c | 18 +- + arch/x86/crypto/camellia_aesni_avx_glue.c | 18 +- + arch/x86/crypto/camellia_glue.c | 8 +- + arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 55 +- + arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 37 +- + arch/x86/crypto/cast6_avx_glue.c | 16 +- + arch/x86/crypto/crc32-pclmul_asm.S | 19 +- + arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 + + arch/x86/crypto/ghash-clmulni-intel_asm.S | 4 + + arch/x86/crypto/glue_helper.c | 2 +- + arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 + + arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 21 +- + arch/x86/crypto/serpent-avx2-asm_64.S | 21 +- + arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 + + arch/x86/crypto/serpent_avx2_glue.c | 14 +- + arch/x86/crypto/serpent_avx_glue.c | 18 +- + arch/x86/crypto/serpent_sse2_glue.c | 4 +- + arch/x86/crypto/sha1-mb/sha1_mb_mgr_flush_avx2.S | 4 +- + arch/x86/crypto/sha1-mb/sha1_mb_mgr_submit_avx2.S | 2 +- + arch/x86/crypto/sha1_ssse3_asm.S | 13 +- + arch/x86/crypto/sha1_ssse3_glue.c | 56 +- + arch/x86/crypto/sha256-avx-asm.S | 5 +- + arch/x86/crypto/sha256-avx2-asm.S | 5 +- + .../crypto/sha256-mb/sha256_mb_mgr_flush_avx2.S | 4 +- + .../crypto/sha256-mb/sha256_mb_mgr_submit_avx2.S | 2 +- + arch/x86/crypto/sha256-ssse3-asm.S | 6 +- + arch/x86/crypto/sha256_ni_asm.S | 2 +- + arch/x86/crypto/sha256_ssse3_glue.c | 26 +- + arch/x86/crypto/sha512-avx-asm.S | 5 +- + arch/x86/crypto/sha512-avx2-asm.S | 5 +- + .../crypto/sha512-mb/sha512_mb_mgr_flush_avx2.S | 4 +- + .../crypto/sha512-mb/sha512_mb_mgr_submit_avx2.S | 2 +- + arch/x86/crypto/sha512-ssse3-asm.S | 5 +- + arch/x86/crypto/sha512_ssse3_glue.c | 22 +- + arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 37 +- + arch/x86/crypto/twofish-i586-asm_32.S | 4 +- + arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 6 +- + arch/x86/crypto/twofish-x86_64-asm_64.S | 7 +- + arch/x86/crypto/twofish_avx_glue.c | 21 +- + arch/x86/crypto/twofish_glue.c | 4 +- + arch/x86/crypto/twofish_glue_3way.c | 12 +- + arch/x86/entry/Makefile | 2 + + arch/x86/entry/calling.h | 86 +- + arch/x86/entry/common.c | 89 +- + arch/x86/entry/entry_32.S | 343 +- + arch/x86/entry/entry_64.S | 611 +- + arch/x86/entry/entry_64_compat.S | 110 +- + arch/x86/entry/thunk_64.S | 2 + + arch/x86/entry/vdso/Makefile | 2 +- + arch/x86/entry/vdso/vclock_gettime.c | 2 +- + arch/x86/entry/vdso/vdso2c.h | 4 +- + arch/x86/entry/vdso/vma.c | 44 +- + arch/x86/entry/vsyscall/vsyscall_64.c | 20 +- + arch/x86/entry/vsyscall/vsyscall_emu_64.S | 3 +- + arch/x86/events/amd/iommu.c | 8 +- + arch/x86/events/core.c | 8 +- + arch/x86/events/intel/core.c | 34 +- + arch/x86/events/intel/cqm.c | 14 +- + arch/x86/events/intel/cstate.c | 6 +- + arch/x86/events/intel/ds.c | 7 +- + arch/x86/events/intel/lbr.c | 4 +- + arch/x86/events/intel/pt.c | 38 +- + arch/x86/events/intel/rapl.c | 8 +- + arch/x86/events/intel/uncore.c | 6 +- + arch/x86/events/intel/uncore.h | 14 +- + arch/x86/events/perf_event.h | 2 +- + arch/x86/ia32/ia32_signal.c | 23 +- + arch/x86/ia32/sys_ia32.c | 42 +- + arch/x86/include/asm/alternative-asm.h | 64 +- + arch/x86/include/asm/alternative.h | 34 +- + arch/x86/include/asm/apic.h | 2 +- + arch/x86/include/asm/apm.h | 4 +- + arch/x86/include/asm/asm.h | 24 - + arch/x86/include/asm/atomic.h | 272 +- + arch/x86/include/asm/atomic64_32.h | 133 +- + arch/x86/include/asm/atomic64_64.h | 144 +- + arch/x86/include/asm/bitops.h | 18 +- + arch/x86/include/asm/boot.h | 2 +- + arch/x86/include/asm/cache.h | 4 +- + arch/x86/include/asm/checksum_32.h | 12 +- + arch/x86/include/asm/cmpxchg.h | 33 + + arch/x86/include/asm/compat.h | 4 + + arch/x86/include/asm/cpufeature.h | 2 +- + arch/x86/include/asm/cpufeatures.h | 5 +- + arch/x86/include/asm/crypto/camellia.h | 30 +- + arch/x86/include/asm/crypto/glue_helper.h | 10 +- + arch/x86/include/asm/crypto/serpent-avx.h | 18 +- + arch/x86/include/asm/crypto/serpent-sse2.h | 8 +- + arch/x86/include/asm/crypto/twofish.h | 10 +- + arch/x86/include/asm/desc.h | 78 +- + arch/x86/include/asm/desc_defs.h | 6 + + arch/x86/include/asm/div64.h | 2 +- + arch/x86/include/asm/dma.h | 2 + + arch/x86/include/asm/efi.h | 5 + + arch/x86/include/asm/elf.h | 33 +- + arch/x86/include/asm/emergency-restart.h | 2 +- + arch/x86/include/asm/fixmap.h | 2 +- + arch/x86/include/asm/fpu/internal.h | 45 +- + arch/x86/include/asm/fpu/types.h | 5 +- + arch/x86/include/asm/fpu/xstate.h | 1 + + arch/x86/include/asm/futex.h | 24 +- + arch/x86/include/asm/hw_irq.h | 4 +- + arch/x86/include/asm/hypervisor.h | 2 +- + arch/x86/include/asm/i8259.h | 2 +- + arch/x86/include/asm/io.h | 22 +- + arch/x86/include/asm/irq_vectors.h | 2 + + arch/x86/include/asm/irqflags.h | 5 + + arch/x86/include/asm/kprobes.h | 2 +- + arch/x86/include/asm/kvm_emulate.h | 7 +- + arch/x86/include/asm/local.h | 75 +- + arch/x86/include/asm/mce.h | 2 +- + arch/x86/include/asm/mman.h | 15 + + arch/x86/include/asm/mmu.h | 14 +- + arch/x86/include/asm/mmu_context.h | 33 +- + arch/x86/include/asm/module.h | 23 +- + arch/x86/include/asm/nmi.h | 19 +- + arch/x86/include/asm/page.h | 2 + + arch/x86/include/asm/page_32.h | 12 +- + arch/x86/include/asm/page_64.h | 14 +- + arch/x86/include/asm/paravirt.h | 46 +- + arch/x86/include/asm/paravirt_types.h | 13 +- + arch/x86/include/asm/pgalloc.h | 23 + + arch/x86/include/asm/pgtable-2level.h | 2 + + arch/x86/include/asm/pgtable-3level.h | 7 + + arch/x86/include/asm/pgtable.h | 128 +- + arch/x86/include/asm/pgtable_32.h | 14 +- + arch/x86/include/asm/pgtable_32_types.h | 24 +- + arch/x86/include/asm/pgtable_64.h | 23 +- + arch/x86/include/asm/pgtable_64_types.h | 5 + + arch/x86/include/asm/pgtable_types.h | 28 +- + arch/x86/include/asm/pmem.h | 2 +- + arch/x86/include/asm/preempt.h | 2 +- + arch/x86/include/asm/processor.h | 69 +- + arch/x86/include/asm/ptrace.h | 13 +- + arch/x86/include/asm/realmode.h | 4 +- + arch/x86/include/asm/reboot.h | 10 +- + arch/x86/include/asm/rmwcc.h | 55 +- + arch/x86/include/asm/rwsem.h | 35 +- + arch/x86/include/asm/segment.h | 27 +- + arch/x86/include/asm/setup.h | 3 +- + arch/x86/include/asm/smap.h | 46 + + arch/x86/include/asm/smp.h | 4 +- + arch/x86/include/asm/stackprotector.h | 4 +- + arch/x86/include/asm/stacktrace.h | 34 +- + arch/x86/include/asm/string_32.h | 24 +- + arch/x86/include/asm/string_64.h | 20 +- + arch/x86/include/asm/switch_to.h | 4 +- + arch/x86/include/asm/sys_ia32.h | 6 +- + arch/x86/include/asm/thread_info.h | 83 +- + arch/x86/include/asm/tlbflush.h | 83 +- + arch/x86/include/asm/trace/fpu.h | 4 +- + arch/x86/include/asm/traps.h | 17 +- + arch/x86/include/asm/uaccess.h | 219 +- + arch/x86/include/asm/uaccess_32.h | 24 +- + arch/x86/include/asm/uaccess_64.h | 166 +- + arch/x86/include/asm/word-at-a-time.h | 2 +- + arch/x86/include/asm/x86_init.h | 8 +- + arch/x86/include/asm/xen/page.h | 2 +- + arch/x86/include/uapi/asm/e820.h | 2 +- + arch/x86/kernel/Makefile | 2 +- + arch/x86/kernel/acpi/boot.c | 4 +- + arch/x86/kernel/acpi/sleep.c | 4 + + arch/x86/kernel/acpi/wakeup_32.S | 6 +- + arch/x86/kernel/alternative.c | 118 +- + arch/x86/kernel/apic/apic.c | 4 +- + arch/x86/kernel/apic/apic_flat_64.c | 6 +- + arch/x86/kernel/apic/apic_noop.c | 2 +- + arch/x86/kernel/apic/bigsmp_32.c | 2 +- + arch/x86/kernel/apic/io_apic.c | 10 +- + arch/x86/kernel/apic/msi.c | 2 +- + arch/x86/kernel/apic/probe_32.c | 4 +- + arch/x86/kernel/apic/vector.c | 2 + + arch/x86/kernel/apic/x2apic_cluster.c | 2 +- + arch/x86/kernel/apic/x2apic_phys.c | 2 +- + arch/x86/kernel/apic/x2apic_uv_x.c | 2 +- + arch/x86/kernel/apm_32.c | 21 +- + arch/x86/kernel/asm-offsets.c | 23 +- + arch/x86/kernel/cpu/Makefile | 4 - + arch/x86/kernel/cpu/amd.c | 2 +- + arch/x86/kernel/cpu/bugs_64.c | 2 + + arch/x86/kernel/cpu/common.c | 206 +- + arch/x86/kernel/cpu/intel_cacheinfo.c | 14 +- + arch/x86/kernel/cpu/mcheck/mce.c | 38 +- + arch/x86/kernel/cpu/mcheck/p5.c | 3 + + arch/x86/kernel/cpu/mcheck/winchip.c | 3 + + arch/x86/kernel/cpu/microcode/intel.c | 4 +- + arch/x86/kernel/cpu/mshyperv.c | 2 +- + arch/x86/kernel/cpu/mtrr/generic.c | 6 +- + arch/x86/kernel/cpu/mtrr/main.c | 2 +- + arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +- + arch/x86/kernel/cpu/vmware.c | 2 +- + arch/x86/kernel/crash_dump_64.c | 2 +- + arch/x86/kernel/doublefault.c | 8 +- + arch/x86/kernel/dumpstack.c | 12 +- + arch/x86/kernel/dumpstack_32.c | 23 +- + arch/x86/kernel/dumpstack_64.c | 70 +- + arch/x86/kernel/e820.c | 4 +- + arch/x86/kernel/early_printk.c | 1 + + arch/x86/kernel/espfix_64.c | 44 +- + arch/x86/kernel/fpu/core.c | 31 +- + arch/x86/kernel/fpu/init.c | 49 +- + arch/x86/kernel/fpu/regset.c | 24 +- + arch/x86/kernel/fpu/signal.c | 22 +- + arch/x86/kernel/fpu/xstate.c | 6 +- + arch/x86/kernel/ftrace.c | 18 +- + arch/x86/kernel/head64.c | 14 +- + arch/x86/kernel/head_32.S | 236 +- + arch/x86/kernel/head_64.S | 179 +- + arch/x86/kernel/hpet.c | 2 +- + arch/x86/kernel/i386_ksyms_32.c | 12 + + arch/x86/kernel/i8259.c | 10 +- + arch/x86/kernel/io_delay.c | 2 +- + arch/x86/kernel/ioport.c | 2 +- + arch/x86/kernel/irq.c | 8 +- + arch/x86/kernel/irq_32.c | 43 +- + arch/x86/kernel/jump_label.c | 10 +- + arch/x86/kernel/kgdb.c | 21 +- + arch/x86/kernel/kprobes/core.c | 28 +- + arch/x86/kernel/kprobes/opt.c | 16 +- + arch/x86/kernel/ksysfs.c | 2 +- + arch/x86/kernel/kvm.c | 2 +- + arch/x86/kernel/kvmclock.c | 20 +- + arch/x86/kernel/ldt.c | 25 + + arch/x86/kernel/machine_kexec_32.c | 6 +- + arch/x86/kernel/mcount_64.S | 21 +- + arch/x86/kernel/module.c | 78 +- + arch/x86/kernel/msr.c | 2 +- + arch/x86/kernel/nmi.c | 34 +- + arch/x86/kernel/nmi_selftest.c | 4 +- + arch/x86/kernel/paravirt-spinlocks.c | 24 +- + arch/x86/kernel/paravirt.c | 133 +- + arch/x86/kernel/paravirt_patch_64.c | 8 + + arch/x86/kernel/pci-calgary_64.c | 2 +- + arch/x86/kernel/pci-iommu_table.c | 2 +- + arch/x86/kernel/process.c | 80 +- + arch/x86/kernel/process_32.c | 29 +- + arch/x86/kernel/process_64.c | 14 +- + arch/x86/kernel/ptrace.c | 32 +- + arch/x86/kernel/pvclock.c | 8 +- + arch/x86/kernel/reboot.c | 44 +- + arch/x86/kernel/reboot_fixups_32.c | 2 +- + arch/x86/kernel/relocate_kernel_64.S | 3 +- + arch/x86/kernel/setup.c | 33 +- + arch/x86/kernel/setup_percpu.c | 29 +- + arch/x86/kernel/signal.c | 17 +- + arch/x86/kernel/smp.c | 2 +- + arch/x86/kernel/smpboot.c | 29 +- + arch/x86/kernel/step.c | 6 +- + arch/x86/kernel/sys_i386_32.c | 184 + + arch/x86/kernel/sys_x86_64.c | 28 +- + arch/x86/kernel/tboot.c | 22 +- + arch/x86/kernel/time.c | 8 +- + arch/x86/kernel/tls.c | 7 +- + arch/x86/kernel/tracepoint.c | 4 +- + arch/x86/kernel/traps.c | 102 +- + arch/x86/kernel/tsc.c | 2 +- + arch/x86/kernel/uprobes.c | 4 +- + arch/x86/kernel/vm86_32.c | 6 +- + arch/x86/kernel/vmlinux.lds.S | 144 +- + arch/x86/kernel/x8664_ksyms_64.c | 6 +- + arch/x86/kernel/x86_init.c | 6 +- + arch/x86/kvm/cpuid.c | 21 +- + arch/x86/kvm/emulate.c | 20 +- + arch/x86/kvm/i8259.c | 10 +- + arch/x86/kvm/ioapic.c | 2 + + arch/x86/kvm/lapic.c | 2 +- + arch/x86/kvm/paging_tmpl.h | 2 +- + arch/x86/kvm/svm.c | 10 +- + arch/x86/kvm/vmx.c | 60 +- + arch/x86/kvm/x86.c | 46 +- + arch/x86/lguest/boot.c | 3 +- + arch/x86/lib/Makefile | 4 + + arch/x86/lib/atomic64_386_32.S | 85 + + arch/x86/lib/atomic64_cx8_32.S | 75 +- + arch/x86/lib/checksum_32.S | 99 +- + arch/x86/lib/clear_page_64.S | 3 + + arch/x86/lib/cmpxchg16b_emu.S | 3 + + arch/x86/lib/copy_page_64.S | 14 +- + arch/x86/lib/copy_user_64.S | 108 +- + arch/x86/lib/csum-copy_64.S | 14 +- + arch/x86/lib/csum-wrappers_64.c | 12 +- + arch/x86/lib/getuser.S | 111 +- + arch/x86/lib/insn.c | 8 +- + arch/x86/lib/iomap_copy_64.S | 2 + + arch/x86/lib/memcpy_64.S | 6 + + arch/x86/lib/memmove_64.S | 3 +- + arch/x86/lib/memset_64.S | 3 + + arch/x86/lib/mmx_32.c | 243 +- + arch/x86/lib/msr-reg.S | 2 + + arch/x86/lib/putuser.S | 97 +- + arch/x86/lib/rwsem.S | 4 + + arch/x86/lib/usercopy_32.c | 359 +- + arch/x86/lib/usercopy_64.c | 23 +- + arch/x86/math-emu/fpu_aux.c | 2 +- + arch/x86/math-emu/fpu_entry.c | 4 +- + arch/x86/math-emu/fpu_etc.c | 9 +- + arch/x86/math-emu/fpu_system.h | 2 +- + arch/x86/math-emu/fpu_trig.c | 13 +- + arch/x86/math-emu/reg_constant.c | 7 +- + arch/x86/mm/Makefile | 4 + + arch/x86/mm/dump_pagetables.c | 32 +- + arch/x86/mm/extable.c | 2 +- + arch/x86/mm/fault.c | 571 +- + arch/x86/mm/gup.c | 6 +- + arch/x86/mm/highmem_32.c | 6 + + arch/x86/mm/hugetlbpage.c | 24 +- + arch/x86/mm/init.c | 19 +- + arch/x86/mm/init_32.c | 157 +- + arch/x86/mm/init_64.c | 106 +- + arch/x86/mm/iomap_32.c | 4 + + arch/x86/mm/ioremap.c | 54 +- + arch/x86/mm/kmemcheck/kmemcheck.c | 4 +- + arch/x86/mm/mmap.c | 46 +- + arch/x86/mm/mmio-mod.c | 10 +- + arch/x86/mm/mpx.c | 6 +- + arch/x86/mm/numa.c | 2 +- + arch/x86/mm/pageattr.c | 38 +- + arch/x86/mm/pat.c | 8 +- + arch/x86/mm/pat_rbtree.c | 2 +- + arch/x86/mm/pf_in.c | 10 +- + arch/x86/mm/pgtable.c | 211 +- + arch/x86/mm/pgtable_32.c | 3 + + arch/x86/mm/setup_nx.c | 7 + + arch/x86/mm/tlb.c | 104 +- + arch/x86/mm/uderef_64.c | 37 + + arch/x86/net/bpf_jit.S | 11 + + arch/x86/net/bpf_jit_comp.c | 13 +- + arch/x86/oprofile/backtrace.c | 6 +- + arch/x86/oprofile/nmi_int.c | 10 +- + arch/x86/oprofile/op_model_amd.c | 8 +- + arch/x86/oprofile/op_model_ppro.c | 7 +- + arch/x86/oprofile/op_x86_model.h | 2 +- + arch/x86/pci/intel_mid_pci.c | 2 +- + arch/x86/pci/irq.c | 8 +- + arch/x86/pci/pcbios.c | 112 +- + arch/x86/pci/vmd.c | 4 +- + arch/x86/platform/efi/efi_32.c | 24 + + arch/x86/platform/efi/efi_64.c | 26 +- + arch/x86/platform/efi/efi_stub_32.S | 64 +- + arch/x86/platform/efi/efi_stub_64.S | 2 + + arch/x86/platform/intel-mid/intel-mid.c | 7 +- + arch/x86/platform/intel-mid/intel_mid_weak_decls.h | 6 +- + arch/x86/platform/intel-mid/mfld.c | 4 +- + arch/x86/platform/intel-mid/mrfld.c | 2 +- + arch/x86/platform/intel-quark/imr_selftest.c | 2 +- + arch/x86/platform/olpc/olpc_dt.c | 2 +- + arch/x86/power/cpu.c | 11 +- + arch/x86/realmode/init.c | 10 +- + arch/x86/realmode/rm/header.S | 4 +- + arch/x86/realmode/rm/reboot.S | 4 + + arch/x86/realmode/rm/trampoline_32.S | 12 +- + arch/x86/realmode/rm/trampoline_64.S | 3 +- + arch/x86/realmode/rm/wakeup_asm.S | 5 +- + arch/x86/tools/Makefile | 2 +- + arch/x86/tools/relocs.c | 97 +- + arch/x86/um/mem_32.c | 2 +- + arch/x86/um/tls_32.c | 2 +- + arch/x86/xen/enlighten.c | 56 +- + arch/x86/xen/mmu.c | 31 +- + arch/x86/xen/pmu.c | 1 + + arch/x86/xen/smp.c | 16 +- + arch/x86/xen/xen-asm_32.S | 2 +- + arch/x86/xen/xen-head.S | 12 + + arch/x86/xen/xen-ops.h | 2 - + block/bio.c | 6 +- + block/blk-cgroup.c | 18 +- + block/blk-core.c | 7 +- + block/blk-map.c | 2 +- + block/blk-softirq.c | 2 +- + block/cfq-iosched.c | 4 +- + block/compat_ioctl.c | 4 +- + block/genhd.c | 9 +- + block/partitions/efi.c | 8 +- + block/scsi_ioctl.c | 2 +- + crypto/cast6_generic.c | 6 +- + crypto/cryptd.c | 4 +- + crypto/crypto_user.c | 2 +- + crypto/pcrypt.c | 2 +- + crypto/salsa20_generic.c | 16 +- + crypto/serpent_generic.c | 6 +- + drivers/acpi/ac.c | 2 +- + drivers/acpi/acpi_video.c | 2 +- + drivers/acpi/acpica/acutils.h | 2 +- + drivers/acpi/acpica/dbhistry.c | 2 +- + drivers/acpi/acpica/dbinput.c | 10 +- + drivers/acpi/acpica/dbstats.c | 88 +- + drivers/acpi/acpica/utdebug.c | 2 +- + drivers/acpi/apei/apei-internal.h | 2 +- + drivers/acpi/apei/ghes.c | 10 +- + drivers/acpi/battery.c | 2 +- + drivers/acpi/bgrt.c | 36 +- + drivers/acpi/blacklist.c | 6 +- + drivers/acpi/bus.c | 4 +- + drivers/acpi/button.c | 4 +- + drivers/acpi/device_pm.c | 4 +- + drivers/acpi/ec.c | 6 +- + drivers/acpi/osi.c | 2 +- + drivers/acpi/pci_slot.c | 2 +- + drivers/acpi/processor_idle.c | 4 +- + drivers/acpi/processor_pdc.c | 2 +- + drivers/acpi/sleep.c | 2 +- + drivers/acpi/sysfs.c | 14 +- + drivers/acpi/thermal.c | 2 +- + drivers/acpi/video_detect.c | 7 +- + drivers/android/binder.c | 2 +- + drivers/ata/libata-core.c | 12 +- + drivers/ata/libata-scsi.c | 2 +- + drivers/ata/libata.h | 2 +- + drivers/ata/pata_arasan_cf.c | 4 +- + drivers/atm/adummy.c | 2 +- + drivers/atm/ambassador.c | 8 +- + drivers/atm/atmtcp.c | 14 +- + drivers/atm/eni.c | 10 +- + drivers/atm/firestream.c | 8 +- + drivers/atm/fore200e.c | 14 +- + drivers/atm/he.c | 18 +- + drivers/atm/horizon.c | 4 +- + drivers/atm/idt77252.c | 36 +- + drivers/atm/iphase.c | 34 +- + drivers/atm/lanai.c | 12 +- + drivers/atm/nicstar.c | 46 +- + drivers/atm/solos-pci.c | 4 +- + drivers/atm/suni.c | 4 +- + drivers/atm/uPD98402.c | 16 +- + drivers/atm/zatm.c | 6 +- + drivers/base/bus.c | 4 +- + drivers/base/devres.c | 4 +- + drivers/base/devtmpfs.c | 8 +- + drivers/base/node.c | 2 +- + drivers/base/platform-msi.c | 20 +- + drivers/base/power/domain.c | 6 +- + drivers/base/power/runtime.c | 61 +- + drivers/base/power/sysfs.c | 2 +- + drivers/base/power/wakeup.c | 8 +- + drivers/base/regmap/regmap-debugfs.c | 2 +- + drivers/base/regmap/regmap.c | 4 +- + drivers/base/syscore.c | 4 +- + drivers/block/cciss.c | 28 +- + drivers/block/cciss.h | 2 +- + drivers/block/drbd/drbd_bitmap.c | 2 +- + drivers/block/drbd/drbd_int.h | 12 +- + drivers/block/drbd/drbd_main.c | 12 +- + drivers/block/drbd/drbd_nl.c | 16 +- + drivers/block/drbd/drbd_receiver.c | 42 +- + drivers/block/drbd/drbd_state.c | 12 +- + drivers/block/drbd/drbd_state.h | 2 +- + drivers/block/drbd/drbd_state_change.h | 8 +- + drivers/block/drbd/drbd_worker.c | 14 +- + drivers/block/floppy.c | 8 +- + drivers/block/pktcdvd.c | 4 +- + drivers/block/rbd.c | 2 +- + drivers/bluetooth/btwilink.c | 2 +- + drivers/bus/arm-cci.c | 6 +- + drivers/cdrom/cdrom.c | 13 +- + drivers/cdrom/gdrom.c | 1 - + drivers/char/agp/compat_ioctl.c | 2 +- + drivers/char/agp/frontend.c | 4 +- + drivers/char/agp/intel-gtt.c | 4 +- + drivers/char/hpet.c | 2 +- + drivers/char/ipmi/ipmi_msghandler.c | 8 +- + drivers/char/ipmi/ipmi_poweroff.c | 2 +- + drivers/char/ipmi/ipmi_si_intf.c | 12 +- + drivers/char/ipmi/ipmi_ssif.c | 12 +- + drivers/char/mem.c | 36 +- + drivers/char/nvram.c | 2 +- + drivers/char/pcmcia/synclink_cs.c | 16 +- + drivers/char/random.c | 12 +- + drivers/char/sonypi.c | 11 +- + drivers/char/tpm/tpm-chip.c | 9 +- + drivers/char/tpm/tpm_acpi.c | 3 +- + drivers/char/tpm/tpm_eventlog.c | 5 +- + drivers/char/virtio_console.c | 6 +- + drivers/clk/bcm/clk-bcm2835.c | 16 +- + drivers/clk/clk-composite.c | 2 +- + drivers/clk/socfpga/clk-gate-a10.c | 9 +- + drivers/clk/socfpga/clk-gate.c | 9 +- + drivers/clk/socfpga/clk-pll-a10.c | 9 +- + drivers/clk/socfpga/clk-pll.c | 9 +- + drivers/clk/ti/adpll.c | 2 +- + drivers/clk/ti/clk.c | 8 +- + drivers/cpufreq/acpi-cpufreq.c | 17 +- + drivers/cpufreq/cpufreq-dt.c | 4 +- + drivers/cpufreq/cpufreq.c | 27 +- + drivers/cpufreq/cpufreq_governor.h | 2 +- + drivers/cpufreq/cpufreq_ondemand.c | 10 +- + drivers/cpufreq/intel_pstate.c | 56 +- + drivers/cpufreq/p4-clockmod.c | 12 +- + drivers/cpufreq/sparc-us3-cpufreq.c | 67 +- + drivers/cpufreq/speedstep-centrino.c | 7 +- + drivers/cpuidle/driver.c | 2 +- + drivers/cpuidle/dt_idle_states.c | 2 +- + drivers/cpuidle/governor.c | 2 +- + drivers/cpuidle/governors/ladder.c | 13 +- + drivers/cpuidle/sysfs.c | 2 +- + drivers/crypto/hifn_795x.c | 4 +- + drivers/crypto/qat/qat_common/adf_aer.c | 2 +- + drivers/crypto/qat/qat_common/adf_sriov.c | 4 +- + drivers/crypto/qat/qat_common/adf_vf_isr.c | 6 +- + drivers/devfreq/devfreq.c | 4 +- + drivers/devfreq/governor_passive.c | 2 +- + drivers/dma/qcom/hidma.c | 2 +- + drivers/dma/qcom/hidma_mgmt_sys.c | 2 +- + drivers/dma/sh/shdma-base.c | 4 +- + drivers/dma/sh/shdmac.c | 2 +- + drivers/edac/edac_device.c | 4 +- + drivers/edac/edac_device_sysfs.c | 2 +- + drivers/edac/edac_mc_sysfs.c | 4 +- + drivers/edac/edac_module.c | 2 +- + drivers/edac/edac_pci.c | 4 +- + drivers/edac/edac_pci_sysfs.c | 22 +- + drivers/edac/mce_amd.h | 2 +- + drivers/firewire/core-card.c | 6 +- + drivers/firewire/core-cdev.c | 4 +- + drivers/firewire/core-device.c | 2 +- + drivers/firewire/core-iso.c | 2 +- + drivers/firewire/core-transaction.c | 1 + + drivers/firewire/core.h | 1 + + drivers/firmware/dmi-id.c | 9 +- + drivers/firmware/dmi_scan.c | 12 +- + drivers/firmware/efi/cper.c | 8 +- + drivers/firmware/efi/efi.c | 14 +- + drivers/firmware/efi/efivars.c | 2 +- + drivers/firmware/efi/libstub/Makefile | 2 + + drivers/firmware/efi/runtime-map.c | 2 +- + drivers/firmware/google/gsmi.c | 2 +- + drivers/firmware/google/memconsole.c | 7 +- + drivers/firmware/memmap.c | 2 +- + drivers/firmware/psci.c | 2 +- + drivers/gpio/gpio-davinci.c | 6 +- + drivers/gpio/gpio-em.c | 2 +- + drivers/gpio/gpio-ich.c | 2 +- + drivers/gpio/gpio-mpc8xxx.c | 6 +- + drivers/gpio/gpio-omap.c | 4 +- + drivers/gpio/gpio-rcar.c | 2 +- + drivers/gpio/gpio-vr41xx.c | 2 +- + drivers/gpio/gpiolib.c | 12 +- + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 8 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 15 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 +- + drivers/gpu/drm/amd/amdgpu/fiji_smc.c | 4 +- + drivers/gpu/drm/amd/amdgpu/iceland_smc.c | 4 +- + drivers/gpu/drm/amd/amdgpu/tonga_smc.c | 4 +- + drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_device.c | 6 +- + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 90 +- + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 8 +- + .../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 14 +- + .../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 14 +- + drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 4 +- + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h | 2 +- + .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 16 +- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 2 +- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 2 +- + drivers/gpu/drm/amd/scheduler/sched_fence.c | 2 +- + drivers/gpu/drm/armada/armada_drv.c | 3 +- + drivers/gpu/drm/ast/ast_mode.c | 2 +- + drivers/gpu/drm/bochs/bochs_kms.c | 2 +- + drivers/gpu/drm/bridge/tc358767.c | 2 +- + drivers/gpu/drm/drm_crtc.c | 2 +- + drivers/gpu/drm/drm_drv.c | 2 +- + drivers/gpu/drm/drm_fb_cma_helper.c | 4 +- + drivers/gpu/drm/drm_fops.c | 17 +- + drivers/gpu/drm/drm_global.c | 14 +- + drivers/gpu/drm/drm_ioc32.c | 13 +- + drivers/gpu/drm/drm_ioctl.c | 2 +- + drivers/gpu/drm/drm_pci.c | 9 +- + drivers/gpu/drm/exynos/exynos_drm_drv.c | 12 +- + drivers/gpu/drm/exynos/exynos_drm_g2d.c | 5 + + drivers/gpu/drm/exynos/exynos_hdmi.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_crt.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_dp.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_lvds.c | 2 +- + drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 10 +- + drivers/gpu/drm/gma500/mdfld_dsi_output.c | 2 +- + drivers/gpu/drm/gma500/oaktrail_hdmi.c | 2 +- + drivers/gpu/drm/gma500/psb_drv.c | 1 - + drivers/gpu/drm/gma500/psb_intel_drv.h | 2 +- + drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 +- + drivers/gpu/drm/gma500/psb_intel_sdvo.c | 2 +- + drivers/gpu/drm/i2c/tda998x_drv.c | 2 +- + drivers/gpu/drm/i810/i810_dma.c | 2 +- + drivers/gpu/drm/i810/i810_drv.c | 6 +- + drivers/gpu/drm/i810/i810_drv.h | 6 +- + drivers/gpu/drm/i915/dvo.h | 2 +- + drivers/gpu/drm/i915/i915_drv.c | 11 +- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +- + drivers/gpu/drm/i915/i915_gem_gtt.c | 4 +- + drivers/gpu/drm/i915/i915_gem_gtt.h | 4 +- + drivers/gpu/drm/i915/i915_ioc32.c | 10 +- + drivers/gpu/drm/i915/i915_irq.c | 88 +- + drivers/gpu/drm/i915/intel_display.c | 30 +- + drivers/gpu/drm/imx/imx-drm-core.c | 2 +- + drivers/gpu/drm/imx/imx-tve.c | 2 +- + drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 +- + drivers/gpu/drm/mga/mga_drv.c | 5 +- + drivers/gpu/drm/mga/mga_drv.h | 6 +- + drivers/gpu/drm/mga/mga_ioc32.c | 10 +- + drivers/gpu/drm/mga/mga_irq.c | 8 +- + drivers/gpu/drm/mga/mga_state.c | 2 +- + drivers/gpu/drm/mgag200/mgag200_mode.c | 2 +- + drivers/gpu/drm/msm/dsi/dsi_manager.c | 2 +- + drivers/gpu/drm/msm/edp/edp_connector.c | 2 +- + drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_acpi.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_drm.c | 14 +- + drivers/gpu/drm/nouveau/nouveau_drv.h | 1 - + drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +- + drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c | 7 +- + .../gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c | 7 +- + drivers/gpu/drm/nouveau/nvkm/subdev/secboot/priv.h | 4 +- + drivers/gpu/drm/omapdrm/dss/display.c | 8 +- + drivers/gpu/drm/omapdrm/omap_connector.c | 2 +- + drivers/gpu/drm/qxl/qxl_cmd.c | 12 +- + drivers/gpu/drm/qxl/qxl_debugfs.c | 8 +- + drivers/gpu/drm/qxl/qxl_display.c | 2 +- + drivers/gpu/drm/qxl/qxl_drv.c | 8 +- + drivers/gpu/drm/qxl/qxl_drv.h | 8 +- + drivers/gpu/drm/qxl/qxl_ioctl.c | 12 +- + drivers/gpu/drm/qxl/qxl_irq.c | 16 +- + drivers/gpu/drm/qxl/qxl_ttm.c | 38 +- + drivers/gpu/drm/r128/r128_cce.c | 2 +- + drivers/gpu/drm/r128/r128_drv.c | 4 +- + drivers/gpu/drm/r128/r128_drv.h | 6 +- + drivers/gpu/drm/r128/r128_ioc32.c | 10 +- + drivers/gpu/drm/r128/r128_irq.c | 4 +- + drivers/gpu/drm/r128/r128_state.c | 6 +- + drivers/gpu/drm/radeon/mkregtable.c | 4 +- + drivers/gpu/drm/radeon/radeon_atpx_handler.c | 2 +- + drivers/gpu/drm/radeon/radeon_connectors.c | 10 +- + drivers/gpu/drm/radeon/radeon_device.c | 2 +- + drivers/gpu/drm/radeon/radeon_drv.c | 11 +- + drivers/gpu/drm/radeon/radeon_ioc32.c | 12 +- + drivers/gpu/drm/radeon/radeon_kms.c | 8 +- + drivers/gpu/drm/radeon/radeon_ttm.c | 4 +- + drivers/gpu/drm/savage/savage_bci.c | 2 +- + drivers/gpu/drm/savage/savage_drv.c | 5 +- + drivers/gpu/drm/savage/savage_drv.h | 2 +- + drivers/gpu/drm/sis/sis_drv.c | 5 +- + drivers/gpu/drm/sis/sis_drv.h | 2 +- + drivers/gpu/drm/sis/sis_mm.c | 2 +- + drivers/gpu/drm/sti/sti_cursor.c | 4 +- + drivers/gpu/drm/sti/sti_dvo.c | 4 +- + drivers/gpu/drm/sti/sti_gdp.c | 12 +- + drivers/gpu/drm/sti/sti_hda.c | 4 +- + drivers/gpu/drm/sti/sti_hdmi.c | 4 +- + drivers/gpu/drm/sti/sti_hqvdp.c | 4 +- + drivers/gpu/drm/sti/sti_mixer.c | 8 +- + drivers/gpu/drm/sti/sti_tvout.c | 4 +- + drivers/gpu/drm/sti/sti_vid.c | 4 +- + drivers/gpu/drm/tegra/dc.c | 2 +- + drivers/gpu/drm/tegra/dsi.c | 2 +- + drivers/gpu/drm/tegra/hdmi.c | 2 +- + drivers/gpu/drm/tegra/sor.c | 7 +- + drivers/gpu/drm/tilcdc/Makefile | 6 +- + drivers/gpu/drm/tilcdc/tilcdc_external.c | 4 +- + drivers/gpu/drm/tilcdc/tilcdc_panel.c | 2 +- + drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 2 +- + drivers/gpu/drm/ttm/ttm_memory.c | 4 +- + drivers/gpu/drm/ttm/ttm_page_alloc.c | 18 +- + drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 18 +- + drivers/gpu/drm/udl/udl_connector.c | 2 +- + drivers/gpu/drm/udl/udl_fb.c | 1 - + drivers/gpu/drm/vc4/vc4_drv.c | 8 +- + drivers/gpu/drm/via/via_dma.c | 2 +- + drivers/gpu/drm/via/via_drv.c | 5 +- + drivers/gpu/drm/via/via_drv.h | 6 +- + drivers/gpu/drm/via/via_irq.c | 18 +- + drivers/gpu/drm/virtio/virtgpu_display.c | 2 +- + drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +- + drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +- + drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +- + drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +- + drivers/gpu/vga/vga_switcheroo.c | 4 +- + drivers/hid/hid-core.c | 4 +- + drivers/hid/hid-magicmouse.c | 2 +- + drivers/hid/hid-sensor-custom.c | 2 +- + drivers/hid/hid-wiimote-debug.c | 2 +- + drivers/hv/channel.c | 6 +- + drivers/hv/hv.c | 22 +- + drivers/hv/hv_balloon.c | 18 +- + drivers/hv/hyperv_vmbus.h | 2 +- + drivers/hwmon/acpi_power_meter.c | 6 +- + drivers/hwmon/applesmc.c | 4 +- + drivers/hwmon/asus_atk0110.c | 10 +- + drivers/hwmon/coretemp.c | 2 +- + drivers/hwmon/dell-smm-hwmon.c | 4 +- + drivers/hwmon/ibmaem.c | 2 +- + drivers/hwmon/iio_hwmon.c | 2 +- + drivers/hwmon/nct6683.c | 6 +- + drivers/hwmon/nct6775.c | 6 +- + drivers/hwmon/pmbus/pmbus_core.c | 10 +- + drivers/hwmon/sht15.c | 12 +- + drivers/hwmon/via-cputemp.c | 2 +- + drivers/i2c/busses/i2c-amd756-s4882.c | 2 +- + drivers/i2c/busses/i2c-designware-pcidrv.c | 2 +- + drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +- + drivers/i2c/i2c-dev.c | 2 +- + drivers/ide/ide-cd.c | 2 +- + drivers/ide/ide-disk.c | 2 +- + drivers/ide/ide.c | 4 +- + drivers/idle/intel_idle.c | 36 +- + drivers/iio/industrialio-core.c | 2 +- + drivers/infiniband/core/cm.c | 46 +- + drivers/infiniband/core/fmr_pool.c | 20 +- + drivers/infiniband/core/netlink.c | 5 +- + drivers/infiniband/core/sysfs.c | 2 +- + drivers/infiniband/core/ucm.c | 4 +- + drivers/infiniband/core/uverbs_cmd.c | 3 + + drivers/infiniband/hw/cxgb4/device.c | 6 +- + drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 +- + drivers/infiniband/hw/cxgb4/mem.c | 4 +- + drivers/infiniband/hw/hfi1/pcie.c | 2 +- + drivers/infiniband/hw/i40iw/i40iw_user.h | 2 +- + drivers/infiniband/hw/mlx4/mad.c | 2 +- + drivers/infiniband/hw/mlx4/mcg.c | 2 +- + drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +- + drivers/infiniband/hw/mthca/mthca_cmd.c | 8 +- + drivers/infiniband/hw/mthca/mthca_main.c | 2 +- + drivers/infiniband/hw/mthca/mthca_mr.c | 6 +- + drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- + drivers/infiniband/hw/nes/nes.c | 4 +- + drivers/infiniband/hw/nes/nes.h | 40 +- + drivers/infiniband/hw/nes/nes_cm.c | 62 +- + drivers/infiniband/hw/nes/nes_mgt.c | 8 +- + drivers/infiniband/hw/nes/nes_nic.c | 42 +- + drivers/infiniband/hw/nes/nes_verbs.c | 10 +- + drivers/infiniband/hw/qib/qib_iba7322.c | 4 +- + drivers/infiniband/hw/qib/qib_pcie.c | 2 +- + drivers/infiniband/sw/rxe/rxe_qp.c | 4 +- + drivers/infiniband/sw/rxe/rxe_verbs.c | 2 +- + drivers/infiniband/sw/rxe/rxe_verbs.h | 2 +- + drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 +- + drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 2 +- + drivers/infiniband/ulp/srpt/ib_srpt.c | 8 +- + drivers/input/evdev.c | 2 +- + drivers/input/gameport/gameport.c | 4 +- + drivers/input/input.c | 4 +- + drivers/input/joystick/sidewinder.c | 1 + + drivers/input/misc/ims-pcu.c | 4 +- + drivers/input/mouse/psmouse.h | 2 +- + drivers/input/mousedev.c | 2 +- + drivers/input/serio/serio.c | 4 +- + drivers/input/serio/serio_raw.c | 4 +- + drivers/input/touchscreen/htcpen.c | 2 +- + drivers/iommu/arm-smmu-v3.c | 32 +- + drivers/iommu/arm-smmu.c | 40 +- + drivers/iommu/io-pgtable-arm-v7s.c | 62 +- + drivers/iommu/io-pgtable-arm.c | 99 +- + drivers/iommu/io-pgtable.c | 11 +- + drivers/iommu/io-pgtable.h | 21 +- + drivers/iommu/iommu.c | 2 +- + drivers/iommu/ipmmu-vmsa.c | 13 +- + drivers/iommu/irq_remapping.c | 2 +- + drivers/iommu/msm_iommu.c | 14 +- + drivers/iommu/mtk_iommu.c | 12 +- + drivers/irqchip/irq-gic.c | 2 +- + drivers/irqchip/irq-i8259.c | 2 +- + drivers/irqchip/irq-mmp.c | 2 +- + drivers/irqchip/irq-renesas-intc-irqpin.c | 2 +- + drivers/irqchip/irq-ts4800.c | 2 +- + drivers/isdn/capi/capi.c | 10 +- + drivers/isdn/gigaset/interface.c | 8 +- + drivers/isdn/gigaset/usb-gigaset.c | 2 +- + drivers/isdn/hardware/avm/b1.c | 4 +- + drivers/isdn/hardware/eicon/capifunc.c | 6 +- + drivers/isdn/hardware/eicon/dadapter.c | 18 +- + drivers/isdn/hardware/eicon/diddfunc.c | 7 +- + drivers/isdn/hardware/eicon/divasfunc.c | 9 +- + drivers/isdn/hardware/eicon/divasync.h | 2 +- + drivers/isdn/hardware/eicon/idifunc.c | 9 +- + drivers/isdn/hardware/eicon/mntfunc.c | 13 +- + drivers/isdn/hardware/mISDN/avmfritz.c | 2 +- + drivers/isdn/hardware/mISDN/hfcmulti.c | 7 +- + drivers/isdn/hardware/mISDN/hfcpci.c | 16 +- + drivers/isdn/hardware/mISDN/mISDNinfineon.c | 7 +- + drivers/isdn/hardware/mISDN/mISDNipac.c | 5 +- + drivers/isdn/hardware/mISDN/netjet.c | 2 +- + drivers/isdn/hardware/mISDN/speedfax.c | 7 +- + drivers/isdn/hardware/mISDN/w6692.c | 7 +- + drivers/isdn/hisax/amd7930_fn.c | 5 +- + drivers/isdn/hisax/arcofi.c | 5 +- + drivers/isdn/hisax/config.c | 4 +- + drivers/isdn/hisax/diva.c | 7 +- + drivers/isdn/hisax/elsa.c | 9 +- + drivers/isdn/hisax/fsm.c | 5 +- + drivers/isdn/hisax/hfc4s8s_l1.c | 14 +- + drivers/isdn/hisax/hfc_2bds0.c | 4 +- + drivers/isdn/hisax/hfc_pci.c | 10 +- + drivers/isdn/hisax/hfc_sx.c | 10 +- + drivers/isdn/hisax/hfc_usb.c | 12 +- + drivers/isdn/hisax/hfcscard.c | 6 +- + drivers/isdn/hisax/hisax.h | 4 +- + drivers/isdn/hisax/icc.c | 5 +- + drivers/isdn/hisax/ipacx.c | 7 +- + drivers/isdn/hisax/isac.c | 5 +- + drivers/isdn/hisax/isar.c | 5 +- + drivers/isdn/hisax/isdnl3.c | 5 +- + drivers/isdn/hisax/saphir.c | 5 +- + drivers/isdn/hisax/teleint.c | 5 +- + drivers/isdn/hisax/w6692.c | 5 +- + drivers/isdn/i4l/isdn_common.c | 2 + + drivers/isdn/i4l/isdn_tty.c | 22 +- + drivers/isdn/mISDN/dsp.h | 4 +- + drivers/isdn/mISDN/dsp_cmx.c | 4 +- + drivers/isdn/mISDN/dsp_core.c | 4 +- + drivers/isdn/mISDN/dsp_tones.c | 4 +- + drivers/isdn/mISDN/fsm.c | 5 +- + drivers/isdn/mISDN/l1oip_core.c | 8 +- + drivers/leds/leds-clevo-mail.c | 2 +- + drivers/leds/leds-ss4200.c | 2 +- + drivers/lguest/core.c | 9 +- + drivers/lguest/page_tables.c | 2 +- + drivers/lguest/x86/core.c | 12 +- + drivers/lguest/x86/switcher_32.S | 27 +- + drivers/lightnvm/rrpc.c | 4 +- + drivers/lightnvm/rrpc.h | 2 +- + drivers/md/bcache/alloc.c | 2 +- + drivers/md/bcache/bcache.h | 10 +- + drivers/md/bcache/btree.c | 13 +- + drivers/md/bcache/closure.c | 4 +- + drivers/md/bcache/closure.h | 10 +- + drivers/md/bcache/io.c | 10 +- + drivers/md/bcache/journal.c | 18 +- + drivers/md/bcache/movinggc.c | 12 +- + drivers/md/bcache/request.c | 54 +- + drivers/md/bcache/request.h | 2 +- + drivers/md/bcache/stats.c | 26 +- + drivers/md/bcache/stats.h | 16 +- + drivers/md/bcache/super.c | 32 +- + drivers/md/bcache/sysfs.c | 20 +- + drivers/md/bcache/writeback.c | 12 +- + drivers/md/bitmap.c | 2 +- + drivers/md/dm-cache-target.c | 116 +- + drivers/md/dm-core.h | 4 +- + drivers/md/dm-ioctl.c | 2 +- + drivers/md/dm-mpath.c | 12 +- + drivers/md/dm-raid.c | 2 +- + drivers/md/dm-raid1.c | 18 +- + drivers/md/dm-stats.c | 6 +- + drivers/md/dm-stripe.c | 10 +- + drivers/md/dm-table.c | 2 +- + drivers/md/dm-thin-metadata.c | 4 +- + drivers/md/dm.c | 24 +- + drivers/md/md.c | 41 +- + drivers/md/md.h | 8 +- + drivers/md/persistent-data/dm-space-map-metadata.c | 4 +- + drivers/md/persistent-data/dm-space-map.h | 1 + + drivers/md/raid1.c | 8 +- + drivers/md/raid10.c | 26 +- + drivers/md/raid5.c | 26 +- + drivers/media/dvb-core/dvb_net.c | 2 +- + drivers/media/dvb-core/dvbdev.c | 2 +- + drivers/media/dvb-frontends/af9033.h | 2 +- + drivers/media/dvb-frontends/cx24116.c | 2 +- + drivers/media/dvb-frontends/cx24117.c | 2 +- + drivers/media/dvb-frontends/cx24120.c | 2 +- + drivers/media/dvb-frontends/cx24123.c | 2 +- + drivers/media/dvb-frontends/cxd2820r_core.c | 2 +- + drivers/media/dvb-frontends/dib3000.h | 2 +- + drivers/media/dvb-frontends/dib7000p.h | 2 +- + drivers/media/dvb-frontends/dib8000.h | 2 +- + drivers/media/dvb-frontends/hd29l2.c | 2 +- + drivers/media/dvb-frontends/lgdt3306a.c | 2 +- + drivers/media/dvb-frontends/mb86a20s.c | 2 +- + drivers/media/dvb-frontends/mt312.c | 6 +- + drivers/media/dvb-frontends/s921.c | 2 +- + drivers/media/pci/bt8xx/dst.c | 2 +- + drivers/media/pci/cx88/cx88-video.c | 6 +- + drivers/media/pci/ivtv/ivtv-driver.c | 2 +- + drivers/media/pci/pt1/va1j5jf8007s.c | 2 +- + drivers/media/pci/pt1/va1j5jf8007t.c | 2 +- + drivers/media/pci/solo6x10/solo6x10-core.c | 2 +- + drivers/media/pci/solo6x10/solo6x10-p2m.c | 2 +- + drivers/media/pci/solo6x10/solo6x10.h | 2 +- + drivers/media/pci/sta2x11/sta2x11_vip.c | 5 +- + drivers/media/pci/tw68/tw68-core.c | 2 +- + drivers/media/pci/tw686x/tw686x-core.c | 4 +- + drivers/media/pci/zoran/zoran.h | 1 - + drivers/media/pci/zoran/zoran_card.c | 4 +- + drivers/media/pci/zoran/zoran_driver.c | 3 - + drivers/media/platform/omap/omap_vout.c | 11 +- + drivers/media/platform/s5p-tv/mixer.h | 2 +- + drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +- + drivers/media/platform/s5p-tv/mixer_reg.c | 2 +- + drivers/media/platform/s5p-tv/mixer_video.c | 24 +- + drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +- + drivers/media/platform/soc_camera/soc_camera.c | 2 +- + drivers/media/radio/radio-cadet.c | 7 +- + drivers/media/radio/radio-maxiradio.c | 2 +- + drivers/media/radio/radio-shark.c | 2 +- + drivers/media/radio/radio-shark2.c | 2 +- + drivers/media/radio/radio-si476x.c | 2 +- + drivers/media/radio/wl128x/fmdrv_common.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-context.c | 8 +- + drivers/media/usb/pvrusb2/pvrusb2-dvb.c | 7 +- + drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-std.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 6 +- + drivers/media/usb/uvc/uvc_driver.c | 4 +- + drivers/media/v4l2-core/v4l2-common.c | 2 +- + drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 12 +- + drivers/media/v4l2-core/v4l2-device.c | 4 +- + drivers/media/v4l2-core/v4l2-ioctl.c | 287 +- + drivers/memory/omap-gpmc.c | 24 +- + drivers/message/fusion/mptbase.c | 4 +- + drivers/message/fusion/mptlan.c | 2 +- + drivers/message/fusion/mptsas.c | 34 +- + drivers/mfd/ab8500-debugfs.c | 2 +- + drivers/mfd/kempld-core.c | 2 +- + drivers/mfd/max8925-i2c.c | 2 +- + drivers/mfd/rn5t618.c | 10 +- + drivers/mfd/tps65910.c | 2 +- + drivers/mfd/twl4030-irq.c | 9 +- + drivers/misc/c2port/core.c | 4 +- + drivers/misc/kgdbts.c | 6 +- + drivers/misc/lis3lv02d/lis3lv02d.c | 8 +- + drivers/misc/lis3lv02d/lis3lv02d.h | 2 +- + drivers/misc/mic/scif/scif_api.c | 10 +- + drivers/misc/mic/scif/scif_rb.c | 8 +- + drivers/misc/panel.c | 4 +- + drivers/misc/sgi-gru/gruhandles.c | 4 +- + drivers/misc/sgi-gru/gruprocfs.c | 8 +- + drivers/misc/sgi-gru/grutables.h | 158 +- + drivers/misc/sgi-xp/xp.h | 2 +- + drivers/misc/sgi-xp/xp_main.c | 57 +- + drivers/misc/sgi-xp/xpc.h | 3 +- + drivers/misc/sgi-xp/xpc_main.c | 2 +- + drivers/misc/sgi-xp/xpnet.c | 2 +- + drivers/misc/ti-st/st_kim.c | 32 +- + drivers/mmc/card/mmc_test.c | 4 +- + drivers/mmc/host/dw_mmc.h | 2 +- + drivers/mmc/host/mmci.c | 4 +- + drivers/mmc/host/omap_hsmmc.c | 4 +- + drivers/mmc/host/sdhci-esdhc-imx.c | 7 +- + drivers/mmc/host/sdhci-s3c.c | 8 +- + drivers/mmc/host/tmio_mmc_pio.c | 4 +- + drivers/mtd/chips/cfi_cmdset_0020.c | 2 +- + drivers/mtd/devices/block2mtd.c | 2 +- + drivers/mtd/devices/phram.c | 2 +- + drivers/mtd/maps/gpio-addr-flash.c | 2 +- + drivers/mtd/maps/latch-addr-flash.c | 2 +- + drivers/mtd/maps/pci.c | 4 +- + drivers/mtd/maps/pcmciamtd.c | 8 +- + drivers/mtd/maps/sbc_gxx.c | 2 +- + drivers/mtd/nand/brcmnand/bcm63138_nand.c | 2 + + drivers/mtd/nand/brcmnand/brcmnand.h | 2 +- + drivers/mtd/nand/brcmnand/iproc_nand.c | 2 + + drivers/mtd/nand/cafe_nand.c | 18 +- + drivers/mtd/nand/denali.c | 1 + + drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 2 +- + drivers/mtd/nftlmount.c | 1 + + drivers/mtd/sm_ftl.c | 2 +- + drivers/mtd/ubi/build.c | 2 +- + drivers/net/bonding/bond_netlink.c | 2 +- + drivers/net/caif/caif_hsi.c | 4 +- + drivers/net/caif/caif_serial.c | 2 +- + drivers/net/caif/caif_spi.c | 2 +- + drivers/net/caif/caif_virtio.c | 2 +- + drivers/net/can/Kconfig | 2 +- + drivers/net/can/bfin_can.c | 2 +- + drivers/net/can/dev.c | 2 +- + drivers/net/can/flexcan.c | 2 +- + drivers/net/can/janz-ican3.c | 2 +- + drivers/net/can/led.c | 2 +- + drivers/net/can/sun4i_can.c | 2 +- + drivers/net/can/vcan.c | 2 +- + drivers/net/can/xilinx_can.c | 2 +- + drivers/net/dummy.c | 2 +- + drivers/net/ethernet/8390/ax88796.c | 6 +- + drivers/net/ethernet/8390/axnet_cs.c | 4 +- + drivers/net/ethernet/8390/ne2k-pci.c | 6 +- + drivers/net/ethernet/8390/pcnet_cs.c | 4 +- + drivers/net/ethernet/adi/bfin_mac.c | 2 +- + drivers/net/ethernet/allwinner/sun4i-emac.c | 2 +- + drivers/net/ethernet/altera/altera_tse_main.c | 6 +- + drivers/net/ethernet/amd/7990.c | 2 +- + drivers/net/ethernet/amd/7990.h | 2 +- + drivers/net/ethernet/amd/amd8111e.c | 5 +- + drivers/net/ethernet/amd/atarilance.c | 4 +- + drivers/net/ethernet/amd/declance.c | 2 +- + drivers/net/ethernet/amd/pcnet32.c | 7 +- + drivers/net/ethernet/amd/sun3lance.c | 4 +- + drivers/net/ethernet/amd/sunlance.c | 2 +- + drivers/net/ethernet/amd/xgbe/xgbe-common.h | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-dcb.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-desc.c | 27 +- + drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 145 +- + drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 68 +- + drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c | 10 +- + drivers/net/ethernet/amd/xgbe/xgbe-main.c | 15 +- + drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 27 +- + drivers/net/ethernet/amd/xgbe/xgbe-ptp.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe.h | 10 +- + drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 4 +- + drivers/net/ethernet/arc/emac_main.c | 2 +- + drivers/net/ethernet/atheros/alx/main.c | 2 +- + drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 2 +- + drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 2 +- + drivers/net/ethernet/aurora/nb8800.c | 2 +- + drivers/net/ethernet/broadcom/bcm63xx_enet.c | 2 +- + drivers/net/ethernet/broadcom/bnx2.c | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c | 216 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h | 4 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +- + drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- + drivers/net/ethernet/broadcom/tg3.c | 2 +- + drivers/net/ethernet/broadcom/tg3.h | 1 + + drivers/net/ethernet/brocade/bna/bfa_cs.h | 42 +- + drivers/net/ethernet/brocade/bna/bfa_ioc.c | 10 +- + drivers/net/ethernet/brocade/bna/bfa_ioc.h | 4 +- + drivers/net/ethernet/brocade/bna/bfa_msgq.h | 8 +- + drivers/net/ethernet/brocade/bna/bna_enet.c | 6 +- + drivers/net/ethernet/brocade/bna/bna_tx_rx.c | 6 +- + drivers/net/ethernet/brocade/bna/bna_types.h | 24 +- + drivers/net/ethernet/brocade/bna/bnad.c | 11 +- + drivers/net/ethernet/cadence/macb.c | 4 +- + drivers/net/ethernet/cavium/liquidio/lio_main.c | 11 +- + drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 2 +- + drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +- + drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +- + drivers/net/ethernet/chelsio/cxgb4vf/adapter.h | 2 +- + drivers/net/ethernet/chelsio/cxgb4vf/sge.c | 2 +- + drivers/net/ethernet/davicom/dm9000.c | 2 +- + drivers/net/ethernet/dec/tulip/de4x5.c | 13 +- + drivers/net/ethernet/emulex/benet/be_main.c | 4 +- + drivers/net/ethernet/faraday/ftgmac100.c | 3 +- + drivers/net/ethernet/faraday/ftmac100.c | 4 +- + drivers/net/ethernet/freescale/fec_mpc52xx.c | 2 +- + .../net/ethernet/freescale/fs_enet/fs_enet-main.c | 2 +- + drivers/net/ethernet/freescale/gianfar.c | 4 +- + drivers/net/ethernet/freescale/ucc_geth.c | 2 +- + drivers/net/ethernet/hisilicon/hip04_eth.c | 2 +- + drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 2 +- + drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c | 6 +- + drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h | 2 +- + drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c | 84 +- + drivers/net/ethernet/i825xx/lib82596.c | 4 +- + drivers/net/ethernet/ibm/ehea/ehea_main.c | 2 +- + drivers/net/ethernet/ibm/emac/core.c | 4 +- + drivers/net/ethernet/intel/e100.c | 2 +- + drivers/net/ethernet/intel/e1000/e1000_main.c | 2 +- + drivers/net/ethernet/intel/e1000e/netdev.c | 2 +- + drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 2 +- + drivers/net/ethernet/intel/i40e/i40e_ptp.c | 2 +- + drivers/net/ethernet/intel/igb/igb_main.c | 2 +- + drivers/net/ethernet/intel/igbvf/netdev.c | 2 +- + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +- + drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +- + drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 +- + drivers/net/ethernet/marvell/mvneta.c | 2 +- + drivers/net/ethernet/marvell/mvpp2.c | 2 +- + drivers/net/ethernet/marvell/pxa168_eth.c | 2 +- + drivers/net/ethernet/mellanox/mlx4/en_tx.c | 4 +- + drivers/net/ethernet/mellanox/mlx4/main.c | 2 +- + drivers/net/ethernet/mellanox/mlx5/core/main.c | 2 +- + drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 6 +- + drivers/net/ethernet/micrel/ks8695net.c | 2 +- + drivers/net/ethernet/micrel/ks8851_mll.c | 2 +- + drivers/net/ethernet/moxa/moxart_ether.c | 2 +- + drivers/net/ethernet/neterion/s2io.c | 2 +- + drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +- + drivers/net/ethernet/neterion/vxge/vxge-main.c | 2 +- + .../net/ethernet/netronome/nfp/nfp_net_common.c | 2 +- + drivers/net/ethernet/netx-eth.c | 2 +- + drivers/net/ethernet/nuvoton/w90p910_ether.c | 2 +- + drivers/net/ethernet/nvidia/forcedeth.c | 4 +- + drivers/net/ethernet/nxp/lpc_eth.c | 2 +- + .../net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 4 +- + .../net/ethernet/qlogic/netxen/netxen_nic_main.c | 2 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +- + drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 2 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 2 +- + drivers/net/ethernet/realtek/r8169.c | 8 +- + drivers/net/ethernet/renesas/sh_eth.c | 2 +- + drivers/net/ethernet/rocker/rocker_main.c | 4 +- + drivers/net/ethernet/seeq/sgiseeq.c | 2 +- + drivers/net/ethernet/sfc/ptp.c | 2 +- + drivers/net/ethernet/sfc/selftest.c | 20 +- + drivers/net/ethernet/sgi/ioc3-eth.c | 4 +- + drivers/net/ethernet/smsc/smc911x.c | 2 +- + drivers/net/ethernet/smsc/smc91x.c | 2 +- + drivers/net/ethernet/smsc/smsc911x.c | 2 +- + drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +- + drivers/net/ethernet/sun/sunbmac.c | 2 +- + drivers/net/ethernet/sun/sunqe.c | 2 +- + drivers/net/ethernet/sun/sunvnet.c | 2 +- + drivers/net/ethernet/sun/sunvnet_common.c | 6 +- + drivers/net/ethernet/synopsys/dwc_eth_qos.c | 2 +- + drivers/net/ethernet/ti/cpmac.c | 2 +- + drivers/net/ethernet/ti/davinci_emac.c | 2 +- + drivers/net/ethernet/ti/netcp_core.c | 2 +- + drivers/net/ethernet/via/via-rhine.c | 2 +- + drivers/net/ethernet/wiznet/w5100.c | 2 +- + drivers/net/ethernet/wiznet/w5300.c | 2 +- + drivers/net/ethernet/xilinx/ll_temac_main.c | 2 +- + drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- + drivers/net/ethernet/xilinx/xilinx_emaclite.c | 2 +- + drivers/net/geneve.c | 4 +- + drivers/net/gtp.c | 8 +- + drivers/net/hamradio/baycom_epp.c | 2 +- + drivers/net/hyperv/hyperv_net.h | 2 +- + drivers/net/hyperv/netvsc_drv.c | 2 +- + drivers/net/hyperv/rndis_filter.c | 7 +- + drivers/net/ifb.c | 2 +- + drivers/net/ipvlan/ipvlan_core.c | 2 +- + drivers/net/ipvlan/ipvlan_main.c | 6 +- + drivers/net/irda/vlsi_ir.c | 18 +- + drivers/net/irda/vlsi_ir.h | 14 +- + drivers/net/loopback.c | 2 +- + drivers/net/macsec.c | 2 +- + drivers/net/macvlan.c | 20 +- + drivers/net/macvtap.c | 10 +- + drivers/net/nlmon.c | 2 +- + drivers/net/phy/phy_device.c | 6 +- + drivers/net/plip/plip.c | 2 +- + drivers/net/ppp/ppp_generic.c | 6 +- + drivers/net/ppp/pptp.c | 2 +- + drivers/net/rionet.c | 2 +- + drivers/net/slip/slhc.c | 2 +- + drivers/net/team/team.c | 4 +- + drivers/net/tun.c | 11 +- + drivers/net/usb/hso.c | 28 +- + drivers/net/usb/ipheth.c | 2 +- + drivers/net/usb/r8152.c | 2 +- + drivers/net/usb/sierra_net.c | 4 +- + drivers/net/virtio_net.c | 2 +- + drivers/net/vrf.c | 4 +- + drivers/net/vxlan.c | 4 +- + drivers/net/wimax/i2400m/rx.c | 2 +- + drivers/net/wireless/ath/ath10k/ce.c | 6 +- + drivers/net/wireless/ath/ath10k/htc.h | 4 +- + drivers/net/wireless/ath/ath10k/mac.c | 7 +- + drivers/net/wireless/ath/ath6kl/core.h | 2 +- + drivers/net/wireless/ath/ath6kl/txrx.c | 2 +- + drivers/net/wireless/ath/ath9k/ar9002_mac.c | 36 +- + drivers/net/wireless/ath/ath9k/ar9003_mac.c | 64 +- + drivers/net/wireless/ath/ath9k/hw.h | 4 +- + drivers/net/wireless/ath/ath9k/main.c | 22 +- + drivers/net/wireless/ath/carl9170/carl9170.h | 6 +- + drivers/net/wireless/ath/carl9170/debug.c | 6 +- + drivers/net/wireless/ath/carl9170/main.c | 10 +- + drivers/net/wireless/ath/carl9170/tx.c | 4 +- + drivers/net/wireless/ath/wil6210/pcie_bus.c | 2 +- + drivers/net/wireless/ath/wil6210/wil_platform.h | 2 +- + drivers/net/wireless/atmel/at76c50x-usb.c | 2 +- + drivers/net/wireless/atmel/atmel.c | 183 +- + drivers/net/wireless/broadcom/b43/phy_lp.c | 2 +- + drivers/net/wireless/broadcom/b43legacy/main.c | 5 +- + .../broadcom/brcm80211/brcmfmac/cfg80211.c | 54 +- + .../broadcom/brcm80211/brcmsmac/phy/phy_cmn.c | 3 +- + .../broadcom/brcm80211/brcmsmac/phy_shim.c | 5 +- + .../broadcom/brcm80211/brcmsmac/phy_shim.h | 2 +- + drivers/net/wireless/cisco/airo.c | 201 +- + drivers/net/wireless/intel/ipw2x00/ipw2100.c | 8 +- + drivers/net/wireless/intel/ipw2x00/ipw2200.c | 6 +- + drivers/net/wireless/intel/iwlegacy/3945-mac.c | 11 +- + drivers/net/wireless/intel/iwlegacy/4965-mac.c | 7 +- + drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c | 34 +- + drivers/net/wireless/intel/iwlwifi/dvm/lib.c | 4 +- + drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 8 +- + drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 4 +- + drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 4 +- + .../net/wireless/intersil/hostap/hostap_ioctl.c | 250 +- + drivers/net/wireless/intersil/orinoco/wext.c | 131 +- + drivers/net/wireless/intersil/prism54/isl_ioctl.c | 292 +- + drivers/net/wireless/mac80211_hwsim.c | 28 +- + drivers/net/wireless/marvell/mwifiex/main.c | 2 +- + drivers/net/wireless/ralink/rt2x00/rt2400pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2500pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2500usb.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 6 +- + drivers/net/wireless/ralink/rt2x00/rt2x00.h | 2 +- + drivers/net/wireless/ralink/rt2x00/rt2x00queue.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt61pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt73usb.c | 4 +- + drivers/net/wireless/realtek/rtlwifi/base.c | 14 +- + drivers/net/wireless/realtek/rtlwifi/base.h | 4 +- + drivers/net/wireless/realtek/rtlwifi/pci.c | 15 +- + drivers/net/wireless/realtek/rtlwifi/ps.c | 6 +- + drivers/net/wireless/realtek/rtlwifi/ps.h | 6 +- + drivers/net/wireless/ti/wl1251/sdio.c | 12 +- + drivers/net/wireless/ti/wl12xx/main.c | 8 +- + drivers/net/wireless/ti/wl18xx/main.c | 6 +- + drivers/net/wireless/zydas/zd1201.c | 192 +- + drivers/net/wireless/zydas/zd1211rw/zd_usb.c | 2 +- + drivers/net/xen-netback/interface.c | 2 +- + drivers/net/xen-netfront.c | 2 +- + drivers/ntb/test/ntb_pingpong.c | 8 +- + drivers/nvme/host/pci.c | 2 +- + drivers/of/fdt.c | 4 +- + drivers/oprofile/buffer_sync.c | 8 +- + drivers/oprofile/event_buffer.c | 2 +- + drivers/oprofile/oprof.c | 2 +- + drivers/oprofile/oprofile_stats.c | 10 +- + drivers/oprofile/oprofile_stats.h | 10 +- + drivers/oprofile/oprofilefs.c | 6 +- + drivers/oprofile/timer_int.c | 2 +- + drivers/parport/procfs.c | 4 +- + drivers/pci/hotplug/acpiphp_ibm.c | 4 +- + drivers/pci/hotplug/cpcihp_generic.c | 6 +- + drivers/pci/hotplug/cpcihp_zt5550.c | 14 +- + drivers/pci/hotplug/cpqphp_nvram.c | 2 + + drivers/pci/hotplug/pci_hotplug_core.c | 6 +- + drivers/pci/hotplug/pciehp_core.c | 2 +- + drivers/pci/msi.c | 22 +- + drivers/pci/pci-sysfs.c | 6 +- + drivers/pci/pci.h | 4 +- + drivers/pci/pcie/aspm.c | 10 +- + drivers/pci/pcie/portdrv_pci.c | 2 +- + drivers/pci/probe.c | 2 +- + drivers/pci/setup-bus.c | 10 +- + drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +- + drivers/pinctrl/pinctrl-at91.c | 5 +- + drivers/platform/chrome/chromeos_laptop.c | 2 +- + drivers/platform/chrome/chromeos_pstore.c | 2 +- + drivers/platform/chrome/cros_ec_lpc.c | 2 +- + drivers/platform/x86/alienware-wmi.c | 4 +- + drivers/platform/x86/apple-gmux.c | 2 +- + drivers/platform/x86/compal-laptop.c | 2 +- + drivers/platform/x86/hdaps.c | 2 +- + drivers/platform/x86/ibm_rtl.c | 2 +- + drivers/platform/x86/intel_oaktrail.c | 2 +- + drivers/platform/x86/msi-laptop.c | 16 +- + drivers/platform/x86/msi-wmi.c | 2 +- + drivers/platform/x86/samsung-laptop.c | 2 +- + drivers/platform/x86/samsung-q10.c | 2 +- + drivers/platform/x86/sony-laptop.c | 14 +- + drivers/platform/x86/thinkpad_acpi.c | 10 +- + drivers/pnp/base.h | 2 +- + drivers/pnp/pnpbios/bioscalls.c | 14 +- + drivers/pnp/pnpbios/core.c | 2 +- + drivers/pnp/resource.c | 4 +- + drivers/power/pda_power.c | 7 +- + drivers/power/power_supply.h | 4 +- + drivers/power/power_supply_core.c | 7 +- + drivers/power/power_supply_sysfs.c | 6 +- + drivers/power/reset/at91-reset.c | 5 +- + drivers/powercap/powercap_sys.c | 136 +- + drivers/ptp/ptp_private.h | 2 +- + drivers/ptp/ptp_sysfs.c | 2 +- + drivers/regulator/core.c | 4 +- + drivers/regulator/max8660.c | 6 +- + drivers/regulator/max8973-regulator.c | 16 +- + drivers/regulator/mc13892-regulator.c | 8 +- + drivers/remoteproc/remoteproc_core.c | 26 +- + drivers/rtc/rtc-armada38x.c | 7 +- + drivers/rtc/rtc-cmos.c | 4 +- + drivers/rtc/rtc-ds1307.c | 2 +- + drivers/rtc/rtc-m41t80.c | 8 +- + drivers/rtc/rtc-m48t59.c | 4 +- + drivers/rtc/rtc-rv3029c2.c | 8 +- + drivers/rtc/rtc-rv8803.c | 15 +- + drivers/rtc/rtc-rx8010.c | 8 +- + drivers/rtc/rtc-test.c | 6 +- + drivers/scsi/aacraid/aachba.c | 7 +- + drivers/scsi/aic7xxx/aic79xx.h | 2 +- + drivers/scsi/aic7xxx/aic79xx_core.c | 11 +- + drivers/scsi/be2iscsi/be_main.c | 2 +- + drivers/scsi/bfa/bfa.h | 4 +- + drivers/scsi/bfa/bfa_core.c | 4 +- + drivers/scsi/bfa/bfa_cs.h | 124 +- + drivers/scsi/bfa/bfa_fcpim.h | 14 +- + drivers/scsi/bfa/bfa_fcs.h | 34 +- + drivers/scsi/bfa/bfa_fcs_fcpim.c | 6 +- + drivers/scsi/bfa/bfa_fcs_lport.c | 4 +- + drivers/scsi/bfa/bfa_fcs_rport.c | 4 +- + drivers/scsi/bfa/bfa_ioc.c | 8 +- + drivers/scsi/bfa/bfa_ioc.h | 16 +- + drivers/scsi/bfa/bfa_svc.c | 12 +- + drivers/scsi/bfa/bfa_svc.h | 20 +- + drivers/scsi/bfa/bfad.c | 12 +- + drivers/scsi/bfa/bfad_bsg.c | 8 +- + drivers/scsi/bfa/bfad_drv.h | 5 +- + drivers/scsi/csiostor/csio_defs.h | 19 +- + drivers/scsi/csiostor/csio_hw.c | 67 +- + drivers/scsi/csiostor/csio_init.c | 2 +- + drivers/scsi/csiostor/csio_lnode.c | 32 +- + drivers/scsi/csiostor/csio_rnode.c | 28 +- + drivers/scsi/csiostor/csio_scsi.c | 37 +- + drivers/scsi/esas2r/esas2r_init.c | 2 +- + drivers/scsi/esas2r/esas2r_ioctl.c | 2 +- + drivers/scsi/esas2r/esas2r_log.h | 4 +- + drivers/scsi/esas2r/esas2r_main.c | 4 +- + drivers/scsi/fcoe/fcoe_sysfs.c | 12 +- + drivers/scsi/fcoe/fcoe_transport.c | 16 +- + drivers/scsi/hpsa.c | 38 +- + drivers/scsi/hpsa.h | 2 +- + drivers/scsi/hptiop.c | 2 - + drivers/scsi/hptiop.h | 1 - + drivers/scsi/ipr.c | 32 +- + drivers/scsi/ipr.h | 2 +- + drivers/scsi/libfc/fc_exch.c | 50 +- + drivers/scsi/libsas/sas_ata.c | 2 +- + drivers/scsi/lpfc/lpfc.h | 8 +- + drivers/scsi/lpfc/lpfc_debugfs.c | 18 +- + drivers/scsi/lpfc/lpfc_init.c | 8 +- + drivers/scsi/lpfc/lpfc_scsi.c | 10 +- + drivers/scsi/megaraid/megaraid_sas.h | 2 +- + drivers/scsi/mpt3sas/mpt3sas_base.c | 2 +- + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 +- + drivers/scsi/pmcraid.c | 46 +- + drivers/scsi/pmcraid.h | 8 +- + drivers/scsi/qla2xxx/qla_attr.c | 4 +- + drivers/scsi/qla2xxx/qla_gbl.h | 8 +- + drivers/scsi/qla2xxx/qla_os.c | 15 +- + drivers/scsi/qla2xxx/qla_target.c | 16 +- + drivers/scsi/qla2xxx/qla_target.h | 2 +- + drivers/scsi/qla4xxx/ql4_def.h | 2 +- + drivers/scsi/qla4xxx/ql4_os.c | 15 +- + drivers/scsi/scsi.c | 2 +- + drivers/scsi/scsi_debug.c | 42 +- + drivers/scsi/scsi_lib.c | 8 +- + drivers/scsi/scsi_sysfs.c | 2 +- + drivers/scsi/scsi_transport_fc.c | 8 +- + drivers/scsi/scsi_transport_iscsi.c | 6 +- + drivers/scsi/scsi_transport_spi.c | 2 +- + drivers/scsi/scsi_transport_srp.c | 8 +- + drivers/scsi/sd.c | 6 +- + drivers/scsi/sg.c | 2 +- + drivers/scsi/sr.c | 21 +- + drivers/soc/tegra/fuse/fuse-tegra.c | 2 +- + drivers/spi/spi.c | 2 +- + drivers/staging/fbtft/fbtft-core.c | 2 +- + drivers/staging/fbtft/fbtft.h | 2 +- + drivers/staging/gdm724x/gdm_lte.c | 2 +- + drivers/staging/gdm724x/gdm_tty.c | 2 +- + drivers/staging/i4l/icn/icn.c | 2 +- + drivers/staging/iio/adc/ad7280a.c | 4 +- + drivers/staging/ks7010/ks_wlan_net.c | 392 +- + .../staging/lustre/lnet/klnds/socklnd/socklnd.h | 6 +- + drivers/staging/lustre/lnet/selftest/brw_test.c | 19 +- + drivers/staging/lustre/lnet/selftest/framework.c | 10 +- + drivers/staging/lustre/lnet/selftest/ping_test.c | 23 +- + drivers/staging/lustre/lnet/selftest/selftest.h | 6 +- + .../lustre/lustre/include/lustre/lustre_idl.h | 82 +- + drivers/staging/lustre/lustre/include/lustre_dlm.h | 8 +- + drivers/staging/lustre/lustre/include/lustre_net.h | 2 +- + drivers/staging/lustre/lustre/include/obd.h | 2 +- + drivers/staging/lustre/lustre/ldlm/ldlm_request.c | 5 +- + drivers/staging/lustre/lustre/llite/dir.c | 2 +- + .../staging/lustre/lustre/llite/llite_internal.h | 6 +- + drivers/staging/lustre/lustre/llite/llite_lib.c | 6 +- + drivers/staging/lustre/lustre/llite/lproc_llite.c | 6 +- + drivers/staging/lustre/lustre/llite/statahead.c | 6 +- + drivers/staging/lustre/lustre/lov/lov_internal.h | 6 +- + drivers/staging/lustre/lustre/lov/lov_io.c | 60 +- + drivers/staging/lustre/lustre/lov/lov_obd.c | 12 +- + drivers/staging/lustre/lustre/lov/lov_request.c | 30 +- + drivers/staging/lustre/lustre/obdclass/llog_swab.c | 24 +- + drivers/staging/lustre/lustre/osc/osc_request.c | 24 +- + drivers/staging/lustre/lustre/ptlrpc/layout.c | 7 +- + .../staging/lustre/lustre/ptlrpc/pack_generic.c | 136 +- + drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 18 +- + drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c | 2 +- + drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c | 2 +- + drivers/staging/rtl8188eu/include/Hal8188EPhyCfg.h | 8 - + drivers/staging/rtl8188eu/include/hal_intf.h | 5 +- + drivers/staging/rtl8188eu/include/odm_precomp.h | 2 +- + drivers/staging/rtl8188eu/include/recv_osdep.h | 1 - + drivers/staging/rtl8188eu/include/rtl8188e_recv.h | 2 +- + drivers/staging/rtl8188eu/include/rtl8188e_xmit.h | 2 +- + drivers/staging/rtl8188eu/include/rtw_cmd.h | 1 - + drivers/staging/rtl8188eu/include/rtw_eeprom.h | 6 - + drivers/staging/rtl8188eu/include/rtw_ioctl.h | 9 - + drivers/staging/rtl8188eu/include/rtw_mlme_ext.h | 12 +- + drivers/staging/rtl8188eu/include/xmit_osdep.h | 2 +- + drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 8 +- + drivers/staging/rtl8188eu/os_dep/xmit_linux.c | 2 +- + drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 49 +- + drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 4 +- + drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 10 +- + drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 4 +- + drivers/staging/rtl8192e/rtl8192e/rtl_ps.c | 6 +- + drivers/staging/rtl8192e/rtl8192e/rtl_ps.h | 3 +- + drivers/staging/rtl8192e/rtl8192e/rtl_wx.c | 48 +- + drivers/staging/rtl8192e/rtllib.h | 4 +- + drivers/staging/rtl8192e/rtllib_softmac.c | 32 +- + drivers/staging/rtl8192e/rtllib_softmac_wx.c | 2 +- + drivers/staging/rtl8192e/rtllib_tx.c | 2 +- + drivers/staging/rtl8192u/ieee80211/ieee80211.h | 2 +- + .../staging/rtl8192u/ieee80211/ieee80211_softmac.c | 6 +- + drivers/staging/rtl8192u/ieee80211/ieee80211_tx.c | 2 +- + drivers/staging/rtl8192u/r8192U_core.c | 7 +- + drivers/staging/rtl8712/rtl8712_recv.c | 6 +- + drivers/staging/rtl8712/rtl871x_io.h | 2 +- + drivers/staging/rtl8712/rtl871x_ioctl.h | 14 - + drivers/staging/rtl8712/rtl871x_xmit.c | 2 +- + drivers/staging/rtl8712/rtl871x_xmit.h | 2 +- + drivers/staging/rtl8712/usb_ops_linux.c | 4 +- + drivers/staging/rtl8712/xmit_linux.c | 2 +- + drivers/staging/rtl8712/xmit_osdep.h | 2 +- + drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 12 +- + drivers/staging/rtl8723au/core/rtw_xmit.c | 2 +- + drivers/staging/rtl8723au/hal/rtl8723au_recv.c | 2 +- + drivers/staging/rtl8723au/hal/usb_ops_linux.c | 4 +- + drivers/staging/rtl8723au/include/Hal8723APhyCfg.h | 8 - + drivers/staging/rtl8723au/include/drv_types.h | 2 +- + drivers/staging/rtl8723au/include/hal_intf.h | 2 - + drivers/staging/rtl8723au/include/recv_osdep.h | 1 - + drivers/staging/rtl8723au/include/rtw_ap.h | 2 - + drivers/staging/rtl8723au/include/rtw_cmd.h | 1 - + drivers/staging/rtl8723au/include/rtw_eeprom.h | 7 - + drivers/staging/rtl8723au/include/rtw_mlme_ext.h | 14 +- + drivers/staging/rtl8723au/include/usb_ops.h | 8 +- + drivers/staging/rtl8723au/include/xmit_osdep.h | 2 +- + drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 2 +- + drivers/staging/rtl8723au/os_dep/xmit_linux.c | 2 +- + drivers/staging/sm750fb/sm750.c | 14 +- + drivers/staging/unisys/visorbus/visorbus_private.h | 4 +- + drivers/staging/unisys/visornic/visornic_main.c | 2 +- + drivers/staging/vt6655/rxtx.c | 2 +- + drivers/staging/vt6656/rxtx.c | 2 +- + drivers/staging/wilc1000/linux_wlan.c | 2 +- + drivers/staging/wilc1000/wilc_wlan.h | 2 +- + drivers/staging/wlan-ng/p80211netdev.c | 2 +- + drivers/target/sbp/sbp_target.c | 4 +- + drivers/thermal/devfreq_cooling.c | 19 +- + drivers/thermal/int340x_thermal/int3400_thermal.c | 6 +- + drivers/thermal/of-thermal.c | 17 +- + drivers/thermal/x86_pkg_temp_thermal.c | 2 +- + drivers/tty/cyclades.c | 6 +- + drivers/tty/hvc/hvc_console.c | 14 +- + drivers/tty/hvc/hvcs.c | 21 +- + drivers/tty/hvc/hvsi.c | 22 +- + drivers/tty/hvc/hvsi_lib.c | 4 +- + drivers/tty/ipwireless/tty.c | 27 +- + drivers/tty/moxa.c | 2 +- + drivers/tty/n_gsm.c | 6 +- + drivers/tty/n_tty.c | 28 +- + drivers/tty/pty.c | 4 +- + drivers/tty/rocket.c | 6 +- + drivers/tty/serial/8250/8250_core.c | 10 +- + drivers/tty/serial/8250/8250_pci.c | 2 +- + drivers/tty/serial/ioc4_serial.c | 6 +- + drivers/tty/serial/jsm/jsm_driver.c | 2 +- + drivers/tty/serial/kgdb_nmi.c | 4 +- + drivers/tty/serial/kgdboc.c | 34 +- + drivers/tty/serial/msm_serial.c | 4 +- + drivers/tty/serial/samsung.c | 9 +- + drivers/tty/serial/serial_core.c | 6 +- + drivers/tty/synclink.c | 34 +- + drivers/tty/synclink_gt.c | 28 +- + drivers/tty/synclinkmp.c | 34 +- + drivers/tty/tty_io.c | 2 +- + drivers/tty/tty_ldisc.c | 8 +- + drivers/tty/tty_port.c | 22 +- + drivers/uio/uio.c | 19 +- + drivers/usb/atm/cxacru.c | 2 +- + drivers/usb/atm/usbatm.c | 24 +- + drivers/usb/core/devices.c | 6 +- + drivers/usb/core/devio.c | 12 +- + drivers/usb/core/hcd.c | 4 +- + drivers/usb/core/sysfs.c | 2 +- + drivers/usb/core/usb.c | 2 +- + drivers/usb/early/ehci-dbgp.c | 16 +- + drivers/usb/gadget/function/f_phonet.c | 2 +- + drivers/usb/gadget/function/u_serial.c | 22 +- + drivers/usb/gadget/udc/dummy_hcd.c | 2 +- + drivers/usb/host/ehci-hcd.c | 2 +- + drivers/usb/host/ehci-hub.c | 4 +- + drivers/usb/host/ehci-q.c | 4 +- + drivers/usb/host/fotg210-hcd.c | 2 +- + drivers/usb/host/hwa-hc.c | 2 +- + drivers/usb/host/ohci-hcd.c | 2 +- + drivers/usb/host/r8a66597.h | 2 +- + drivers/usb/host/uhci-hcd.c | 2 +- + drivers/usb/host/xhci-pci.c | 2 +- + drivers/usb/host/xhci-ring.c | 52 +- + drivers/usb/host/xhci.c | 2 +- + drivers/usb/misc/appledisplay.c | 4 +- + drivers/usb/misc/sisusbvga/sisusb_con.c | 78 +- + drivers/usb/serial/console.c | 8 +- + drivers/usb/storage/transport.c | 2 +- + drivers/usb/storage/usb.c | 2 +- + drivers/usb/storage/usb.h | 2 +- + drivers/usb/usbip/vhci.h | 2 +- + drivers/usb/usbip/vhci_hcd.c | 6 +- + drivers/usb/usbip/vhci_rx.c | 2 +- + drivers/usb/usbip/vudc_rx.c | 2 +- + drivers/usb/wusbcore/wa-hc.h | 4 +- + drivers/usb/wusbcore/wa-xfer.c | 2 +- + drivers/vfio/pci/vfio_pci.c | 2 +- + drivers/vhost/vringh.c | 20 +- + drivers/video/backlight/kb3886_bl.c | 2 +- + drivers/video/console/dummycon.c | 76 +- + drivers/video/console/fbcon.c | 2 +- + drivers/video/console/vgacon.c | 17 +- + drivers/video/fbdev/arcfb.c | 2 +- + drivers/video/fbdev/aty/aty128fb.c | 2 +- + drivers/video/fbdev/aty/atyfb_base.c | 8 +- + drivers/video/fbdev/aty/mach64_ct.c | 5 +- + drivers/video/fbdev/aty/mach64_cursor.c | 5 +- + drivers/video/fbdev/aty/mach64_gx.c | 17 +- + drivers/video/fbdev/core/fb_defio.c | 8 +- + drivers/video/fbdev/core/fbmem.c | 12 +- + drivers/video/fbdev/hyperv_fb.c | 4 +- + drivers/video/fbdev/i810/i810_accel.c | 1 + + drivers/video/fbdev/matrox/matroxfb_base.c | 2 +- + drivers/video/fbdev/mb862xx/mb862xxfb_accel.c | 16 +- + drivers/video/fbdev/nvidia/nvidia.c | 27 +- + drivers/video/fbdev/omap2/omapfb/dss/display.c | 8 +- + drivers/video/fbdev/s1d13xxxfb.c | 6 +- + drivers/video/fbdev/sis/sis_main.h | 2 +- + drivers/video/fbdev/smscufx.c | 4 +- + drivers/video/fbdev/udlfb.c | 36 +- + drivers/video/fbdev/uvesafb.c | 52 +- + drivers/video/fbdev/vesafb.c | 58 +- + drivers/video/fbdev/via/via_clock.h | 2 +- + drivers/xen/events/events_base.c | 6 +- + drivers/xen/xen-pciback/pci_stub.c | 2 +- + fs/9p/vfs_addr.c | 2 +- + fs/9p/vfs_inode_dotl.c | 4 +- + fs/Kconfig.binfmt | 2 +- + fs/afs/file.c | 8 +- + fs/afs/inode.c | 4 +- + fs/afs/internal.h | 4 +- + fs/aio.c | 2 +- + fs/autofs4/waitq.c | 2 +- + fs/befs/endian.h | 6 +- + fs/befs/linuxvfs.c | 4 +- + fs/binfmt_aout.c | 23 +- + fs/binfmt_elf.c | 657 +- + fs/binfmt_elf_fdpic.c | 4 +- + fs/block_dev.c | 2 +- + fs/btrfs/ctree.c | 11 +- + fs/btrfs/ctree.h | 8 +- + fs/btrfs/delayed-inode.c | 6 +- + fs/btrfs/delayed-inode.h | 4 +- + fs/btrfs/delayed-ref.c | 4 +- + fs/btrfs/dev-replace.c | 20 +- + fs/btrfs/dev-replace.h | 4 +- + fs/btrfs/disk-io.c | 4 +- + fs/btrfs/extent_map.c | 8 +- + fs/btrfs/file.c | 4 +- + fs/btrfs/free-space-cache.h | 1 + + fs/btrfs/raid56.c | 30 +- + fs/btrfs/scrub.c | 2 +- + fs/btrfs/super.c | 2 +- + fs/btrfs/sysfs.c | 2 +- + fs/btrfs/tests/btrfs-tests.c | 2 +- + fs/btrfs/tests/free-space-tests.c | 2 +- + fs/btrfs/transaction.c | 2 +- + fs/btrfs/tree-log.c | 8 +- + fs/btrfs/tree-log.h | 2 +- + fs/btrfs/volumes.c | 14 +- + fs/btrfs/volumes.h | 22 +- + fs/buffer.c | 2 +- + fs/cachefiles/bind.c | 6 +- + fs/cachefiles/daemon.c | 12 +- + fs/cachefiles/internal.h | 16 +- + fs/cachefiles/namei.c | 6 +- + fs/cachefiles/proc.c | 12 +- + fs/ceph/super.c | 4 +- + fs/char_dev.c | 2 +- + fs/cifs/cifs_debug.c | 12 +- + fs/cifs/cifsfs.c | 13 +- + fs/cifs/cifsglob.h | 54 +- + fs/cifs/file.c | 14 +- + fs/cifs/misc.c | 4 +- + fs/cifs/smb1ops.c | 80 +- + fs/cifs/smb2ops.c | 84 +- + fs/cifs/smb2pdu.c | 3 +- + fs/coda/cache.c | 10 +- + fs/coda/dir.c | 5 +- + fs/compat.c | 9 +- + fs/compat_binfmt_elf.c | 2 + + fs/compat_ioctl.c | 12 +- + fs/configfs/dir.c | 2 +- + fs/coredump.c | 18 +- + fs/dcache.c | 63 +- + fs/debugfs/file.c | 41 +- + fs/ecryptfs/inode.c | 2 +- + fs/ecryptfs/miscdev.c | 2 +- + fs/exec.c | 309 +- + fs/exofs/inode.c | 7 +- + fs/exofs/super.c | 5 +- + fs/ext2/super.c | 4 +- + fs/ext2/xattr.c | 5 +- + fs/ext4/ext4.h | 20 +- + fs/ext4/extents.c | 2 +- + fs/ext4/mballoc.c | 44 +- + fs/ext4/resize.c | 16 +- + fs/ext4/super.c | 6 +- + fs/ext4/sysfs.c | 2 +- + fs/ext4/xattr.c | 5 +- + fs/f2fs/f2fs.h | 7 +- + fs/f2fs/super.c | 2 +- + fs/fhandle.c | 5 +- + fs/file.c | 18 +- + fs/freevxfs/vxfs_super.c | 6 +- + fs/fs-writeback.c | 11 +- + fs/fs_struct.c | 8 +- + fs/fscache/cookie.c | 40 +- + fs/fscache/internal.h | 202 +- + fs/fscache/object.c | 26 +- + fs/fscache/operation.c | 38 +- + fs/fscache/page.c | 110 +- + fs/fscache/stats.c | 348 +- + fs/fuse/cuse.c | 10 +- + fs/fuse/dev.c | 4 +- + fs/fuse/file.c | 4 +- + fs/fuse/inode.c | 4 +- + fs/gfs2/aops.c | 2 +- + fs/gfs2/file.c | 2 +- + fs/gfs2/glock.c | 22 +- + fs/gfs2/glops.c | 4 +- + fs/gfs2/quota.c | 6 +- + fs/hugetlbfs/inode.c | 13 +- + fs/inode.c | 4 +- + fs/jbd2/commit.c | 2 +- + fs/jbd2/transaction.c | 4 +- + fs/jffs2/erase.c | 3 +- + fs/jffs2/file.c | 5 +- + fs/jffs2/fs.c | 2 +- + fs/jffs2/os-linux.h | 2 +- + fs/jffs2/wbuf.c | 3 +- + fs/jfs/super.c | 4 +- + fs/kernfs/dir.c | 2 +- + fs/kernfs/file.c | 20 +- + fs/lockd/clnt4xdr.c | 46 +- + fs/lockd/clntproc.c | 4 +- + fs/lockd/clntxdr.c | 44 +- + fs/lockd/mon.c | 24 +- + fs/lockd/svc.c | 2 +- + fs/lockd/svc4proc.c | 69 +- + fs/lockd/svcproc.c | 75 +- + fs/lockd/xdr.c | 44 +- + fs/lockd/xdr4.c | 41 +- + fs/logfs/dev_bdev.c | 13 +- + fs/logfs/dev_mtd.c | 13 +- + fs/logfs/dir.c | 4 +- + fs/logfs/logfs.h | 5 +- + fs/logfs/readwrite.c | 2 +- + fs/logfs/segment.c | 2 +- + fs/logfs/super.c | 39 - + fs/namei.c | 2 +- + fs/namespace.c | 15 +- + fs/nfs/callback.h | 18 +- + fs/nfs/callback_proc.c | 26 +- + fs/nfs/callback_xdr.c | 73 +- + fs/nfs/dir.c | 5 +- + fs/nfs/inode.c | 6 +- + fs/nfs/internal.h | 5 +- + fs/nfs/mount_clnt.c | 26 +- + fs/nfs/nfs2xdr.c | 101 +- + fs/nfs/nfs3xdr.c | 201 +- + fs/nfs/nfs42xdr.c | 72 +- + fs/nfs/nfs4xdr.c | 507 +- + fs/nfs/read.c | 2 +- + fs/nfs/symlink.c | 6 +- + fs/nfsd/current_stateid.h | 24 +- + fs/nfsd/nfs2acl.c | 85 +- + fs/nfsd/nfs3acl.c | 44 +- + fs/nfsd/nfs3proc.c | 271 +- + fs/nfsd/nfs3xdr.c | 171 +- + fs/nfsd/nfs4callback.c | 31 +- + fs/nfsd/nfs4proc.c | 320 +- + fs/nfsd/nfs4state.c | 111 +- + fs/nfsd/nfs4xdr.c | 564 +- + fs/nfsd/nfscache.c | 13 +- + fs/nfsd/nfsproc.c | 193 +- + fs/nfsd/nfsxdr.c | 96 +- + fs/nfsd/vfs.c | 6 +- + fs/nfsd/xdr.h | 50 +- + fs/nfsd/xdr3.h | 100 +- + fs/nfsd/xdr4.h | 50 +- + fs/nls/nls_base.c | 26 +- + fs/nls/nls_cp932.c | 2 +- + fs/nls/nls_cp936.c | 2 +- + fs/nls/nls_cp949.c | 2 +- + fs/nls/nls_cp950.c | 2 +- + fs/nls/nls_euc-jp.c | 8 +- + fs/nls/nls_koi8-ru.c | 8 +- + fs/notify/fanotify/fanotify_user.c | 4 +- + fs/notify/notification.c | 4 +- + fs/ntfs/debug.h | 6 +- + fs/ntfs/dir.c | 4 +- + fs/ntfs/inode.c | 19 +- + fs/ntfs/inode.h | 4 +- + fs/ntfs/mft.c | 4 +- + fs/ntfs/super.c | 8 +- + fs/ocfs2/cluster/masklog.h | 2 +- + fs/ocfs2/dlm/dlmcommon.h | 4 +- + fs/ocfs2/dlm/dlmdebug.c | 10 +- + fs/ocfs2/dlm/dlmdomain.c | 4 +- + fs/ocfs2/dlm/dlmmaster.c | 4 +- + fs/ocfs2/dlmfs/dlmfs.c | 4 +- + fs/ocfs2/filecheck.c | 2 +- + fs/ocfs2/localalloc.c | 2 +- + fs/ocfs2/ocfs2.h | 10 +- + fs/ocfs2/suballoc.c | 12 +- + fs/ocfs2/super.c | 20 +- + fs/orangefs/super.c | 4 +- + fs/overlayfs/copy_up.c | 2 +- + fs/overlayfs/super.c | 6 +- + fs/pipe.c | 72 +- + fs/posix_acl.c | 4 +- + fs/proc/array.c | 20 + + fs/proc/base.c | 7 +- + fs/proc/kcore.c | 35 +- + fs/proc/meminfo.c | 2 +- + fs/proc/nommu.c | 2 +- + fs/proc/proc_net.c | 2 +- + fs/proc/proc_sysctl.c | 26 +- + fs/proc/task_mmu.c | 39 +- + fs/proc/task_nommu.c | 6 +- + fs/proc/vmcore.c | 16 +- + fs/qnx6/qnx6.h | 4 +- + fs/quota/netlink.c | 4 +- + fs/read_write.c | 34 +- + fs/readdir.c | 3 +- + fs/reiserfs/do_balan.c | 2 +- + fs/reiserfs/procfs.c | 2 +- + fs/reiserfs/reiserfs.h | 4 +- + fs/select.c | 2 +- + fs/seq_file.c | 4 +- + fs/splice.c | 43 +- + fs/squashfs/xattr.c | 10 +- + fs/super.c | 3 +- + fs/sysv/sysv.h | 2 +- + fs/tracefs/inode.c | 8 +- + fs/ubifs/find.c | 34 +- + fs/ubifs/lprops.c | 5 +- + fs/udf/misc.c | 2 +- + fs/ufs/super.c | 4 +- + fs/ufs/swab.h | 4 +- + fs/userfaultfd.c | 2 +- + fs/xattr.c | 21 + + fs/xfs/kmem.h | 8 + + fs/xfs/libxfs/xfs_bmap.c | 2 +- + fs/xfs/libxfs/xfs_da_btree.c | 4 +- + fs/xfs/xfs_ioctl.c | 2 +- + fs/xfs/xfs_linux.h | 4 +- + fs/xfs/xfs_super.c | 8 +- + include/acpi/acpiosxf.h | 3 +- + include/acpi/acpixf.h | 2 +- + include/acpi/ghes.h | 2 +- + include/asm-generic/4level-fixup.h | 2 + + include/asm-generic/atomic-long.h | 192 +- + include/asm-generic/atomic64.h | 13 + + include/asm-generic/bitops/__fls.h | 2 +- + include/asm-generic/bitops/fls.h | 2 +- + include/asm-generic/bitops/fls64.h | 4 +- + include/asm-generic/bug.h | 7 +- + include/asm-generic/cache.h | 4 +- + include/asm-generic/emergency-restart.h | 2 +- + include/asm-generic/kmap_types.h | 4 +- + include/asm-generic/local.h | 13 + + include/asm-generic/pgtable-nopmd.h | 19 +- + include/asm-generic/pgtable-nopud.h | 15 +- + include/asm-generic/pgtable.h | 16 + + include/asm-generic/sections.h | 1 + + include/asm-generic/uaccess.h | 16 + + include/asm-generic/vmlinux.lds.h | 28 +- + include/crypto/algapi.h | 2 +- + include/crypto/cast6.h | 4 +- + include/crypto/serpent.h | 4 +- + include/crypto/xts.h | 2 +- + include/drm/drmP.h | 21 +- + include/drm/drm_mm.h | 2 +- + include/drm/drm_modeset_helper_vtables.h | 3 +- + include/drm/i915_pciids.h | 2 +- + include/drm/intel-gtt.h | 4 +- + include/drm/ttm/ttm_memory.h | 2 +- + include/drm/ttm/ttm_page_alloc.h | 1 + + include/keys/asymmetric-subtype.h | 2 +- + include/keys/encrypted-type.h | 2 +- + include/keys/rxrpc-type.h | 2 +- + include/keys/user-type.h | 2 +- + include/linux/atmdev.h | 4 +- + include/linux/atomic.h | 39 +- + include/linux/audit.h | 7 +- + include/linux/average.h | 2 +- + include/linux/binfmts.h | 3 +- + include/linux/bio.h | 4 +- + include/linux/bitmap.h | 2 +- + include/linux/bitops.h | 8 +- + include/linux/blk-cgroup.h | 24 +- + include/linux/blkdev.h | 2 +- + include/linux/blktrace_api.h | 2 +- + include/linux/cache.h | 9 + + include/linux/cdrom.h | 1 - + include/linux/cgroup-defs.h | 2 +- + include/linux/cleancache.h | 2 +- + include/linux/clk-provider.h | 1 + + include/linux/compat.h | 15 +- + include/linux/compiler-gcc.h | 48 +- + include/linux/compiler.h | 203 +- + include/linux/configfs.h | 2 +- + include/linux/cpufreq.h | 7 +- + include/linux/cpuidle.h | 5 +- + include/linux/cpumask.h | 14 +- + include/linux/crypto.h | 4 +- + include/linux/ctype.h | 2 +- + include/linux/dcache.h | 4 +- + include/linux/debugfs.h | 8 + + include/linux/decompress/mm.h | 2 +- + include/linux/devfreq.h | 2 +- + include/linux/device.h | 7 +- + include/linux/dma-mapping.h | 2 +- + include/linux/efi.h | 1 + + include/linux/elf.h | 2 + + include/linux/err.h | 4 +- + include/linux/ethtool.h | 1 + + include/linux/extcon.h | 2 +- + include/linux/fb.h | 3 +- + include/linux/fdtable.h | 2 +- + include/linux/firewire.h | 2 +- + include/linux/fs.h | 7 +- + include/linux/fs_struct.h | 2 +- + include/linux/fscache-cache.h | 2 +- + include/linux/fscache.h | 2 +- + include/linux/fsnotify.h | 2 +- + include/linux/genhd.h | 4 +- + include/linux/genl_magic_func.h | 2 +- + include/linux/genl_magic_struct.h | 4 +- + include/linux/gfp.h | 16 +- + include/linux/highmem.h | 12 + + include/linux/hugetlb.h | 2 +- + include/linux/hugetlb_cgroup.h | 11 + + include/linux/hwmon-sysfs.h | 6 +- + include/linux/i2c.h | 1 + + include/linux/if_pppox.h | 2 +- + include/linux/init.h | 10 +- + include/linux/init_task.h | 7 + + include/linux/interrupt.h | 6 +- + include/linux/iommu.h | 2 +- + include/linux/ioport.h | 2 +- + include/linux/ipc.h | 2 +- + include/linux/irq.h | 5 +- + include/linux/irqchip/mmp.h | 2 +- + include/linux/irqdesc.h | 2 +- + include/linux/irqdomain.h | 3 + + include/linux/jbd2.h | 2 +- + include/linux/jiffies.h | 16 +- + include/linux/kallsyms.h | 18 +- + include/linux/key-type.h | 2 +- + include/linux/kgdb.h | 6 +- + include/linux/kmemleak.h | 4 +- + include/linux/kobject.h | 10 +- + include/linux/kobject_ns.h | 2 +- + include/linux/kref.h | 2 +- + include/linux/libata.h | 2 +- + include/linux/linkage.h | 31 +- + include/linux/list.h | 15 + + include/linux/llist.h | 9 + + include/linux/lockd/xdr.h | 34 +- + include/linux/lockd/xdr4.h | 34 +- + include/linux/lockref.h | 26 +- + include/linux/math64.h | 10 +- + include/linux/memcontrol.h | 2 +- + include/linux/memory.h | 2 +- + include/linux/mempolicy.h | 7 + + include/linux/mm.h | 97 +- + include/linux/mm_types.h | 20 + + include/linux/mmiotrace.h | 4 +- + include/linux/mmzone.h | 4 +- + include/linux/mod_devicetable.h | 4 +- + include/linux/module.h | 60 +- + include/linux/moduleloader.h | 16 + + include/linux/moduleparam.h | 12 +- + include/linux/net.h | 2 +- + include/linux/netdevice.h | 11 +- + include/linux/netfilter.h | 2 +- + include/linux/netfilter/ipset/ip_set.h | 16 +- + include/linux/netfilter/ipset/ip_set_comment.h | 3 +- + include/linux/netfilter/nfnetlink.h | 2 +- + include/linux/netlink.h | 12 +- + include/linux/nls.h | 4 +- + include/linux/notifier.h | 3 +- + include/linux/oprofile.h | 4 +- + include/linux/padata.h | 2 +- + include/linux/pagemap.h | 4 +- + include/linux/pci_hotplug.h | 3 +- + include/linux/percpu.h | 2 +- + include/linux/perf_event.h | 12 +- + include/linux/pid.h | 4 +- + include/linux/pipe_fs_i.h | 8 +- + include/linux/pm.h | 1 + + include/linux/pm_domain.h | 2 +- + include/linux/pm_runtime.h | 2 +- + include/linux/pnp.h | 2 +- + include/linux/poison.h | 4 +- + include/linux/power/smartreflex.h | 2 +- + include/linux/ppp-comp.h | 2 +- + include/linux/preempt.h | 21 + + include/linux/printk.h | 4 +- + include/linux/proc_ns.h | 2 +- + include/linux/psci.h | 2 +- + include/linux/quota.h | 2 +- + include/linux/random.h | 21 +- + include/linux/ratelimit.h | 3 +- + include/linux/rculist.h | 16 + + include/linux/rcupdate.h | 8 + + include/linux/reboot.h | 14 +- + include/linux/regset.h | 3 +- + include/linux/relay.h | 2 +- + include/linux/rio.h | 2 +- + include/linux/rmap.h | 4 +- + include/linux/sched.h | 88 +- + include/linux/scif.h | 2 +- + include/linux/semaphore.h | 2 +- + include/linux/seq_buf.h | 4 +- + include/linux/seq_file.h | 1 + + include/linux/seqlock.h | 10 + + include/linux/signal.h | 2 +- + include/linux/skbuff.h | 12 +- + include/linux/slab.h | 56 +- + include/linux/slab_def.h | 17 +- + include/linux/slub_def.h | 5 +- + include/linux/smp.h | 2 + + include/linux/sock_diag.h | 2 +- + include/linux/sonet.h | 2 +- + include/linux/spinlock.h | 17 +- + include/linux/srcu.h | 5 +- + include/linux/string.h | 72 +- + include/linux/sunrpc/addr.h | 8 +- + include/linux/sunrpc/clnt.h | 2 +- + include/linux/sunrpc/svc.h | 2 +- + include/linux/sunrpc/svc_rdma.h | 18 +- + include/linux/sunrpc/svcauth.h | 2 +- + include/linux/swapops.h | 10 +- + include/linux/syscalls.h | 38 +- + include/linux/syscore_ops.h | 2 +- + include/linux/sysctl.h | 3 +- + include/linux/sysfs.h | 11 +- + include/linux/sysrq.h | 3 +- + include/linux/tcp.h | 14 +- + include/linux/thread_info.h | 15 +- + include/linux/tty.h | 4 +- + include/linux/tty_driver.h | 2 +- + include/linux/tty_ldisc.h | 2 +- + include/linux/types.h | 18 + + include/linux/uaccess.h | 2 +- + include/linux/uio_driver.h | 2 +- + include/linux/unaligned/access_ok.h | 24 +- + include/linux/usb.h | 12 +- + include/linux/usb/hcd.h | 1 + + include/linux/usb/renesas_usbhs.h | 2 +- + include/linux/vermagic.h | 21 +- + include/linux/vga_switcheroo.h | 8 +- + include/linux/vmalloc.h | 7 +- + include/linux/vmstat.h | 40 +- + include/linux/writeback.h | 3 +- + include/linux/xattr.h | 5 +- + include/linux/zlib.h | 3 +- + include/media/v4l2-dev.h | 2 +- + include/media/v4l2-device.h | 2 +- + include/net/9p/transport.h | 2 +- + include/net/bluetooth/l2cap.h | 2 +- + include/net/bonding.h | 2 +- + include/net/caif/cfctrl.h | 6 +- + include/net/cfg80211-wext.h | 20 +- + include/net/cfg802154.h | 2 +- + include/net/fib_rules.h | 6 +- + include/net/flow.h | 2 +- + include/net/genetlink.h | 2 +- + include/net/gro_cells.h | 2 +- + include/net/inet_connection_sock.h | 2 +- + include/net/inet_sock.h | 2 +- + include/net/inetpeer.h | 2 +- + include/net/ip6_fib.h | 4 - + include/net/ip_fib.h | 2 +- + include/net/ip_vs.h | 8 +- + include/net/ipv6.h | 2 +- + include/net/irda/ircomm_tty.h | 1 + + include/net/irda/irias_object.h | 2 +- + include/net/irda/irlmp.h | 1 + + include/net/irda/irlmp_event.h | 6 +- + include/net/irda/timer.h | 6 +- + include/net/iucv/af_iucv.h | 2 +- + include/net/llc_c_ac.h | 2 +- + include/net/llc_c_ev.h | 4 +- + include/net/llc_c_st.h | 2 +- + include/net/llc_s_ac.h | 2 +- + include/net/llc_s_st.h | 2 +- + include/net/mac80211.h | 6 +- + include/net/neighbour.h | 4 +- + include/net/net_namespace.h | 18 +- + include/net/netfilter/nf_conntrack.h | 2 +- + include/net/netlabel.h | 1 + + include/net/netlink.h | 2 +- + include/net/netns/conntrack.h | 6 +- + include/net/netns/ipv4.h | 4 +- + include/net/netns/ipv6.h | 4 +- + include/net/netns/xfrm.h | 2 +- + include/net/ping.h | 2 +- + include/net/protocol.h | 4 +- + include/net/rtnetlink.h | 2 +- + include/net/sctp/checksum.h | 4 +- + include/net/sctp/sm.h | 4 +- + include/net/sctp/structs.h | 2 +- + include/net/snmp.h | 10 +- + include/net/sock.h | 14 +- + include/net/tcp.h | 10 +- + include/net/xfrm.h | 15 +- + include/rdma/ib_cm.h | 8 +- + include/rdma/ib_verbs.h | 2 +- + include/scsi/libfc.h | 3 +- + include/scsi/scsi_device.h | 6 +- + include/scsi/scsi_driver.h | 2 +- + include/scsi/scsi_transport_fc.h | 3 +- + include/scsi/sg.h | 2 +- + include/sound/compress_driver.h | 2 +- + include/sound/control.h | 4 +- + include/sound/pcm.h | 2 +- + include/sound/rawmidi.h | 3 +- + include/sound/seq_kernel.h | 2 +- + include/sound/soc.h | 4 +- + include/trace/events/irq.h | 4 +- + include/trace/events/mmflags.h | 7 + + include/uapi/linux/a.out.h | 8 + + include/uapi/linux/bcache.h | 5 +- + include/uapi/linux/byteorder/little_endian.h | 28 +- + include/uapi/linux/connector.h | 2 +- + include/uapi/linux/elf.h | 28 + + include/uapi/linux/personality.h | 1 + + include/uapi/linux/screen_info.h | 2 +- + include/uapi/linux/swab.h | 6 +- + include/uapi/linux/xattr.h | 5 + + include/video/udlfb.h | 8 +- + include/video/uvesafb.h | 1 + + init/Kconfig | 7 +- + init/do_mounts.c | 16 +- + init/do_mounts.h | 8 +- + init/do_mounts_initrd.c | 30 +- + init/do_mounts_md.c | 6 +- + init/init_task.c | 4 + + init/initramfs.c | 38 +- + init/main.c | 41 +- + ipc/compat.c | 4 +- + ipc/ipc_sysctl.c | 14 +- + ipc/mq_sysctl.c | 4 +- + ipc/sem.c | 4 +- + ipc/shm.c | 8 +- + kernel/audit.c | 10 +- + kernel/auditsc.c | 4 +- + kernel/bpf/core.c | 28 +- + kernel/capability.c | 3 + + kernel/cgroup.c | 29 +- + kernel/cgroup_pids.c | 8 +- + kernel/compat.c | 38 +- + kernel/debug/debug_core.c | 16 +- + kernel/debug/kdb/kdb_main.c | 4 +- + kernel/events/callchain.c | 2 +- + kernel/events/core.c | 36 +- + kernel/events/internal.h | 10 +- + kernel/events/uprobes.c | 2 +- + kernel/exit.c | 45 +- + kernel/extable.c | 17 +- + kernel/fork.c | 187 +- + kernel/futex.c | 9 + + kernel/futex_compat.c | 2 +- + kernel/irq/manage.c | 2 +- + kernel/irq/msi.c | 19 +- + kernel/irq/spurious.c | 2 +- + kernel/jump_label.c | 5 + + kernel/kallsyms.c | 40 +- + kernel/kexec.c | 3 +- + kernel/kmod.c | 8 +- + kernel/kprobes.c | 4 +- + kernel/ksysfs.c | 2 +- + kernel/locking/lockdep.c | 7 +- + kernel/module.c | 430 +- + kernel/notifier.c | 17 +- + kernel/padata.c | 4 +- + kernel/panic.c | 11 +- + kernel/pid.c | 8 +- + kernel/pid_namespace.c | 2 +- + kernel/power/hibernate.c | 21 +- + kernel/power/power.h | 2 + + kernel/power/process.c | 12 +- + kernel/power/snapshot.c | 22 + + kernel/profile.c | 14 +- + kernel/ptrace.c | 8 +- + kernel/rcu/rcutorture.c | 60 +- + kernel/rcu/tiny.c | 4 +- + kernel/rcu/tree.c | 36 +- + kernel/rcu/tree.h | 14 +- + kernel/rcu/tree_exp.h | 6 +- + kernel/rcu/tree_plugin.h | 18 +- + kernel/rcu/tree_trace.c | 12 +- + kernel/resource.c | 4 +- + kernel/sched/auto_group.c | 4 +- + kernel/sched/core.c | 8 +- + kernel/sched/deadline.c | 4 +- + kernel/sched/debug.c | 45 +- + kernel/sched/fair.c | 2 +- + kernel/sched/rt.c | 4 +- + kernel/sched/sched.h | 13 +- + kernel/signal.c | 28 +- + kernel/smp.c | 2 +- + kernel/smpboot.c | 7 +- + kernel/softirq.c | 12 +- + kernel/stop_machine.c | 2 +- + kernel/sys.c | 10 +- + kernel/sys_ni.c | 4 +- + kernel/sysctl.c | 34 +- + kernel/time/alarmtimer.c | 4 +- + kernel/time/posix-clock.c | 8 +- + kernel/time/posix-cpu-timers.c | 4 +- + kernel/time/posix-timers.c | 36 +- + kernel/time/timer.c | 2 +- + kernel/time/timer_stats.c | 10 +- + kernel/trace/blktrace.c | 6 +- + kernel/trace/ftrace.c | 33 +- + kernel/trace/ring_buffer.c | 96 +- + kernel/trace/trace.c | 2 +- + kernel/trace/trace.h | 2 +- + kernel/trace/trace_clock.c | 4 +- + kernel/trace/trace_events.c | 1 - + kernel/trace/trace_events_hist.c | 4 +- + kernel/trace/trace_functions_graph.c | 4 +- + kernel/trace/trace_mmiotrace.c | 8 +- + kernel/trace/trace_output.c | 10 +- + kernel/trace/trace_seq.c | 2 +- + kernel/trace/trace_stack.c | 2 +- + kernel/trace/tracing_map.c | 48 +- + kernel/trace/tracing_map.h | 6 +- + kernel/user.c | 2 +- + kernel/user_namespace.c | 2 +- + kernel/utsname_sysctl.c | 2 +- + kernel/watchdog.c | 2 +- + kernel/workqueue.c | 8 +- + lib/842/842_compress.c | 10 +- + lib/842/842_debugfs.h | 12 +- + lib/842/842_decompress.c | 10 +- + lib/Kconfig.debug | 6 +- + lib/Makefile | 2 +- + lib/bitmap.c | 8 +- + lib/bug.c | 2 + + lib/debugobjects.c | 2 +- + lib/decompress_bunzip2.c | 3 +- + lib/decompress_unlzma.c | 4 +- + lib/div64.c | 4 +- + lib/dma-debug.c | 4 +- + lib/inflate.c | 2 +- + lib/ioremap.c | 4 +- + lib/irq_poll.c | 2 +- + lib/kobject.c | 4 +- + lib/list_debug.c | 126 +- + lib/llist.c | 17 + + lib/lockref.c | 44 +- + lib/percpu-refcount.c | 2 +- + lib/radix-tree.c | 2 +- + lib/random32.c | 2 +- + lib/rhashtable.c | 4 +- + lib/seq_buf.c | 4 +- + lib/show_mem.c | 2 +- + lib/strncpy_from_user.c | 2 +- + lib/strnlen_user.c | 2 +- + lib/vsprintf.c | 18 +- + mm/Kconfig | 6 +- + mm/Kconfig.debug | 2 - + mm/backing-dev.c | 4 +- + mm/fadvise.c | 2 +- + mm/filemap.c | 8 +- + mm/gup.c | 13 +- + mm/highmem.c | 6 +- + mm/hugetlb.c | 137 +- + mm/hugetlb_cgroup.c | 60 +- + mm/internal.h | 3 +- + mm/maccess.c | 12 +- + mm/madvise.c | 37 + + mm/memcontrol.c | 6 +- + mm/memory-failure.c | 6 +- + mm/memory.c | 399 +- + mm/mempolicy.c | 25 + + mm/mlock.c | 18 +- + mm/mm_init.c | 2 +- + mm/mmap.c | 552 +- + mm/mprotect.c | 137 +- + mm/mremap.c | 39 +- + mm/nommu.c | 21 +- + mm/page-writeback.c | 2 +- + mm/page_alloc.c | 53 +- + mm/percpu.c | 2 +- + mm/process_vm_access.c | 14 +- + mm/readahead.c | 2 +- + mm/rmap.c | 43 +- + mm/shmem.c | 36 +- + mm/slab.c | 100 +- + mm/slab.h | 43 +- + mm/slab_common.c | 143 +- + mm/slob.c | 239 +- + mm/slub.c | 103 +- + mm/sparse-vmemmap.c | 4 +- + mm/sparse.c | 2 +- + mm/swap.c | 7 + + mm/swapfile.c | 12 +- + mm/usercopy.c | 63 +- + mm/util.c | 7 + + mm/vmalloc.c | 116 +- + mm/vmstat.c | 24 +- + net/8021q/vlan.c | 5 +- + net/8021q/vlan_netlink.c | 2 +- + net/9p/mod.c | 4 +- + net/9p/trans_fd.c | 2 +- + net/atm/atm_misc.c | 8 +- + net/atm/lec.h | 2 +- + net/atm/proc.c | 6 +- + net/atm/resources.c | 4 +- + net/ax25/sysctl_net_ax25.c | 2 +- + net/batman-adv/bat_iv_ogm.c | 8 +- + net/batman-adv/fragmentation.c | 2 +- + net/batman-adv/routing.c | 4 +- + net/batman-adv/soft-interface.c | 12 +- + net/batman-adv/sysfs.c | 48 +- + net/batman-adv/sysfs.h | 4 +- + net/batman-adv/translation-table.c | 14 +- + net/batman-adv/types.h | 8 +- + net/bluetooth/hci_sock.c | 2 +- + net/bluetooth/l2cap_core.c | 6 +- + net/bluetooth/l2cap_sock.c | 12 +- + net/bluetooth/rfcomm/sock.c | 4 +- + net/bluetooth/rfcomm/tty.c | 4 +- + net/bridge/br_netfilter_hooks.c | 4 +- + net/bridge/br_netlink.c | 2 +- + net/bridge/netfilter/ebtables.c | 6 +- + net/caif/cfctrl.c | 11 +- + net/caif/chnl_net.c | 4 +- + net/can/af_can.c | 2 +- + net/can/gw.c | 6 +- + net/ceph/ceph_common.c | 2 +- + net/ceph/messenger.c | 4 +- + net/compat.c | 26 +- + net/core/datagram.c | 2 +- + net/core/dev.c | 26 +- + net/core/filter.c | 2 +- + net/core/flow.c | 8 +- + net/core/neighbour.c | 18 +- + net/core/net-procfs.c | 4 +- + net/core/net-sysfs.c | 2 +- + net/core/net_namespace.c | 10 +- + net/core/netpoll.c | 4 +- + net/core/rtnetlink.c | 17 +- + net/core/scm.c | 12 +- + net/core/skbuff.c | 11 +- + net/core/sock.c | 32 +- + net/core/sock_diag.c | 17 +- + net/core/sysctl_net_core.c | 22 +- + net/decnet/af_decnet.c | 28 +- + net/decnet/sysctl_net_decnet.c | 4 +- + net/dsa/dsa.c | 4 +- + net/dsa/dsa_priv.h | 2 +- + net/dsa/slave.c | 2 +- + net/hsr/hsr_device.c | 2 +- + net/hsr/hsr_netlink.c | 2 +- + net/ieee802154/6lowpan/core.c | 2 +- + net/ieee802154/6lowpan/reassembly.c | 14 +- + net/ieee802154/core.c | 6 +- + net/ipv4/af_inet.c | 6 +- + net/ipv4/arp.c | 2 +- + net/ipv4/devinet.c | 20 +- + net/ipv4/fib_frontend.c | 6 +- + net/ipv4/fib_semantics.c | 2 +- + net/ipv4/icmp.c | 2 +- + net/ipv4/inet_connection_sock.c | 4 +- + net/ipv4/inet_diag.c | 4 +- + net/ipv4/inet_timewait_sock.c | 2 +- + net/ipv4/inetpeer.c | 2 +- + net/ipv4/ip_fragment.c | 17 +- + net/ipv4/ip_gre.c | 6 +- + net/ipv4/ip_sockglue.c | 5 +- + net/ipv4/ip_vti.c | 6 +- + net/ipv4/ipconfig.c | 6 +- + net/ipv4/ipip.c | 4 +- + net/ipv4/netfilter/arp_tables.c | 10 +- + net/ipv4/netfilter/ip_tables.c | 10 +- + net/ipv4/ping.c | 14 +- + net/ipv4/proc.c | 10 +- + net/ipv4/raw.c | 16 +- + net/ipv4/route.c | 36 +- + net/ipv4/sysctl_net_ipv4.c | 24 +- + net/ipv4/tcp_input.c | 6 +- + net/ipv4/tcp_ipv4.c | 2 +- + net/ipv4/tcp_metrics.c | 2 +- + net/ipv4/tcp_probe.c | 2 +- + net/ipv4/udp.c | 10 +- + net/ipv4/xfrm4_mode_beet.c | 2 +- + net/ipv4/xfrm4_mode_transport.c | 2 +- + net/ipv4/xfrm4_policy.c | 19 +- + net/ipv4/xfrm4_state.c | 4 +- + net/ipv6/addrconf.c | 26 +- + net/ipv6/af_inet6.c | 2 +- + net/ipv6/datagram.c | 2 +- + net/ipv6/icmp.c | 2 +- + net/ipv6/inet6_hashtables.c | 2 +- + net/ipv6/ip6_fib.c | 4 +- + net/ipv6/ip6_gre.c | 10 +- + net/ipv6/ip6_tunnel.c | 4 +- + net/ipv6/ip6_vti.c | 4 +- + net/ipv6/ipv6_sockglue.c | 2 +- + net/ipv6/ndisc.c | 2 +- + net/ipv6/netfilter/ip6_tables.c | 10 +- + net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +- + net/ipv6/ping.c | 33 +- + net/ipv6/proc.c | 10 +- + net/ipv6/raw.c | 17 +- + net/ipv6/reassembly.c | 13 +- + net/ipv6/route.c | 2 +- + net/ipv6/sit.c | 4 +- + net/ipv6/sysctl_net_ipv6.c | 2 +- + net/ipv6/udp.c | 6 +- + net/ipv6/xfrm6_mode_beet.c | 2 +- + net/ipv6/xfrm6_mode_transport.c | 2 +- + net/ipv6/xfrm6_policy.c | 17 +- + net/irda/discovery.c | 2 +- + net/irda/ircomm/ircomm_core.c | 13 +- + net/irda/ircomm/ircomm_tty.c | 24 +- + net/irda/ircomm/ircomm_tty_attach.c | 4 +- + net/irda/irda_device.c | 14 +- + net/irda/iriap.c | 14 +- + net/irda/irias_object.c | 10 +- + net/irda/irlan/irlan_client.c | 2 +- + net/irda/irlap.c | 15 +- + net/irda/irlap_event.c | 2 +- + net/irda/irlmp.c | 21 +- + net/irda/irlmp_event.c | 6 +- + net/irda/irnet/irnet.h | 2 +- + net/irda/irnet/irnet_irda.c | 6 +- + net/irda/irttp.c | 8 +- + net/irda/timer.c | 24 +- + net/iucv/af_iucv.c | 11 +- + net/iucv/iucv.c | 2 +- + net/key/af_key.c | 4 +- + net/l2tp/l2tp_eth.c | 40 +- + net/l2tp/l2tp_ip.c | 2 +- + net/l2tp/l2tp_ip6.c | 2 +- + net/mac80211/cfg.c | 12 +- + net/mac80211/debugfs.c | 2 +- + net/mac80211/debugfs_key.c | 6 +- + net/mac80211/ieee80211_i.h | 3 +- + net/mac80211/iface.c | 20 +- + net/mac80211/main.c | 2 +- + net/mac80211/pm.c | 4 +- + net/mac80211/rate.c | 2 +- + net/mac80211/sta_info.c | 2 +- + net/mac80211/tx.c | 2 +- + net/mac80211/util.c | 8 +- + net/mac80211/wpa.c | 12 +- + net/mac802154/iface.c | 6 +- + net/mpls/af_mpls.c | 10 +- + net/netfilter/ipset/ip_set_core.c | 7 +- + net/netfilter/ipvs/ip_vs_conn.c | 6 +- + net/netfilter/ipvs/ip_vs_core.c | 8 +- + net/netfilter/ipvs/ip_vs_ctl.c | 14 +- + net/netfilter/ipvs/ip_vs_lblc.c | 2 +- + net/netfilter/ipvs/ip_vs_lblcr.c | 2 +- + net/netfilter/ipvs/ip_vs_sync.c | 6 +- + net/netfilter/ipvs/ip_vs_xmit.c | 4 +- + net/netfilter/nf_conntrack_acct.c | 2 +- + net/netfilter/nf_conntrack_core.c | 2 +- + net/netfilter/nf_conntrack_ecache.c | 2 +- + net/netfilter/nf_conntrack_helper.c | 2 +- + net/netfilter/nf_conntrack_netlink.c | 22 +- + net/netfilter/nf_conntrack_proto.c | 2 +- + net/netfilter/nf_conntrack_standalone.c | 2 +- + net/netfilter/nf_conntrack_timestamp.c | 2 +- + net/netfilter/nf_log.c | 12 +- + net/netfilter/nf_nat_ftp.c | 2 +- + net/netfilter/nf_nat_irc.c | 2 +- + net/netfilter/nf_sockopt.c | 4 +- + net/netfilter/nf_tables_api.c | 17 +- + net/netfilter/nfnetlink_acct.c | 33 +- + net/netfilter/nfnetlink_cthelper.c | 2 +- + net/netfilter/nfnetlink_cttimeout.c | 2 +- + net/netfilter/nfnetlink_log.c | 4 +- + net/netfilter/nft_compat.c | 9 +- + net/netfilter/xt_IDLETIMER.c | 12 +- + net/netfilter/xt_statistic.c | 8 +- + net/netlink/af_netlink.c | 21 +- + net/netlink/diag.c | 2 +- + net/netlink/genetlink.c | 14 +- + net/openvswitch/vport-geneve.c | 7 +- + net/openvswitch/vport-gre.c | 7 +- + net/openvswitch/vport-internal_dev.c | 4 +- + net/openvswitch/vport-netdev.c | 7 +- + net/openvswitch/vport-vxlan.c | 7 +- + net/packet/af_packet.c | 26 +- + net/packet/diag.c | 2 +- + net/packet/internal.h | 6 +- + net/phonet/pep.c | 6 +- + net/phonet/socket.c | 2 +- + net/phonet/sysctl.c | 2 +- + net/rds/cong.c | 6 +- + net/rds/ib.h | 2 +- + net/rds/ib_cm.c | 2 +- + net/rds/ib_recv.c | 4 +- + net/rds/rds.h | 2 +- + net/rds/tcp.c | 6 +- + net/rds/tcp.h | 6 +- + net/rds/tcp_send.c | 2 +- + net/rxrpc/af_rxrpc.c | 2 +- + net/rxrpc/ar-internal.h | 10 +- + net/rxrpc/call_event.c | 14 +- + net/rxrpc/call_object.c | 2 +- + net/rxrpc/conn_event.c | 2 +- + net/rxrpc/conn_object.c | 2 +- + net/rxrpc/input.c | 4 +- + net/rxrpc/local_object.c | 2 +- + net/rxrpc/output.c | 4 +- + net/rxrpc/peer_object.c | 2 +- + net/rxrpc/proc.c | 4 +- + net/rxrpc/rxkad.c | 4 +- + net/sched/sch_generic.c | 4 +- + net/sched/sch_tbf.c | 9 +- + net/sctp/ipv6.c | 4 +- + net/sctp/protocol.c | 8 +- + net/sctp/sctp_diag.c | 2 +- + net/sctp/sm_sideeffect.c | 4 +- + net/sctp/socket.c | 21 +- + net/sctp/sysctl.c | 10 +- + net/socket.c | 18 +- + net/sunrpc/auth_gss/gss_rpc_upcall.c | 4 +- + net/sunrpc/auth_gss/gss_rpc_xdr.c | 11 +- + net/sunrpc/auth_gss/gss_rpc_xdr.h | 8 +- + net/sunrpc/auth_gss/svcauth_gss.c | 4 +- + net/sunrpc/clnt.c | 4 +- + net/sunrpc/rpcb_clnt.c | 66 +- + net/sunrpc/sched.c | 4 +- + net/sunrpc/svc.c | 8 +- + net/sunrpc/svcauth_unix.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma.c | 44 +- + net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 8 +- + net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +- + net/tipc/netlink_compat.c | 12 +- + net/tipc/subscr.c | 2 +- + net/unix/diag.c | 2 +- + net/unix/sysctl_net_unix.c | 2 +- + net/wireless/scan.c | 3 +- + net/wireless/wext-compat.c | 141 +- + net/wireless/wext-compat.h | 8 +- + net/wireless/wext-core.c | 19 +- + net/wireless/wext-sme.c | 5 +- + net/xfrm/xfrm_policy.c | 18 +- + net/xfrm/xfrm_state.c | 37 +- + net/xfrm/xfrm_sysctl.c | 2 +- + net/xfrm/xfrm_user.c | 2 +- + scripts/Kbuild.include | 2 +- + scripts/Makefile.extrawarn | 4 + + scripts/Makefile.gcc-plugins | 74 +- + scripts/basic/fixdep.c | 10 +- + scripts/dtc/checks.c | 14 +- + scripts/dtc/data.c | 6 +- + scripts/dtc/flattree.c | 8 +- + scripts/dtc/livetree.c | 4 +- + scripts/gcc-plugins/Makefile | 13 +- + scripts/gcc-plugins/checker_plugin.c | 496 + + scripts/gcc-plugins/colorize_plugin.c | 162 + + scripts/gcc-plugins/constify_plugin.c | 582 + + scripts/gcc-plugins/cyc_complexity_plugin.c | 4 +- + scripts/gcc-plugins/gcc-common.h | 64 + + scripts/gcc-plugins/gcc-generate-gimple-pass.h | 2 +- + scripts/gcc-plugins/initify_plugin.c | 1804 +++ + scripts/gcc-plugins/kallocstat_plugin.c | 135 + + scripts/gcc-plugins/kernexec_plugin.c | 407 + + scripts/gcc-plugins/latent_entropy_plugin.c | 613 + + scripts/gcc-plugins/rap_plugin/Makefile | 6 + + scripts/gcc-plugins/rap_plugin/rap.h | 36 + + scripts/gcc-plugins/rap_plugin/rap_fptr_pass.c | 220 + + scripts/gcc-plugins/rap_plugin/rap_hash.c | 382 + + scripts/gcc-plugins/rap_plugin/rap_plugin.c | 515 + + scripts/gcc-plugins/rap_plugin/sip.c | 96 + + scripts/gcc-plugins/sancov_plugin.c | 4 +- + .../gcc-plugins/size_overflow_plugin/.gitignore | 3 + + scripts/gcc-plugins/size_overflow_plugin/Makefile | 22 + + .../gcc-plugins/size_overflow_plugin/disable.data | 12468 ++++++++++++++ + .../gcc-plugins/size_overflow_plugin/e_aux.data | 97 + + .../gcc-plugins/size_overflow_plugin/e_fields.data | 16090 +++++++++++++++++++ + .../gcc-plugins/size_overflow_plugin/e_fns.data | 5306 ++++++ + .../gcc-plugins/size_overflow_plugin/e_fptrs.data | 70 + + .../gcc-plugins/size_overflow_plugin/e_vars.data | 158 + + .../generate_size_overflow_hash.sh | 103 + + .../insert_size_overflow_asm.c | 374 + + .../size_overflow_plugin/intentional_overflow.c | 1171 ++ + .../size_overflow_plugin/remove_unnecessary_dup.c | 137 + + .../size_overflow_plugin/size_overflow.h | 345 + + .../size_overflow_plugin/size_overflow_debug.c | 201 + + .../size_overflow_plugin/size_overflow_ipa.c | 1286 ++ + .../size_overflow_plugin/size_overflow_misc.c | 505 + + .../size_overflow_plugin/size_overflow_plugin.c | 313 + + .../size_overflow_plugin_hash.c | 469 + + .../size_overflow_plugin/size_overflow_transform.c | 772 + + .../size_overflow_transform_core.c | 1025 ++ + scripts/gcc-plugins/stackleak_plugin.c | 350 + + scripts/gcc-plugins/structleak_plugin.c | 239 + + scripts/headers_install.sh | 1 + + scripts/kallsyms.c | 4 +- + scripts/kconfig/lkc.h | 5 +- + scripts/kconfig/menu.c | 2 +- + scripts/kconfig/symbol.c | 6 +- + scripts/link-vmlinux.sh | 2 +- + scripts/mod/file2alias.c | 14 +- + scripts/mod/modpost.c | 40 +- + scripts/mod/modpost.h | 6 +- + scripts/mod/sumversion.c | 2 +- + scripts/module-common.lds | 4 + + scripts/pnmtologo.c | 6 +- + scripts/sortextable.h | 6 +- + scripts/tags.sh | 2 +- + security/Kconfig | 797 +- + security/apparmor/include/policy.h | 2 +- + security/apparmor/lsm.c | 16 +- + security/apparmor/policy.c | 4 +- + security/integrity/ima/ima.h | 4 +- + security/integrity/ima/ima_api.c | 2 +- + security/integrity/ima/ima_fs.c | 4 +- + security/integrity/ima/ima_queue.c | 2 +- + security/integrity/integrity.h | 2 +- + security/keys/internal.h | 8 +- + security/keys/key.c | 18 +- + security/keys/keyring.c | 4 - + security/min_addr.c | 2 + + security/selinux/avc.c | 6 +- + security/selinux/include/xfrm.h | 2 +- + security/yama/yama_lsm.c | 2 +- + sound/aoa/codecs/onyx.c | 7 +- + sound/aoa/codecs/onyx.h | 1 + + sound/core/oss/pcm_oss.c | 18 +- + sound/core/pcm_compat.c | 2 +- + sound/core/pcm_lib.c | 3 +- + sound/core/pcm_native.c | 4 +- + sound/core/rawmidi.c | 5 +- + sound/core/seq/oss/seq_oss_synth.c | 4 +- + sound/core/seq/seq_clientmgr.c | 10 +- + sound/core/seq/seq_compat.c | 2 +- + sound/core/seq/seq_fifo.c | 6 +- + sound/core/seq/seq_fifo.h | 2 +- + sound/core/seq/seq_memory.c | 18 +- + sound/core/seq/seq_midi.c | 5 +- + sound/core/seq/seq_virmidi.c | 2 +- + sound/core/sound.c | 2 +- + sound/drivers/mts64.c | 14 +- + sound/drivers/opl4/opl4_lib.c | 2 +- + sound/drivers/portman2x4.c | 3 +- + sound/firewire/amdtp-am824.c | 2 +- + sound/firewire/amdtp-stream.c | 4 +- + sound/firewire/amdtp-stream.h | 2 +- + sound/firewire/digi00x/amdtp-dot.c | 2 +- + sound/firewire/isight.c | 10 +- + sound/firewire/oxfw/oxfw-scs1x.c | 8 +- + sound/oss/sb_audio.c | 2 +- + sound/oss/swarm_cs4297a.c | 6 +- + sound/pci/als300.c | 2 +- + sound/pci/aw2/aw2-alsa.c | 2 - + sound/pci/aw2/aw2-saa7146.c | 4 +- + sound/pci/ctxfi/ctamixer.c | 14 +- + sound/pci/ctxfi/ctamixer.h | 8 +- + sound/pci/ctxfi/ctatc.c | 20 +- + sound/pci/ctxfi/ctdaio.c | 6 +- + sound/pci/ctxfi/ctdaio.h | 4 +- + sound/pci/ctxfi/ctsrc.c | 13 +- + sound/pci/ctxfi/ctsrc.h | 8 +- + sound/pci/hda/hda_codec.c | 2 +- + sound/pci/ymfpci/ymfpci.h | 2 +- + sound/pci/ymfpci/ymfpci_main.c | 12 +- + sound/soc/codecs/arizona.c | 4 +- + sound/soc/codecs/cx20442.c | 8 +- + sound/soc/codecs/sti-sas.c | 10 +- + sound/soc/codecs/tlv320dac33.c | 7 +- + sound/soc/codecs/uda1380.c | 7 +- + sound/soc/intel/skylake/skl-sst-dsp.h | 2 +- + sound/soc/soc-ac97.c | 6 +- + sound/soc/xtensa/xtfpga-i2s.c | 2 +- + tools/include/asm/alternative-asm.h | 3 + + tools/include/linux/compiler.h | 8 + + tools/virtio/linux/uaccess.h | 2 +- + virt/kvm/kvm_main.c | 44 +- + 2869 files changed, 78392 insertions(+), 15220 deletions(-) +commit 36505bce59196272b6401c7dcad0812d9dc8f7f5 +Merge: d0ed58f 6129d6c +Author: Brad Spengler +Date: Tue Nov 1 19:01:50 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 6129d6c8ea454dd71d6f6d067af5f31f774818a9 +Author: Brad Spengler +Date: Tue Nov 1 19:01:18 2016 -0400 + + Update to pax-linux-4.7.10-test10.patch: + - fixed a compile error when both REFCOUNT and TRACING were enabled + - removed a few superfluous fptr casts from the prism driver + + arch/arm/include/asm/atomic.h | 2 +- + arch/x86/include/asm/traps.h | 1 + + arch/x86/include/asm/uaccess.h | 4 +- + .../net/wireless/intersil/hostap/hostap_ioctl.c | 116 ++++++++++----------- + 4 files changed, 62 insertions(+), 61 deletions(-) + +commit d0ed58f929555736ff281f7a79a9667de4c857c6 +Author: Brad Spengler +Date: Wed Oct 26 19:19:08 2016 -0400 + + Update size_overflow hash tables + + .../gcc-plugins/size_overflow_plugin/e_fields.data | 80 +++++++++-- + .../gcc-plugins/size_overflow_plugin/e_fns.data | 159 ++++++++++++++++++++- + .../gcc-plugins/size_overflow_plugin/e_vars.data | 15 ++ + 3 files changed, 239 insertions(+), 15 deletions(-) + +commit 6a222637c05d26ac8f80a3912856247cff545b12 +Merge: d07e77f ac51587 +Author: Brad Spengler +Date: Wed Oct 26 18:51:31 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit ac5158781612eb239cff9767d116971e9b731a00 +Author: Brad Spengler +Date: Wed Oct 26 18:50:46 2016 -0400 + + Update to pax-linux-4.7.10-test9.patch: + - fixed a false positive size overflow report in ip6_frag_queue caused by a gcc intentional overflow, reported by DrWhax and deagol (https://forums.grsecurity.net/viewtopic.php?f=3&t=4594 and https://bugs.gentoo.org/show_bug.cgi?id=597792) + - Emese updated the size overflow plugin + - Emese updated the hash tables from logs submitted by Shawn + - fixed mm counter accounting in the vma mirroring code + - simplified some kernel page table allocation code + - simplified SMAP/UDEREF accessors + + arch/x86/include/asm/asm.h | 24 - + arch/x86/include/asm/fpu/internal.h | 21 +- + arch/x86/include/asm/futex.h | 14 +- + arch/x86/include/asm/pgtable_types.h | 9 +- + arch/x86/include/asm/smap.h | 3 + + arch/x86/include/asm/uaccess.h | 36 +- + arch/x86/include/asm/uaccess_64.h | 2 - + arch/x86/kernel/alternative.c | 5 +- + arch/x86/lib/copy_user_64.S | 64 +- + arch/x86/lib/csum-wrappers_64.c | 12 +- + arch/x86/lib/getuser.S | 37 +- + arch/x86/lib/putuser.S | 14 +- + arch/x86/lib/usercopy_64.c | 9 +- + drivers/base/regmap/regmap-debugfs.c | 4 +- + mm/memory.c | 106 +- + net/ipv6/reassembly.c | 4 +- + scripts/Makefile.host | 22 +- + scripts/gcc-plugins/rap_plugin/rap_plugin.c | 2 + + .../gcc-plugins/size_overflow_plugin/disable.data | 1 - + .../gcc-plugins/size_overflow_plugin/e_fields.data | 37890 ++++++++++--------- + .../gcc-plugins/size_overflow_plugin/e_fns.data | 7930 ++-- + .../gcc-plugins/size_overflow_plugin/e_fptrs.data | 112 +- + .../gcc-plugins/size_overflow_plugin/e_vars.data | 248 +- + .../insert_size_overflow_asm.c | 13 +- + .../size_overflow_plugin/intentional_overflow.c | 11 +- + .../size_overflow_plugin/size_overflow.h | 12 +- + .../size_overflow_plugin/size_overflow_debug.c | 9 +- + .../size_overflow_plugin/size_overflow_ipa.c | 74 +- + .../size_overflow_plugin/size_overflow_plugin.c | 2 +- + .../size_overflow_plugin_hash.c | 209 +- + .../size_overflow_plugin/size_overflow_transform.c | 19 +- + 31 files changed, 22699 insertions(+), 24219 deletions(-) + +commit d07e77f258d26721b33ae26dfa5fd8d408aabf57 +Merge: 4630c95 7449af19 +Author: Brad Spengler +Date: Sat Oct 22 18:32:55 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 7449af196b6733891d273f46559efdc168dec22a +Author: Brad Spengler +Date: Sat Oct 22 18:31:39 2016 -0400 + + Update to pax-linux-4.7.10-test8.patch: + - Emese removed a potential false positive from the size overflow hash tables + - fixed a few incorrect callback types in ACPI/BGRT caught by RAP, reported by foxxx0 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4586) + - fixed a few size overflow false positives related to dev_t, reported by fx3 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4583) + + drivers/acpi/bgrt.c | 30 +++++++++++----------- + include/linux/kobject.h | 7 +++++ + scripts/gcc-plugins/size_overflow_plugin/Makefile | 2 +- + .../gcc-plugins/size_overflow_plugin/disable.data | 8 +++++- + .../gcc-plugins/size_overflow_plugin/e_fields.data | 10 ++------ + 5 files changed, 32 insertions(+), 25 deletions(-) + +commit 4630c95d3d9c20cffe2ba65521217ad537567ac9 +Author: Brad Spengler +Date: Sat Oct 22 09:19:43 2016 -0400 + + compile fix + + fs/utimes.c | 1 + + 1 file changed, 1 insertion(+) + +commit ee9aeeeb02187281bcc233dd26f6ff4d6814d309 +Merge: 7b8d5c5 309d942 +Author: Brad Spengler +Date: Sat Oct 22 08:01:34 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 309d94235d552d65c253027528a9dd46962cf385 +Merge: 013fc76 b3afc45 +Author: Brad Spengler +Date: Sat Oct 22 07:53:44 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit 7b8d5c5a1477a2b62dc7ad1c28e864d7d250739c +Merge: ca352cc 013fc76 +Author: Brad Spengler +Date: Thu Oct 20 07:49:24 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 013fc7689892902c41d38e31057e4a5686293e40 +Merge: 25eaf06 452063d +Author: Brad Spengler +Date: Thu Oct 20 07:48:01 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit ca352cccec60c85fad6dedaf229d51eddfdfea58 +Author: Brad Spengler +Date: Thu Oct 20 07:06:54 2016 -0400 + + compile fix as reported by David Sterba + + include/linux/mm.h | 1 + + 1 file changed, 1 insertion(+) + +commit 82566bede4206afba0d8b11f58570d588d39586b +Author: Linus Torvalds +Date: Thu Oct 13 13:07:36 2016 -0700 + + mm: remove gup_flags FOLL_WRITE games from __get_user_pages() + + This is an ancient bug that was actually attempted to be fixed once + (badly) by me eleven years ago in commit 4ceb5db9757a ("Fix + get_user_pages() race for write access") but that was then undone due to + problems on s390 by commit f33ea7f404e5 ("fix get_user_pages bug"). + + In the meantime, the s390 situation has long been fixed, and we can now + fix it by checking the pte_dirty() bit properly (and do it better). The + s390 dirty bit was implemented in abf09bed3cce ("s390/mm: implement + software dirty bits") which made it into v3.9. Earlier kernels will + have to look at the page state itself. + + Also, the VM has become more scalable, and what used a purely + theoretical race back then has become easier to trigger. + + To fix it, we introduce a new internal FOLL_COW flag to mark the "yes, + we already did a COW" rather than play racy games with FOLL_WRITE that + is very fundamental, and then use the pte dirty flag to validate that + the FOLL_COW flag is still valid. + + Reported-and-tested-by: Phil "not Paul" Oester + Acked-by: Hugh Dickins + Reviewed-by: Michal Hocko + Cc: Andy Lutomirski + Cc: Kees Cook + Cc: Oleg Nesterov + Cc: Willy Tarreau + Cc: Nick Piggin + Cc: Greg Thelen + Cc: stable@vger.kernel.org + Signed-off-by: Linus Torvalds + + include/linux/mm.h | 2 +- + mm/gup.c | 14 ++++++++++++-- + 2 files changed, 13 insertions(+), 3 deletions(-) + +commit d291c94e650da2d8918620e6829e05218755f77b +Author: Brad Spengler +Date: Wed Oct 19 17:06:17 2016 -0400 + + resync with PaX + + arch/arm/include/asm/atomic.h | 5 ----- + 1 file changed, 5 deletions(-) + +commit 251313cb6e1d5b2ad84c62333ebafa278e861a68 +Author: Brad Spengler +Date: Wed Oct 19 17:03:14 2016 -0400 + + Fix bad ARM REFCOUNT merge with PaX, reported by kdave on the forums: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4588 + + arch/arm/include/asm/atomic.h | 1 - + 1 file changed, 1 deletion(-) + +commit b64df18d4160c6d3cd470202bb8d58f38d9acb51 +Author: Brad Spengler +Date: Mon Oct 17 07:47:53 2016 -0400 + + randomize layout of subprocess_info struct + + include/linux/kmod.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5780e7fb9d334bfa5cc8aef32af631e620dede3f +Merge: 7c69071 25eaf06 +Author: Brad Spengler +Date: Sun Oct 16 15:28:24 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 25eaf067f993510e5cd6cc0d9da4413cbbc12c6a +Merge: afa87ca a0cdc25 +Author: Brad Spengler +Date: Sun Oct 16 15:28:15 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit 7c690715adc3d9236b25ce453b387ef9583b8dda +Merge: 37e00aa afa87ca +Author: Brad Spengler +Date: Sat Oct 15 15:25:46 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit afa87cab2bed6b038cd5446a00bf58a71c954b43 +Author: Brad Spengler +Date: Sat Oct 15 15:18:18 2016 -0400 + + Update to pax-linux-4.7.6-test7.patch: + - backported upstream commit f5beeb1851ea6f8cfcf2657f26cb24c0582b4945 to speed up kcore handling + - fixed a size overflow false positive in raid10, reported by eswierk (https://forums.grsecurity.net/viewtopic.php?f=3&t=4575) + - fixed an integer overflow in bio handling caught by the size overflow plugin, reported by jotik (https://forums.grsecurity.net/viewtopic.php?f=3&t=4579) + - rate limited the logging of refcount overflows and usercopy violations + - changed atomic64's underlying type on i386 to be consistent with other archs + - sped up the RIP range check in opportunistic sysret on amd64 + + arch/x86/entry/entry_64.S | 13 ++- + arch/x86/include/asm/atomic64_32.h | 4 +- + block/bio.c | 2 +- + drivers/md/raid10.c | 6 +- + drivers/usb/usbip/vudc_rx.c | 2 +- + fs/exec.c | 24 ++++-- + fs/proc/kcore.c | 40 +++++---- + include/linux/bio.h | 4 +- + scripts/gcc-plugins/size_overflow_plugin/Makefile | 2 +- + scripts/gcc-plugins/size_overflow_plugin/aux.data | 97 ---------------------- + .../gcc-plugins/size_overflow_plugin/disable.data | 12 ++- + .../gcc-plugins/size_overflow_plugin/e_aux.data | 97 ++++++++++++++++++++++ + .../gcc-plugins/size_overflow_plugin/e_fields.data | 14 +--- + .../size_overflow_plugin_hash.c | 2 +- + 14 files changed, 169 insertions(+), 150 deletions(-) + +commit 37e00aa150c7861f77e69fe361bf19dee467dc0a +Author: Brad Spengler +Date: Mon Oct 10 18:27:38 2016 -0400 + + RAP compile fix + + drivers/isdn/hisax/config.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 00736455939143023205fdd8957421c73868e975 +Author: Brad Spengler +Date: Mon Oct 10 18:09:55 2016 -0400 + + Mark initify broken for the time being due to some recent changes + + security/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +commit 64458bae539de9ac5cd2ba7cad0bd0c0510e6f37 +Author: Brad Spengler +Date: Mon Oct 10 17:11:40 2016 -0400 + + compile fix + + scripts/gcc-plugins/size_overflow_plugin/size_overflow_plugin_hash.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9f5f1d1d7f120c1c85b16412e6b75ab221c2cdba +Author: Brad Spengler +Date: Mon Oct 10 17:10:22 2016 -0400 + + Fix makefiles and .gitignore for new size_overflow plugin + + Makefile | 7 +- + .../gcc-plugins/size_overflow_plugin/.gitignore | 5 +- + scripts/gcc-plugins/size_overflow_plugin/Makefile | 35 ++++++-- + scripts/gcc-plugins/size_overflow_plugin/aux.data | 97 ---------------------- + .../gcc-plugins/size_overflow_plugin/e_aux.data | 97 ++++++++++++++++++++++ + 5 files changed, 128 insertions(+), 113 deletions(-) + +commit cb66e251f9c9880a1365c87b4a42d2885a2fb6ef +Author: Brad Spengler +Date: Sun Oct 9 09:28:14 2016 -0400 + + Enable PAX_SIZE_OVERFLOW_EXTRA by default in auto-config + + security/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +commit cd690739e0fb999002075161a032072cf4e4c458 +Merge: 555de68 0e7a060 +Author: Brad Spengler +Date: Sat Oct 8 18:29:48 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 0e7a060de797ec4e837533146d38e8793e30f84f +Author: Brad Spengler +Date: Sat Oct 8 18:01:07 2016 -0400 + + Update to pax-linux-4.7.6-test6.patch: + - updated the fields hash table of the size overflow plugin to remove a few false positives + - fixed SANITIZE/HIBERNATION incompatibility, by Anisse Astier + - backported a few fixes and cleanups from grsecurity + - fixed compile errors on some arm/arm64/powerpc/sparc configs for REFCOUNT, KERNEXEC and CONSTIFY + - worked around a compile regression in crc32-pclmul_asm.S on some toolchains that define __i686 + - updated the size overflow hash table + - added pax_size_overflow_report_only to disable the reaction mechanism on size overflows + - added a few preemptive buffer size checks + - fixed integer signedness mixup in tun_set_headroom, by Mathias Krause + - Emese changed the size overflow plugin to enable the more risky instrumentation under its own config option + - Emese greatly increased the coverage of the initify plugin + - added BROKEN_SECURITY to disable upstream features as necessary + + Documentation/dontdiff | 7 +- + Documentation/kernel-parameters.txt | 5 + + arch/arm/include/asm/atomic.h | 41 +- + arch/arm/include/asm/domain.h | 1 + + arch/arm/include/asm/string.h | 6 +- + arch/arm/kernel/efi.c | 4 +- + arch/arm/mach-mvebu/coherency.c | 2 +- + arch/arm/mm/alignment.c | 24 +- + arch/arm64/Kconfig | 1 + + arch/arm64/include/asm/atomic.h | 3 + + arch/arm64/include/asm/cache.h | 4 +- + arch/arm64/include/asm/pgalloc.h | 5 + + arch/arm64/include/asm/pgtable.h | 3 + + arch/arm64/include/asm/string.h | 10 +- + arch/arm64/kernel/process.c | 9 +- + arch/arm64/kernel/stacktrace.c | 4 +- + arch/arm64/kernel/traps.c | 2 +- + arch/ia64/include/asm/uaccess.h | 11 +- + arch/mips/Kconfig | 2 +- + arch/parisc/include/asm/uaccess.h | 108 +- + arch/powerpc/include/asm/atomic.h | 23 +- + arch/powerpc/include/asm/cache.h | 4 +- + arch/powerpc/include/asm/spinlock.h | 1 + + arch/powerpc/include/asm/string.h | 4 +- + arch/powerpc/include/asm/uaccess.h | 15 - + arch/powerpc/kernel/traps.c | 2 +- + arch/sparc/include/asm/cache.h | 4 +- + arch/sparc/include/asm/pgalloc_64.h | 1 + + arch/sparc/include/asm/uaccess_32.h | 65 - + arch/um/include/asm/cache.h | 3 +- + arch/x86/Kconfig | 5 +- + arch/x86/crypto/crc32-pclmul_asm.S | 4 +- + arch/x86/include/asm/string_32.h | 12 +- + arch/x86/include/asm/string_64.h | 4 +- + arch/x86/include/asm/uaccess.h | 2 +- + arch/x86/kernel/hpet.c | 2 +- + arch/x86/kernel/kprobes/opt.c | 8 +- + arch/x86/kernel/ptrace.c | 14 + + arch/x86/kernel/signal.c | 9 +- + arch/x86/lib/Makefile | 4 + + arch/x86/platform/efi/efi_64.c | 2 +- + drivers/acpi/acpica/acutils.h | 2 +- + drivers/acpi/acpica/dbhistry.c | 2 +- + drivers/acpi/acpica/dbinput.c | 10 +- + drivers/acpi/acpica/dbstats.c | 88 +- + drivers/acpi/acpica/utdebug.c | 2 +- + drivers/cdrom/cdrom.c | 2 +- + drivers/char/genrtc.c | 1 + + drivers/char/random.c | 2 +- + drivers/firmware/efi/libstub/Makefile | 2 + + drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 7 +- + drivers/hid/hid-wiimote-debug.c | 2 +- + drivers/iommu/arm-smmu-v3.c | 32 +- + drivers/isdn/hisax/hisax.h | 4 +- + drivers/media/radio/radio-cadet.c | 5 +- + drivers/mmc/host/tmio_mmc_pio.c | 4 +- + drivers/net/tun.c | 2 +- + drivers/net/wireless/zydas/zd1211rw/zd_usb.c | 2 +- + drivers/scsi/esas2r/esas2r_init.c | 2 +- + drivers/scsi/esas2r/esas2r_ioctl.c | 2 +- + drivers/scsi/esas2r/esas2r_log.h | 4 +- + drivers/scsi/esas2r/esas2r_main.c | 4 +- + drivers/uio/uio.c | 6 +- + drivers/video/fbdev/arcfb.c | 2 +- + fs/char_dev.c | 2 +- + fs/exec.c | 16 +- + fs/ext4/extents.c | 2 +- + fs/nfsd/nfscache.c | 2 +- + fs/ntfs/debug.h | 6 +- + fs/ocfs2/cluster/masklog.h | 2 +- + fs/proc/task_mmu.c | 5 +- + include/acpi/acpiosxf.h | 3 +- + include/acpi/acpixf.h | 2 +- + include/asm-generic/atomic-long.h | 4 + + include/asm-generic/bug.h | 5 +- + include/asm-generic/pgtable-nopmd.h | 1 + + include/asm-generic/vmlinux.lds.h | 2 + + include/drm/drmP.h | 2 +- + include/linux/atomic.h | 21 + + include/linux/audit.h | 5 +- + include/linux/compiler-gcc.h | 15 + + include/linux/compiler.h | 8 + + include/linux/fs.h | 2 +- + include/linux/gfp.h | 4 +- + include/linux/init.h | 4 +- + include/linux/mm.h | 2 +- + include/linux/printk.h | 2 +- + include/linux/random.h | 2 +- + include/linux/ratelimit.h | 3 +- + include/linux/sched.h | 6 +- + include/linux/slab.h | 2 +- + include/linux/string.h | 34 +- + include/uapi/linux/personality.h | 1 + + init/Kconfig | 3 + + init/main.c | 11 + + kernel/exit.c | 18 +- + kernel/power/hibernate.c | 21 +- + kernel/power/power.h | 2 + + kernel/power/snapshot.c | 22 + + lib/Kconfig.debug | 3 +- + lib/vsprintf.c | 6 +- + mm/Kconfig.debug | 2 - + mm/page_alloc.c | 6 +- + mm/util.c | 2 +- + net/ipv4/ip_sockglue.c | 3 +- + net/ipv4/ip_vti.c | 2 +- + scripts/Makefile.gcc-plugins | 17 +- + scripts/gcc-plugins/initify_plugin.c | 1588 +- + scripts/gcc-plugins/size_overflow_plugin/Makefile | 26 +- + scripts/gcc-plugins/size_overflow_plugin/aux.data | 97 + + .../gcc-plugins/size_overflow_plugin/disable.data | 12453 +++++++++++ + .../disable_size_overflow_hash.data | 12445 ----------- + .../gcc-plugins/size_overflow_plugin/e_fields.data | 18898 ++++++++++++++++ + .../gcc-plugins/size_overflow_plugin/e_fns.data | 4833 ++++ + .../gcc-plugins/size_overflow_plugin/e_fptrs.data | 56 + + .../gcc-plugins/size_overflow_plugin/e_vars.data | 116 + + .../insert_size_overflow_asm.c | 2 +- + .../size_overflow_plugin/intentional_overflow.c | 2 +- + .../size_overflow_plugin/size_overflow.h | 14 +- + .../size_overflow_plugin/size_overflow_debug.c | 4 +- + .../size_overflow_plugin/size_overflow_hash.data | 22068 ------------------- + .../size_overflow_hash_aux.data | 97 - + .../size_overflow_plugin/size_overflow_ipa.c | 65 +- + .../size_overflow_plugin/size_overflow_plugin.c | 25 +- + .../size_overflow_plugin_hash.c | 120 +- + .../size_overflow_plugin/size_overflow_transform.c | 30 +- + security/Kconfig | 78 +- + security/integrity/integrity.h | 2 +- + security/min_addr.c | 2 + + 129 files changed, 38670 insertions(+), 35263 deletions(-) + +commit 555de68005b90a38a9e5eee6835130d5d4291030 +Merge: b48dade c3695e4 +Author: Brad Spengler +Date: Fri Oct 7 17:38:00 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit c3695e458f10605aa5d59e5d16a80156c6aca5f1 +Merge: a16b512 fdf81f0 +Author: Brad Spengler +Date: Fri Oct 7 17:37:31 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit b48dade7b67aa153367dc38d6f3b513b93da2b07 +Merge: 14d3459 a16b512 +Author: Brad Spengler +Date: Fri Sep 30 07:56:46 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit a16b51212ca70e45554cecf7d3b67335d4c847ff +Merge: 674c5b2 f849d45 +Author: Brad Spengler +Date: Fri Sep 30 07:56:04 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit 14d3459a64f15c168c7783d46f690c0ee1283ef2 +Author: Brad Spengler +Date: Tue Sep 27 17:07:31 2016 -0400 + + Fix arm/MULTI_CACHE incompatibility with RANDSTRUCT, reported by radegand: + https://forums.grsecurity.net/viewtopic.php?t=4545&p=1659 + + arch/arm/include/asm/cacheflush.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 39d7aa87f8bd225bc3ac099a2046e334191c90b3 +Author: Brad Spengler +Date: Mon Sep 26 11:28:09 2016 -0400 + + Backport upstream commit which allows PAX_MEMORY_SANITIZE to work + with hibernation: + https://patchwork.kernel.org/patch/9322709/ + + kernel/power/Kconfig | 1 - + kernel/power/hibernate.c | 4 +++- + kernel/power/power.h | 2 ++ + kernel/power/snapshot.c | 20 ++++++++++++++++++++ + 4 files changed, 25 insertions(+), 2 deletions(-) + +commit e5944827e8a1cb6938ed75cccf05f354344b3fa9 +Author: Herbert Xu +Date: Tue Sep 20 20:35:55 2016 +0800 + + KEYS: Fix skcipher IV clobbering + + The IV must not be modified by the skcipher operation so we need + to duplicate it. + + Fixes: c3917fd9dfbc ("KEYS: Use skcipher") + Cc: stable@vger.kernel.org + Reported-by: Mimi Zohar + Signed-off-by: Herbert Xu + + security/keys/encrypted-keys/encrypted.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +commit 17d91a9781b8c4558433cee3e7de8d44a6c2d89b +Author: Brad Spengler +Date: Sun Sep 25 18:10:01 2016 -0400 + + Make vti_notifier_block read_only + + net/ipv4/ip_vti.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d2eba293dd946c7686080602a2e24ddb5358cfcf +Author: Brad Spengler +Date: Sun Sep 25 17:30:32 2016 -0400 + + compile fix + + net/unix/af_unix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 47cca6342f665fa1b4b755723b843ac41ebb9178 +Merge: 16919c7 674c5b2 +Author: Brad Spengler +Date: Sun Sep 25 17:25:45 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 674c5b28e7dfe651caf71d1cdec395205ed9f526 +Merge: 4552781 6c21842 +Author: Brad Spengler +Date: Sun Sep 25 17:24:44 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit 16919c7208e7ad9bc5f6df2f151b84cede110c15 +Author: Brad Spengler +Date: Wed Sep 21 18:40:32 2016 -0400 + + compile fix + + drivers/net/tun.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bafd12998265ed2c32792e117e4227f757cfa18f +Author: Brad Spengler +Date: Wed Sep 21 18:39:39 2016 -0400 + + From: Mathias Krause + Date: Wed, 21 Sep 2016 14:42:43 +0200 + Subject: [PATCH] pax: net/tun - explicitly test for negative values in tun_set_headroom() + + Because of a type change for the NET_SKB_PAD macro in the PaX patch from + (implicit) int to unsigned long, negative values for new_hr will be sign + extended and wrongly pass the minimal size test. Such a value will, + later on, trigger the size_overflow plugin instrumentation in + tun_get_user(). + + Fix this by testing new_hr for negative values explicitly to restore the + intended minimal size test. + + Signed-off-by: Mathias Krause + + drivers/net/tun.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 74fbeac25af78b5f621d8acffb9158dd959078d3 +Author: Brad Spengler +Date: Tue Sep 20 18:37:08 2016 -0400 + + Make CONSTIFY depend on GCC_PLUGINS + + security/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +commit e9e87520569e66d710dadebddac33428c666249a +Author: Brad Spengler +Date: Mon Sep 19 18:43:50 2016 -0400 + + Fix up atomic64_cmpxchg_unchecked on ARM with REFCOUNT + + arch/arm/include/asm/atomic.h | 39 ++++----------------------------------- + include/linux/atomic.h | 9 +++++++++ + 2 files changed, 13 insertions(+), 35 deletions(-) + +commit a1afe597f5731963416233b274144d7c57ce538d +Author: Brad Spengler +Date: Mon Sep 19 17:58:58 2016 -0400 + + Backport upstream iscsi memory corruption fix: + http://marc.info/?l=linux-scsi&m=147394713328707&w=2 + + drivers/scsi/arcmsr/arcmsr_hba.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit e6e0b270a18e4ee19460f7dc72bb46d441adf3c4 +Author: Chuck Lever +Date: Thu Sep 1 10:50:38 2016 -0400 + + svcauth_gss: Revert 64c59a3726f2 ("Remove unnecessary allocation") + + rsc_lookup steals the passed-in memory to avoid doing an allocation of + its own, so we can't just pass in a pointer to memory that someone else + is using. + + If we really want to avoid allocation there then maybe we should + preallocate somwhere, or reference count these handles. + + For now we should revert. + + On occasion I see this on my server: + + kernel: kernel BUG at /home/cel/src/linux/linux-2.6/mm/slub.c:3851! + kernel: invalid opcode: 0000 [#1] SMP + kernel: Modules linked in: cts rpcsec_gss_krb5 sb_edac edac_core x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd btrfs xor iTCO_wdt iTCO_vendor_support raid6_pq pcspkr i2c_i801 i2c_smbus lpc_ich mfd_core mei_me sg mei shpchp wmi ioatdma ipmi_si ipmi_msghandler acpi_pad acpi_power_meter rpcrdma ib_ipoib rdma_ucm ib_ucm ib_uverbs ib_umad rdma_cm ib_cm iw_cm nfsd nfs_acl lockd grace auth_rpcgss sunrpc ip_tables xfs libcrc32c mlx4_ib mlx4_en ib_core sr_mod cdrom sd_mod ast drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm drm crc32c_intel igb mlx4_core ahci libahci libata ptp pps_core dca i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod + kernel: CPU: 7 PID: 145 Comm: kworker/7:2 Not tainted 4.8.0-rc4-00006-g9d06b0b #15 + kernel: Hardware name: Supermicro Super Server/X10SRL-F, BIOS 1.0c 09/09/2015 + kernel: Workqueue: events do_cache_clean [sunrpc] + kernel: task: ffff8808541d8000 task.stack: ffff880854344000 + kernel: RIP: 0010:[] [] kfree+0x155/0x180 + kernel: RSP: 0018:ffff880854347d70 EFLAGS: 00010246 + kernel: RAX: ffffea0020fe7660 RBX: ffff88083f9db064 RCX: 146ff0f9d5ec5600 + kernel: RDX: 000077ff80000000 RSI: ffff880853f01500 RDI: ffff88083f9db064 + kernel: RBP: ffff880854347d88 R08: ffff8808594ee000 R09: ffff88087fdd8780 + kernel: R10: 0000000000000000 R11: ffffea0020fe76c0 R12: ffff880853f01500 + kernel: R13: ffffffffa013cf76 R14: ffffffffa013cff0 R15: ffffffffa04253a0 + kernel: FS: 0000000000000000(0000) GS:ffff88087fdc0000(0000) knlGS:0000000000000000 + kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 + kernel: CR2: 00007fed60b020c3 CR3: 0000000001c06000 CR4: 00000000001406e0 + kernel: Stack: + kernel: ffff8808589f2f00 ffff880853f01500 0000000000000001 ffff880854347da0 + kernel: ffffffffa013cf76 ffff8808589f2f00 ffff880854347db8 ffffffffa013d006 + kernel: ffff8808589f2f20 ffff880854347e00 ffffffffa0406f60 0000000057c7044f + kernel: Call Trace: + kernel: [] rsc_free+0x16/0x90 [auth_rpcgss] + kernel: [] rsc_put+0x16/0x30 [auth_rpcgss] + kernel: [] cache_clean+0x2e0/0x300 [sunrpc] + kernel: [] do_cache_clean+0xe/0x70 [sunrpc] + kernel: [] process_one_work+0x1ff/0x3b0 + kernel: [] worker_thread+0x2bc/0x4a0 + kernel: [] ? rescuer_thread+0x3a0/0x3a0 + kernel: [] kthread+0xe4/0xf0 + kernel: [] ret_from_fork+0x1f/0x40 + kernel: [] ? kthread_stop+0x110/0x110 + kernel: Code: f7 ff ff eb 3b 65 8b 05 da 30 e2 7e 89 c0 48 0f a3 05 a0 38 b8 00 0f 92 c0 84 c0 0f 85 d1 fe ff ff 0f 1f 44 00 00 e9 f5 fe ff ff <0f> 0b 49 8b 03 31 f6 f6 c4 40 0f 85 62 ff ff ff e9 61 ff ff ff + kernel: RIP [] kfree+0x155/0x180 + kernel: RSP + kernel: ---[ end trace 3fdec044969def26 ]--- + + It seems to be most common after a server reboot where a client has been + using a Kerberos mount, and reconnects to continue its workload. + + Signed-off-by: Chuck Lever + Cc: stable@vger.kernel.org + Signed-off-by: J. Bruce Fields + + net/sunrpc/auth_gss/svcauth_gss.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 6e83144022a8e3cd00a7d0ca3916354ea3336f5e +Author: Brad Spengler +Date: Mon Sep 19 17:44:04 2016 -0400 + + fix whitespace + + mm/mmap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ffb1a4cfdce65f581265612878fd136d76b132ae +Author: Brad Spengler +Date: Mon Sep 19 17:07:34 2016 -0400 + + Remove optional dependency on USERCOPY for pax_check_alloca + + arch/x86/kernel/dumpstack_32.c | 2 +- + arch/x86/kernel/dumpstack_64.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 01ca858fb54c3406db13ace327798610b1cdec10 +Author: Brad Spengler +Date: Thu Sep 15 21:28:25 2016 -0400 + + compile fixes + + arch/x86/crypto/crc32-pclmul_asm.S | 4 ++-- + arch/x86/include/asm/uaccess.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit aeed418bbabf465cfa2bd5463b4ee26ddfdee99c +Author: Al Viro +Date: Thu Sep 15 02:35:29 2016 +0100 + + fix minor infoleak in get_user_ex() + + get_user_ex(x, ptr) should zero x on failure. It's not a lot of a leak + (at most we are leaking uninitialized 64bit value off the kernel stack, + and in a fairly constrained situation, at that), but the fix is trivial, + so... + + Cc: stable@vger.kernel.org + Signed-off-by: Al Viro + [ This sat in different branch from the uaccess fixes since mid-August ] + Signed-off-by: Linus Torvalds + + arch/x86/include/asm/uaccess.h | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 4ec72305c579df587c9c31f18fbc3ceba14045a5 +Author: Brad Spengler +Date: Thu Sep 15 20:02:01 2016 -0400 + + compile fix + + fs/proc/task_mmu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ed3d3716625f0c04c9a07dc6c6c7537be22cee07 +Author: Brad Spengler +Date: Thu Sep 15 20:01:31 2016 -0400 + + Resync with PaX + + fs/proc/task_mmu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 36300fe10dd78430f8e84c42b665c0154f88dd5a +Merge: 14e5235 4552781 +Author: Brad Spengler +Date: Thu Sep 15 18:36:02 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 4552781643cf8a01376539bf0bf469c8dbc69701 +Author: Brad Spengler +Date: Thu Sep 15 18:35:49 2016 -0400 + + Resync with PaX + + fs/proc/task_mmu.c | 5 +++-- + include/linux/init.h | 4 +++- + include/linux/mm.h | 2 +- + mm/util.c | 2 +- + 4 files changed, 8 insertions(+), 5 deletions(-) + +commit 14e523564a0a84ece93b04a2b375f33cce806c8b +Merge: 402a024 6740d15 +Author: Brad Spengler +Date: Thu Sep 15 18:18:19 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 6740d1535fb0208f329eda7aeeee2c6f0fbe09d3 +Author: Brad Spengler +Date: Thu Sep 15 18:16:18 2016 -0400 + + Update to pax-linux-4.7.3-test4.patch: + - fixed atomic_xchg_unchecked on arm, reported by wizzup + - temporary workaround for cloned functions in the initify plugin, prevents an ICE-from-assertion reported by xeaforz and gg + - fixed hugetlb compile error on arm64 + - fixed branch prediction hints in copy*user on x86, by spender + - fixed the invocation of gcc-plugin.sh while reporting errors, by spender + - fixed long-standing regression in non-exec page support on powerpc32/book3s + - fixed inefficient PIC in crc32_pclmul* on i386 to also work under KERNEXEC, reported by minipli + - fixed pfn/physical address mixup in static_protections on amd64, by Mathias Krause + - fixed latent bug on module loading exposed by the fix for static_protections, reported by minipli + - fixed two USERCOPY violations in iucv and netlink, by Mathias Krause + - fixed a xen boot regression with ssp-strong, reported by biergaizi and d-u (https://forums.grsecurity.net/viewtopic.php?f=3&t=4441) + - fixed module symbol resolution and extable handling on i386/KERNEXEC when KASLR is enabled + + arch/arm/include/asm/atomic.h | 12 +++-------- + arch/arm/include/asm/cmpxchg.h | 3 ++- + arch/arm64/mm/dma-mapping.c | 2 +- + arch/mips/cavium-octeon/dma-octeon.c | 2 +- + arch/powerpc/include/asm/book3s/32/hash.h | 2 +- + arch/powerpc/include/asm/book3s/32/pgtable.h | 2 +- + arch/powerpc/include/asm/pte-common.h | 30 +++++++++++++--------------- + arch/x86/crypto/crc32-pclmul_asm.S | 19 +++++++++++------- + arch/x86/include/asm/setup.h | 3 ++- + arch/x86/include/asm/uaccess.h | 4 ++-- + arch/x86/kernel/module.c | 2 +- + arch/x86/kernel/pci-swiotlb.c | 2 +- + arch/x86/kvm/x86.c | 2 +- + arch/x86/mm/extable.c | 18 ++--------------- + arch/x86/mm/pageattr.c | 5 +++-- + arch/x86/xen/enlighten.c | 18 ++++++++--------- + arch/x86/xen/pmu.c | 1 + + include/asm-generic/atomic-long.h | 2 ++ + include/asm-generic/atomic64.h | 1 + + include/linux/atomic.h | 4 ++++ + include/linux/llist.h | 9 +++++++++ + include/linux/swiotlb.h | 3 +-- + kernel/extable.c | 17 ++++++++++++++-- + kernel/module.c | 9 ++++++++- + lib/extable.c | 11 +--------- + lib/llist.c | 17 ++++++++++++++++ + lib/swiotlb.c | 2 +- + mm/hugetlb.c | 12 +++++++++++ + mm/vmalloc.c | 2 +- + net/iucv/af_iucv.c | 7 +++---- + net/netlink/af_netlink.c | 5 +++-- + scripts/Makefile.gcc-plugins | 2 +- + scripts/gcc-plugins/initify_plugin.c | 4 +++- + 33 files changed, 139 insertions(+), 95 deletions(-) + +commit 402a02454512e83be868e83529b04c0ccde687a9 +Author: Brad Spengler +Date: Thu Sep 15 08:25:18 2016 -0400 + + Update size_overflow hash + + scripts/gcc-plugins/size_overflow_plugin/size_overflow_hash.data | 1 + + 1 file changed, 1 insertion(+) + +commit e1d3996c7486a0985846423711dd5c05401144c1 +Author: Brad Spengler +Date: Thu Sep 15 07:48:33 2016 -0400 + + compile fix + + kernel/capability.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit a668b9edff65c3c2eb134e1c7edfbc4142f1e678 +Merge: f2ceab4 4f9be5c +Author: Brad Spengler +Date: Thu Sep 15 07:24:15 2016 -0400 + + Rename our existing ns_capable_nolog to suit upstream's bikeshedded ns_capable_noaudit + + Merge branch 'pax-test' into grsec-test + +commit 4f9be5c8326f08df59ef7df521acac91e9e6c3d5 +Merge: 168b0e3 bd333da +Author: Brad Spengler +Date: Thu Sep 15 07:12:12 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit f2ceab4fbaec0cd5c127345dbce3e033b74fe826 +Author: WANG Cong +Date: Sun Aug 28 21:28:26 2016 -0700 + + kcm: fix a socket double free + + Dmitry reported a double free on kcm socket, which could + be easily reproduced by: + + #include + #include + + int main() + { + int fd = syscall(SYS_socket, 0x29ul, 0x5ul, 0x0ul, 0, 0, 0); + syscall(SYS_ioctl, fd, 0x89e2ul, 0x20a98000ul, 0, 0, 0); + return 0; + } + + This is because on the error path, after we install + the new socket file, we call sock_release() to clean + up the socket, which leaves the fd pointing to a freed + socket. Fix this by calling sys_close() on that fd + directly. + + Fixes: ab7ac4eb9832 ("kcm: Kernel Connection Multiplexor module") + Reported-by: Dmitry Vyukov + Cc: Tom Herbert + Signed-off-by: Cong Wang + Signed-off-by: David S. Miller + + net/kcm/kcmsock.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit f3ddf560233f0ec26493522fc1c2b1b8f764f16e +Merge: 9e43620 168b0e3 +Author: Brad Spengler +Date: Wed Sep 7 08:26:50 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 168b0e38caaf436f7c5345fe20a92b7f391ccad5 +Merge: 2a27d24 d7f6728 +Author: Brad Spengler +Date: Wed Sep 7 08:26:41 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit 9e43620d71b42e65cb12642b240a6e638531aa65 +Author: Daeho Jeong +Date: Sun Jul 3 17:51:39 2016 -0400 + + ext4: avoid modifying checksum fields directly during checksum verification + + We temporally change checksum fields in buffers of some types of + metadata into '0' for verifying the checksum values. By doing this + without locking the buffer, some metadata's checksums, which are + being committed or written back to the storage, could be damaged. + In our test, several metadata blocks were found with damaged metadata + checksum value during recovery process. When we only verify the + checksum value, we have to avoid modifying checksum fields directly. + + Signed-off-by: Daeho Jeong + Signed-off-by: Youngjin Gil + Signed-off-by: Theodore Ts'o + Reviewed-by: Darrick J. Wong + + fs/ext4/inode.c | 38 ++++++++++++++++++++++---------------- + fs/ext4/namei.c | 9 ++++----- + fs/ext4/super.c | 18 +++++++++--------- + fs/ext4/xattr.c | 13 +++++++------ + 4 files changed, 42 insertions(+), 36 deletions(-) + +commit b84727ffa19c4ec06a04502219f8e15b6887d401 +Author: Brad Spengler +Date: Wed Aug 31 20:22:42 2016 -0400 + + Use the correct branch prediction + + arch/x86/include/asm/uaccess.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a8411c5faefe2708a5998f484ed6ca65c9ccf971 +Author: Linus Torvalds +Date: Mon Aug 22 16:41:46 2016 -0700 + + binfmt_elf: switch to new creds when switching to new mm + + We used to delay switching to the new credentials until after we had + mapped the executable (and possible elf interpreter). That was kind of + odd to begin with, since the new executable will actually then _run_ + with the new creds, but whatever. + + The bigger problem was that we also want to make sure that we turn off + prof events and tracing before we start mapping the new executable + state. So while this is a cleanup, it's also a fix for a possible + information leak. + + Reported-by: Robert Święcki + Tested-by: Peter Zijlstra + Acked-by: David Howells + Acked-by: Oleg Nesterov + Acked-by: Andy Lutomirski + Acked-by: Eric W. Biederman + Cc: Willy Tarreau + Cc: Kees Cook + Cc: Al Viro + Signed-off-by: Linus Torvalds + + fs/binfmt_elf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 18fe03a1a1ce3b59208ecc7bb90be5724ec1d1aa +Author: Brad Spengler +Date: Wed Aug 31 20:01:48 2016 -0400 + + Two USERCOPY fixes from Mathias Krause + + net/iucv/af_iucv.c | 7 +++---- + net/netlink/af_netlink.c | 5 +++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +commit 4830a253a94494524d9ebb3bed7118c2b746f5a2 +Author: Brad Spengler +Date: Wed Aug 31 19:58:53 2016 -0400 + + From 7e13821dd59b17382bba8707c1a9b73569db5535 Mon Sep 17 00:00:00 2001 + From: Mathias Krause + Date: Thu, 18 Aug 2016 17:03:19 +0200 + Subject: [PATCH] [pax] fix page frame number compare in static_protections() + + The KERNEXEC specific memory range check is comparing a page frame + number against physical addresses while it should compare page frame + numbers instead. + + This leads to "false positives" for systems with 64GB+ of RAM, leading + to missing memory protection changes, leading various access errors, + like failing to release module init code when using the RCU path in + vunmap(). + + Fix this by converting the physical addresses to page frame numbers + before doing the range check. + + Signed-off-by: Mathias Krause + + arch/x86/mm/pageattr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8cd264e31562d39c034c35256dcb4eff8ab2fc66 +Author: Brad Spengler +Date: Thu Aug 18 17:57:25 2016 -0400 + + Remove a warning that is (under the specific instance where we triggered it) + erroneous. Avoiding triggering the warning will require reworking some of + our APIs, so this will be fixed at a later time. + + Thanks to Ed Swierk of Skyport Systems for the report. + + fs/dcache.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 7276656b983ed5e39010c54908005e0574a2d3fd +Author: Brad Spengler +Date: Sun Aug 21 17:36:48 2016 -0400 + + Update size_overflow hash table + + scripts/gcc-plugins/size_overflow_plugin/size_overflow_hash.data | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 18a6c9305d45e83c3bebf07eb132885da34b73da +Merge: 5cbf490 2a27d24 +Author: Brad Spengler +Date: Sun Aug 21 16:59:37 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 2a27d2419704b09b554b75d6397bf26ffd45754b +Merge: 7be9261 84fae3f +Author: Brad Spengler +Date: Sun Aug 21 16:57:07 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit 5cbf4905a069cf66895ff7a06673f8102e3faab5 +Author: Brad Spengler +Date: Tue Aug 16 17:23:45 2016 -0400 + + forward-port !PAX_ASLR change + + arch/x86/mm/mmap.c | 16 +++------------- + 1 file changed, 3 insertions(+), 13 deletions(-) + +commit c7d89a55e70af76005662d4a4c9c7db3a4cb7998 +Merge: a144f0f8 7be9261 +Author: Brad Spengler +Date: Tue Aug 16 17:14:06 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 7be92610b9cff4e90a4f84a385086c5f643004a0 +Merge: cb11f67 95f15f5 +Author: Brad Spengler +Date: Tue Aug 16 17:13:54 2016 -0400 + + Merge branch 'linux-4.7.y' into pax-test + +commit a144f0f806ea8a109483a945d2e92474b57ef03c +Author: Brad Spengler +Date: Mon Aug 15 17:54:00 2016 -0400 + + Temporary workaround for cloned functions in the initify plugin, prevents + an ICE-from-assertion reported by xeaforz and gg on IRC + + scripts/gcc-plugins/initify_plugin.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit f68bc3565a314bea45c58a9ee0c025fad19af76d +Author: Brad Spengler +Date: Mon Aug 15 17:50:24 2016 -0400 + + Fix arm/ppc compilation, reported by Wizzup + + arch/arm/include/asm/atomic.h | 2 +- + arch/powerpc/include/asm/atomic.h | 2 +- + include/asm-generic/atomic-long.h | 3 ++- + include/linux/atomic.h | 4 ++++ + 4 files changed, 8 insertions(+), 3 deletions(-) + +commit 30f09e2a7b1590febfb028aad55f3e4b74d92c87 +Author: Brad Spengler +Date: Sat Aug 13 12:28:25 2016 -0400 + + Initial import of grsecurity 3.1 for Linux 4.7 + + Disables userfaultfd as suggested by Jann Horn + + Documentation/dontdiff | 2 + + Documentation/kernel-parameters.txt | 11 + + Documentation/sysctl/kernel.txt | 15 + + Makefile | 5 +- + arch/alpha/include/asm/cache.h | 4 +- + arch/alpha/kernel/osf_sys.c | 12 +- + arch/arc/Kconfig | 1 + + arch/arm/Kconfig | 2 + + arch/arm/Kconfig.debug | 1 + + arch/arm/include/asm/atomic.h | 45 +- + arch/arm/include/asm/domain.h | 1 + + arch/arm/include/asm/thread_info.h | 7 +- + arch/arm/kernel/entry-common.S | 8 +- + arch/arm/kernel/process.c | 4 +- + arch/arm/kernel/ptrace.c | 9 + + arch/arm/kernel/traps.c | 7 +- + arch/arm/mach-mvebu/coherency.c | 2 +- + arch/arm/mm/Kconfig | 4 +- + arch/arm/mm/alignment.c | 24 +- + arch/arm/mm/fault.c | 40 +- + arch/arm/mm/mmap.c | 8 +- + arch/arm/net/bpf_jit_32.c | 51 +- + arch/arm64/Kconfig.debug | 1 + + arch/arm64/include/asm/atomic.h | 3 + + arch/arm64/include/asm/cache.h | 4 +- + arch/arm64/include/asm/pgtable.h | 3 + + arch/arm64/kernel/process.c | 9 +- + arch/arm64/kernel/stacktrace.c | 4 +- + arch/arm64/kernel/traps.c | 2 +- + arch/avr32/include/asm/cache.h | 4 +- + arch/blackfin/Kconfig.debug | 1 + + arch/blackfin/include/asm/cache.h | 3 +- + arch/cris/include/arch-v10/arch/cache.h | 3 +- + arch/cris/include/arch-v32/arch/cache.h | 3 +- + arch/frv/include/asm/cache.h | 3 +- + arch/frv/mm/elf-fdpic.c | 4 +- + arch/hexagon/include/asm/cache.h | 6 +- + arch/ia64/Kconfig | 1 + + arch/ia64/include/asm/cache.h | 3 +- + arch/ia64/kernel/sys_ia64.c | 2 + + arch/ia64/mm/hugetlbpage.c | 2 + + arch/m32r/include/asm/cache.h | 4 +- + arch/m68k/include/asm/cache.h | 4 +- + arch/metag/mm/hugetlbpage.c | 1 + + arch/microblaze/include/asm/cache.h | 3 +- + arch/mips/Kconfig | 1 + + arch/mips/include/asm/thread_info.h | 11 +- + arch/mips/kernel/irq.c | 3 + + arch/mips/kernel/ptrace.c | 9 + + arch/mips/mm/mmap.c | 4 +- + arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +- + arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +- + arch/openrisc/include/asm/cache.h | 4 +- + arch/parisc/include/asm/cache.h | 3 + + arch/parisc/kernel/sys_parisc.c | 4 + + arch/powerpc/Kconfig | 1 + + arch/powerpc/include/asm/atomic.h | 28 +- + arch/powerpc/include/asm/cache.h | 4 +- + arch/powerpc/include/asm/spinlock.h | 1 + + arch/powerpc/include/asm/thread_info.h | 5 +- + arch/powerpc/kernel/Makefile | 2 + + arch/powerpc/kernel/irq.c | 3 + + arch/powerpc/kernel/process.c | 10 +- + arch/powerpc/kernel/ptrace.c | 14 + + arch/powerpc/kernel/traps.c | 7 +- + arch/powerpc/mm/slice.c | 2 +- + arch/s390/Kconfig.debug | 1 + + arch/s390/include/asm/cache.h | 4 +- + arch/score/include/asm/cache.h | 4 +- + arch/sh/include/asm/cache.h | 3 +- + arch/sh/mm/mmap.c | 6 +- + arch/sparc/include/asm/cache.h | 4 +- + arch/sparc/include/asm/pgalloc_64.h | 1 + + arch/sparc/include/asm/thread_info_64.h | 8 +- + arch/sparc/kernel/process_32.c | 6 +- + arch/sparc/kernel/process_64.c | 8 +- + arch/sparc/kernel/ptrace_64.c | 14 + + arch/sparc/kernel/sys_sparc_64.c | 8 +- + arch/sparc/kernel/syscalls.S | 8 +- + arch/sparc/kernel/traps_32.c | 8 +- + arch/sparc/kernel/traps_64.c | 28 +- + arch/sparc/kernel/unaligned_64.c | 2 +- + arch/sparc/mm/fault_64.c | 2 +- + arch/sparc/mm/hugetlbpage.c | 15 +- + arch/tile/Kconfig | 1 + + arch/tile/include/asm/cache.h | 3 +- + arch/tile/mm/hugetlbpage.c | 2 + + arch/um/include/asm/cache.h | 3 +- + arch/unicore32/include/asm/cache.h | 6 +- + arch/x86/Kconfig | 21 + + arch/x86/Kconfig.debug | 2 + + arch/x86/entry/common.c | 14 + + arch/x86/entry/entry_32.S | 2 +- + arch/x86/entry/entry_64.S | 2 +- + arch/x86/ia32/ia32_aout.c | 2 + + arch/x86/include/asm/floppy.h | 20 +- + arch/x86/include/asm/fpu/types.h | 69 +- + arch/x86/include/asm/io.h | 2 +- + arch/x86/include/asm/page.h | 12 +- + arch/x86/include/asm/paravirt_types.h | 21 +- + arch/x86/include/asm/processor.h | 12 +- + arch/x86/include/asm/thread_info.h | 6 +- + arch/x86/kernel/dumpstack.c | 10 +- + arch/x86/kernel/dumpstack_32.c | 2 +- + arch/x86/kernel/dumpstack_64.c | 2 +- + arch/x86/kernel/ioport.c | 13 + + arch/x86/kernel/irq_32.c | 3 + + arch/x86/kernel/irq_64.c | 4 + + arch/x86/kernel/kprobes/opt.c | 8 +- + arch/x86/kernel/ldt.c | 18 + + arch/x86/kernel/msr.c | 12 + + arch/x86/kernel/ptrace.c | 14 + + arch/x86/kernel/signal.c | 9 +- + arch/x86/kernel/sys_i386_32.c | 9 +- + arch/x86/kernel/sys_x86_64.c | 8 +- + arch/x86/kernel/traps.c | 5 + + arch/x86/kernel/verify_cpu.S | 1 + + arch/x86/kernel/vm86_32.c | 15 + + arch/x86/mm/fault.c | 12 +- + arch/x86/mm/hugetlbpage.c | 15 +- + arch/x86/mm/init.c | 51 +- + arch/x86/mm/init_32.c | 6 +- + arch/x86/net/bpf_jit_comp.c | 4 + + arch/x86/platform/efi/efi_64.c | 2 +- + arch/x86/xen/Kconfig | 1 + + arch/xtensa/variants/dc232b/include/variant/core.h | 2 +- + arch/xtensa/variants/fsf/include/variant/core.h | 3 +- + crypto/scatterwalk.c | 10 +- + drivers/acpi/acpica/hwxfsleep.c | 11 +- + drivers/acpi/custom_method.c | 4 + + drivers/block/cciss.h | 30 +- + drivers/block/smart1,2.h | 40 +- + drivers/cdrom/cdrom.c | 2 +- + drivers/char/Kconfig | 4 +- + drivers/char/genrtc.c | 1 + + drivers/char/mem.c | 17 + + drivers/char/random.c | 5 +- + drivers/cpufreq/sparc-us3-cpufreq.c | 2 - + drivers/firewire/ohci.c | 4 + + drivers/firmware/efi/libstub/Makefile | 2 + + drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 82 +- + .../drm/amd/powerplay/hwmgr/cz_clockpowergating.c | 12 +- + drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 58 +- + drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c | 20 +- + .../drm/amd/powerplay/hwmgr/polaris10_thermal.c | 22 +- + .../gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c | 20 +- + drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 7 +- + drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 9 +- + drivers/gpu/drm/nouveau/nouveau_ttm.c | 28 +- + drivers/gpu/drm/ttm/ttm_bo_manager.c | 10 +- + drivers/gpu/drm/virtio/virtgpu_ttm.c | 10 +- + drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 10 +- + drivers/hid/hid-wiimote-debug.c | 2 +- + drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 138 +- + drivers/infiniband/hw/i40iw/i40iw_uk.c | 34 +- + drivers/infiniband/hw/nes/nes_cm.c | 22 +- + drivers/iommu/amd_iommu.c | 14 +- + drivers/iommu/arm-smmu-v3.c | 32 +- + drivers/isdn/gigaset/bas-gigaset.c | 32 +- + drivers/isdn/gigaset/ser-gigaset.c | 32 +- + drivers/isdn/gigaset/usb-gigaset.c | 32 +- + drivers/isdn/i4l/isdn_concap.c | 6 +- + drivers/isdn/i4l/isdn_x25iface.c | 16 +- + drivers/md/bcache/Kconfig | 1 + + drivers/md/raid5.c | 8 + + drivers/media/pci/solo6x10/solo6x10-g723.c | 2 +- + drivers/media/platform/sti/c8sectpfe/Kconfig | 1 + + drivers/media/radio/radio-cadet.c | 5 +- + drivers/media/usb/dvb-usb/cinergyT2-core.c | 91 +- + drivers/media/usb/dvb-usb/cinergyT2-fe.c | 182 +- + drivers/media/usb/dvb-usb/dvb-usb-firmware.c | 37 +- + drivers/media/usb/dvb-usb/technisat-usb2.c | 23 +- + drivers/message/fusion/mptbase.c | 9 + + drivers/misc/sgi-xp/xp_main.c | 12 +- + drivers/mmc/host/tmio_mmc_pio.c | 5 +- + drivers/net/ethernet/brocade/bna/bna_enet.c | 8 +- + drivers/net/wan/lmc/lmc_media.c | 97 +- + drivers/net/wan/z85230.c | 24 +- + drivers/net/wireless/ath/ath9k/Kconfig | 1 - + drivers/net/wireless/zydas/zd1211rw/zd_usb.c | 2 +- + drivers/pci/proc.c | 9 + + drivers/platform/x86/asus-wmi.c | 12 + + drivers/rtc/rtc-dev.c | 3 + + drivers/scsi/bfa/bfa_fcs.c | 19 +- + drivers/scsi/bfa/bfa_fcs_lport.c | 29 +- + drivers/scsi/bfa/bfa_modules.h | 12 +- + drivers/scsi/hpsa.h | 40 +- + drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +- + drivers/staging/wilc1000/host_interface.h | 1 + + drivers/staging/wilc1000/wilc_spi.c | 1 + + drivers/tty/sysrq.c | 2 +- + drivers/tty/tty_io.c | 4 + + drivers/tty/vt/keyboard.c | 22 +- + drivers/uio/uio.c | 6 +- + drivers/usb/core/hub.c | 5 + + drivers/usb/gadget/function/f_uac1.c | 1 + + drivers/usb/gadget/function/u_uac1.c | 1 + + drivers/usb/host/hwa-hc.c | 9 +- + drivers/usb/usbip/vhci_sysfs.c | 2 +- + drivers/video/fbdev/arcfb.c | 2 +- + drivers/video/fbdev/matrox/matroxfb_DAC1064.c | 10 +- + drivers/video/fbdev/matrox/matroxfb_Ti3026.c | 5 +- + drivers/video/fbdev/sh_mobile_lcdcfb.c | 6 +- + drivers/video/logo/logo_linux_clut224.ppm | 2720 ++++---- + drivers/xen/xenfs/xenstored.c | 5 + + firmware/Makefile | 2 + + firmware/WHENCE | 20 +- + firmware/bnx2/bnx2-mips-06-6.2.3.fw.ihex | 5804 +++++++++++++++++ + firmware/bnx2/bnx2-mips-09-6.2.1b.fw.ihex | 6496 ++++++++++++++++++++ + fs/attr.c | 4 + + fs/autofs4/waitq.c | 9 + + fs/binfmt_aout.c | 7 + + fs/binfmt_elf.c | 40 +- + fs/compat.c | 20 +- + fs/coredump.c | 17 +- + fs/dcache.c | 3 + + fs/debugfs/inode.c | 19 +- + fs/exec.c | 243 +- + fs/ext2/balloc.c | 4 +- + fs/ext2/super.c | 8 +- + fs/ext4/balloc.c | 4 +- + fs/ext4/extents.c | 2 +- + fs/fcntl.c | 4 + + fs/fhandle.c | 3 +- + fs/file.c | 4 + + fs/filesystems.c | 4 + + fs/fs_struct.c | 20 +- + fs/hugetlbfs/inode.c | 5 +- + fs/inode.c | 8 +- + fs/ioctl.c | 1 + + fs/kernfs/dir.c | 6 + + fs/mount.h | 4 +- + fs/namei.c | 290 +- + fs/namespace.c | 24 + + fs/nfsd/nfscache.c | 2 +- + fs/open.c | 38 + + fs/overlayfs/inode.c | 3 + + fs/overlayfs/super.c | 6 +- + fs/pipe.c | 2 +- + fs/posix_acl.c | 15 +- + fs/proc/Kconfig | 10 +- + fs/proc/array.c | 67 +- + fs/proc/base.c | 193 +- + fs/proc/cmdline.c | 4 + + fs/proc/devices.c | 4 + + fs/proc/fd.c | 13 +- + fs/proc/generic.c | 64 + + fs/proc/inode.c | 17 + + fs/proc/internal.h | 18 +- + fs/proc/interrupts.c | 4 + + fs/proc/kcore.c | 3 + + fs/proc/proc_net.c | 31 + + fs/proc/proc_sysctl.c | 50 +- + fs/proc/root.c | 8 + + fs/proc/stat.c | 69 +- + fs/proc/task_mmu.c | 85 +- + fs/proc/task_nommu.c | 2 +- + fs/readdir.c | 19 + + fs/reiserfs/item_ops.c | 24 +- + fs/reiserfs/super.c | 4 + + fs/select.c | 2 + + fs/seq_file.c | 31 +- + fs/stat.c | 20 +- + fs/sysfs/dir.c | 30 +- + fs/utimes.c | 7 + + fs/xattr.c | 26 +- + fs/xfs/xfs_ioctl.c | 6 + + grsecurity/Kconfig | 1205 ++++ + grsecurity/Makefile | 54 + + grsecurity/gracl.c | 2773 +++++++++ + grsecurity/gracl_alloc.c | 105 + + grsecurity/gracl_cap.c | 96 + + grsecurity/gracl_compat.c | 269 + + grsecurity/gracl_fs.c | 448 ++ + grsecurity/gracl_ip.c | 387 ++ + grsecurity/gracl_learn.c | 209 + + grsecurity/gracl_policy.c | 1784 ++++++ + grsecurity/gracl_res.c | 74 + + grsecurity/gracl_segv.c | 306 + + grsecurity/gracl_shm.c | 40 + + grsecurity/grsec_chdir.c | 19 + + grsecurity/grsec_chroot.c | 506 ++ + grsecurity/grsec_disabled.c | 445 ++ + grsecurity/grsec_exec.c | 188 + + grsecurity/grsec_fifo.c | 26 + + grsecurity/grsec_fork.c | 23 + + grsecurity/grsec_init.c | 294 + + grsecurity/grsec_ipc.c | 48 + + grsecurity/grsec_link.c | 65 + + grsecurity/grsec_log.c | 340 + + grsecurity/grsec_mem.c | 48 + + grsecurity/grsec_mount.c | 65 + + grsecurity/grsec_pax.c | 47 + + grsecurity/grsec_proc.c | 20 + + grsecurity/grsec_ptrace.c | 30 + + grsecurity/grsec_sig.c | 248 + + grsecurity/grsec_sock.c | 244 + + grsecurity/grsec_sysctl.c | 497 ++ + grsecurity/grsec_time.c | 16 + + grsecurity/grsec_tpe.c | 78 + + grsecurity/grsec_tty.c | 18 + + grsecurity/grsec_usb.c | 15 + + grsecurity/grsum.c | 56 + + include/asm-generic/atomic-long.h | 2 + + include/asm-generic/atomic64.h | 1 + + include/asm-generic/pgtable-nopmd.h | 1 + + include/linux/atomic.h | 23 + + include/linux/binfmts.h | 5 +- + include/linux/capability.h | 13 + + include/linux/cdev.h | 2 +- + include/linux/compiler-gcc.h | 5 + + include/linux/compiler.h | 8 + + include/linux/cred.h | 8 +- + include/linux/dcache.h | 5 +- + include/linux/fs.h | 26 +- + include/linux/fs_struct.h | 2 +- + include/linux/fsnotify.h | 6 + + include/linux/gracl.h | 342 ++ + include/linux/gracl_compat.h | 156 + + include/linux/gralloc.h | 9 + + include/linux/grdefs.h | 140 + + include/linux/grinternal.h | 231 + + include/linux/grmsg.h | 120 + + include/linux/grsecurity.h | 259 + + include/linux/grsock.h | 19 + + include/linux/ipc.h | 2 +- + include/linux/ipc_namespace.h | 2 +- + include/linux/kallsyms.h | 18 +- + include/linux/key-type.h | 4 +- + include/linux/kmod.h | 5 + + include/linux/kobject.h | 2 +- + include/linux/lsm_hooks.h | 4 +- + include/linux/mm.h | 12 + + include/linux/mm_types.h | 4 +- + include/linux/module.h | 5 +- + include/linux/mount.h | 2 +- + include/linux/msg.h | 2 +- + include/linux/netfilter/xt_gradm.h | 9 + + include/linux/path.h | 4 +- + include/linux/perf_event.h | 13 +- + include/linux/pid_namespace.h | 2 +- + include/linux/printk.h | 3 +- + include/linux/proc_fs.h | 22 +- + include/linux/proc_ns.h | 2 +- + include/linux/random.h | 2 +- + include/linux/rbtree_augmented.h | 4 +- + include/linux/scatterlist.h | 12 +- + include/linux/sched.h | 135 +- + include/linux/security.h | 1 + + include/linux/sem.h | 2 +- + include/linux/seq_file.h | 5 + + include/linux/shm.h | 6 +- + include/linux/skbuff.h | 3 + + include/linux/slab.h | 9 - + include/linux/sysctl.h | 8 +- + include/linux/thread_info.h | 6 +- + include/linux/tty.h | 2 +- + include/linux/tty_driver.h | 4 +- + include/linux/uidgid.h | 6 + + include/linux/user_namespace.h | 2 +- + include/linux/utsname.h | 2 +- + include/linux/vermagic.h | 16 +- + include/linux/vmalloc.h | 8 + + include/net/af_unix.h | 2 +- + include/net/ip.h | 2 +- + include/net/neighbour.h | 2 +- + include/net/net_namespace.h | 2 +- + include/net/sock.h | 2 +- + include/trace/events/fs.h | 53 + + include/uapi/linux/personality.h | 1 + + init/Kconfig | 7 +- + init/main.c | 48 + + ipc/mqueue.c | 1 + + ipc/msg.c | 3 +- + ipc/msgutil.c | 4 +- + ipc/sem.c | 3 +- + ipc/shm.c | 26 +- + ipc/util.c | 6 + + kernel/auditsc.c | 2 +- + kernel/bpf/syscall.c | 10 +- + kernel/capability.c | 41 +- + kernel/cgroup.c | 5 +- + kernel/compat.c | 1 + + kernel/configs.c | 11 + + kernel/cred.c | 112 +- + kernel/events/core.c | 14 +- + kernel/exit.c | 10 +- + kernel/fork.c | 93 +- + kernel/futex.c | 4 +- + kernel/kallsyms.c | 9 + + kernel/kcmp.c | 4 + + kernel/kexec_core.c | 2 +- + kernel/kmod.c | 96 +- + kernel/kprobes.c | 9 +- + kernel/ksysfs.c | 2 + + kernel/locking/lockdep_proc.c | 10 +- + kernel/module.c | 108 +- + kernel/panic.c | 6 +- + kernel/pid.c | 18 +- + kernel/power/Kconfig | 2 + + kernel/printk/printk.c | 7 +- + kernel/ptrace.c | 50 +- + kernel/resource.c | 10 + + kernel/sched/core.c | 8 +- + kernel/sched/debug.c | 4 + + kernel/signal.c | 37 +- + kernel/sys.c | 64 +- + kernel/sysctl.c | 174 +- + kernel/taskstats.c | 6 + + kernel/time/posix-timers.c | 8 + + kernel/time/time.c | 5 + + kernel/time/timekeeping.c | 3 + + kernel/time/timer_list.c | 13 +- + kernel/time/timer_stats.c | 10 +- + kernel/trace/Kconfig | 6 + + kernel/trace/trace_syscalls.c | 8 + + kernel/user_namespace.c | 15 + + lib/Kconfig.debug | 13 +- + lib/is_single_threaded.c | 3 + + lib/list_debug.c | 65 +- + lib/nlattr.c | 2 + + lib/rbtree.c | 4 +- + lib/vsprintf.c | 42 +- + localversion-grsec | 1 + + mm/Kconfig | 8 +- + mm/Kconfig.debug | 1 + + mm/filemap.c | 1 + + mm/hugetlb.c | 12 + + mm/kmemleak.c | 4 +- + mm/memory.c | 2 +- + mm/mempolicy.c | 12 +- + mm/migrate.c | 3 +- + mm/mlock.c | 9 + + mm/mmap.c | 118 +- + mm/mprotect.c | 8 + + mm/page_alloc.c | 2 +- + mm/process_vm_access.c | 6 + + mm/shmem.c | 2 +- + mm/slab.c | 14 +- + mm/slab_common.c | 2 +- + mm/slob.c | 12 + + mm/slub.c | 33 +- + mm/util.c | 3 + + mm/vmalloc.c | 84 +- + mm/vmstat.c | 29 +- + net/appletalk/atalk_proc.c | 2 +- + net/atm/lec.c | 6 +- + net/atm/mpoa_caches.c | 43 +- + net/can/bcm.c | 2 +- + net/can/proc.c | 2 +- + net/core/dev_ioctl.c | 7 +- + net/core/filter.c | 8 +- + net/core/net-procfs.c | 17 +- + net/core/pktgen.c | 2 +- + net/core/sock.c | 23 +- + net/core/sysctl_net_core.c | 2 +- + net/decnet/dn_dev.c | 2 +- + net/ipv4/devinet.c | 6 +- + net/ipv4/inet_hashtables.c | 6 + + net/ipv4/ip_input.c | 7 + + net/ipv4/ip_sockglue.c | 3 +- + net/ipv4/netfilter/ipt_CLUSTERIP.c | 2 +- + net/ipv4/route.c | 6 +- + net/ipv4/tcp_input.c | 6 +- + net/ipv4/tcp_ipv4.c | 24 +- + net/ipv4/tcp_minisocks.c | 9 +- + net/ipv4/tcp_timer.c | 11 + + net/ipv4/udp.c | 23 + + net/ipv6/addrconf.c | 13 +- + net/ipv6/proc.c | 2 +- + net/ipv6/tcp_ipv6.c | 23 +- + net/ipv6/udp.c | 7 + + net/ipx/ipx_proc.c | 2 +- + net/irda/irproc.c | 2 +- + net/llc/llc_proc.c | 2 +- + net/netfilter/Kconfig | 10 + + net/netfilter/Makefile | 1 + + net/netfilter/xt_gradm.c | 51 + + net/netfilter/xt_hashlimit.c | 4 +- + net/netfilter/xt_recent.c | 2 +- + net/socket.c | 75 +- + net/sunrpc/Kconfig | 1 + + net/sunrpc/cache.c | 2 +- + net/sunrpc/stats.c | 2 +- + net/sysctl_net.c | 2 +- + net/unix/af_unix.c | 52 +- + net/vmw_vsock/vmci_transport_notify.c | 30 +- + net/vmw_vsock/vmci_transport_notify_qstate.c | 30 +- + net/x25/sysctl_net_x25.c | 2 +- + net/x25/x25_proc.c | 2 +- + scripts/Makefile.gcc-plugins | 7 +- + scripts/gcc-plugins/.gitignore | 1 + + scripts/gcc-plugins/Makefile | 10 + + scripts/gcc-plugins/gen-random-seed.sh | 8 + + scripts/gcc-plugins/randomize_layout_plugin.c | 940 +++ + .../size_overflow_plugin/size_overflow_hash.data | 296 +- + scripts/package/Makefile | 2 +- + scripts/package/mkspec | 41 +- + security/Kconfig | 366 +- + security/apparmor/file.c | 4 +- + security/apparmor/lsm.c | 6 +- + security/commoncap.c | 29 + + security/keys/internal.h | 2 +- + security/min_addr.c | 2 + + security/tomoyo/file.c | 12 +- + security/tomoyo/mount.c | 4 + + security/tomoyo/tomoyo.c | 20 +- + security/yama/Kconfig | 2 +- + sound/synth/emux/emux_seq.c | 14 +- + sound/usb/line6/driver.c | 40 +- + sound/usb/line6/toneport.c | 12 +- + 511 files changed, 32801 insertions(+), 3213 deletions(-) + +commit cb11f67628b6b8bd97c26b6223460789e4273364 +Author: Brad Spengler +Date: Fri Aug 12 18:15:59 2016 -0400 + + Initial import of pax-linux-4.7-test3.patch + + .gitignore | 1 + + Documentation/dontdiff | 46 +- + Documentation/kbuild/makefiles.txt | 39 +- + Documentation/kernel-parameters.txt | 28 + + Makefile | 20 +- + arch/Kconfig | 14 + + arch/alpha/include/asm/atomic.h | 10 + + arch/alpha/include/asm/elf.h | 7 + + arch/alpha/include/asm/pgalloc.h | 6 + + arch/alpha/include/asm/pgtable.h | 11 + + arch/alpha/kernel/module.c | 2 +- + arch/alpha/kernel/osf_sys.c | 8 +- + arch/alpha/mm/fault.c | 141 +- + arch/arm/Kconfig | 6 +- + arch/arm/boot/compressed/Makefile | 2 + + arch/arm/include/asm/atomic.h | 323 +- + arch/arm/include/asm/cache.h | 4 +- + arch/arm/include/asm/cacheflush.h | 2 +- + arch/arm/include/asm/checksum.h | 14 +- + arch/arm/include/asm/cmpxchg.h | 4 + + arch/arm/include/asm/cpuidle.h | 2 +- + arch/arm/include/asm/domain.h | 42 +- + arch/arm/include/asm/elf.h | 9 +- + arch/arm/include/asm/fncpy.h | 2 + + arch/arm/include/asm/futex.h | 1 + + arch/arm/include/asm/kmap_types.h | 2 +- + arch/arm/include/asm/mach/dma.h | 2 +- + arch/arm/include/asm/mach/map.h | 16 +- + arch/arm/include/asm/outercache.h | 2 +- + arch/arm/include/asm/page.h | 3 +- + arch/arm/include/asm/pgalloc.h | 20 + + arch/arm/include/asm/pgtable-2level-hwdef.h | 4 +- + arch/arm/include/asm/pgtable-2level.h | 3 + + arch/arm/include/asm/pgtable-3level.h | 3 + + arch/arm/include/asm/pgtable.h | 54 +- + arch/arm/include/asm/smp.h | 2 +- + arch/arm/include/asm/string.h | 10 +- + arch/arm/include/asm/thread_info.h | 3 + + arch/arm/include/asm/tls.h | 3 + + arch/arm/include/asm/uaccess.h | 113 +- + arch/arm/include/uapi/asm/ptrace.h | 2 +- + arch/arm/kernel/armksyms.c | 2 +- + arch/arm/kernel/cpuidle.c | 2 +- + arch/arm/kernel/entry-armv.S | 109 +- + arch/arm/kernel/entry-common.S | 40 +- + arch/arm/kernel/entry-header.S | 55 + + arch/arm/kernel/fiq.c | 3 + + arch/arm/kernel/module-plts.c | 7 +- + arch/arm/kernel/module.c | 38 +- + arch/arm/kernel/patch.c | 2 + + arch/arm/kernel/process.c | 86 +- + arch/arm/kernel/reboot.c | 1 + + arch/arm/kernel/setup.c | 20 +- + arch/arm/kernel/signal.c | 35 +- + arch/arm/kernel/smp.c | 2 +- + arch/arm/kernel/tcm.c | 4 +- + arch/arm/kernel/vmlinux.lds.S | 6 +- + arch/arm/kvm/arm.c | 8 +- + arch/arm/lib/copy_page.S | 1 + + arch/arm/lib/csumpartialcopyuser.S | 4 +- + arch/arm/lib/delay.c | 2 +- + arch/arm/lib/uaccess_with_memcpy.c | 4 +- + arch/arm/mach-exynos/suspend.c | 6 +- + arch/arm/mach-mmp/mmp2.c | 4 +- + arch/arm/mach-mmp/pxa910.c | 4 +- + arch/arm/mach-mvebu/coherency.c | 4 +- + arch/arm/mach-omap2/board-n8x0.c | 2 +- + arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 +- + arch/arm/mach-omap2/omap-smp.c | 1 + + arch/arm/mach-omap2/omap_device.c | 4 +- + arch/arm/mach-omap2/omap_device.h | 4 +- + arch/arm/mach-omap2/omap_hwmod.c | 4 +- + arch/arm/mach-omap2/powerdomains43xx_data.c | 5 +- + arch/arm/mach-omap2/wd_timer.c | 6 +- + arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +- + arch/arm/mach-shmobile/platsmp-apmu.c | 5 +- + arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +- + arch/arm/mach-tegra/irq.c | 1 + + arch/arm/mach-ux500/pm.c | 1 + + arch/arm/mach-zynq/platsmp.c | 1 + + arch/arm/mm/Kconfig | 6 +- + arch/arm/mm/cache-l2x0.c | 2 +- + arch/arm/mm/context.c | 10 +- + arch/arm/mm/fault.c | 160 + + arch/arm/mm/fault.h | 12 + + arch/arm/mm/init.c | 39 + + arch/arm/mm/ioremap.c | 4 +- + arch/arm/mm/mmap.c | 36 +- + arch/arm/mm/mmu.c | 162 +- + arch/arm/net/bpf_jit_32.c | 3 + + arch/arm/plat-iop/setup.c | 2 +- + arch/arm/plat-omap/sram.c | 2 + + arch/arm64/Kconfig | 1 + + arch/arm64/include/asm/atomic.h | 10 + + arch/arm64/include/asm/percpu.h | 8 +- + arch/arm64/include/asm/pgalloc.h | 5 + + arch/arm64/include/asm/string.h | 22 +- + arch/arm64/include/asm/uaccess.h | 1 + + arch/arm64/mm/dma-mapping.c | 2 +- + arch/avr32/include/asm/elf.h | 8 +- + arch/avr32/include/asm/kmap_types.h | 4 +- + arch/avr32/mm/fault.c | 27 + + arch/frv/include/asm/atomic.h | 10 + + arch/frv/include/asm/kmap_types.h | 2 +- + arch/frv/mm/elf-fdpic.c | 3 +- + arch/ia64/Makefile | 1 + + arch/ia64/include/asm/atomic.h | 10 + + arch/ia64/include/asm/elf.h | 7 + + arch/ia64/include/asm/pgalloc.h | 12 + + arch/ia64/include/asm/pgtable.h | 13 +- + arch/ia64/include/asm/spinlock.h | 2 +- + arch/ia64/include/asm/uaccess.h | 27 +- + arch/ia64/kernel/module.c | 20 +- + arch/ia64/kernel/palinfo.c | 2 +- + arch/ia64/kernel/sys_ia64.c | 7 + + arch/ia64/kernel/vmlinux.lds.S | 2 +- + arch/ia64/mm/fault.c | 32 +- + arch/ia64/mm/init.c | 15 +- + arch/m32r/lib/usercopy.c | 6 + + arch/mips/Kbuild | 2 +- + arch/mips/Kconfig | 1 + + arch/mips/cavium-octeon/dma-octeon.c | 2 +- + arch/mips/include/asm/atomic.h | 372 +- + arch/mips/include/asm/cache.h | 3 +- + arch/mips/include/asm/elf.h | 7 + + arch/mips/include/asm/exec.h | 2 +- + arch/mips/include/asm/hw_irq.h | 2 +- + arch/mips/include/asm/irq.h | 1 - + arch/mips/include/asm/local.h | 57 + + arch/mips/include/asm/page.h | 2 +- + arch/mips/include/asm/pgalloc.h | 5 + + arch/mips/include/asm/pgtable.h | 3 + + arch/mips/include/asm/uaccess.h | 1 + + arch/mips/kernel/binfmt_elfn32.c | 7 + + arch/mips/kernel/binfmt_elfo32.c | 7 + + arch/mips/kernel/irq-gt641xx.c | 2 +- + arch/mips/kernel/irq.c | 6 +- + arch/mips/kernel/pm-cps.c | 2 +- + arch/mips/kernel/process.c | 12 - + arch/mips/kernel/sync-r4k.c | 24 +- + arch/mips/kernel/traps.c | 13 +- + arch/mips/lib/ashldi3.c | 21 +- + arch/mips/lib/ashrdi3.c | 19 +- + arch/mips/lib/libgcc.h | 12 +- + arch/mips/mm/fault.c | 25 + + arch/mips/mm/init.c | 4 +- + arch/mips/mm/mmap.c | 24 +- + arch/mips/sgi-ip27/ip27-nmi.c | 6 +- + arch/mips/sni/rm200.c | 2 +- + arch/mips/vr41xx/common/icu.c | 2 +- + arch/mips/vr41xx/common/irq.c | 4 +- + arch/parisc/include/asm/atomic.h | 10 + + arch/parisc/include/asm/elf.h | 7 + + arch/parisc/include/asm/pgalloc.h | 6 + + arch/parisc/include/asm/pgtable.h | 11 + + arch/parisc/include/asm/uaccess.h | 4 +- + arch/parisc/kernel/module.c | 26 +- + arch/parisc/kernel/sys_parisc.c | 15 + + arch/parisc/kernel/traps.c | 4 +- + arch/parisc/mm/fault.c | 140 +- + arch/powerpc/Kconfig | 1 + + arch/powerpc/include/asm/atomic.h | 317 +- + arch/powerpc/include/asm/book3s/32/hash.h | 1 + + arch/powerpc/include/asm/book3s/64/pgalloc.h | 10 + + arch/powerpc/include/asm/elf.h | 12 + + arch/powerpc/include/asm/exec.h | 2 +- + arch/powerpc/include/asm/kmap_types.h | 2 +- + arch/powerpc/include/asm/local.h | 46 + + arch/powerpc/include/asm/mman.h | 2 +- + arch/powerpc/include/asm/nohash/64/pgalloc.h | 7 + + arch/powerpc/include/asm/page.h | 8 +- + arch/powerpc/include/asm/page_64.h | 7 +- + arch/powerpc/include/asm/pgtable.h | 1 + + arch/powerpc/include/asm/reg.h | 1 + + arch/powerpc/include/asm/smp.h | 2 +- + arch/powerpc/include/asm/spinlock.h | 42 +- + arch/powerpc/include/asm/string.h | 18 +- + arch/powerpc/include/asm/uaccess.h | 141 +- + arch/powerpc/kernel/Makefile | 5 + + arch/powerpc/kernel/exceptions-64e.S | 4 +- + arch/powerpc/kernel/exceptions-64s.S | 2 +- + arch/powerpc/kernel/module_32.c | 15 +- + arch/powerpc/kernel/process.c | 7 - + arch/powerpc/kernel/signal_32.c | 2 +- + arch/powerpc/kernel/signal_64.c | 2 +- + arch/powerpc/kernel/traps.c | 21 + + arch/powerpc/kernel/vdso.c | 5 +- + arch/powerpc/lib/usercopy_64.c | 18 - + arch/powerpc/mm/fault.c | 56 +- + arch/powerpc/mm/mmap.c | 16 + + arch/powerpc/mm/slice.c | 21 +- + arch/powerpc/platforms/cell/spufs/file.c | 4 +- + arch/s390/include/asm/atomic.h | 10 + + arch/s390/include/asm/elf.h | 7 + + arch/s390/include/asm/exec.h | 2 +- + arch/s390/include/asm/uaccess.h | 13 +- + arch/s390/kernel/module.c | 22 +- + arch/s390/kernel/process.c | 7 - + arch/s390/mm/mmap.c | 22 +- + arch/score/include/asm/exec.h | 2 +- + arch/score/kernel/process.c | 5 - + arch/sh/mm/mmap.c | 28 +- + arch/sparc/Kconfig | 1 + + arch/sparc/include/asm/atomic_64.h | 116 +- + arch/sparc/include/asm/cache.h | 2 +- + arch/sparc/include/asm/elf_32.h | 7 + + arch/sparc/include/asm/elf_64.h | 7 + + arch/sparc/include/asm/pgalloc_32.h | 1 + + arch/sparc/include/asm/pgalloc_64.h | 1 + + arch/sparc/include/asm/pgtable.h | 4 + + arch/sparc/include/asm/pgtable_32.h | 15 +- + arch/sparc/include/asm/pgtsrmmu.h | 5 + + arch/sparc/include/asm/setup.h | 4 +- + arch/sparc/include/asm/spinlock_64.h | 35 +- + arch/sparc/include/asm/thread_info_32.h | 1 + + arch/sparc/include/asm/thread_info_64.h | 2 + + arch/sparc/include/asm/uaccess.h | 1 + + arch/sparc/include/asm/uaccess_32.h | 28 +- + arch/sparc/include/asm/uaccess_64.h | 24 +- + arch/sparc/kernel/Makefile | 2 +- + arch/sparc/kernel/prom_common.c | 2 +- + arch/sparc/kernel/smp_64.c | 8 +- + arch/sparc/kernel/sys_sparc_32.c | 2 +- + arch/sparc/kernel/sys_sparc_64.c | 58 +- + arch/sparc/kernel/traps_64.c | 27 +- + arch/sparc/lib/Makefile | 2 +- + arch/sparc/lib/atomic_64.S | 57 +- + arch/sparc/lib/ksyms.c | 6 +- + arch/sparc/mm/Makefile | 2 +- + arch/sparc/mm/fault_32.c | 292 + + arch/sparc/mm/fault_64.c | 486 + + arch/sparc/mm/hugetlbpage.c | 30 +- + arch/sparc/mm/init_64.c | 10 +- + arch/tile/include/asm/atomic_64.h | 10 + + arch/tile/include/asm/uaccess.h | 4 +- + arch/um/Makefile | 2 + + arch/um/include/asm/kmap_types.h | 2 +- + arch/um/include/asm/page.h | 3 + + arch/um/include/asm/pgtable-3level.h | 1 + + arch/um/kernel/process.c | 16 - + arch/x86/Kconfig | 33 +- + arch/x86/Kconfig.cpu | 6 +- + arch/x86/Kconfig.debug | 3 +- + arch/x86/Makefile | 13 +- + arch/x86/boot/bitops.h | 4 +- + arch/x86/boot/boot.h | 2 +- + arch/x86/boot/compressed/Makefile | 17 + + arch/x86/boot/compressed/efi_stub_32.S | 16 +- + arch/x86/boot/compressed/efi_thunk_64.S | 4 +- + arch/x86/boot/compressed/head_32.S | 4 +- + arch/x86/boot/compressed/head_64.S | 12 +- + arch/x86/boot/compressed/misc.c | 19 +- + arch/x86/boot/compressed/pagetable.c | 1 + + arch/x86/boot/cpucheck.c | 16 +- + arch/x86/boot/header.S | 7 +- + arch/x86/boot/memory.c | 2 +- + arch/x86/boot/video-vesa.c | 1 + + arch/x86/boot/video.c | 2 +- + arch/x86/crypto/aes-x86_64-asm_64.S | 4 + + arch/x86/crypto/aesni-intel_asm.S | 116 +- + arch/x86/crypto/aesni-intel_glue.c | 4 +- + arch/x86/crypto/blowfish-x86_64-asm_64.S | 11 +- + arch/x86/crypto/camellia-aesni-avx-asm_64.S | 22 +- + arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 22 +- + arch/x86/crypto/camellia-x86_64-asm_64.S | 11 +- + arch/x86/crypto/camellia_aesni_avx2_glue.c | 18 +- + arch/x86/crypto/camellia_aesni_avx_glue.c | 18 +- + arch/x86/crypto/camellia_glue.c | 8 +- + arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 55 +- + arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 37 +- + arch/x86/crypto/cast6_avx_glue.c | 16 +- + arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 + + arch/x86/crypto/ghash-clmulni-intel_asm.S | 4 + + arch/x86/crypto/glue_helper.c | 2 +- + arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 + + arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 21 +- + arch/x86/crypto/serpent-avx2-asm_64.S | 21 +- + arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 + + arch/x86/crypto/serpent_avx2_glue.c | 14 +- + arch/x86/crypto/serpent_avx_glue.c | 18 +- + arch/x86/crypto/serpent_sse2_glue.c | 4 +- + arch/x86/crypto/sha-mb/sha1_mb_mgr_flush_avx2.S | 4 +- + arch/x86/crypto/sha-mb/sha1_mb_mgr_submit_avx2.S | 2 +- + arch/x86/crypto/sha1_ssse3_asm.S | 13 +- + arch/x86/crypto/sha1_ssse3_glue.c | 56 +- + arch/x86/crypto/sha256-avx-asm.S | 5 +- + arch/x86/crypto/sha256-avx2-asm.S | 5 +- + arch/x86/crypto/sha256-ssse3-asm.S | 6 +- + arch/x86/crypto/sha256_ni_asm.S | 2 +- + arch/x86/crypto/sha256_ssse3_glue.c | 26 +- + arch/x86/crypto/sha512-avx-asm.S | 5 +- + arch/x86/crypto/sha512-avx2-asm.S | 5 +- + arch/x86/crypto/sha512-ssse3-asm.S | 5 +- + arch/x86/crypto/sha512_ssse3_glue.c | 22 +- + arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 37 +- + arch/x86/crypto/twofish-i586-asm_32.S | 4 +- + arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 6 +- + arch/x86/crypto/twofish-x86_64-asm_64.S | 7 +- + arch/x86/crypto/twofish_avx_glue.c | 21 +- + arch/x86/crypto/twofish_glue.c | 4 +- + arch/x86/crypto/twofish_glue_3way.c | 12 +- + arch/x86/entry/Makefile | 2 + + arch/x86/entry/calling.h | 86 +- + arch/x86/entry/common.c | 89 +- + arch/x86/entry/entry_32.S | 330 +- + arch/x86/entry/entry_64.S | 593 +- + arch/x86/entry/entry_64_compat.S | 110 +- + arch/x86/entry/thunk_64.S | 2 + + arch/x86/entry/vdso/Makefile | 5 +- + arch/x86/entry/vdso/vclock_gettime.c | 2 +- + arch/x86/entry/vdso/vdso2c.h | 4 +- + arch/x86/entry/vdso/vma.c | 42 +- + arch/x86/entry/vsyscall/vsyscall_64.c | 20 +- + arch/x86/entry/vsyscall/vsyscall_emu_64.S | 3 +- + arch/x86/events/amd/iommu.c | 8 +- + arch/x86/events/core.c | 8 +- + arch/x86/events/intel/bts.c | 6 +- + arch/x86/events/intel/core.c | 34 +- + arch/x86/events/intel/cqm.c | 14 +- + arch/x86/events/intel/cstate.c | 6 +- + arch/x86/events/intel/ds.c | 7 +- + arch/x86/events/intel/lbr.c | 4 +- + arch/x86/events/intel/pt.c | 38 +- + arch/x86/events/intel/rapl.c | 8 +- + arch/x86/events/intel/uncore.c | 6 +- + arch/x86/events/intel/uncore.h | 14 +- + arch/x86/events/perf_event.h | 2 +- + arch/x86/ia32/ia32_signal.c | 23 +- + arch/x86/ia32/sys_ia32.c | 42 +- + arch/x86/include/asm/alternative-asm.h | 43 +- + arch/x86/include/asm/alternative.h | 4 +- + arch/x86/include/asm/apic.h | 2 +- + arch/x86/include/asm/apm.h | 4 +- + arch/x86/include/asm/atomic.h | 230 +- + arch/x86/include/asm/atomic64_32.h | 131 + + arch/x86/include/asm/atomic64_64.h | 169 +- + arch/x86/include/asm/bitops.h | 18 +- + arch/x86/include/asm/boot.h | 2 +- + arch/x86/include/asm/cache.h | 4 +- + arch/x86/include/asm/checksum_32.h | 12 +- + arch/x86/include/asm/cmpxchg.h | 39 + + arch/x86/include/asm/compat.h | 4 + + arch/x86/include/asm/cpufeature.h | 2 +- + arch/x86/include/asm/cpufeatures.h | 5 +- + arch/x86/include/asm/crypto/camellia.h | 30 +- + arch/x86/include/asm/crypto/glue_helper.h | 10 +- + arch/x86/include/asm/crypto/serpent-avx.h | 18 +- + arch/x86/include/asm/crypto/serpent-sse2.h | 8 +- + arch/x86/include/asm/crypto/twofish.h | 10 +- + arch/x86/include/asm/desc.h | 78 +- + arch/x86/include/asm/desc_defs.h | 6 + + arch/x86/include/asm/div64.h | 2 +- + arch/x86/include/asm/dma.h | 2 + + arch/x86/include/asm/efi.h | 5 + + arch/x86/include/asm/elf.h | 33 +- + arch/x86/include/asm/emergency-restart.h | 2 +- + arch/x86/include/asm/fixmap.h | 2 +- + arch/x86/include/asm/fpu/internal.h | 38 +- + arch/x86/include/asm/fpu/types.h | 5 +- + arch/x86/include/asm/futex.h | 14 +- + arch/x86/include/asm/hw_irq.h | 4 +- + arch/x86/include/asm/hypervisor.h | 2 +- + arch/x86/include/asm/i8259.h | 2 +- + arch/x86/include/asm/io.h | 22 +- + arch/x86/include/asm/irqflags.h | 5 + + arch/x86/include/asm/kprobes.h | 2 +- + arch/x86/include/asm/kvm_emulate.h | 7 +- + arch/x86/include/asm/local.h | 106 +- + arch/x86/include/asm/mce.h | 2 +- + arch/x86/include/asm/mman.h | 15 + + arch/x86/include/asm/mmu.h | 14 +- + arch/x86/include/asm/mmu_context.h | 33 +- + arch/x86/include/asm/module.h | 23 +- + arch/x86/include/asm/nmi.h | 19 +- + arch/x86/include/asm/page.h | 2 + + arch/x86/include/asm/page_32.h | 12 +- + arch/x86/include/asm/page_64.h | 14 +- + arch/x86/include/asm/paravirt.h | 46 +- + arch/x86/include/asm/paravirt_types.h | 13 +- + arch/x86/include/asm/pgalloc.h | 23 + + arch/x86/include/asm/pgtable-2level.h | 2 + + arch/x86/include/asm/pgtable-3level.h | 7 + + arch/x86/include/asm/pgtable.h | 128 +- + arch/x86/include/asm/pgtable_32.h | 14 +- + arch/x86/include/asm/pgtable_32_types.h | 24 +- + arch/x86/include/asm/pgtable_64.h | 23 +- + arch/x86/include/asm/pgtable_64_types.h | 5 + + arch/x86/include/asm/pgtable_types.h | 27 +- + arch/x86/include/asm/pmem.h | 2 +- + arch/x86/include/asm/preempt.h | 2 +- + arch/x86/include/asm/processor.h | 57 +- + arch/x86/include/asm/ptrace.h | 15 +- + arch/x86/include/asm/realmode.h | 4 +- + arch/x86/include/asm/reboot.h | 10 +- + arch/x86/include/asm/rmwcc.h | 84 +- + arch/x86/include/asm/rwsem.h | 63 +- + arch/x86/include/asm/segment.h | 27 +- + arch/x86/include/asm/smap.h | 43 + + arch/x86/include/asm/smp.h | 14 +- + arch/x86/include/asm/stackprotector.h | 4 +- + arch/x86/include/asm/stacktrace.h | 34 +- + arch/x86/include/asm/string_32.h | 20 +- + arch/x86/include/asm/string_64.h | 16 +- + arch/x86/include/asm/switch_to.h | 4 +- + arch/x86/include/asm/sys_ia32.h | 6 +- + arch/x86/include/asm/thread_info.h | 54 +- + arch/x86/include/asm/tlbflush.h | 77 +- + arch/x86/include/asm/traps.h | 4 +- + arch/x86/include/asm/uaccess.h | 210 +- + arch/x86/include/asm/uaccess_32.h | 28 +- + arch/x86/include/asm/uaccess_64.h | 170 +- + arch/x86/include/asm/word-at-a-time.h | 2 +- + arch/x86/include/asm/x86_init.h | 8 +- + arch/x86/include/asm/xen/page.h | 2 +- + arch/x86/include/uapi/asm/e820.h | 2 +- + arch/x86/kernel/Makefile | 2 +- + arch/x86/kernel/acpi/boot.c | 4 +- + arch/x86/kernel/acpi/sleep.c | 4 + + arch/x86/kernel/acpi/wakeup_32.S | 6 +- + arch/x86/kernel/alternative.c | 113 +- + arch/x86/kernel/apic/apic.c | 4 +- + arch/x86/kernel/apic/apic_flat_64.c | 6 +- + arch/x86/kernel/apic/apic_noop.c | 2 +- + arch/x86/kernel/apic/bigsmp_32.c | 2 +- + arch/x86/kernel/apic/io_apic.c | 10 +- + arch/x86/kernel/apic/msi.c | 2 +- + arch/x86/kernel/apic/probe_32.c | 4 +- + arch/x86/kernel/apic/vector.c | 2 + + arch/x86/kernel/apic/x2apic_cluster.c | 2 +- + arch/x86/kernel/apic/x2apic_phys.c | 2 +- + arch/x86/kernel/apic/x2apic_uv_x.c | 2 +- + arch/x86/kernel/apm_32.c | 21 +- + arch/x86/kernel/asm-offsets.c | 21 + + arch/x86/kernel/cpu/Makefile | 4 - + arch/x86/kernel/cpu/amd.c | 2 +- + arch/x86/kernel/cpu/bugs_64.c | 2 + + arch/x86/kernel/cpu/common.c | 206 +- + arch/x86/kernel/cpu/intel_cacheinfo.c | 14 +- + arch/x86/kernel/cpu/mcheck/mce.c | 38 +- + arch/x86/kernel/cpu/mcheck/p5.c | 3 + + arch/x86/kernel/cpu/mcheck/winchip.c | 3 + + arch/x86/kernel/cpu/microcode/intel.c | 4 +- + arch/x86/kernel/cpu/mshyperv.c | 2 +- + arch/x86/kernel/cpu/mtrr/generic.c | 6 +- + arch/x86/kernel/cpu/mtrr/main.c | 2 +- + arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +- + arch/x86/kernel/cpu/vmware.c | 2 +- + arch/x86/kernel/crash_dump_64.c | 2 +- + arch/x86/kernel/doublefault.c | 8 +- + arch/x86/kernel/dumpstack.c | 14 +- + arch/x86/kernel/dumpstack_32.c | 23 +- + arch/x86/kernel/dumpstack_64.c | 70 +- + arch/x86/kernel/e820.c | 4 +- + arch/x86/kernel/early_printk.c | 1 + + arch/x86/kernel/espfix_64.c | 44 +- + arch/x86/kernel/fpu/core.c | 30 +- + arch/x86/kernel/fpu/init.c | 49 +- + arch/x86/kernel/fpu/regset.c | 22 +- + arch/x86/kernel/fpu/signal.c | 20 +- + arch/x86/kernel/fpu/xstate.c | 12 +- + arch/x86/kernel/ftrace.c | 18 +- + arch/x86/kernel/head64.c | 14 +- + arch/x86/kernel/head_32.S | 236 +- + arch/x86/kernel/head_64.S | 179 +- + arch/x86/kernel/i386_ksyms_32.c | 12 + + arch/x86/kernel/i8259.c | 10 +- + arch/x86/kernel/io_delay.c | 2 +- + arch/x86/kernel/ioport.c | 2 +- + arch/x86/kernel/irq.c | 8 +- + arch/x86/kernel/irq_32.c | 43 +- + arch/x86/kernel/jump_label.c | 10 +- + arch/x86/kernel/kgdb.c | 21 +- + arch/x86/kernel/kprobes/core.c | 28 +- + arch/x86/kernel/kprobes/opt.c | 16 +- + arch/x86/kernel/ksysfs.c | 2 +- + arch/x86/kernel/kvm.c | 2 +- + arch/x86/kernel/kvmclock.c | 20 +- + arch/x86/kernel/ldt.c | 25 + + arch/x86/kernel/machine_kexec_32.c | 6 +- + arch/x86/kernel/mcount_64.S | 21 +- + arch/x86/kernel/module.c | 78 +- + arch/x86/kernel/msr.c | 2 +- + arch/x86/kernel/nmi.c | 34 +- + arch/x86/kernel/nmi_selftest.c | 4 +- + arch/x86/kernel/paravirt-spinlocks.c | 24 +- + arch/x86/kernel/paravirt.c | 133 +- + arch/x86/kernel/paravirt_patch_64.c | 8 + + arch/x86/kernel/pci-calgary_64.c | 2 +- + arch/x86/kernel/pci-iommu_table.c | 2 +- + arch/x86/kernel/pci-swiotlb.c | 2 +- + arch/x86/kernel/process.c | 80 +- + arch/x86/kernel/process_32.c | 29 +- + arch/x86/kernel/process_64.c | 14 +- + arch/x86/kernel/ptrace.c | 20 +- + arch/x86/kernel/pvclock.c | 8 +- + arch/x86/kernel/reboot.c | 44 +- + arch/x86/kernel/reboot_fixups_32.c | 2 +- + arch/x86/kernel/relocate_kernel_64.S | 3 +- + arch/x86/kernel/setup.c | 29 +- + arch/x86/kernel/setup_percpu.c | 29 +- + arch/x86/kernel/signal.c | 17 +- + arch/x86/kernel/smp.c | 2 +- + arch/x86/kernel/smpboot.c | 29 +- + arch/x86/kernel/step.c | 6 +- + arch/x86/kernel/sys_i386_32.c | 184 + + arch/x86/kernel/sys_x86_64.c | 28 +- + arch/x86/kernel/tboot.c | 22 +- + arch/x86/kernel/time.c | 8 +- + arch/x86/kernel/tls.c | 7 +- + arch/x86/kernel/tracepoint.c | 4 +- + arch/x86/kernel/traps.c | 64 +- + arch/x86/kernel/tsc.c | 2 +- + arch/x86/kernel/uprobes.c | 4 +- + arch/x86/kernel/vm86_32.c | 6 +- + arch/x86/kernel/vmlinux.lds.S | 144 +- + arch/x86/kernel/x8664_ksyms_64.c | 6 +- + arch/x86/kernel/x86_init.c | 6 +- + arch/x86/kvm/cpuid.c | 21 +- + arch/x86/kvm/emulate.c | 20 +- + arch/x86/kvm/i8259.c | 10 +- + arch/x86/kvm/ioapic.c | 2 + + arch/x86/kvm/lapic.c | 2 +- + arch/x86/kvm/paging_tmpl.h | 2 +- + arch/x86/kvm/svm.c | 10 +- + arch/x86/kvm/vmx.c | 60 +- + arch/x86/kvm/x86.c | 44 +- + arch/x86/lguest/boot.c | 3 +- + arch/x86/lib/atomic64_386_32.S | 164 + + arch/x86/lib/atomic64_cx8_32.S | 98 +- + arch/x86/lib/checksum_32.S | 99 +- + arch/x86/lib/clear_page_64.S | 3 + + arch/x86/lib/cmpxchg16b_emu.S | 3 + + arch/x86/lib/copy_page_64.S | 14 +- + arch/x86/lib/copy_user_64.S | 66 +- + arch/x86/lib/csum-copy_64.S | 14 +- + arch/x86/lib/csum-wrappers_64.c | 8 +- + arch/x86/lib/getuser.S | 74 +- + arch/x86/lib/insn.c | 8 +- + arch/x86/lib/iomap_copy_64.S | 2 + + arch/x86/lib/memcpy_64.S | 6 + + arch/x86/lib/memmove_64.S | 3 +- + arch/x86/lib/memset_64.S | 3 + + arch/x86/lib/mmx_32.c | 243 +- + arch/x86/lib/msr-reg.S | 2 + + arch/x86/lib/putuser.S | 87 +- + arch/x86/lib/rwsem.S | 4 + + arch/x86/lib/usercopy_32.c | 359 +- + arch/x86/lib/usercopy_64.c | 22 +- + arch/x86/math-emu/fpu_aux.c | 2 +- + arch/x86/math-emu/fpu_entry.c | 4 +- + arch/x86/math-emu/fpu_etc.c | 9 +- + arch/x86/math-emu/fpu_system.h | 2 +- + arch/x86/math-emu/fpu_trig.c | 13 +- + arch/x86/math-emu/reg_constant.c | 7 +- + arch/x86/mm/Makefile | 3 + + arch/x86/mm/dump_pagetables.c | 32 +- + arch/x86/mm/extable.c | 20 +- + arch/x86/mm/fault.c | 572 +- + arch/x86/mm/gup.c | 6 +- + arch/x86/mm/highmem_32.c | 6 + + arch/x86/mm/hugetlbpage.c | 24 +- + arch/x86/mm/init.c | 19 +- + arch/x86/mm/init_32.c | 156 +- + arch/x86/mm/init_64.c | 106 +- + arch/x86/mm/iomap_32.c | 4 + + arch/x86/mm/ioremap.c | 54 +- + arch/x86/mm/kmemcheck/kmemcheck.c | 4 +- + arch/x86/mm/mmap.c | 46 +- + arch/x86/mm/mmio-mod.c | 10 +- + arch/x86/mm/mpx.c | 6 +- + arch/x86/mm/numa.c | 2 +- + arch/x86/mm/pageattr.c | 38 +- + arch/x86/mm/pat.c | 12 +- + arch/x86/mm/pat_rbtree.c | 2 +- + arch/x86/mm/pf_in.c | 10 +- + arch/x86/mm/pgtable.c | 211 +- + arch/x86/mm/pgtable_32.c | 3 + + arch/x86/mm/setup_nx.c | 7 + + arch/x86/mm/tlb.c | 104 +- + arch/x86/mm/uderef_64.c | 37 + + arch/x86/net/bpf_jit.S | 11 + + arch/x86/net/bpf_jit_comp.c | 13 +- + arch/x86/oprofile/backtrace.c | 6 +- + arch/x86/oprofile/nmi_int.c | 10 +- + arch/x86/oprofile/op_model_amd.c | 8 +- + arch/x86/oprofile/op_model_ppro.c | 7 +- + arch/x86/oprofile/op_x86_model.h | 2 +- + arch/x86/pci/intel_mid_pci.c | 2 +- + arch/x86/pci/irq.c | 8 +- + arch/x86/pci/pcbios.c | 112 +- + arch/x86/pci/vmd.c | 4 +- + arch/x86/platform/efi/efi_32.c | 24 + + arch/x86/platform/efi/efi_64.c | 26 +- + arch/x86/platform/efi/efi_stub_32.S | 64 +- + arch/x86/platform/efi/efi_stub_64.S | 2 + + arch/x86/platform/intel-mid/intel-mid.c | 5 +- + arch/x86/platform/intel-mid/intel_mid_weak_decls.h | 6 +- + arch/x86/platform/intel-mid/mfld.c | 4 +- + arch/x86/platform/intel-mid/mrfl.c | 2 +- + arch/x86/platform/intel-quark/imr_selftest.c | 2 +- + arch/x86/platform/olpc/olpc_dt.c | 2 +- + arch/x86/power/cpu.c | 11 +- + arch/x86/realmode/init.c | 10 +- + arch/x86/realmode/rm/header.S | 4 +- + arch/x86/realmode/rm/reboot.S | 4 + + arch/x86/realmode/rm/trampoline_32.S | 12 +- + arch/x86/realmode/rm/trampoline_64.S | 3 +- + arch/x86/realmode/rm/wakeup_asm.S | 5 +- + arch/x86/tools/Makefile | 2 +- + arch/x86/tools/relocs.c | 97 +- + arch/x86/um/mem_32.c | 2 +- + arch/x86/um/tls_32.c | 2 +- + arch/x86/xen/enlighten.c | 52 +- + arch/x86/xen/mmu.c | 31 +- + arch/x86/xen/smp.c | 16 +- + arch/x86/xen/xen-asm_32.S | 2 +- + arch/x86/xen/xen-head.S | 12 + + arch/x86/xen/xen-ops.h | 2 - + block/bio.c | 4 +- + block/blk-cgroup.c | 18 +- + block/blk-map.c | 2 +- + block/blk-softirq.c | 2 +- + block/bsg.c | 12 +- + block/cfq-iosched.c | 4 +- + block/compat_ioctl.c | 4 +- + block/genhd.c | 9 +- + block/partitions/efi.c | 8 +- + block/scsi_ioctl.c | 29 +- + crypto/cast6_generic.c | 6 +- + crypto/cryptd.c | 4 +- + crypto/crypto_user.c | 2 +- + crypto/pcrypt.c | 2 +- + crypto/salsa20_generic.c | 16 +- + crypto/serpent_generic.c | 6 +- + drivers/acpi/ac.c | 2 +- + drivers/acpi/acpi_video.c | 2 +- + drivers/acpi/apei/apei-internal.h | 2 +- + drivers/acpi/apei/ghes.c | 10 +- + drivers/acpi/battery.c | 2 +- + drivers/acpi/bgrt.c | 6 +- + drivers/acpi/blacklist.c | 6 +- + drivers/acpi/bus.c | 4 +- + drivers/acpi/device_pm.c | 4 +- + drivers/acpi/ec.c | 6 +- + drivers/acpi/osi.c | 2 +- + drivers/acpi/pci_slot.c | 2 +- + drivers/acpi/processor_idle.c | 2 +- + drivers/acpi/processor_pdc.c | 2 +- + drivers/acpi/sleep.c | 2 +- + drivers/acpi/sysfs.c | 14 +- + drivers/acpi/thermal.c | 2 +- + drivers/acpi/video_detect.c | 7 +- + drivers/android/binder.c | 2 +- + drivers/ata/libata-core.c | 12 +- + drivers/ata/libata-scsi.c | 2 +- + drivers/ata/libata.h | 2 +- + drivers/ata/pata_arasan_cf.c | 4 +- + drivers/atm/adummy.c | 2 +- + drivers/atm/ambassador.c | 8 +- + drivers/atm/atmtcp.c | 14 +- + drivers/atm/eni.c | 10 +- + drivers/atm/firestream.c | 8 +- + drivers/atm/fore200e.c | 14 +- + drivers/atm/he.c | 18 +- + drivers/atm/horizon.c | 4 +- + drivers/atm/idt77252.c | 36 +- + drivers/atm/iphase.c | 34 +- + drivers/atm/lanai.c | 12 +- + drivers/atm/nicstar.c | 46 +- + drivers/atm/solos-pci.c | 4 +- + drivers/atm/suni.c | 4 +- + drivers/atm/uPD98402.c | 16 +- + drivers/atm/zatm.c | 6 +- + drivers/base/bus.c | 4 +- + drivers/base/devres.c | 4 +- + drivers/base/devtmpfs.c | 8 +- + drivers/base/node.c | 2 +- + drivers/base/platform-msi.c | 20 +- + drivers/base/power/domain.c | 6 +- + drivers/base/power/runtime.c | 61 +- + drivers/base/power/sysfs.c | 2 +- + drivers/base/power/wakeup.c | 8 +- + drivers/base/regmap/regmap-debugfs.c | 4 +- + drivers/base/regmap/regmap.c | 4 +- + drivers/base/syscore.c | 4 +- + drivers/block/cciss.c | 28 +- + drivers/block/cciss.h | 2 +- + drivers/block/drbd/drbd_bitmap.c | 2 +- + drivers/block/drbd/drbd_int.h | 12 +- + drivers/block/drbd/drbd_main.c | 12 +- + drivers/block/drbd/drbd_nl.c | 16 +- + drivers/block/drbd/drbd_receiver.c | 38 +- + drivers/block/drbd/drbd_state.c | 12 +- + drivers/block/drbd/drbd_state.h | 2 +- + drivers/block/drbd/drbd_state_change.h | 8 +- + drivers/block/drbd/drbd_worker.c | 14 +- + drivers/block/floppy.c | 8 +- + drivers/block/pktcdvd.c | 4 +- + drivers/block/rbd.c | 2 +- + drivers/bluetooth/btwilink.c | 2 +- + drivers/bus/arm-cci.c | 6 +- + drivers/cdrom/cdrom.c | 11 +- + drivers/cdrom/gdrom.c | 1 - + drivers/char/agp/compat_ioctl.c | 2 +- + drivers/char/agp/frontend.c | 4 +- + drivers/char/agp/intel-gtt.c | 4 +- + drivers/char/hpet.c | 2 +- + drivers/char/ipmi/ipmi_msghandler.c | 8 +- + drivers/char/ipmi/ipmi_poweroff.c | 2 +- + drivers/char/ipmi/ipmi_si_intf.c | 12 +- + drivers/char/ipmi/ipmi_ssif.c | 12 +- + drivers/char/mem.c | 47 +- + drivers/char/nvram.c | 2 +- + drivers/char/pcmcia/synclink_cs.c | 16 +- + drivers/char/random.c | 12 +- + drivers/char/sonypi.c | 11 +- + drivers/char/tpm/tpm-chip.c | 7 +- + drivers/char/tpm/tpm_acpi.c | 3 +- + drivers/char/tpm/tpm_eventlog.c | 5 +- + drivers/char/virtio_console.c | 6 +- + drivers/clk/clk-composite.c | 2 +- + drivers/clk/samsung/clk.h | 2 +- + drivers/clk/socfpga/clk-gate-a10.c | 9 +- + drivers/clk/socfpga/clk-gate.c | 9 +- + drivers/clk/socfpga/clk-pll-a10.c | 9 +- + drivers/clk/socfpga/clk-pll.c | 9 +- + drivers/clk/ti/adpll.c | 2 +- + drivers/clk/ti/clk.c | 8 +- + drivers/cpufreq/acpi-cpufreq.c | 17 +- + drivers/cpufreq/cpufreq-dt.c | 4 +- + drivers/cpufreq/cpufreq.c | 27 +- + drivers/cpufreq/cpufreq_governor.h | 2 +- + drivers/cpufreq/cpufreq_ondemand.c | 10 +- + drivers/cpufreq/intel_pstate.c | 56 +- + drivers/cpufreq/p4-clockmod.c | 12 +- + drivers/cpufreq/sparc-us3-cpufreq.c | 67 +- + drivers/cpufreq/speedstep-centrino.c | 7 +- + drivers/cpuidle/driver.c | 2 +- + drivers/cpuidle/dt_idle_states.c | 2 +- + drivers/cpuidle/governor.c | 2 +- + drivers/cpuidle/governors/ladder.c | 13 +- + drivers/cpuidle/sysfs.c | 2 +- + drivers/crypto/hifn_795x.c | 4 +- + drivers/crypto/qat/qat_common/adf_aer.c | 2 +- + drivers/crypto/qat/qat_common/adf_sriov.c | 4 +- + drivers/crypto/qat/qat_common/adf_vf_isr.c | 6 +- + drivers/devfreq/devfreq.c | 4 +- + drivers/devfreq/governor_passive.c | 2 +- + drivers/dma-buf/dma-buf.c | 5 +- + drivers/dma/qcom/hidma.c | 2 +- + drivers/dma/qcom/hidma_mgmt_sys.c | 2 +- + drivers/dma/sh/shdma-base.c | 4 +- + drivers/dma/sh/shdmac.c | 2 +- + drivers/edac/edac_device.c | 4 +- + drivers/edac/edac_device_sysfs.c | 2 +- + drivers/edac/edac_mc_sysfs.c | 4 +- + drivers/edac/edac_module.c | 2 +- + drivers/edac/edac_pci.c | 4 +- + drivers/edac/edac_pci_sysfs.c | 22 +- + drivers/edac/mce_amd.h | 2 +- + drivers/firewire/core-card.c | 6 +- + drivers/firewire/core-cdev.c | 4 +- + drivers/firewire/core-device.c | 2 +- + drivers/firewire/core-iso.c | 2 +- + drivers/firewire/core-transaction.c | 1 + + drivers/firewire/core.h | 1 + + drivers/firmware/dmi-id.c | 9 +- + drivers/firmware/dmi_scan.c | 12 +- + drivers/firmware/efi/cper.c | 8 +- + drivers/firmware/efi/efi.c | 14 +- + drivers/firmware/efi/efivars.c | 2 +- + drivers/firmware/efi/runtime-map.c | 2 +- + drivers/firmware/google/gsmi.c | 2 +- + drivers/firmware/google/memconsole.c | 7 +- + drivers/firmware/memmap.c | 2 +- + drivers/firmware/psci.c | 2 +- + drivers/gpio/gpio-davinci.c | 6 +- + drivers/gpio/gpio-em.c | 2 +- + drivers/gpio/gpio-ich.c | 2 +- + drivers/gpio/gpio-mpc8xxx.c | 6 +- + drivers/gpio/gpio-omap.c | 4 +- + drivers/gpio/gpio-rcar.c | 2 +- + drivers/gpio/gpio-vr41xx.c | 2 +- + drivers/gpio/gpiolib.c | 12 +- + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 8 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 18 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 11 +- + drivers/gpu/drm/amd/amdgpu/fiji_smc.c | 4 +- + drivers/gpu/drm/amd/amdgpu/iceland_smc.c | 4 +- + drivers/gpu/drm/amd/amdgpu/tonga_smc.c | 4 +- + drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_device.c | 6 +- + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 90 +- + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 8 +- + .../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 14 +- + .../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 14 +- + drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 4 +- + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h | 2 +- + .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 16 +- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 2 +- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 2 +- + drivers/gpu/drm/amd/scheduler/sched_fence.c | 2 +- + drivers/gpu/drm/armada/armada_drv.c | 3 +- + drivers/gpu/drm/ast/ast_mode.c | 2 +- + drivers/gpu/drm/bochs/bochs_kms.c | 2 +- + drivers/gpu/drm/drm_crtc.c | 2 +- + drivers/gpu/drm/drm_drv.c | 2 +- + drivers/gpu/drm/drm_fb_cma_helper.c | 5 +- + drivers/gpu/drm/drm_fops.c | 19 +- + drivers/gpu/drm/drm_global.c | 14 +- + drivers/gpu/drm/drm_info.c | 13 +- + drivers/gpu/drm/drm_ioc32.c | 13 +- + drivers/gpu/drm/drm_ioctl.c | 2 +- + drivers/gpu/drm/drm_pci.c | 9 +- + drivers/gpu/drm/exynos/exynos_drm_drv.c | 1 - + drivers/gpu/drm/exynos/exynos_drm_g2d.c | 5 + + drivers/gpu/drm/gma500/cdv_intel_crt.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_dp.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_lvds.c | 2 +- + drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 3 + + drivers/gpu/drm/gma500/mdfld_dsi_output.c | 2 +- + drivers/gpu/drm/gma500/oaktrail_hdmi.c | 2 +- + drivers/gpu/drm/gma500/psb_drv.c | 1 - + drivers/gpu/drm/gma500/psb_intel_drv.h | 2 +- + drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 +- + drivers/gpu/drm/gma500/psb_intel_sdvo.c | 2 +- + drivers/gpu/drm/i2c/tda998x_drv.c | 2 +- + drivers/gpu/drm/i810/i810_dma.c | 2 +- + drivers/gpu/drm/i810/i810_drv.c | 6 +- + drivers/gpu/drm/i810/i810_drv.h | 6 +- + drivers/gpu/drm/i915/dvo.h | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 4 +- + drivers/gpu/drm/i915/i915_drv.c | 7 +- + drivers/gpu/drm/i915/i915_drv.h | 2 +- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +- + drivers/gpu/drm/i915/i915_gem_gtt.c | 4 +- + drivers/gpu/drm/i915/i915_gem_gtt.h | 4 +- + drivers/gpu/drm/i915/i915_ioc32.c | 10 +- + drivers/gpu/drm/i915/i915_irq.c | 88 +- + drivers/gpu/drm/i915/intel_display.c | 30 +- + drivers/gpu/drm/imx/imx-drm-core.c | 2 +- + drivers/gpu/drm/mga/mga_drv.c | 5 +- + drivers/gpu/drm/mga/mga_drv.h | 6 +- + drivers/gpu/drm/mga/mga_ioc32.c | 10 +- + drivers/gpu/drm/mga/mga_irq.c | 8 +- + drivers/gpu/drm/mga/mga_state.c | 2 +- + drivers/gpu/drm/mgag200/mgag200_mode.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_acpi.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_drm.c | 13 +- + drivers/gpu/drm/nouveau/nouveau_drv.h | 1 - + drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_usif.c | 7 +- + drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +- + drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c | 7 +- + .../gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c | 7 +- + drivers/gpu/drm/nouveau/nvkm/subdev/secboot/priv.h | 4 +- + drivers/gpu/drm/omapdrm/dss/display.c | 8 +- + drivers/gpu/drm/qxl/qxl_cmd.c | 12 +- + drivers/gpu/drm/qxl/qxl_debugfs.c | 8 +- + drivers/gpu/drm/qxl/qxl_display.c | 2 +- + drivers/gpu/drm/qxl/qxl_drv.c | 8 +- + drivers/gpu/drm/qxl/qxl_drv.h | 8 +- + drivers/gpu/drm/qxl/qxl_ioctl.c | 12 +- + drivers/gpu/drm/qxl/qxl_irq.c | 16 +- + drivers/gpu/drm/qxl/qxl_ttm.c | 38 +- + drivers/gpu/drm/r128/r128_cce.c | 2 +- + drivers/gpu/drm/r128/r128_drv.c | 4 +- + drivers/gpu/drm/r128/r128_drv.h | 6 +- + drivers/gpu/drm/r128/r128_ioc32.c | 10 +- + drivers/gpu/drm/r128/r128_irq.c | 4 +- + drivers/gpu/drm/r128/r128_state.c | 6 +- + drivers/gpu/drm/radeon/mkregtable.c | 4 +- + drivers/gpu/drm/radeon/radeon_atpx_handler.c | 2 +- + drivers/gpu/drm/radeon/radeon_connectors.c | 10 +- + drivers/gpu/drm/radeon/radeon_device.c | 2 +- + drivers/gpu/drm/radeon/radeon_drv.c | 11 +- + drivers/gpu/drm/radeon/radeon_ioc32.c | 12 +- + drivers/gpu/drm/radeon/radeon_kms.c | 8 +- + drivers/gpu/drm/radeon/radeon_ttm.c | 4 +- + drivers/gpu/drm/savage/savage_bci.c | 2 +- + drivers/gpu/drm/savage/savage_drv.c | 5 +- + drivers/gpu/drm/savage/savage_drv.h | 2 +- + drivers/gpu/drm/sis/sis_drv.c | 5 +- + drivers/gpu/drm/sis/sis_drv.h | 2 +- + drivers/gpu/drm/sis/sis_mm.c | 2 +- + drivers/gpu/drm/sti/sti_cursor.c | 4 +- + drivers/gpu/drm/sti/sti_dvo.c | 4 +- + drivers/gpu/drm/sti/sti_gdp.c | 12 +- + drivers/gpu/drm/sti/sti_hda.c | 4 +- + drivers/gpu/drm/sti/sti_hdmi.c | 4 +- + drivers/gpu/drm/sti/sti_hqvdp.c | 4 +- + drivers/gpu/drm/sti/sti_mixer.c | 8 +- + drivers/gpu/drm/sti/sti_tvout.c | 4 +- + drivers/gpu/drm/sti/sti_vid.c | 4 +- + drivers/gpu/drm/tegra/dc.c | 2 +- + drivers/gpu/drm/tegra/dsi.c | 2 +- + drivers/gpu/drm/tegra/hdmi.c | 2 +- + drivers/gpu/drm/tegra/sor.c | 7 +- + drivers/gpu/drm/tilcdc/Makefile | 6 +- + drivers/gpu/drm/tilcdc/tilcdc_external.c | 2 +- + drivers/gpu/drm/ttm/ttm_memory.c | 4 +- + drivers/gpu/drm/ttm/ttm_page_alloc.c | 18 +- + drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 18 +- + drivers/gpu/drm/udl/udl_connector.c | 2 +- + drivers/gpu/drm/udl/udl_fb.c | 1 - + drivers/gpu/drm/vc4/vc4_drv.c | 8 +- + drivers/gpu/drm/via/via_dma.c | 2 +- + drivers/gpu/drm/via/via_drv.c | 5 +- + drivers/gpu/drm/via/via_drv.h | 6 +- + drivers/gpu/drm/via/via_irq.c | 18 +- + drivers/gpu/drm/virtio/virtgpu_display.c | 2 +- + drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +- + drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +- + drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +- + drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +- + drivers/gpu/vga/vga_switcheroo.c | 4 +- + drivers/hid/hid-core.c | 4 +- + drivers/hid/hid-magicmouse.c | 2 +- + drivers/hid/hid-sensor-custom.c | 2 +- + drivers/hv/channel.c | 6 +- + drivers/hv/hv.c | 22 +- + drivers/hv/hv_balloon.c | 18 +- + drivers/hv/hyperv_vmbus.h | 2 +- + drivers/hwmon/acpi_power_meter.c | 6 +- + drivers/hwmon/applesmc.c | 4 +- + drivers/hwmon/asus_atk0110.c | 10 +- + drivers/hwmon/coretemp.c | 2 +- + drivers/hwmon/dell-smm-hwmon.c | 4 +- + drivers/hwmon/ibmaem.c | 2 +- + drivers/hwmon/iio_hwmon.c | 2 +- + drivers/hwmon/nct6683.c | 6 +- + drivers/hwmon/nct6775.c | 6 +- + drivers/hwmon/pmbus/pmbus_core.c | 10 +- + drivers/hwmon/sht15.c | 12 +- + drivers/hwmon/via-cputemp.c | 2 +- + drivers/i2c/busses/i2c-amd756-s4882.c | 2 +- + drivers/i2c/busses/i2c-designware-pcidrv.c | 2 +- + drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +- + drivers/i2c/i2c-dev.c | 2 +- + drivers/ide/ide-cd.c | 2 +- + drivers/ide/ide-disk.c | 2 +- + drivers/ide/ide.c | 4 +- + drivers/idle/intel_idle.c | 36 +- + drivers/iio/industrialio-core.c | 2 +- + drivers/infiniband/core/cm.c | 46 +- + drivers/infiniband/core/fmr_pool.c | 20 +- + drivers/infiniband/core/netlink.c | 5 +- + drivers/infiniband/core/sysfs.c | 2 +- + drivers/infiniband/core/ucm.c | 4 +- + drivers/infiniband/core/uverbs_cmd.c | 3 + + drivers/infiniband/hw/cxgb4/device.c | 6 +- + drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 +- + drivers/infiniband/hw/cxgb4/mem.c | 4 +- + drivers/infiniband/hw/hfi1/pcie.c | 2 +- + drivers/infiniband/hw/i40iw/i40iw_user.h | 2 +- + drivers/infiniband/hw/mlx4/mad.c | 2 +- + drivers/infiniband/hw/mlx4/mcg.c | 2 +- + drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +- + drivers/infiniband/hw/mthca/mthca_cmd.c | 8 +- + drivers/infiniband/hw/mthca/mthca_main.c | 2 +- + drivers/infiniband/hw/mthca/mthca_mr.c | 6 +- + drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- + drivers/infiniband/hw/nes/nes.c | 4 +- + drivers/infiniband/hw/nes/nes.h | 40 +- + drivers/infiniband/hw/nes/nes_cm.c | 62 +- + drivers/infiniband/hw/nes/nes_mgt.c | 8 +- + drivers/infiniband/hw/nes/nes_nic.c | 42 +- + drivers/infiniband/hw/nes/nes_verbs.c | 10 +- + drivers/infiniband/hw/qib/qib_iba7322.c | 4 +- + drivers/infiniband/hw/qib/qib_pcie.c | 2 +- + drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 +- + drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 2 +- + drivers/infiniband/ulp/srpt/ib_srpt.c | 8 +- + drivers/input/evdev.c | 2 +- + drivers/input/gameport/gameport.c | 4 +- + drivers/input/input.c | 4 +- + drivers/input/joystick/sidewinder.c | 1 + + drivers/input/misc/ims-pcu.c | 4 +- + drivers/input/mouse/psmouse.h | 2 +- + drivers/input/mousedev.c | 2 +- + drivers/input/serio/serio.c | 4 +- + drivers/input/serio/serio_raw.c | 4 +- + drivers/input/touchscreen/htcpen.c | 2 +- + drivers/iommu/arm-smmu-v3.c | 2 +- + drivers/iommu/arm-smmu.c | 40 +- + drivers/iommu/io-pgtable-arm-v7s.c | 62 +- + drivers/iommu/io-pgtable-arm.c | 99 +- + drivers/iommu/io-pgtable.c | 11 +- + drivers/iommu/io-pgtable.h | 21 +- + drivers/iommu/iommu.c | 2 +- + drivers/iommu/ipmmu-vmsa.c | 13 +- + drivers/iommu/irq_remapping.c | 2 +- + drivers/iommu/mtk_iommu.c | 12 +- + drivers/irqchip/irq-gic.c | 2 +- + drivers/irqchip/irq-i8259.c | 2 +- + drivers/irqchip/irq-mmp.c | 2 +- + drivers/irqchip/irq-renesas-intc-irqpin.c | 2 +- + drivers/irqchip/irq-ts4800.c | 2 +- + drivers/isdn/capi/capi.c | 10 +- + drivers/isdn/gigaset/interface.c | 8 +- + drivers/isdn/gigaset/usb-gigaset.c | 2 +- + drivers/isdn/hardware/avm/b1.c | 4 +- + drivers/isdn/hardware/eicon/capifunc.c | 6 +- + drivers/isdn/hardware/eicon/dadapter.c | 18 +- + drivers/isdn/hardware/eicon/diddfunc.c | 7 +- + drivers/isdn/hardware/eicon/divasfunc.c | 9 +- + drivers/isdn/hardware/eicon/divasync.h | 2 +- + drivers/isdn/hardware/eicon/idifunc.c | 9 +- + drivers/isdn/hardware/eicon/mntfunc.c | 13 +- + drivers/isdn/hardware/mISDN/avmfritz.c | 2 +- + drivers/isdn/hardware/mISDN/hfcmulti.c | 7 +- + drivers/isdn/hardware/mISDN/hfcpci.c | 16 +- + drivers/isdn/hardware/mISDN/mISDNinfineon.c | 7 +- + drivers/isdn/hardware/mISDN/mISDNipac.c | 5 +- + drivers/isdn/hardware/mISDN/netjet.c | 2 +- + drivers/isdn/hardware/mISDN/speedfax.c | 7 +- + drivers/isdn/hardware/mISDN/w6692.c | 7 +- + drivers/isdn/hisax/amd7930_fn.c | 5 +- + drivers/isdn/hisax/arcofi.c | 5 +- + drivers/isdn/hisax/diva.c | 7 +- + drivers/isdn/hisax/elsa.c | 9 +- + drivers/isdn/hisax/fsm.c | 5 +- + drivers/isdn/hisax/hfc4s8s_l1.c | 14 +- + drivers/isdn/hisax/hfc_2bds0.c | 4 +- + drivers/isdn/hisax/hfc_pci.c | 10 +- + drivers/isdn/hisax/hfc_sx.c | 10 +- + drivers/isdn/hisax/hfc_usb.c | 12 +- + drivers/isdn/hisax/hfcscard.c | 6 +- + drivers/isdn/hisax/icc.c | 5 +- + drivers/isdn/hisax/ipacx.c | 7 +- + drivers/isdn/hisax/isac.c | 5 +- + drivers/isdn/hisax/isar.c | 5 +- + drivers/isdn/hisax/isdnl3.c | 5 +- + drivers/isdn/hisax/saphir.c | 5 +- + drivers/isdn/hisax/teleint.c | 5 +- + drivers/isdn/hisax/w6692.c | 5 +- + drivers/isdn/i4l/isdn_common.c | 2 + + drivers/isdn/i4l/isdn_tty.c | 22 +- + drivers/isdn/mISDN/dsp.h | 4 +- + drivers/isdn/mISDN/dsp_cmx.c | 4 +- + drivers/isdn/mISDN/dsp_core.c | 4 +- + drivers/isdn/mISDN/dsp_tones.c | 4 +- + drivers/isdn/mISDN/fsm.c | 5 +- + drivers/isdn/mISDN/l1oip_core.c | 8 +- + drivers/leds/leds-clevo-mail.c | 2 +- + drivers/leds/leds-ss4200.c | 2 +- + drivers/lguest/core.c | 9 +- + drivers/lguest/page_tables.c | 2 +- + drivers/lguest/x86/core.c | 12 +- + drivers/lguest/x86/switcher_32.S | 27 +- + drivers/lightnvm/rrpc.c | 4 +- + drivers/lightnvm/rrpc.h | 2 +- + drivers/md/bcache/alloc.c | 2 +- + drivers/md/bcache/bcache.h | 10 +- + drivers/md/bcache/btree.c | 13 +- + drivers/md/bcache/closure.c | 4 +- + drivers/md/bcache/closure.h | 10 +- + drivers/md/bcache/io.c | 10 +- + drivers/md/bcache/journal.c | 18 +- + drivers/md/bcache/movinggc.c | 12 +- + drivers/md/bcache/request.c | 54 +- + drivers/md/bcache/request.h | 2 +- + drivers/md/bcache/stats.c | 26 +- + drivers/md/bcache/stats.h | 16 +- + drivers/md/bcache/super.c | 32 +- + drivers/md/bcache/sysfs.c | 20 +- + drivers/md/bcache/writeback.c | 12 +- + drivers/md/bitmap.c | 2 +- + drivers/md/dm-cache-target.c | 116 +- + drivers/md/dm-ioctl.c | 2 +- + drivers/md/dm-mpath.c | 12 +- + drivers/md/dm-raid.c | 2 +- + drivers/md/dm-raid1.c | 18 +- + drivers/md/dm-stats.c | 6 +- + drivers/md/dm-stripe.c | 10 +- + drivers/md/dm-table.c | 2 +- + drivers/md/dm-thin-metadata.c | 4 +- + drivers/md/dm.c | 28 +- + drivers/md/md.c | 41 +- + drivers/md/md.h | 8 +- + drivers/md/persistent-data/dm-space-map-metadata.c | 4 +- + drivers/md/persistent-data/dm-space-map.h | 1 + + drivers/md/raid1.c | 8 +- + drivers/md/raid10.c | 20 +- + drivers/md/raid5.c | 26 +- + drivers/media/dvb-core/dvb_net.c | 2 +- + drivers/media/dvb-core/dvbdev.c | 2 +- + drivers/media/dvb-frontends/af9033.h | 2 +- + drivers/media/dvb-frontends/cx24116.c | 2 +- + drivers/media/dvb-frontends/cx24117.c | 2 +- + drivers/media/dvb-frontends/cx24120.c | 2 +- + drivers/media/dvb-frontends/cx24123.c | 2 +- + drivers/media/dvb-frontends/cxd2820r_core.c | 2 +- + drivers/media/dvb-frontends/dib3000.h | 2 +- + drivers/media/dvb-frontends/dib7000p.h | 2 +- + drivers/media/dvb-frontends/dib8000.h | 2 +- + drivers/media/dvb-frontends/hd29l2.c | 2 +- + drivers/media/dvb-frontends/lgdt3306a.c | 2 +- + drivers/media/dvb-frontends/mt312.c | 6 +- + drivers/media/dvb-frontends/s921.c | 2 +- + drivers/media/pci/bt8xx/dst.c | 2 +- + drivers/media/pci/cx88/cx88-video.c | 6 +- + drivers/media/pci/ivtv/ivtv-driver.c | 2 +- + drivers/media/pci/pt1/va1j5jf8007s.c | 2 +- + drivers/media/pci/pt1/va1j5jf8007t.c | 2 +- + drivers/media/pci/solo6x10/solo6x10-core.c | 2 +- + drivers/media/pci/solo6x10/solo6x10-p2m.c | 2 +- + drivers/media/pci/solo6x10/solo6x10.h | 2 +- + drivers/media/pci/sta2x11/sta2x11_vip.c | 5 +- + drivers/media/pci/tw68/tw68-core.c | 2 +- + drivers/media/pci/zoran/zoran.h | 1 - + drivers/media/pci/zoran/zoran_card.c | 4 +- + drivers/media/pci/zoran/zoran_driver.c | 3 - + drivers/media/platform/omap/omap_vout.c | 11 +- + drivers/media/platform/s5p-tv/mixer.h | 2 +- + drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +- + drivers/media/platform/s5p-tv/mixer_reg.c | 2 +- + drivers/media/platform/s5p-tv/mixer_video.c | 24 +- + drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +- + drivers/media/platform/soc_camera/soc_camera.c | 2 +- + drivers/media/radio/radio-cadet.c | 2 + + drivers/media/radio/radio-maxiradio.c | 2 +- + drivers/media/radio/radio-shark.c | 2 +- + drivers/media/radio/radio-shark2.c | 2 +- + drivers/media/radio/radio-si476x.c | 2 +- + drivers/media/radio/wl128x/fmdrv_common.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-context.c | 8 +- + drivers/media/usb/pvrusb2/pvrusb2-dvb.c | 7 +- + drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-std.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 6 +- + drivers/media/usb/uvc/uvc_driver.c | 4 +- + drivers/media/v4l2-core/v4l2-common.c | 2 +- + drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 12 +- + drivers/media/v4l2-core/v4l2-device.c | 4 +- + drivers/media/v4l2-core/v4l2-ioctl.c | 287 +- + drivers/memory/omap-gpmc.c | 24 +- + drivers/message/fusion/mptbase.c | 4 +- + drivers/message/fusion/mptlan.c | 2 +- + drivers/message/fusion/mptsas.c | 34 +- + drivers/mfd/ab8500-debugfs.c | 2 +- + drivers/mfd/kempld-core.c | 2 +- + drivers/mfd/max8925-i2c.c | 2 +- + drivers/mfd/tps65910.c | 2 +- + drivers/mfd/twl4030-irq.c | 9 +- + drivers/misc/c2port/core.c | 4 +- + drivers/misc/kgdbts.c | 6 +- + drivers/misc/lis3lv02d/lis3lv02d.c | 8 +- + drivers/misc/lis3lv02d/lis3lv02d.h | 2 +- + drivers/misc/mic/scif/scif_api.c | 10 +- + drivers/misc/mic/scif/scif_rb.c | 8 +- + drivers/misc/panel.c | 4 +- + drivers/misc/sgi-gru/gruhandles.c | 4 +- + drivers/misc/sgi-gru/gruprocfs.c | 8 +- + drivers/misc/sgi-gru/grutables.h | 158 +- + drivers/misc/sgi-xp/xp.h | 2 +- + drivers/misc/sgi-xp/xp_main.c | 57 +- + drivers/misc/sgi-xp/xpc.h | 3 +- + drivers/misc/sgi-xp/xpc_main.c | 2 +- + drivers/misc/sgi-xp/xpnet.c | 2 +- + drivers/misc/ti-st/st_kim.c | 32 +- + drivers/mmc/card/mmc_test.c | 4 +- + drivers/mmc/host/dw_mmc.h | 2 +- + drivers/mmc/host/mmci.c | 4 +- + drivers/mmc/host/omap_hsmmc.c | 4 +- + drivers/mmc/host/sdhci-esdhc-imx.c | 7 +- + drivers/mmc/host/sdhci-s3c.c | 8 +- + drivers/mtd/chips/cfi_cmdset_0020.c | 2 +- + drivers/mtd/devices/block2mtd.c | 2 +- + drivers/mtd/devices/phram.c | 2 +- + drivers/mtd/maps/gpio-addr-flash.c | 2 +- + drivers/mtd/maps/latch-addr-flash.c | 2 +- + drivers/mtd/maps/pci.c | 4 +- + drivers/mtd/maps/pcmciamtd.c | 8 +- + drivers/mtd/maps/sbc_gxx.c | 2 +- + drivers/mtd/nand/brcmnand/bcm63138_nand.c | 2 + + drivers/mtd/nand/brcmnand/brcmnand.h | 2 +- + drivers/mtd/nand/brcmnand/iproc_nand.c | 2 + + drivers/mtd/nand/cafe_nand.c | 18 +- + drivers/mtd/nand/denali.c | 1 + + drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 2 +- + drivers/mtd/nftlmount.c | 1 + + drivers/mtd/sm_ftl.c | 2 +- + drivers/mtd/ubi/build.c | 2 +- + drivers/net/bonding/bond_netlink.c | 2 +- + drivers/net/caif/caif_hsi.c | 4 +- + drivers/net/caif/caif_serial.c | 2 +- + drivers/net/caif/caif_spi.c | 2 +- + drivers/net/caif/caif_virtio.c | 2 +- + drivers/net/can/Kconfig | 2 +- + drivers/net/can/bfin_can.c | 2 +- + drivers/net/can/dev.c | 2 +- + drivers/net/can/flexcan.c | 2 +- + drivers/net/can/janz-ican3.c | 2 +- + drivers/net/can/led.c | 2 +- + drivers/net/can/sun4i_can.c | 2 +- + drivers/net/can/vcan.c | 2 +- + drivers/net/can/xilinx_can.c | 2 +- + drivers/net/dummy.c | 2 +- + drivers/net/ethernet/8390/ax88796.c | 6 +- + drivers/net/ethernet/8390/axnet_cs.c | 4 +- + drivers/net/ethernet/8390/ne2k-pci.c | 6 +- + drivers/net/ethernet/8390/pcnet_cs.c | 4 +- + drivers/net/ethernet/adi/bfin_mac.c | 2 +- + drivers/net/ethernet/allwinner/sun4i-emac.c | 2 +- + drivers/net/ethernet/altera/altera_tse_main.c | 6 +- + drivers/net/ethernet/amd/7990.c | 2 +- + drivers/net/ethernet/amd/7990.h | 2 +- + drivers/net/ethernet/amd/amd8111e.c | 5 +- + drivers/net/ethernet/amd/atarilance.c | 4 +- + drivers/net/ethernet/amd/declance.c | 2 +- + drivers/net/ethernet/amd/pcnet32.c | 7 +- + drivers/net/ethernet/amd/sun3lance.c | 4 +- + drivers/net/ethernet/amd/sunlance.c | 2 +- + drivers/net/ethernet/amd/xgbe/xgbe-common.h | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-dcb.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-desc.c | 27 +- + drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 145 +- + drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 68 +- + drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c | 10 +- + drivers/net/ethernet/amd/xgbe/xgbe-main.c | 15 +- + drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 27 +- + drivers/net/ethernet/amd/xgbe/xgbe-ptp.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe.h | 10 +- + drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 4 +- + drivers/net/ethernet/arc/emac_main.c | 2 +- + drivers/net/ethernet/atheros/alx/main.c | 2 +- + drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 2 +- + drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 2 +- + drivers/net/ethernet/aurora/nb8800.c | 2 +- + drivers/net/ethernet/broadcom/bcm63xx_enet.c | 2 +- + drivers/net/ethernet/broadcom/bnx2.c | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c | 216 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h | 4 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +- + drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- + drivers/net/ethernet/broadcom/tg3.c | 2 +- + drivers/net/ethernet/broadcom/tg3.h | 1 + + drivers/net/ethernet/brocade/bna/bfa_cs.h | 42 +- + drivers/net/ethernet/brocade/bna/bfa_ioc.c | 10 +- + drivers/net/ethernet/brocade/bna/bfa_ioc.h | 4 +- + drivers/net/ethernet/brocade/bna/bfa_msgq.h | 8 +- + drivers/net/ethernet/brocade/bna/bna_enet.c | 6 +- + drivers/net/ethernet/brocade/bna/bna_tx_rx.c | 6 +- + drivers/net/ethernet/brocade/bna/bna_types.h | 24 +- + drivers/net/ethernet/brocade/bna/bnad.c | 11 +- + drivers/net/ethernet/cadence/macb.c | 4 +- + drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 6 +- + drivers/net/ethernet/cavium/liquidio/lio_main.c | 15 +- + drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 2 +- + drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +- + drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +- + drivers/net/ethernet/chelsio/cxgb4vf/adapter.h | 2 +- + drivers/net/ethernet/chelsio/cxgb4vf/sge.c | 2 +- + drivers/net/ethernet/davicom/dm9000.c | 2 +- + drivers/net/ethernet/dec/tulip/de4x5.c | 13 +- + drivers/net/ethernet/emulex/benet/be_main.c | 4 +- + drivers/net/ethernet/faraday/ftgmac100.c | 4 +- + drivers/net/ethernet/faraday/ftmac100.c | 4 +- + drivers/net/ethernet/freescale/fec_mpc52xx.c | 2 +- + .../net/ethernet/freescale/fs_enet/fs_enet-main.c | 2 +- + drivers/net/ethernet/freescale/gianfar.c | 4 +- + drivers/net/ethernet/freescale/ucc_geth.c | 2 +- + drivers/net/ethernet/hisilicon/hip04_eth.c | 2 +- + drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 2 +- + drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c | 6 +- + drivers/net/ethernet/i825xx/lib82596.c | 4 +- + drivers/net/ethernet/ibm/ehea/ehea_main.c | 2 +- + drivers/net/ethernet/ibm/emac/core.c | 4 +- + drivers/net/ethernet/intel/e100.c | 2 +- + drivers/net/ethernet/intel/e1000/e1000_main.c | 2 +- + drivers/net/ethernet/intel/e1000e/netdev.c | 2 +- + drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 2 +- + drivers/net/ethernet/intel/i40e/i40e_ptp.c | 2 +- + drivers/net/ethernet/intel/igb/igb_main.c | 2 +- + drivers/net/ethernet/intel/igbvf/netdev.c | 2 +- + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +- + drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +- + drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 +- + drivers/net/ethernet/marvell/pxa168_eth.c | 2 +- + drivers/net/ethernet/mellanox/mlx4/en_tx.c | 4 +- + drivers/net/ethernet/mellanox/mlx4/main.c | 2 +- + drivers/net/ethernet/mellanox/mlx5/core/main.c | 2 +- + drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 2 +- + drivers/net/ethernet/micrel/ks8695net.c | 2 +- + drivers/net/ethernet/micrel/ks8851_mll.c | 2 +- + drivers/net/ethernet/moxa/moxart_ether.c | 2 +- + drivers/net/ethernet/neterion/s2io.c | 2 +- + drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +- + drivers/net/ethernet/neterion/vxge/vxge-main.c | 2 +- + .../net/ethernet/netronome/nfp/nfp_net_common.c | 2 +- + drivers/net/ethernet/netx-eth.c | 2 +- + drivers/net/ethernet/nuvoton/w90p910_ether.c | 2 +- + drivers/net/ethernet/nvidia/forcedeth.c | 4 +- + drivers/net/ethernet/nxp/lpc_eth.c | 2 +- + .../net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 4 +- + .../net/ethernet/qlogic/netxen/netxen_nic_main.c | 2 +- + drivers/net/ethernet/qlogic/qed/qed_mcp.c | 6 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +- + drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 2 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 2 +- + drivers/net/ethernet/realtek/r8169.c | 8 +- + drivers/net/ethernet/renesas/sh_eth.c | 2 +- + drivers/net/ethernet/rocker/rocker_main.c | 4 +- + drivers/net/ethernet/seeq/sgiseeq.c | 2 +- + drivers/net/ethernet/sfc/ptp.c | 2 +- + drivers/net/ethernet/sfc/selftest.c | 20 +- + drivers/net/ethernet/sgi/ioc3-eth.c | 4 +- + drivers/net/ethernet/smsc/smc911x.c | 2 +- + drivers/net/ethernet/smsc/smc91x.c | 2 +- + drivers/net/ethernet/smsc/smsc911x.c | 2 +- + drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +- + drivers/net/ethernet/sun/sunbmac.c | 2 +- + drivers/net/ethernet/sun/sunqe.c | 2 +- + drivers/net/ethernet/sun/sunvnet.c | 2 +- + drivers/net/ethernet/sun/sunvnet_common.c | 6 +- + drivers/net/ethernet/synopsys/dwc_eth_qos.c | 2 +- + drivers/net/ethernet/ti/cpmac.c | 2 +- + drivers/net/ethernet/ti/netcp_core.c | 2 +- + drivers/net/ethernet/via/via-rhine.c | 2 +- + drivers/net/ethernet/wiznet/w5100.c | 2 +- + drivers/net/ethernet/wiznet/w5300.c | 2 +- + drivers/net/ethernet/xilinx/ll_temac_main.c | 2 +- + drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- + drivers/net/geneve.c | 4 +- + drivers/net/gtp.c | 8 +- + drivers/net/hamradio/baycom_epp.c | 2 +- + drivers/net/hyperv/hyperv_net.h | 2 +- + drivers/net/hyperv/netvsc_drv.c | 2 +- + drivers/net/hyperv/rndis_filter.c | 7 +- + drivers/net/ifb.c | 2 +- + drivers/net/ipvlan/ipvlan_core.c | 2 +- + drivers/net/ipvlan/ipvlan_main.c | 6 +- + drivers/net/irda/vlsi_ir.c | 18 +- + drivers/net/irda/vlsi_ir.h | 14 +- + drivers/net/loopback.c | 2 +- + drivers/net/macsec.c | 2 +- + drivers/net/macvlan.c | 20 +- + drivers/net/macvtap.c | 10 +- + drivers/net/nlmon.c | 2 +- + drivers/net/phy/phy_device.c | 6 +- + drivers/net/plip/plip.c | 2 +- + drivers/net/ppp/ppp_generic.c | 6 +- + drivers/net/ppp/pptp.c | 2 +- + drivers/net/rionet.c | 2 +- + drivers/net/slip/slhc.c | 2 +- + drivers/net/team/team.c | 4 +- + drivers/net/tun.c | 7 +- + drivers/net/usb/hso.c | 28 +- + drivers/net/usb/ipheth.c | 2 +- + drivers/net/usb/r8152.c | 2 +- + drivers/net/usb/sierra_net.c | 4 +- + drivers/net/virtio_net.c | 2 +- + drivers/net/vrf.c | 4 +- + drivers/net/vxlan.c | 4 +- + drivers/net/wimax/i2400m/rx.c | 2 +- + drivers/net/wireless/ath/ath10k/ce.c | 6 +- + drivers/net/wireless/ath/ath10k/htc.h | 4 +- + drivers/net/wireless/ath/ath6kl/core.h | 2 +- + drivers/net/wireless/ath/ath6kl/txrx.c | 2 +- + drivers/net/wireless/ath/ath9k/ar9002_mac.c | 36 +- + drivers/net/wireless/ath/ath9k/ar9003_mac.c | 64 +- + drivers/net/wireless/ath/ath9k/hw.h | 4 +- + drivers/net/wireless/ath/ath9k/main.c | 22 +- + drivers/net/wireless/ath/carl9170/carl9170.h | 6 +- + drivers/net/wireless/ath/carl9170/debug.c | 6 +- + drivers/net/wireless/ath/carl9170/main.c | 10 +- + drivers/net/wireless/ath/carl9170/tx.c | 4 +- + drivers/net/wireless/ath/wil6210/pcie_bus.c | 2 +- + drivers/net/wireless/ath/wil6210/wil_platform.h | 2 +- + drivers/net/wireless/atmel/at76c50x-usb.c | 2 +- + drivers/net/wireless/atmel/atmel.c | 183 +- + drivers/net/wireless/broadcom/b43/phy_lp.c | 2 +- + drivers/net/wireless/broadcom/b43legacy/main.c | 5 +- + .../broadcom/brcm80211/brcmfmac/cfg80211.c | 55 +- + .../broadcom/brcm80211/brcmsmac/phy/phy_cmn.c | 3 +- + .../broadcom/brcm80211/brcmsmac/phy_shim.c | 5 +- + .../broadcom/brcm80211/brcmsmac/phy_shim.h | 2 +- + drivers/net/wireless/cisco/airo.c | 201 +- + drivers/net/wireless/intel/ipw2x00/ipw2100.c | 8 +- + drivers/net/wireless/intel/ipw2x00/ipw2200.c | 6 +- + drivers/net/wireless/intel/iwlegacy/3945-mac.c | 11 +- + drivers/net/wireless/intel/iwlegacy/4965-mac.c | 7 +- + drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c | 34 +- + drivers/net/wireless/intel/iwlwifi/dvm/lib.c | 4 +- + drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 8 +- + drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 4 +- + drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 4 +- + .../net/wireless/intersil/hostap/hostap_ioctl.c | 134 +- + drivers/net/wireless/intersil/orinoco/wext.c | 131 +- + drivers/net/wireless/intersil/prism54/isl_ioctl.c | 292 +- + drivers/net/wireless/mac80211_hwsim.c | 28 +- + drivers/net/wireless/marvell/mwifiex/11n_aggr.c | 2 +- + drivers/net/wireless/marvell/mwifiex/main.c | 2 +- + drivers/net/wireless/marvell/mwifiex/pcie.c | 4 +- + drivers/net/wireless/marvell/mwifiex/sdio.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2400pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2500pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2500usb.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 6 +- + drivers/net/wireless/ralink/rt2x00/rt2x00.h | 2 +- + drivers/net/wireless/ralink/rt2x00/rt2x00queue.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt61pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt73usb.c | 4 +- + drivers/net/wireless/realtek/rtlwifi/base.c | 14 +- + drivers/net/wireless/realtek/rtlwifi/base.h | 4 +- + drivers/net/wireless/realtek/rtlwifi/pci.c | 15 +- + drivers/net/wireless/realtek/rtlwifi/ps.c | 6 +- + drivers/net/wireless/realtek/rtlwifi/ps.h | 6 +- + drivers/net/wireless/ti/wl1251/sdio.c | 12 +- + drivers/net/wireless/ti/wl12xx/main.c | 8 +- + drivers/net/wireless/ti/wl18xx/main.c | 6 +- + drivers/net/wireless/zydas/zd1201.c | 192 +- + drivers/net/xen-netback/interface.c | 2 +- + drivers/net/xen-netfront.c | 2 +- + drivers/nvme/host/pci.c | 2 +- + drivers/of/fdt.c | 4 +- + drivers/oprofile/buffer_sync.c | 8 +- + drivers/oprofile/event_buffer.c | 2 +- + drivers/oprofile/oprof.c | 2 +- + drivers/oprofile/oprofile_stats.c | 10 +- + drivers/oprofile/oprofile_stats.h | 10 +- + drivers/oprofile/oprofilefs.c | 6 +- + drivers/oprofile/timer_int.c | 2 +- + drivers/parport/procfs.c | 4 +- + drivers/pci/hotplug/acpiphp_ibm.c | 4 +- + drivers/pci/hotplug/cpcihp_generic.c | 6 +- + drivers/pci/hotplug/cpcihp_zt5550.c | 14 +- + drivers/pci/hotplug/cpqphp_nvram.c | 2 + + drivers/pci/hotplug/pci_hotplug_core.c | 6 +- + drivers/pci/hotplug/pciehp_core.c | 2 +- + drivers/pci/msi.c | 22 +- + drivers/pci/pci-sysfs.c | 6 +- + drivers/pci/pci.h | 4 +- + drivers/pci/pcie/aspm.c | 10 +- + drivers/pci/pcie/portdrv_pci.c | 2 +- + drivers/pci/probe.c | 2 +- + drivers/pci/setup-bus.c | 10 +- + drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +- + drivers/pinctrl/pinctrl-at91.c | 5 +- + drivers/platform/chrome/chromeos_laptop.c | 2 +- + drivers/platform/chrome/chromeos_pstore.c | 2 +- + drivers/platform/chrome/cros_ec_lpc.c | 2 +- + drivers/platform/x86/alienware-wmi.c | 4 +- + drivers/platform/x86/apple-gmux.c | 2 +- + drivers/platform/x86/compal-laptop.c | 2 +- + drivers/platform/x86/hdaps.c | 2 +- + drivers/platform/x86/ibm_rtl.c | 2 +- + drivers/platform/x86/intel_oaktrail.c | 2 +- + drivers/platform/x86/msi-laptop.c | 16 +- + drivers/platform/x86/msi-wmi.c | 2 +- + drivers/platform/x86/samsung-laptop.c | 2 +- + drivers/platform/x86/samsung-q10.c | 2 +- + drivers/platform/x86/sony-laptop.c | 14 +- + drivers/platform/x86/thinkpad_acpi.c | 10 +- + drivers/pnp/base.h | 2 +- + drivers/pnp/pnpbios/bioscalls.c | 14 +- + drivers/pnp/pnpbios/core.c | 2 +- + drivers/pnp/resource.c | 4 +- + drivers/power/pda_power.c | 7 +- + drivers/power/power_supply.h | 4 +- + drivers/power/power_supply_core.c | 7 +- + drivers/power/power_supply_sysfs.c | 6 +- + drivers/power/reset/at91-reset.c | 5 +- + drivers/powercap/powercap_sys.c | 136 +- + drivers/ptp/ptp_private.h | 2 +- + drivers/ptp/ptp_sysfs.c | 2 +- + drivers/regulator/core.c | 4 +- + drivers/regulator/max8660.c | 6 +- + drivers/regulator/max8973-regulator.c | 16 +- + drivers/regulator/mc13892-regulator.c | 8 +- + drivers/remoteproc/remoteproc_core.c | 26 +- + drivers/rtc/rtc-armada38x.c | 7 +- + drivers/rtc/rtc-cmos.c | 4 +- + drivers/rtc/rtc-ds1307.c | 2 +- + drivers/rtc/rtc-m41t80.c | 8 +- + drivers/rtc/rtc-m48t59.c | 4 +- + drivers/rtc/rtc-rv3029c2.c | 8 +- + drivers/rtc/rtc-rv8803.c | 15 +- + drivers/rtc/rtc-rx8010.c | 8 +- + drivers/rtc/rtc-test.c | 6 +- + drivers/scsi/aacraid/aachba.c | 7 +- + drivers/scsi/aic7xxx/aic79xx.h | 2 +- + drivers/scsi/aic7xxx/aic79xx_core.c | 11 +- + drivers/scsi/be2iscsi/be_main.c | 2 +- + drivers/scsi/bfa/bfa.h | 4 +- + drivers/scsi/bfa/bfa_core.c | 4 +- + drivers/scsi/bfa/bfa_cs.h | 124 +- + drivers/scsi/bfa/bfa_fcpim.h | 14 +- + drivers/scsi/bfa/bfa_fcs.h | 34 +- + drivers/scsi/bfa/bfa_fcs_fcpim.c | 6 +- + drivers/scsi/bfa/bfa_fcs_lport.c | 4 +- + drivers/scsi/bfa/bfa_fcs_rport.c | 4 +- + drivers/scsi/bfa/bfa_ioc.c | 8 +- + drivers/scsi/bfa/bfa_ioc.h | 16 +- + drivers/scsi/bfa/bfa_svc.c | 12 +- + drivers/scsi/bfa/bfa_svc.h | 20 +- + drivers/scsi/bfa/bfad.c | 12 +- + drivers/scsi/bfa/bfad_bsg.c | 8 +- + drivers/scsi/bfa/bfad_drv.h | 5 +- + drivers/scsi/csiostor/csio_defs.h | 19 +- + drivers/scsi/csiostor/csio_hw.c | 67 +- + drivers/scsi/csiostor/csio_init.c | 2 +- + drivers/scsi/csiostor/csio_lnode.c | 32 +- + drivers/scsi/csiostor/csio_rnode.c | 28 +- + drivers/scsi/csiostor/csio_scsi.c | 37 +- + drivers/scsi/fcoe/fcoe_sysfs.c | 12 +- + drivers/scsi/fcoe/fcoe_transport.c | 16 +- + drivers/scsi/hpsa.c | 38 +- + drivers/scsi/hpsa.h | 2 +- + drivers/scsi/hptiop.c | 2 - + drivers/scsi/hptiop.h | 1 - + drivers/scsi/ipr.c | 32 +- + drivers/scsi/ipr.h | 2 +- + drivers/scsi/libfc/fc_exch.c | 50 +- + drivers/scsi/libsas/sas_ata.c | 2 +- + drivers/scsi/lpfc/lpfc.h | 8 +- + drivers/scsi/lpfc/lpfc_debugfs.c | 18 +- + drivers/scsi/lpfc/lpfc_init.c | 8 +- + drivers/scsi/lpfc/lpfc_scsi.c | 10 +- + drivers/scsi/megaraid/megaraid_sas.h | 2 +- + drivers/scsi/mpt3sas/mpt3sas_base.c | 2 +- + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 +- + drivers/scsi/pmcraid.c | 46 +- + drivers/scsi/pmcraid.h | 8 +- + drivers/scsi/qla2xxx/qla_attr.c | 4 +- + drivers/scsi/qla2xxx/qla_gbl.h | 8 +- + drivers/scsi/qla2xxx/qla_os.c | 15 +- + drivers/scsi/qla2xxx/qla_target.c | 16 +- + drivers/scsi/qla2xxx/qla_target.h | 2 +- + drivers/scsi/qla4xxx/ql4_def.h | 2 +- + drivers/scsi/qla4xxx/ql4_os.c | 15 +- + drivers/scsi/scsi.c | 2 +- + drivers/scsi/scsi_debug.c | 42 +- + drivers/scsi/scsi_lib.c | 8 +- + drivers/scsi/scsi_sysfs.c | 2 +- + drivers/scsi/scsi_transport_fc.c | 8 +- + drivers/scsi/scsi_transport_iscsi.c | 6 +- + drivers/scsi/scsi_transport_spi.c | 2 +- + drivers/scsi/scsi_transport_srp.c | 8 +- + drivers/scsi/sd.c | 6 +- + drivers/scsi/sg.c | 2 +- + drivers/scsi/sr.c | 21 +- + drivers/soc/tegra/fuse/fuse-tegra.c | 2 +- + drivers/spi/spi.c | 2 +- + drivers/staging/comedi/comedi_fops.c | 8 +- + drivers/staging/fbtft/fbtft-core.c | 2 +- + drivers/staging/fbtft/fbtft.h | 2 +- + drivers/staging/gdm724x/gdm_lte.c | 2 +- + drivers/staging/gdm724x/gdm_tty.c | 2 +- + drivers/staging/i4l/icn/icn.c | 2 +- + drivers/staging/iio/accel/lis3l02dq_ring.c | 2 +- + drivers/staging/iio/adc/ad7280a.c | 4 +- + .../staging/lustre/lnet/klnds/socklnd/socklnd.h | 6 +- + drivers/staging/lustre/lnet/selftest/brw_test.c | 13 +- + drivers/staging/lustre/lnet/selftest/framework.c | 2 - + drivers/staging/lustre/lnet/selftest/ping_test.c | 15 +- + drivers/staging/lustre/lnet/selftest/selftest.h | 2 - + .../lustre/lustre/include/lustre/lustre_idl.h | 82 +- + drivers/staging/lustre/lustre/include/lustre_dlm.h | 8 +- + drivers/staging/lustre/lustre/include/lustre_net.h | 2 +- + drivers/staging/lustre/lustre/include/obd.h | 2 +- + drivers/staging/lustre/lustre/ldlm/ldlm_request.c | 5 +- + drivers/staging/lustre/lustre/llite/dir.c | 2 +- + drivers/staging/lustre/lustre/lov/lov_io.c | 60 +- + drivers/staging/lustre/lustre/obdclass/llog_swab.c | 24 +- + drivers/staging/lustre/lustre/osc/osc_request.c | 24 +- + drivers/staging/lustre/lustre/ptlrpc/layout.c | 7 +- + .../staging/lustre/lustre/ptlrpc/pack_generic.c | 136 +- + drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 18 +- + drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c | 2 +- + drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c | 2 +- + drivers/staging/rtl8188eu/include/Hal8188EPhyCfg.h | 8 - + drivers/staging/rtl8188eu/include/hal_intf.h | 5 +- + drivers/staging/rtl8188eu/include/odm_precomp.h | 2 +- + drivers/staging/rtl8188eu/include/recv_osdep.h | 1 - + drivers/staging/rtl8188eu/include/rtl8188e_recv.h | 2 +- + drivers/staging/rtl8188eu/include/rtl8188e_xmit.h | 2 +- + drivers/staging/rtl8188eu/include/rtw_cmd.h | 1 - + drivers/staging/rtl8188eu/include/rtw_eeprom.h | 6 - + drivers/staging/rtl8188eu/include/rtw_ioctl.h | 9 - + drivers/staging/rtl8188eu/include/rtw_mlme_ext.h | 12 +- + drivers/staging/rtl8188eu/include/xmit_osdep.h | 2 +- + drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 8 +- + drivers/staging/rtl8188eu/os_dep/xmit_linux.c | 2 +- + drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 49 +- + drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 4 +- + drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 10 +- + drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 4 +- + drivers/staging/rtl8192e/rtl8192e/rtl_ps.c | 6 +- + drivers/staging/rtl8192e/rtl8192e/rtl_ps.h | 3 +- + drivers/staging/rtl8192e/rtl8192e/rtl_wx.c | 48 +- + drivers/staging/rtl8192e/rtllib.h | 4 +- + drivers/staging/rtl8192e/rtllib_softmac.c | 32 +- + drivers/staging/rtl8192e/rtllib_softmac_wx.c | 2 +- + drivers/staging/rtl8192e/rtllib_tx.c | 2 +- + drivers/staging/rtl8192u/ieee80211/ieee80211.h | 2 +- + .../staging/rtl8192u/ieee80211/ieee80211_softmac.c | 6 +- + drivers/staging/rtl8192u/ieee80211/ieee80211_tx.c | 2 +- + drivers/staging/rtl8192u/r8192U_core.c | 7 +- + drivers/staging/rtl8712/rtl8712_recv.c | 6 +- + drivers/staging/rtl8712/rtl871x_io.h | 2 +- + drivers/staging/rtl8712/rtl871x_ioctl.h | 14 - + drivers/staging/rtl8712/rtl871x_xmit.c | 2 +- + drivers/staging/rtl8712/rtl871x_xmit.h | 2 +- + drivers/staging/rtl8712/usb_ops_linux.c | 4 +- + drivers/staging/rtl8712/xmit_linux.c | 2 +- + drivers/staging/rtl8712/xmit_osdep.h | 2 +- + drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 12 +- + drivers/staging/rtl8723au/core/rtw_xmit.c | 2 +- + drivers/staging/rtl8723au/hal/rtl8723au_recv.c | 2 +- + drivers/staging/rtl8723au/hal/usb_ops_linux.c | 4 +- + drivers/staging/rtl8723au/include/Hal8723APhyCfg.h | 8 - + drivers/staging/rtl8723au/include/drv_types.h | 2 +- + drivers/staging/rtl8723au/include/hal_intf.h | 2 - + drivers/staging/rtl8723au/include/recv_osdep.h | 1 - + drivers/staging/rtl8723au/include/rtw_ap.h | 2 - + drivers/staging/rtl8723au/include/rtw_cmd.h | 1 - + drivers/staging/rtl8723au/include/rtw_eeprom.h | 7 - + drivers/staging/rtl8723au/include/rtw_mlme_ext.h | 14 +- + drivers/staging/rtl8723au/include/usb_ops.h | 8 +- + drivers/staging/rtl8723au/include/xmit_osdep.h | 2 +- + drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 2 +- + drivers/staging/rtl8723au/os_dep/xmit_linux.c | 2 +- + drivers/staging/sm750fb/sm750.c | 14 +- + drivers/staging/unisys/visorbus/visorbus_private.h | 4 +- + drivers/staging/unisys/visornic/visornic_main.c | 2 +- + drivers/staging/vt6655/rxtx.c | 2 +- + drivers/staging/vt6656/rxtx.c | 2 +- + drivers/staging/wilc1000/linux_wlan.c | 2 +- + drivers/staging/wilc1000/wilc_wlan.h | 2 +- + drivers/staging/wlan-ng/p80211netdev.c | 2 +- + drivers/target/sbp/sbp_target.c | 4 +- + drivers/thermal/cpu_cooling.c | 9 +- + drivers/thermal/devfreq_cooling.c | 19 +- + drivers/thermal/int340x_thermal/int3400_thermal.c | 6 +- + drivers/thermal/of-thermal.c | 17 +- + drivers/thermal/x86_pkg_temp_thermal.c | 2 +- + drivers/tty/cyclades.c | 6 +- + drivers/tty/hvc/hvc_console.c | 14 +- + drivers/tty/hvc/hvcs.c | 21 +- + drivers/tty/hvc/hvsi.c | 22 +- + drivers/tty/hvc/hvsi_lib.c | 4 +- + drivers/tty/ipwireless/tty.c | 27 +- + drivers/tty/moxa.c | 2 +- + drivers/tty/n_gsm.c | 6 +- + drivers/tty/n_tty.c | 28 +- + drivers/tty/pty.c | 4 +- + drivers/tty/rocket.c | 6 +- + drivers/tty/serial/8250/8250_core.c | 10 +- + drivers/tty/serial/8250/8250_pci.c | 2 +- + drivers/tty/serial/ioc4_serial.c | 6 +- + drivers/tty/serial/jsm/jsm_driver.c | 2 +- + drivers/tty/serial/kgdb_nmi.c | 4 +- + drivers/tty/serial/kgdboc.c | 34 +- + drivers/tty/serial/msm_serial.c | 4 +- + drivers/tty/serial/samsung.c | 9 +- + drivers/tty/serial/serial_core.c | 6 +- + drivers/tty/synclink.c | 34 +- + drivers/tty/synclink_gt.c | 28 +- + drivers/tty/synclinkmp.c | 34 +- + drivers/tty/tty_io.c | 2 +- + drivers/tty/tty_ldisc.c | 8 +- + drivers/tty/tty_port.c | 22 +- + drivers/uio/uio.c | 13 +- + drivers/usb/atm/cxacru.c | 2 +- + drivers/usb/atm/usbatm.c | 24 +- + drivers/usb/class/cdc-acm.h | 2 +- + drivers/usb/core/devices.c | 6 +- + drivers/usb/core/devio.c | 12 +- + drivers/usb/core/hcd.c | 4 +- + drivers/usb/core/sysfs.c | 2 +- + drivers/usb/core/usb.c | 2 +- + drivers/usb/early/ehci-dbgp.c | 16 +- + drivers/usb/gadget/function/f_phonet.c | 2 +- + drivers/usb/gadget/function/u_serial.c | 22 +- + drivers/usb/gadget/udc/dummy_hcd.c | 2 +- + drivers/usb/host/ehci-hcd.c | 2 +- + drivers/usb/host/ehci-hub.c | 4 +- + drivers/usb/host/ehci-q.c | 4 +- + drivers/usb/host/fotg210-hcd.c | 2 +- + drivers/usb/host/hwa-hc.c | 2 +- + drivers/usb/host/ohci-hcd.c | 2 +- + drivers/usb/host/r8a66597.h | 2 +- + drivers/usb/host/uhci-hcd.c | 2 +- + drivers/usb/host/xhci-pci.c | 2 +- + drivers/usb/host/xhci-ring.c | 52 +- + drivers/usb/host/xhci.c | 2 +- + drivers/usb/misc/appledisplay.c | 4 +- + drivers/usb/misc/sisusbvga/sisusb_con.c | 98 +- + drivers/usb/serial/console.c | 8 +- + drivers/usb/storage/transport.c | 2 +- + drivers/usb/storage/usb.c | 2 +- + drivers/usb/storage/usb.h | 2 +- + drivers/usb/usbip/vhci.h | 2 +- + drivers/usb/usbip/vhci_hcd.c | 6 +- + drivers/usb/usbip/vhci_rx.c | 2 +- + drivers/usb/wusbcore/wa-hc.h | 4 +- + drivers/usb/wusbcore/wa-xfer.c | 2 +- + drivers/vfio/pci/vfio_pci.c | 2 +- + drivers/vhost/vringh.c | 20 +- + drivers/video/backlight/kb3886_bl.c | 2 +- + drivers/video/console/dummycon.c | 96 +- + drivers/video/console/fbcon.c | 2 +- + drivers/video/console/vgacon.c | 23 +- + drivers/video/fbdev/aty/aty128fb.c | 2 +- + drivers/video/fbdev/aty/atyfb_base.c | 8 +- + drivers/video/fbdev/aty/mach64_ct.c | 5 +- + drivers/video/fbdev/aty/mach64_cursor.c | 5 +- + drivers/video/fbdev/aty/mach64_gx.c | 17 +- + drivers/video/fbdev/core/fb_defio.c | 8 +- + drivers/video/fbdev/core/fbmem.c | 12 +- + drivers/video/fbdev/hyperv_fb.c | 4 +- + drivers/video/fbdev/i810/i810_accel.c | 1 + + drivers/video/fbdev/matrox/matroxfb_base.c | 2 +- + drivers/video/fbdev/mb862xx/mb862xxfb_accel.c | 16 +- + drivers/video/fbdev/nvidia/nvidia.c | 27 +- + drivers/video/fbdev/omap2/omapfb/dss/display.c | 8 +- + drivers/video/fbdev/s1d13xxxfb.c | 6 +- + drivers/video/fbdev/sis/sis_main.h | 2 +- + drivers/video/fbdev/smscufx.c | 4 +- + drivers/video/fbdev/udlfb.c | 36 +- + drivers/video/fbdev/uvesafb.c | 52 +- + drivers/video/fbdev/vesafb.c | 58 +- + drivers/video/fbdev/via/via_clock.h | 2 +- + drivers/xen/events/events_base.c | 6 +- + drivers/xen/xen-pciback/pci_stub.c | 2 +- + fs/9p/vfs_addr.c | 2 +- + fs/9p/vfs_inode_dotl.c | 4 +- + fs/Kconfig.binfmt | 2 +- + fs/afs/file.c | 8 +- + fs/afs/inode.c | 4 +- + fs/afs/internal.h | 4 +- + fs/aio.c | 2 +- + fs/autofs4/waitq.c | 2 +- + fs/befs/endian.h | 6 +- + fs/binfmt_aout.c | 23 +- + fs/binfmt_elf.c | 670 +- + fs/binfmt_elf_fdpic.c | 4 +- + fs/block_dev.c | 2 +- + fs/btrfs/ctree.c | 11 +- + fs/btrfs/ctree.h | 8 +- + fs/btrfs/delayed-inode.c | 6 +- + fs/btrfs/delayed-inode.h | 4 +- + fs/btrfs/delayed-ref.c | 4 +- + fs/btrfs/dev-replace.c | 20 +- + fs/btrfs/dev-replace.h | 4 +- + fs/btrfs/disk-io.c | 4 +- + fs/btrfs/extent_map.c | 8 +- + fs/btrfs/file.c | 4 +- + fs/btrfs/free-space-cache.h | 1 + + fs/btrfs/raid56.c | 30 +- + fs/btrfs/scrub.c | 2 +- + fs/btrfs/super.c | 2 +- + fs/btrfs/sysfs.c | 2 +- + fs/btrfs/tests/btrfs-tests.c | 2 +- + fs/btrfs/tests/free-space-tests.c | 2 +- + fs/btrfs/transaction.c | 2 +- + fs/btrfs/tree-log.c | 8 +- + fs/btrfs/tree-log.h | 2 +- + fs/btrfs/volumes.c | 14 +- + fs/btrfs/volumes.h | 22 +- + fs/buffer.c | 2 +- + fs/cachefiles/bind.c | 6 +- + fs/cachefiles/daemon.c | 12 +- + fs/cachefiles/internal.h | 16 +- + fs/cachefiles/namei.c | 6 +- + fs/cachefiles/proc.c | 12 +- + fs/ceph/dir.c | 10 +- + fs/ceph/super.c | 4 +- + fs/cifs/cifs_debug.c | 12 +- + fs/cifs/cifsfs.c | 8 +- + fs/cifs/cifsglob.h | 54 +- + fs/cifs/file.c | 14 +- + fs/cifs/misc.c | 4 +- + fs/cifs/smb1ops.c | 80 +- + fs/cifs/smb2ops.c | 84 +- + fs/cifs/smb2pdu.c | 3 +- + fs/coda/cache.c | 10 +- + fs/coda/dir.c | 5 +- + fs/compat.c | 9 +- + fs/compat_binfmt_elf.c | 2 + + fs/compat_ioctl.c | 12 +- + fs/configfs/dir.c | 10 +- + fs/coredump.c | 18 +- + fs/dcache.c | 64 +- + fs/debugfs/file.c | 4 +- + fs/ecryptfs/inode.c | 2 +- + fs/ecryptfs/miscdev.c | 2 +- + fs/exec.c | 369 +- + fs/exofs/inode.c | 7 +- + fs/ext2/xattr.c | 5 +- + fs/ext4/ext4.h | 20 +- + fs/ext4/mballoc.c | 44 +- + fs/ext4/resize.c | 16 +- + fs/ext4/super.c | 2 +- + fs/ext4/sysfs.c | 2 +- + fs/ext4/xattr.c | 5 +- + fs/f2fs/f2fs.h | 7 +- + fs/f2fs/super.c | 2 +- + fs/fhandle.c | 5 +- + fs/file.c | 18 +- + fs/freevxfs/vxfs_inode.c | 8 +- + fs/freevxfs/vxfs_inode.h | 4 +- + fs/fs-writeback.c | 11 +- + fs/fs_struct.c | 8 +- + fs/fscache/cookie.c | 40 +- + fs/fscache/internal.h | 202 +- + fs/fscache/object.c | 26 +- + fs/fscache/operation.c | 38 +- + fs/fscache/page.c | 110 +- + fs/fscache/stats.c | 348 +- + fs/fuse/cuse.c | 10 +- + fs/fuse/dev.c | 4 +- + fs/fuse/file.c | 4 +- + fs/fuse/inode.c | 4 +- + fs/gfs2/aops.c | 2 +- + fs/gfs2/file.c | 2 +- + fs/gfs2/glock.c | 22 +- + fs/gfs2/glops.c | 4 +- + fs/gfs2/quota.c | 6 +- + fs/hugetlbfs/inode.c | 13 +- + fs/inode.c | 4 +- + fs/jbd2/commit.c | 2 +- + fs/jbd2/transaction.c | 4 +- + fs/jffs2/erase.c | 3 +- + fs/jffs2/file.c | 5 +- + fs/jffs2/fs.c | 2 +- + fs/jffs2/os-linux.h | 2 +- + fs/jffs2/wbuf.c | 3 +- + fs/jfs/super.c | 2 +- + fs/kernfs/dir.c | 2 +- + fs/kernfs/file.c | 20 +- + fs/libfs.c | 10 +- + fs/lockd/clnt4xdr.c | 46 +- + fs/lockd/clntproc.c | 4 +- + fs/lockd/clntxdr.c | 44 +- + fs/lockd/mon.c | 24 +- + fs/lockd/svc.c | 2 +- + fs/lockd/svc4proc.c | 69 +- + fs/lockd/svcproc.c | 75 +- + fs/lockd/xdr.c | 44 +- + fs/lockd/xdr4.c | 41 +- + fs/logfs/dev_bdev.c | 13 +- + fs/logfs/dev_mtd.c | 13 +- + fs/logfs/dir.c | 4 +- + fs/logfs/logfs.h | 5 +- + fs/logfs/readwrite.c | 2 +- + fs/logfs/segment.c | 2 +- + fs/logfs/super.c | 39 - + fs/namei.c | 14 +- + fs/namespace.c | 15 +- + fs/nfs/callback.h | 18 +- + fs/nfs/callback_proc.c | 26 +- + fs/nfs/callback_xdr.c | 73 +- + fs/nfs/dir.c | 5 +- + fs/nfs/inode.c | 6 +- + fs/nfs/internal.h | 5 +- + fs/nfs/mount_clnt.c | 26 +- + fs/nfs/nfs2xdr.c | 101 +- + fs/nfs/nfs3xdr.c | 201 +- + fs/nfs/nfs42xdr.c | 72 +- + fs/nfs/nfs4xdr.c | 507 +- + fs/nfs/read.c | 2 +- + fs/nfs/symlink.c | 6 +- + fs/nfsd/current_stateid.h | 24 +- + fs/nfsd/nfs2acl.c | 85 +- + fs/nfsd/nfs3acl.c | 44 +- + fs/nfsd/nfs3proc.c | 271 +- + fs/nfsd/nfs3xdr.c | 171 +- + fs/nfsd/nfs4callback.c | 31 +- + fs/nfsd/nfs4proc.c | 320 +- + fs/nfsd/nfs4state.c | 111 +- + fs/nfsd/nfs4xdr.c | 564 +- + fs/nfsd/nfscache.c | 11 +- + fs/nfsd/nfsproc.c | 193 +- + fs/nfsd/nfsxdr.c | 96 +- + fs/nfsd/vfs.c | 6 +- + fs/nfsd/xdr.h | 50 +- + fs/nfsd/xdr3.h | 100 +- + fs/nfsd/xdr4.h | 50 +- + fs/nls/nls_base.c | 26 +- + fs/nls/nls_cp932.c | 2 +- + fs/nls/nls_cp936.c | 2 +- + fs/nls/nls_cp949.c | 2 +- + fs/nls/nls_cp950.c | 2 +- + fs/nls/nls_euc-jp.c | 8 +- + fs/nls/nls_koi8-ru.c | 8 +- + fs/notify/fanotify/fanotify_user.c | 4 +- + fs/notify/notification.c | 4 +- + fs/ntfs/dir.c | 4 +- + fs/ntfs/inode.c | 19 +- + fs/ntfs/inode.h | 4 +- + fs/ntfs/mft.c | 4 +- + fs/ntfs/super.c | 8 +- + fs/ocfs2/dlm/dlmcommon.h | 4 +- + fs/ocfs2/dlm/dlmdebug.c | 10 +- + fs/ocfs2/dlm/dlmdomain.c | 4 +- + fs/ocfs2/dlm/dlmmaster.c | 4 +- + fs/ocfs2/dlmfs/dlmfs.c | 4 +- + fs/ocfs2/filecheck.c | 2 +- + fs/ocfs2/localalloc.c | 2 +- + fs/ocfs2/ocfs2.h | 10 +- + fs/ocfs2/suballoc.c | 12 +- + fs/ocfs2/super.c | 20 +- + fs/overlayfs/copy_up.c | 2 +- + fs/pipe.c | 72 +- + fs/posix_acl.c | 4 +- + fs/proc/array.c | 20 + + fs/proc/base.c | 7 +- + fs/proc/kcore.c | 36 +- + fs/proc/meminfo.c | 2 +- + fs/proc/nommu.c | 2 +- + fs/proc/proc_net.c | 2 +- + fs/proc/proc_sysctl.c | 26 +- + fs/proc/task_mmu.c | 39 +- + fs/proc/task_nommu.c | 6 +- + fs/proc/vmcore.c | 16 +- + fs/qnx6/qnx6.h | 4 +- + fs/quota/netlink.c | 4 +- + fs/read_write.c | 34 +- + fs/readdir.c | 3 +- + fs/reiserfs/do_balan.c | 2 +- + fs/reiserfs/procfs.c | 2 +- + fs/reiserfs/reiserfs.h | 4 +- + fs/select.c | 2 +- + fs/seq_file.c | 4 +- + fs/splice.c | 43 +- + fs/squashfs/xattr.c | 10 +- + fs/super.c | 3 +- + fs/sysv/sysv.h | 2 +- + fs/tracefs/inode.c | 8 +- + fs/ubifs/find.c | 34 +- + fs/ubifs/lprops.c | 5 +- + fs/udf/misc.c | 2 +- + fs/ufs/swab.h | 4 +- + fs/userfaultfd.c | 2 +- + fs/xattr.c | 21 + + fs/xfs/libxfs/xfs_bmap.c | 2 +- + fs/xfs/libxfs/xfs_da_btree.c | 4 +- + fs/xfs/xfs_dir2_readdir.c | 7 +- + fs/xfs/xfs_ioctl.c | 2 +- + fs/xfs/xfs_linux.h | 4 +- + include/acpi/ghes.h | 2 +- + include/asm-generic/4level-fixup.h | 2 + + include/asm-generic/atomic-long.h | 186 +- + include/asm-generic/atomic64.h | 12 + + include/asm-generic/bitops/__fls.h | 2 +- + include/asm-generic/bitops/fls.h | 2 +- + include/asm-generic/bitops/fls64.h | 4 +- + include/asm-generic/bug.h | 6 +- + include/asm-generic/cache.h | 4 +- + include/asm-generic/emergency-restart.h | 2 +- + include/asm-generic/kmap_types.h | 4 +- + include/asm-generic/local.h | 13 + + include/asm-generic/pgtable-nopmd.h | 18 +- + include/asm-generic/pgtable-nopud.h | 15 +- + include/asm-generic/pgtable.h | 16 + + include/asm-generic/sections.h | 1 + + include/asm-generic/uaccess.h | 16 + + include/asm-generic/vmlinux.lds.h | 15 +- + include/crypto/algapi.h | 2 +- + include/crypto/cast6.h | 4 +- + include/crypto/serpent.h | 4 +- + include/crypto/xts.h | 2 +- + include/drm/drmP.h | 19 +- + include/drm/drm_mm.h | 2 +- + include/drm/drm_modeset_helper_vtables.h | 3 +- + include/drm/i915_pciids.h | 2 +- + include/drm/intel-gtt.h | 4 +- + include/drm/ttm/ttm_memory.h | 2 +- + include/drm/ttm/ttm_page_alloc.h | 1 + + include/keys/asymmetric-subtype.h | 2 +- + include/keys/encrypted-type.h | 2 +- + include/keys/rxrpc-type.h | 2 +- + include/keys/user-type.h | 2 +- + include/linux/atmdev.h | 4 +- + include/linux/atomic.h | 12 +- + include/linux/audit.h | 2 +- + include/linux/average.h | 2 +- + include/linux/binfmts.h | 3 +- + include/linux/bitmap.h | 2 +- + include/linux/bitops.h | 8 +- + include/linux/blk-cgroup.h | 24 +- + include/linux/blkdev.h | 2 +- + include/linux/blktrace_api.h | 2 +- + include/linux/cache.h | 9 + + include/linux/cdrom.h | 1 - + include/linux/cgroup-defs.h | 2 +- + include/linux/cleancache.h | 2 +- + include/linux/clk-provider.h | 1 + + include/linux/compat.h | 15 +- + include/linux/compiler-gcc.h | 33 +- + include/linux/compiler.h | 197 +- + include/linux/configfs.h | 2 +- + include/linux/cpufreq.h | 7 +- + include/linux/cpuidle.h | 5 +- + include/linux/cpumask.h | 14 +- + include/linux/crypto.h | 4 +- + include/linux/ctype.h | 2 +- + include/linux/dcache.h | 4 +- + include/linux/decompress/mm.h | 2 +- + include/linux/devfreq.h | 2 +- + include/linux/device.h | 7 +- + include/linux/dma-mapping.h | 2 +- + include/linux/efi.h | 1 + + include/linux/elf.h | 2 + + include/linux/err.h | 4 +- + include/linux/ethtool.h | 1 + + include/linux/extcon.h | 2 +- + include/linux/fb.h | 3 +- + include/linux/fdtable.h | 2 +- + include/linux/firewire.h | 2 +- + include/linux/fs.h | 5 +- + include/linux/fs_struct.h | 2 +- + include/linux/fscache-cache.h | 2 +- + include/linux/fscache.h | 2 +- + include/linux/fsnotify.h | 2 +- + include/linux/genhd.h | 4 +- + include/linux/genl_magic_func.h | 2 +- + include/linux/genl_magic_struct.h | 4 +- + include/linux/gfp.h | 14 +- + include/linux/highmem.h | 12 + + include/linux/hugetlb.h | 2 +- + include/linux/hugetlb_cgroup.h | 11 + + include/linux/hwmon-sysfs.h | 6 +- + include/linux/i2c.h | 1 + + include/linux/if_pppox.h | 2 +- + include/linux/init.h | 10 +- + include/linux/init_task.h | 7 + + include/linux/interrupt.h | 6 +- + include/linux/iommu.h | 2 +- + include/linux/ioport.h | 2 +- + include/linux/ipc.h | 2 +- + include/linux/irq.h | 5 +- + include/linux/irqchip/mmp.h | 2 +- + include/linux/irqdesc.h | 2 +- + include/linux/irqdomain.h | 3 + + include/linux/jbd2.h | 2 +- + include/linux/jiffies.h | 16 +- + include/linux/kallsyms.h | 18 +- + include/linux/key-type.h | 2 +- + include/linux/kgdb.h | 6 +- + include/linux/kmemleak.h | 4 +- + include/linux/kobject.h | 3 +- + include/linux/kobject_ns.h | 2 +- + include/linux/kref.h | 2 +- + include/linux/libata.h | 2 +- + include/linux/linkage.h | 31 +- + include/linux/list.h | 15 + + include/linux/lockd/xdr.h | 34 +- + include/linux/lockd/xdr4.h | 34 +- + include/linux/lockref.h | 26 +- + include/linux/math64.h | 10 +- + include/linux/memcontrol.h | 2 +- + include/linux/memory.h | 2 +- + include/linux/mempolicy.h | 7 + + include/linux/mm.h | 98 +- + include/linux/mm_types.h | 20 + + include/linux/mmiotrace.h | 4 +- + include/linux/mmzone.h | 2 +- + include/linux/mod_devicetable.h | 4 +- + include/linux/module.h | 58 +- + include/linux/moduleloader.h | 16 + + include/linux/moduleparam.h | 12 +- + include/linux/net.h | 2 +- + include/linux/netdevice.h | 11 +- + include/linux/netfilter.h | 2 +- + include/linux/netfilter/ipset/ip_set.h | 16 +- + include/linux/netfilter/ipset/ip_set_comment.h | 3 +- + include/linux/netfilter/nfnetlink.h | 2 +- + include/linux/netlink.h | 12 +- + include/linux/nls.h | 4 +- + include/linux/notifier.h | 3 +- + include/linux/oprofile.h | 4 +- + include/linux/padata.h | 2 +- + include/linux/pagemap.h | 4 +- + include/linux/pci_hotplug.h | 3 +- + include/linux/percpu.h | 2 +- + include/linux/perf_event.h | 12 +- + include/linux/pid.h | 4 +- + include/linux/pipe_fs_i.h | 8 +- + include/linux/pm.h | 1 + + include/linux/pm_domain.h | 2 +- + include/linux/pm_runtime.h | 2 +- + include/linux/pnp.h | 2 +- + include/linux/poison.h | 4 +- + include/linux/power/smartreflex.h | 2 +- + include/linux/ppp-comp.h | 2 +- + include/linux/preempt.h | 21 + + include/linux/printk.h | 2 +- + include/linux/proc_ns.h | 2 +- + include/linux/psci.h | 2 +- + include/linux/quota.h | 2 +- + include/linux/random.h | 19 +- + include/linux/rculist.h | 16 + + include/linux/rcupdate.h | 8 + + include/linux/reboot.h | 14 +- + include/linux/regset.h | 3 +- + include/linux/relay.h | 2 +- + include/linux/rio.h | 2 +- + include/linux/rmap.h | 4 +- + include/linux/sched.h | 77 +- + include/linux/scif.h | 2 +- + include/linux/semaphore.h | 2 +- + include/linux/seq_buf.h | 4 +- + include/linux/seq_file.h | 1 + + include/linux/seqlock.h | 10 + + include/linux/signal.h | 2 +- + include/linux/skbuff.h | 12 +- + include/linux/slab.h | 47 +- + include/linux/slab_def.h | 14 +- + include/linux/slub_def.h | 2 +- + include/linux/smp.h | 2 + + include/linux/sock_diag.h | 2 +- + include/linux/sonet.h | 2 +- + include/linux/spinlock.h | 17 +- + include/linux/srcu.h | 5 +- + include/linux/string.h | 70 +- + include/linux/sunrpc/addr.h | 8 +- + include/linux/sunrpc/clnt.h | 2 +- + include/linux/sunrpc/svc.h | 2 +- + include/linux/sunrpc/svc_rdma.h | 18 +- + include/linux/sunrpc/svcauth.h | 2 +- + include/linux/swapops.h | 10 +- + include/linux/swiotlb.h | 3 +- + include/linux/syscalls.h | 38 +- + include/linux/syscore_ops.h | 2 +- + include/linux/sysctl.h | 3 +- + include/linux/sysfs.h | 11 +- + include/linux/sysrq.h | 3 +- + include/linux/tcp.h | 14 +- + include/linux/thread_info.h | 7 + + include/linux/tty.h | 4 +- + include/linux/tty_driver.h | 2 +- + include/linux/tty_ldisc.h | 2 +- + include/linux/types.h | 18 + + include/linux/uaccess.h | 2 +- + include/linux/uio_driver.h | 2 +- + include/linux/unaligned/access_ok.h | 24 +- + include/linux/usb.h | 12 +- + include/linux/usb/hcd.h | 1 + + include/linux/usb/renesas_usbhs.h | 2 +- + include/linux/vermagic.h | 21 +- + include/linux/vga_switcheroo.h | 8 +- + include/linux/vmalloc.h | 7 +- + include/linux/vmstat.h | 24 +- + include/linux/writeback.h | 3 +- + include/linux/xattr.h | 5 +- + include/linux/zlib.h | 3 +- + include/media/v4l2-dev.h | 2 +- + include/media/v4l2-device.h | 2 +- + include/net/9p/transport.h | 2 +- + include/net/bluetooth/l2cap.h | 2 +- + include/net/bonding.h | 2 +- + include/net/caif/cfctrl.h | 6 +- + include/net/cfg80211-wext.h | 20 +- + include/net/cfg802154.h | 2 +- + include/net/fib_rules.h | 3 +- + include/net/flow.h | 2 +- + include/net/genetlink.h | 2 +- + include/net/gro_cells.h | 2 +- + include/net/inet_connection_sock.h | 2 +- + include/net/inet_sock.h | 2 +- + include/net/inetpeer.h | 2 +- + include/net/ip_fib.h | 2 +- + include/net/ip_vs.h | 8 +- + include/net/ipv6.h | 2 +- + include/net/irda/ircomm_tty.h | 1 + + include/net/irda/irias_object.h | 2 +- + include/net/irda/irlmp.h | 1 + + include/net/irda/irlmp_event.h | 6 +- + include/net/irda/timer.h | 6 +- + include/net/iucv/af_iucv.h | 2 +- + include/net/llc_c_ac.h | 2 +- + include/net/llc_c_ev.h | 4 +- + include/net/llc_c_st.h | 2 +- + include/net/llc_s_ac.h | 2 +- + include/net/llc_s_st.h | 2 +- + include/net/mac80211.h | 6 +- + include/net/neighbour.h | 4 +- + include/net/net_namespace.h | 18 +- + include/net/netfilter/nf_conntrack.h | 2 +- + include/net/netlink.h | 2 +- + include/net/netns/conntrack.h | 6 +- + include/net/netns/ipv4.h | 4 +- + include/net/netns/ipv6.h | 4 +- + include/net/netns/xfrm.h | 2 +- + include/net/ping.h | 2 +- + include/net/protocol.h | 4 +- + include/net/rtnetlink.h | 2 +- + include/net/sctp/checksum.h | 4 +- + include/net/sctp/sm.h | 4 +- + include/net/sctp/structs.h | 2 +- + include/net/snmp.h | 10 +- + include/net/sock.h | 14 +- + include/net/tcp.h | 10 +- + include/net/xfrm.h | 15 +- + include/rdma/ib_cm.h | 8 +- + include/rdma/ib_verbs.h | 2 +- + include/scsi/libfc.h | 3 +- + include/scsi/scsi_device.h | 6 +- + include/scsi/scsi_driver.h | 2 +- + include/scsi/scsi_transport_fc.h | 3 +- + include/scsi/sg.h | 2 +- + include/sound/compress_driver.h | 2 +- + include/sound/control.h | 4 +- + include/sound/pcm.h | 2 +- + include/sound/rawmidi.h | 3 +- + include/sound/seq_kernel.h | 2 +- + include/sound/soc.h | 4 +- + include/trace/events/irq.h | 4 +- + include/trace/events/mmflags.h | 7 + + include/uapi/linux/a.out.h | 8 + + include/uapi/linux/bcache.h | 5 +- + include/uapi/linux/byteorder/little_endian.h | 28 +- + include/uapi/linux/connector.h | 2 +- + include/uapi/linux/elf.h | 28 + + include/uapi/linux/screen_info.h | 2 +- + include/uapi/linux/swab.h | 6 +- + include/uapi/linux/xattr.h | 5 + + include/video/udlfb.h | 8 +- + include/video/uvesafb.h | 1 + + init/Kconfig | 2 +- + init/do_mounts.c | 16 +- + init/do_mounts.h | 8 +- + init/do_mounts_initrd.c | 30 +- + init/do_mounts_md.c | 6 +- + init/init_task.c | 4 + + init/initramfs.c | 38 +- + init/main.c | 30 +- + ipc/compat.c | 4 +- + ipc/ipc_sysctl.c | 14 +- + ipc/mq_sysctl.c | 4 +- + ipc/sem.c | 4 +- + ipc/shm.c | 8 +- + kernel/audit.c | 10 +- + kernel/auditsc.c | 4 +- + kernel/bpf/core.c | 28 +- + kernel/capability.c | 3 + + kernel/cgroup.c | 29 +- + kernel/compat.c | 38 +- + kernel/debug/debug_core.c | 16 +- + kernel/debug/kdb/kdb_main.c | 4 +- + kernel/events/callchain.c | 2 +- + kernel/events/core.c | 36 +- + kernel/events/internal.h | 10 +- + kernel/events/uprobes.c | 2 +- + kernel/exit.c | 27 +- + kernel/fork.c | 175 +- + kernel/futex.c | 9 + + kernel/futex_compat.c | 2 +- + kernel/irq/manage.c | 2 +- + kernel/irq/msi.c | 19 +- + kernel/irq/spurious.c | 2 +- + kernel/jump_label.c | 5 + + kernel/kallsyms.c | 40 +- + kernel/kexec.c | 3 +- + kernel/kmod.c | 8 +- + kernel/kprobes.c | 4 +- + kernel/ksysfs.c | 2 +- + kernel/locking/lockdep.c | 7 +- + kernel/module.c | 405 +- + kernel/notifier.c | 17 +- + kernel/padata.c | 4 +- + kernel/panic.c | 11 +- + kernel/pid.c | 8 +- + kernel/pid_namespace.c | 2 +- + kernel/power/process.c | 12 +- + kernel/profile.c | 14 +- + kernel/ptrace.c | 8 +- + kernel/rcu/rcutorture.c | 60 +- + kernel/rcu/tiny.c | 4 +- + kernel/rcu/tree.c | 42 +- + kernel/rcu/tree.h | 14 +- + kernel/rcu/tree_plugin.h | 18 +- + kernel/rcu/tree_trace.c | 12 +- + kernel/resource.c | 4 +- + kernel/sched/auto_group.c | 4 +- + kernel/sched/core.c | 8 +- + kernel/sched/deadline.c | 4 +- + kernel/sched/debug.c | 45 +- + kernel/sched/fair.c | 2 +- + kernel/sched/rt.c | 4 +- + kernel/sched/sched.h | 13 +- + kernel/signal.c | 28 +- + kernel/smp.c | 2 +- + kernel/smpboot.c | 7 +- + kernel/softirq.c | 12 +- + kernel/stop_machine.c | 2 +- + kernel/sys.c | 10 +- + kernel/sys_ni.c | 4 +- + kernel/sysctl.c | 34 +- + kernel/time/alarmtimer.c | 4 +- + kernel/time/posix-clock.c | 8 +- + kernel/time/posix-cpu-timers.c | 4 +- + kernel/time/posix-timers.c | 36 +- + kernel/time/timer.c | 2 +- + kernel/time/timer_stats.c | 10 +- + kernel/trace/blktrace.c | 6 +- + kernel/trace/ftrace.c | 33 +- + kernel/trace/ring_buffer.c | 96 +- + kernel/trace/trace.c | 2 +- + kernel/trace/trace.h | 2 +- + kernel/trace/trace_clock.c | 4 +- + kernel/trace/trace_events.c | 1 - + kernel/trace/trace_events_hist.c | 4 +- + kernel/trace/trace_functions_graph.c | 4 +- + kernel/trace/trace_mmiotrace.c | 8 +- + kernel/trace/trace_output.c | 10 +- + kernel/trace/trace_seq.c | 2 +- + kernel/trace/trace_stack.c | 2 +- + kernel/trace/tracing_map.c | 48 +- + kernel/trace/tracing_map.h | 6 +- + kernel/user.c | 2 +- + kernel/user_namespace.c | 2 +- + kernel/utsname_sysctl.c | 2 +- + kernel/watchdog.c | 2 +- + kernel/workqueue.c | 8 +- + lib/Kconfig.debug | 8 +- + lib/Makefile | 2 +- + lib/bitmap.c | 8 +- + lib/bug.c | 2 + + lib/debugobjects.c | 2 +- + lib/decompress_bunzip2.c | 3 +- + lib/decompress_unlzma.c | 4 +- + lib/div64.c | 4 +- + lib/dma-debug.c | 4 +- + lib/extable.c | 11 +- + lib/inflate.c | 2 +- + lib/ioremap.c | 4 +- + lib/irq_poll.c | 2 +- + lib/kobject.c | 4 +- + lib/list_debug.c | 126 +- + lib/lockref.c | 44 +- + lib/percpu-refcount.c | 2 +- + lib/radix-tree.c | 2 +- + lib/random32.c | 2 +- + lib/rhashtable.c | 4 +- + lib/seq_buf.c | 4 +- + lib/show_mem.c | 2 +- + lib/strncpy_from_user.c | 2 +- + lib/strnlen_user.c | 2 +- + lib/swiotlb.c | 2 +- + lib/usercopy.c | 6 + + lib/vsprintf.c | 12 +- + mm/Kconfig | 6 +- + mm/backing-dev.c | 4 +- + mm/fadvise.c | 2 +- + mm/filemap.c | 8 +- + mm/gup.c | 13 +- + mm/highmem.c | 6 +- + mm/hugetlb.c | 125 +- + mm/hugetlb_cgroup.c | 60 +- + mm/internal.h | 3 +- + mm/maccess.c | 12 +- + mm/madvise.c | 37 + + mm/memcontrol.c | 6 +- + mm/memory-failure.c | 6 +- + mm/memory.c | 424 +- + mm/mempolicy.c | 25 + + mm/mlock.c | 18 +- + mm/mm_init.c | 2 +- + mm/mmap.c | 552 +- + mm/mprotect.c | 137 +- + mm/mremap.c | 39 +- + mm/nommu.c | 21 +- + mm/page-writeback.c | 2 +- + mm/page_alloc.c | 61 +- + mm/percpu.c | 2 +- + mm/process_vm_access.c | 14 +- + mm/readahead.c | 2 +- + mm/rmap.c | 43 +- + mm/shmem.c | 36 +- + mm/slab.c | 113 +- + mm/slab.h | 37 +- + mm/slab_common.c | 85 +- + mm/slob.c | 248 +- + mm/slub.c | 118 +- + mm/sparse-vmemmap.c | 4 +- + mm/sparse.c | 2 +- + mm/swap.c | 7 + + mm/swapfile.c | 12 +- + mm/util.c | 7 + + mm/vmalloc.c | 116 +- + mm/vmstat.c | 14 +- + net/8021q/vlan.c | 5 +- + net/8021q/vlan_netlink.c | 2 +- + net/9p/mod.c | 4 +- + net/9p/trans_fd.c | 2 +- + net/atm/atm_misc.c | 8 +- + net/atm/lec.h | 2 +- + net/atm/proc.c | 6 +- + net/atm/resources.c | 4 +- + net/ax25/sysctl_net_ax25.c | 2 +- + net/batman-adv/bat_iv_ogm.c | 8 +- + net/batman-adv/fragmentation.c | 2 +- + net/batman-adv/routing.c | 4 +- + net/batman-adv/soft-interface.c | 12 +- + net/batman-adv/sysfs.c | 48 +- + net/batman-adv/sysfs.h | 4 +- + net/batman-adv/translation-table.c | 14 +- + net/batman-adv/types.h | 8 +- + net/bluetooth/hci_sock.c | 2 +- + net/bluetooth/l2cap_core.c | 6 +- + net/bluetooth/l2cap_sock.c | 12 +- + net/bluetooth/rfcomm/sock.c | 4 +- + net/bluetooth/rfcomm/tty.c | 4 +- + net/bridge/br_netfilter_hooks.c | 4 +- + net/bridge/br_netlink.c | 2 +- + net/bridge/netfilter/ebtables.c | 6 +- + net/caif/cfctrl.c | 11 +- + net/caif/chnl_net.c | 4 +- + net/can/af_can.c | 2 +- + net/can/gw.c | 6 +- + net/ceph/ceph_common.c | 2 +- + net/ceph/messenger.c | 4 +- + net/compat.c | 26 +- + net/core/datagram.c | 2 +- + net/core/dev.c | 26 +- + net/core/filter.c | 2 +- + net/core/flow.c | 8 +- + net/core/neighbour.c | 18 +- + net/core/net-procfs.c | 4 +- + net/core/net-sysfs.c | 2 +- + net/core/net_namespace.c | 10 +- + net/core/netpoll.c | 4 +- + net/core/rtnetlink.c | 17 +- + net/core/scm.c | 12 +- + net/core/skbuff.c | 11 +- + net/core/sock.c | 32 +- + net/core/sock_diag.c | 17 +- + net/core/sysctl_net_core.c | 22 +- + net/decnet/af_decnet.c | 1 + + net/decnet/sysctl_net_decnet.c | 4 +- + net/dsa/dsa.c | 2 +- + net/dsa/slave.c | 4 +- + net/hsr/hsr_device.c | 2 +- + net/hsr/hsr_netlink.c | 2 +- + net/ieee802154/6lowpan/core.c | 2 +- + net/ieee802154/6lowpan/reassembly.c | 14 +- + net/ieee802154/core.c | 6 +- + net/ipv4/af_inet.c | 6 +- + net/ipv4/arp.c | 2 +- + net/ipv4/devinet.c | 20 +- + net/ipv4/fib_frontend.c | 6 +- + net/ipv4/fib_semantics.c | 2 +- + net/ipv4/icmp.c | 2 +- + net/ipv4/inet_connection_sock.c | 4 +- + net/ipv4/inet_diag.c | 4 +- + net/ipv4/inet_timewait_sock.c | 2 +- + net/ipv4/inetpeer.c | 2 +- + net/ipv4/ip_fragment.c | 17 +- + net/ipv4/ip_gre.c | 6 +- + net/ipv4/ip_sockglue.c | 2 +- + net/ipv4/ip_vti.c | 4 +- + net/ipv4/ipconfig.c | 6 +- + net/ipv4/ipip.c | 4 +- + net/ipv4/netfilter/arp_tables.c | 10 +- + net/ipv4/netfilter/ip_tables.c | 10 +- + net/ipv4/ping.c | 14 +- + net/ipv4/proc.c | 10 +- + net/ipv4/raw.c | 16 +- + net/ipv4/route.c | 40 +- + net/ipv4/sysctl_net_ipv4.c | 24 +- + net/ipv4/tcp_input.c | 6 +- + net/ipv4/tcp_ipv4.c | 2 +- + net/ipv4/tcp_metrics.c | 2 +- + net/ipv4/tcp_probe.c | 2 +- + net/ipv4/udp.c | 10 +- + net/ipv4/xfrm4_mode_beet.c | 2 +- + net/ipv4/xfrm4_mode_transport.c | 2 +- + net/ipv4/xfrm4_policy.c | 19 +- + net/ipv4/xfrm4_state.c | 4 +- + net/ipv6/addrconf.c | 26 +- + net/ipv6/af_inet6.c | 2 +- + net/ipv6/datagram.c | 2 +- + net/ipv6/icmp.c | 2 +- + net/ipv6/inet6_hashtables.c | 2 +- + net/ipv6/ip6_fib.c | 4 +- + net/ipv6/ip6_gre.c | 10 +- + net/ipv6/ip6_tunnel.c | 4 +- + net/ipv6/ip6_vti.c | 4 +- + net/ipv6/ipv6_sockglue.c | 2 +- + net/ipv6/ndisc.c | 2 +- + net/ipv6/netfilter/ip6_tables.c | 10 +- + net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +- + net/ipv6/ping.c | 33 +- + net/ipv6/proc.c | 10 +- + net/ipv6/raw.c | 17 +- + net/ipv6/reassembly.c | 13 +- + net/ipv6/route.c | 2 +- + net/ipv6/sit.c | 4 +- + net/ipv6/sysctl_net_ipv6.c | 2 +- + net/ipv6/udp.c | 6 +- + net/ipv6/xfrm6_mode_beet.c | 2 +- + net/ipv6/xfrm6_mode_transport.c | 2 +- + net/ipv6/xfrm6_policy.c | 17 +- + net/irda/discovery.c | 2 +- + net/irda/ircomm/ircomm_core.c | 13 +- + net/irda/ircomm/ircomm_tty.c | 24 +- + net/irda/ircomm/ircomm_tty_attach.c | 4 +- + net/irda/irda_device.c | 14 +- + net/irda/iriap.c | 14 +- + net/irda/irias_object.c | 10 +- + net/irda/irlan/irlan_client.c | 2 +- + net/irda/irlap.c | 15 +- + net/irda/irlap_event.c | 2 +- + net/irda/irlmp.c | 21 +- + net/irda/irlmp_event.c | 6 +- + net/irda/irnet/irnet.h | 2 +- + net/irda/irnet/irnet_irda.c | 6 +- + net/irda/irttp.c | 8 +- + net/irda/timer.c | 24 +- + net/iucv/af_iucv.c | 4 +- + net/iucv/iucv.c | 2 +- + net/key/af_key.c | 4 +- + net/l2tp/l2tp_eth.c | 40 +- + net/l2tp/l2tp_ip.c | 2 +- + net/l2tp/l2tp_ip6.c | 2 +- + net/mac80211/cfg.c | 12 +- + net/mac80211/debugfs.c | 2 +- + net/mac80211/debugfs_key.c | 6 +- + net/mac80211/ieee80211_i.h | 3 +- + net/mac80211/iface.c | 20 +- + net/mac80211/main.c | 2 +- + net/mac80211/pm.c | 4 +- + net/mac80211/rate.c | 2 +- + net/mac80211/sta_info.c | 2 +- + net/mac80211/tx.c | 2 +- + net/mac80211/util.c | 8 +- + net/mac80211/wpa.c | 12 +- + net/mac802154/iface.c | 6 +- + net/mpls/af_mpls.c | 10 +- + net/netfilter/ipset/ip_set_core.c | 7 +- + net/netfilter/ipvs/ip_vs_conn.c | 6 +- + net/netfilter/ipvs/ip_vs_core.c | 8 +- + net/netfilter/ipvs/ip_vs_ctl.c | 14 +- + net/netfilter/ipvs/ip_vs_lblc.c | 2 +- + net/netfilter/ipvs/ip_vs_lblcr.c | 2 +- + net/netfilter/ipvs/ip_vs_sync.c | 6 +- + net/netfilter/ipvs/ip_vs_xmit.c | 4 +- + net/netfilter/nf_conntrack_acct.c | 2 +- + net/netfilter/nf_conntrack_core.c | 2 +- + net/netfilter/nf_conntrack_ecache.c | 2 +- + net/netfilter/nf_conntrack_helper.c | 2 +- + net/netfilter/nf_conntrack_netlink.c | 22 +- + net/netfilter/nf_conntrack_proto.c | 2 +- + net/netfilter/nf_conntrack_standalone.c | 2 +- + net/netfilter/nf_conntrack_timestamp.c | 2 +- + net/netfilter/nf_log.c | 10 +- + net/netfilter/nf_nat_ftp.c | 2 +- + net/netfilter/nf_nat_irc.c | 2 +- + net/netfilter/nf_sockopt.c | 4 +- + net/netfilter/nf_tables_api.c | 13 +- + net/netfilter/nfnetlink_acct.c | 33 +- + net/netfilter/nfnetlink_cthelper.c | 2 +- + net/netfilter/nfnetlink_cttimeout.c | 2 +- + net/netfilter/nfnetlink_log.c | 4 +- + net/netfilter/nft_compat.c | 9 +- + net/netfilter/xt_IDLETIMER.c | 12 +- + net/netfilter/xt_statistic.c | 8 +- + net/netlink/af_netlink.c | 16 +- + net/netlink/diag.c | 2 +- + net/netlink/genetlink.c | 14 +- + net/openvswitch/vport-geneve.c | 7 +- + net/openvswitch/vport-gre.c | 7 +- + net/openvswitch/vport-internal_dev.c | 4 +- + net/openvswitch/vport-netdev.c | 7 +- + net/openvswitch/vport-vxlan.c | 7 +- + net/packet/af_packet.c | 26 +- + net/packet/diag.c | 2 +- + net/packet/internal.h | 6 +- + net/phonet/pep.c | 6 +- + net/phonet/socket.c | 2 +- + net/phonet/sysctl.c | 2 +- + net/rds/cong.c | 6 +- + net/rds/ib.h | 2 +- + net/rds/ib_cm.c | 2 +- + net/rds/ib_recv.c | 4 +- + net/rds/rds.h | 2 +- + net/rds/tcp.c | 6 +- + net/rds/tcp.h | 6 +- + net/rds/tcp_send.c | 2 +- + net/rxrpc/af_rxrpc.c | 2 +- + net/rxrpc/ar-ack.c | 14 +- + net/rxrpc/ar-call.c | 2 +- + net/rxrpc/ar-connection.c | 2 +- + net/rxrpc/ar-connevent.c | 2 +- + net/rxrpc/ar-input.c | 4 +- + net/rxrpc/ar-internal.h | 8 +- + net/rxrpc/ar-local.c | 2 +- + net/rxrpc/ar-output.c | 4 +- + net/rxrpc/ar-peer.c | 2 +- + net/rxrpc/ar-proc.c | 4 +- + net/rxrpc/ar-transport.c | 2 +- + net/rxrpc/rxkad.c | 4 +- + net/sched/sch_generic.c | 4 +- + net/sched/sch_tbf.c | 9 +- + net/sctp/ipv6.c | 4 +- + net/sctp/protocol.c | 8 +- + net/sctp/sctp_diag.c | 2 +- + net/sctp/sm_sideeffect.c | 4 +- + net/sctp/socket.c | 21 +- + net/sctp/sysctl.c | 10 +- + net/socket.c | 18 +- + net/sunrpc/auth_gss/gss_rpc_upcall.c | 4 +- + net/sunrpc/auth_gss/gss_rpc_xdr.c | 11 +- + net/sunrpc/auth_gss/gss_rpc_xdr.h | 8 +- + net/sunrpc/auth_gss/svcauth_gss.c | 4 +- + net/sunrpc/clnt.c | 4 +- + net/sunrpc/rpcb_clnt.c | 66 +- + net/sunrpc/sched.c | 4 +- + net/sunrpc/svc.c | 8 +- + net/sunrpc/svcauth_unix.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma.c | 44 +- + net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 8 +- + net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +- + net/tipc/netlink_compat.c | 12 +- + net/tipc/subscr.c | 2 +- + net/unix/diag.c | 2 +- + net/unix/sysctl_net_unix.c | 2 +- + net/wireless/scan.c | 3 +- + net/wireless/wext-compat.c | 141 +- + net/wireless/wext-compat.h | 8 +- + net/wireless/wext-core.c | 19 +- + net/wireless/wext-sme.c | 5 +- + net/xfrm/xfrm_policy.c | 18 +- + net/xfrm/xfrm_state.c | 37 +- + net/xfrm/xfrm_sysctl.c | 2 +- + net/xfrm/xfrm_user.c | 2 +- + scripts/Kbuild.include | 12 +- + scripts/Makefile | 2 +- + scripts/Makefile.build | 2 +- + scripts/Makefile.clean | 4 +- + scripts/Makefile.extrawarn | 4 + + scripts/Makefile.gcc-plugins | 95 + + scripts/Makefile.host | 73 +- + scripts/basic/fixdep.c | 10 +- + scripts/dtc/checks.c | 14 +- + scripts/dtc/data.c | 6 +- + scripts/dtc/flattree.c | 8 +- + scripts/dtc/livetree.c | 4 +- + scripts/gcc-plugin.sh | 65 + + scripts/gcc-plugins/Makefile | 28 + + scripts/gcc-plugins/checker_plugin.c | 496 + + scripts/gcc-plugins/colorize_plugin.c | 162 + + scripts/gcc-plugins/constify_plugin.c | 582 + + scripts/gcc-plugins/gcc-common.h | 894 + + scripts/gcc-plugins/gcc-generate-gimple-pass.h | 175 + + scripts/gcc-plugins/gcc-generate-ipa-pass.h | 289 + + scripts/gcc-plugins/gcc-generate-rtl-pass.h | 175 + + scripts/gcc-plugins/gcc-generate-simple_ipa-pass.h | 175 + + scripts/gcc-plugins/initify_plugin.c | 536 + + scripts/gcc-plugins/kallocstat_plugin.c | 135 + + scripts/gcc-plugins/kernexec_plugin.c | 407 + + scripts/gcc-plugins/latent_entropy_plugin.c | 613 + + scripts/gcc-plugins/rap_plugin/Makefile | 6 + + scripts/gcc-plugins/rap_plugin/rap.h | 36 + + scripts/gcc-plugins/rap_plugin/rap_fptr_pass.c | 220 + + scripts/gcc-plugins/rap_plugin/rap_hash.c | 382 + + scripts/gcc-plugins/rap_plugin/rap_plugin.c | 513 + + scripts/gcc-plugins/rap_plugin/sip.c | 96 + + .../gcc-plugins/size_overflow_plugin/.gitignore | 3 + + scripts/gcc-plugins/size_overflow_plugin/Makefile | 30 + + .../disable_size_overflow_hash.data | 12445 +++++++++++ + .../generate_size_overflow_hash.sh | 103 + + .../insert_size_overflow_asm.c | 369 + + .../size_overflow_plugin/intentional_overflow.c | 1166 + + .../size_overflow_plugin/remove_unnecessary_dup.c | 137 + + .../size_overflow_plugin/size_overflow.h | 331 + + .../size_overflow_plugin/size_overflow_debug.c | 194 + + .../size_overflow_plugin/size_overflow_hash.data | 22068 +++++++++++++++++++ + .../size_overflow_hash_aux.data | 97 + + .../size_overflow_plugin/size_overflow_ipa.c | 1163 + + .../size_overflow_plugin/size_overflow_misc.c | 505 + + .../size_overflow_plugin/size_overflow_plugin.c | 290 + + .../size_overflow_plugin_hash.c | 352 + + .../size_overflow_plugin/size_overflow_transform.c | 743 + + .../size_overflow_transform_core.c | 1025 + + scripts/gcc-plugins/stackleak_plugin.c | 350 + + scripts/gcc-plugins/structleak_plugin.c | 239 + + scripts/headers_install.sh | 1 + + scripts/kallsyms.c | 4 +- + scripts/kconfig/lkc.h | 5 +- + scripts/kconfig/menu.c | 2 +- + scripts/kconfig/symbol.c | 6 +- + scripts/link-vmlinux.sh | 2 +- + scripts/mod/file2alias.c | 14 +- + scripts/mod/modpost.c | 40 +- + scripts/mod/modpost.h | 6 +- + scripts/mod/sumversion.c | 2 +- + scripts/module-common.lds | 4 + + scripts/package/builddeb | 1 + + scripts/pnmtologo.c | 6 +- + scripts/sortextable.h | 6 +- + scripts/tags.sh | 2 +- + security/Kconfig | 735 +- + security/apparmor/include/policy.h | 2 +- + security/apparmor/lsm.c | 16 +- + security/apparmor/policy.c | 4 +- + security/integrity/ima/ima.h | 4 +- + security/integrity/ima/ima_api.c | 2 +- + security/integrity/ima/ima_fs.c | 4 +- + security/integrity/ima/ima_queue.c | 2 +- + security/keys/internal.h | 8 +- + security/keys/key.c | 18 +- + security/keys/keyring.c | 4 - + security/selinux/avc.c | 6 +- + security/selinux/include/xfrm.h | 2 +- + security/yama/yama_lsm.c | 2 +- + sound/aoa/codecs/onyx.c | 7 +- + sound/aoa/codecs/onyx.h | 1 + + sound/core/oss/pcm_oss.c | 18 +- + sound/core/pcm_compat.c | 2 +- + sound/core/pcm_lib.c | 3 +- + sound/core/pcm_native.c | 4 +- + sound/core/rawmidi.c | 5 +- + sound/core/seq/oss/seq_oss_synth.c | 4 +- + sound/core/seq/seq_clientmgr.c | 10 +- + sound/core/seq/seq_compat.c | 2 +- + sound/core/seq/seq_fifo.c | 6 +- + sound/core/seq/seq_fifo.h | 2 +- + sound/core/seq/seq_memory.c | 18 +- + sound/core/seq/seq_midi.c | 5 +- + sound/core/seq/seq_virmidi.c | 2 +- + sound/core/sound.c | 2 +- + sound/drivers/mts64.c | 14 +- + sound/drivers/opl4/opl4_lib.c | 2 +- + sound/drivers/portman2x4.c | 3 +- + sound/firewire/amdtp-am824.c | 2 +- + sound/firewire/amdtp-stream.c | 4 +- + sound/firewire/amdtp-stream.h | 2 +- + sound/firewire/digi00x/amdtp-dot.c | 2 +- + sound/firewire/isight.c | 10 +- + sound/firewire/oxfw/oxfw-scs1x.c | 8 +- + sound/oss/sb_audio.c | 2 +- + sound/oss/swarm_cs4297a.c | 6 +- + sound/pci/als300.c | 2 +- + sound/pci/aw2/aw2-alsa.c | 2 - + sound/pci/aw2/aw2-saa7146.c | 4 +- + sound/pci/ctxfi/ctamixer.c | 14 +- + sound/pci/ctxfi/ctamixer.h | 8 +- + sound/pci/ctxfi/ctatc.c | 20 +- + sound/pci/ctxfi/ctdaio.c | 6 +- + sound/pci/ctxfi/ctdaio.h | 4 +- + sound/pci/ctxfi/ctsrc.c | 13 +- + sound/pci/ctxfi/ctsrc.h | 8 +- + sound/pci/hda/hda_codec.c | 2 +- + sound/pci/ymfpci/ymfpci.h | 2 +- + sound/pci/ymfpci/ymfpci_main.c | 12 +- + sound/soc/codecs/cx20442.c | 8 +- + sound/soc/codecs/sti-sas.c | 10 +- + sound/soc/codecs/tlv320dac33.c | 7 +- + sound/soc/codecs/uda1380.c | 7 +- + sound/soc/intel/skylake/skl-sst-dsp.h | 2 +- + sound/soc/soc-ac97.c | 6 +- + sound/soc/xtensa/xtfpga-i2s.c | 2 +- + tools/include/linux/compiler.h | 8 + + tools/perf/util/include/asm/alternative-asm.h | 3 + + tools/virtio/linux/uaccess.h | 2 +- + virt/kvm/kvm_main.c | 42 +- + 2774 files changed, 78254 insertions(+), 14304 deletions(-) +commit b2d3123595e9bd771c1292b03b82e47127b416c0 +Author: Brad Spengler +Date: Sun Jul 31 21:40:39 2016 -0400 + + ARM compile fixes + + arch/arm/include/asm/atomic.h | 40 +++++++++++++++++++++++++-------------- + arch/arm/include/asm/domain.h | 1 + + include/asm-generic/atomic-long.h | 2 ++ + include/asm-generic/atomic64.h | 1 + + include/linux/atomic.h | 23 ++++++++++++++++++++++ + 5 files changed, 53 insertions(+), 14 deletions(-) + +commit 439d240094e132ce7455a12267340a15ff45a6bf +Author: Scott Bauer +Date: Wed Jul 27 19:11:29 2016 -0600 + + vfs: ioctl: prevent double-fetch in dedupe ioctl + + This prevents a double-fetch from user space that can lead to to an + undersized allocation and heap overflow. + + Fixes: 54dbc1517237 ("vfs: hoist the btrfs deduplication ioctl to the vfs") + Signed-off-by: Scott Bauer + Signed-off-by: Linus Torvalds + + fs/ioctl.c | 1 + + 1 file changed, 1 insertion(+) + +commit 0e2289fa07be544a2f72d3eebd1d2c76e435f5c5 +Author: Brad Spengler +Date: Wed Jul 27 20:30:01 2016 -0400 + + Update size_overflow hash table + + scripts/gcc-plugins/size_overflow_plugin/size_overflow_hash.data | 1 + + 1 file changed, 1 insertion(+) + +commit 50d051c5af8ea45fc8465ccbfda3530e95d2b97a +Author: Brad Spengler +Date: Wed Jul 27 20:14:26 2016 -0400 + + Update size_overflow hash table + + scripts/gcc-plugins/size_overflow_plugin/size_overflow_hash.data | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit aff6427a6baa489e210f6951f90bf29c4bf7a5f6 +Merge: d1085b0 8f83873 +Author: Brad Spengler +Date: Wed Jul 27 19:53:16 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 8f838734fe795a77eef1807e804b8bbae857201f +Merge: 48edba8 bed4c61 +Author: Brad Spengler +Date: Wed Jul 27 19:40:39 2016 -0400 + + Update to pax-linux-4.6.5-test18.patch: + - fixed a few non-refcount atomic uses found by static analysis + - plugins no longer export symbols except for those required by gcc + - moved a few instrumentation passes after other analysis passes to prevent interference + - got rid of the use of paravirt_enabled on amd64 which is gone in 4.7 anyway + - repurposed the unusued skip_heap_stack_gap to simplify the unmapped area lookup code + - fixed a few compile warnings related to constification and function type fixes + + Merge branch 'linux-4.6.y' into pax-test + +commit d1085b0354e32d2b030ca38bf0fa854129b6f381 +Merge: 59774b1 48edba8 +Author: Brad Spengler +Date: Sun Jul 24 19:36:43 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 48edba86de9569aef6faad21075b501c5023a66f +Author: Brad Spengler +Date: Sun Jul 24 19:34:05 2016 -0400 + + Update to pax-linux-4.6.4-test16.patch: + - limited prefaulting in access_ok to 256 pages to reduce its performance impact, reported by Matthew Stapleton (https://bugs.gentoo.org/show_bug.cgi?id=589046) + - reverted back to the old size overflow hash table until Emese tames the data flow analysis a bit + - fixed the constify plugin to properly build the type for pointers to deconstified structs + + arch/x86/include/asm/uaccess.h | 2 +- + arch/x86/kernel/kgdb.c | 4 +- + scripts/gcc-plugins/constify_plugin.c | 9 +- + .../disable_size_overflow_hash.data | 7 +- + .../size_overflow_plugin/size_overflow_hash.data | 13545 +++++++++---------- + 5 files changed, 6580 insertions(+), 6987 deletions(-) + +commit 59774b19cbe7ea87915d659d4711c830ce360e36 +Author: Brad Spengler +Date: Sat Jul 23 18:47:31 2016 -0400 + + Allow 'perf' to be used as a privileged user by making the default + kptr_restrict setting 1 with HIDESYM (rather than the previous 2). + To prevent abuse from loggers (like the adb case) add CAP_SYS_ADMIN + to the kptr_restrict=1 case. It can always be set to 2 if the user + wishes. + + kernel/sysctl.c | 2 +- + lib/vsprintf.c | 5 ++++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +commit 191fac3a4900d3e033969952d99b79cfa2525f30 +Author: Brad Spengler +Date: Sat Jul 23 14:56:39 2016 -0400 + + Force OABI_COMPAT off, it's full of privesc vulns + + arch/arm/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +commit 4a983bdd1886eb2068c3fccd0d95358ff3b3eee1 +Author: Brad Spengler +Date: Sat Jul 23 10:44:43 2016 -0400 + + Stop logging RLIMIT_NICE denials, just produces log spam + + grsecurity/gracl_res.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit 84f2bc67492f30f06520497a9bb16c0a2e3103df +Author: Brad Spengler +Date: Tue Jul 19 20:13:30 2016 -0400 + + Revert to previous size_overflow hash table temporarily while the + root causes of recent FPs are worked out + + .../disable_size_overflow_hash.data | 7 +- + .../size_overflow_plugin/size_overflow_hash.data | 13743 +++++++++---------- + 2 files changed, 6845 insertions(+), 6905 deletions(-) + +commit ea2b9616253f017edf97e4b86e82d6c89df17c4d +Merge: e52044e cd66132 +Author: Brad Spengler +Date: Tue Jul 19 19:21:52 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit cd661322f3b91c6fd6fee4a6a5907b054a70a5f7 +Author: Brad Spengler +Date: Tue Jul 19 19:14:36 2016 -0400 + + Update to pax-linux-4.6.4-test15.patch: + - updated the size overflow hash table from grsecurity + - fixed a few size overflow false positives in the tcp timestamp code, reported by Toralf Förster and debrouxl (https://forums.grsecurity.net/viewtopic.php?f=3&t=4514) + + .../disable_size_overflow_hash.data | 7 +- + .../size_overflow_plugin/size_overflow_hash.data | 850 +++++++++++++++++---- + 2 files changed, 694 insertions(+), 163 deletions(-) + +commit e52044e34a92f944b99e9219147617dc7449a675 +Author: Brad Spengler +Date: Mon Jul 18 21:25:15 2016 -0400 + + Update size_overflow hash table + + .../size_overflow_plugin/size_overflow_hash.data | 466 +++++++++++++++++---- + 1 file changed, 382 insertions(+), 84 deletions(-) + +commit 27ed9167fb98fe9f9e75aace6f651ff814a189a5 +Author: Brad Spengler +Date: Mon Jul 18 21:04:42 2016 -0400 + + Update size_overflow hash table + + .../gcc-plugins/size_overflow_plugin/size_overflow_hash.data | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit b0a1f25a251b7c1c582fa3a95605654f8da33193 +Author: Jann Horn +Date: Fri Sep 11 21:39:33 2015 +0200 + + xfs: fix type confusion in xfs_ioc_swapext + + Without this check, the following XFS_I invocations would return bad + pointers when used on non-XFS inodes (perhaps pointers into preceding + allocator chunks). + + This could be used by an attacker to trick xfs_swap_extents into + performing locking operations on attacker-chosen structures in kernel + memory, potentially leading to code execution in the kernel. (I have + not investigated how likely this is to be usable for an attack in + practice.) + + Signed-off-by: Jann Horn + Cc: Andy Lutomirski + Cc: Dave Chinner + Signed-off-by: Linus Torvalds + + fs/xfs/xfs_ioctl.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 01e9e48be783cefbe69ff9241ab678de69eaab5b +Merge: bd6d599 c421d76 +Author: Brad Spengler +Date: Mon Jul 18 20:18:27 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit c421d76c43d1840ab72bf2cd414e61ee0581e80b +Author: Brad Spengler +Date: Mon Jul 18 20:04:22 2016 -0400 + + Update to pax-linux-4.6.4-test14.patch: + - Emese regenerated the size overflow hash table + - fixed a few more section mismatches detected in LTO mode + - reworked how KERNEXEC coexists with upstream's DEBUG_RODATA + - reworked the KERNEXEC plugin configuration, read the Kconfig help! + - simplified the constify plugin a bit + - fixed an integer truncation bug in pnp_add_dma_resource caught by the size overflow plugin, reported by Thore Bödecker (https://forums.grsecurity.net/viewtopic.php?f=3&t=4511 and https://bugzilla.kernel.org/show_bug.cgi?id=123211) + - worked around an integer conversion problem in drbd caught by the size overflow plugin, reported by Georg Weiss (https://forums.grsecurity.net/viewtopic.php?f=3&t=4510 and https://bugs.gentoo.org/show_bug.cgi?id=588624) + - fixed !KERNEXEC boot crash on x86, reported by peetaur (https://forums.grsecurity.net/viewtopic.php?f=3&t=4512) + - fixed compile warnings triggered by the __SYSCALL_DEFINEx macro + + arch/mips/Kbuild | 2 +- + arch/mips/include/asm/irq.h | 1 - + arch/sparc/include/asm/atomic_64.h | 6 + + arch/sparc/kernel/prom_common.c | 2 +- + arch/sparc/lib/atomic_64.S | 2 +- + arch/sparc/lib/ksyms.c | 4 +- + arch/x86/entry/entry_64.S | 2 +- + arch/x86/entry/vsyscall/vsyscall_emu_64.S | 3 +- + arch/x86/kernel/alternative.c | 21 + + arch/x86/kernel/cpu/common.c | 4 + + arch/x86/platform/olpc/olpc_dt.c | 2 +- + drivers/block/drbd/drbd_int.h | 4 +- + drivers/gpu/drm/sti/sti_hda.c | 4 +- + drivers/gpu/drm/sti/sti_hqvdp.c | 4 +- + drivers/gpu/drm/sti/sti_tvout.c | 4 +- + drivers/gpu/drm/tilcdc/tilcdc_external.c | 2 +- + drivers/hwmon/applesmc.c | 2 +- + drivers/iommu/io-pgtable-arm.c | 2 +- + drivers/isdn/gigaset/usb-gigaset.c | 2 +- + drivers/leds/leds-clevo-mail.c | 2 +- + drivers/leds/leds-ss4200.c | 2 +- + drivers/mtd/nand/brcmnand/bcm63138_nand.c | 2 + + drivers/mtd/nand/brcmnand/iproc_nand.c | 2 + + drivers/platform/chrome/chromeos_laptop.c | 2 +- + drivers/platform/chrome/cros_ec_lpc.c | 2 +- + drivers/pnp/base.h | 2 +- + drivers/pnp/resource.c | 4 +- + fs/exec.c | 20 +- + include/drm/drm_modeset_helper_vtables.h | 1 + + include/linux/syscalls.h | 8 +- + mm/slab_common.c | 6 + + mm/slob.c | 44 +- + mm/slub.c | 7 + + scripts/Makefile.gcc-plugins | 4 +- + scripts/gcc-plugins/constify_plugin.c | 10 +- + .../size_overflow_plugin/size_overflow_hash.data | 13633 +++++++++---------- + security/Kconfig | 63 +- + 37 files changed, 6934 insertions(+), 6953 deletions(-) + +commit bd6d599943a777b93600dd4a43bbeea5dde2dfa0 +Author: Brad Spengler +Date: Sun Jul 17 17:18:15 2016 -0400 + + Ensure current state is set to TASK_RUNNING before doing a copy on the RBAC learning read side + + grsecurity/gracl_learn.c | 6 ++++-- + kernel/sched/core.c | 2 +- + 2 files changed, 5 insertions(+), 3 deletions(-) + +commit 0f2e7d90efc7eeff655d7cc2c15838497f8c0513 +Author: Brad Spengler +Date: Fri Jul 15 15:29:41 2016 -0400 + + Force that BUG() be enabled in the kernel config if grsecurity is enabled + Suggested by Kees Cook + + security/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +commit 3efe62268d831fc5c89a64b8ff1496d2b912ebf6 +Author: Brad Spengler +Date: Thu Jul 14 21:14:55 2016 -0400 + + randomize layout of two more structs + + include/linux/cdev.h | 2 +- + include/linux/fs.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 58c0443674275163e4d488f890ba1b985d13a4b0 +Author: Brad Spengler +Date: Mon Jul 11 21:30:57 2016 -0400 + + Temporary workaround for size_overflow detection reported at: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4510 + by brainatwork + + drivers/block/drbd/drbd_int.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit aa1f32f7a62f394d1f90c2d9952befdd5294c088 +Author: Brad Spengler +Date: Mon Jul 11 21:18:20 2016 -0400 + + Update size_overflow hash table + + scripts/gcc-plugins/size_overflow_plugin/size_overflow_hash.data | 1 + + 1 file changed, 1 insertion(+) + +commit 329fa438e13041fda3dcd292adf2aeb1c008c72c +Author: Jeff Mahoney +Date: Tue Jul 5 17:32:30 2016 -0400 + + ecryptfs: don't allow mmap when the lower fs doesn't support it + + There are legitimate reasons to disallow mmap on certain files, notably + in sysfs or procfs. We shouldn't emulate mmap support on file systems + that don't offer support natively. + + CVE-2016-1583 + + Signed-off-by: Jeff Mahoney + Cc: stable@vger.kernel.org + [tyhicks: clean up f_op check by using ecryptfs_file_to_lower()] + Signed-off-by: Tyler Hicks + + fs/ecryptfs/file.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +commit 5b86b77c32a55ebc8b441ac71839bb50012e505a +Author: Vegard Nossum +Date: Thu Jul 7 13:41:11 2016 -0700 + + apparmor: fix oops, validate buffer size in apparmor_setprocattr() + + When proc_pid_attr_write() was changed to use memdup_user apparmor's + (interface violating) assumption that the setprocattr buffer was always + a single page was violated. + + The size test is not strictly speaking needed as proc_pid_attr_write() + will reject anything larger, but for the sake of robustness we can keep + it in. + + SMACK and SELinux look safe to me, but somebody else should probably + have a look just in case. + + Based on original patch from Vegard Nossum + modified for the case that apparmor provides null termination. + + Fixes: bb646cdb12e75d82258c2f2e7746d5952d3e321a + Reported-by: Vegard Nossum + Cc: Al Viro + Cc: John Johansen + Cc: Paul Moore + Cc: Stephen Smalley + Cc: Eric Paris + Cc: Casey Schaufler + Cc: stable@kernel.org + Signed-off-by: John Johansen + Reviewed-by: Tyler Hicks + Signed-off-by: James Morris + + security/apparmor/lsm.c | 36 +++++++++++++++++++----------------- + 1 file changed, 19 insertions(+), 17 deletions(-) + +commit cf7f94ad6c32ff91363641573a64c85f4877e290 +Merge: 7765cd9 50212d6 +Author: Brad Spengler +Date: Mon Jul 11 18:39:35 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 50212d610aeb6ced453e1835c169c46acdf3940d +Merge: 98d6186 310ca59 +Author: Brad Spengler +Date: Mon Jul 11 18:39:08 2016 -0400 + + Merge branch 'linux-4.6.y' into pax-test + +commit 7765cd90c911e58959451529995ea44b7a2271d6 +Author: Brad Spengler +Date: Thu Jul 7 07:12:54 2016 -0400 + + Compile fix reported by adminwset on the forums: + https://forums.grsecurity.net/viewtopic.php?t=4507&p=16420#p16420 + + fs/proc/task_mmu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c94fbc6f47fdae9a2dcf29d3048c8da8752dbbdf +Author: Brad Spengler +Date: Wed Jul 6 21:11:33 2016 -0400 + + compile fix + + arch/x86/mm/init_32.c | 1 - + 1 file changed, 1 deletion(-) + +commit ee4f4cdd26864ac40ac22b4a3b88f284a6d057d0 +Author: Miklos Szeredi +Date: Wed Jun 29 16:03:55 2016 +0200 + + ovl: get_write_access() in truncate + + When truncating a file we should check write access on the underlying + inode. And we should do so on the lower file as well (before copy-up) for + consistency. + + Original patch and test case by Aihua Zhang. + + - - >o >o - - test.c - - >o >o - - + #include + #include + #include + + int main(int argc, char *argv[]) + { + int ret; + + ret = truncate(argv[0], 4096); + if (ret != -1) { + fprintf(stderr, "truncate(argv[0]) should have failed\n"); + return 1; + } + if (errno != ETXTBSY) { + perror("truncate(argv[0])"); + return 1; + } + + return 0; + } + - - >o >o - - >o >o - - >o >o - - + + Reported-by: Aihua Zhang + Signed-off-by: Miklos Szeredi + Cc: + + fs/overlayfs/inode.c | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +commit 4585d082282707fbe91025c987bd8cef4152196d +Author: Vivek Goyal +Date: Fri Jul 1 10:02:44 2016 -0400 + + ovl: warn instead of error if d_type is not supported + + overlay needs underlying fs to support d_type. Recently I put in a + patch in to detect this condition and started failing mount if + underlying fs did not support d_type. + + But this breaks existing configurations over kernel upgrade. Those who + are running docker (partially broken configuration) with xfs not + supporting d_type, are surprised that after kernel upgrade docker does + not run anymore. + + https://github.com/docker/docker/issues/22937#issuecomment-229881315 + + So instead of erroring out, detect broken configuration and warn + about it. This should allow existing docker setups to continue + working after kernel upgrade. + + Signed-off-by: Vivek Goyal + Signed-off-by: Miklos Szeredi + Fixes: 45aebeaf4f67 ("ovl: Ensure upper filesystem supports d_type") + Cc: 4.6 + + fs/overlayfs/super.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +commit 97bb95801d1ce86dafd1a59483803aba5b93e7c0 +Author: Randy Dunlap +Date: Wed Jul 6 16:06:53 2016 -0700 + + init/Kconfig: keep Expert users menu together + + The "expert" menu was broken (split) such that all entries in it after + KALLSYMS were displayed in the "General setup" area instead of in the + "Expert users" area. Fix this by adding one kconfig dependency. + + Yes, the Expert users menu is fragile. Problems like this have happened + several times in the past. I will attempt to isolate the Expert users + menu if there is interest in that. + + Fixes: 4d5d5664c900 ("x86: kallsyms: disable absolute percpu symbols on !SMP") + Signed-off-by: Randy Dunlap + Cc: Ard Biesheuvel + Cc: stable@vger.kernel.org # 4.6 + Signed-off-by: Linus Torvalds + + init/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +commit 616a19ea32197667494240e8afc0de98d28fdd47 +Merge: 769cc1b 98d6186 +Author: Brad Spengler +Date: Wed Jul 6 20:41:51 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 98d61867ac6a18500bbd9771678138154869cec3 +Author: Brad Spengler +Date: Wed Jul 6 20:29:35 2016 -0400 + + Update to pax-linux-4.6.3-test10.patch: + - fixed a size overflow false positive in xfrm4_beet_output and xfrm6_beet_output, by Mathias Krause + - fixed UEFI boot regression under KERNEXEC, reported by Yves-Alexis Perez and x14sg1 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4502) + - fixed a few constification related compile errors on arm/mips, by spender + - updated the size overflow hash table from grsecurity + - fixed an integer truncation bug in __ioremap_caller caught by the size overflow plugin + + arch/arm/mach-mmp/mmp2.c | 4 +- + arch/arm/mach-mmp/pxa910.c | 4 +- + arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +- + arch/arm/mm/fault.c | 2 +- + arch/x86/include/asm/efi.h | 5 + + arch/x86/include/asm/pgtable.h | 2 +- + arch/x86/mm/dump_pagetables.c | 32 +++- + arch/x86/mm/init_32.c | 55 +++--- + arch/x86/mm/init_64.c | 12 +- + arch/x86/mm/ioremap.c | 2 +- + arch/x86/mm/pageattr.c | 2 +- + drivers/gpu/drm/sti/sti_cursor.c | 4 +- + drivers/gpu/drm/sti/sti_dvo.c | 4 +- + drivers/gpu/drm/sti/sti_gdp.c | 12 +- + drivers/gpu/drm/sti/sti_hdmi.c | 4 +- + drivers/gpu/drm/sti/sti_mixer.c | 8 +- + drivers/gpu/drm/sti/sti_vid.c | 4 +- + drivers/irqchip/irq-mmp.c | 2 +- + drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- + include/linux/irqchip/mmp.h | 2 +- + net/ipv4/xfrm4_mode_beet.c | 2 +- + net/ipv6/xfrm6_mode_beet.c | 2 +- + .../size_overflow_plugin/size_overflow_hash.data | 203 +++++++++++++++++---- + 23 files changed, 280 insertions(+), 91 deletions(-) + +commit 769cc1b850f164d9fd9284898295eb616896d66b +Author: Brad Spengler +Date: Wed Jul 6 20:08:29 2016 -0400 + + Fix bug in RBAC learning reported by Andrew Flannery + Nolog/noaudit-type capability checks were handled in a separate + function which did not check if the requestor had the capability in + their effective set. This would cause privileged processes to be + denied use of their capabilities in the small number of instances + these kinds of checks were used (for ptrace_may_access() etc, which + get used in deciding if privileged processes can bypass /proc + restrictions) only when RBAC learning was enabled on the process. + + Remove some code duplication in the process of fixing the bug. + + grsecurity/gracl_cap.c | 49 +++++++++------------------------------------ + grsecurity/grsec_disabled.c | 2 +- + grsecurity/grsec_exec.c | 9 ++++----- + include/linux/grsecurity.h | 4 ++-- + kernel/capability.c | 2 +- + kernel/sys.c | 4 ++-- + 6 files changed, 19 insertions(+), 51 deletions(-) + +commit 244fda357c13b44ac2d174713205863c552eb30d +Author: Brad Spengler +Date: Wed Jul 6 07:19:26 2016 -0400 + + Compile fix for recent /proc/pid/mem changes, reported by adminwset at + https://forums.grsecurity.net/viewtopic.php?t=4505&p=16415#p16415 + + fs/proc/base.c | 2 +- + fs/proc/internal.h | 2 +- + include/linux/sched.h | 2 ++ + 3 files changed, 4 insertions(+), 2 deletions(-) + +commit 5bd1344d3f28c5402bcd85972bb520a5baaf612c +Author: Brad Spengler +Date: Sun Jul 3 21:27:25 2016 -0400 + + Initial import of grsecurity for Linux 4.6.3 + + Documentation/dontdiff | 2 + + Documentation/kernel-parameters.txt | 11 + + Documentation/sysctl/kernel.txt | 15 + + Makefile | 5 +- + arch/alpha/include/asm/cache.h | 4 +- + arch/alpha/kernel/osf_sys.c | 12 +- + arch/arc/Kconfig | 1 + + arch/arm/Kconfig | 1 + + arch/arm/Kconfig.debug | 1 + + arch/arm/include/asm/thread_info.h | 7 +- + arch/arm/kernel/entry-common.S | 8 +- + arch/arm/kernel/process.c | 4 +- + arch/arm/kernel/ptrace.c | 9 + + arch/arm/kernel/traps.c | 7 +- + arch/arm/mach-mmp/mmp2.c | 4 +- + arch/arm/mach-mmp/pxa910.c | 4 +- + arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +- + arch/arm/mm/Kconfig | 4 +- + arch/arm/mm/alignment.c | 24 +- + arch/arm/mm/fault.c | 42 +- + arch/arm/mm/mmap.c | 8 +- + arch/arm/net/bpf_jit_32.c | 51 +- + arch/arm64/Kconfig.debug | 1 + + arch/avr32/include/asm/cache.h | 4 +- + arch/blackfin/Kconfig.debug | 1 + + arch/blackfin/include/asm/cache.h | 3 +- + arch/cris/include/arch-v10/arch/cache.h | 3 +- + arch/cris/include/arch-v32/arch/cache.h | 3 +- + arch/frv/include/asm/cache.h | 3 +- + arch/frv/mm/elf-fdpic.c | 4 +- + arch/hexagon/include/asm/cache.h | 6 +- + arch/ia64/Kconfig | 1 + + arch/ia64/include/asm/cache.h | 3 +- + arch/ia64/kernel/sys_ia64.c | 2 + + arch/ia64/mm/hugetlbpage.c | 2 + + arch/m32r/include/asm/cache.h | 4 +- + arch/m68k/include/asm/cache.h | 4 +- + arch/metag/mm/hugetlbpage.c | 1 + + arch/microblaze/include/asm/cache.h | 3 +- + arch/mips/Kbuild | 2 +- + arch/mips/Kconfig | 1 + + arch/mips/include/asm/irq.h | 1 - + arch/mips/include/asm/thread_info.h | 11 +- + arch/mips/kernel/irq.c | 3 + + arch/mips/kernel/ptrace.c | 9 + + arch/mips/mm/mmap.c | 4 +- + arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +- + arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +- + arch/openrisc/include/asm/cache.h | 4 +- + arch/parisc/include/asm/cache.h | 3 + + arch/parisc/kernel/sys_parisc.c | 4 + + arch/powerpc/Kconfig | 1 + + arch/powerpc/include/asm/cache.h | 4 +- + arch/powerpc/include/asm/thread_info.h | 5 +- + arch/powerpc/kernel/Makefile | 2 + + arch/powerpc/kernel/irq.c | 3 + + arch/powerpc/kernel/process.c | 10 +- + arch/powerpc/kernel/ptrace.c | 14 + + arch/powerpc/kernel/traps.c | 5 + + arch/powerpc/mm/slice.c | 2 +- + arch/s390/Kconfig.debug | 1 + + arch/s390/include/asm/cache.h | 4 +- + arch/score/include/asm/cache.h | 4 +- + arch/sh/include/asm/cache.h | 3 +- + arch/sh/mm/mmap.c | 6 +- + arch/sparc/include/asm/atomic_64.h | 5 + + arch/sparc/include/asm/cache.h | 4 +- + arch/sparc/include/asm/pgalloc_64.h | 1 + + arch/sparc/include/asm/thread_info_64.h | 8 +- + arch/sparc/kernel/process_32.c | 6 +- + arch/sparc/kernel/process_64.c | 8 +- + arch/sparc/kernel/ptrace_64.c | 14 + + arch/sparc/kernel/sys_sparc_64.c | 8 +- + arch/sparc/kernel/syscalls.S | 8 +- + arch/sparc/kernel/traps_32.c | 8 +- + arch/sparc/kernel/traps_64.c | 28 +- + arch/sparc/kernel/unaligned_64.c | 2 +- + arch/sparc/lib/atomic_64.S | 2 +- + arch/sparc/lib/ksyms.c | 4 +- + arch/sparc/mm/fault_64.c | 2 +- + arch/sparc/mm/hugetlbpage.c | 15 +- + arch/tile/Kconfig | 1 + + arch/tile/include/asm/cache.h | 3 +- + arch/tile/mm/hugetlbpage.c | 2 + + arch/um/include/asm/cache.h | 3 +- + arch/unicore32/include/asm/cache.h | 6 +- + arch/x86/Kconfig | 21 + + arch/x86/Kconfig.debug | 2 + + arch/x86/entry/common.c | 14 + + arch/x86/entry/entry_32.S | 2 +- + arch/x86/entry/entry_64.S | 2 +- + arch/x86/ia32/ia32_aout.c | 2 + + arch/x86/include/asm/floppy.h | 20 +- + arch/x86/include/asm/fpu/types.h | 69 +- + arch/x86/include/asm/io.h | 2 +- + arch/x86/include/asm/page.h | 12 +- + arch/x86/include/asm/paravirt_types.h | 21 +- + arch/x86/include/asm/processor.h | 12 +- + arch/x86/include/asm/thread_info.h | 6 +- + arch/x86/kernel/dumpstack.c | 10 +- + arch/x86/kernel/dumpstack_32.c | 2 +- + arch/x86/kernel/dumpstack_64.c | 2 +- + arch/x86/kernel/ioport.c | 13 + + arch/x86/kernel/irq_32.c | 3 + + arch/x86/kernel/irq_64.c | 4 + + arch/x86/kernel/ldt.c | 18 + + arch/x86/kernel/msr.c | 12 + + arch/x86/kernel/ptrace.c | 14 + + arch/x86/kernel/signal.c | 9 +- + arch/x86/kernel/sys_i386_32.c | 9 +- + arch/x86/kernel/sys_x86_64.c | 8 +- + arch/x86/kernel/traps.c | 5 + + arch/x86/kernel/verify_cpu.S | 1 + + arch/x86/kernel/vm86_32.c | 15 + + arch/x86/mm/fault.c | 12 +- + arch/x86/mm/hugetlbpage.c | 15 +- + arch/x86/mm/init.c | 51 +- + arch/x86/mm/init_32.c | 10 +- + arch/x86/net/bpf_jit_comp.c | 4 + + arch/x86/platform/efi/efi_64.c | 2 +- + arch/x86/xen/Kconfig | 1 + + arch/xtensa/variants/dc232b/include/variant/core.h | 2 +- + arch/xtensa/variants/fsf/include/variant/core.h | 3 +- + crypto/scatterwalk.c | 10 +- + drivers/acpi/acpica/hwxfsleep.c | 11 +- + drivers/acpi/custom_method.c | 4 + + drivers/block/cciss.h | 30 +- + drivers/block/smart1,2.h | 40 +- + drivers/cdrom/cdrom.c | 2 +- + drivers/char/Kconfig | 4 +- + drivers/char/genrtc.c | 1 + + drivers/char/mem.c | 17 + + drivers/char/random.c | 5 +- + drivers/cpufreq/sparc-us3-cpufreq.c | 2 - + drivers/firewire/ohci.c | 4 + + drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 80 +- + .../drm/amd/powerplay/hwmgr/cz_clockpowergating.c | 12 +- + drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 58 +- + drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c | 20 +- + .../gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c | 20 +- + drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 7 +- + drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 9 +- + drivers/gpu/drm/nouveau/nouveau_ttm.c | 28 +- + drivers/gpu/drm/sti/sti_cursor.c | 6 +- + drivers/gpu/drm/sti/sti_dvo.c | 6 +- + drivers/gpu/drm/sti/sti_gdp.c | 6 +- + drivers/gpu/drm/sti/sti_hda.c | 6 +- + drivers/gpu/drm/sti/sti_hdmi.c | 6 +- + drivers/gpu/drm/sti/sti_hqvdp.c | 6 +- + drivers/gpu/drm/sti/sti_mixer.c | 6 +- + drivers/gpu/drm/sti/sti_tvout.c | 6 +- + drivers/gpu/drm/sti/sti_vid.c | 6 +- + drivers/gpu/drm/tilcdc/tilcdc_external.c | 2 +- + drivers/gpu/drm/ttm/ttm_bo_manager.c | 10 +- + drivers/gpu/drm/virtio/virtgpu_ttm.c | 10 +- + drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 10 +- + drivers/hid/hid-wiimote-debug.c | 2 +- + drivers/hid/usbhid/hiddev.c | 10 +- + drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 160 +- + drivers/infiniband/hw/i40iw/i40iw_uk.c | 34 +- + drivers/infiniband/hw/nes/nes_cm.c | 22 +- + drivers/iommu/Kconfig | 1 + + drivers/iommu/amd_iommu.c | 14 +- + drivers/irqchip/irq-mmp.c | 2 +- + drivers/isdn/gigaset/bas-gigaset.c | 32 +- + drivers/isdn/gigaset/ser-gigaset.c | 32 +- + drivers/isdn/gigaset/usb-gigaset.c | 34 +- + drivers/isdn/i4l/isdn_concap.c | 6 +- + drivers/isdn/i4l/isdn_x25iface.c | 16 +- + drivers/md/bcache/Kconfig | 1 + + drivers/md/raid5.c | 8 + + drivers/media/pci/solo6x10/solo6x10-g723.c | 2 +- + drivers/media/platform/sti/c8sectpfe/Kconfig | 1 + + drivers/media/radio/radio-cadet.c | 5 +- + drivers/media/usb/dvb-usb/cinergyT2-core.c | 91 +- + drivers/media/usb/dvb-usb/cinergyT2-fe.c | 182 +- + drivers/media/usb/dvb-usb/dvb-usb-firmware.c | 37 +- + drivers/media/usb/dvb-usb/technisat-usb2.c | 23 +- + drivers/message/fusion/mptbase.c | 9 + + drivers/misc/sgi-xp/xp_main.c | 12 +- + drivers/mtd/nand/brcmnand/bcm63138_nand.c | 6 +- + drivers/mtd/nand/brcmnand/iproc_nand.c | 8 +- + drivers/net/ethernet/brocade/bna/bna_enet.c | 8 +- + drivers/net/wan/lmc/lmc_media.c | 97 +- + drivers/net/wan/z85230.c | 24 +- + drivers/net/wireless/ath/ath9k/Kconfig | 1 - + drivers/net/wireless/zydas/zd1211rw/zd_usb.c | 2 +- + drivers/pci/proc.c | 9 + + drivers/platform/x86/asus-wmi.c | 12 + + drivers/rtc/rtc-dev.c | 3 + + drivers/scsi/bfa/bfa_fcs.c | 19 +- + drivers/scsi/bfa/bfa_fcs_lport.c | 29 +- + drivers/scsi/bfa/bfa_modules.h | 12 +- + drivers/scsi/hpsa.h | 40 +- + drivers/staging/lustre/lnet/libcfs/module.c | 10 +- + drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +- + drivers/staging/wilc1000/host_interface.h | 1 + + drivers/staging/wilc1000/wilc_spi.c | 1 + + drivers/tty/serial/uartlite.c | 4 +- + drivers/tty/sysrq.c | 2 +- + drivers/tty/tty_io.c | 4 + + drivers/tty/vt/keyboard.c | 22 +- + drivers/uio/uio.c | 6 +- + drivers/usb/core/devio.c | 9 +- + drivers/usb/core/hub.c | 5 + + drivers/usb/gadget/function/f_uac1.c | 1 + + drivers/usb/gadget/function/u_uac1.c | 1 + + drivers/usb/host/hwa-hc.c | 9 +- + drivers/usb/usbip/vhci_sysfs.c | 2 +- + drivers/video/fbdev/arcfb.c | 2 +- + drivers/video/fbdev/matrox/matroxfb_DAC1064.c | 10 +- + drivers/video/fbdev/matrox/matroxfb_Ti3026.c | 5 +- + drivers/video/fbdev/sh_mobile_lcdcfb.c | 6 +- + drivers/video/logo/logo_linux_clut224.ppm | 2720 ++++---- + drivers/xen/xenfs/xenstored.c | 5 + + firmware/Makefile | 2 + + firmware/WHENCE | 20 +- + firmware/bnx2/bnx2-mips-06-6.2.3.fw.ihex | 5804 +++++++++++++++++ + firmware/bnx2/bnx2-mips-09-6.2.1b.fw.ihex | 6496 ++++++++++++++++++++ + fs/attr.c | 4 + + fs/autofs4/waitq.c | 9 + + fs/binfmt_aout.c | 7 + + fs/binfmt_elf.c | 40 +- + fs/compat.c | 20 +- + fs/coredump.c | 17 +- + fs/dcache.c | 3 + + fs/debugfs/inode.c | 19 +- + fs/exec.c | 249 +- + fs/ext2/balloc.c | 4 +- + fs/ext2/super.c | 8 +- + fs/ext4/balloc.c | 4 +- + fs/ext4/extents.c | 2 +- + fs/fcntl.c | 4 + + fs/fhandle.c | 3 +- + fs/file.c | 4 + + fs/filesystems.c | 4 + + fs/fs_struct.c | 20 +- + fs/hugetlbfs/inode.c | 5 +- + fs/inode.c | 8 +- + fs/kernfs/dir.c | 6 + + fs/mount.h | 4 +- + fs/namei.c | 292 +- + fs/namespace.c | 24 + + fs/nfsd/nfs2acl.c | 20 +- + fs/nfsd/nfs3acl.c | 16 +- + fs/nfsd/nfs4acl.c | 16 +- + fs/nfsd/nfscache.c | 2 +- + fs/open.c | 38 + + fs/overlayfs/inode.c | 3 + + fs/overlayfs/super.c | 6 +- + fs/pipe.c | 2 +- + fs/posix_acl.c | 61 +- + fs/proc/Kconfig | 10 +- + fs/proc/array.c | 67 +- + fs/proc/base.c | 193 +- + fs/proc/cmdline.c | 4 + + fs/proc/devices.c | 4 + + fs/proc/fd.c | 13 +- + fs/proc/generic.c | 64 + + fs/proc/inode.c | 17 + + fs/proc/internal.h | 18 +- + fs/proc/interrupts.c | 4 + + fs/proc/kcore.c | 3 + + fs/proc/proc_net.c | 31 + + fs/proc/proc_sysctl.c | 52 +- + fs/proc/root.c | 8 + + fs/proc/stat.c | 69 +- + fs/proc/task_mmu.c | 85 +- + fs/proc/task_nommu.c | 2 +- + fs/readdir.c | 19 + + fs/reiserfs/item_ops.c | 24 +- + fs/reiserfs/super.c | 4 + + fs/select.c | 2 + + fs/seq_file.c | 31 +- + fs/stat.c | 20 +- + fs/sysfs/dir.c | 30 +- + fs/utimes.c | 7 + + fs/xattr.c | 26 +- + fs/xfs/xfs_icache.c | 60 +- + fs/xfs/xfs_inode.c | 13 + + grsecurity/Kconfig | 1205 ++++ + grsecurity/Makefile | 54 + + grsecurity/gracl.c | 2757 +++++++++ + grsecurity/gracl_alloc.c | 105 + + grsecurity/gracl_cap.c | 127 + + grsecurity/gracl_compat.c | 269 + + grsecurity/gracl_fs.c | 448 ++ + grsecurity/gracl_ip.c | 387 ++ + grsecurity/gracl_learn.c | 207 + + grsecurity/gracl_policy.c | 1784 ++++++ + grsecurity/gracl_res.c | 68 + + grsecurity/gracl_segv.c | 306 + + grsecurity/gracl_shm.c | 40 + + grsecurity/grsec_chdir.c | 19 + + grsecurity/grsec_chroot.c | 506 ++ + grsecurity/grsec_disabled.c | 445 ++ + grsecurity/grsec_exec.c | 189 + + grsecurity/grsec_fifo.c | 26 + + grsecurity/grsec_fork.c | 23 + + grsecurity/grsec_init.c | 294 + + grsecurity/grsec_ipc.c | 48 + + grsecurity/grsec_link.c | 65 + + grsecurity/grsec_log.c | 340 + + grsecurity/grsec_mem.c | 48 + + grsecurity/grsec_mount.c | 65 + + grsecurity/grsec_pax.c | 47 + + grsecurity/grsec_proc.c | 20 + + grsecurity/grsec_ptrace.c | 30 + + grsecurity/grsec_sig.c | 248 + + grsecurity/grsec_sock.c | 244 + + grsecurity/grsec_sysctl.c | 497 ++ + grsecurity/grsec_time.c | 16 + + grsecurity/grsec_tpe.c | 78 + + grsecurity/grsec_tty.c | 18 + + grsecurity/grsec_usb.c | 15 + + grsecurity/grsum.c | 56 + + include/drm/drm_modeset_helper_vtables.h | 1 + + include/linux/binfmts.h | 5 +- + include/linux/capability.h | 13 + + include/linux/compiler-gcc.h | 5 + + include/linux/compiler.h | 8 + + include/linux/cred.h | 8 +- + include/linux/dcache.h | 5 +- + include/linux/fs.h | 24 +- + include/linux/fs_struct.h | 2 +- + include/linux/fsnotify.h | 6 + + include/linux/gracl.h | 342 ++ + include/linux/gracl_compat.h | 156 + + include/linux/gralloc.h | 9 + + include/linux/grdefs.h | 140 + + include/linux/grinternal.h | 231 + + include/linux/grmsg.h | 120 + + include/linux/grsecurity.h | 259 + + include/linux/grsock.h | 19 + + include/linux/ipc.h | 2 +- + include/linux/ipc_namespace.h | 2 +- + include/linux/kallsyms.h | 18 +- + include/linux/key-type.h | 4 +- + include/linux/kmod.h | 5 + + include/linux/kobject.h | 2 +- + include/linux/lsm_hooks.h | 4 +- + include/linux/mm.h | 12 + + include/linux/mm_types.h | 4 +- + include/linux/module.h | 5 +- + include/linux/mount.h | 2 +- + include/linux/msg.h | 2 +- + include/linux/netfilter/xt_gradm.h | 9 + + include/linux/path.h | 4 +- + include/linux/perf_event.h | 13 +- + include/linux/pid_namespace.h | 2 +- + include/linux/printk.h | 2 +- + include/linux/proc_fs.h | 22 +- + include/linux/proc_ns.h | 2 +- + include/linux/random.h | 2 +- + include/linux/rbtree_augmented.h | 4 +- + include/linux/scatterlist.h | 12 +- + include/linux/sched.h | 135 +- + include/linux/security.h | 1 + + include/linux/sem.h | 2 +- + include/linux/seq_file.h | 5 + + include/linux/shm.h | 6 +- + include/linux/skbuff.h | 3 + + include/linux/slab.h | 9 - + include/linux/sysctl.h | 8 +- + include/linux/thread_info.h | 6 +- + include/linux/tty.h | 2 +- + include/linux/tty_driver.h | 4 +- + include/linux/uidgid.h | 6 + + include/linux/user_namespace.h | 2 +- + include/linux/utsname.h | 2 +- + include/linux/vermagic.h | 16 +- + include/linux/vmalloc.h | 8 + + include/net/af_unix.h | 2 +- + include/net/ip.h | 2 +- + include/net/neighbour.h | 2 +- + include/net/net_namespace.h | 2 +- + include/net/sock.h | 2 +- + include/trace/events/fs.h | 53 + + include/uapi/linux/personality.h | 1 + + init/Kconfig | 5 +- + init/main.c | 46 +- + ipc/mqueue.c | 1 + + ipc/msg.c | 3 +- + ipc/msgutil.c | 4 +- + ipc/sem.c | 3 +- + ipc/shm.c | 26 +- + ipc/util.c | 6 + + kernel/auditsc.c | 2 +- + kernel/bpf/syscall.c | 10 +- + kernel/capability.c | 41 +- + kernel/cgroup.c | 5 +- + kernel/compat.c | 1 + + kernel/configs.c | 11 + + kernel/cred.c | 112 +- + kernel/events/core.c | 14 +- + kernel/exit.c | 10 +- + kernel/fork.c | 92 +- + kernel/futex.c | 4 +- + kernel/kallsyms.c | 9 + + kernel/kcmp.c | 4 + + kernel/kexec_core.c | 2 +- + kernel/kmod.c | 96 +- + kernel/kprobes.c | 9 +- + kernel/ksysfs.c | 2 + + kernel/locking/lockdep_proc.c | 10 +- + kernel/module.c | 108 +- + kernel/panic.c | 6 +- + kernel/pid.c | 18 +- + kernel/power/Kconfig | 2 + + kernel/printk/printk.c | 7 +- + kernel/ptrace.c | 50 +- + kernel/resource.c | 10 + + kernel/sched/core.c | 9 +- + kernel/sched/debug.c | 4 + + kernel/signal.c | 37 +- + kernel/sys.c | 64 +- + kernel/sysctl.c | 174 +- + kernel/taskstats.c | 6 + + kernel/time/posix-timers.c | 8 + + kernel/time/time.c | 5 + + kernel/time/timekeeping.c | 3 + + kernel/time/timer_list.c | 13 +- + kernel/time/timer_stats.c | 10 +- + kernel/trace/Kconfig | 6 + + kernel/trace/trace_syscalls.c | 8 + + kernel/user_namespace.c | 15 + + lib/Kconfig.debug | 13 +- + lib/is_single_threaded.c | 3 + + lib/list_debug.c | 65 +- + lib/nlattr.c | 2 + + lib/rbtree.c | 4 +- + lib/vsprintf.c | 39 +- + localversion-grsec | 1 + + mm/Kconfig | 8 +- + mm/Kconfig.debug | 1 + + mm/filemap.c | 1 + + mm/kmemleak.c | 4 +- + mm/memory.c | 2 +- + mm/mempolicy.c | 12 +- + mm/migrate.c | 3 +- + mm/mlock.c | 11 +- + mm/mmap.c | 124 +- + mm/mprotect.c | 8 + + mm/page_alloc.c | 2 +- + mm/percpu.c | 73 +- + mm/process_vm_access.c | 6 + + mm/shmem.c | 2 +- + mm/slab.c | 14 +- + mm/slab_common.c | 2 +- + mm/slob.c | 12 + + mm/slub.c | 33 +- + mm/util.c | 3 + + mm/vmalloc.c | 84 +- + mm/vmstat.c | 29 +- + net/appletalk/atalk_proc.c | 2 +- + net/atm/lec.c | 6 +- + net/atm/mpoa_caches.c | 43 +- + net/can/bcm.c | 2 +- + net/can/proc.c | 2 +- + net/core/dev_ioctl.c | 7 +- + net/core/filter.c | 8 +- + net/core/net-procfs.c | 17 +- + net/core/pktgen.c | 2 +- + net/core/sock.c | 23 +- + net/core/sysctl_net_core.c | 2 +- + net/decnet/dn_dev.c | 2 +- + net/ipv4/devinet.c | 6 +- + net/ipv4/inet_hashtables.c | 6 + + net/ipv4/ip_input.c | 7 + + net/ipv4/ip_sockglue.c | 3 +- + net/ipv4/netfilter/ipt_CLUSTERIP.c | 2 +- + net/ipv4/route.c | 6 +- + net/ipv4/tcp_input.c | 6 +- + net/ipv4/tcp_ipv4.c | 24 +- + net/ipv4/tcp_minisocks.c | 9 +- + net/ipv4/tcp_timer.c | 11 + + net/ipv4/udp.c | 24 + + net/ipv6/addrconf.c | 13 +- + net/ipv6/proc.c | 2 +- + net/ipv6/tcp_ipv6.c | 23 +- + net/ipv6/udp.c | 7 + + net/ipx/ipx_proc.c | 2 +- + net/irda/irproc.c | 2 +- + net/llc/llc_proc.c | 2 +- + net/netfilter/Kconfig | 10 + + net/netfilter/Makefile | 1 + + net/netfilter/xt_gradm.c | 51 + + net/netfilter/xt_hashlimit.c | 4 +- + net/netfilter/xt_recent.c | 2 +- + net/socket.c | 75 +- + net/sunrpc/Kconfig | 1 + + net/sunrpc/cache.c | 2 +- + net/sunrpc/stats.c | 2 +- + net/sysctl_net.c | 2 +- + net/unix/af_unix.c | 52 +- + net/vmw_vsock/vmci_transport_notify.c | 30 +- + net/vmw_vsock/vmci_transport_notify_qstate.c | 30 +- + net/x25/sysctl_net_x25.c | 2 +- + net/x25/x25_proc.c | 2 +- + scripts/Makefile.gcc-plugins | 5 + + scripts/gcc-plugins/.gitignore | 1 + + scripts/gcc-plugins/Makefile | 10 + + scripts/gcc-plugins/gen-random-seed.sh | 8 + + scripts/gcc-plugins/randomize_layout_plugin.c | 940 +++ + .../size_overflow_plugin/size_overflow_hash.data | 724 ++- + scripts/package/Makefile | 2 +- + scripts/package/mkspec | 41 +- + security/Kconfig | 364 +- + security/apparmor/file.c | 4 +- + security/apparmor/lsm.c | 8 +- + security/commoncap.c | 29 + + security/keys/internal.h | 2 +- + security/keys/key.c | 2 +- + security/min_addr.c | 2 + + security/tomoyo/file.c | 12 +- + security/tomoyo/mount.c | 4 + + security/tomoyo/tomoyo.c | 20 +- + security/yama/Kconfig | 2 +- + sound/synth/emux/emux_seq.c | 14 +- + sound/usb/line6/driver.c | 40 +- + sound/usb/line6/toneport.c | 12 +- + 521 files changed, 33285 insertions(+), 3355 deletions(-) + +commit 96b2aa21ce8de62dfa0ee023b2cd20928f5021a1 +Author: Brad Spengler +Date: Sat Jul 2 09:03:17 2016 -0400 + + Initial commit of pax-linux-4.6.3-test9.patch + + .gitignore | 1 + + Documentation/dontdiff | 46 +- + Documentation/kbuild/makefiles.txt | 39 +- + Documentation/kernel-parameters.txt | 28 + + Makefile | 20 +- + arch/Kconfig | 14 + + arch/alpha/include/asm/atomic.h | 10 + + arch/alpha/include/asm/elf.h | 7 + + arch/alpha/include/asm/pgalloc.h | 6 + + arch/alpha/include/asm/pgtable.h | 11 + + arch/alpha/kernel/module.c | 2 +- + arch/alpha/kernel/osf_sys.c | 8 +- + arch/alpha/mm/fault.c | 141 +- + arch/arm/Kconfig | 6 +- + arch/arm/boot/compressed/Makefile | 2 + + arch/arm/include/asm/atomic.h | 323 +- + arch/arm/include/asm/cache.h | 4 +- + arch/arm/include/asm/cacheflush.h | 2 +- + arch/arm/include/asm/checksum.h | 14 +- + arch/arm/include/asm/cmpxchg.h | 4 + + arch/arm/include/asm/cpuidle.h | 2 +- + arch/arm/include/asm/domain.h | 42 +- + arch/arm/include/asm/elf.h | 9 +- + arch/arm/include/asm/fncpy.h | 2 + + arch/arm/include/asm/futex.h | 1 + + arch/arm/include/asm/kmap_types.h | 2 +- + arch/arm/include/asm/mach/dma.h | 2 +- + arch/arm/include/asm/mach/map.h | 16 +- + arch/arm/include/asm/outercache.h | 2 +- + arch/arm/include/asm/page.h | 3 +- + arch/arm/include/asm/pgalloc.h | 20 + + arch/arm/include/asm/pgtable-2level-hwdef.h | 4 +- + arch/arm/include/asm/pgtable-2level.h | 3 + + arch/arm/include/asm/pgtable-3level.h | 3 + + arch/arm/include/asm/pgtable.h | 54 +- + arch/arm/include/asm/smp.h | 2 +- + arch/arm/include/asm/string.h | 10 +- + arch/arm/include/asm/thread_info.h | 3 + + arch/arm/include/asm/tls.h | 3 + + arch/arm/include/asm/uaccess.h | 113 +- + arch/arm/include/uapi/asm/ptrace.h | 2 +- + arch/arm/kernel/armksyms.c | 2 +- + arch/arm/kernel/cpuidle.c | 2 +- + arch/arm/kernel/entry-armv.S | 109 +- + arch/arm/kernel/entry-common.S | 40 +- + arch/arm/kernel/entry-header.S | 55 + + arch/arm/kernel/fiq.c | 3 + + arch/arm/kernel/module-plts.c | 7 +- + arch/arm/kernel/module.c | 38 +- + arch/arm/kernel/patch.c | 2 + + arch/arm/kernel/process.c | 86 +- + arch/arm/kernel/reboot.c | 1 + + arch/arm/kernel/setup.c | 20 +- + arch/arm/kernel/signal.c | 35 +- + arch/arm/kernel/smp.c | 2 +- + arch/arm/kernel/tcm.c | 4 +- + arch/arm/kernel/vmlinux.lds.S | 6 +- + arch/arm/kvm/arm.c | 8 +- + arch/arm/lib/copy_page.S | 1 + + arch/arm/lib/csumpartialcopyuser.S | 4 +- + arch/arm/lib/delay.c | 2 +- + arch/arm/lib/uaccess_with_memcpy.c | 4 +- + arch/arm/mach-exynos/suspend.c | 6 +- + arch/arm/mach-mvebu/coherency.c | 4 +- + arch/arm/mach-omap2/board-n8x0.c | 2 +- + arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 +- + arch/arm/mach-omap2/omap-smp.c | 1 + + arch/arm/mach-omap2/omap_device.c | 4 +- + arch/arm/mach-omap2/omap_device.h | 4 +- + arch/arm/mach-omap2/omap_hwmod.c | 4 +- + arch/arm/mach-omap2/powerdomains43xx_data.c | 5 +- + arch/arm/mach-omap2/wd_timer.c | 6 +- + arch/arm/mach-shmobile/platsmp-apmu.c | 5 +- + arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +- + arch/arm/mach-tegra/irq.c | 1 + + arch/arm/mach-ux500/pm.c | 1 + + arch/arm/mach-zynq/platsmp.c | 1 + + arch/arm/mm/Kconfig | 6 +- + arch/arm/mm/cache-l2x0.c | 2 +- + arch/arm/mm/context.c | 10 +- + arch/arm/mm/fault.c | 160 + + arch/arm/mm/fault.h | 12 + + arch/arm/mm/init.c | 39 + + arch/arm/mm/ioremap.c | 4 +- + arch/arm/mm/mmap.c | 36 +- + arch/arm/mm/mmu.c | 162 +- + arch/arm/net/bpf_jit_32.c | 3 + + arch/arm/plat-iop/setup.c | 2 +- + arch/arm/plat-omap/sram.c | 2 + + arch/arm64/Kconfig | 1 + + arch/arm64/include/asm/atomic.h | 10 + + arch/arm64/include/asm/percpu.h | 8 +- + arch/arm64/include/asm/pgalloc.h | 5 + + arch/arm64/include/asm/string.h | 22 +- + arch/arm64/include/asm/uaccess.h | 1 + + arch/arm64/mm/dma-mapping.c | 2 +- + arch/avr32/include/asm/elf.h | 8 +- + arch/avr32/include/asm/kmap_types.h | 4 +- + arch/avr32/mm/fault.c | 27 + + arch/frv/include/asm/atomic.h | 10 + + arch/frv/include/asm/kmap_types.h | 2 +- + arch/frv/mm/elf-fdpic.c | 3 +- + arch/ia64/Makefile | 1 + + arch/ia64/include/asm/atomic.h | 10 + + arch/ia64/include/asm/elf.h | 7 + + arch/ia64/include/asm/pgalloc.h | 12 + + arch/ia64/include/asm/pgtable.h | 13 +- + arch/ia64/include/asm/spinlock.h | 2 +- + arch/ia64/include/asm/uaccess.h | 27 +- + arch/ia64/kernel/module.c | 20 +- + arch/ia64/kernel/palinfo.c | 2 +- + arch/ia64/kernel/sys_ia64.c | 7 + + arch/ia64/kernel/vmlinux.lds.S | 2 +- + arch/ia64/mm/fault.c | 32 +- + arch/ia64/mm/init.c | 15 +- + arch/m32r/lib/usercopy.c | 6 + + arch/mips/Kconfig | 1 + + arch/mips/cavium-octeon/dma-octeon.c | 2 +- + arch/mips/include/asm/atomic.h | 372 +- + arch/mips/include/asm/cache.h | 3 +- + arch/mips/include/asm/elf.h | 7 + + arch/mips/include/asm/exec.h | 2 +- + arch/mips/include/asm/hw_irq.h | 2 +- + arch/mips/include/asm/local.h | 57 + + arch/mips/include/asm/page.h | 2 +- + arch/mips/include/asm/pgalloc.h | 5 + + arch/mips/include/asm/pgtable.h | 3 + + arch/mips/include/asm/uaccess.h | 1 + + arch/mips/kernel/binfmt_elfn32.c | 7 + + arch/mips/kernel/binfmt_elfo32.c | 7 + + arch/mips/kernel/irq-gt641xx.c | 2 +- + arch/mips/kernel/irq.c | 6 +- + arch/mips/kernel/pm-cps.c | 2 +- + arch/mips/kernel/process.c | 12 - + arch/mips/kernel/sync-r4k.c | 24 +- + arch/mips/kernel/traps.c | 13 +- + arch/mips/lib/ashldi3.c | 21 +- + arch/mips/lib/ashrdi3.c | 19 +- + arch/mips/lib/libgcc.h | 12 +- + arch/mips/mm/fault.c | 25 + + arch/mips/mm/init.c | 4 +- + arch/mips/mm/mmap.c | 24 +- + arch/mips/sgi-ip27/ip27-nmi.c | 6 +- + arch/mips/sni/rm200.c | 2 +- + arch/mips/vr41xx/common/icu.c | 2 +- + arch/mips/vr41xx/common/irq.c | 4 +- + arch/parisc/include/asm/atomic.h | 10 + + arch/parisc/include/asm/elf.h | 7 + + arch/parisc/include/asm/pgalloc.h | 6 + + arch/parisc/include/asm/pgtable.h | 11 + + arch/parisc/include/asm/uaccess.h | 4 +- + arch/parisc/kernel/module.c | 26 +- + arch/parisc/kernel/sys_parisc.c | 15 + + arch/parisc/kernel/traps.c | 4 +- + arch/parisc/mm/fault.c | 140 +- + arch/powerpc/Kconfig | 1 + + arch/powerpc/include/asm/atomic.h | 317 +- + arch/powerpc/include/asm/book3s/32/hash.h | 1 + + arch/powerpc/include/asm/elf.h | 12 + + arch/powerpc/include/asm/exec.h | 2 +- + arch/powerpc/include/asm/kmap_types.h | 2 +- + arch/powerpc/include/asm/local.h | 46 + + arch/powerpc/include/asm/mman.h | 2 +- + arch/powerpc/include/asm/page.h | 8 +- + arch/powerpc/include/asm/page_64.h | 7 +- + arch/powerpc/include/asm/pgalloc-64.h | 11 + + arch/powerpc/include/asm/pgtable.h | 1 + + arch/powerpc/include/asm/reg.h | 1 + + arch/powerpc/include/asm/smp.h | 2 +- + arch/powerpc/include/asm/spinlock.h | 42 +- + arch/powerpc/include/asm/string.h | 18 +- + arch/powerpc/include/asm/uaccess.h | 141 +- + arch/powerpc/kernel/Makefile | 5 + + arch/powerpc/kernel/exceptions-64e.S | 4 +- + arch/powerpc/kernel/exceptions-64s.S | 2 +- + arch/powerpc/kernel/module_32.c | 15 +- + arch/powerpc/kernel/process.c | 7 - + arch/powerpc/kernel/signal_32.c | 2 +- + arch/powerpc/kernel/signal_64.c | 2 +- + arch/powerpc/kernel/traps.c | 21 + + arch/powerpc/kernel/vdso.c | 5 +- + arch/powerpc/lib/usercopy_64.c | 18 - + arch/powerpc/mm/fault.c | 56 +- + arch/powerpc/mm/mmap.c | 16 + + arch/powerpc/mm/slice.c | 21 +- + arch/powerpc/platforms/cell/spufs/file.c | 4 +- + arch/s390/include/asm/atomic.h | 10 + + arch/s390/include/asm/elf.h | 7 + + arch/s390/include/asm/exec.h | 2 +- + arch/s390/include/asm/uaccess.h | 13 +- + arch/s390/kernel/module.c | 22 +- + arch/s390/kernel/process.c | 7 - + arch/s390/mm/mmap.c | 22 +- + arch/score/include/asm/exec.h | 2 +- + arch/score/kernel/process.c | 5 - + arch/sh/mm/mmap.c | 28 +- + arch/sparc/Kconfig | 1 + + arch/sparc/include/asm/atomic_64.h | 110 +- + arch/sparc/include/asm/cache.h | 2 +- + arch/sparc/include/asm/elf_32.h | 7 + + arch/sparc/include/asm/elf_64.h | 7 + + arch/sparc/include/asm/pgalloc_32.h | 1 + + arch/sparc/include/asm/pgalloc_64.h | 1 + + arch/sparc/include/asm/pgtable.h | 4 + + arch/sparc/include/asm/pgtable_32.h | 15 +- + arch/sparc/include/asm/pgtsrmmu.h | 5 + + arch/sparc/include/asm/setup.h | 4 +- + arch/sparc/include/asm/spinlock_64.h | 35 +- + arch/sparc/include/asm/thread_info_32.h | 1 + + arch/sparc/include/asm/thread_info_64.h | 2 + + arch/sparc/include/asm/uaccess.h | 1 + + arch/sparc/include/asm/uaccess_32.h | 28 +- + arch/sparc/include/asm/uaccess_64.h | 24 +- + arch/sparc/kernel/Makefile | 2 +- + arch/sparc/kernel/prom_common.c | 2 +- + arch/sparc/kernel/smp_64.c | 8 +- + arch/sparc/kernel/sys_sparc_32.c | 2 +- + arch/sparc/kernel/sys_sparc_64.c | 58 +- + arch/sparc/kernel/traps_64.c | 27 +- + arch/sparc/lib/Makefile | 2 +- + arch/sparc/lib/atomic_64.S | 57 +- + arch/sparc/lib/ksyms.c | 6 +- + arch/sparc/mm/Makefile | 2 +- + arch/sparc/mm/fault_32.c | 292 + + arch/sparc/mm/fault_64.c | 486 + + arch/sparc/mm/hugetlbpage.c | 30 +- + arch/sparc/mm/init_64.c | 10 +- + arch/tile/include/asm/atomic_64.h | 10 + + arch/tile/include/asm/uaccess.h | 4 +- + arch/um/Makefile | 2 + + arch/um/include/asm/kmap_types.h | 2 +- + arch/um/include/asm/page.h | 3 + + arch/um/include/asm/pgtable-3level.h | 1 + + arch/um/kernel/process.c | 16 - + arch/x86/Kconfig | 33 +- + arch/x86/Kconfig.cpu | 6 +- + arch/x86/Kconfig.debug | 3 +- + arch/x86/Makefile | 13 +- + arch/x86/boot/bitops.h | 4 +- + arch/x86/boot/boot.h | 2 +- + arch/x86/boot/compressed/Makefile | 17 + + arch/x86/boot/compressed/efi_stub_32.S | 16 +- + arch/x86/boot/compressed/efi_thunk_64.S | 4 +- + arch/x86/boot/compressed/head_32.S | 4 +- + arch/x86/boot/compressed/head_64.S | 12 +- + arch/x86/boot/compressed/misc.c | 11 +- + arch/x86/boot/cpucheck.c | 16 +- + arch/x86/boot/header.S | 6 +- + arch/x86/boot/memory.c | 2 +- + arch/x86/boot/video-vesa.c | 1 + + arch/x86/boot/video.c | 2 +- + arch/x86/crypto/aes-x86_64-asm_64.S | 4 + + arch/x86/crypto/aesni-intel_asm.S | 116 +- + arch/x86/crypto/aesni-intel_glue.c | 4 +- + arch/x86/crypto/blowfish-x86_64-asm_64.S | 11 +- + arch/x86/crypto/camellia-aesni-avx-asm_64.S | 22 +- + arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 22 +- + arch/x86/crypto/camellia-x86_64-asm_64.S | 11 +- + arch/x86/crypto/camellia_aesni_avx2_glue.c | 18 +- + arch/x86/crypto/camellia_aesni_avx_glue.c | 18 +- + arch/x86/crypto/camellia_glue.c | 8 +- + arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 55 +- + arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 37 +- + arch/x86/crypto/cast6_avx_glue.c | 16 +- + arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 + + arch/x86/crypto/ghash-clmulni-intel_asm.S | 4 + + arch/x86/crypto/glue_helper.c | 2 +- + arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 + + arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 21 +- + arch/x86/crypto/serpent-avx2-asm_64.S | 21 +- + arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 + + arch/x86/crypto/serpent_avx2_glue.c | 14 +- + arch/x86/crypto/serpent_avx_glue.c | 18 +- + arch/x86/crypto/serpent_sse2_glue.c | 4 +- + arch/x86/crypto/sha-mb/sha1_mb_mgr_flush_avx2.S | 4 +- + arch/x86/crypto/sha-mb/sha1_mb_mgr_submit_avx2.S | 2 +- + arch/x86/crypto/sha1_ssse3_asm.S | 13 +- + arch/x86/crypto/sha1_ssse3_glue.c | 56 +- + arch/x86/crypto/sha256-avx-asm.S | 5 +- + arch/x86/crypto/sha256-avx2-asm.S | 5 +- + arch/x86/crypto/sha256-ssse3-asm.S | 6 +- + arch/x86/crypto/sha256_ni_asm.S | 2 +- + arch/x86/crypto/sha256_ssse3_glue.c | 26 +- + arch/x86/crypto/sha512-avx-asm.S | 5 +- + arch/x86/crypto/sha512-avx2-asm.S | 5 +- + arch/x86/crypto/sha512-ssse3-asm.S | 5 +- + arch/x86/crypto/sha512_ssse3_glue.c | 22 +- + arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 37 +- + arch/x86/crypto/twofish-i586-asm_32.S | 4 +- + arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 6 +- + arch/x86/crypto/twofish-x86_64-asm_64.S | 7 +- + arch/x86/crypto/twofish_avx_glue.c | 21 +- + arch/x86/crypto/twofish_glue.c | 4 +- + arch/x86/crypto/twofish_glue_3way.c | 12 +- + arch/x86/entry/Makefile | 2 + + arch/x86/entry/calling.h | 86 +- + arch/x86/entry/common.c | 89 +- + arch/x86/entry/entry_32.S | 330 +- + arch/x86/entry/entry_64.S | 600 +- + arch/x86/entry/entry_64_compat.S | 115 +- + arch/x86/entry/thunk_64.S | 2 + + arch/x86/entry/vdso/Makefile | 5 +- + arch/x86/entry/vdso/vclock_gettime.c | 2 +- + arch/x86/entry/vdso/vdso2c.h | 4 +- + arch/x86/entry/vdso/vma.c | 42 +- + arch/x86/entry/vsyscall/vsyscall_64.c | 20 +- + arch/x86/entry/vsyscall/vsyscall_emu_64.S | 2 +- + arch/x86/events/amd/iommu.c | 8 +- + arch/x86/events/core.c | 8 +- + arch/x86/events/intel/bts.c | 6 +- + arch/x86/events/intel/core.c | 34 +- + arch/x86/events/intel/cqm.c | 14 +- + arch/x86/events/intel/cstate.c | 6 +- + arch/x86/events/intel/ds.c | 7 +- + arch/x86/events/intel/lbr.c | 4 +- + arch/x86/events/intel/pt.c | 44 +- + arch/x86/events/intel/rapl.c | 8 +- + arch/x86/events/intel/uncore.c | 6 +- + arch/x86/events/intel/uncore.h | 14 +- + arch/x86/events/perf_event.h | 2 +- + arch/x86/ia32/ia32_signal.c | 23 +- + arch/x86/ia32/sys_ia32.c | 42 +- + arch/x86/include/asm/alternative-asm.h | 43 +- + arch/x86/include/asm/alternative.h | 4 +- + arch/x86/include/asm/apic.h | 2 +- + arch/x86/include/asm/apm.h | 4 +- + arch/x86/include/asm/atomic.h | 230 +- + arch/x86/include/asm/atomic64_32.h | 119 + + arch/x86/include/asm/atomic64_64.h | 169 +- + arch/x86/include/asm/bitops.h | 18 +- + arch/x86/include/asm/boot.h | 2 +- + arch/x86/include/asm/cache.h | 4 +- + arch/x86/include/asm/checksum_32.h | 12 +- + arch/x86/include/asm/cmpxchg.h | 39 + + arch/x86/include/asm/compat.h | 4 + + arch/x86/include/asm/cpufeature.h | 2 +- + arch/x86/include/asm/cpufeatures.h | 5 +- + arch/x86/include/asm/crypto/camellia.h | 30 +- + arch/x86/include/asm/crypto/glue_helper.h | 10 +- + arch/x86/include/asm/crypto/serpent-avx.h | 18 +- + arch/x86/include/asm/crypto/serpent-sse2.h | 8 +- + arch/x86/include/asm/crypto/twofish.h | 10 +- + arch/x86/include/asm/desc.h | 78 +- + arch/x86/include/asm/desc_defs.h | 6 + + arch/x86/include/asm/div64.h | 2 +- + arch/x86/include/asm/dma.h | 2 + + arch/x86/include/asm/elf.h | 33 +- + arch/x86/include/asm/emergency-restart.h | 2 +- + arch/x86/include/asm/fixmap.h | 2 +- + arch/x86/include/asm/fpu/internal.h | 38 +- + arch/x86/include/asm/fpu/types.h | 5 +- + arch/x86/include/asm/futex.h | 14 +- + arch/x86/include/asm/hw_irq.h | 4 +- + arch/x86/include/asm/hypervisor.h | 2 +- + arch/x86/include/asm/i8259.h | 2 +- + arch/x86/include/asm/io.h | 22 +- + arch/x86/include/asm/irqflags.h | 5 + + arch/x86/include/asm/kprobes.h | 9 +- + arch/x86/include/asm/kvm_emulate.h | 7 +- + arch/x86/include/asm/local.h | 106 +- + arch/x86/include/asm/mman.h | 15 + + arch/x86/include/asm/mmu.h | 14 +- + arch/x86/include/asm/mmu_context.h | 133 +- + arch/x86/include/asm/module.h | 23 +- + arch/x86/include/asm/nmi.h | 19 +- + arch/x86/include/asm/page.h | 1 + + arch/x86/include/asm/page_32.h | 12 +- + arch/x86/include/asm/page_64.h | 14 +- + arch/x86/include/asm/paravirt.h | 46 +- + arch/x86/include/asm/paravirt_types.h | 13 +- + arch/x86/include/asm/pgalloc.h | 23 + + arch/x86/include/asm/pgtable-2level.h | 2 + + arch/x86/include/asm/pgtable-3level.h | 7 + + arch/x86/include/asm/pgtable.h | 126 +- + arch/x86/include/asm/pgtable_32.h | 14 +- + arch/x86/include/asm/pgtable_32_types.h | 24 +- + arch/x86/include/asm/pgtable_64.h | 23 +- + arch/x86/include/asm/pgtable_64_types.h | 5 + + arch/x86/include/asm/pgtable_types.h | 27 +- + arch/x86/include/asm/pmem.h | 2 +- + arch/x86/include/asm/preempt.h | 2 +- + arch/x86/include/asm/processor.h | 57 +- + arch/x86/include/asm/ptrace.h | 15 +- + arch/x86/include/asm/realmode.h | 4 +- + arch/x86/include/asm/reboot.h | 10 +- + arch/x86/include/asm/rmwcc.h | 84 +- + arch/x86/include/asm/rwsem.h | 60 +- + arch/x86/include/asm/segment.h | 27 +- + arch/x86/include/asm/smap.h | 43 + + arch/x86/include/asm/smp.h | 14 +- + arch/x86/include/asm/stackprotector.h | 4 +- + arch/x86/include/asm/stacktrace.h | 34 +- + arch/x86/include/asm/string_32.h | 20 +- + arch/x86/include/asm/string_64.h | 16 +- + arch/x86/include/asm/switch_to.h | 4 +- + arch/x86/include/asm/sys_ia32.h | 6 +- + arch/x86/include/asm/thread_info.h | 54 +- + arch/x86/include/asm/tlbflush.h | 77 +- + arch/x86/include/asm/traps.h | 4 +- + arch/x86/include/asm/uaccess.h | 210 +- + arch/x86/include/asm/uaccess_32.h | 28 +- + arch/x86/include/asm/uaccess_64.h | 169 +- + arch/x86/include/asm/word-at-a-time.h | 2 +- + arch/x86/include/asm/x86_init.h | 10 +- + arch/x86/include/asm/xen/page.h | 2 +- + arch/x86/include/uapi/asm/e820.h | 2 +- + arch/x86/kernel/Makefile | 2 +- + arch/x86/kernel/acpi/boot.c | 4 +- + arch/x86/kernel/acpi/sleep.c | 4 + + arch/x86/kernel/acpi/wakeup_32.S | 6 +- + arch/x86/kernel/alternative.c | 124 +- + arch/x86/kernel/apic/apic.c | 4 +- + arch/x86/kernel/apic/apic_flat_64.c | 6 +- + arch/x86/kernel/apic/apic_noop.c | 2 +- + arch/x86/kernel/apic/bigsmp_32.c | 2 +- + arch/x86/kernel/apic/io_apic.c | 10 +- + arch/x86/kernel/apic/msi.c | 2 +- + arch/x86/kernel/apic/probe_32.c | 4 +- + arch/x86/kernel/apic/vector.c | 2 + + arch/x86/kernel/apic/x2apic_cluster.c | 2 +- + arch/x86/kernel/apic/x2apic_phys.c | 2 +- + arch/x86/kernel/apic/x2apic_uv_x.c | 2 +- + arch/x86/kernel/apm_32.c | 21 +- + arch/x86/kernel/asm-offsets.c | 22 + + arch/x86/kernel/cpu/Makefile | 4 - + arch/x86/kernel/cpu/amd.c | 2 +- + arch/x86/kernel/cpu/bugs_64.c | 2 + + arch/x86/kernel/cpu/common.c | 202 +- + arch/x86/kernel/cpu/intel_cacheinfo.c | 14 +- + arch/x86/kernel/cpu/mcheck/mce.c | 34 +- + arch/x86/kernel/cpu/mcheck/p5.c | 3 + + arch/x86/kernel/cpu/mcheck/winchip.c | 3 + + arch/x86/kernel/cpu/microcode/intel.c | 4 +- + arch/x86/kernel/cpu/mshyperv.c | 2 +- + arch/x86/kernel/cpu/mtrr/generic.c | 6 +- + arch/x86/kernel/cpu/mtrr/main.c | 2 +- + arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +- + arch/x86/kernel/cpu/vmware.c | 2 +- + arch/x86/kernel/crash_dump_64.c | 2 +- + arch/x86/kernel/doublefault.c | 8 +- + arch/x86/kernel/dumpstack.c | 24 +- + arch/x86/kernel/dumpstack_32.c | 25 +- + arch/x86/kernel/dumpstack_64.c | 72 +- + arch/x86/kernel/e820.c | 4 +- + arch/x86/kernel/early_printk.c | 1 + + arch/x86/kernel/espfix_64.c | 44 +- + arch/x86/kernel/fpu/core.c | 30 +- + arch/x86/kernel/fpu/init.c | 49 +- + arch/x86/kernel/fpu/regset.c | 22 +- + arch/x86/kernel/fpu/signal.c | 20 +- + arch/x86/kernel/fpu/xstate.c | 12 +- + arch/x86/kernel/ftrace.c | 18 +- + arch/x86/kernel/head64.c | 14 +- + arch/x86/kernel/head_32.S | 240 +- + arch/x86/kernel/head_64.S | 182 +- + arch/x86/kernel/i386_ksyms_32.c | 12 + + arch/x86/kernel/i8259.c | 10 +- + arch/x86/kernel/io_delay.c | 2 +- + arch/x86/kernel/ioport.c | 2 +- + arch/x86/kernel/irq.c | 8 +- + arch/x86/kernel/irq_32.c | 45 +- + arch/x86/kernel/jump_label.c | 10 +- + arch/x86/kernel/kgdb.c | 21 +- + arch/x86/kernel/kprobes/core.c | 28 +- + arch/x86/kernel/kprobes/opt.c | 16 +- + arch/x86/kernel/ksysfs.c | 2 +- + arch/x86/kernel/kvm.c | 2 +- + arch/x86/kernel/kvmclock.c | 20 +- + arch/x86/kernel/ldt.c | 25 + + arch/x86/kernel/livepatch.c | 9 +- + arch/x86/kernel/machine_kexec_32.c | 6 +- + arch/x86/kernel/mcount_64.S | 21 +- + arch/x86/kernel/module.c | 78 +- + arch/x86/kernel/msr.c | 2 +- + arch/x86/kernel/nmi.c | 34 +- + arch/x86/kernel/nmi_selftest.c | 4 +- + arch/x86/kernel/paravirt-spinlocks.c | 24 +- + arch/x86/kernel/paravirt.c | 133 +- + arch/x86/kernel/paravirt_patch_64.c | 8 + + arch/x86/kernel/pci-calgary_64.c | 2 +- + arch/x86/kernel/pci-iommu_table.c | 2 +- + arch/x86/kernel/pci-swiotlb.c | 2 +- + arch/x86/kernel/process.c | 80 +- + arch/x86/kernel/process_32.c | 29 +- + arch/x86/kernel/process_64.c | 14 +- + arch/x86/kernel/ptrace.c | 20 +- + arch/x86/kernel/pvclock.c | 8 +- + arch/x86/kernel/reboot.c | 44 +- + arch/x86/kernel/reboot_fixups_32.c | 2 +- + arch/x86/kernel/relocate_kernel_64.S | 3 +- + arch/x86/kernel/setup.c | 29 +- + arch/x86/kernel/setup_percpu.c | 29 +- + arch/x86/kernel/signal.c | 17 +- + arch/x86/kernel/smp.c | 2 +- + arch/x86/kernel/smpboot.c | 29 +- + arch/x86/kernel/step.c | 6 +- + arch/x86/kernel/sys_i386_32.c | 184 + + arch/x86/kernel/sys_x86_64.c | 28 +- + arch/x86/kernel/tboot.c | 22 +- + arch/x86/kernel/time.c | 8 +- + arch/x86/kernel/tls.c | 7 +- + arch/x86/kernel/tracepoint.c | 4 +- + arch/x86/kernel/traps.c | 66 +- + arch/x86/kernel/tsc.c | 2 +- + arch/x86/kernel/uprobes.c | 4 +- + arch/x86/kernel/vm86_32.c | 6 +- + arch/x86/kernel/vmlinux.lds.S | 144 +- + arch/x86/kernel/x8664_ksyms_64.c | 6 +- + arch/x86/kernel/x86_init.c | 6 +- + arch/x86/kvm/cpuid.c | 21 +- + arch/x86/kvm/emulate.c | 20 +- + arch/x86/kvm/i8259.c | 10 +- + arch/x86/kvm/ioapic.c | 2 + + arch/x86/kvm/lapic.c | 2 +- + arch/x86/kvm/paging_tmpl.h | 2 +- + arch/x86/kvm/svm.c | 10 +- + arch/x86/kvm/vmx.c | 60 +- + arch/x86/kvm/x86.c | 44 +- + arch/x86/lguest/boot.c | 3 +- + arch/x86/lib/atomic64_386_32.S | 164 + + arch/x86/lib/atomic64_cx8_32.S | 98 +- + arch/x86/lib/checksum_32.S | 99 +- + arch/x86/lib/clear_page_64.S | 3 + + arch/x86/lib/cmpxchg16b_emu.S | 3 + + arch/x86/lib/copy_page_64.S | 14 +- + arch/x86/lib/copy_user_64.S | 66 +- + arch/x86/lib/csum-copy_64.S | 14 +- + arch/x86/lib/csum-wrappers_64.c | 8 +- + arch/x86/lib/getuser.S | 74 +- + arch/x86/lib/insn.c | 8 +- + arch/x86/lib/iomap_copy_64.S | 2 + + arch/x86/lib/memcpy_64.S | 6 + + arch/x86/lib/memmove_64.S | 3 +- + arch/x86/lib/memset_64.S | 3 + + arch/x86/lib/mmx_32.c | 243 +- + arch/x86/lib/msr-reg.S | 2 + + arch/x86/lib/putuser.S | 87 +- + arch/x86/lib/rwsem.S | 4 + + arch/x86/lib/usercopy_32.c | 359 +- + arch/x86/lib/usercopy_64.c | 22 +- + arch/x86/math-emu/fpu_aux.c | 2 +- + arch/x86/math-emu/fpu_entry.c | 4 +- + arch/x86/math-emu/fpu_etc.c | 9 +- + arch/x86/math-emu/fpu_system.h | 2 +- + arch/x86/math-emu/fpu_trig.c | 13 +- + arch/x86/math-emu/reg_constant.c | 7 +- + arch/x86/mm/Makefile | 3 + + arch/x86/mm/extable.c | 20 +- + arch/x86/mm/fault.c | 573 +- + arch/x86/mm/gup.c | 6 +- + arch/x86/mm/highmem_32.c | 6 + + arch/x86/mm/hugetlbpage.c | 24 +- + arch/x86/mm/init.c | 19 +- + arch/x86/mm/init_32.c | 157 +- + arch/x86/mm/init_64.c | 100 +- + arch/x86/mm/iomap_32.c | 4 + + arch/x86/mm/ioremap.c | 52 +- + arch/x86/mm/kmemcheck/kmemcheck.c | 4 +- + arch/x86/mm/mmap.c | 46 +- + arch/x86/mm/mmio-mod.c | 10 +- + arch/x86/mm/mpx.c | 6 +- + arch/x86/mm/numa.c | 2 +- + arch/x86/mm/pageattr.c | 36 +- + arch/x86/mm/pat.c | 12 +- + arch/x86/mm/pat_rbtree.c | 2 +- + arch/x86/mm/pf_in.c | 10 +- + arch/x86/mm/pgtable.c | 211 +- + arch/x86/mm/pgtable_32.c | 3 + + arch/x86/mm/setup_nx.c | 7 + + arch/x86/mm/tlb.c | 4 + + arch/x86/mm/uderef_64.c | 37 + + arch/x86/net/bpf_jit.S | 11 + + arch/x86/net/bpf_jit_comp.c | 13 +- + arch/x86/oprofile/backtrace.c | 6 +- + arch/x86/oprofile/nmi_int.c | 10 +- + arch/x86/oprofile/op_model_amd.c | 8 +- + arch/x86/oprofile/op_model_ppro.c | 7 +- + arch/x86/oprofile/op_x86_model.h | 2 +- + arch/x86/pci/intel_mid_pci.c | 2 +- + arch/x86/pci/irq.c | 8 +- + arch/x86/pci/pcbios.c | 112 +- + arch/x86/pci/vmd.c | 4 +- + arch/x86/platform/efi/efi_32.c | 24 + + arch/x86/platform/efi/efi_64.c | 26 +- + arch/x86/platform/efi/efi_stub_32.S | 64 +- + arch/x86/platform/efi/efi_stub_64.S | 2 + + arch/x86/platform/intel-mid/intel-mid.c | 5 +- + arch/x86/platform/intel-mid/intel_mid_weak_decls.h | 6 +- + arch/x86/platform/intel-mid/mfld.c | 4 +- + arch/x86/platform/intel-mid/mrfl.c | 2 +- + arch/x86/platform/intel-quark/imr_selftest.c | 2 +- + arch/x86/platform/olpc/olpc_dt.c | 2 +- + arch/x86/power/cpu.c | 11 +- + arch/x86/realmode/init.c | 10 +- + arch/x86/realmode/rm/header.S | 4 +- + arch/x86/realmode/rm/reboot.S | 4 + + arch/x86/realmode/rm/trampoline_32.S | 12 +- + arch/x86/realmode/rm/trampoline_64.S | 3 +- + arch/x86/realmode/rm/wakeup_asm.S | 5 +- + arch/x86/tools/Makefile | 2 +- + arch/x86/tools/relocs.c | 97 +- + arch/x86/um/mem_32.c | 2 +- + arch/x86/um/tls_32.c | 2 +- + arch/x86/xen/enlighten.c | 52 +- + arch/x86/xen/mmu.c | 31 +- + arch/x86/xen/smp.c | 16 +- + arch/x86/xen/xen-asm_32.S | 2 +- + arch/x86/xen/xen-head.S | 12 + + arch/x86/xen/xen-ops.h | 2 - + block/bio.c | 4 +- + block/blk-cgroup.c | 18 +- + block/blk-map.c | 2 +- + block/blk-softirq.c | 2 +- + block/bsg.c | 12 +- + block/cfq-iosched.c | 4 +- + block/compat_ioctl.c | 4 +- + block/genhd.c | 9 +- + block/partitions/efi.c | 8 +- + block/scsi_ioctl.c | 29 +- + crypto/cast6_generic.c | 6 +- + crypto/cryptd.c | 4 +- + crypto/crypto_user.c | 2 +- + crypto/pcrypt.c | 2 +- + crypto/salsa20_generic.c | 16 +- + crypto/serpent_generic.c | 6 +- + drivers/acpi/ac.c | 2 +- + drivers/acpi/acpi_video.c | 2 +- + drivers/acpi/apei/apei-internal.h | 2 +- + drivers/acpi/apei/ghes.c | 10 +- + drivers/acpi/battery.c | 2 +- + drivers/acpi/bgrt.c | 6 +- + drivers/acpi/blacklist.c | 4 +- + drivers/acpi/bus.c | 4 +- + drivers/acpi/device_pm.c | 4 +- + drivers/acpi/ec.c | 6 +- + drivers/acpi/pci_slot.c | 2 +- + drivers/acpi/processor_idle.c | 2 +- + drivers/acpi/processor_pdc.c | 2 +- + drivers/acpi/sleep.c | 2 +- + drivers/acpi/sysfs.c | 14 +- + drivers/acpi/thermal.c | 2 +- + drivers/acpi/video_detect.c | 7 +- + drivers/android/binder.c | 2 +- + drivers/ata/libata-core.c | 12 +- + drivers/ata/libata-scsi.c | 2 +- + drivers/ata/libata.h | 2 +- + drivers/ata/pata_arasan_cf.c | 4 +- + drivers/atm/adummy.c | 2 +- + drivers/atm/ambassador.c | 8 +- + drivers/atm/atmtcp.c | 14 +- + drivers/atm/eni.c | 10 +- + drivers/atm/firestream.c | 8 +- + drivers/atm/fore200e.c | 14 +- + drivers/atm/he.c | 18 +- + drivers/atm/horizon.c | 4 +- + drivers/atm/idt77252.c | 36 +- + drivers/atm/iphase.c | 34 +- + drivers/atm/lanai.c | 12 +- + drivers/atm/nicstar.c | 46 +- + drivers/atm/solos-pci.c | 4 +- + drivers/atm/suni.c | 4 +- + drivers/atm/uPD98402.c | 16 +- + drivers/atm/zatm.c | 6 +- + drivers/base/bus.c | 4 +- + drivers/base/devres.c | 4 +- + drivers/base/devtmpfs.c | 8 +- + drivers/base/node.c | 2 +- + drivers/base/platform-msi.c | 20 +- + drivers/base/power/domain.c | 6 +- + drivers/base/power/runtime.c | 61 +- + drivers/base/power/sysfs.c | 2 +- + drivers/base/power/wakeup.c | 8 +- + drivers/base/regmap/regmap-debugfs.c | 4 +- + drivers/base/regmap/regmap.c | 4 +- + drivers/base/syscore.c | 4 +- + drivers/block/cciss.c | 28 +- + drivers/block/cciss.h | 2 +- + drivers/block/drbd/drbd_bitmap.c | 2 +- + drivers/block/drbd/drbd_int.h | 8 +- + drivers/block/drbd/drbd_main.c | 12 +- + drivers/block/drbd/drbd_nl.c | 16 +- + drivers/block/drbd/drbd_receiver.c | 38 +- + drivers/block/drbd/drbd_state.c | 12 +- + drivers/block/drbd/drbd_state.h | 2 +- + drivers/block/drbd/drbd_state_change.h | 8 +- + drivers/block/drbd/drbd_worker.c | 14 +- + drivers/block/floppy.c | 8 +- + drivers/block/pktcdvd.c | 4 +- + drivers/block/rbd.c | 2 +- + drivers/bluetooth/btwilink.c | 2 +- + drivers/bus/arm-cci.c | 6 +- + drivers/cdrom/cdrom.c | 11 +- + drivers/cdrom/gdrom.c | 1 - + drivers/char/agp/compat_ioctl.c | 2 +- + drivers/char/agp/frontend.c | 4 +- + drivers/char/agp/intel-gtt.c | 4 +- + drivers/char/hpet.c | 2 +- + drivers/char/ipmi/ipmi_msghandler.c | 8 +- + drivers/char/ipmi/ipmi_poweroff.c | 2 +- + drivers/char/ipmi/ipmi_si_intf.c | 12 +- + drivers/char/ipmi/ipmi_ssif.c | 12 +- + drivers/char/mem.c | 47 +- + drivers/char/nvram.c | 2 +- + drivers/char/pcmcia/synclink_cs.c | 16 +- + drivers/char/random.c | 12 +- + drivers/char/sonypi.c | 11 +- + drivers/char/tpm/tpm-chip.c | 7 +- + drivers/char/tpm/tpm_acpi.c | 3 +- + drivers/char/tpm/tpm_eventlog.c | 5 +- + drivers/char/virtio_console.c | 6 +- + drivers/clk/clk-composite.c | 2 +- + drivers/clk/samsung/clk.h | 2 +- + drivers/clk/socfpga/clk-gate-a10.c | 9 +- + drivers/clk/socfpga/clk-gate.c | 9 +- + drivers/clk/socfpga/clk-pll-a10.c | 9 +- + drivers/clk/socfpga/clk-pll.c | 9 +- + drivers/clk/ti/adpll.c | 2 +- + drivers/clk/ti/clk.c | 8 +- + drivers/cpufreq/acpi-cpufreq.c | 17 +- + drivers/cpufreq/cpufreq-dt.c | 4 +- + drivers/cpufreq/cpufreq.c | 27 +- + drivers/cpufreq/cpufreq_governor.h | 2 +- + drivers/cpufreq/cpufreq_ondemand.c | 10 +- + drivers/cpufreq/intel_pstate.c | 56 +- + drivers/cpufreq/p4-clockmod.c | 12 +- + drivers/cpufreq/sparc-us3-cpufreq.c | 67 +- + drivers/cpufreq/speedstep-centrino.c | 7 +- + drivers/cpuidle/driver.c | 2 +- + drivers/cpuidle/dt_idle_states.c | 2 +- + drivers/cpuidle/governor.c | 2 +- + drivers/cpuidle/governors/ladder.c | 13 +- + drivers/cpuidle/sysfs.c | 2 +- + drivers/crypto/hifn_795x.c | 4 +- + drivers/crypto/qat/qat_common/adf_aer.c | 2 +- + drivers/crypto/qat/qat_common/adf_sriov.c | 4 +- + drivers/crypto/qat/qat_common/adf_vf_isr.c | 6 +- + drivers/devfreq/devfreq.c | 4 +- + drivers/dma-buf/dma-buf.c | 5 +- + drivers/dma/qcom/hidma_mgmt_sys.c | 2 +- + drivers/dma/sh/shdma-base.c | 4 +- + drivers/dma/sh/shdmac.c | 2 +- + drivers/edac/edac_device.c | 4 +- + drivers/edac/edac_device_sysfs.c | 2 +- + drivers/edac/edac_mc_sysfs.c | 4 +- + drivers/edac/edac_module.c | 2 +- + drivers/edac/edac_pci.c | 4 +- + drivers/edac/edac_pci_sysfs.c | 22 +- + drivers/edac/mce_amd.h | 2 +- + drivers/firewire/core-card.c | 6 +- + drivers/firewire/core-cdev.c | 4 +- + drivers/firewire/core-device.c | 2 +- + drivers/firewire/core-iso.c | 2 +- + drivers/firewire/core-transaction.c | 1 + + drivers/firewire/core.h | 1 + + drivers/firmware/dmi-id.c | 9 +- + drivers/firmware/dmi_scan.c | 12 +- + drivers/firmware/efi/cper.c | 8 +- + drivers/firmware/efi/efi.c | 14 +- + drivers/firmware/efi/efivars.c | 2 +- + drivers/firmware/efi/runtime-map.c | 2 +- + drivers/firmware/google/gsmi.c | 2 +- + drivers/firmware/google/memconsole.c | 7 +- + drivers/firmware/memmap.c | 2 +- + drivers/firmware/psci.c | 2 +- + drivers/gpio/gpio-davinci.c | 6 +- + drivers/gpio/gpio-em.c | 2 +- + drivers/gpio/gpio-ich.c | 2 +- + drivers/gpio/gpio-mpc8xxx.c | 6 +- + drivers/gpio/gpio-omap.c | 4 +- + drivers/gpio/gpio-rcar.c | 2 +- + drivers/gpio/gpio-vr41xx.c | 2 +- + drivers/gpio/gpiolib.c | 12 +- + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 4 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 8 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 18 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +- + drivers/gpu/drm/amd/amdgpu/fiji_smc.c | 4 +- + drivers/gpu/drm/amd/amdgpu/iceland_smc.c | 4 +- + drivers/gpu/drm/amd/amdgpu/tonga_smc.c | 4 +- + drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_device.c | 6 +- + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 90 +- + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 8 +- + .../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 14 +- + .../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 14 +- + drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 4 +- + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h | 2 +- + .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 16 +- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 2 +- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 2 +- + drivers/gpu/drm/amd/scheduler/sched_fence.c | 2 +- + drivers/gpu/drm/armada/armada_drv.c | 3 +- + drivers/gpu/drm/ast/ast_mode.c | 2 +- + drivers/gpu/drm/bochs/bochs_kms.c | 2 +- + drivers/gpu/drm/drm_crtc.c | 2 +- + drivers/gpu/drm/drm_drv.c | 2 +- + drivers/gpu/drm/drm_fops.c | 19 +- + drivers/gpu/drm/drm_global.c | 14 +- + drivers/gpu/drm/drm_info.c | 13 +- + drivers/gpu/drm/drm_ioc32.c | 13 +- + drivers/gpu/drm/drm_ioctl.c | 2 +- + drivers/gpu/drm/drm_pci.c | 9 +- + drivers/gpu/drm/exynos/exynos_drm_drv.c | 1 - + drivers/gpu/drm/exynos/exynos_drm_g2d.c | 5 + + drivers/gpu/drm/gma500/cdv_intel_crt.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_dp.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 2 +- + drivers/gpu/drm/gma500/cdv_intel_lvds.c | 2 +- + drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 3 + + drivers/gpu/drm/gma500/mdfld_dsi_output.c | 2 +- + drivers/gpu/drm/gma500/oaktrail_hdmi.c | 2 +- + drivers/gpu/drm/gma500/psb_drv.c | 1 - + drivers/gpu/drm/gma500/psb_intel_drv.h | 2 +- + drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 +- + drivers/gpu/drm/gma500/psb_intel_sdvo.c | 2 +- + drivers/gpu/drm/i2c/tda998x_drv.c | 2 +- + drivers/gpu/drm/i810/i810_dma.c | 2 +- + drivers/gpu/drm/i810/i810_drv.c | 6 +- + drivers/gpu/drm/i810/i810_drv.h | 6 +- + drivers/gpu/drm/i915/dvo.h | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 4 +- + drivers/gpu/drm/i915/i915_drv.c | 7 +- + drivers/gpu/drm/i915/i915_drv.h | 2 +- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +- + drivers/gpu/drm/i915/i915_gem_gtt.c | 16 +- + drivers/gpu/drm/i915/i915_gem_gtt.h | 6 +- + drivers/gpu/drm/i915/i915_ioc32.c | 10 +- + drivers/gpu/drm/i915/i915_irq.c | 88 +- + drivers/gpu/drm/i915/intel_display.c | 30 +- + drivers/gpu/drm/imx/imx-drm-core.c | 2 +- + drivers/gpu/drm/mga/mga_drv.c | 5 +- + drivers/gpu/drm/mga/mga_drv.h | 6 +- + drivers/gpu/drm/mga/mga_ioc32.c | 10 +- + drivers/gpu/drm/mga/mga_irq.c | 8 +- + drivers/gpu/drm/mga/mga_state.c | 2 +- + drivers/gpu/drm/mgag200/mgag200_mode.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_acpi.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_drm.c | 13 +- + drivers/gpu/drm/nouveau/nouveau_drm.h | 1 - + drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_usif.c | 7 +- + drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +- + drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c | 7 +- + .../gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c | 7 +- + drivers/gpu/drm/nouveau/nvkm/subdev/secboot/priv.h | 4 +- + drivers/gpu/drm/omapdrm/dss/display.c | 8 +- + drivers/gpu/drm/qxl/qxl_cmd.c | 12 +- + drivers/gpu/drm/qxl/qxl_debugfs.c | 8 +- + drivers/gpu/drm/qxl/qxl_display.c | 2 +- + drivers/gpu/drm/qxl/qxl_drv.c | 8 +- + drivers/gpu/drm/qxl/qxl_drv.h | 8 +- + drivers/gpu/drm/qxl/qxl_ioctl.c | 12 +- + drivers/gpu/drm/qxl/qxl_irq.c | 16 +- + drivers/gpu/drm/qxl/qxl_ttm.c | 38 +- + drivers/gpu/drm/r128/r128_cce.c | 2 +- + drivers/gpu/drm/r128/r128_drv.c | 4 +- + drivers/gpu/drm/r128/r128_drv.h | 6 +- + drivers/gpu/drm/r128/r128_ioc32.c | 10 +- + drivers/gpu/drm/r128/r128_irq.c | 4 +- + drivers/gpu/drm/r128/r128_state.c | 6 +- + drivers/gpu/drm/radeon/mkregtable.c | 4 +- + drivers/gpu/drm/radeon/radeon_atpx_handler.c | 2 +- + drivers/gpu/drm/radeon/radeon_connectors.c | 10 +- + drivers/gpu/drm/radeon/radeon_device.c | 2 +- + drivers/gpu/drm/radeon/radeon_drv.c | 11 +- + drivers/gpu/drm/radeon/radeon_ioc32.c | 12 +- + drivers/gpu/drm/radeon/radeon_kms.c | 8 +- + drivers/gpu/drm/radeon/radeon_ttm.c | 4 +- + drivers/gpu/drm/savage/savage_bci.c | 2 +- + drivers/gpu/drm/savage/savage_drv.c | 5 +- + drivers/gpu/drm/savage/savage_drv.h | 2 +- + drivers/gpu/drm/sis/sis_drv.c | 5 +- + drivers/gpu/drm/sis/sis_drv.h | 2 +- + drivers/gpu/drm/sis/sis_mm.c | 2 +- + drivers/gpu/drm/tegra/dc.c | 2 +- + drivers/gpu/drm/tegra/dsi.c | 2 +- + drivers/gpu/drm/tegra/hdmi.c | 2 +- + drivers/gpu/drm/tegra/sor.c | 7 +- + drivers/gpu/drm/tilcdc/Makefile | 6 +- + drivers/gpu/drm/ttm/ttm_memory.c | 4 +- + drivers/gpu/drm/ttm/ttm_page_alloc.c | 18 +- + drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 18 +- + drivers/gpu/drm/udl/udl_connector.c | 2 +- + drivers/gpu/drm/udl/udl_fb.c | 1 - + drivers/gpu/drm/vc4/vc4_drv.c | 8 +- + drivers/gpu/drm/via/via_dma.c | 2 +- + drivers/gpu/drm/via/via_drv.c | 5 +- + drivers/gpu/drm/via/via_drv.h | 6 +- + drivers/gpu/drm/via/via_irq.c | 18 +- + drivers/gpu/drm/virtio/virtgpu_display.c | 2 +- + drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +- + drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +- + drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +- + drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +- + drivers/gpu/vga/vga_switcheroo.c | 4 +- + drivers/hid/hid-core.c | 4 +- + drivers/hid/hid-magicmouse.c | 2 +- + drivers/hid/hid-sensor-custom.c | 2 +- + drivers/hv/channel.c | 6 +- + drivers/hv/hv.c | 22 +- + drivers/hv/hv_balloon.c | 18 +- + drivers/hv/hyperv_vmbus.h | 2 +- + drivers/hwmon/acpi_power_meter.c | 6 +- + drivers/hwmon/applesmc.c | 4 +- + drivers/hwmon/asus_atk0110.c | 10 +- + drivers/hwmon/coretemp.c | 2 +- + drivers/hwmon/dell-smm-hwmon.c | 4 +- + drivers/hwmon/ibmaem.c | 2 +- + drivers/hwmon/iio_hwmon.c | 2 +- + drivers/hwmon/nct6683.c | 6 +- + drivers/hwmon/nct6775.c | 6 +- + drivers/hwmon/pmbus/pmbus_core.c | 10 +- + drivers/hwmon/sht15.c | 12 +- + drivers/hwmon/via-cputemp.c | 2 +- + drivers/i2c/busses/i2c-amd756-s4882.c | 2 +- + drivers/i2c/busses/i2c-designware-pcidrv.c | 2 +- + drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +- + drivers/i2c/i2c-dev.c | 2 +- + drivers/ide/ide-cd.c | 2 +- + drivers/ide/ide-disk.c | 2 +- + drivers/ide/ide.c | 4 +- + drivers/idle/intel_idle.c | 6 +- + drivers/iio/industrialio-core.c | 2 +- + drivers/iio/magnetometer/ak8975.c | 2 +- + drivers/infiniband/core/cm.c | 46 +- + drivers/infiniband/core/fmr_pool.c | 20 +- + drivers/infiniband/core/netlink.c | 5 +- + drivers/infiniband/core/ucm.c | 4 +- + drivers/infiniband/core/uverbs_cmd.c | 3 + + drivers/infiniband/hw/cxgb4/device.c | 6 +- + drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 +- + drivers/infiniband/hw/cxgb4/mem.c | 4 +- + drivers/infiniband/hw/i40iw/i40iw_user.h | 2 +- + drivers/infiniband/hw/mlx4/mad.c | 2 +- + drivers/infiniband/hw/mlx4/mcg.c | 2 +- + drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +- + drivers/infiniband/hw/mthca/mthca_cmd.c | 8 +- + drivers/infiniband/hw/mthca/mthca_main.c | 2 +- + drivers/infiniband/hw/mthca/mthca_mr.c | 6 +- + drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- + drivers/infiniband/hw/nes/nes.c | 4 +- + drivers/infiniband/hw/nes/nes.h | 40 +- + drivers/infiniband/hw/nes/nes_cm.c | 62 +- + drivers/infiniband/hw/nes/nes_mgt.c | 8 +- + drivers/infiniband/hw/nes/nes_nic.c | 42 +- + drivers/infiniband/hw/nes/nes_verbs.c | 10 +- + drivers/infiniband/hw/qib/qib_iba7322.c | 4 +- + drivers/infiniband/hw/qib/qib_pcie.c | 2 +- + drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 +- + drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 2 +- + drivers/infiniband/ulp/srpt/ib_srpt.c | 8 +- + drivers/input/evdev.c | 2 +- + drivers/input/gameport/gameport.c | 4 +- + drivers/input/input.c | 4 +- + drivers/input/joystick/sidewinder.c | 1 + + drivers/input/misc/ims-pcu.c | 4 +- + drivers/input/mouse/psmouse.h | 2 +- + drivers/input/mousedev.c | 2 +- + drivers/input/serio/serio.c | 4 +- + drivers/input/serio/serio_raw.c | 4 +- + drivers/input/touchscreen/htcpen.c | 2 +- + drivers/iommu/arm-smmu-v3.c | 2 +- + drivers/iommu/arm-smmu.c | 42 +- + drivers/iommu/io-pgtable-arm-v7s.c | 62 +- + drivers/iommu/io-pgtable-arm.c | 99 +- + drivers/iommu/io-pgtable.c | 11 +- + drivers/iommu/io-pgtable.h | 21 +- + drivers/iommu/iommu.c | 2 +- + drivers/iommu/ipmmu-vmsa.c | 13 +- + drivers/iommu/irq_remapping.c | 2 +- + drivers/iommu/mtk_iommu.c | 16 +- + drivers/irqchip/irq-gic.c | 2 +- + drivers/irqchip/irq-i8259.c | 2 +- + drivers/irqchip/irq-renesas-intc-irqpin.c | 2 +- + drivers/irqchip/irq-ts4800.c | 2 +- + drivers/isdn/capi/capi.c | 10 +- + drivers/isdn/gigaset/interface.c | 8 +- + drivers/isdn/gigaset/usb-gigaset.c | 2 +- + drivers/isdn/hardware/avm/b1.c | 4 +- + drivers/isdn/hardware/eicon/capifunc.c | 6 +- + drivers/isdn/hardware/eicon/dadapter.c | 18 +- + drivers/isdn/hardware/eicon/diddfunc.c | 7 +- + drivers/isdn/hardware/eicon/divasfunc.c | 9 +- + drivers/isdn/hardware/eicon/divasync.h | 2 +- + drivers/isdn/hardware/eicon/idifunc.c | 9 +- + drivers/isdn/hardware/eicon/mntfunc.c | 13 +- + drivers/isdn/hardware/mISDN/avmfritz.c | 2 +- + drivers/isdn/hardware/mISDN/hfcmulti.c | 7 +- + drivers/isdn/hardware/mISDN/hfcpci.c | 16 +- + drivers/isdn/hardware/mISDN/mISDNinfineon.c | 7 +- + drivers/isdn/hardware/mISDN/mISDNipac.c | 5 +- + drivers/isdn/hardware/mISDN/netjet.c | 2 +- + drivers/isdn/hardware/mISDN/speedfax.c | 7 +- + drivers/isdn/hardware/mISDN/w6692.c | 7 +- + drivers/isdn/hisax/amd7930_fn.c | 5 +- + drivers/isdn/hisax/arcofi.c | 5 +- + drivers/isdn/hisax/diva.c | 7 +- + drivers/isdn/hisax/elsa.c | 9 +- + drivers/isdn/hisax/fsm.c | 5 +- + drivers/isdn/hisax/hfc4s8s_l1.c | 14 +- + drivers/isdn/hisax/hfc_2bds0.c | 4 +- + drivers/isdn/hisax/hfc_pci.c | 10 +- + drivers/isdn/hisax/hfc_sx.c | 10 +- + drivers/isdn/hisax/hfc_usb.c | 12 +- + drivers/isdn/hisax/hfcscard.c | 6 +- + drivers/isdn/hisax/icc.c | 5 +- + drivers/isdn/hisax/ipacx.c | 7 +- + drivers/isdn/hisax/isac.c | 5 +- + drivers/isdn/hisax/isar.c | 5 +- + drivers/isdn/hisax/isdnl3.c | 5 +- + drivers/isdn/hisax/saphir.c | 5 +- + drivers/isdn/hisax/teleint.c | 5 +- + drivers/isdn/hisax/w6692.c | 5 +- + drivers/isdn/i4l/isdn_common.c | 2 + + drivers/isdn/i4l/isdn_tty.c | 22 +- + drivers/isdn/mISDN/dsp.h | 4 +- + drivers/isdn/mISDN/dsp_cmx.c | 4 +- + drivers/isdn/mISDN/dsp_core.c | 4 +- + drivers/isdn/mISDN/dsp_tones.c | 4 +- + drivers/isdn/mISDN/fsm.c | 5 +- + drivers/isdn/mISDN/l1oip_core.c | 8 +- + drivers/leds/leds-clevo-mail.c | 2 +- + drivers/leds/leds-ss4200.c | 2 +- + drivers/lguest/core.c | 9 +- + drivers/lguest/page_tables.c | 2 +- + drivers/lguest/x86/core.c | 12 +- + drivers/lguest/x86/switcher_32.S | 27 +- + drivers/lightnvm/rrpc.c | 4 +- + drivers/lightnvm/rrpc.h | 2 +- + drivers/md/bcache/alloc.c | 2 +- + drivers/md/bcache/bcache.h | 10 +- + drivers/md/bcache/btree.c | 13 +- + drivers/md/bcache/closure.c | 4 +- + drivers/md/bcache/closure.h | 10 +- + drivers/md/bcache/io.c | 10 +- + drivers/md/bcache/journal.c | 18 +- + drivers/md/bcache/movinggc.c | 12 +- + drivers/md/bcache/request.c | 54 +- + drivers/md/bcache/request.h | 2 +- + drivers/md/bcache/stats.c | 26 +- + drivers/md/bcache/stats.h | 16 +- + drivers/md/bcache/super.c | 32 +- + drivers/md/bcache/sysfs.c | 20 +- + drivers/md/bcache/writeback.c | 12 +- + drivers/md/bitmap.c | 2 +- + drivers/md/dm-cache-target.c | 116 +- + drivers/md/dm-ioctl.c | 2 +- + drivers/md/dm-raid.c | 2 +- + drivers/md/dm-raid1.c | 18 +- + drivers/md/dm-stats.c | 6 +- + drivers/md/dm-stripe.c | 10 +- + drivers/md/dm-table.c | 2 +- + drivers/md/dm-thin-metadata.c | 4 +- + drivers/md/dm.c | 28 +- + drivers/md/md.c | 41 +- + drivers/md/md.h | 8 +- + drivers/md/persistent-data/dm-space-map-metadata.c | 4 +- + drivers/md/persistent-data/dm-space-map.h | 1 + + drivers/md/raid1.c | 8 +- + drivers/md/raid10.c | 20 +- + drivers/md/raid5.c | 26 +- + drivers/media/dvb-core/dvb_net.c | 2 +- + drivers/media/dvb-core/dvbdev.c | 2 +- + drivers/media/dvb-frontends/af9033.h | 2 +- + drivers/media/dvb-frontends/cx24116.c | 2 +- + drivers/media/dvb-frontends/cx24117.c | 2 +- + drivers/media/dvb-frontends/cx24120.c | 2 +- + drivers/media/dvb-frontends/cx24123.c | 2 +- + drivers/media/dvb-frontends/cxd2820r_core.c | 2 +- + drivers/media/dvb-frontends/dib3000.h | 2 +- + drivers/media/dvb-frontends/dib7000p.h | 2 +- + drivers/media/dvb-frontends/dib8000.h | 2 +- + drivers/media/dvb-frontends/hd29l2.c | 2 +- + drivers/media/dvb-frontends/lgdt3306a.c | 2 +- + drivers/media/dvb-frontends/mt312.c | 6 +- + drivers/media/dvb-frontends/s921.c | 2 +- + drivers/media/pci/bt8xx/dst.c | 2 +- + drivers/media/pci/cx88/cx88-video.c | 6 +- + drivers/media/pci/ivtv/ivtv-driver.c | 2 +- + drivers/media/pci/pt1/va1j5jf8007s.c | 2 +- + drivers/media/pci/pt1/va1j5jf8007t.c | 2 +- + drivers/media/pci/solo6x10/solo6x10-core.c | 2 +- + drivers/media/pci/solo6x10/solo6x10-p2m.c | 2 +- + drivers/media/pci/solo6x10/solo6x10.h | 2 +- + drivers/media/pci/sta2x11/sta2x11_vip.c | 5 +- + drivers/media/pci/tw68/tw68-core.c | 2 +- + drivers/media/pci/zoran/zoran.h | 1 - + drivers/media/pci/zoran/zoran_card.c | 4 +- + drivers/media/pci/zoran/zoran_driver.c | 3 - + drivers/media/platform/am437x/am437x-vpfe.c | 2 +- + drivers/media/platform/omap/omap_vout.c | 11 +- + drivers/media/platform/s5p-tv/mixer.h | 2 +- + drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +- + drivers/media/platform/s5p-tv/mixer_reg.c | 2 +- + drivers/media/platform/s5p-tv/mixer_video.c | 24 +- + drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +- + drivers/media/platform/soc_camera/soc_camera.c | 2 +- + drivers/media/radio/radio-cadet.c | 2 + + drivers/media/radio/radio-maxiradio.c | 2 +- + drivers/media/radio/radio-shark.c | 2 +- + drivers/media/radio/radio-shark2.c | 2 +- + drivers/media/radio/radio-si476x.c | 2 +- + drivers/media/radio/wl128x/fmdrv_common.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-context.c | 8 +- + drivers/media/usb/pvrusb2/pvrusb2-dvb.c | 7 +- + drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-std.c | 2 +- + drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 6 +- + drivers/media/usb/uvc/uvc_driver.c | 4 +- + drivers/media/v4l2-core/v4l2-common.c | 2 +- + drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 12 +- + drivers/media/v4l2-core/v4l2-device.c | 4 +- + drivers/media/v4l2-core/v4l2-ioctl.c | 287 +- + drivers/memory/omap-gpmc.c | 21 +- + drivers/message/fusion/mptbase.c | 4 +- + drivers/message/fusion/mptlan.c | 2 +- + drivers/message/fusion/mptsas.c | 34 +- + drivers/mfd/ab8500-debugfs.c | 2 +- + drivers/mfd/kempld-core.c | 2 +- + drivers/mfd/max8925-i2c.c | 2 +- + drivers/mfd/tps65910.c | 2 +- + drivers/mfd/twl4030-irq.c | 9 +- + drivers/misc/c2port/core.c | 4 +- + drivers/misc/kgdbts.c | 6 +- + drivers/misc/lis3lv02d/lis3lv02d.c | 8 +- + drivers/misc/lis3lv02d/lis3lv02d.h | 2 +- + drivers/misc/mic/scif/scif_api.c | 10 +- + drivers/misc/mic/scif/scif_rb.c | 8 +- + drivers/misc/panel.c | 4 +- + drivers/misc/sgi-gru/gruhandles.c | 4 +- + drivers/misc/sgi-gru/gruprocfs.c | 8 +- + drivers/misc/sgi-gru/grutables.h | 158 +- + drivers/misc/sgi-xp/xp.h | 2 +- + drivers/misc/sgi-xp/xp_main.c | 57 +- + drivers/misc/sgi-xp/xpc.h | 3 +- + drivers/misc/sgi-xp/xpc_main.c | 2 +- + drivers/misc/sgi-xp/xpnet.c | 2 +- + drivers/misc/ti-st/st_kim.c | 32 +- + drivers/mmc/card/mmc_test.c | 4 +- + drivers/mmc/host/dw_mmc.h | 2 +- + drivers/mmc/host/mmci.c | 4 +- + drivers/mmc/host/omap_hsmmc.c | 4 +- + drivers/mmc/host/sdhci-esdhc-imx.c | 7 +- + drivers/mmc/host/sdhci-s3c.c | 8 +- + drivers/mtd/chips/cfi_cmdset_0020.c | 2 +- + drivers/mtd/devices/block2mtd.c | 2 +- + drivers/mtd/devices/phram.c | 2 +- + drivers/mtd/maps/gpio-addr-flash.c | 2 +- + drivers/mtd/maps/latch-addr-flash.c | 2 +- + drivers/mtd/maps/pci.c | 4 +- + drivers/mtd/maps/pcmciamtd.c | 8 +- + drivers/mtd/maps/sbc_gxx.c | 2 +- + drivers/mtd/nand/brcmnand/brcmnand.h | 2 +- + drivers/mtd/nand/cafe_nand.c | 18 +- + drivers/mtd/nand/denali.c | 1 + + drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 2 +- + drivers/mtd/nftlmount.c | 1 + + drivers/mtd/sm_ftl.c | 2 +- + drivers/mtd/ubi/build.c | 2 +- + drivers/net/bonding/bond_netlink.c | 2 +- + drivers/net/caif/caif_hsi.c | 4 +- + drivers/net/caif/caif_serial.c | 2 +- + drivers/net/caif/caif_spi.c | 2 +- + drivers/net/caif/caif_virtio.c | 2 +- + drivers/net/can/Kconfig | 2 +- + drivers/net/can/bfin_can.c | 2 +- + drivers/net/can/dev.c | 2 +- + drivers/net/can/flexcan.c | 2 +- + drivers/net/can/janz-ican3.c | 2 +- + drivers/net/can/led.c | 2 +- + drivers/net/can/sun4i_can.c | 2 +- + drivers/net/can/vcan.c | 2 +- + drivers/net/can/xilinx_can.c | 2 +- + drivers/net/dummy.c | 2 +- + drivers/net/ethernet/8390/ax88796.c | 6 +- + drivers/net/ethernet/8390/axnet_cs.c | 4 +- + drivers/net/ethernet/8390/ne2k-pci.c | 6 +- + drivers/net/ethernet/8390/pcnet_cs.c | 4 +- + drivers/net/ethernet/adi/bfin_mac.c | 2 +- + drivers/net/ethernet/allwinner/sun4i-emac.c | 2 +- + drivers/net/ethernet/altera/altera_tse_main.c | 6 +- + drivers/net/ethernet/amd/7990.c | 2 +- + drivers/net/ethernet/amd/7990.h | 2 +- + drivers/net/ethernet/amd/amd8111e.c | 5 +- + drivers/net/ethernet/amd/atarilance.c | 4 +- + drivers/net/ethernet/amd/declance.c | 2 +- + drivers/net/ethernet/amd/pcnet32.c | 7 +- + drivers/net/ethernet/amd/sun3lance.c | 4 +- + drivers/net/ethernet/amd/sunlance.c | 2 +- + drivers/net/ethernet/amd/xgbe/xgbe-common.h | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-dcb.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-desc.c | 27 +- + drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 145 +- + drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 68 +- + drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c | 10 +- + drivers/net/ethernet/amd/xgbe/xgbe-main.c | 15 +- + drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 27 +- + drivers/net/ethernet/amd/xgbe/xgbe-ptp.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe.h | 10 +- + drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 4 +- + drivers/net/ethernet/arc/emac_main.c | 2 +- + drivers/net/ethernet/atheros/alx/main.c | 2 +- + drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 2 +- + drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 2 +- + drivers/net/ethernet/aurora/nb8800.c | 2 +- + drivers/net/ethernet/broadcom/bcm63xx_enet.c | 2 +- + drivers/net/ethernet/broadcom/bnx2.c | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c | 216 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h | 4 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +- + drivers/net/ethernet/broadcom/tg3.c | 2 +- + drivers/net/ethernet/broadcom/tg3.h | 1 + + drivers/net/ethernet/brocade/bna/bfa_cs.h | 42 +- + drivers/net/ethernet/brocade/bna/bfa_ioc.c | 10 +- + drivers/net/ethernet/brocade/bna/bfa_ioc.h | 4 +- + drivers/net/ethernet/brocade/bna/bfa_msgq.h | 8 +- + drivers/net/ethernet/brocade/bna/bna_enet.c | 6 +- + drivers/net/ethernet/brocade/bna/bna_tx_rx.c | 6 +- + drivers/net/ethernet/brocade/bna/bna_types.h | 24 +- + drivers/net/ethernet/brocade/bna/bnad.c | 11 +- + drivers/net/ethernet/cadence/macb.c | 4 +- + drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 6 +- + drivers/net/ethernet/cavium/liquidio/lio_main.c | 15 +- + drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 2 +- + drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +- + drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +- + drivers/net/ethernet/chelsio/cxgb4vf/adapter.h | 2 +- + drivers/net/ethernet/chelsio/cxgb4vf/sge.c | 2 +- + drivers/net/ethernet/davicom/dm9000.c | 2 +- + drivers/net/ethernet/dec/tulip/de4x5.c | 13 +- + drivers/net/ethernet/emulex/benet/be_main.c | 4 +- + drivers/net/ethernet/faraday/ftgmac100.c | 4 +- + drivers/net/ethernet/faraday/ftmac100.c | 4 +- + drivers/net/ethernet/freescale/fec_mpc52xx.c | 2 +- + .../net/ethernet/freescale/fs_enet/fs_enet-main.c | 2 +- + drivers/net/ethernet/freescale/gianfar.c | 4 +- + drivers/net/ethernet/freescale/ucc_geth.c | 2 +- + drivers/net/ethernet/hisilicon/hip04_eth.c | 2 +- + drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 2 +- + drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c | 6 +- + drivers/net/ethernet/i825xx/lib82596.c | 4 +- + drivers/net/ethernet/ibm/ehea/ehea_main.c | 2 +- + drivers/net/ethernet/ibm/emac/core.c | 4 +- + drivers/net/ethernet/intel/e100.c | 2 +- + drivers/net/ethernet/intel/e1000/e1000_main.c | 2 +- + drivers/net/ethernet/intel/e1000e/netdev.c | 2 +- + drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 2 +- + drivers/net/ethernet/intel/i40e/i40e_ptp.c | 2 +- + drivers/net/ethernet/intel/igb/igb_main.c | 2 +- + drivers/net/ethernet/intel/igbvf/netdev.c | 2 +- + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +- + drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +- + drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 +- + drivers/net/ethernet/marvell/pxa168_eth.c | 2 +- + drivers/net/ethernet/mellanox/mlx4/en_tx.c | 4 +- + drivers/net/ethernet/mellanox/mlx4/main.c | 2 +- + drivers/net/ethernet/mellanox/mlx5/core/main.c | 2 +- + drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 2 +- + drivers/net/ethernet/micrel/ks8695net.c | 2 +- + drivers/net/ethernet/micrel/ks8851_mll.c | 2 +- + drivers/net/ethernet/moxa/moxart_ether.c | 2 +- + drivers/net/ethernet/neterion/s2io.c | 2 +- + drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +- + drivers/net/ethernet/neterion/vxge/vxge-main.c | 2 +- + .../net/ethernet/netronome/nfp/nfp_net_common.c | 2 +- + drivers/net/ethernet/netx-eth.c | 2 +- + drivers/net/ethernet/nuvoton/w90p910_ether.c | 2 +- + drivers/net/ethernet/nvidia/forcedeth.c | 4 +- + drivers/net/ethernet/nxp/lpc_eth.c | 2 +- + .../net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 4 +- + .../net/ethernet/qlogic/netxen/netxen_nic_main.c | 2 +- + drivers/net/ethernet/qlogic/qed/qed_mcp.c | 6 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +- + drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 2 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 2 +- + drivers/net/ethernet/realtek/r8169.c | 8 +- + drivers/net/ethernet/renesas/sh_eth.c | 2 +- + drivers/net/ethernet/rocker/rocker_main.c | 4 +- + drivers/net/ethernet/seeq/sgiseeq.c | 2 +- + drivers/net/ethernet/sfc/ptp.c | 2 +- + drivers/net/ethernet/sfc/selftest.c | 20 +- + drivers/net/ethernet/sgi/ioc3-eth.c | 4 +- + drivers/net/ethernet/smsc/smc911x.c | 2 +- + drivers/net/ethernet/smsc/smc91x.c | 2 +- + drivers/net/ethernet/smsc/smsc911x.c | 2 +- + drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +- + drivers/net/ethernet/sun/sunbmac.c | 2 +- + drivers/net/ethernet/sun/sunqe.c | 2 +- + drivers/net/ethernet/sun/sunvnet.c | 2 +- + drivers/net/ethernet/sun/sunvnet_common.c | 6 +- + drivers/net/ethernet/synopsys/dwc_eth_qos.c | 2 +- + drivers/net/ethernet/ti/cpmac.c | 2 +- + drivers/net/ethernet/ti/netcp_core.c | 2 +- + drivers/net/ethernet/via/via-rhine.c | 2 +- + drivers/net/ethernet/wiznet/w5100.c | 2 +- + drivers/net/ethernet/wiznet/w5300.c | 2 +- + drivers/net/ethernet/xilinx/ll_temac_main.c | 2 +- + drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- + drivers/net/geneve.c | 2 +- + drivers/net/hamradio/baycom_epp.c | 2 +- + drivers/net/hyperv/hyperv_net.h | 2 +- + drivers/net/hyperv/netvsc_drv.c | 2 +- + drivers/net/hyperv/rndis_filter.c | 7 +- + drivers/net/ifb.c | 2 +- + drivers/net/ipvlan/ipvlan_core.c | 2 +- + drivers/net/ipvlan/ipvlan_main.c | 6 +- + drivers/net/irda/sh_irda.c | 2 +- + drivers/net/irda/vlsi_ir.c | 18 +- + drivers/net/irda/vlsi_ir.h | 14 +- + drivers/net/loopback.c | 2 +- + drivers/net/macsec.c | 2 +- + drivers/net/macvlan.c | 20 +- + drivers/net/macvtap.c | 10 +- + drivers/net/nlmon.c | 2 +- + drivers/net/phy/phy_device.c | 6 +- + drivers/net/plip/plip.c | 2 +- + drivers/net/ppp/ppp_generic.c | 4 +- + drivers/net/ppp/pptp.c | 2 +- + drivers/net/rionet.c | 2 +- + drivers/net/slip/slhc.c | 2 +- + drivers/net/team/team.c | 4 +- + drivers/net/tun.c | 7 +- + drivers/net/usb/hso.c | 28 +- + drivers/net/usb/ipheth.c | 2 +- + drivers/net/usb/r8152.c | 2 +- + drivers/net/usb/sierra_net.c | 4 +- + drivers/net/virtio_net.c | 2 +- + drivers/net/vrf.c | 4 +- + drivers/net/vxlan.c | 4 +- + drivers/net/wimax/i2400m/rx.c | 2 +- + drivers/net/wireless/ath/ath10k/ce.c | 6 +- + drivers/net/wireless/ath/ath10k/htc.h | 4 +- + drivers/net/wireless/ath/ath6kl/core.h | 2 +- + drivers/net/wireless/ath/ath6kl/txrx.c | 2 +- + drivers/net/wireless/ath/ath9k/ar9002_mac.c | 36 +- + drivers/net/wireless/ath/ath9k/ar9003_mac.c | 64 +- + drivers/net/wireless/ath/ath9k/hw.h | 4 +- + drivers/net/wireless/ath/ath9k/main.c | 22 +- + drivers/net/wireless/ath/carl9170/carl9170.h | 6 +- + drivers/net/wireless/ath/carl9170/debug.c | 6 +- + drivers/net/wireless/ath/carl9170/main.c | 10 +- + drivers/net/wireless/ath/carl9170/tx.c | 4 +- + drivers/net/wireless/ath/wil6210/pcie_bus.c | 2 +- + drivers/net/wireless/ath/wil6210/wil_platform.h | 2 +- + drivers/net/wireless/atmel/at76c50x-usb.c | 2 +- + drivers/net/wireless/atmel/atmel.c | 183 +- + drivers/net/wireless/broadcom/b43/phy_lp.c | 2 +- + drivers/net/wireless/broadcom/b43legacy/main.c | 5 +- + .../broadcom/brcm80211/brcmfmac/cfg80211.c | 55 +- + .../broadcom/brcm80211/brcmsmac/phy/phy_cmn.c | 3 +- + .../broadcom/brcm80211/brcmsmac/phy_shim.c | 5 +- + .../broadcom/brcm80211/brcmsmac/phy_shim.h | 2 +- + drivers/net/wireless/cisco/airo.c | 201 +- + drivers/net/wireless/intel/ipw2x00/ipw2100.c | 8 +- + drivers/net/wireless/intel/ipw2x00/ipw2200.c | 6 +- + drivers/net/wireless/intel/iwlegacy/3945-mac.c | 11 +- + drivers/net/wireless/intel/iwlegacy/4965-mac.c | 7 +- + drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c | 34 +- + drivers/net/wireless/intel/iwlwifi/dvm/lib.c | 4 +- + drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 8 +- + drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 4 +- + drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 4 +- + .../net/wireless/intersil/hostap/hostap_ioctl.c | 134 +- + drivers/net/wireless/intersil/orinoco/wext.c | 131 +- + drivers/net/wireless/intersil/prism54/isl_ioctl.c | 292 +- + drivers/net/wireless/mac80211_hwsim.c | 28 +- + drivers/net/wireless/marvell/mwifiex/11n_aggr.c | 2 +- + drivers/net/wireless/marvell/mwifiex/main.c | 2 +- + drivers/net/wireless/marvell/mwifiex/pcie.c | 4 +- + drivers/net/wireless/marvell/mwifiex/sdio.c | 10 +- + drivers/net/wireless/ralink/rt2x00/rt2400pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2500pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2500usb.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 6 +- + drivers/net/wireless/ralink/rt2x00/rt2x00.h | 2 +- + drivers/net/wireless/ralink/rt2x00/rt2x00queue.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt61pci.c | 4 +- + drivers/net/wireless/ralink/rt2x00/rt73usb.c | 4 +- + drivers/net/wireless/realtek/rtlwifi/base.c | 14 +- + drivers/net/wireless/realtek/rtlwifi/base.h | 4 +- + drivers/net/wireless/realtek/rtlwifi/pci.c | 15 +- + drivers/net/wireless/realtek/rtlwifi/ps.c | 6 +- + drivers/net/wireless/realtek/rtlwifi/ps.h | 6 +- + drivers/net/wireless/ti/wl1251/sdio.c | 12 +- + drivers/net/wireless/ti/wl12xx/main.c | 8 +- + drivers/net/wireless/ti/wl18xx/main.c | 6 +- + drivers/net/wireless/zydas/zd1201.c | 192 +- + drivers/net/xen-netback/interface.c | 2 +- + drivers/net/xen-netfront.c | 2 +- + drivers/nvme/host/pci.c | 2 +- + drivers/of/fdt.c | 4 +- + drivers/oprofile/buffer_sync.c | 8 +- + drivers/oprofile/event_buffer.c | 2 +- + drivers/oprofile/oprof.c | 2 +- + drivers/oprofile/oprofile_stats.c | 10 +- + drivers/oprofile/oprofile_stats.h | 10 +- + drivers/oprofile/oprofilefs.c | 6 +- + drivers/oprofile/timer_int.c | 2 +- + drivers/parport/procfs.c | 4 +- + drivers/pci/host/pci-host-common.h | 2 +- + drivers/pci/hotplug/acpiphp_ibm.c | 4 +- + drivers/pci/hotplug/cpcihp_generic.c | 6 +- + drivers/pci/hotplug/cpcihp_zt5550.c | 14 +- + drivers/pci/hotplug/cpqphp_nvram.c | 2 + + drivers/pci/hotplug/pci_hotplug_core.c | 6 +- + drivers/pci/hotplug/pciehp_core.c | 2 +- + drivers/pci/msi.c | 22 +- + drivers/pci/pci-sysfs.c | 6 +- + drivers/pci/pci.h | 4 +- + drivers/pci/pcie/aspm.c | 10 +- + drivers/pci/pcie/portdrv_pci.c | 2 +- + drivers/pci/probe.c | 2 +- + drivers/pci/setup-bus.c | 10 +- + drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +- + drivers/pinctrl/pinctrl-at91.c | 5 +- + drivers/platform/chrome/chromeos_laptop.c | 2 +- + drivers/platform/chrome/chromeos_pstore.c | 2 +- + drivers/platform/chrome/cros_ec_lpc.c | 2 +- + drivers/platform/x86/alienware-wmi.c | 4 +- + drivers/platform/x86/apple-gmux.c | 2 +- + drivers/platform/x86/compal-laptop.c | 2 +- + drivers/platform/x86/hdaps.c | 2 +- + drivers/platform/x86/ibm_rtl.c | 2 +- + drivers/platform/x86/intel_oaktrail.c | 2 +- + drivers/platform/x86/msi-laptop.c | 16 +- + drivers/platform/x86/msi-wmi.c | 2 +- + drivers/platform/x86/samsung-laptop.c | 2 +- + drivers/platform/x86/samsung-q10.c | 2 +- + drivers/platform/x86/sony-laptop.c | 14 +- + drivers/platform/x86/thinkpad_acpi.c | 10 +- + drivers/pnp/pnpbios/bioscalls.c | 14 +- + drivers/pnp/pnpbios/core.c | 2 +- + drivers/power/pda_power.c | 7 +- + drivers/power/power_supply.h | 4 +- + drivers/power/power_supply_core.c | 7 +- + drivers/power/power_supply_sysfs.c | 6 +- + drivers/power/reset/at91-reset.c | 5 +- + drivers/powercap/powercap_sys.c | 136 +- + drivers/ptp/ptp_private.h | 2 +- + drivers/ptp/ptp_sysfs.c | 2 +- + drivers/regulator/core.c | 4 +- + drivers/regulator/max8660.c | 6 +- + drivers/regulator/max8973-regulator.c | 16 +- + drivers/regulator/mc13892-regulator.c | 8 +- + drivers/remoteproc/remoteproc_core.c | 26 +- + drivers/rtc/rtc-armada38x.c | 7 +- + drivers/rtc/rtc-cmos.c | 4 +- + drivers/rtc/rtc-ds1307.c | 2 +- + drivers/rtc/rtc-m48t59.c | 4 +- + drivers/rtc/rtc-rv8803.c | 15 +- + drivers/rtc/rtc-rx8010.c | 8 +- + drivers/rtc/rtc-test.c | 6 +- + drivers/scsi/aacraid/aachba.c | 7 +- + drivers/scsi/aic7xxx/aic79xx.h | 2 +- + drivers/scsi/aic7xxx/aic79xx_core.c | 11 +- + drivers/scsi/be2iscsi/be_main.c | 2 +- + drivers/scsi/bfa/bfa.h | 4 +- + drivers/scsi/bfa/bfa_core.c | 4 +- + drivers/scsi/bfa/bfa_cs.h | 124 +- + drivers/scsi/bfa/bfa_fcpim.h | 14 +- + drivers/scsi/bfa/bfa_fcs.h | 34 +- + drivers/scsi/bfa/bfa_fcs_fcpim.c | 6 +- + drivers/scsi/bfa/bfa_fcs_lport.c | 4 +- + drivers/scsi/bfa/bfa_fcs_rport.c | 4 +- + drivers/scsi/bfa/bfa_ioc.c | 8 +- + drivers/scsi/bfa/bfa_ioc.h | 16 +- + drivers/scsi/bfa/bfa_svc.c | 12 +- + drivers/scsi/bfa/bfa_svc.h | 20 +- + drivers/scsi/bfa/bfad.c | 12 +- + drivers/scsi/bfa/bfad_bsg.c | 8 +- + drivers/scsi/bfa/bfad_drv.h | 5 +- + drivers/scsi/csiostor/csio_defs.h | 19 +- + drivers/scsi/csiostor/csio_hw.c | 67 +- + drivers/scsi/csiostor/csio_init.c | 2 +- + drivers/scsi/csiostor/csio_lnode.c | 32 +- + drivers/scsi/csiostor/csio_rnode.c | 28 +- + drivers/scsi/csiostor/csio_scsi.c | 37 +- + drivers/scsi/fcoe/fcoe_sysfs.c | 12 +- + drivers/scsi/fcoe/fcoe_transport.c | 16 +- + drivers/scsi/hpsa.c | 38 +- + drivers/scsi/hpsa.h | 2 +- + drivers/scsi/hptiop.c | 2 - + drivers/scsi/hptiop.h | 1 - + drivers/scsi/ipr.c | 32 +- + drivers/scsi/ipr.h | 2 +- + drivers/scsi/libfc/fc_exch.c | 50 +- + drivers/scsi/libsas/sas_ata.c | 2 +- + drivers/scsi/lpfc/lpfc.h | 8 +- + drivers/scsi/lpfc/lpfc_debugfs.c | 18 +- + drivers/scsi/lpfc/lpfc_init.c | 8 +- + drivers/scsi/lpfc/lpfc_scsi.c | 10 +- + drivers/scsi/megaraid/megaraid_sas.h | 2 +- + drivers/scsi/mpt3sas/mpt3sas_base.c | 2 +- + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 +- + drivers/scsi/pmcraid.c | 46 +- + drivers/scsi/pmcraid.h | 8 +- + drivers/scsi/qla2xxx/qla_attr.c | 4 +- + drivers/scsi/qla2xxx/qla_gbl.h | 8 +- + drivers/scsi/qla2xxx/qla_os.c | 15 +- + drivers/scsi/qla2xxx/qla_target.c | 16 +- + drivers/scsi/qla2xxx/qla_target.h | 2 +- + drivers/scsi/qla4xxx/ql4_def.h | 2 +- + drivers/scsi/qla4xxx/ql4_os.c | 15 +- + drivers/scsi/scsi.c | 2 +- + drivers/scsi/scsi_lib.c | 8 +- + drivers/scsi/scsi_sysfs.c | 2 +- + drivers/scsi/scsi_transport_fc.c | 8 +- + drivers/scsi/scsi_transport_iscsi.c | 6 +- + drivers/scsi/scsi_transport_spi.c | 2 +- + drivers/scsi/scsi_transport_srp.c | 8 +- + drivers/scsi/sd.c | 6 +- + drivers/scsi/sg.c | 2 +- + drivers/scsi/sr.c | 21 +- + drivers/soc/tegra/fuse/fuse-tegra.c | 2 +- + drivers/spi/spi.c | 2 +- + drivers/staging/android/timed_output.c | 6 +- + drivers/staging/comedi/comedi_fops.c | 8 +- + drivers/staging/fbtft/fbtft-core.c | 2 +- + drivers/staging/fbtft/fbtft.h | 2 +- + drivers/staging/gdm724x/gdm_lte.c | 2 +- + drivers/staging/gdm724x/gdm_tty.c | 2 +- + drivers/staging/i4l/icn/icn.c | 2 +- + drivers/staging/iio/accel/lis3l02dq_ring.c | 2 +- + drivers/staging/iio/adc/ad7280a.c | 4 +- + .../staging/lustre/lnet/klnds/socklnd/socklnd.h | 6 +- + drivers/staging/lustre/lnet/selftest/brw_test.c | 12 +- + drivers/staging/lustre/lnet/selftest/framework.c | 2 - + drivers/staging/lustre/lnet/selftest/ping_test.c | 14 +- + drivers/staging/lustre/lnet/selftest/selftest.h | 2 - + .../lustre/lustre/include/lustre/lustre_idl.h | 82 +- + drivers/staging/lustre/lustre/include/lustre_dlm.h | 8 +- + drivers/staging/lustre/lustre/include/lustre_net.h | 2 +- + drivers/staging/lustre/lustre/include/obd.h | 2 +- + drivers/staging/lustre/lustre/ldlm/ldlm_request.c | 5 +- + drivers/staging/lustre/lustre/llite/dir.c | 2 +- + drivers/staging/lustre/lustre/lov/lov_io.c | 62 +- + drivers/staging/lustre/lustre/obdclass/llog_swab.c | 24 +- + drivers/staging/lustre/lustre/osc/osc_request.c | 24 +- + drivers/staging/lustre/lustre/ptlrpc/layout.c | 7 +- + .../staging/lustre/lustre/ptlrpc/pack_generic.c | 136 +- + drivers/staging/rdma/hfi1/pcie.c | 2 +- + drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 18 +- + drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c | 2 +- + drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c | 2 +- + drivers/staging/rtl8188eu/include/Hal8188EPhyCfg.h | 8 - + drivers/staging/rtl8188eu/include/hal_intf.h | 5 +- + drivers/staging/rtl8188eu/include/odm_precomp.h | 2 +- + drivers/staging/rtl8188eu/include/recv_osdep.h | 1 - + drivers/staging/rtl8188eu/include/rtl8188e_recv.h | 2 +- + drivers/staging/rtl8188eu/include/rtl8188e_xmit.h | 2 +- + drivers/staging/rtl8188eu/include/rtw_cmd.h | 1 - + drivers/staging/rtl8188eu/include/rtw_eeprom.h | 6 - + drivers/staging/rtl8188eu/include/rtw_ioctl.h | 9 - + drivers/staging/rtl8188eu/include/rtw_mlme_ext.h | 12 +- + drivers/staging/rtl8188eu/include/xmit_osdep.h | 2 +- + drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 4 +- + drivers/staging/rtl8188eu/os_dep/xmit_linux.c | 2 +- + drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 49 +- + drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 4 +- + drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 10 +- + drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 4 +- + drivers/staging/rtl8192e/rtl8192e/rtl_ps.c | 6 +- + drivers/staging/rtl8192e/rtl8192e/rtl_ps.h | 3 +- + drivers/staging/rtl8192e/rtl8192e/rtl_wx.c | 48 +- + drivers/staging/rtl8192e/rtllib.h | 4 +- + drivers/staging/rtl8192e/rtllib_softmac.c | 32 +- + drivers/staging/rtl8192e/rtllib_softmac_wx.c | 2 +- + drivers/staging/rtl8192e/rtllib_tx.c | 2 +- + drivers/staging/rtl8192u/ieee80211/ieee80211.h | 2 +- + .../staging/rtl8192u/ieee80211/ieee80211_softmac.c | 6 +- + drivers/staging/rtl8192u/ieee80211/ieee80211_tx.c | 2 +- + drivers/staging/rtl8192u/r8192U_core.c | 7 +- + drivers/staging/rtl8712/rtl8712_recv.c | 6 +- + drivers/staging/rtl8712/rtl871x_io.h | 2 +- + drivers/staging/rtl8712/rtl871x_ioctl.h | 14 - + drivers/staging/rtl8712/rtl871x_xmit.c | 2 +- + drivers/staging/rtl8712/rtl871x_xmit.h | 2 +- + drivers/staging/rtl8712/usb_ops_linux.c | 4 +- + drivers/staging/rtl8712/xmit_linux.c | 2 +- + drivers/staging/rtl8712/xmit_osdep.h | 2 +- + drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 12 +- + drivers/staging/rtl8723au/core/rtw_xmit.c | 2 +- + drivers/staging/rtl8723au/hal/rtl8723au_recv.c | 2 +- + drivers/staging/rtl8723au/hal/usb_ops_linux.c | 4 +- + drivers/staging/rtl8723au/include/Hal8723APhyCfg.h | 8 - + drivers/staging/rtl8723au/include/drv_types.h | 2 +- + drivers/staging/rtl8723au/include/hal_intf.h | 2 - + drivers/staging/rtl8723au/include/recv_osdep.h | 1 - + drivers/staging/rtl8723au/include/rtw_ap.h | 2 - + drivers/staging/rtl8723au/include/rtw_cmd.h | 1 - + drivers/staging/rtl8723au/include/rtw_eeprom.h | 7 - + drivers/staging/rtl8723au/include/rtw_mlme_ext.h | 14 +- + drivers/staging/rtl8723au/include/usb_ops.h | 8 +- + drivers/staging/rtl8723au/include/xmit_osdep.h | 2 +- + drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 2 +- + drivers/staging/rtl8723au/os_dep/xmit_linux.c | 2 +- + drivers/staging/sm750fb/sm750.c | 14 +- + drivers/staging/unisys/visorbus/visorbus_private.h | 4 +- + drivers/staging/unisys/visornic/visornic_main.c | 2 +- + drivers/staging/vt6655/rxtx.c | 2 +- + drivers/staging/vt6656/rxtx.c | 2 +- + drivers/staging/wilc1000/linux_wlan.c | 2 +- + drivers/staging/wilc1000/wilc_wlan.h | 2 +- + drivers/staging/wlan-ng/p80211netdev.c | 2 +- + drivers/target/sbp/sbp_target.c | 4 +- + drivers/thermal/cpu_cooling.c | 9 +- + drivers/thermal/devfreq_cooling.c | 19 +- + drivers/thermal/int340x_thermal/int3400_thermal.c | 6 +- + drivers/thermal/of-thermal.c | 17 +- + drivers/thermal/x86_pkg_temp_thermal.c | 2 +- + drivers/tty/cyclades.c | 6 +- + drivers/tty/hvc/hvc_console.c | 14 +- + drivers/tty/hvc/hvcs.c | 21 +- + drivers/tty/hvc/hvsi.c | 22 +- + drivers/tty/hvc/hvsi_lib.c | 4 +- + drivers/tty/ipwireless/tty.c | 27 +- + drivers/tty/moxa.c | 2 +- + drivers/tty/n_gsm.c | 6 +- + drivers/tty/n_tty.c | 28 +- + drivers/tty/pty.c | 4 +- + drivers/tty/rocket.c | 6 +- + drivers/tty/serial/8250/8250_core.c | 10 +- + drivers/tty/serial/8250/8250_pci.c | 2 +- + drivers/tty/serial/ifx6x60.c | 2 +- + drivers/tty/serial/ioc4_serial.c | 6 +- + drivers/tty/serial/jsm/jsm_driver.c | 2 +- + drivers/tty/serial/kgdb_nmi.c | 4 +- + drivers/tty/serial/kgdboc.c | 34 +- + drivers/tty/serial/msm_serial.c | 4 +- + drivers/tty/serial/samsung.c | 9 +- + drivers/tty/serial/serial_core.c | 8 +- + drivers/tty/synclink.c | 34 +- + drivers/tty/synclink_gt.c | 28 +- + drivers/tty/synclinkmp.c | 34 +- + drivers/tty/tty_io.c | 2 +- + drivers/tty/tty_ldisc.c | 8 +- + drivers/tty/tty_port.c | 22 +- + drivers/uio/uio.c | 13 +- + drivers/usb/atm/cxacru.c | 2 +- + drivers/usb/atm/usbatm.c | 24 +- + drivers/usb/class/cdc-acm.h | 2 +- + drivers/usb/core/devices.c | 6 +- + drivers/usb/core/devio.c | 12 +- + drivers/usb/core/hcd.c | 4 +- + drivers/usb/core/sysfs.c | 2 +- + drivers/usb/core/usb.c | 2 +- + drivers/usb/early/ehci-dbgp.c | 16 +- + drivers/usb/gadget/function/f_phonet.c | 2 +- + drivers/usb/gadget/function/u_serial.c | 22 +- + drivers/usb/gadget/udc/dummy_hcd.c | 2 +- + drivers/usb/host/ehci-hcd.c | 2 +- + drivers/usb/host/ehci-hub.c | 4 +- + drivers/usb/host/ehci-q.c | 4 +- + drivers/usb/host/fotg210-hcd.c | 2 +- + drivers/usb/host/hwa-hc.c | 2 +- + drivers/usb/host/ohci-hcd.c | 2 +- + drivers/usb/host/r8a66597.h | 2 +- + drivers/usb/host/uhci-hcd.c | 2 +- + drivers/usb/host/xhci-pci.c | 2 +- + drivers/usb/host/xhci-ring.c | 52 +- + drivers/usb/host/xhci.c | 2 +- + drivers/usb/misc/appledisplay.c | 4 +- + drivers/usb/misc/sisusbvga/sisusb_con.c | 98 +- + drivers/usb/serial/console.c | 8 +- + drivers/usb/storage/transport.c | 2 +- + drivers/usb/storage/usb.c | 2 +- + drivers/usb/storage/usb.h | 2 +- + drivers/usb/usbip/vhci.h | 2 +- + drivers/usb/usbip/vhci_hcd.c | 6 +- + drivers/usb/usbip/vhci_rx.c | 2 +- + drivers/usb/wusbcore/wa-hc.h | 4 +- + drivers/usb/wusbcore/wa-xfer.c | 2 +- + drivers/vfio/pci/vfio_pci.c | 2 +- + drivers/vhost/vringh.c | 20 +- + drivers/video/backlight/kb3886_bl.c | 2 +- + drivers/video/console/dummycon.c | 96 +- + drivers/video/console/fbcon.c | 2 +- + drivers/video/console/vgacon.c | 23 +- + drivers/video/fbdev/aty/aty128fb.c | 2 +- + drivers/video/fbdev/aty/atyfb_base.c | 8 +- + drivers/video/fbdev/aty/mach64_ct.c | 5 +- + drivers/video/fbdev/aty/mach64_cursor.c | 5 +- + drivers/video/fbdev/aty/mach64_gx.c | 17 +- + drivers/video/fbdev/core/fb_defio.c | 8 +- + drivers/video/fbdev/core/fbmem.c | 12 +- + drivers/video/fbdev/hyperv_fb.c | 4 +- + drivers/video/fbdev/i810/i810_accel.c | 1 + + drivers/video/fbdev/matrox/matroxfb_base.c | 2 +- + drivers/video/fbdev/mb862xx/mb862xxfb_accel.c | 16 +- + drivers/video/fbdev/nvidia/nvidia.c | 27 +- + drivers/video/fbdev/omap2/omapfb/dss/display.c | 8 +- + drivers/video/fbdev/s1d13xxxfb.c | 6 +- + drivers/video/fbdev/sis/sis_main.h | 2 +- + drivers/video/fbdev/smscufx.c | 4 +- + drivers/video/fbdev/udlfb.c | 36 +- + drivers/video/fbdev/uvesafb.c | 52 +- + drivers/video/fbdev/vesafb.c | 58 +- + drivers/video/fbdev/via/via_clock.h | 2 +- + drivers/xen/events/events_base.c | 6 +- + drivers/xen/xen-pciback/pci_stub.c | 2 +- + fs/9p/vfs_addr.c | 2 +- + fs/9p/vfs_inode_dotl.c | 4 +- + fs/Kconfig.binfmt | 2 +- + fs/afs/file.c | 8 +- + fs/afs/inode.c | 4 +- + fs/afs/internal.h | 4 +- + fs/aio.c | 2 +- + fs/autofs4/waitq.c | 2 +- + fs/befs/endian.h | 6 +- + fs/binfmt_aout.c | 23 +- + fs/binfmt_elf.c | 670 +- + fs/binfmt_elf_fdpic.c | 4 +- + fs/block_dev.c | 2 +- + fs/btrfs/ctree.c | 11 +- + fs/btrfs/ctree.h | 4 +- + fs/btrfs/delayed-inode.c | 6 +- + fs/btrfs/delayed-inode.h | 4 +- + fs/btrfs/delayed-ref.c | 4 +- + fs/btrfs/disk-io.c | 4 +- + fs/btrfs/extent_map.c | 8 +- + fs/btrfs/file.c | 4 +- + fs/btrfs/free-space-cache.h | 1 + + fs/btrfs/raid56.c | 30 +- + fs/btrfs/super.c | 2 +- + fs/btrfs/sysfs.c | 2 +- + fs/btrfs/tests/btrfs-tests.c | 2 +- + fs/btrfs/tests/free-space-tests.c | 2 +- + fs/btrfs/transaction.c | 2 +- + fs/btrfs/tree-log.c | 8 +- + fs/btrfs/tree-log.h | 2 +- + fs/btrfs/volumes.c | 14 +- + fs/btrfs/volumes.h | 22 +- + fs/buffer.c | 2 +- + fs/cachefiles/bind.c | 6 +- + fs/cachefiles/daemon.c | 12 +- + fs/cachefiles/internal.h | 16 +- + fs/cachefiles/namei.c | 6 +- + fs/cachefiles/proc.c | 12 +- + fs/ceph/dir.c | 12 +- + fs/ceph/super.c | 4 +- + fs/cifs/cifs_debug.c | 12 +- + fs/cifs/cifsfs.c | 8 +- + fs/cifs/cifsglob.h | 54 +- + fs/cifs/file.c | 14 +- + fs/cifs/misc.c | 4 +- + fs/cifs/smb1ops.c | 80 +- + fs/cifs/smb2ops.c | 84 +- + fs/cifs/smb2pdu.c | 3 +- + fs/coda/cache.c | 10 +- + fs/coda/dir.c | 5 +- + fs/compat.c | 9 +- + fs/compat_binfmt_elf.c | 2 + + fs/compat_ioctl.c | 12 +- + fs/configfs/dir.c | 10 +- + fs/coredump.c | 18 +- + fs/dcache.c | 64 +- + fs/ecryptfs/inode.c | 2 +- + fs/ecryptfs/miscdev.c | 2 +- + fs/exec.c | 370 +- + fs/exofs/inode.c | 7 +- + fs/ext2/xattr.c | 5 +- + fs/ext4/ext4.h | 20 +- + fs/ext4/mballoc.c | 44 +- + fs/ext4/resize.c | 16 +- + fs/ext4/super.c | 2 +- + fs/ext4/sysfs.c | 2 +- + fs/ext4/xattr.c | 5 +- + fs/fhandle.c | 5 +- + fs/file.c | 18 +- + fs/freevxfs/vxfs_inode.c | 8 +- + fs/freevxfs/vxfs_inode.h | 4 +- + fs/fs-writeback.c | 11 +- + fs/fs_struct.c | 8 +- + fs/fscache/cookie.c | 40 +- + fs/fscache/internal.h | 202 +- + fs/fscache/object.c | 26 +- + fs/fscache/operation.c | 38 +- + fs/fscache/page.c | 110 +- + fs/fscache/stats.c | 348 +- + fs/fuse/cuse.c | 10 +- + fs/fuse/dev.c | 4 +- + fs/fuse/file.c | 4 +- + fs/fuse/inode.c | 4 +- + fs/gfs2/aops.c | 2 +- + fs/gfs2/file.c | 2 +- + fs/gfs2/glock.c | 22 +- + fs/gfs2/glops.c | 4 +- + fs/gfs2/quota.c | 6 +- + fs/hugetlbfs/inode.c | 13 +- + fs/inode.c | 4 +- + fs/jbd2/commit.c | 2 +- + fs/jbd2/transaction.c | 4 +- + fs/jffs2/erase.c | 3 +- + fs/jffs2/file.c | 5 +- + fs/jffs2/fs.c | 2 +- + fs/jffs2/os-linux.h | 2 +- + fs/jffs2/wbuf.c | 3 +- + fs/jfs/super.c | 2 +- + fs/kernfs/dir.c | 2 +- + fs/kernfs/file.c | 20 +- + fs/libfs.c | 10 +- + fs/lockd/clnt4xdr.c | 46 +- + fs/lockd/clntproc.c | 4 +- + fs/lockd/clntxdr.c | 44 +- + fs/lockd/mon.c | 24 +- + fs/lockd/svc.c | 2 +- + fs/lockd/svc4proc.c | 69 +- + fs/lockd/svcproc.c | 75 +- + fs/lockd/xdr.c | 44 +- + fs/lockd/xdr4.c | 41 +- + fs/logfs/dev_bdev.c | 13 +- + fs/logfs/dev_mtd.c | 13 +- + fs/logfs/dir.c | 4 +- + fs/logfs/logfs.h | 5 +- + fs/logfs/readwrite.c | 2 +- + fs/logfs/segment.c | 2 +- + fs/logfs/super.c | 39 - + fs/namei.c | 14 +- + fs/namespace.c | 15 +- + fs/nfs/callback.h | 18 +- + fs/nfs/callback_proc.c | 26 +- + fs/nfs/callback_xdr.c | 73 +- + fs/nfs/dir.c | 5 +- + fs/nfs/inode.c | 6 +- + fs/nfs/internal.h | 5 +- + fs/nfs/mount_clnt.c | 26 +- + fs/nfs/nfs2xdr.c | 101 +- + fs/nfs/nfs3xdr.c | 201 +- + fs/nfs/nfs42xdr.c | 60 +- + fs/nfs/nfs4xdr.c | 507 +- + fs/nfs/read.c | 2 +- + fs/nfs/symlink.c | 6 +- + fs/nfsd/current_stateid.h | 24 +- + fs/nfsd/nfs2acl.c | 85 +- + fs/nfsd/nfs3acl.c | 44 +- + fs/nfsd/nfs3proc.c | 271 +- + fs/nfsd/nfs3xdr.c | 171 +- + fs/nfsd/nfs4callback.c | 31 +- + fs/nfsd/nfs4proc.c | 320 +- + fs/nfsd/nfs4state.c | 111 +- + fs/nfsd/nfs4xdr.c | 564 +- + fs/nfsd/nfscache.c | 11 +- + fs/nfsd/nfsproc.c | 193 +- + fs/nfsd/nfsxdr.c | 96 +- + fs/nfsd/vfs.c | 6 +- + fs/nfsd/xdr.h | 50 +- + fs/nfsd/xdr3.h | 100 +- + fs/nfsd/xdr4.h | 50 +- + fs/nls/nls_base.c | 26 +- + fs/nls/nls_cp932.c | 2 +- + fs/nls/nls_cp936.c | 2 +- + fs/nls/nls_cp949.c | 2 +- + fs/nls/nls_cp950.c | 2 +- + fs/nls/nls_euc-jp.c | 8 +- + fs/nls/nls_koi8-ru.c | 8 +- + fs/notify/fanotify/fanotify_user.c | 4 +- + fs/notify/notification.c | 4 +- + fs/ntfs/dir.c | 4 +- + fs/ntfs/inode.c | 19 +- + fs/ntfs/inode.h | 4 +- + fs/ntfs/mft.c | 4 +- + fs/ntfs/super.c | 8 +- + fs/ocfs2/dlm/dlmcommon.h | 4 +- + fs/ocfs2/dlm/dlmdebug.c | 10 +- + fs/ocfs2/dlm/dlmdomain.c | 4 +- + fs/ocfs2/dlm/dlmmaster.c | 4 +- + fs/ocfs2/dlmfs/dlmfs.c | 4 +- + fs/ocfs2/filecheck.c | 2 +- + fs/ocfs2/localalloc.c | 2 +- + fs/ocfs2/ocfs2.h | 10 +- + fs/ocfs2/suballoc.c | 12 +- + fs/ocfs2/super.c | 20 +- + fs/overlayfs/copy_up.c | 2 +- + fs/pipe.c | 72 +- + fs/posix_acl.c | 4 +- + fs/proc/array.c | 20 + + fs/proc/base.c | 7 +- + fs/proc/kcore.c | 36 +- + fs/proc/meminfo.c | 2 +- + fs/proc/nommu.c | 2 +- + fs/proc/proc_net.c | 2 +- + fs/proc/proc_sysctl.c | 26 +- + fs/proc/task_mmu.c | 39 +- + fs/proc/task_nommu.c | 6 +- + fs/proc/vmcore.c | 16 +- + fs/qnx6/qnx6.h | 4 +- + fs/quota/netlink.c | 4 +- + fs/read_write.c | 34 +- + fs/readdir.c | 3 +- + fs/reiserfs/do_balan.c | 2 +- + fs/reiserfs/procfs.c | 2 +- + fs/reiserfs/reiserfs.h | 4 +- + fs/select.c | 2 +- + fs/seq_file.c | 4 +- + fs/splice.c | 43 +- + fs/squashfs/xattr.c | 10 +- + fs/super.c | 3 +- + fs/sysv/sysv.h | 2 +- + fs/tracefs/inode.c | 8 +- + fs/ubifs/find.c | 34 +- + fs/ubifs/lprops.c | 5 +- + fs/udf/misc.c | 2 +- + fs/ufs/swab.h | 4 +- + fs/userfaultfd.c | 2 +- + fs/xattr.c | 21 + + fs/xfs/libxfs/xfs_bmap.c | 2 +- + fs/xfs/libxfs/xfs_da_btree.c | 4 +- + fs/xfs/xfs_dir2_readdir.c | 7 +- + fs/xfs/xfs_ioctl.c | 2 +- + fs/xfs/xfs_linux.h | 4 +- + include/acpi/ghes.h | 2 +- + include/asm-generic/4level-fixup.h | 2 + + include/asm-generic/atomic-long.h | 186 +- + include/asm-generic/atomic64.h | 12 + + include/asm-generic/bitops/__fls.h | 2 +- + include/asm-generic/bitops/fls.h | 2 +- + include/asm-generic/bitops/fls64.h | 4 +- + include/asm-generic/bug.h | 6 +- + include/asm-generic/cache.h | 4 +- + include/asm-generic/emergency-restart.h | 2 +- + include/asm-generic/kmap_types.h | 4 +- + include/asm-generic/local.h | 13 + + include/asm-generic/pgtable-nopmd.h | 18 +- + include/asm-generic/pgtable-nopud.h | 15 +- + include/asm-generic/pgtable.h | 16 + + include/asm-generic/sections.h | 1 + + include/asm-generic/uaccess.h | 16 + + include/asm-generic/vmlinux.lds.h | 15 +- + include/crypto/algapi.h | 2 +- + include/crypto/cast6.h | 4 +- + include/crypto/serpent.h | 4 +- + include/crypto/xts.h | 2 +- + include/drm/drmP.h | 19 +- + include/drm/drm_mm.h | 2 +- + include/drm/drm_modeset_helper_vtables.h | 2 +- + include/drm/i915_pciids.h | 2 +- + include/drm/intel-gtt.h | 4 +- + include/drm/ttm/ttm_memory.h | 2 +- + include/drm/ttm/ttm_page_alloc.h | 1 + + include/keys/asymmetric-subtype.h | 2 +- + include/keys/encrypted-type.h | 2 +- + include/keys/rxrpc-type.h | 2 +- + include/keys/user-type.h | 2 +- + include/linux/atmdev.h | 4 +- + include/linux/atomic.h | 12 +- + include/linux/audit.h | 2 +- + include/linux/average.h | 2 +- + include/linux/binfmts.h | 3 +- + include/linux/bitmap.h | 2 +- + include/linux/bitops.h | 8 +- + include/linux/blk-cgroup.h | 24 +- + include/linux/blkdev.h | 2 +- + include/linux/blktrace_api.h | 2 +- + include/linux/cache.h | 9 + + include/linux/cdrom.h | 1 - + include/linux/cgroup-defs.h | 2 +- + include/linux/cleancache.h | 2 +- + include/linux/clk-provider.h | 1 + + include/linux/compat.h | 15 +- + include/linux/compiler-gcc.h | 33 +- + include/linux/compiler.h | 197 +- + include/linux/configfs.h | 2 +- + include/linux/cpufreq.h | 7 +- + include/linux/cpuidle.h | 5 +- + include/linux/cpumask.h | 14 +- + include/linux/crypto.h | 4 +- + include/linux/ctype.h | 2 +- + include/linux/dcache.h | 4 +- + include/linux/decompress/mm.h | 2 +- + include/linux/devfreq.h | 2 +- + include/linux/device.h | 7 +- + include/linux/dma-mapping.h | 2 +- + include/linux/efi.h | 1 + + include/linux/elf.h | 2 + + include/linux/err.h | 4 +- + include/linux/extcon.h | 2 +- + include/linux/fb.h | 3 +- + include/linux/fdtable.h | 2 +- + include/linux/firewire.h | 2 +- + include/linux/fs.h | 5 +- + include/linux/fs_struct.h | 2 +- + include/linux/fscache-cache.h | 2 +- + include/linux/fscache.h | 2 +- + include/linux/fsnotify.h | 2 +- + include/linux/genhd.h | 4 +- + include/linux/genl_magic_func.h | 2 +- + include/linux/genl_magic_struct.h | 4 +- + include/linux/gfp.h | 14 +- + include/linux/highmem.h | 12 + + include/linux/hugetlb.h | 2 +- + include/linux/hugetlb_cgroup.h | 11 + + include/linux/hwmon-sysfs.h | 6 +- + include/linux/i2c.h | 1 + + include/linux/if_pppox.h | 2 +- + include/linux/init.h | 10 +- + include/linux/init_task.h | 7 + + include/linux/interrupt.h | 6 +- + include/linux/iommu.h | 2 +- + include/linux/ioport.h | 2 +- + include/linux/ipc.h | 2 +- + include/linux/irq.h | 5 +- + include/linux/irqdesc.h | 2 +- + include/linux/irqdomain.h | 3 + + include/linux/jbd2.h | 2 +- + include/linux/jiffies.h | 16 +- + include/linux/kallsyms.h | 18 +- + include/linux/key-type.h | 2 +- + include/linux/kgdb.h | 6 +- + include/linux/kmemleak.h | 4 +- + include/linux/kobject.h | 3 +- + include/linux/kobject_ns.h | 2 +- + include/linux/kref.h | 2 +- + include/linux/libata.h | 2 +- + include/linux/linkage.h | 22 +- + include/linux/list.h | 15 + + include/linux/lockd/xdr.h | 34 +- + include/linux/lockd/xdr4.h | 34 +- + include/linux/lockref.h | 26 +- + include/linux/math64.h | 10 +- + include/linux/memcontrol.h | 2 +- + include/linux/memory.h | 2 +- + include/linux/mempolicy.h | 7 + + include/linux/mm.h | 98 +- + include/linux/mm_types.h | 20 + + include/linux/mmiotrace.h | 4 +- + include/linux/mmzone.h | 2 +- + include/linux/mod_devicetable.h | 4 +- + include/linux/module.h | 58 +- + include/linux/moduleloader.h | 16 + + include/linux/moduleparam.h | 12 +- + include/linux/net.h | 2 +- + include/linux/netdevice.h | 11 +- + include/linux/netfilter.h | 2 +- + include/linux/netfilter/ipset/ip_set_comment.h | 3 +- + include/linux/netfilter/nfnetlink.h | 2 +- + include/linux/netlink.h | 12 +- + include/linux/nls.h | 4 +- + include/linux/notifier.h | 3 +- + include/linux/oprofile.h | 4 +- + include/linux/padata.h | 2 +- + include/linux/pagemap.h | 4 +- + include/linux/pci_hotplug.h | 3 +- + include/linux/percpu.h | 2 +- + include/linux/perf_event.h | 12 +- + include/linux/pid.h | 4 +- + include/linux/pipe_fs_i.h | 8 +- + include/linux/pm.h | 1 + + include/linux/pm_domain.h | 2 +- + include/linux/pm_runtime.h | 2 +- + include/linux/pnp.h | 2 +- + include/linux/poison.h | 4 +- + include/linux/power/smartreflex.h | 2 +- + include/linux/ppp-comp.h | 2 +- + include/linux/preempt.h | 21 + + include/linux/printk.h | 2 +- + include/linux/proc_ns.h | 2 +- + include/linux/psci.h | 2 +- + include/linux/quota.h | 2 +- + include/linux/random.h | 19 +- + include/linux/rculist.h | 16 + + include/linux/rcupdate.h | 8 + + include/linux/reboot.h | 14 +- + include/linux/regset.h | 3 +- + include/linux/relay.h | 2 +- + include/linux/rio.h | 2 +- + include/linux/rmap.h | 4 +- + include/linux/sched.h | 76 +- + include/linux/scif.h | 2 +- + include/linux/semaphore.h | 2 +- + include/linux/seq_buf.h | 4 +- + include/linux/seq_file.h | 1 + + include/linux/seqlock.h | 10 + + include/linux/signal.h | 2 +- + include/linux/skbuff.h | 12 +- + include/linux/slab.h | 47 +- + include/linux/slab_def.h | 14 +- + include/linux/slub_def.h | 2 +- + include/linux/smp.h | 2 + + include/linux/sock_diag.h | 2 +- + include/linux/sonet.h | 2 +- + include/linux/spinlock.h | 17 +- + include/linux/srcu.h | 5 +- + include/linux/string.h | 70 +- + include/linux/sunrpc/addr.h | 8 +- + include/linux/sunrpc/clnt.h | 2 +- + include/linux/sunrpc/svc.h | 2 +- + include/linux/sunrpc/svc_rdma.h | 18 +- + include/linux/sunrpc/svcauth.h | 2 +- + include/linux/swapops.h | 10 +- + include/linux/swiotlb.h | 3 +- + include/linux/syscalls.h | 36 +- + include/linux/syscore_ops.h | 2 +- + include/linux/sysctl.h | 3 +- + include/linux/sysfs.h | 11 +- + include/linux/sysrq.h | 3 +- + include/linux/tcp.h | 14 +- + include/linux/thread_info.h | 7 + + include/linux/tty.h | 4 +- + include/linux/tty_driver.h | 2 +- + include/linux/tty_ldisc.h | 2 +- + include/linux/types.h | 18 + + include/linux/uaccess.h | 2 +- + include/linux/uio_driver.h | 2 +- + include/linux/unaligned/access_ok.h | 24 +- + include/linux/usb.h | 12 +- + include/linux/usb/hcd.h | 1 + + include/linux/usb/renesas_usbhs.h | 2 +- + include/linux/vermagic.h | 21 +- + include/linux/vga_switcheroo.h | 8 +- + include/linux/vmalloc.h | 7 +- + include/linux/vmstat.h | 24 +- + include/linux/writeback.h | 3 +- + include/linux/xattr.h | 5 +- + include/linux/zlib.h | 3 +- + include/media/v4l2-dev.h | 2 +- + include/media/v4l2-device.h | 2 +- + include/net/9p/transport.h | 2 +- + include/net/bluetooth/l2cap.h | 2 +- + include/net/bonding.h | 2 +- + include/net/caif/cfctrl.h | 6 +- + include/net/cfg80211-wext.h | 20 +- + include/net/cfg802154.h | 2 +- + include/net/fib_rules.h | 3 +- + include/net/flow.h | 2 +- + include/net/genetlink.h | 2 +- + include/net/gro_cells.h | 2 +- + include/net/inet_connection_sock.h | 2 +- + include/net/inet_sock.h | 2 +- + include/net/inetpeer.h | 2 +- + include/net/ip_fib.h | 2 +- + include/net/ip_vs.h | 8 +- + include/net/ipv6.h | 2 +- + include/net/irda/ircomm_tty.h | 1 + + include/net/irda/irias_object.h | 2 +- + include/net/irda/irlmp.h | 1 + + include/net/irda/irlmp_event.h | 6 +- + include/net/irda/timer.h | 6 +- + include/net/iucv/af_iucv.h | 2 +- + include/net/llc_c_ac.h | 2 +- + include/net/llc_c_ev.h | 4 +- + include/net/llc_c_st.h | 2 +- + include/net/llc_s_ac.h | 2 +- + include/net/llc_s_st.h | 2 +- + include/net/mac80211.h | 6 +- + include/net/neighbour.h | 4 +- + include/net/net_namespace.h | 18 +- + include/net/netfilter/nf_conntrack.h | 2 +- + include/net/netlink.h | 2 +- + include/net/netns/conntrack.h | 6 +- + include/net/netns/ipv4.h | 4 +- + include/net/netns/ipv6.h | 4 +- + include/net/netns/xfrm.h | 2 +- + include/net/ping.h | 2 +- + include/net/protocol.h | 4 +- + include/net/rtnetlink.h | 2 +- + include/net/sctp/checksum.h | 4 +- + include/net/sctp/sm.h | 4 +- + include/net/sctp/structs.h | 2 +- + include/net/snmp.h | 10 +- + include/net/sock.h | 12 +- + include/net/tcp.h | 8 +- + include/net/xfrm.h | 15 +- + include/rdma/ib_cm.h | 8 +- + include/scsi/libfc.h | 3 +- + include/scsi/scsi_device.h | 6 +- + include/scsi/scsi_driver.h | 2 +- + include/scsi/scsi_transport_fc.h | 3 +- + include/scsi/sg.h | 2 +- + include/sound/compress_driver.h | 2 +- + include/sound/control.h | 4 +- + include/sound/pcm.h | 2 +- + include/sound/rawmidi.h | 3 +- + include/sound/seq_kernel.h | 2 +- + include/sound/soc.h | 4 +- + include/trace/events/irq.h | 4 +- + include/trace/events/mmflags.h | 7 + + include/uapi/linux/a.out.h | 8 + + include/uapi/linux/bcache.h | 5 +- + include/uapi/linux/byteorder/little_endian.h | 28 +- + include/uapi/linux/connector.h | 2 +- + include/uapi/linux/elf.h | 28 + + include/uapi/linux/screen_info.h | 2 +- + include/uapi/linux/swab.h | 6 +- + include/uapi/linux/xattr.h | 5 + + include/video/udlfb.h | 8 +- + include/video/uvesafb.h | 1 + + init/Kconfig | 2 +- + init/do_mounts.c | 16 +- + init/do_mounts.h | 8 +- + init/do_mounts_initrd.c | 30 +- + init/do_mounts_md.c | 6 +- + init/init_task.c | 4 + + init/initramfs.c | 38 +- + init/main.c | 30 +- + ipc/compat.c | 4 +- + ipc/ipc_sysctl.c | 14 +- + ipc/mq_sysctl.c | 4 +- + ipc/sem.c | 4 +- + ipc/shm.c | 8 +- + kernel/audit.c | 10 +- + kernel/auditsc.c | 4 +- + kernel/bpf/core.c | 28 +- + kernel/capability.c | 3 + + kernel/cgroup.c | 29 +- + kernel/compat.c | 38 +- + kernel/debug/debug_core.c | 16 +- + kernel/debug/kdb/kdb_main.c | 4 +- + kernel/events/core.c | 36 +- + kernel/events/internal.h | 10 +- + kernel/events/uprobes.c | 2 +- + kernel/exit.c | 27 +- + kernel/fork.c | 175 +- + kernel/futex.c | 11 +- + kernel/futex_compat.c | 2 +- + kernel/irq/manage.c | 2 +- + kernel/irq/msi.c | 19 +- + kernel/irq/spurious.c | 2 +- + kernel/jump_label.c | 5 + + kernel/kallsyms.c | 40 +- + kernel/kexec.c | 3 +- + kernel/kmod.c | 8 +- + kernel/kprobes.c | 4 +- + kernel/ksysfs.c | 2 +- + kernel/locking/lockdep.c | 7 +- + kernel/locking/mutex-debug.c | 12 +- + kernel/locking/mutex-debug.h | 4 +- + kernel/locking/mutex.c | 6 +- + kernel/module.c | 405 +- + kernel/notifier.c | 17 +- + kernel/padata.c | 4 +- + kernel/panic.c | 11 +- + kernel/pid.c | 8 +- + kernel/pid_namespace.c | 2 +- + kernel/power/process.c | 12 +- + kernel/profile.c | 14 +- + kernel/ptrace.c | 8 +- + kernel/rcu/rcutorture.c | 60 +- + kernel/rcu/tiny.c | 4 +- + kernel/rcu/tree.c | 42 +- + kernel/rcu/tree.h | 16 +- + kernel/rcu/tree_plugin.h | 18 +- + kernel/rcu/tree_trace.c | 14 +- + kernel/resource.c | 4 +- + kernel/sched/auto_group.c | 4 +- + kernel/sched/core.c | 8 +- + kernel/sched/deadline.c | 4 +- + kernel/sched/debug.c | 43 +- + kernel/sched/fair.c | 2 +- + kernel/sched/rt.c | 4 +- + kernel/sched/sched.h | 13 +- + kernel/signal.c | 28 +- + kernel/smp.c | 2 +- + kernel/smpboot.c | 7 +- + kernel/softirq.c | 12 +- + kernel/stop_machine.c | 2 +- + kernel/sys.c | 10 +- + kernel/sys_ni.c | 4 +- + kernel/sysctl.c | 34 +- + kernel/time/alarmtimer.c | 4 +- + kernel/time/posix-clock.c | 8 +- + kernel/time/posix-cpu-timers.c | 4 +- + kernel/time/posix-timers.c | 36 +- + kernel/time/timer.c | 2 +- + kernel/time/timer_stats.c | 10 +- + kernel/trace/blktrace.c | 6 +- + kernel/trace/ftrace.c | 33 +- + kernel/trace/ring_buffer.c | 96 +- + kernel/trace/trace.c | 2 +- + kernel/trace/trace.h | 2 +- + kernel/trace/trace_clock.c | 4 +- + kernel/trace/trace_events.c | 1 - + kernel/trace/trace_functions_graph.c | 4 +- + kernel/trace/trace_mmiotrace.c | 8 +- + kernel/trace/trace_output.c | 10 +- + kernel/trace/trace_seq.c | 2 +- + kernel/trace/trace_stack.c | 2 +- + kernel/user.c | 2 +- + kernel/user_namespace.c | 2 +- + kernel/utsname_sysctl.c | 2 +- + kernel/watchdog.c | 2 +- + kernel/workqueue.c | 8 +- + lib/Kconfig.debug | 8 +- + lib/Makefile | 2 +- + lib/bitmap.c | 8 +- + lib/bug.c | 2 + + lib/debugobjects.c | 2 +- + lib/decompress_bunzip2.c | 3 +- + lib/decompress_unlzma.c | 4 +- + lib/div64.c | 4 +- + lib/dma-debug.c | 4 +- + lib/extable.c | 11 +- + lib/inflate.c | 2 +- + lib/ioremap.c | 4 +- + lib/irq_poll.c | 2 +- + lib/kobject.c | 4 +- + lib/list_debug.c | 126 +- + lib/lockref.c | 44 +- + lib/percpu-refcount.c | 2 +- + lib/radix-tree.c | 2 +- + lib/random32.c | 2 +- + lib/rhashtable.c | 4 +- + lib/seq_buf.c | 4 +- + lib/show_mem.c | 2 +- + lib/strncpy_from_user.c | 2 +- + lib/strnlen_user.c | 2 +- + lib/swiotlb.c | 2 +- + lib/usercopy.c | 6 + + lib/vsprintf.c | 12 +- + mm/Kconfig | 6 +- + mm/backing-dev.c | 4 +- + mm/fadvise.c | 2 +- + mm/filemap.c | 8 +- + mm/gup.c | 13 +- + mm/highmem.c | 6 +- + mm/hugetlb.c | 125 +- + mm/hugetlb_cgroup.c | 60 +- + mm/internal.h | 3 +- + mm/maccess.c | 12 +- + mm/madvise.c | 37 + + mm/memcontrol.c | 6 +- + mm/memory-failure.c | 6 +- + mm/memory.c | 424 +- + mm/mempolicy.c | 25 + + mm/mlock.c | 18 +- + mm/mm_init.c | 2 +- + mm/mmap.c | 572 +- + mm/mprotect.c | 137 +- + mm/mremap.c | 39 +- + mm/nommu.c | 21 +- + mm/page-writeback.c | 2 +- + mm/page_alloc.c | 61 +- + mm/percpu.c | 2 +- + mm/process_vm_access.c | 14 +- + mm/readahead.c | 2 +- + mm/rmap.c | 43 +- + mm/shmem.c | 35 +- + mm/slab.c | 113 +- + mm/slab.h | 37 +- + mm/slab_common.c | 79 +- + mm/slob.c | 220 +- + mm/slub.c | 111 +- + mm/sparse-vmemmap.c | 4 +- + mm/sparse.c | 2 +- + mm/swap.c | 7 + + mm/swapfile.c | 12 +- + mm/util.c | 7 + + mm/vmalloc.c | 116 +- + mm/vmstat.c | 12 +- + net/8021q/vlan.c | 5 +- + net/8021q/vlan_netlink.c | 2 +- + net/9p/mod.c | 4 +- + net/9p/trans_fd.c | 2 +- + net/atm/atm_misc.c | 8 +- + net/atm/lec.h | 2 +- + net/atm/proc.c | 6 +- + net/atm/resources.c | 4 +- + net/ax25/sysctl_net_ax25.c | 2 +- + net/batman-adv/bat_iv_ogm.c | 8 +- + net/batman-adv/fragmentation.c | 2 +- + net/batman-adv/routing.c | 4 +- + net/batman-adv/soft-interface.c | 12 +- + net/batman-adv/sysfs.c | 48 +- + net/batman-adv/sysfs.h | 4 +- + net/batman-adv/translation-table.c | 14 +- + net/batman-adv/types.h | 8 +- + net/bluetooth/hci_sock.c | 2 +- + net/bluetooth/l2cap_core.c | 6 +- + net/bluetooth/l2cap_sock.c | 12 +- + net/bluetooth/rfcomm/sock.c | 4 +- + net/bluetooth/rfcomm/tty.c | 4 +- + net/bridge/br_netfilter_hooks.c | 4 +- + net/bridge/br_netlink.c | 2 +- + net/bridge/netfilter/ebtables.c | 6 +- + net/caif/cfctrl.c | 11 +- + net/caif/chnl_net.c | 4 +- + net/can/af_can.c | 2 +- + net/can/gw.c | 6 +- + net/ceph/ceph_common.c | 2 +- + net/ceph/messenger.c | 4 +- + net/compat.c | 26 +- + net/core/datagram.c | 2 +- + net/core/dev.c | 24 +- + net/core/filter.c | 2 +- + net/core/flow.c | 8 +- + net/core/neighbour.c | 18 +- + net/core/net-procfs.c | 4 +- + net/core/net-sysfs.c | 2 +- + net/core/net_namespace.c | 10 +- + net/core/netpoll.c | 4 +- + net/core/rtnetlink.c | 17 +- + net/core/scm.c | 12 +- + net/core/skbuff.c | 11 +- + net/core/sock.c | 30 +- + net/core/sock_diag.c | 15 +- + net/core/sysctl_net_core.c | 22 +- + net/decnet/af_decnet.c | 1 + + net/decnet/sysctl_net_decnet.c | 4 +- + net/dsa/dsa.c | 2 +- + net/hsr/hsr_device.c | 2 +- + net/hsr/hsr_netlink.c | 2 +- + net/ieee802154/6lowpan/core.c | 2 +- + net/ieee802154/6lowpan/reassembly.c | 14 +- + net/ieee802154/core.c | 6 +- + net/ipv4/af_inet.c | 6 +- + net/ipv4/arp.c | 2 +- + net/ipv4/devinet.c | 20 +- + net/ipv4/fib_frontend.c | 6 +- + net/ipv4/fib_semantics.c | 2 +- + net/ipv4/icmp.c | 2 +- + net/ipv4/inet_connection_sock.c | 4 +- + net/ipv4/inet_diag.c | 4 +- + net/ipv4/inet_timewait_sock.c | 2 +- + net/ipv4/inetpeer.c | 2 +- + net/ipv4/ip_fragment.c | 17 +- + net/ipv4/ip_gre.c | 6 +- + net/ipv4/ip_sockglue.c | 2 +- + net/ipv4/ip_vti.c | 4 +- + net/ipv4/ipconfig.c | 6 +- + net/ipv4/ipip.c | 4 +- + net/ipv4/netfilter/arp_tables.c | 12 +- + net/ipv4/netfilter/ip_tables.c | 12 +- + net/ipv4/ping.c | 14 +- + net/ipv4/proc.c | 10 +- + net/ipv4/raw.c | 16 +- + net/ipv4/route.c | 40 +- + net/ipv4/sysctl_net_ipv4.c | 24 +- + net/ipv4/tcp_input.c | 6 +- + net/ipv4/tcp_ipv4.c | 2 +- + net/ipv4/tcp_metrics.c | 2 +- + net/ipv4/tcp_probe.c | 2 +- + net/ipv4/udp.c | 10 +- + net/ipv4/xfrm4_mode_transport.c | 2 +- + net/ipv4/xfrm4_policy.c | 19 +- + net/ipv4/xfrm4_state.c | 4 +- + net/ipv6/addrconf.c | 24 +- + net/ipv6/af_inet6.c | 2 +- + net/ipv6/datagram.c | 2 +- + net/ipv6/icmp.c | 2 +- + net/ipv6/inet6_hashtables.c | 2 +- + net/ipv6/ip6_fib.c | 4 +- + net/ipv6/ip6_gre.c | 10 +- + net/ipv6/ip6_tunnel.c | 4 +- + net/ipv6/ip6_vti.c | 4 +- + net/ipv6/ipv6_sockglue.c | 2 +- + net/ipv6/ndisc.c | 2 +- + net/ipv6/netfilter/ip6_tables.c | 12 +- + net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +- + net/ipv6/ping.c | 33 +- + net/ipv6/proc.c | 10 +- + net/ipv6/raw.c | 17 +- + net/ipv6/reassembly.c | 13 +- + net/ipv6/route.c | 2 +- + net/ipv6/sit.c | 4 +- + net/ipv6/sysctl_net_ipv6.c | 2 +- + net/ipv6/udp.c | 6 +- + net/ipv6/xfrm6_mode_transport.c | 2 +- + net/ipv6/xfrm6_policy.c | 17 +- + net/irda/discovery.c | 2 +- + net/irda/ircomm/ircomm_core.c | 13 +- + net/irda/ircomm/ircomm_tty.c | 24 +- + net/irda/ircomm/ircomm_tty_attach.c | 4 +- + net/irda/irda_device.c | 14 +- + net/irda/iriap.c | 14 +- + net/irda/irias_object.c | 10 +- + net/irda/irlan/irlan_client.c | 2 +- + net/irda/irlap.c | 15 +- + net/irda/irlap_event.c | 2 +- + net/irda/irlmp.c | 21 +- + net/irda/irlmp_event.c | 6 +- + net/irda/irnet/irnet.h | 2 +- + net/irda/irnet/irnet_irda.c | 6 +- + net/irda/irttp.c | 8 +- + net/irda/timer.c | 24 +- + net/iucv/af_iucv.c | 4 +- + net/iucv/iucv.c | 2 +- + net/key/af_key.c | 4 +- + net/l2tp/l2tp_eth.c | 40 +- + net/l2tp/l2tp_ip.c | 2 +- + net/l2tp/l2tp_ip6.c | 2 +- + net/mac80211/cfg.c | 12 +- + net/mac80211/debugfs.c | 2 +- + net/mac80211/debugfs_key.c | 6 +- + net/mac80211/ieee80211_i.h | 3 +- + net/mac80211/iface.c | 20 +- + net/mac80211/main.c | 2 +- + net/mac80211/pm.c | 4 +- + net/mac80211/rate.c | 2 +- + net/mac80211/sta_info.c | 2 +- + net/mac80211/tx.c | 2 +- + net/mac80211/util.c | 8 +- + net/mac80211/wpa.c | 12 +- + net/mac802154/iface.c | 6 +- + net/mpls/af_mpls.c | 10 +- + net/netfilter/ipset/ip_set_core.c | 7 +- + net/netfilter/ipvs/ip_vs_conn.c | 6 +- + net/netfilter/ipvs/ip_vs_core.c | 4 +- + net/netfilter/ipvs/ip_vs_ctl.c | 14 +- + net/netfilter/ipvs/ip_vs_lblc.c | 2 +- + net/netfilter/ipvs/ip_vs_lblcr.c | 2 +- + net/netfilter/ipvs/ip_vs_sync.c | 6 +- + net/netfilter/ipvs/ip_vs_xmit.c | 4 +- + net/netfilter/nf_conntrack_acct.c | 2 +- + net/netfilter/nf_conntrack_core.c | 6 +- + net/netfilter/nf_conntrack_ecache.c | 2 +- + net/netfilter/nf_conntrack_helper.c | 2 +- + net/netfilter/nf_conntrack_netlink.c | 22 +- + net/netfilter/nf_conntrack_proto.c | 2 +- + net/netfilter/nf_conntrack_standalone.c | 2 +- + net/netfilter/nf_conntrack_timestamp.c | 2 +- + net/netfilter/nf_log.c | 10 +- + net/netfilter/nf_nat_ftp.c | 2 +- + net/netfilter/nf_nat_irc.c | 2 +- + net/netfilter/nf_sockopt.c | 4 +- + net/netfilter/nf_tables_api.c | 13 +- + net/netfilter/nfnetlink_acct.c | 7 +- + net/netfilter/nfnetlink_cthelper.c | 2 +- + net/netfilter/nfnetlink_cttimeout.c | 2 +- + net/netfilter/nfnetlink_log.c | 4 +- + net/netfilter/nft_compat.c | 9 +- + net/netfilter/xt_IDLETIMER.c | 12 +- + net/netfilter/xt_statistic.c | 8 +- + net/netlink/af_netlink.c | 16 +- + net/netlink/diag.c | 2 +- + net/netlink/genetlink.c | 14 +- + net/openvswitch/vport-geneve.c | 7 +- + net/openvswitch/vport-gre.c | 7 +- + net/openvswitch/vport-internal_dev.c | 4 +- + net/openvswitch/vport-netdev.c | 7 +- + net/openvswitch/vport-vxlan.c | 7 +- + net/packet/af_packet.c | 26 +- + net/packet/diag.c | 2 +- + net/packet/internal.h | 6 +- + net/phonet/pep.c | 6 +- + net/phonet/socket.c | 2 +- + net/phonet/sysctl.c | 2 +- + net/rds/cong.c | 6 +- + net/rds/ib.h | 2 +- + net/rds/ib_cm.c | 2 +- + net/rds/ib_recv.c | 4 +- + net/rds/rds.h | 2 +- + net/rds/tcp.c | 6 +- + net/rds/tcp.h | 6 +- + net/rds/tcp_send.c | 2 +- + net/rxrpc/af_rxrpc.c | 2 +- + net/rxrpc/ar-ack.c | 14 +- + net/rxrpc/ar-call.c | 2 +- + net/rxrpc/ar-connection.c | 2 +- + net/rxrpc/ar-connevent.c | 2 +- + net/rxrpc/ar-input.c | 4 +- + net/rxrpc/ar-internal.h | 8 +- + net/rxrpc/ar-local.c | 2 +- + net/rxrpc/ar-output.c | 4 +- + net/rxrpc/ar-peer.c | 2 +- + net/rxrpc/ar-proc.c | 4 +- + net/rxrpc/ar-transport.c | 2 +- + net/rxrpc/rxkad.c | 4 +- + net/sched/sch_generic.c | 4 +- + net/sched/sch_tbf.c | 9 +- + net/sctp/ipv6.c | 4 +- + net/sctp/protocol.c | 8 +- + net/sctp/sm_sideeffect.c | 4 +- + net/sctp/socket.c | 21 +- + net/sctp/sysctl.c | 10 +- + net/socket.c | 18 +- + net/sunrpc/auth_gss/gss_rpc_upcall.c | 4 +- + net/sunrpc/auth_gss/gss_rpc_xdr.c | 11 +- + net/sunrpc/auth_gss/gss_rpc_xdr.h | 8 +- + net/sunrpc/auth_gss/svcauth_gss.c | 4 +- + net/sunrpc/clnt.c | 4 +- + net/sunrpc/rpcb_clnt.c | 66 +- + net/sunrpc/sched.c | 4 +- + net/sunrpc/svc.c | 8 +- + net/sunrpc/svcauth_unix.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma.c | 44 +- + net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 8 +- + net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +- + net/tipc/netlink_compat.c | 12 +- + net/tipc/subscr.c | 2 +- + net/unix/diag.c | 2 +- + net/unix/sysctl_net_unix.c | 2 +- + net/wireless/scan.c | 3 +- + net/wireless/wext-compat.c | 140 +- + net/wireless/wext-compat.h | 8 +- + net/wireless/wext-core.c | 19 +- + net/wireless/wext-sme.c | 5 +- + net/xfrm/xfrm_policy.c | 18 +- + net/xfrm/xfrm_state.c | 37 +- + net/xfrm/xfrm_sysctl.c | 2 +- + net/xfrm/xfrm_user.c | 2 +- + scripts/Kbuild.include | 12 +- + scripts/Makefile | 2 +- + scripts/Makefile.build | 2 +- + scripts/Makefile.clean | 4 +- + scripts/Makefile.extrawarn | 4 + + scripts/Makefile.gcc-plugins | 93 + + scripts/Makefile.host | 73 +- + scripts/basic/fixdep.c | 12 +- + scripts/dtc/checks.c | 14 +- + scripts/dtc/data.c | 6 +- + scripts/dtc/flattree.c | 8 +- + scripts/dtc/livetree.c | 4 +- + scripts/gcc-plugin.sh | 65 + + scripts/gcc-plugins/Makefile | 25 + + scripts/gcc-plugins/checker_plugin.c | 496 + + scripts/gcc-plugins/colorize_plugin.c | 162 + + scripts/gcc-plugins/constify_plugin.c | 583 + + scripts/gcc-plugins/gcc-common.h | 893 + + scripts/gcc-plugins/gcc-generate-gimple-pass.h | 175 + + scripts/gcc-plugins/gcc-generate-ipa-pass.h | 289 + + scripts/gcc-plugins/gcc-generate-rtl-pass.h | 175 + + scripts/gcc-plugins/gcc-generate-simple_ipa-pass.h | 175 + + scripts/gcc-plugins/initify_plugin.c | 536 + + scripts/gcc-plugins/kallocstat_plugin.c | 135 + + scripts/gcc-plugins/kernexec_plugin.c | 407 + + scripts/gcc-plugins/latent_entropy_plugin.c | 613 + + scripts/gcc-plugins/rap_plugin/Makefile | 6 + + scripts/gcc-plugins/rap_plugin/rap.h | 36 + + scripts/gcc-plugins/rap_plugin/rap_fptr_pass.c | 220 + + scripts/gcc-plugins/rap_plugin/rap_hash.c | 382 + + scripts/gcc-plugins/rap_plugin/rap_plugin.c | 511 + + scripts/gcc-plugins/rap_plugin/sip.c | 96 + + .../gcc-plugins/size_overflow_plugin/.gitignore | 3 + + scripts/gcc-plugins/size_overflow_plugin/Makefile | 30 + + .../disable_size_overflow_hash.data | 12445 +++++++++++ + .../generate_size_overflow_hash.sh | 103 + + .../insert_size_overflow_asm.c | 369 + + .../size_overflow_plugin/intentional_overflow.c | 1166 + + .../size_overflow_plugin/remove_unnecessary_dup.c | 137 + + .../size_overflow_plugin/size_overflow.h | 331 + + .../size_overflow_plugin/size_overflow_debug.c | 194 + + .../size_overflow_plugin/size_overflow_hash.data | 21503 +++++++++++++++++++ + .../size_overflow_hash_aux.data | 97 + + .../size_overflow_plugin/size_overflow_ipa.c | 1163 + + .../size_overflow_plugin/size_overflow_misc.c | 505 + + .../size_overflow_plugin/size_overflow_plugin.c | 290 + + .../size_overflow_plugin_hash.c | 352 + + .../size_overflow_plugin/size_overflow_transform.c | 743 + + .../size_overflow_transform_core.c | 1025 + + scripts/gcc-plugins/stackleak_plugin.c | 350 + + scripts/gcc-plugins/structleak_plugin.c | 239 + + scripts/headers_install.sh | 1 + + scripts/kallsyms.c | 4 +- + scripts/kconfig/lkc.h | 5 +- + scripts/kconfig/menu.c | 2 +- + scripts/kconfig/symbol.c | 6 +- + scripts/link-vmlinux.sh | 2 +- + scripts/mod/file2alias.c | 14 +- + scripts/mod/modpost.c | 40 +- + scripts/mod/modpost.h | 6 +- + scripts/mod/sumversion.c | 2 +- + scripts/module-common.lds | 4 + + scripts/package/builddeb | 1 + + scripts/pnmtologo.c | 6 +- + scripts/sortextable.h | 6 +- + scripts/tags.sh | 2 +- + security/Kconfig | 710 +- + security/apparmor/include/policy.h | 2 +- + security/apparmor/lsm.c | 16 +- + security/apparmor/policy.c | 4 +- + security/integrity/ima/ima.h | 4 +- + security/integrity/ima/ima_api.c | 2 +- + security/integrity/ima/ima_fs.c | 4 +- + security/integrity/ima/ima_queue.c | 2 +- + security/keys/internal.h | 8 +- + security/keys/key.c | 18 +- + security/keys/keyring.c | 4 - + security/selinux/avc.c | 6 +- + security/selinux/include/xfrm.h | 2 +- + security/yama/yama_lsm.c | 2 +- + sound/aoa/codecs/onyx.c | 7 +- + sound/aoa/codecs/onyx.h | 1 + + sound/core/oss/pcm_oss.c | 18 +- + sound/core/pcm_compat.c | 2 +- + sound/core/pcm_lib.c | 3 +- + sound/core/pcm_native.c | 4 +- + sound/core/rawmidi.c | 5 +- + sound/core/seq/oss/seq_oss_synth.c | 4 +- + sound/core/seq/seq_clientmgr.c | 10 +- + sound/core/seq/seq_compat.c | 2 +- + sound/core/seq/seq_fifo.c | 6 +- + sound/core/seq/seq_fifo.h | 2 +- + sound/core/seq/seq_memory.c | 18 +- + sound/core/seq/seq_midi.c | 5 +- + sound/core/seq/seq_virmidi.c | 2 +- + sound/core/sound.c | 2 +- + sound/drivers/mts64.c | 14 +- + sound/drivers/opl4/opl4_lib.c | 2 +- + sound/drivers/portman2x4.c | 3 +- + sound/firewire/amdtp-am824.c | 2 +- + sound/firewire/amdtp-stream.c | 4 +- + sound/firewire/amdtp-stream.h | 2 +- + sound/firewire/digi00x/amdtp-dot.c | 2 +- + sound/firewire/isight.c | 10 +- + sound/firewire/oxfw/oxfw-scs1x.c | 8 +- + sound/oss/sb_audio.c | 2 +- + sound/oss/swarm_cs4297a.c | 6 +- + sound/pci/als300.c | 2 +- + sound/pci/aw2/aw2-alsa.c | 2 - + sound/pci/aw2/aw2-saa7146.c | 4 +- + sound/pci/ctxfi/ctamixer.c | 14 +- + sound/pci/ctxfi/ctamixer.h | 8 +- + sound/pci/ctxfi/ctatc.c | 20 +- + sound/pci/ctxfi/ctdaio.c | 6 +- + sound/pci/ctxfi/ctdaio.h | 4 +- + sound/pci/ctxfi/ctsrc.c | 13 +- + sound/pci/ctxfi/ctsrc.h | 8 +- + sound/pci/hda/hda_codec.c | 2 +- + sound/pci/ymfpci/ymfpci.h | 2 +- + sound/pci/ymfpci/ymfpci_main.c | 12 +- + sound/soc/codecs/cx20442.c | 8 +- + sound/soc/codecs/sti-sas.c | 10 +- + sound/soc/codecs/tlv320dac33.c | 7 +- + sound/soc/codecs/uda1380.c | 7 +- + sound/soc/intel/skylake/skl-sst-dsp.h | 4 +- + sound/soc/soc-ac97.c | 6 +- + sound/soc/xtensa/xtfpga-i2s.c | 2 +- + tools/include/linux/compiler.h | 8 + + tools/perf/util/include/asm/alternative-asm.h | 3 + + tools/virtio/linux/uaccess.h | 2 +- + virt/kvm/kvm_main.c | 42 +- + 2730 files changed, 77381 insertions(+), 14195 deletions(-) +commit 5988c8dba8a5da45e35d71f4a8fec34c267258c5 +Author: Brad Spengler +Date: Mon Apr 25 20:40:53 2016 -0400 + + Fix DoS in n_tty_receive_buf_common reported by marcan at: + https://forums.grsecurity.net/viewtopic.php?t=4342&p=16222 + and via lengthy diatribe on Twitter: + https://twitter.com/marcan42/status/724740708104474626 + https://twitter.com/marcan42/status/724740985146609664 + https://twitter.com/marcan42/status/724741270325760000 + https://twitter.com/marcan42/status/724742465199050752 + https://twitter.com/marcan42/status/724745886794833920 + https://twitter.com/marcan42/status/724749571495075840 + https://twitter.com/marcan42/status/724746427285409796 + https://twitter.com/marcan42/status/724743150263095296 + https://twitter.com/marcan42/status/724757473433808896 + + Fix it correctly instead of using the incorrect fix suggested + by marcan (aka "try reading the code next time") + The original code was meant to fix an integer truncation issue + that would also have caused a SIZE_OVERFLOW "DoS". + + drivers/tty/n_tty.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 5459ff57d8987389fa17d5d6f55b70a789347c2f +Author: Brad Spengler +Date: Mon Apr 25 19:52:33 2016 -0400 + + Avoid overflow in environ_read() caught by SIZE_OVERFLOW, + reported by jotik at: + https://forums.grsecurity.net/viewtopic.php?t=4363&p=16217 + patch from Mathias Krause + + fs/proc/base.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 24a5c92e147af1e739e9eeca020c61ad2674e784 +Author: Jiri Benc +Date: Fri Apr 22 13:09:13 2016 +0200 + + cxgbi: fix uninitialized flowi6 + + ip6_route_output looks into different fields in the passed flowi6 structure, + yet cxgbi passes garbage in nearly all those fields. Zero the structure out + first. + + Fixes: fc8d0590d9142 ("libcxgbi: Add ipv6 api to driver") + Signed-off-by: Jiri Benc + Signed-off-by: David S. Miller + + drivers/scsi/cxgbi/libcxgbi.c | 1 + + 1 file changed, 1 insertion(+) + +commit ec65caa32652841a5be21d6e73146921af16d7a8 +Author: Brad Spengler +Date: Wed Apr 20 20:59:43 2016 -0400 + + Make /proc/sched_debug only readable by root, mentioned in + recent NCC Group paper on Linux containers + + kernel/sched/debug.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 7957d30730bb26a4aef54ab484dc3b4108f1fdb1 +Merge: 463149f ff26083 +Author: Brad Spengler +Date: Wed Apr 20 17:55:53 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit ff260839e610d2bc1b0c579edd7deb0028198f01 +Author: Brad Spengler +Date: Wed Apr 20 17:55:24 2016 -0400 + + Update to pax-linux-4.4.8-test14.patch: + - Emese fixed some CodingStyle issues in the latent entropy plugin + - fixed some build problems on mips, reported by Steve Arnold (https://bugs.gentoo.org/show_bug.cgi?id=578394) + + arch/mips/include/asm/cache.h | 3 ++- + arch/mips/lib/ashldi3.c | 21 ++++++++++++++------- + arch/mips/lib/ashrdi3.c | 19 +++++++++++++------ + arch/mips/lib/libgcc.h | 12 +++++++++--- + drivers/idle/intel_idle.c | 6 ++++-- + tools/gcc/latent_entropy_plugin.c | 29 +++++++++++++++-------------- + 6 files changed, 57 insertions(+), 33 deletions(-) + +commit 463149f47a64db4b26a13009f83ed73d393a209c +Author: Xiaodong Liu +Date: Tue Apr 12 09:45:51 2016 +0000 + + crypto: sha1-mb - use corrcet pointer while completing jobs + + In sha_complete_job, incorrect mcryptd_hash_request_ctx pointer is used + when check and complete other jobs. If the memory of first completed req + is freed, while still completing other jobs in the func, kernel will + crash since NULL pointer is assigned to RIP. + + Cc: + Signed-off-by: Xiaodong Liu + Acked-by: Tim Chen + Signed-off-by: Herbert Xu + + arch/x86/crypto/sha-mb/sha1_mb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b4e6484e67b917afb77478cab1260f41dbbc92fc +Author: Tom Lendacky +Date: Wed Apr 13 10:52:25 2016 -0500 + + crypto: ccp - Prevent information leakage on export + + Prevent information from leaking to userspace by doing a memset to 0 of + the export state structure before setting the structure values and copying + it. This prevents un-initialized padding areas from being copied into the + export area. + + Cc: # 3.14.x- + Reported-by: Ben Hutchings + Signed-off-by: Tom Lendacky + Signed-off-by: Herbert Xu + + drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 3 +++ + drivers/crypto/ccp/ccp-crypto-sha.c | 3 +++ + 2 files changed, 6 insertions(+) + +commit 7d7e961d3f4e4614b22518d8e410e6cf4108f1b0 +Author: Konstantin Khlebnikov +Date: Mon Apr 18 14:33:54 2016 +0300 + + net/mlx4_en: allocate non 0-order pages for RX ring with __GFP_NOMEMALLOC + + High order pages are optional here since commit 51151a16a60f ("mlx4: allow + order-0 memory allocations in RX path"), so here is no reason for depleting + reserves. Generic __netdev_alloc_frag() implements the same logic. + + Signed-off-by: Konstantin Khlebnikov + Acked-by: Eric Dumazet + Signed-off-by: David S. Miller + + drivers/net/ethernet/mellanox/mlx4/en_rx.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6b80edde2edc7fd055f9be8ec42b88abbe328639 +Author: Ignat Korchagin +Date: Thu Mar 17 18:00:29 2016 +0000 + + USB: usbip: fix potential out-of-bounds write + + Fix potential out-of-bounds write to urb->transfer_buffer + usbip handles network communication directly in the kernel. When receiving a + packet from its peer, usbip code parses headers according to protocol. As + part of this parsing urb->actual_length is filled. Since the input for + urb->actual_length comes from the network, it should be treated as untrusted. + Any entity controlling the network may put any value in the input and the + preallocated urb->transfer_buffer may not be large enough to hold the data. + Thus, the malicious entity is able to write arbitrary data to kernel memory. + + Signed-off-by: Ignat Korchagin + Signed-off-by: Greg Kroah-Hartman + + drivers/usb/usbip/usbip_common.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 0ce101ec9e74c2cfcd28cbcd18b0626e3d9a2482 +Merge: d60a24d f5fe5fd +Author: Brad Spengler +Date: Wed Apr 20 17:35:58 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit f5fe5fddf49f1b81a2a3bb43b1e0a8c087aba438 +Merge: a107ba2 8c9aef0 +Author: Brad Spengler +Date: Wed Apr 20 17:35:29 2016 -0400 + + Merge branch 'linux-4.4.y' into pax-test + +commit d60a24d6e4f61072d0bd1dc12be1177181fa8c2b +Author: Brad Spengler +Date: Mon Apr 18 17:48:10 2016 -0400 + + fix cast for constify change, reported by pipacs + + drivers/idle/intel_idle.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 1d376287aeba7a53c91d5ee49ef0a11d02193964 +Author: Brad Spengler +Date: Fri Apr 15 21:31:07 2016 -0400 + + Use proper type for function pointer + + drivers/gpu/drm/gma500/mdfld_dsi_output.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 0a4104a2fa32904102fac07245426d78a1e9dfab +Author: Brad Spengler +Date: Fri Apr 15 21:24:04 2016 -0400 + + Fix skylake cstates compat with constify + + drivers/idle/intel_idle.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit f433f8fd372253c9e78e307afe5b800c5ab0ea61 +Author: Brad Spengler +Date: Fri Apr 15 21:10:44 2016 -0400 + + Update size_overflow hash table + + tools/gcc/size_overflow_plugin/size_overflow_hash.data | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit ef7804da81cb3c6b6a4c985a3c14ee230a03f26a +Author: Brad Spengler +Date: Fri Apr 15 20:52:37 2016 -0400 + + compile fix + + fs/coredump.c | 3 --- + 1 file changed, 3 deletions(-) + +commit 967224da52bd98d078b1237aea5ec9e622238fba +Merge: 92771d6 a107ba2 +Author: Brad Spengler +Date: Fri Apr 15 20:30:23 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit a107ba25214d9694eb836fb04c782ad694977b91 +Merge: 4d8fc00 b40108b +Author: Brad Spengler +Date: Fri Apr 15 20:18:26 2016 -0400 + + Merge branch 'linux-4.4.y' into pax-test + +commit 92771d60677d68e8f6ea7a91ff34dd6e24b6d4cf +Author: Brad Spengler +Date: Sun Apr 10 07:18:03 2016 -0400 + + From: Mathias Krause + To: "David S. Miller" + Cc: netdev@vger.kernel.org, "Eric W. Biederman" , Pavel + Emelyanov + Subject: [PATCH net] packet: fix heap info leak in PACKET_DIAG_MCLIST sock_diag + interface + + Because we miss to wipe the remainder of i->addr[] in packet_mc_add(), + pdiag_put_mclist() leaks uninitialized heap bytes via the + PACKET_DIAG_MCLIST netlink attribute. + + Fix this by explicitly memset(0)ing the remaining bytes in i->addr[]. + + Fixes: eea68e2f1a00 ("packet: Report socket mclist info via diag module") + Signed-off-by: Mathias Krause + Cc: Eric W. Biederman + Cc: Pavel Emelyanov + --- + The bug itself precedes commit eea68e2f1a00 but the list wasn't exposed + to userland before the introduction of the packet_diag interface. + Therefore the "Fixes:" line on that commit. + + net/packet/af_packet.c | 1 + + 1 file changed, 1 insertion(+) + +commit 4286ce3f9e9db4d68870af46ae1d5f9b90b920dd +Author: Jakub Sitnicki +Date: Tue Apr 5 18:41:08 2016 +0200 + + ipv6: Count in extension headers in skb->network_header + + When sending a UDPv6 message longer than MTU, account for the length + of fragmentable IPv6 extension headers in skb->network_header offset. + Same as we do in alloc_new_skb path in __ip6_append_data(). + + This ensures that later on __ip6_make_skb() will make space in + headroom for fragmentable extension headers: + + /* move skb->data to ip header from ext header */ + if (skb->data < skb_network_header(skb)) + __skb_pull(skb, skb_network_offset(skb)); + + Prevents a splat due to skb_under_panic: + + skbuff: skb_under_panic: text:ffffffff8143397b len:2126 put:14 \ + head:ffff880005bacf50 data:ffff880005bacf4a tail:0x48 end:0xc0 dev:lo + ------------[ cut here ]------------ + kernel BUG at net/core/skbuff.c:104! + invalid opcode: 0000 [#1] KASAN + CPU: 0 PID: 160 Comm: reproducer Not tainted 4.6.0-rc2 #65 + [...] + Call Trace: + [] skb_push+0x79/0x80 + [] eth_header+0x2b/0x100 + [] neigh_resolve_output+0x210/0x310 + [] ip6_finish_output2+0x4a7/0x7c0 + [] ip6_output+0x16a/0x280 + [] ip6_local_out+0xb1/0xf0 + [] ip6_send_skb+0x45/0xd0 + [] udp_v6_send_skb+0x246/0x5d0 + [] udpv6_sendmsg+0xa6e/0x1090 + [...] + + Reported-by: Ji Jianwen + Signed-off-by: Jakub Sitnicki + Acked-by: Hannes Frederic Sowa + Signed-off-by: David S. Miller + + net/ipv6/ip6_output.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 638dad49a9ba3d86f627adb58b2f4636ed253685 +Author: Thadeu Lima de Souza Cascardo +Date: Fri Apr 1 17:17:50 2016 -0300 + + ip6_tunnel: set rtnl_link_ops before calling register_netdevice + + When creating an ip6tnl tunnel with ip tunnel, rtnl_link_ops is not set + before ip6_tnl_create2 is called. When register_netdevice is called, there + is no linkinfo attribute in the NEWLINK message because of that. + + Setting rtnl_link_ops before calling register_netdevice fixes that. + + Fixes: 0b112457229d ("ip6tnl: add support of link creation via rtnl") + Signed-off-by: Thadeu Lima de Souza Cascardo + Acked-by: Nicolas Dichtel + Signed-off-by: David S. Miller + + net/ipv6/ip6_tunnel.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 14146a0bfaf2ced0055fe549c8fa0941c61e2457 +Author: Brad Spengler +Date: Tue Apr 5 21:12:44 2016 -0400 + + Code cleanups to RANDSTRUCT based on feedback from the PaX Team + + tools/gcc/randomize_layout_plugin.c | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +commit 3f7dea5e59b0bb34f6bdb628c87251f0105b3d57 +Author: Brad Spengler +Date: Sun Apr 3 20:10:10 2016 -0400 + + Fix RANDSTRUCT support on ARM + + tools/gcc/randomize_layout_plugin.c | 54 +++++++++++++++++++++++++++++++++++-- + 1 file changed, 52 insertions(+), 2 deletions(-) + +commit bd893a75ab49f6ea5a216eb334471507337118ba +Merge: 87b7f1d 4d8fc00 +Author: Brad Spengler +Date: Sat Apr 2 11:54:20 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 4d8fc00c0066b1921e233123b346efe6ffb27691 +Author: Brad Spengler +Date: Sat Apr 2 11:53:53 2016 -0400 + + Update to pax-linux-4.4.6-test13.patch: + - fixed a REFCOUNT related compile regression on mips, reported by Steve Arnold (https://bugs.gentoo.org/show_bug.cgi?id=578394) + - worked around an integer signedness mixup in md causing a size overflow false positive, reported by Étienne Buira (https://bugs.gentoo.org/show_bug.cgi?id=578502) + + arch/mips/include/asm/atomic.h | 4 ---- + tools/gcc/size_overflow_plugin/disable_size_overflow_hash.data | 1 + + tools/gcc/size_overflow_plugin/size_overflow_hash.data | 1 - + 3 files changed, 1 insertion(+), 5 deletions(-) + +commit 87b7f1d200023ba826b9d552834a2ee85e67526c +Merge: 3335266 3abdad0 +Author: Brad Spengler +Date: Sat Apr 2 11:19:17 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit 3abdad0c3b436c076c88289f07a250b811d6f79d +Author: Brad Spengler +Date: Sat Apr 2 11:12:56 2016 -0400 + + Update to pax-linux-4.4.6-test12.patch: + - fixed vmalloc_fault on i386/PAE to use the correct percpu userland pgd table/entry + - fixed a size overflow false positive report in pptp, reported by Pinkbyte (https://forums.grsecurity.net/viewtopic.php?f=3&t=4437) + - fixed a size overflow false positive report in tbf_segment, reported by audiocricket (https://forums.grsecurity.net/viewtopic.php?f=3&t=4438) + - Emese fixed the x86 vdso32 CFLAGS to omit the gcc plugins + - Emese simplified the gcc plugin related make rules, suggested by Masahiro Yamada + - André Fabian Silva Delgado fixed a compile regression on arm, reported by coadde (https://forums.grsecurity.net/viewtopic.php?f=3&t=4435) + - fixed an integer sign conversion error in nfs_super_set_maxbytes caught by the size overflow plugin, reported by Alexey Dvoichenkov + - fixed a size overflow false positive in squashfs, reported by Mathias Krause + - fixed a size overflow false positive in xfrm6_transport_output, reported by marcan (https://forums.grsecurity.net/viewtopic.php?f=3&t=4426) + - fixed an integer truncation bug in elf_kcore_store_hdr caught by the size overflow plugin + - fixed a gratuitous userland dereference in the amd64 stack walker + - added latent entropy gathering to a few more functions + - constified a few smp_hotplug_thread instances + + arch/x86/entry/vdso/Makefile | 1 + + arch/x86/include/asm/cpufeature.h | 1 - + arch/x86/kernel/dumpstack_64.c | 17 ++++++----------- + arch/x86/kernel/head_32.S | 6 +++--- + arch/x86/mm/fault.c | 2 +- + drivers/iommu/arm-smmu.c | 2 +- + drivers/net/ppp/pptp.c | 1 + + drivers/staging/rdma/ehca/ehca_irq.c | 2 +- + fs/nfs/internal.h | 5 +++-- + fs/proc/kcore.c | 2 +- + kernel/module.c | 6 +++--- + kernel/rcu/tree.c | 2 +- + kernel/softirq.c | 2 +- + kernel/stop_machine.c | 2 +- + net/ipv6/xfrm6_mode_transport.c | 2 +- + net/sched/sch_tbf.c | 9 ++++++--- + scripts/Makefile.gcc-plugins | 13 +++---------- + scripts/Makefile.host | 3 +-- + .../disable_size_overflow_hash.data | 4 +++- + tools/gcc/size_overflow_plugin/size_overflow_hash.data | 6 ++---- + 20 files changed, 40 insertions(+), 48 deletions(-) + +commit 3335266d5bec9bc01580736c0a7026ed96cf25e5 +Author: Mika Penttilä +Date: Mon Feb 22 17:56:52 2016 +0100 + + ARM: 8544/1: set_memory_xx fixes + + Allow zero size updates. This makes set_memory_xx() consistent with x86, s390 and arm64 and makes apply_to_page_range() not to BUG() when loading modules. + + Signed-off-by: Mika Penttilä mika.penttila@nextfour.com + Signed-off-by: Russell King + + arch/arm/mm/pageattr.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit d6d6499b22c0e5593a16f41c516041b23fbf9eeb +Author: Josh Boyer +Date: Mon Mar 14 10:42:38 2016 -0400 + + USB: iowarrior: fix oops with malicious USB descriptors + + The iowarrior driver expects at least one valid endpoint. If given + malicious descriptors that specify 0 for the number of endpoints, + it will crash in the probe function. Ensure there is at least + one endpoint on the interface before using it. + + The full report of this issue can be found here: + http://seclists.org/bugtraq/2016/Mar/87 + + Reported-by: Ralf Spenneberg + Cc: stable + Signed-off-by: Josh Boyer + Signed-off-by: Greg Kroah-Hartman + + drivers/usb/misc/iowarrior.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 79a1fb47ab1245e81040bcd45b3e44e65d282684 +Author: Oliver Neukum +Date: Tue Mar 15 10:14:04 2016 +0100 + + USB: cdc-acm: more sanity checking + + An attack has become available which pretends to be a quirky + device circumventing normal sanity checks and crashes the kernel + by an insufficient number of interfaces. This patch adds a check + to the code path for quirky devices. + + Signed-off-by: Oliver Neukum + CC: stable@vger.kernel.org + Signed-off-by: Greg Kroah-Hartman + + drivers/usb/class/cdc-acm.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 6ee21acdf0da6602671cb50edeca0abfba3955f7 +Author: Oliver Neukum +Date: Wed Mar 16 13:26:17 2016 +0100 + + USB: usb_driver_claim_interface: add sanity checking + + Attacks that trick drivers into passing a NULL pointer + to usb_driver_claim_interface() using forged descriptors are + known. This thwarts them by sanity checking. + + Signed-off-by: Oliver Neukum + CC: stable@vger.kernel.org + Signed-off-by: Greg Kroah-Hartman + + drivers/usb/core/driver.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 44247834ddab762509eaaf5c742e15bfadcd9d94 +Author: Paolo Bonzini +Date: Mon Mar 21 10:15:25 2016 +0100 + + KVM: fix spin_lock_init order on x86 + + Moving the initialization earlier is needed in 4.6 because + kvm_arch_init_vm is now using mmu_lock, causing lockdep to + complain: + + [ 284.440294] INFO: trying to register non-static key. + [ 284.445259] the code is fine but needs lockdep annotation. + [ 284.450736] turning off the locking correctness validator. + ... + [ 284.528318] [] lock_acquire+0xd3/0x240 + [ 284.533733] [] ? kvm_page_track_register_notifier+0x20/0x60 [kvm] + [ 284.541467] [] _raw_spin_lock+0x41/0x80 + [ 284.546960] [] ? kvm_page_track_register_notifier+0x20/0x60 [kvm] + [ 284.554707] [] kvm_page_track_register_notifier+0x20/0x60 [kvm] + [ 284.562281] [] kvm_mmu_init_vm+0x20/0x30 [kvm] + [ 284.568381] [] kvm_arch_init_vm+0x1ea/0x200 [kvm] + [ 284.574740] [] kvm_dev_ioctl+0xbf/0x4d0 [kvm] + + However, it also helps fixing a preexisting problem, which is why this + patch is also good for stable kernels: kvm_create_vm was incrementing + current->mm->mm_count but not decrementing it at the out_err label (in + case kvm_init_mmu_notifier failed). The new initialization order makes + it possible to add the required mmdrop without adding a new error label. + + Cc: stable@vger.kernel.org + Reported-by: Borislav Petkov + Signed-off-by: Paolo Bonzini + + virt/kvm/kvm_main.c | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +commit 9d0cf281d74a9fe490f3ba5ca3d0e57eac066e1c +Author: Paolo Bonzini +Date: Fri Mar 18 16:53:42 2016 +0100 + + KVM: VMX: avoid guest hang on invalid invvpid instruction + + A guest executing an invalid invvpid instruction would hang + because the instruction pointer was not updated. + + Reported-by: jmontleo@redhat.com + Tested-by: jmontleo@redhat.com + Cc: stable@vger.kernel.org + Fixes: 99b83ac893b84ed1a62ad6d1f2b6cc32026b9e85 + Reviewed-by: David Matlack + Signed-off-by: Paolo Bonzini + + arch/x86/kvm/vmx.c | 1 + + 1 file changed, 1 insertion(+) + +commit 602caaece277e5e21ae43771398bbf7778061beb +Author: Paolo Bonzini +Date: Fri Mar 18 16:53:29 2016 +0100 + + KVM: VMX: avoid guest hang on invalid invept instruction + + A guest executing an invalid invept instruction would hang + because the instruction pointer was not updated. + + Cc: stable@vger.kernel.org + Fixes: bfd0a56b90005f8c8a004baf407ad90045c2b11e + Reviewed-by: David Matlack + Signed-off-by: Paolo Bonzini + + arch/x86/kvm/vmx.c | 1 + + 1 file changed, 1 insertion(+) + +commit 3309ac82d6596de8abc6ea51dd0a942416da1cc1 +Author: Jann Horn +Date: Tue Mar 22 14:25:36 2016 -0700 + + fs/coredump: prevent fsuid=0 dumps into user-controlled directories + + This commit fixes the following security hole affecting systems where + all of the following conditions are fulfilled: + + - The fs.suid_dumpable sysctl is set to 2. + - The kernel.core_pattern sysctl's value starts with "/". (Systems + where kernel.core_pattern starts with "|/" are not affected.) + - Unprivileged user namespace creation is permitted. (This is + true on Linux >=3.8, but some distributions disallow it by + default using a distro patch.) + + Under these conditions, if a program executes under secure exec rules, + causing it to run with the SUID_DUMP_ROOT flag, then unshares its user + namespace, changes its root directory and crashes, the coredump will be + written using fsuid=0 and a path derived from kernel.core_pattern - but + this path is interpreted relative to the root directory of the process, + allowing the attacker to control where a coredump will be written with + root privileges. + + To fix the security issue, always interpret core_pattern for dumps that + are written under SUID_DUMP_ROOT relative to the root directory of init. + + Signed-off-by: Jann Horn + Acked-by: Kees Cook + Cc: Al Viro + Cc: "Eric W. Biederman" + Cc: Andy Lutomirski + Cc: Oleg Nesterov + Cc: + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds + + arch/um/drivers/mconsole_kern.c | 2 +- + fs/coredump.c | 31 +++++++++++++++++++++++++++---- + fs/fhandle.c | 2 +- + fs/open.c | 6 ++---- + include/linux/fs.h | 2 +- + kernel/sysctl_binary.c | 2 +- + 6 files changed, 33 insertions(+), 12 deletions(-) + +commit a7c8d3c91a3e50d0873942f09afbb5071382d5e7 +Author: Takashi Iwai +Date: Fri Apr 1 12:28:16 2016 +0200 + + ALSA: timer: Use mod_timer() for rearming the system timer + + ALSA system timer backend stops the timer via del_timer() without sync + and leaves del_timer_sync() at the close instead. This is because of + the restriction by the design of ALSA timer: namely, the stop callback + may be called from the timer handler, and calling the sync shall lead + to a hangup. However, this also triggers a kernel BUG() when the + timer is rearmed immediately after stopping without sync: + kernel BUG at kernel/time/timer.c:966! + Call Trace: + + [] snd_timer_s_start+0x13e/0x1a0 + [] snd_timer_interrupt+0x504/0xec0 + [] ? debug_check_no_locks_freed+0x290/0x290 + [] snd_timer_s_function+0xb4/0x120 + [] call_timer_fn+0x162/0x520 + [] ? call_timer_fn+0xcd/0x520 + [] ? snd_timer_interrupt+0xec0/0xec0 + .... + + It's the place where add_timer() checks the pending timer. It's clear + that this may happen after the immediate restart without sync in our + cases. + + So, the workaround here is just to use mod_timer() instead of + add_timer(). This looks like a band-aid fix, but it's a right move, + as snd_timer_interrupt() takes care of the continuous rearm of timer. + + Reported-by: Jiri Slaby + Cc: + Signed-off-by: Takashi Iwai + + sound/core/timer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 2de05c5fc90b461d78a54a7240b664a068844c8c +Author: Daniel Vetter +Date: Wed Mar 30 11:40:43 2016 +0200 + + drm/udl: Use unlocked gem unreferencing + + For drm_gem_object_unreference callers are required to hold + dev->struct_mutex, which these paths don't. Enforcing this requirement + has become a bit more strict with + + commit ef4c6270bf2867e2f8032e9614d1a8cfc6c71663 + Author: Daniel Vetter + Date: Thu Oct 15 09:36:25 2015 +0200 + + drm/gem: Check locking in drm_gem_object_unreference + + Cc: stable@vger.kernel.org + Signed-off-by: Daniel Vetter + Signed-off-by: Dave Airlie + + drivers/gpu/drm/udl/udl_fb.c | 2 +- + drivers/gpu/drm/udl/udl_gem.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit c8153b6b1731b8fee33966dd8d148643240f1dc0 +Author: Jan Kara +Date: Mon Dec 7 14:34:49 2015 -0500 + + ext4: fix races of writeback with punch hole and zero range + + When doing delayed allocation, update of on-disk inode size is postponed + until IO submission time. However hole punch or zero range fallocate + calls can end up discarding the tail page cache page and thus on-disk + inode size would never be properly updated. + + Make sure the on-disk inode size is updated before truncating page + cache. + + Signed-off-by: Jan Kara + Signed-off-by: Theodore Ts'o + + fs/ext4/ext4.h | 3 +++ + fs/ext4/extents.c | 5 +++++ + fs/ext4/inode.c | 35 ++++++++++++++++++++++++++++++++++- + 3 files changed, 42 insertions(+), 1 deletion(-) + +commit d64beb441579f2667e99eb9d4d6e83deb88bf59b +Author: Jan Kara +Date: Mon Dec 7 14:31:11 2015 -0500 + + ext4: fix races between buffered IO and collapse / insert range + + Current code implementing FALLOC_FL_COLLAPSE_RANGE and + FALLOC_FL_INSERT_RANGE is prone to races with buffered writes and page + faults. If buffered write or write via mmap manages to squeeze between + filemap_write_and_wait_range() and truncate_pagecache() in the fallocate + implementations, the written data is simply discarded by + truncate_pagecache() although it should have been shifted. + + Fix the problem by moving filemap_write_and_wait_range() call inside + i_mutex and i_mmap_sem. That way we are protected against races with + both buffered writes and page faults. + + Signed-off-by: Jan Kara + Signed-off-by: Theodore Ts'o + + fs/ext4/extents.c | 59 +++++++++++++++++++++++++++++-------------------------- + 1 file changed, 31 insertions(+), 28 deletions(-) + +commit b1ae49aa4dad39233b16456e0765a23ba4e0546c +Author: Jan Kara +Date: Mon Dec 7 14:29:17 2015 -0500 + + ext4: move unlocked dio protection from ext4_alloc_file_blocks() + + Currently ext4_alloc_file_blocks() was handling protection against + unlocked DIO. However we now need to sometimes call it under i_mmap_sem + and sometimes not and DIO protection ranks above it (although strictly + speaking this cannot currently create any deadlocks). Also + ext4_zero_range() was actually getting & releasing unlocked DIO + protection twice in some cases. Luckily it didn't introduce any real bug + but it was a land mine waiting to be stepped on. So move DIO protection + out from ext4_alloc_file_blocks() into the two callsites. + + Signed-off-by: Jan Kara + Signed-off-by: Theodore Ts'o + + fs/ext4/extents.c | 21 ++++++++++----------- + 1 file changed, 10 insertions(+), 11 deletions(-) + +commit f9329a4ec30a26f0fababf809c5f1a3ef851b625 +Author: Jan Kara +Date: Mon Dec 7 14:28:03 2015 -0500 + + ext4: fix races between page faults and hole punching + + Currently, page faults and hole punching are completely unsynchronized. + This can result in page fault faulting in a page into a range that we + are punching after truncate_pagecache_range() has been called and thus + we can end up with a page mapped to disk blocks that will be shortly + freed. Filesystem corruption will shortly follow. Note that the same + race is avoided for truncate by checking page fault offset against + i_size but there isn't similar mechanism available for punching holes. + + Fix the problem by creating new rw semaphore i_mmap_sem in inode and + grab it for writing over truncate, hole punching, and other functions + removing blocks from extent tree and for read over page faults. We + cannot easily use i_data_sem for this since that ranks below transaction + start and we need something ranking above it so that it can be held over + the whole truncate / hole punching operation. Also remove various + workarounds we had in the code to reduce race window when page fault + could have created pages with stale mapping information. + + Signed-off-by: Jan Kara + Signed-off-by: Theodore Ts'o + + fs/ext4/ext4.h | 10 +++++++++ + fs/ext4/extents.c | 54 ++++++++++++++++++++++++-------------------- + fs/ext4/file.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++-------- + fs/ext4/inode.c | 36 +++++++++++++++++++++-------- + fs/ext4/super.c | 1 + + fs/ext4/truncate.h | 2 ++ + 6 files changed, 127 insertions(+), 42 deletions(-) + +commit 572a615b85c1d5c8aeea4ffd24ab428775a1cca9 +Author: Guenter Roeck +Date: Sat Mar 26 12:28:05 2016 -0700 + + hwmon: (max1111) Return -ENODEV from max1111_read_channel if not instantiated + + arm:pxa_defconfig can result in the following crash if the max1111 driver + is not instantiated. + + Unhandled fault: page domain fault (0x01b) at 0x00000000 + pgd = c0004000 + [00000000] *pgd=00000000 + Internal error: : 1b [#1] PREEMPT ARM + Modules linked in: + CPU: 0 PID: 300 Comm: kworker/0:1 Not tainted 4.5.0-01301-g1701f680407c #10 + Hardware name: SHARP Akita + Workqueue: events sharpsl_charge_toggle + task: c390a000 ti: c391e000 task.ti: c391e000 + PC is at max1111_read_channel+0x20/0x30 + LR is at sharpsl_pm_pxa_read_max1111+0x2c/0x3c + pc : [] lr : [] psr: 20000013 + ... + [] (max1111_read_channel) from [] + (sharpsl_pm_pxa_read_max1111+0x2c/0x3c) + [] (sharpsl_pm_pxa_read_max1111) from [] + (spitzpm_read_devdata+0x5c/0xc4) + [] (spitzpm_read_devdata) from [] + (sharpsl_check_battery_temp+0x78/0x110) + [] (sharpsl_check_battery_temp) from [] + (sharpsl_charge_toggle+0x48/0x110) + [] (sharpsl_charge_toggle) from [] + (process_one_work+0x14c/0x48c) + [] (process_one_work) from [] (worker_thread+0x3c/0x5d4) + [] (worker_thread) from [] (kthread+0xd0/0xec) + [] (kthread) from [] (ret_from_fork+0x14/0x24) + + This can occur because the SPI controller driver (SPI_PXA2XX) is built as + module and thus not necessarily loaded. While building SPI_PXA2XX into the + kernel would make the problem disappear, it appears prudent to ensure that + the driver is instantiated before accessing its data structures. + + Cc: Arnd Bergmann + Cc: stable@vger.kernel.org + Signed-off-by: Guenter Roeck + + drivers/hwmon/max1111.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit f75f1af7a0b4be055855ca5120ee78174f3370f2 +Author: Nicolai Stange +Date: Sun Mar 20 23:23:46 2016 +0100 + + PKCS#7: pkcs7_validate_trust(): initialize the _trusted output argument + + Despite what the DocBook comment to pkcs7_validate_trust() says, the + *_trusted argument is never set to false. + + pkcs7_validate_trust() only positively sets *_trusted upon encountering + a trusted PKCS#7 SignedInfo block. + + This is quite unfortunate since its callers, system_verify_data() for + example, depend on pkcs7_validate_trust() clearing *_trusted on non-trust. + + Indeed, UBSAN splats when attempting to load the uninitialized local + variable 'trusted' from system_verify_data() in pkcs7_validate_trust(): + + UBSAN: Undefined behaviour in crypto/asymmetric_keys/pkcs7_trust.c:194:14 + load of value 82 is not a valid value for type '_Bool' + [...] + Call Trace: + [] dump_stack+0xbc/0x117 + [] ? _atomic_dec_and_lock+0x169/0x169 + [] ubsan_epilogue+0xd/0x4e + [] __ubsan_handle_load_invalid_value+0x111/0x158 + [] ? val_to_string.constprop.12+0xcf/0xcf + [] ? x509_request_asymmetric_key+0x114/0x370 + [] ? kfree+0x220/0x370 + [] ? public_key_verify_signature_2+0x32/0x50 + [] pkcs7_validate_trust+0x524/0x5f0 + [] system_verify_data+0xca/0x170 + [] ? top_trace_array+0x9b/0x9b + [] ? __vfs_read+0x279/0x3d0 + [] mod_verify_sig+0x1ff/0x290 + [...] + + The implication is that pkcs7_validate_trust() effectively grants trust + when it really shouldn't have. + + Fix this by explicitly setting *_trusted to false at the very beginning + of pkcs7_validate_trust(). + + Cc: + Signed-off-by: Nicolai Stange + Signed-off-by: Herbert Xu + + crypto/asymmetric_keys/pkcs7_trust.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 1052826f7352ccc98167129b0b83222f45d50046 +Author: Florian Westphal +Date: Tue Mar 22 18:02:49 2016 +0100 + + netfilter: x_tables: validate e->target_offset early + + We should check that e->target_offset is sane before + mark_source_chains gets called since it will fetch the target entry + for loop detection. + + Signed-off-by: Florian Westphal + Signed-off-by: Pablo Neira Ayuso + + net/ipv4/netfilter/arp_tables.c | 17 ++++++++--------- + net/ipv4/netfilter/ip_tables.c | 17 ++++++++--------- + net/ipv6/netfilter/ip6_tables.c | 17 ++++++++--------- + 3 files changed, 24 insertions(+), 27 deletions(-) + +commit b35d19509e8dab157214e46dd24314663ccf554f +Author: Florian Westphal +Date: Tue Mar 22 18:02:50 2016 +0100 + + netfilter: x_tables: make sure e->next_offset covers remaining blob size + + Otherwise this function may read data beyond the ruleset blob. + + Signed-off-by: Florian Westphal + Signed-off-by: Pablo Neira Ayuso + + net/ipv4/netfilter/arp_tables.c | 6 ++++-- + net/ipv4/netfilter/ip_tables.c | 6 ++++-- + net/ipv6/netfilter/ip6_tables.c | 6 ++++-- + 3 files changed, 12 insertions(+), 6 deletions(-) + +commit 4d7642ed66b69140733a7b51fcd6d37ce4d4514c +Author: Florian Westphal +Date: Tue Mar 22 18:02:52 2016 +0100 + + netfilter: x_tables: fix unconditional helper + + Ben Hawkes says: + + In the mark_source_chains function (net/ipv4/netfilter/ip_tables.c) it + is possible for a user-supplied ipt_entry structure to have a large + next_offset field. This field is not bounds checked prior to writing a + counter value at the supplied offset. + + Problem is that mark_source_chains should not have been called -- + the rule doesn't have a next entry, so its supposed to return + an absolute verdict of either ACCEPT or DROP. + + However, the function conditional() doesn't work as the name implies. + It only checks that the rule is using wildcard address matching. + + However, an unconditional rule must also not be using any matches + (no -m args). + + The underflow validator only checked the addresses, therefore + passing the 'unconditional absolute verdict' test, while + mark_source_chains also tested for presence of matches, and thus + proceeeded to the next (not-existent) rule. + + Unify this so that all the callers have same idea of 'unconditional rule'. + + Reported-by: Ben Hawkes + Signed-off-by: Florian Westphal + Signed-off-by: Pablo Neira Ayuso + + net/ipv4/netfilter/arp_tables.c | 18 +++++++++--------- + net/ipv4/netfilter/ip_tables.c | 23 +++++++++++------------ + net/ipv6/netfilter/ip6_tables.c | 23 +++++++++++------------ + 3 files changed, 31 insertions(+), 33 deletions(-) + +commit e3e51682563f1453dfc4b9ef88b29af4d1a78e78 +Author: Pablo Neira Ayuso +Date: Thu Mar 24 21:29:53 2016 +0100 + + netfilter: x_tables: enforce nul-terminated table name from getsockopt GET_ENTRIES + + Make sure the table names via getsockopt GET_ENTRIES is nul-terminated + in ebtables and all the x_tables variants and their respective compat + code. Uncovered by KASAN. + + Reported-by: Baozeng Ding + Signed-off-by: Pablo Neira Ayuso + + net/bridge/netfilter/ebtables.c | 4 ++++ + net/ipv4/netfilter/arp_tables.c | 2 ++ + net/ipv4/netfilter/ip_tables.c | 2 ++ + net/ipv6/netfilter/ip6_tables.c | 2 ++ + 4 files changed, 10 insertions(+) + +commit 7742471b674597627f8f608f6a89c6e5bbd6533d +Author: Nicolai Stange +Date: Fri Mar 25 14:22:14 2016 -0700 + + mm/filemap: generic_file_read_iter(): check for zero reads unconditionally + + If + - generic_file_read_iter() gets called with a zero read length, + - the read offset is at a page boundary, + - IOCB_DIRECT is not set + - and the page in question hasn't made it into the page cache yet, + then do_generic_file_read() will trigger a readahead with a req_size hint + of zero. + + Since roundup_pow_of_two(0) is undefined, UBSAN reports + + UBSAN: Undefined behaviour in include/linux/log2.h:63:13 + shift exponent 64 is too large for 64-bit type 'long unsigned int' + CPU: 3 PID: 1017 Comm: sa1 Tainted: G L 4.5.0-next-20160318+ #14 + [...] + Call Trace: + [...] + [] ondemand_readahead+0x3aa/0x3d0 + [] ? ondemand_readahead+0x3aa/0x3d0 + [] ? find_get_entry+0x2d/0x210 + [] page_cache_sync_readahead+0x63/0xa0 + [] do_generic_file_read+0x80d/0xf90 + [] generic_file_read_iter+0x185/0x420 + [...] + [] __vfs_read+0x256/0x3d0 + [...] + + when get_init_ra_size() gets called from ondemand_readahead(). + + The net effect is that the initial readahead size is arch dependent for + requested read lengths of zero: for example, since + + 1UL << (sizeof(unsigned long) * 8) + + evaluates to 1 on x86 while its result is 0 on ARMv7, the initial readahead + size becomes 4 on the former and 0 on the latter. + + What's more, whether or not the file access timestamp is updated for zero + length reads is decided differently for the two cases of IOCB_DIRECT + being set or cleared: in the first case, generic_file_read_iter() + explicitly skips updating that timestamp while in the latter case, it is + always updated through the call to do_generic_file_read(). + + According to POSIX, zero length reads "do not modify the last data access + timestamp" and thus, the IOCB_DIRECT behaviour is POSIXly correct. + + Let generic_file_read_iter() unconditionally check the requested read + length at its entry and return immediately with success if it is zero. + + Signed-off-by: Nicolai Stange + Cc: Al Viro + Reviewed-by: Jan Kara + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds + + mm/filemap.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 604785419da498d7e876a0191b2e11626db706bb +Author: Oliver Neukum +Date: Thu Mar 17 14:00:17 2016 -0700 + + Input: ims-pcu - sanity check against missing interfaces + + A malicious device missing interface can make the driver oops. + Add sanity checking. + + Signed-off-by: Oliver Neukum + CC: stable@vger.kernel.org + Signed-off-by: Dmitry Torokhov + + drivers/input/misc/ims-pcu.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 24c3f4f6652f07eb2c3deea1488ff4de00592e80 +Author: Vladis Dronov +Date: Wed Mar 23 11:53:46 2016 -0700 + + Input: ati_remote2 - fix crashes on detecting device with invalid descriptor + + The ati_remote2 driver expects at least two interfaces with one + endpoint each. If given malicious descriptor that specify one + interface or no endpoints, it will crash in the probe function. + Ensure there is at least two interfaces and one endpoint for each + interface before using it. + + The full disclosure: http://seclists.org/bugtraq/2016/Mar/90 + + Reported-by: Ralf Spenneberg + Signed-off-by: Vladis Dronov + Cc: stable@vger.kernel.org + Signed-off-by: Dmitry Torokhov + + drivers/input/misc/ati_remote2.c | 36 ++++++++++++++++++++++++++++++------ + 1 file changed, 30 insertions(+), 6 deletions(-) + +commit 262df604d00e72a4b930fbf7fe3a770f0196a5a5 +Author: Oliver Neukum +Date: Wed Mar 23 14:36:56 2016 -0700 + + Input: sur40 - fix DMA on stack + + During the initialisation the driver uses a buffer on the stack for DMA. + That violates the cache coherency rules. The fix is to allocate the buffer + with kmalloc(). + + Signed-off-by: Oliver Neukum + Signed-off-by: Dmitry Torokhov + + drivers/input/touchscreen/sur40.c | 21 ++++++++++++++------- + 1 file changed, 14 insertions(+), 7 deletions(-) + +commit 015dd03669b2ab646723f6b123377e4ef5694a10 +Author: Haiyang Zhang +Date: Wed Mar 23 09:43:10 2016 -0700 + + hv_netvsc: Fix the array sizes to be max supported channels + + The VRSS_CHANNEL_MAX is the max number of channels supported by Hyper-V + hosts. We use it for the related array sizes instead of using NR_CPUS, + which may be set to several thousands. + This patch reduces possible memory allocation failures. + + Signed-off-by: Haiyang Zhang + Reviewed-by: K. Y. Srinivasan + Signed-off-by: David S. Miller + + drivers/net/hyperv/hyperv_net.h | 7 ++++--- + drivers/net/hyperv/rndis_filter.c | 4 ++-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +commit a850a78d6393ef22a970266cbbefdf3dba0267b5 +Author: Haiyang Zhang +Date: Wed Mar 23 09:43:09 2016 -0700 + + hv_netvsc: Fix accessing freed memory in netvsc_change_mtu() + + struct netvsc_device is freed in rndis_filter_device_remove(). So we save + the nvdev->num_chn into a temp variable for later usage. + + (Please also include this patch into stable branch.) + + Signed-off-by: Haiyang Zhang + Reviewed-by: K. Y. Srinivasan + Signed-off-by: David S. Miller + + drivers/net/hyperv/netvsc_drv.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 7409626e43fe871cede30ac926425938f3ccddaf +Author: Guillaume Nault +Date: Wed Mar 23 16:38:55 2016 +0100 + + ppp: take reference on channels netns + + Let channels hold a reference on their network namespace. + Some channel types, like ppp_async and ppp_synctty, can have their + userspace controller running in a different namespace. Therefore they + can't rely on them to preclude their netns from being removed from + under them. + + ================================================================== + BUG: KASAN: use-after-free in ppp_unregister_channel+0x372/0x3a0 at + addr ffff880064e217e0 + Read of size 8 by task syz-executor/11581 + ============================================================================= + BUG net_namespace (Not tainted): kasan: bad access detected + ----------------------------------------------------------------------------- + + Disabling lock debugging due to kernel taint + INFO: Allocated in copy_net_ns+0x6b/0x1a0 age=92569 cpu=3 pid=6906 + [< none >] ___slab_alloc+0x4c7/0x500 kernel/mm/slub.c:2440 + [< none >] __slab_alloc+0x4c/0x90 kernel/mm/slub.c:2469 + [< inline >] slab_alloc_node kernel/mm/slub.c:2532 + [< inline >] slab_alloc kernel/mm/slub.c:2574 + [< none >] kmem_cache_alloc+0x23a/0x2b0 kernel/mm/slub.c:2579 + [< inline >] kmem_cache_zalloc kernel/include/linux/slab.h:597 + [< inline >] net_alloc kernel/net/core/net_namespace.c:325 + [< none >] copy_net_ns+0x6b/0x1a0 kernel/net/core/net_namespace.c:360 + [< none >] create_new_namespaces+0x2f6/0x610 kernel/kernel/nsproxy.c:95 + [< none >] copy_namespaces+0x297/0x320 kernel/kernel/nsproxy.c:150 + [< none >] copy_process.part.35+0x1bf4/0x5760 kernel/kernel/fork.c:1451 + [< inline >] copy_process kernel/kernel/fork.c:1274 + [< none >] _do_fork+0x1bc/0xcb0 kernel/kernel/fork.c:1723 + [< inline >] SYSC_clone kernel/kernel/fork.c:1832 + [< none >] SyS_clone+0x37/0x50 kernel/kernel/fork.c:1826 + [< none >] entry_SYSCALL_64_fastpath+0x16/0x7a kernel/arch/x86/entry/entry_64.S:185 + + INFO: Freed in net_drop_ns+0x67/0x80 age=575 cpu=2 pid=2631 + [< none >] __slab_free+0x1fc/0x320 kernel/mm/slub.c:2650 + [< inline >] slab_free kernel/mm/slub.c:2805 + [< none >] kmem_cache_free+0x2a0/0x330 kernel/mm/slub.c:2814 + [< inline >] net_free kernel/net/core/net_namespace.c:341 + [< none >] net_drop_ns+0x67/0x80 kernel/net/core/net_namespace.c:348 + [< none >] cleanup_net+0x4e5/0x600 kernel/net/core/net_namespace.c:448 + [< none >] process_one_work+0x794/0x1440 kernel/kernel/workqueue.c:2036 + [< none >] worker_thread+0xdb/0xfc0 kernel/kernel/workqueue.c:2170 + [< none >] kthread+0x23f/0x2d0 kernel/drivers/block/aoe/aoecmd.c:1303 + [< none >] ret_from_fork+0x3f/0x70 kernel/arch/x86/entry/entry_64.S:468 + INFO: Slab 0xffffea0001938800 objects=3 used=0 fp=0xffff880064e20000 + flags=0x5fffc0000004080 + INFO: Object 0xffff880064e20000 @offset=0 fp=0xffff880064e24200 + + CPU: 1 PID: 11581 Comm: syz-executor Tainted: G B 4.4.0+ + Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS + rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014 + 00000000ffffffff ffff8800662c7790 ffffffff8292049d ffff88003e36a300 + ffff880064e20000 ffff880064e20000 ffff8800662c77c0 ffffffff816f2054 + ffff88003e36a300 ffffea0001938800 ffff880064e20000 0000000000000000 + Call Trace: + [< inline >] __dump_stack kernel/lib/dump_stack.c:15 + [] dump_stack+0x6f/0xa2 kernel/lib/dump_stack.c:50 + [] print_trailer+0xf4/0x150 kernel/mm/slub.c:654 + [] object_err+0x2f/0x40 kernel/mm/slub.c:661 + [< inline >] print_address_description kernel/mm/kasan/report.c:138 + [] kasan_report_error+0x215/0x530 kernel/mm/kasan/report.c:236 + [< inline >] kasan_report kernel/mm/kasan/report.c:259 + [] __asan_report_load8_noabort+0x3e/0x40 kernel/mm/kasan/report.c:280 + [< inline >] ? ppp_pernet kernel/include/linux/compiler.h:218 + [] ? ppp_unregister_channel+0x372/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392 + [< inline >] ppp_pernet kernel/include/linux/compiler.h:218 + [] ppp_unregister_channel+0x372/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392 + [< inline >] ? ppp_pernet kernel/drivers/net/ppp/ppp_generic.c:293 + [] ? ppp_unregister_channel+0xe6/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392 + [] ppp_asynctty_close+0xa3/0x130 kernel/drivers/net/ppp/ppp_async.c:241 + [] ? async_lcp_peek+0x5b0/0x5b0 kernel/drivers/net/ppp/ppp_async.c:1000 + [] tty_ldisc_close.isra.1+0x99/0xe0 kernel/drivers/tty/tty_ldisc.c:478 + [] tty_ldisc_kill+0x40/0x170 kernel/drivers/tty/tty_ldisc.c:744 + [] tty_ldisc_release+0x1b3/0x260 kernel/drivers/tty/tty_ldisc.c:772 + [] tty_release+0xac1/0x13e0 kernel/drivers/tty/tty_io.c:1901 + [] ? release_tty+0x320/0x320 kernel/drivers/tty/tty_io.c:1688 + [] __fput+0x236/0x780 kernel/fs/file_table.c:208 + [] ____fput+0x15/0x20 kernel/fs/file_table.c:244 + [] task_work_run+0x16b/0x200 kernel/kernel/task_work.c:115 + [< inline >] exit_task_work kernel/include/linux/task_work.h:21 + [] do_exit+0x8b5/0x2c60 kernel/kernel/exit.c:750 + [] ? debug_check_no_locks_freed+0x290/0x290 kernel/kernel/locking/lockdep.c:4123 + [] ? mm_update_next_owner+0x6f0/0x6f0 kernel/kernel/exit.c:357 + [] ? __dequeue_signal+0x136/0x470 kernel/kernel/signal.c:550 + [] ? recalc_sigpending_tsk+0x13b/0x180 kernel/kernel/signal.c:145 + [] do_group_exit+0x108/0x330 kernel/kernel/exit.c:880 + [] get_signal+0x5e4/0x14f0 kernel/kernel/signal.c:2307 + [< inline >] ? kretprobe_table_lock kernel/kernel/kprobes.c:1113 + [] ? kprobe_flush_task+0xb5/0x450 kernel/kernel/kprobes.c:1158 + [] do_signal+0x83/0x1c90 kernel/arch/x86/kernel/signal.c:712 + [] ? recycle_rp_inst+0x310/0x310 kernel/include/linux/list.h:655 + [] ? setup_sigcontext+0x780/0x780 kernel/arch/x86/kernel/signal.c:165 + [] ? finish_task_switch+0x424/0x5f0 kernel/kernel/sched/core.c:2692 + [< inline >] ? finish_lock_switch kernel/kernel/sched/sched.h:1099 + [] ? finish_task_switch+0x120/0x5f0 kernel/kernel/sched/core.c:2678 + [< inline >] ? context_switch kernel/kernel/sched/core.c:2807 + [] ? __schedule+0x919/0x1bd0 kernel/kernel/sched/core.c:3283 + [] exit_to_usermode_loop+0xf1/0x1a0 kernel/arch/x86/entry/common.c:247 + [< inline >] prepare_exit_to_usermode kernel/arch/x86/entry/common.c:282 + [] syscall_return_slowpath+0x19f/0x210 kernel/arch/x86/entry/common.c:344 + [] int_ret_from_sys_call+0x25/0x9f kernel/arch/x86/entry/entry_64.S:281 + Memory state around the buggy address: + ffff880064e21680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb + ffff880064e21700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb + >ffff880064e21780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb + ^ + ffff880064e21800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb + ffff880064e21880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb + ================================================================== + + Fixes: 273ec51dd7ce ("net: ppp_generic - introduce net-namespace functionality v2") + Reported-by: Baozeng Ding + Signed-off-by: Guillaume Nault + Reviewed-by: Cyrill Gorcunov + Signed-off-by: David S. Miller + + drivers/net/ppp/ppp_generic.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit bfb890c1ac9d29b377f6bec4a5aab51d053114c4 +Author: Herbert Xu +Date: Wed Mar 16 17:06:01 2016 +0800 + + eCryptfs: Use skcipher and shash + + eCryptfs: Fix null pointer dereference on kzalloc error path + + The conversion to skcipher and shash added a couple of null pointer + dereference bugs on the kzalloc failure path. This patch fixes them. + + Fixes: 3095e8e366b4 ("eCryptfs: Use skcipher and shash") + Reported-by: Dan Carpenter + Signed-off-by: Herbert Xu + + fs/ecryptfs/keystore.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit 58a8421ae537e0609c4ff59bf6b11be869a43cc6 +Author: Boris BREZILLON +Date: Thu Mar 17 10:21:34 2016 +0100 + + crypto: marvell/cesa - fix memory leak + + Crypto requests are not guaranteed to be finalized (->final() call), + and can be freed at any moment, without getting any notification from + the core. This can lead to memory leaks of the ->cache buffer. + + Make this buffer part of the request object, and allocate an extra buffer + from the DMA cache pool when doing DMA operations. + + As a side effect, this patch also fixes another bug related to cache + allocation and DMA operations. When the core allocates a new request and + import an existing state, a cache buffer can be allocated (depending + on the state). The problem is, at that very moment, we don't know yet + whether the request will use DMA or not, and since everything is + likely to be initialized to zero, mv_cesa_ahash_alloc_cache() thinks it + should allocate a buffer for standard operation. But when + mv_cesa_ahash_free_cache() is called, req->type has been set to + CESA_DMA_REQ in the meantime, thus leading to an invalind dma_pool_free() + call (the buffer passed in argument has not been allocated from the pool). + + Signed-off-by: Boris Brezillon + Reported-by: Gregory CLEMENT + Signed-off-by: Herbert Xu + + drivers/crypto/marvell/cesa.h | 3 +- + drivers/crypto/marvell/hash.c | 86 +++++++++---------------------------------- + 2 files changed, 20 insertions(+), 69 deletions(-) + +commit 1ec604f99895b9c37f26a692ff83a7da02d667fd +Author: Boris BREZILLON +Date: Thu Mar 17 10:21:35 2016 +0100 + + crypto: marvell/cesa - initialize hash states + + ->export() might be called before we have done an update operation, + and in this case the ->state field is left uninitialized. + Put the correct default value when initializing the request. + + Signed-off-by: Boris Brezillon + Signed-off-by: Herbert Xu + + drivers/crypto/marvell/hash.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +commit 23879f055d23e82c2f78cceca22c33e631973977 +Author: David S. Miller +Date: Sun Mar 13 23:28:00 2016 -0400 + + ipv4: Don't do expensive useless work during inetdev destroy. + + When an inetdev is destroyed, every address assigned to the interface + is removed. And in this scenerio we do two pointless things which can + be very expensive if the number of assigned interfaces is large: + + 1) Address promotion. We are deleting all addresses, so there is no + point in doing this. + + 2) A full nf conntrack table purge for every address. We only need to + do this once, as is already caught by the existing + masq_dev_notifier so masq_inet_event() can skip this. + + Reported-by: Solar Designer + Signed-off-by: David S. Miller + Tested-by: Cyrill Gorcunov + + net/ipv4/devinet.c | 4 ++++ + net/ipv4/fib_frontend.c | 4 ++++ + net/ipv4/netfilter/nf_nat_masquerade_ipv4.c | 12 ++++++++++-- + 3 files changed, 18 insertions(+), 2 deletions(-) + +commit 60394231e840e884024592a76a6c5612433d3756 +Author: Marcelo Ricardo Leitner +Date: Tue Mar 8 10:34:28 2016 -0300 + + sctp: fix copying more bytes than expected in sctp_add_bind_addr + + Dmitry reported that sctp_add_bind_addr may read more bytes than + expected in case the parameter is a IPv4 addr supplied by the user + through calls such as sctp_bindx_add(), because it always copies + sizeof(union sctp_addr) while the buffer may be just a struct + sockaddr_in, which is smaller. + + This patch then fixes it by limiting the memcpy to the min between the + union size and a (new parameter) provided addr size. Where possible this + parameter still is the size of that union, except for reading from + user-provided buffers, which then it accounts for protocol type. + + Reported-by: Dmitry Vyukov + Tested-by: Dmitry Vyukov + Signed-off-by: Marcelo Ricardo Leitner + Signed-off-by: David S. Miller + + include/net/sctp/structs.h | 2 +- + net/sctp/bind_addr.c | 14 ++++++++------ + net/sctp/protocol.c | 1 + + net/sctp/sm_make_chunk.c | 3 ++- + net/sctp/socket.c | 4 +++- + 5 files changed, 15 insertions(+), 9 deletions(-) + +commit 9831caa50e1453818c5ec618890291f028b7992f +Author: Brad Spengler +Date: Mon Mar 28 19:20:28 2016 -0400 + + Also allow /bin/false as needed by systemd + + kernel/kmod.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bb38a61b496a3f09f4d7b93d2f0fe15476918147 +Author: Brad Spengler +Date: Tue Mar 22 16:59:43 2016 -0400 + + Fix size_overflow FP reported by marcan at: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4426 + + net/ipv6/xfrm6_mode_transport.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 523a36a9c845da3051e58c6767c2e1a0f640998a +Merge: 0d0ec9e c0b77a7 +Author: Brad Spengler +Date: Wed Mar 16 20:20:40 2016 -0400 + + Merge branch 'pax-test' into grsec-test + +commit c0b77a7cb578199f0b7dc90768a13ca6c044aba9 +Merge: 10d57c1 0d19123 +Author: Brad Spengler +Date: Wed Mar 16 20:20:27 2016 -0400 + + Merge branch 'linux-4.4.y' into pax-test + +commit 0d0ec9ee83144ab839710a01cfd746bd78257394 +Author: Brad Spengler +Date: Mon Mar 14 20:15:47 2016 -0400 + + Invert logic to clean up code + + fs/namei.c | 32 +++++++------------------------- + grsecurity/grsec_chroot.c | 10 +++++----- + 2 files changed, 12 insertions(+), 30 deletions(-) + +commit 39e0e623c84863af7b3ace759b583ff938fde2b7 +Author: Brad Spengler +Date: Mon Mar 14 19:59:36 2016 -0400 + + compile fix + + fs/namei.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit 2b3ad8bc095fea829275b7fcc7e5671677b8ed33 +Author: Brad Spengler +Date: Mon Mar 14 19:57:53 2016 -0400 + + Also handle renames + + fs/namei.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 54dfd13b19743d4a340de0cd5683b5bde44e7d9c +Author: Brad Spengler +Date: Mon Mar 14 19:45:56 2016 -0400 + + Add additional check to cover lookup family of functions + + fs/namei.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit c3df846baa7873fb99401136f220676b87452918 +Author: Brad Spengler +Date: Mon Mar 14 18:42:37 2016 -0400 + + compile fix + + fs/namei.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 384ea9c0ef9df4298dfa3a71948c08e70f1092bf +Author: Brad Spengler +Date: Mon Mar 14 18:34:40 2016 -0400 + + Fix recent chroot check on the create side, as reported by + Toralf Foerster + + fs/namei.c | 26 ++++++++++++++++---------- + 1 file changed, 16 insertions(+), 10 deletions(-) + +commit 82e7dc61a626c47887d392ff9cd35b104f01fd25 +Author: Paolo Bonzini +Date: Tue Mar 8 12:13:39 2016 +0100 + + KVM: MMU: fix ept=0/pte.u=1/pte.w=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 combo + + Yes, all of these are needed. :) This is admittedly a bit odd, but + kvm-unit-tests access.flat tests this if you run it with "-cpu host" + and of course ept=0. + + KVM runs the guest with CR0.WP=1, so it must handle supervisor writes + specially when pte.u=1/pte.w=0/CR0.WP=0. Such writes cause a fault + when U=1 and W=0 in the SPTE, but they must succeed because CR0.WP=0. + When KVM gets the fault, it sets U=0 and W=1 in the shadow PTE and + restarts execution. This will still cause a user write to fault, while + supervisor writes will succeed. User reads will fault spuriously now, + and KVM will then flip U and W again in the SPTE (U=1, W=0). User reads + will be enabled and supervisor writes disabled, going back to the + originary situation where supervisor writes fault spuriously. + + When SMEP is in effect, however, U=0 will enable kernel execution of + this page. To avoid this, KVM also sets NX=1 in the shadow PTE together + with U=0. If the guest has not enabled NX, the result is a continuous + stream of page faults due to the NX bit being reserved. + + The fix is to force EFER.NX=1 even if the CPU is taking care of the EFER + switch. (All machines with SMEP have the CPU_LOAD_IA32_EFER vm-entry + control, so they do not use user-return notifiers for EFER---if they did, + EFER.NX would be forced to the same value as the host). + + There is another bug in the reserved bit check, which I've split to a + separate patch for easier application to stable kernels. + + Cc: stable@vger.kernel.org + Cc: Andy Lutomirski + Reviewed-by: Xiao Guangrong + Fixes: f6577a5fa15d82217ca73c74cd2dcbc0f6c781dd + Signed-off-by: Paolo Bonzini + + Documentation/virtual/kvm/mmu.txt | 3 ++- + arch/x86/kvm/vmx.c | 36 +++++++++++++++++++++++------------- + 2 files changed, 25 insertions(+), 14 deletions(-) + +commit 802a88e57b141e9643e93afb7805813ad8da22f3 +Author: Paolo Bonzini +Date: Wed Mar 9 14:28:02 2016 +0100 + + KVM: MMU: fix reserved bit check for ept=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 + + KVM has special logic to handle pages with pte.u=1 and pte.w=0 when + CR0.WP=1. These pages' SPTEs flip continuously between two states: + U=1/W=0 (user and supervisor reads allowed, supervisor writes not allowed) + and U=0/W=1 (supervisor reads and writes allowed, user writes not allowed). + + When SMEP is in effect, however, U=0 will enable kernel execution of + this page. To avoid this, KVM also sets NX=1 in the shadow PTE together + with U=0, making the two states U=1/W=0/NX=gpte.NX and U=0/W=1/NX=1. + When guest EFER has the NX bit cleared, the reserved bit check thinks + that the latter state is invalid; teach it that the smep_andnot_wp case + will also use the NX bit of SPTEs. + + Cc: stable@vger.kernel.org + Reviewed-by: Xiao Guangrong + Fixes: c258b62b264fdc469b6d3610a907708068145e3b + Signed-off-by: Paolo Bonzini + + arch/x86/kvm/mmu.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 3925851224428c1d2bca32cf33821befb947c4f3 +Author: Ming Lei +Date: Sat Mar 12 22:56:19 2016 +0800 + + block: don't optimize for non-cloned bio in bio_get_last_bvec() + + For !BIO_CLONED bio, we can use .bi_vcnt safely, but it + doesn't mean we can just simply return .bi_io_vec[.bi_vcnt - 1] + because the start postion may have been moved in the middle of + the bvec, such as splitting in the middle of bvec. + + Fixes: 7bcd79ac50d9(block: bio: introduce helpers to get the 1st and last bvec) + Cc: stable@vger.kernel.org + Reported-by: Kent Overstreet + Signed-off-by: Ming Lei + Signed-off-by: Jens Axboe + + include/linux/bio.h | 5 ----- + 1 file changed, 5 deletions(-) + +commit db541463b4a0926bebdbac743c8736fb9e903d58 +Author: Borislav Petkov +Date: Fri Mar 11 12:32:06 2016 +0100 + + x86/fpu: Fix eager-FPU handling on legacy FPU machines + + i486 derived cores like Intel Quark support only the very old, + legacy x87 FPU (FSAVE/FRSTOR, CPUID bit FXSR is not set), and + our FPU code wasn't handling the saving and restoring there + properly in the 'eagerfpu' case. + + So after we made eagerfpu the default for all CPU types: + + 58122bf1d856 x86/fpu: Default eagerfpu=on on all CPUs + + these old FPU designs broke. First, Andy Shevchenko reported a splat: + + WARNING: CPU: 0 PID: 823 at arch/x86/include/asm/fpu/internal.h:163 fpu__clear+0x8c/0x160 + + which was us trying to execute FXRSTOR on those machines even though + they don't support it. + + After taking care of that, Bryan O'Donoghue reported that a simple FPU + test still failed because we weren't initializing the FPU state properly + on those machines. + + Take care of all that. + + Reported-and-tested-by: Bryan O'Donoghue + Reported-by: Andy Shevchenko + Signed-off-by: Borislav Petkov + Acked-by: Linus Torvalds + Cc: Andrew Morton + Cc: Andy Lutomirski + Cc: Borislav Petkov + Cc: Brian Gerst + Cc: Dave Hansen + Cc: Denys Vlasenko + Cc: Fenghua Yu + Cc: H. Peter Anvin + Cc: Oleg Nesterov + Cc: Peter Zijlstra + Cc: Quentin Casasnovas + Cc: Thomas Gleixner + Cc: Yu-cheng + Link: http://lkml.kernel.org/r/20160311113206.GD4312@pd.tnic + Signed-off-by: Ingo Molnar + + arch/x86/kernel/fpu/core.c | 4 +++- + arch/x86/kernel/fpu/init.c | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +commit 8fed14e935cb62d2d46e99793d728dc7760dcc87 +Author: Brad Spengler +Date: Sun Mar 13 11:35:56 2016 -0400 + + Compile fixes + + fs/namei.c | 2 +- + grsecurity/grsec_chroot.c | 2 +- + include/linux/grsecurity.h | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit aab25a3496c4683c5858056960010119fb7d9a5a +Author: Brad Spengler +Date: Sun Mar 13 10:53:59 2016 -0400 + + Use fput instead of put_filp() + + fs/namei.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 928ddec9dfe5415dff82d941c3b3e76ee6f48761 +Author: Brad Spengler +Date: Sun Mar 13 10:30:54 2016 -0400 + + Update MPROTECT_COMPAT config description, disable by default + + security/Kconfig | 18 ++++++------------ + 1 file changed, 6 insertions(+), 12 deletions(-) + +commit 4cc29af2e81e7a4bdfab1afedfdedca6e23362d5 +Author: Brad Spengler +Date: Sun Mar 13 10:35:55 2016 -0400 + + As reported by Jann Horn, chroot scenarios where the chrooting application + brings in a directory fd can be used to access any file outside of the chroot + via *at syscalls. To maintain compatibility with Chromium and other apps, + we specifically only disallow relative accesses off a directory fd when the + final path is not located under that directory described by the fd and exists + outside of the chroot. This additional restriction will exist under the + current GRKERNSEC_CHROOT_FCHDIR option. + + fs/namei.c | 9 +++++++++ + grsecurity/Kconfig | 10 ++++++---- + grsecurity/grsec_chroot.c | 39 +++++++++++++++++++++++++++++++++++++++ + include/linux/grmsg.h | 1 + + include/linux/grsecurity.h | 1 + + 5 files changed, 56 insertions(+), 4 deletions(-) + +commit 7d02a991213f0b07a3677dcc93cdafc3ac309142 +Author: Brad Spengler +Date: Thu Mar 10 22:17:16 2016 -0500 + + Update size_overflow hash table + + tools/gcc/size_overflow_plugin/size_overflow_hash.data | 1 + + 1 file changed, 1 insertion(+) + +commit 29f25ddda6a5625340df26beb394279fefea2b49 +Author: Brad Spengler +Date: Thu Mar 10 22:16:04 2016 -0500 + + Fix module support + + kernel/module.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit b057a45636b626e7eaf03077ed0916b95fea054c +Merge: ba5ee94 10d57c1 +Author: Brad Spengler +Date: Thu Mar 10 21:36:10 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 10d57c107e7fabffbe616b14efab73df585576c2 +Merge: 1cbae46 62e2195 +Author: Brad Spengler +Date: Thu Mar 10 21:34:58 2016 -0500 + + Update to pax-linux-4.4.5-test9.patch: + - fixed an integer signedness mixup in the old select syscall caught by the size overflow plugin, by Mathias Krause + - Emese cleaned up a few unnecessary type casts in the size overflow plugin + - fixed the initify plugin to not trigger a compiler assert with gcc 6 in LTO mode + - compile the x86 vdso without plugins, reported by Emese + - fixed a REFCOUNT/arm compile error, reported by coadde (https://forums.grsecurity.net/viewtopic.php?f=3&t=4410) + - fixed gcc-common.h for gcc 6, reported by psturm (https://forums.grsecurity.net/viewtopic.php?f=3&t=4394) + + Merge branch 'linux-4.4.y' into pax-test + +commit ba5ee94199b11c1429559a08c2158677dd8f1761 +Author: Brad Spengler +Date: Thu Mar 3 20:20:19 2016 -0500 + + Update size_overflow hash table + + tools/gcc/size_overflow_plugin/size_overflow_hash.data | 1 + + 1 file changed, 1 insertion(+) + +commit 50a5cd726362f0988b81a54d4c962acf8fd34a70 +Merge: 335c04c 1cbae46 +Author: Brad Spengler +Date: Thu Mar 3 20:04:00 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 1cbae46efa0b111ef2d46502f8d34c4c572a0e00 +Merge: a51cdb8 c252409 +Author: Brad Spengler +Date: Thu Mar 3 19:57:43 2016 -0500 + + Merge branch 'linux-4.4.y' into pax-test + +commit 335c04c8146a696a6101a9c69dbd47f11383549e +Merge: 897877e a51cdb8 +Author: Brad Spengler +Date: Tue Mar 1 17:57:24 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit a51cdb83569b450858737a30d2be043d87d7ddc1 +Author: Brad Spengler +Date: Tue Mar 1 17:56:43 2016 -0500 + + Update to pax-linux-4.4.3-test6.patch: + - spender fixed the cftype constification fallout, reported by quasar366 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4391) + - fixed a few section mismatches on notifier_block variables + - fixed a few REFCOUNT false positives found by Emese's plugin + - constified hypervisor_x86 + + arch/x86/include/asm/hypervisor.h | 2 +- + arch/x86/kernel/cpu/mshyperv.c | 2 +- + arch/x86/kernel/cpu/vmware.c | 2 +- + arch/x86/kernel/kvm.c | 2 +- + drivers/lightnvm/rrpc.c | 4 ++-- + drivers/lightnvm/rrpc.h | 2 +- + drivers/net/can/led.c | 2 +- + drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 2 +- + drivers/net/ethernet/rocker/rocker.c | 4 ++-- + drivers/net/ipvlan/ipvlan_main.c | 6 +++--- + drivers/net/vrf.c | 2 +- + drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 12 ++++++------ + drivers/staging/rtl8188eu/include/rtw_mlme_ext.h | 2 +- + drivers/staging/rtl8723au/core/rtw_mlme_ext.c | 12 ++++++------ + drivers/staging/rtl8723au/include/drv_types.h | 2 +- + drivers/staging/rtl8723au/include/rtw_mlme_ext.h | 2 +- + drivers/staging/rtl8723au/include/usb_ops.h | 4 ++-- + drivers/thermal/x86_pkg_temp_thermal.c | 2 +- + fs/proc/kcore.c | 2 +- + mm/hugetlb_cgroup.c | 8 ++++---- + mm/mm_init.c | 2 +- + mm/slub.c | 2 +- + net/mac802154/iface.c | 2 +- + 23 files changed, 41 insertions(+), 41 deletions(-) + +commit 897877e79629a0b854e98cb666a9d898256d45a7 +Merge: 1ffa5d5 4f4b213 +Author: Brad Spengler +Date: Sun Feb 28 20:54:59 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 4f4b21342a4a4f87c01f7909406e6b5f4c9dadbf +Author: Brad Spengler +Date: Sun Feb 28 20:54:06 2016 -0500 + + Update to pax-linux-4.4.3-test5.patch: + - constified xfrm_mgr and cftype, by Mathias Krause + - Emese fixed a few checkpatch reports on the gcc plugin generator headers + - Emese fixed a false positive size overflow report in get_next_ino, reported by KARBOWSKI Piotr + - added a generator for SIMPLE_IPA passes as well + + include/linux/cgroup-defs.h | 2 +- + include/linux/hugetlb.h | 2 +- + include/linux/hugetlb_cgroup.h | 11 ++ + include/net/xfrm.h | 2 +- + kernel/cgroup.c | 29 ++-- + mm/hugetlb.c | 55 ++++++- + mm/hugetlb_cgroup.c | 60 ++----- + mm/mmap.c | 38 ++--- + net/xfrm/xfrm_state.c | 4 +- + tools/gcc/constify_plugin.c | 5 +- + tools/gcc/gcc-common.h | 42 +++-- + tools/gcc/gcc-generate-gimple-pass.h | 27 ++-- + tools/gcc/gcc-generate-ipa-pass.h | 43 ++--- + tools/gcc/gcc-generate-rtl-pass.h | 27 ++-- + tools/gcc/gcc-generate-simple_ipa-pass.h | 173 +++++++++++++++++++++ + tools/gcc/size_overflow_plugin/.gitignore | 1 + + .../disable_size_overflow_hash.data | 7 +- + .../size_overflow_plugin/size_overflow_hash.data | 3 - + 18 files changed, 385 insertions(+), 146 deletions(-) + +commit 1ffa5d50a2161311d46b56fdef734f309503cb80 +Author: Brad Spengler +Date: Sun Feb 28 20:43:02 2016 -0500 + + Make suid/sgid bruteforce prevention also apply to binaries with fscaps + enabled + + grsecurity/grsec_sig.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit cfdb373a77c88d01c1539e605e28143af5981571 +Author: Brad Spengler +Date: Sun Feb 28 19:12:39 2016 -0500 + + compile fix + + grsecurity/gracl_segv.c | 2 +- + grsecurity/grsec_sig.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 67d5160f8c1ee12ee4da1e7ad57f8688fcc77b53 +Author: Brad Spengler +Date: Sun Feb 28 18:24:50 2016 -0500 + + Update the daemon check in handling of anti-bruteforcing of suid binaries + by GRKERNSEC_BRUTE to prevent a bypass reported by Jann Horn where one + could create unprivileged copies of the suid binary via ptrace, inject + code into them, and fork+exec a privileged copy. A crash then in the + privileged copy would trigger the daemon detection which could be avoided + by simply terminating the original process. Defeat this by using our + is_privileged_binary() function against the task's mm->binfmt->file to detect + an fscaps-enabled or suid/sgid binary being involved. + + Also update the RBAC RES_CRASH code to use is_privileged_binary(). + + grsecurity/gracl_segv.c | 15 +-------------- + grsecurity/grsec_sig.c | 3 ++- + 2 files changed, 3 insertions(+), 15 deletions(-) + +commit 7382ec22b0c9627c674ccbb00210276d26f219e3 +Author: Brad Spengler +Date: Sun Feb 28 15:06:32 2016 -0500 + + Fix a GRKERNSEC_PTRACE_READEXEC bypass reported by Jann Horn where one + could dump out an unreadable suid binary by creating a script that used + that binary as an interpreter. + + fs/exec.c | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +commit 3e60eddebe1c59b97c0b5432506bf8e13d84e8e6 +Merge: 2d35d52 8327ee6 +Author: Brad Spengler +Date: Thu Feb 25 18:44:11 2016 -0500 + + Merge branch 'pax-test' into grsec-test + + Conflicts: + fs/proc/base.c + kernel/ptrace.c + mm/process_vm_access.c + +commit 8327ee64e5e24ae6a3446dd96b95d5185f70e1f6 +Merge: 09d53c7 2134d97 +Author: Brad Spengler +Date: Thu Feb 25 18:36:46 2016 -0500 + + Merge branch 'linux-4.4.y' into pax-test + + Conflicts: + mm/mmap.c + +commit 2d35d5276f3feb0c053209f8c3a77b1f55f9d96b +Author: Brad Spengler +Date: Wed Feb 24 07:59:12 2016 -0500 + + Remove /proc/pid/map_files which we had previously prevented via + an inverted dependency on checkpoint/restart, but clearly should have + guarded independently as upstream in 4.3 enabled it regardless of checkpoint/ + restart support. It can be used since 4.3 as an ASLR leak under RBAC to + processes of the same UID. Thanks to Mathias Krause for the report! + + fs/proc/base.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit e4f1e517092222aa28179b20e14c0ddfb2796049 +Author: Brad Spengler +Date: Thu Feb 18 19:32:39 2016 -0500 + + Update size_overflow hash table + + .../size_overflow_plugin/size_overflow_hash.data | 158 +++++++++++++++++---- + 1 file changed, 131 insertions(+), 27 deletions(-) + +commit d5f895ddfa903d0d70425b8c3d7ef649c7e6943b +Author: Brad Spengler +Date: Thu Feb 18 18:52:37 2016 -0500 + + Update size_overflow hash table + + .../size_overflow_plugin/size_overflow_hash.data | 293 +++++++++++++++++---- + 1 file changed, 237 insertions(+), 56 deletions(-) + +commit 9d198df724c306c36e254fe19d0957fb608c3fa2 +Author: Brad Spengler +Date: Thu Feb 18 18:23:03 2016 -0500 + + compile fix + + tools/gcc/randomize_layout_plugin.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 024d2af98b755712daff6ed7c49af921da4e8883 +Author: Brad Spengler +Date: Thu Feb 18 18:19:47 2016 -0500 + + compile fix + + tools/gcc/randomize_layout_plugin.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 14a7b3bb5c3d8c6ef70c3e0842a5adc7f0f3e2c8 +Author: Brad Spengler +Date: Thu Feb 18 18:16:32 2016 -0500 + + compile fix + + tools/gcc/randomize_layout_plugin.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 9b2d0ee62bc66858c274f256c0502cbcbd34b2bf +Author: Brad Spengler +Date: Thu Feb 18 17:54:51 2016 -0500 + + Compile fix + + tools/gcc/randomize_layout_plugin.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 13823395101c4228ecded4b624583389ee13bfb3 +Author: Brad Spengler +Date: Thu Feb 18 17:35:21 2016 -0500 + + compile fix + + Makefile | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +commit 0316a42a37e67b0bc8a545c7a8b63db2d25f1ab0 +Merge: 45cbb7e 09d53c7 +Author: Brad Spengler +Date: Thu Feb 18 16:40:51 2016 -0500 + + Merge branch 'pax-test' into grsec-test + + Conflicts: + Makefile + include/linux/genl_magic_struct.h + scripts/mod/modpost.c + tools/gcc/size_overflow_plugin/size_overflow_hash.data + +commit 09d53c74140e87e886a28980cedbb7e771f2a356 +Author: Brad Spengler +Date: Thu Feb 18 16:24:02 2016 -0500 + + Update to pax-linux-4.4.2-test4.patch: + - fixed the initialization of ipc_namespace.shm_ctlmax to prevent the size overflow plugin from catching an integer truncation when calling shmem_kernel_file_setup, reported by Mathias Krause + - moved gcc plugin related makefile bits into a separate file, by Emese + - changed modpost to report writable function pointers separately + - increased the size of mem_cgroup.numainfo_events to avoid a wraparound caught by REFCOUNT, reported by alexey vlasov + - reduced the size of the compat syscall entry points on amd64 + - fixed an integer signedness mixup in drbd caught by the size overflow plugin, reported by iamb and gaima (https://forums.grsecurity.net/viewtopic.php?f=3&t=4366) + - Emese regenerated the size overflow hash table for 4.4 + - all plugins now use the new pass generator headers + + Makefile | 73 +- + arch/x86/entry/entry_64.S | 2 +- + arch/x86/entry/entry_64_compat.S | 48 +- + fs/exec.c | 3 + + include/linux/genl_magic_struct.h | 4 +- + include/linux/memcontrol.h | 2 +- + ipc/shm.c | 2 +- + mm/memcontrol.c | 6 +- + scripts/Makefile.extrawarn | 4 + + scripts/Makefile.gcc-plugins | 69 + + scripts/mod/modpost.c | 15 +- + tools/gcc/checker_plugin.c | 71 +- + tools/gcc/colorize_plugin.c | 65 +- + tools/gcc/constify_plugin.c | 65 +- + tools/gcc/gcc-generate-gimple-pass.h | 172 + + tools/gcc/gcc-generate-ipa-pass.h | 286 + tools/gcc/gcc-generate-rtl-pass.h | 172 + tools/gcc/initify_plugin.c | 74 +- tools/gcc/kallocstat_plugin.c | 65 +- @@ -9669,3 +23068,4937 @@ Date: Fri Dec 4 14:24:12 2015 -0500 tools/virtio/linux/uaccess.h | 2 +- virt/kvm/kvm_main.c | 42 +- 1944 files changed, 66925 insertions(+), 8949 deletions(-) +commit 87790bbd0d8dc2bd7fd86cb947e32886db9e9766 +Author: Matthew Wilcox +Date: Tue Feb 2 16:57:52 2016 -0800 + + radix-tree: fix race in gang lookup + + If the indirect_ptr bit is set on a slot, that indicates we need to redo + the lookup. Introduce a new function radix_tree_iter_retry() which + forces the loop to retry the lookup by setting 'slot' to NULL and + turning the iterator back to point at the problematic entry. + + This is a pretty rare problem to hit at the moment; the lookup has to + race with a grow of the radix tree from a height of 0. The consequences + of hitting this race are that gang lookup could return a pointer to a + radix_tree_node instead of a pointer to whatever the user had inserted + in the tree. + + Fixes: cebbd29e1c2f ("radix-tree: rewrite gang lookup using iterator") + Signed-off-by: Matthew Wilcox + Cc: Hugh Dickins + Cc: Ohad Ben-Cohen + Cc: Konstantin Khlebnikov + Cc: + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds + + include/linux/radix-tree.h | 16 ++++++++++++++++ + lib/radix-tree.c | 12 ++++++++++-- + 2 files changed, 26 insertions(+), 2 deletions(-) + +commit bf628043b4589c910919a0f221ae7f42aa8cea93 +Author: Hannes Frederic Sowa +Date: Wed Feb 3 02:11:03 2016 +0100 + + unix: correctly track in-flight fds in sending process user_struct + + The commit referenced in the Fixes tag incorrectly accounted the number + of in-flight fds over a unix domain socket to the original opener + of the file-descriptor. This allows another process to arbitrary + deplete the original file-openers resource limit for the maximum of + open files. Instead the sending processes and its struct cred should + be credited. + + To do so, we add a reference counted struct user_struct pointer to the + scm_fp_list and use it to account for the number of inflight unix fds. + + Fixes: 712f4aad406bb1 ("unix: properly account for FDs passed over unix sockets") + Reported-by: David Herrmann + Cc: David Herrmann + Cc: Willy Tarreau + Cc: Linus Torvalds + Suggested-by: Linus Torvalds + Signed-off-by: Hannes Frederic Sowa + Signed-off-by: David S. Miller + + include/net/af_unix.h | 4 ++-- + include/net/scm.h | 1 + + net/core/scm.c | 7 +++++++ + net/unix/af_unix.c | 4 ++-- + net/unix/garbage.c | 8 ++++---- + 5 files changed, 16 insertions(+), 8 deletions(-) + +commit e830db443ff78d70b7b63536e688d73907face0c +Author: Mike Kravetz +Date: Fri Jan 15 16:57:37 2016 -0800 + + fs/hugetlbfs/inode.c: fix bugs in hugetlb_vmtruncate_list() + + Hillf Danton noticed bugs in the hugetlb_vmtruncate_list routine. The + argument end is of type pgoff_t. It was being converted to a vaddr + offset and passed to unmap_hugepage_range. However, end was also being + used as an argument to the vma_interval_tree_foreach controlling loop. + In addition, the conversion of end to vaddr offset was incorrect. + + hugetlb_vmtruncate_list is called as part of a file truncate or + fallocate hole punch operation. + + When truncating a hugetlbfs file, this bug could prevent some pages from + being unmapped. This is possible if there are multiple vmas mapping the + file, and there is a sufficiently sized hole between the mappings. The + size of the hole between two vmas (A,B) must be such that the starting + virtual address of B is greater than (ending virtual address of A << + PAGE_SHIFT). In this case, the pages in B would not be unmapped. If + pages are not properly unmapped during truncate, the following BUG is + hit: + + kernel BUG at fs/hugetlbfs/inode.c:428! + + In the fallocate hole punch case, this bug could prevent pages from + being unmapped as in the truncate case. However, for hole punch the + result is that unmapped pages will not be removed during the operation. + For hole punch, it is also possible that more pages than desired will be + unmapped. This unnecessary unmapping will cause page faults to + reestablish the mappings on subsequent page access. + + Fixes: 1bfad99ab (" hugetlbfs: hugetlb_vmtruncate_list() needs to take a range")Reported-by: Hillf Danton + Signed-off-by: Mike Kravetz + Cc: Hugh Dickins + Cc: Naoya Horiguchi + Cc: Davidlohr Bueso + Cc: Dave Hansen + Cc: [4.3] + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds + + fs/hugetlbfs/inode.c | 19 +++++++++++-------- + 1 files changed, 11 insertions(+), 8 deletions(-) + +commit cdb3ba4a9113b779347387f3b6c6ea72dd4db12f +Author: Takashi Iwai +Date: Thu Feb 4 17:06:13 2016 +0100 + + ALSA: timer: Fix leftover link at closing + + In ALSA timer core, the active timer instance is managed in + active_list linked list. Each element is added / removed dynamically + at timer start, stop and in timer interrupt. The problem is that + snd_timer_interrupt() has a thinko and leaves the element in + active_list when it's the last opened element. This eventually leads + to list corruption or use-after-free error. + + This hasn't been revealed because we used to delete the list forcibly + in snd_timer_stop() in the past. However, the recent fix avoids the + double-stop behavior (in commit [f784beb75ce8: ALSA: timer: Fix link + corruption due to double start or stop]), and this leak hits reality. + + This patch fixes the link management in snd_timer_interrupt(). Now it + simply unlinks no matter which stream is. + + BugLink: http://lkml.kernel.org/r/CACT4Y+Yy2aukHP-EDp8-ziNqNNmb-NTf=jDWXMP7jB8HDa2vng@mail.gmail.com + Reported-by: Dmitry Vyukov + Cc: + Signed-off-by: Takashi Iwai + + sound/core/timer.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 47d9647902f6a2f46a2be1e0140ba0f6f8c06008 +Author: Konstantin Khlebnikov +Date: Fri Feb 5 15:37:01 2016 -0800 + + radix-tree: fix oops after radix_tree_iter_retry + + Helper radix_tree_iter_retry() resets next_index to the current index. + In following radix_tree_next_slot current chunk size becomes zero. This + isn't checked and it tries to dereference null pointer in slot. + + Tagged iterator is fine because retry happens only at slot 0 where tag + bitmask in iter->tags is filled with single bit. + + Fixes: 46437f9a554f ("radix-tree: fix race in gang lookup") + Signed-off-by: Konstantin Khlebnikov + Cc: Matthew Wilcox + Cc: Hugh Dickins + Cc: Ohad Ben-Cohen + Cc: Jeremiah Mahler + Cc: + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds + + include/linux/radix-tree.h | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +commit 95b5dcb3c01958502af00b0bc0da1d906aae11a2 +Merge: 438be0b 256aeaf +Author: Brad Spengler +Date: Sun Feb 7 08:29:33 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 256aeaf87c22de8edf1f03682a572c590ae07771 +Author: Brad Spengler +Date: Sun Feb 7 08:29:09 2016 -0500 + + Update to pax-linux-4.3.5-test28.patch: + - fixed an integer truncation bug in numa_clear_kernel_node_hotplug caught by the size overflow plugin, reported by x14sg1 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4374) + - spender fixed UDEREF on arm + + arch/arm/Kconfig | 1 + + arch/arm/include/asm/domain.h | 21 ++++++++- + arch/arm/include/asm/futex.h | 9 ---- + arch/arm/include/asm/thread_info.h | 3 + + arch/arm/include/asm/uaccess.h | 81 +++++++++++++++--------------------- + arch/arm/kernel/entry-armv.S | 2 +- + arch/arm/kernel/process.c | 2 +- + arch/arm/mm/alignment.c | 8 ---- + arch/x86/mm/numa.c | 2 +- + security/Kconfig | 1 - + 10 files changed, 60 insertions(+), 70 deletions(-) + +commit 438be0bd112bd17942b2628c53054dc1007558a1 +Author: Brad Spengler +Date: Sat Feb 6 19:50:31 2016 -0500 + + Fix a number of issues caused by the upstream merging of a UDEREF ripoff resulting in unbootable + ARM systems reported on the forums + + arch/arm/Kconfig | 1 + + arch/arm/include/asm/domain.h | 21 ++++++++- + arch/arm/include/asm/futex.h | 9 ---- + arch/arm/include/asm/thread_info.h | 3 + + arch/arm/include/asm/uaccess.h | 81 +++++++++++++++--------------------- + arch/arm/kernel/entry-armv.S | 2 +- + arch/arm/kernel/process.c | 2 +- + arch/arm/mm/alignment.c | 8 ---- + security/Kconfig | 1 - + 9 files changed, 59 insertions(+), 69 deletions(-) + +commit 4ffdd5ef1f87e611af1efb4f251ada92abe9f4c0 +Author: Brad Spengler +Date: Sat Feb 6 11:21:53 2016 -0500 + + Fix another compiler warning + + net/ipv4/tcp_input.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit 30b5b7bc0fd67d458bdd5ab35e4689769eabd2ed +Author: Brad Spengler +Date: Sat Feb 6 11:16:12 2016 -0500 + + Fix two compiler warnings + + kernel/pid.c | 5 ++--- + kernel/ptrace.c | 3 ++- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit dda4d2a21914c480750f10bd55c6e3203d415d8d +Author: Brad Spengler +Date: Wed Feb 3 21:22:40 2016 -0500 + + Apply fix for integer truncation in NUMA init code, reported by + x14sg1 on the forums: + https://forums.grsecurity.net/viewtopic.php?f=3&t=4374 + + arch/x86/mm/numa.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 477505f7c893cb6a2c3e22f83eefd9c985d7b3ca +Merge: a781740 016d0d8 +Author: Brad Spengler +Date: Wed Feb 3 21:20:58 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 016d0d81a8dd4be1304c82a68e0ccf425868f467 +Author: Brad Spengler +Date: Wed Feb 3 21:20:10 2016 -0500 + + Update to pax-linux-4.3.5-test27.patch: + - fixed a bunch of potential REFCOUNT false positives, reported by Emese + - restored padding in fpregs_state for storing AVX-512 state in the future + - constified netlink_dump_control + - added const version of debug_gimple_stmt for gcc plugins, by Emese + - Emese fixed a bug in initify that could have initified too much + - Emese fixed a false positive intentional integer overflow in xfrm4_extract_header, reported by corsac + + arch/x86/include/asm/fpu/types.h | 1 + + arch/x86/include/asm/mmu_context.h | 2 +- + block/blk-cgroup.c | 18 ++-- + block/cfq-iosched.c | 4 +- + crypto/crypto_user.c | 8 ++- + drivers/acpi/apei/ghes.c | 6 +- + drivers/char/ipmi/ipmi_ssif.c | 12 ++-- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 2 +- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 2 +- + drivers/gpu/drm/amd/scheduler/sched_fence.c | 2 +- + drivers/infiniband/core/netlink.c | 5 +- + drivers/infiniband/hw/cxgb4/device.c | 6 +- + drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 +- + drivers/md/bcache/alloc.c | 2 +- + drivers/md/bcache/bcache.h | 10 +- + drivers/md/bcache/btree.c | 2 +- + drivers/md/bcache/io.c | 10 +- + drivers/md/bcache/journal.c | 2 +- + drivers/md/bcache/stats.c | 26 +++--- + drivers/md/bcache/stats.h | 16 ++-- + drivers/md/bcache/super.c | 2 +- + drivers/md/bcache/sysfs.c | 20 +++--- + drivers/md/dm-cache-target.c | 98 ++++++++++++------------ + drivers/md/dm-raid.c | 2 +- + drivers/md/md.c | 6 +- + drivers/md/md.h | 2 +- + drivers/md/raid1.c | 2 +- + drivers/md/raid10.c | 2 +- + drivers/md/raid5.c | 4 +- + drivers/media/pci/zoran/zoran.h | 1 - + drivers/media/pci/zoran/zoran_driver.c | 3 - + drivers/net/ethernet/sfc/selftest.c | 20 +++--- + drivers/net/irda/vlsi_ir.c | 18 ++-- + drivers/net/irda/vlsi_ir.h | 14 ++-- + drivers/net/wireless/ath/carl9170/carl9170.h | 6 +- + drivers/net/wireless/ath/carl9170/debug.c | 6 +- + drivers/net/wireless/ath/carl9170/main.c | 10 +- + drivers/net/wireless/ath/carl9170/tx.c | 4 +- + drivers/net/wireless/iwlwifi/mvm/d3.c | 4 +- + drivers/net/wireless/iwlwifi/mvm/tx.c | 2 +- + drivers/scsi/hptiop.c | 2 - + drivers/scsi/hptiop.h | 1 - + drivers/scsi/ipr.c | 6 +- + drivers/scsi/ipr.h | 2 +- + drivers/scsi/qla2xxx/qla_target.c | 10 +- + drivers/scsi/qla2xxx/qla_target.h | 2 +- + fs/btrfs/ctree.c | 2 +- + fs/btrfs/ctree.h | 4 +- + fs/btrfs/delayed-ref.c | 4 +- + fs/btrfs/disk-io.c | 4 +- + fs/btrfs/file.c | 4 +- + fs/btrfs/raid56.c | 32 ++++---- + fs/btrfs/tests/btrfs-tests.c | 2 +- + fs/btrfs/transaction.c | 2 +- + fs/btrfs/tree-log.c | 8 +- + fs/btrfs/volumes.c | 14 ++-- + fs/btrfs/volumes.h | 22 +++--- + fs/jbd2/commit.c | 2 +- + fs/jbd2/transaction.c | 4 +- + fs/ocfs2/dlm/dlmcommon.h | 4 +- + fs/ocfs2/dlm/dlmdebug.c | 10 +- + fs/ocfs2/dlm/dlmdomain.c | 4 +- + fs/ocfs2/dlm/dlmmaster.c | 4 +- + include/acpi/ghes.h | 2 +- + include/linux/blk-cgroup.h | 24 +++--- + include/linux/jbd2.h | 2 +- + include/linux/netlink.h | 12 ++-- + include/net/cfg802154.h | 2 +- + include/net/mac80211.h | 2 +- + include/net/neighbour.h | 2 +- + kernel/rcu/tree_plugin.h | 4 +- + net/batman-adv/routing.c | 4 +- + net/batman-adv/soft-interface.c | 2 +- + net/batman-adv/translation-table.c | 14 ++-- + net/batman-adv/types.h | 2 +- + net/core/neighbour.c | 14 ++-- + net/core/rtnetlink.c | 2 +- + net/ipv4/arp.c | 2 +- + net/ipv4/inet_diag.c | 4 +- + net/ipv4/xfrm4_state.c | 4 +- + net/ipv6/ndisc.c | 2 +- + net/mac80211/cfg.c | 2 +- + net/mac80211/debugfs_key.c | 2 +- + net/mac80211/key.c | 4 +- + net/mac80211/tx.c | 2 +- + net/mac80211/wpa.c | 10 +- + net/mac802154/iface.c | 4 +- + net/netfilter/ipset/ip_set_core.c | 2 +- + net/netfilter/nf_conntrack_netlink.c | 22 +++--- + net/netfilter/nf_tables_api.c | 13 ++-- + net/netfilter/nfnetlink_acct.c | 7 +- + net/netfilter/nfnetlink_cthelper.c | 2 +- + net/netfilter/nfnetlink_cttimeout.c | 2 +- + net/netlink/af_netlink.c | 10 ++- + net/netlink/diag.c | 2 +- + net/netlink/genetlink.c | 14 ++-- + net/packet/af_packet.c | 18 ++-- + net/packet/diag.c | 2 +- + net/packet/internal.h | 6 +- + net/unix/diag.c | 2 +- + net/xfrm/xfrm_user.c | 2 +- + security/apparmor/include/policy.h | 2 +- + security/apparmor/policy.c | 4 +- + sound/core/seq/seq_clientmgr.c | 2 +- + sound/core/seq/seq_fifo.c | 6 +- + sound/core/seq/seq_fifo.h | 2 +- + tools/gcc/gcc-common.h | 24 ++++-- + tools/gcc/initify_plugin.c | 7 +- + tools/lib/api/Makefile | 2 +- + 109 files changed, 399 insertions(+), 391 deletions(-) + +commit a7817402ac837b1aee07fac42537a02097055098 +Author: Matt Fleming +Date: Fri Jan 29 11:36:10 2016 +0000 + + x86/mm/pat: Avoid truncation when converting cpa->numpages to address + + There are a couple of nasty truncation bugs lurking in the pageattr + code that can be triggered when mapping EFI regions, e.g. when we pass + a cpa->pgd pointer. Because cpa->numpages is a 32-bit value, shifting + left by PAGE_SHIFT will truncate the resultant address to 32-bits. + + Viorel-Cătălin managed to trigger this bug on his Dell machine that + provides a ~5GB EFI region which requires 1236992 pages to be mapped. + When calling populate_pud() the end of the region gets calculated + incorrectly in the following buggy expression, + + end = start + (cpa->numpages << PAGE_SHIFT); + + And only 188416 pages are mapped. Next, populate_pud() gets invoked + for a second time because of the loop in __change_page_attr_set_clr(), + only this time no pages get mapped because shifting the remaining + number of pages (1048576) by PAGE_SHIFT is zero. At which point the + loop in __change_page_attr_set_clr() spins forever because we fail to + map progress. + + Hitting this bug depends very much on the virtual address we pick to + map the large region at and how many pages we map on the initial run + through the loop. This explains why this issue was only recently hit + with the introduction of commit + + a5caa209ba9c ("x86/efi: Fix boot crash by mapping EFI memmap + entries bottom-up at runtime, instead of top-down") + + It's interesting to note that safe uses of cpa->numpages do exist in + the pageattr code. If instead of shifting ->numpages we multiply by + PAGE_SIZE, no truncation occurs because PAGE_SIZE is a UL value, and + so the result is unsigned long. + + To avoid surprises when users try to convert very large cpa->numpages + values to addresses, change the data type from 'int' to 'unsigned + long', thereby making it suitable for shifting by PAGE_SHIFT without + any type casting. + + The alternative would be to make liberal use of casting, but that is + far more likely to cause problems in the future when someone adds more + code and fails to cast properly; this bug was difficult enough to + track down in the first place. + + Reported-and-tested-by: Viorel-Cătălin Răpițeanu + Acked-by: Borislav Petkov + Cc: Sai Praneeth Prakhya + Cc: + Signed-off-by: Matt Fleming + Link: https://bugzilla.kernel.org/show_bug.cgi?id=110131 + Link: http://lkml.kernel.org/r/1454067370-10374-1-git-send-email-matt@codeblueprint.co.uk + Signed-off-by: Thomas Gleixner + + arch/x86/mm/pageattr.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 64dd9d7a67a742fda257cdd16510c29e695c34b5 +Author: Jan Beulich +Date: Tue Jan 26 04:15:18 2016 -0700 + + x86/mm: Fix types used in pgprot cacheability flags translations + + For PAE kernels "unsigned long" is not suitable to hold page protection + flags, since _PAGE_NX doesn't fit there. This is the reason for quite a + few W+X pages getting reported as insecure during boot (observed namely + for the entire initrd range). + + Fixes: 281d4078be ("x86: Make page cache mode a real type") + Signed-off-by: Jan Beulich + Reviewed-by: Juergen Gross + Cc: stable@vger.kernel.org + Link: http://lkml.kernel.org/r/56A7635602000078000CAFF1@prv-mh.provo.novell.com + Signed-off-by: Thomas Gleixner + + arch/x86/include/asm/pgtable_types.h | 6 ++---- + 1 files changed, 2 insertions(+), 4 deletions(-) + +commit bb9a3a9df0d8dfc96d521676e64c42b37ba22aea +Merge: 682d661 f74425b +Author: Brad Spengler +Date: Sun Jan 31 15:06:25 2016 -0500 + + Merge branch 'pax-test' into grsec-test + + Conflicts: + drivers/net/slip/slhc.c + include/linux/sched.h + net/unix/af_unix.c + sound/core/timer.c + +commit f74425b5705bfe52aff9e97659ef10c4a14176c3 +Merge: d14af1f 849a2d3 +Author: Brad Spengler +Date: Sun Jan 31 15:02:55 2016 -0500 + + Merge branch 'linux-4.3.y' into pax-test + + Conflicts: + arch/x86/include/asm/mmu_context.h + +commit 682d6611d75542e351c973c8dd74a99d3966c073 +Author: Brad Spengler +Date: Sat Jan 30 13:05:03 2016 -0500 + + Based on a report from Mathias Krause, fix up a number of additional instances + of ulong overflow when passing in values to gr_learn_resource by saturating + to ULONG_MAX + + mm/mlock.c | 11 ++++++++--- + mm/mmap.c | 16 +++++++++++++--- + 2 files changed, 21 insertions(+), 6 deletions(-) + +commit adb52e95fb9ad4ac9c56cd5d47bd668f47c33096 +Author: Jann Horn +Date: Sat Dec 26 06:00:48 2015 +0100 + + seccomp: always propagate NO_NEW_PRIVS on tsync + + Before this patch, a process with some permissive seccomp filter + that was applied by root without NO_NEW_PRIVS was able to add + more filters to itself without setting NO_NEW_PRIVS by setting + the new filter from a throwaway thread with NO_NEW_PRIVS. + + Signed-off-by: Jann Horn + Cc: stable@vger.kernel.org + Signed-off-by: Kees Cook + + kernel/seccomp.c | 22 +++++++++++----------- + 1 files changed, 11 insertions(+), 11 deletions(-) + +commit b85450498a3bbf269441c8963d7574bb3079c838 +Merge: 59c216f d14af1f +Author: Brad Spengler +Date: Fri Jan 29 20:54:13 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit d14af1f1dd66511f3f0674deee2b572972012b39 +Author: Brad Spengler +Date: Fri Jan 29 20:53:51 2016 -0500 + + Update to pax-linux-4.3.4-test26.patch: + - Emese fixed a few intentional overflows introduced by gcc, reported by StalkR (https://forums.grsecurity.net/viewtopic.php?f=3&t=4370) + + fs/cifs/file.c | 2 +- + fs/gfs2/file.c | 2 +- + .../size_overflow_plugin/intentional_overflow.c | 96 ++++++++++++++++++-- + tools/gcc/size_overflow_plugin/size_overflow.h | 2 + + .../size_overflow_plugin/size_overflow_plugin.c | 4 +- + .../size_overflow_plugin/size_overflow_transform.c | 6 +- + .../size_overflow_transform_core.c | 5 + + 7 files changed, 102 insertions(+), 15 deletions(-) + +commit 59c216f13587eacdd692386b7a403ae78ed84fb6 +Author: Brad Spengler +Date: Wed Jan 27 17:57:21 2016 -0500 + + Fix a size_overflow report reported by Mathias Krause in our + truncation of an loff_t to an unsigned long when being passed + to gr_learn_resource() (as all resource checks are against unsigned long + values) + + fs/attr.c | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +commit 70636c6ad60fc1db3af764ecc789b827b7497a97 +Author: Yuchung Cheng +Date: Wed Jan 6 12:42:38 2016 -0800 + + tcp: fix zero cwnd in tcp_cwnd_reduction + + Patch 3759824da87b ("tcp: PRR uses CRB mode by default and SS mode + conditionally") introduced a bug that cwnd may become 0 when both + inflight and sndcnt are 0 (cwnd = inflight + sndcnt). This may lead + to a div-by-zero if the connection starts another cwnd reduction + phase by setting tp->prior_cwnd to the current cwnd (0) in + tcp_init_cwnd_reduction(). + + To prevent this we skip PRR operation when nothing is acked or + sacked. Then cwnd must be positive in all cases as long as ssthresh + is positive: + + 1) The proportional reduction mode + inflight > ssthresh > 0 + + 2) The reduction bound mode + a) inflight == ssthresh > 0 + + b) inflight < ssthresh + sndcnt > 0 since newly_acked_sacked > 0 and inflight < ssthresh + + Therefore in all cases inflight and sndcnt can not both be 0. + We check invalid tp->prior_cwnd to avoid potential div0 bugs. + + In reality this bug is triggered only with a sequence of less common + events. For example, the connection is terminating an ECN-triggered + cwnd reduction with an inflight 0, then it receives reordered/old + ACKs or DSACKs from prior transmission (which acks nothing). Or the + connection is in fast recovery stage that marks everything lost, + but fails to retransmit due to local issues, then receives data + packets from other end which acks nothing. + + Fixes: 3759824da87b ("tcp: PRR uses CRB mode by default and SS mode conditionally") + Reported-by: Oleksandr Natalenko + Signed-off-by: Yuchung Cheng + Signed-off-by: Neal Cardwell + Signed-off-by: Eric Dumazet + Signed-off-by: David S. Miller + + net/ipv4/tcp_input.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit dac1da2bedbb43195d371c7a192cfeeb45683df0 +Author: Eric Dumazet +Date: Sun Jan 24 13:53:50 2016 -0800 + + af_unix: fix struct pid memory leak + + Dmitry reported a struct pid leak detected by a syzkaller program. + + Bug happens in unix_stream_recvmsg() when we break the loop when a + signal is pending, without properly releasing scm. + + Fixes: b3ca9b02b007 ("net: fix multithreaded signal handling in unix recv routines") + Reported-by: Dmitry Vyukov + Signed-off-by: Eric Dumazet + Cc: Rainer Weikusat + Signed-off-by: David S. Miller + + net/unix/af_unix.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 15cc47f127520d1ac0c1fe76d993c2c27f0f2571 +Author: Hannes Frederic Sowa +Date: Fri Jan 22 01:39:43 2016 +0100 + + pptp: fix illegal memory access caused by multiple bind()s + + Several times already this has been reported as kasan reports caused by + syzkaller and trinity and people always looked at RCU races, but it is + much more simple. :) + + In case we bind a pptp socket multiple times, we simply add it to + the callid_sock list but don't remove the old binding. Thus the old + socket stays in the bucket with unused call_id indexes and doesn't get + cleaned up. This causes various forms of kasan reports which were hard + to pinpoint. + + Simply don't allow multiple binds and correct error handling in + pptp_bind. Also keep sk_state bits in place in pptp_connect. + + Fixes: 00959ade36acad ("PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol)") + Cc: Dmitry Kozlov + Cc: Sasha Levin + Cc: Dmitry Vyukov + Reported-by: Dmitry Vyukov + Cc: Dave Jones + Reported-by: Dave Jones + Signed-off-by: Hannes Frederic Sowa + Signed-off-by: David S. Miller + + drivers/net/ppp/pptp.c | 34 ++++++++++++++++++++++++---------- + 1 files changed, 24 insertions(+), 10 deletions(-) + +commit e2b7b8c66851c85188fa6dab2d2b2a6c85bc7332 +Author: Brad Spengler +Date: Tue Jan 26 18:17:10 2016 -0500 + + Add info about cpupower/powertop to GRKERNSEC_KMEM, was present on our + wiki but was removed from the config help at some point + + grsecurity/Kconfig | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit ce2e88efa000fc32bfcd84098f57c8ed8310fefc +Author: Thomas Egerer +Date: Mon Jan 25 12:58:44 2016 +0100 + + ipv4+ipv6: Make INET*_ESP select CRYPTO_ECHAINIV + + The ESP algorithms using CBC mode require echainiv. Hence INET*_ESP have + to select CRYPTO_ECHAINIV in order to work properly. This solves the + issues caused by a misconfiguration as described in [1]. + The original approach, patching crypto/Kconfig was turned down by + Herbert Xu [2]. + + [1] https://lists.strongswan.org/pipermail/users/2015-December/009074.html + [2] http://marc.info/?l=linux-crypto-vger&m=145224655809562&w=2 + + Signed-off-by: Thomas Egerer + Acked-by: Herbert Xu + Signed-off-by: David S. Miller + + net/ipv4/Kconfig | 1 + + net/ipv6/Kconfig | 1 + + 2 files changed, 2 insertions(+), 0 deletions(-) + +commit fca5a303155ea67d28aece0caf2b03ffc3b2668d +Merge: 904114c 6339c1f +Author: Brad Spengler +Date: Tue Jan 26 18:08:40 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 6339c1f9a9beafd417bf9f04d4b257e62aeb45b7 +Author: Brad Spengler +Date: Tue Jan 26 18:07:51 2016 -0500 + + Update to pax-linux-4.3.4-test25.patch: + - fixed incorrect handling of VM_DONTCOPY during fork that would trigger a consistency check in the vma mirroring logic, reported by Mathias Krause + - fixed init_new_context on !MODIFY_LDT_SYSCALL configs, reported by tjh (https://forums.grsecurity.net/viewtopic.php?f=3&t=4368) + - fixed a few REFCOUNT false positives in SNMP related statistics + + arch/x86/Kconfig | 2 +- + arch/x86/include/asm/mmu_context.h | 17 +++++++++++++++++ + include/net/snmp.h | 10 +++++----- + kernel/fork.c | 11 +++++++++-- + net/ipv4/proc.c | 8 ++++---- + net/ipv6/addrconf.c | 4 ++-- + net/ipv6/proc.c | 10 +++++----- + 7 files changed, 43 insertions(+), 19 deletions(-) + +commit 904114c2fce3fdff5d57e763da56a78960db4e19 +Author: Al Viro +Date: Fri Jan 22 18:08:52 2016 -0500 + + make sure that freeing shmem fast symlinks is RCU-delayed + + Cc: stable@vger.kernel.org # v4.2+ + Signed-off-by: Al Viro + + include/linux/shmem_fs.h | 5 +---- + mm/shmem.c | 9 ++++----- + 2 files changed, 5 insertions(+), 9 deletions(-) + +commit ab86adee64312a2f827dd516cb199521327943ed +Author: Sasha Levin +Date: Mon Jan 18 19:23:51 2016 -0500 + + netfilter: nf_conntrack: use safer way to lock all buckets + + When we need to lock all buckets in the connection hashtable we'd attempt to + lock 1024 spinlocks, which is way more preemption levels than supported by + the kernel. Furthermore, this behavior was hidden by checking if lockdep is + enabled, and if it was - use only 8 buckets(!). + + Fix this by using a global lock and synchronize all buckets on it when we + need to lock them all. This is pretty heavyweight, but is only done when we + need to resize the hashtable, and that doesn't happen often enough (or at all). + + Signed-off-by: Sasha Levin + Acked-by: Jesper Dangaard Brouer + Reviewed-by: Florian Westphal + Signed-off-by: Pablo Neira Ayuso + + Conflicts: + + net/netfilter/nfnetlink_cttimeout.c + + include/net/netfilter/nf_conntrack_core.h | 8 ++---- + net/netfilter/nf_conntrack_core.c | 38 +++++++++++++++++++++------- + net/netfilter/nf_conntrack_helper.c | 2 +- + net/netfilter/nf_conntrack_netlink.c | 2 +- + 4 files changed, 33 insertions(+), 17 deletions(-) + +commit 37014723527225481c720484bb788a1a6358072f +Author: Willy Tarreau +Date: Mon Jan 18 16:36:09 2016 +0100 + + pipe: limit the per-user amount of pages allocated in pipes + + On no-so-small systems, it is possible for a single process to cause an + OOM condition by filling large pipes with data that are never read. A + typical process filling 4000 pipes with 1 MB of data will use 4 GB of + memory. On small systems it may be tricky to set the pipe max size to + prevent this from happening. + + This patch makes it possible to enforce a per-user soft limit above + which new pipes will be limited to a single page, effectively limiting + them to 4 kB each, as well as a hard limit above which no new pipes may + be created for this user. This has the effect of protecting the system + against memory abuse without hurting other users, and still allowing + pipes to work correctly though with less data at once. + + The limit are controlled by two new sysctls : pipe-user-pages-soft, and + pipe-user-pages-hard. Both may be disabled by setting them to zero. The + default soft limit allows the default number of FDs per process (1024) + to create pipes of the default size (64kB), thus reaching a limit of 64MB + before starting to create only smaller pipes. With 256 processes limited + to 1024 FDs each, this results in 1024*64kB + (256*1024 - 1024) * 4kB = + 1084 MB of memory allocated for a user. The hard limit is disabled by + default to avoid breaking existing applications that make intensive use + of pipes (eg: for splicing). + + Reported-by: socketpair@gmail.com + Reported-by: Tetsuo Handa + Mitigates: CVE-2013-4312 (Linux 2.0+) + Suggested-by: Linus Torvalds + Signed-off-by: Willy Tarreau + Signed-off-by: Al Viro + + Documentation/sysctl/fs.txt | 23 +++++++++++++++++++++ + fs/pipe.c | 47 +++++++++++++++++++++++++++++++++++++++++- + include/linux/pipe_fs_i.h | 4 +++ + include/linux/sched.h | 1 + + kernel/sysctl.c | 14 ++++++++++++ + 5 files changed, 87 insertions(+), 2 deletions(-) + +commit 51645fa198d194f746651dcfbc5f24a4cf8b9fb8 +Merge: 540f2af 7791ecb +Author: Brad Spengler +Date: Sat Jan 23 10:57:11 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 7791ecb84f840343a5646236fd0d34e1fb450793 +Merge: 470069c 399588c +Author: Brad Spengler +Date: Sat Jan 23 10:56:47 2016 -0500 + + Merge branch 'linux-4.3.y' into pax-test + +commit 540f2affebd42cdc26a699208ab4f1cb0cb75e33 +Author: Brad Spengler +Date: Tue Jan 19 21:18:47 2016 -0500 + + Update size_overflow hash table + + .../size_overflow_plugin/size_overflow_hash.data | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +commit 7e649765626a28437f573f0fbe7a51a04615f041 +Author: Brad Spengler +Date: Tue Jan 19 20:29:46 2016 -0500 + + Backport fix from: https://lkml.org/lkml/2015/12/13/187 + + fs/ext4/extents.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 53b859cd0a5f5b6ad54fe0c879dfedaa3c5a3005 +Author: Jann Horn +Date: Tue Jan 5 18:27:30 2016 +0100 + + compat_ioctl: don't call do_ioctl under set_fs(KERNEL_DS) + + This replaces all code in fs/compat_ioctl.c that translated + ioctl arguments into a in-kernel structure, then performed + do_ioctl under set_fs(KERNEL_DS), with code that allocates + data on the user stack and can call the VFS ioctl handler + under USER_DS. + + This is done as a hardening measure because the caller + does not know what kind of ioctl handler will be invoked, + only that no corresponding compat_ioctl handler exists and + what the ioctl command number is. The accidental + invocation of an unlocked_ioctl handler that unexpectedly + calls copy_to_user could be a severe security issue. + + Signed-off-by: Jann Horn + Signed-off-by: Al Viro + + Conflicts: + + fs/compat_ioctl.c + + fs/compat_ioctl.c | 130 ++++++++++++++++++++++++++++------------------------- + 1 files changed, 68 insertions(+), 62 deletions(-) + +commit 3e89e770ae27e931cd1583f021abac41eeebc3e7 +Author: Al Viro +Date: Thu Jan 7 09:53:30 2016 -0500 + + compat_ioctl: don't pass fd around when not needed + + Signed-off-by: Al Viro + + fs/compat_ioctl.c | 103 ++++++++++++++++++++++++++-------------------------- + fs/internal.h | 7 ++++ + fs/ioctl.c | 4 +- + include/linux/fs.h | 2 - + 4 files changed, 61 insertions(+), 55 deletions(-) + +commit 9d4e04082752d4d2d68445c4e6faf33a2613df55 +Author: Jann Horn +Date: Tue Jan 5 18:27:29 2016 +0100 + + compat_ioctl: don't look up the fd twice + + In code in fs/compat_ioctl.c that translates ioctl arguments + into a in-kernel structure, then performs sys_ioctl, possibly + under set_fs(KERNEL_DS), this commit changes the sys_ioctl + calls to do_ioctl calls. do_ioctl is a new function that does + the same thing as sys_ioctl, but doesn't look up the fd again. + + This change is made to avoid (potential) security issues + because of ioctl handlers that accept one of the ioctl + commands I2C_FUNCS, VIDEO_GET_EVENT, MTIOCPOS, MTIOCGET, + TIOCGSERIAL, TIOCSSERIAL, RTC_IRQP_READ, RTC_EPOCH_READ. + This can happen for multiple reasons: + + - The ioctl command number could be reused. + - The ioctl handler might not check the full ioctl + command. This is e.g. true for drm_ioctl. + - The ioctl handler is very special, e.g. cuse_file_ioctl + + The real issue is that set_fs(KERNEL_DS) is used here, + but that's fixed in a separate commit + "compat_ioctl: don't call do_ioctl under set_fs(KERNEL_DS)". + + This change mitigates potential security issues by + preventing a race that permits invocation of + unlocked_ioctl handlers under KERNEL_DS through compat + code even if a corresponding compat_ioctl handler exists. + + So far, no way has been identified to use this to damage + kernel memory without having CAP_SYS_ADMIN in the init ns + (with the capability, doing reads/writes at arbitrary + kernel addresses should be easy through CUSE's ioctl + handler with FUSE_IOCTL_UNRESTRICTED set). + + [AV: two missed sys_ioctl() taken care of] + + Signed-off-by: Jann Horn + Signed-off-by: Al Viro + + fs/compat_ioctl.c | 122 +++++++++++++++++++++++++++++----------------------- + 1 files changed, 68 insertions(+), 54 deletions(-) + +commit 5bf9e1ed4ebb278cd956ba142914fc04a024309c +Author: Vasily Kulikov +Date: Fri Jan 15 16:57:55 2016 -0800 + + include/linux/poison.h: use POISON_POINTER_DELTA for poison pointers + + TIMER_ENTRY_STATIC is defined as a poison pointers which + should point to nowhere. Redefine them using POISON_POINTER_DELTA + arithmetics to make sure they really point to non-mappable area declared + by the target architecture. + + Signed-off-by: Vasily Kulikov + Acked-by: Thomas Gleixner + Cc: Solar Designer + Cc: "Kirill A. Shutemov" + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds + + Conflicts: + + include/linux/poison.h + + include/linux/poison.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 60f2e0a05ab8f56c804a9334a23e2b446305d110 +Author: Brad Spengler +Date: Tue Jan 19 19:41:44 2016 -0500 + + Fix ARM compilation, reported by Austin Sepp + + grsecurity/grsec_sig.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit e15383743443dc43460a2fd73e0db0b608610dca +Author: Takashi Iwai +Date: Mon Jan 18 13:52:47 2016 +0100 + + ALSA: hrtimer: Fix stall by hrtimer_cancel() + + hrtimer_cancel() waits for the completion from the callback, thus it + must not be called inside the callback itself. This was already a + problem in the past with ALSA hrtimer driver, and the early commit + [fcfdebe70759: ALSA: hrtimer - Fix lock-up] tried to address it. + + However, the previous fix is still insufficient: it may still cause a + lockup when the ALSA timer instance reprograms itself in its callback. + Then it invokes the start function even in snd_timer_interrupt() that + is called in hrtimer callback itself, results in a CPU stall. This is + no hypothetical problem but actually triggered by syzkaller fuzzer. + + This patch tries to fix the issue again. Now we call + hrtimer_try_to_cancel() at both start and stop functions so that it + won't fall into a deadlock, yet giving some chance to cancel the queue + if the functions have been called outside the callback. The proper + hrtimer_cancel() is called in anyway at closing, so this should be + enough. + + Reported-and-tested-by: Dmitry Vyukov + Cc: + Signed-off-by: Takashi Iwai + + sound/core/hrtimer.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +commit 12d874daf706e6e7c1ae709141859c809599297e +Author: Takashi Iwai +Date: Tue Jan 12 12:38:02 2016 +0100 + + ALSA: seq: Fix missing NULL check at remove_events ioctl + + snd_seq_ioctl_remove_events() calls snd_seq_fifo_clear() + unconditionally even if there is no FIFO assigned, and this leads to + an Oops due to NULL dereference. The fix is just to add a proper NULL + check. + + Reported-by: Dmitry Vyukov + Tested-by: Dmitry Vyukov + Cc: + Signed-off-by: Takashi Iwai + + sound/core/seq/seq_clientmgr.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 2eb0632df1351378946507e7ef7ba0682632a7b5 +Author: Takashi Iwai +Date: Tue Jan 12 15:36:27 2016 +0100 + + ALSA: seq: Fix race at timer setup and close + + ALSA sequencer code has an open race between the timer setup ioctl and + the close of the client. This was triggered by syzkaller fuzzer, and + a use-after-free was caught there as a result. + + This patch papers over it by adding a proper queue->timer_mutex lock + around the timer-related calls in the relevant code path. + + Reported-by: Dmitry Vyukov + Tested-by: Dmitry Vyukov + Cc: + Signed-off-by: Takashi Iwai + + sound/core/seq/seq_queue.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit b9e55ab955e59b4a636d78a748be90334a48b485 +Author: Takashi Iwai +Date: Thu Jan 14 16:30:58 2016 +0100 + + ALSA: timer: Harden slave timer list handling + + A slave timer instance might be still accessible in a racy way while + operating the master instance as it lacks of locking. Since the + master operation is mostly protected with timer->lock, we should cope + with it while changing the slave instance, too. Also, some linked + lists (active_list and ack_list) of slave instances aren't unlinked + immediately at stopping or closing, and this may lead to unexpected + accesses. + + This patch tries to address these issues. It adds spin lock of + timer->lock (either from master or slave, which is equivalent) in a + few places. For avoiding a deadlock, we ensure that the global + slave_active_lock is always locked at first before each timer lock. + + Also, ack and active_list of slave instances are properly unlinked at + snd_timer_stop() and snd_timer_close(). + + Last but not least, remove the superfluous call of _snd_timer_stop() + at removing slave links. This is a noop, and calling it may confuse + readers wrt locking. Further cleanup will follow in a later patch. + + Actually we've got reports of use-after-free by syzkaller fuzzer, and + this hopefully fixes these issues. + + Reported-by: Dmitry Vyukov + Cc: + Signed-off-by: Takashi Iwai + + sound/core/timer.c | 18 ++++++++++++++---- + 1 files changed, 14 insertions(+), 4 deletions(-) + +commit f1ce0547bdfda1b42ae8a66c222f2a897cbe1586 +Author: Takashi Iwai +Date: Wed Jan 13 17:48:01 2016 +0100 + + ALSA: timer: Fix race among timer ioctls + + ALSA timer ioctls have an open race and this may lead to a + use-after-free of timer instance object. A simplistic fix is to make + each ioctl exclusive. We have already tread_sem for controlling the + tread, and extend this as a global mutex to be applied to each ioctl. + + The downside is, of course, the worse concurrency. But these ioctls + aren't to be parallel accessible, in anyway, so it should be fine to + serialize there. + + Reported-by: Dmitry Vyukov + Tested-by: Dmitry Vyukov + Cc: + Signed-off-by: Takashi Iwai + + sound/core/timer.c | 32 +++++++++++++++++++------------- + 1 files changed, 19 insertions(+), 13 deletions(-) + +commit 8347d8461ed48a98f9c76cc3cfcdad8217d314bc +Author: Takashi Iwai +Date: Wed Jan 13 21:35:06 2016 +0100 + + ALSA: timer: Fix double unlink of active_list + + ALSA timer instance object has a couple of linked lists and they are + unlinked unconditionally at snd_timer_stop(). Meanwhile + snd_timer_interrupt() unlinks it, but it calls list_del() which leaves + the element list itself unchanged. This ends up with unlinking twice, + and it was caught by syzkaller fuzzer. + + The fix is to use list_del_init() variant properly there, too. + + Reported-by: Dmitry Vyukov + Tested-by: Dmitry Vyukov + Cc: + Signed-off-by: Takashi Iwai + + sound/core/timer.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 243aebb7ae71d6e11ea9880faa893d1d0d60cd75 +Author: Hannes Frederic Sowa +Date: Mon Jan 18 18:03:48 2016 +0100 + + ovs: limit ovs recursions in ovs_execute_actions to not corrupt stack + + It was seen that defective configurations of openvswitch could overwrite + the STACK_END_MAGIC and cause a hard crash of the kernel because of too + many recursions within ovs. + + This problem arises due to the high stack usage of openvswitch. The rest + of the kernel is fine with the current limit of 10 (RECURSION_LIMIT). + + We use the already existing recursion counter in ovs_execute_actions to + implement an upper bound of 5 recursions. + + Cc: Pravin Shelar + Cc: Simon Horman + Cc: Eric Dumazet + Cc: Simon Horman + Signed-off-by: Hannes Frederic Sowa + Signed-off-by: David S. Miller + + net/openvswitch/actions.c | 19 ++++++++++++++----- + 1 files changed, 14 insertions(+), 5 deletions(-) + +commit 8080793479c6d5befe37a67b1dbd9e4e0a61af96 +Author: Ursula Braun +Date: Tue Jan 19 10:41:33 2016 +0100 + + af_iucv: Validate socket address length in iucv_sock_bind() + + Signed-off-by: Ursula Braun + Reported-by: Dmitry Vyukov + Reviewed-by: Evgeny Cherkashin + Signed-off-by: David S. Miller + + net/iucv/af_iucv.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit 50a383c1c91ed7409c3cbdd41e662d6891463d1b +Author: Brad Spengler +Date: Tue Jan 19 19:32:54 2016 -0500 + + Apply the same fix as everyone else for the recent keys vulnerability that is + unexploitable under PAX_REFCOUNT + + Make a couple more changes that no one else can/will + + include/linux/key-type.h | 4 ++-- + ipc/msgutil.c | 4 ++-- + security/keys/internal.h | 2 +- + security/keys/process_keys.c | 1 + + 4 files changed, 6 insertions(+), 5 deletions(-) + +commit b56c3a63f431c193400aee17543021950bd14bc4 +Merge: 38b1a3d 470069c +Author: Brad Spengler +Date: Sun Jan 17 18:30:19 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 470069cfedef2180313233d275be5901bd6d1135 +Author: Brad Spengler +Date: Sun Jan 17 18:29:59 2016 -0500 + + Update to pax-linux-4.3.3-test22.patch: + - Emesed fixed a gcc induced intentional integer overflow in asix_rx_fixup_internal, reported by thomas callison caffrey + - fixed some more fallout from the drm_drivers constification, reported by Colin Childs and Toralf Foerster + + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 14 ++++---------- + drivers/gpu/drm/drm_pci.c | 3 +++ + drivers/gpu/drm/gma500/psb_drv.c | 4 ---- + drivers/gpu/drm/i915/i915_drv.c | 16 ++++++++-------- + drivers/gpu/drm/nouveau/nouveau_drm.c | 6 +++--- + drivers/gpu/drm/radeon/radeon_drv.c | 4 +--- + drivers/net/usb/asix_common.c | 3 ++- + include/drm/drmP.h | 1 + + 8 files changed, 22 insertions(+), 29 deletions(-) + +commit 38b1a3d676f407865c3d41840df8213c5ad639c1 +Author: Brad Spengler +Date: Sun Jan 17 12:33:53 2016 -0500 + + As reported by Luis Ressel, the Kconfig help for GRKERNSEC_BRUTE + mentioned banning execution of suid/sgid binaries, though the kernel + source clearly only mentions banning execution of suid binaries. Since + there's no reason for us to not ban execution of sgid binaries as well, + make the implementation match the Kconfig description. + + fs/exec.c | 4 ++-- + grsecurity/grsec_sig.c | 27 ++++++++++++++------------- + include/linux/sched.h | 4 ++-- + 3 files changed, 18 insertions(+), 17 deletions(-) + +commit 8c3bcb7dbf7f606acfa0983e81f0f928da1f1ace +Merge: d141a86 ea4a835 +Author: Brad Spengler +Date: Sat Jan 16 14:12:22 2016 -0500 + + Merge branch 'pax-test' into grsec-test + + Conflicts: + drivers/gpu/drm/i810/i810_drv.c + +commit ea4a835328ada6513ac013986764d6caea8cd348 +Author: Brad Spengler +Date: Sat Jan 16 14:11:30 2016 -0500 + + Update to pax-linux-4.3.3-test21.patch: + - fixed some fallout from the drm_drivers constification, reported by spender + + drivers/gpu/drm/armada/armada_drv.c | 3 +-- + drivers/gpu/drm/exynos/exynos_drm_drv.c | 1 - + drivers/gpu/drm/i810/i810_dma.c | 2 +- + drivers/gpu/drm/i810/i810_drv.c | 6 +++++- + drivers/gpu/drm/i810/i810_drv.h | 2 +- + 5 files changed, 8 insertions(+), 6 deletions(-) + +commit d141a86fd66194bc3f896b6809b189e2f12a9a83 +Author: Brad Spengler +Date: Sat Jan 16 13:16:36 2016 -0500 + + compile fix + + drivers/gpu/drm/i810/i810_dma.c | 2 +- + drivers/gpu/drm/i810/i810_drv.c | 4 +++- + drivers/gpu/drm/i810/i810_drv.h | 2 +- + 3 files changed, 5 insertions(+), 3 deletions(-) + +commit 0d9dc4b25ea32c14561bcfe6b5b24f1b00fe0270 +Merge: 5fa135d bbda879 +Author: Brad Spengler +Date: Sat Jan 16 12:59:22 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit bbda87914edf63e27fb46670bf3a373f2b963c73 +Author: Brad Spengler +Date: Sat Jan 16 12:58:04 2016 -0500 + + Update to pax-linux-4.3.3-test20.patch: + - constified drm_driver + - Emese fixed a special case in handling __func__ in the initify plugin + - Emese fixed a false positive size overflow report in handling inbufBits, reported by Martin Filo (https://bugs.gentoo.org/show_bug.cgi?id=567048) + - fixed regression that caused perf to not resolve kernel code addresses under KERNEXEC/i386, reported by minipli + + arch/x86/kernel/cpu/perf_event.h | 2 +- + arch/x86/kernel/cpu/perf_event_intel_ds.c | 7 +- + arch/x86/kernel/cpu/perf_event_intel_lbr.c | 4 +- + arch/x86/kernel/uprobes.c | 2 +- + arch/x86/mm/mpx.c | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 8 ++- + drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +- + drivers/gpu/drm/drm_pci.c | 6 +- + drivers/gpu/drm/gma500/psb_drv.c | 5 +- + drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/gpu/drm/i915/i915_drv.c | 15 ++-- + drivers/gpu/drm/i915/i915_drv.h | 2 +- + drivers/gpu/drm/i915/i915_irq.c | 88 ++++++++++---------- + drivers/gpu/drm/mga/mga_drv.c | 5 +- + drivers/gpu/drm/mga/mga_drv.h | 2 +- + drivers/gpu/drm/mga/mga_state.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_drm.c | 13 ++-- + drivers/gpu/drm/qxl/qxl_drv.c | 8 ++- + drivers/gpu/drm/qxl/qxl_ioctl.c | 2 +- + drivers/gpu/drm/r128/r128_drv.c | 4 +- + drivers/gpu/drm/r128/r128_drv.h | 2 +- + drivers/gpu/drm/r128/r128_state.c | 2 +- + drivers/gpu/drm/radeon/radeon_drv.c | 17 +++- + drivers/gpu/drm/radeon/radeon_drv.h | 2 +- + drivers/gpu/drm/radeon/radeon_kms.c | 2 +- + drivers/gpu/drm/radeon/radeon_state.c | 2 +- + drivers/gpu/drm/savage/savage_bci.c | 2 +- + drivers/gpu/drm/savage/savage_drv.c | 5 +- + drivers/gpu/drm/savage/savage_drv.h | 2 +- + drivers/gpu/drm/sis/sis_drv.c | 5 +- + drivers/gpu/drm/sis/sis_drv.h | 2 +- + drivers/gpu/drm/sis/sis_mm.c | 2 +- + drivers/gpu/drm/via/via_dma.c | 2 +- + drivers/gpu/drm/via/via_drv.c | 5 +- + drivers/gpu/drm/via/via_drv.h | 2 +- + include/drm/drmP.h | 2 +- + mm/slab.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma.c | 6 +- + tools/gcc/initify_plugin.c | 15 +++- + .../disable_size_overflow_hash.data | 1 + + .../size_overflow_plugin/size_overflow_hash.data | 3 +- + 42 files changed, 156 insertions(+), 110 deletions(-) + +commit 5fa135dc116350e0205c39ef65eaf6496ed2748a +Author: Brad Spengler +Date: Sat Jan 16 12:19:23 2016 -0500 + + compile fix + + grsecurity/grsec_sig.c | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) + +commit a9090fa58f33f75c7450fda5721a9b13625a47d9 +Author: Brad Spengler +Date: Sat Jan 16 12:10:37 2016 -0500 + + As pointed out by Jann Horn, some distros are starting to circumvent + previous assumptions about the attainability of a user to control + multiple UIDs by handing out suid binaries that allow a user to run + processes (including exploits) under a number of other pre-defined + UIDs. As this could potentially be used to bypass GRKERNSEC_BRUTE + (though it would have to involve some code path that doesn't involve + locks) fix that here by ensuring no more than 8 users on a system can + be banned before a reboot is required. If more are banned, a panic + is triggered. + + grsecurity/grsec_sig.c | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) + +commit a8d37776e9521c567ebff6730d49312f72435f08 +Author: Eric Dumazet +Date: Thu Dec 3 11:12:07 2015 -0800 + + proc: add a reschedule point in proc_readfd_common() + + User can pass an arbitrary large buffer to getdents(). + + It is typically a 32KB buffer used by libc scandir() implementation. + + When scanning /proc/{pid}/fd, we can hold cpu way too long, + so add a cond_resched() to be kind with other tasks. + + We've seen latencies of more than 50ms on real workloads. + + Signed-off-by: Eric Dumazet + Cc: Alexander Viro + Signed-off-by: Al Viro + + fs/proc/fd.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 0adba75f8708f13b1f5d98ebe3fc2fb961e100c8 +Author: Rabin Vincent +Date: Tue Jan 12 20:17:08 2016 +0100 + + net: bpf: reject invalid shifts + + On ARM64, a BUG() is triggered in the eBPF JIT if a filter with a + constant shift that can't be encoded in the immediate field of the + UBFM/SBFM instructions is passed to the JIT. Since these shifts + amounts, which are negative or >= regsize, are invalid, reject them in + the eBPF verifier and the classic BPF filter checker, for all + architectures. + + Signed-off-by: Rabin Vincent + Acked-by: Alexei Starovoitov + Acked-by: Daniel Borkmann + Signed-off-by: David S. Miller + + kernel/bpf/verifier.c | 10 ++++++++++ + net/core/filter.c | 5 +++++ + 2 files changed, 15 insertions(+), 0 deletions(-) + +commit c248e115a73496625a1c64660d0eeefd67e55cbf +Author: Marcelo Ricardo Leitner +Date: Fri Jan 8 11:00:54 2016 -0200 + + sctp: fix use-after-free in pr_debug statement + + Dmitry Vyukov reported a use-after-free in the code expanded by the + macro debug_post_sfx, which is caused by the use of the asoc pointer + after it was freed within sctp_side_effect() scope. + + This patch fixes it by allowing sctp_side_effect to clear that asoc + pointer when the TCB is freed. + + As Vlad explained, we also have to cover the SCTP_DISPOSITION_ABORT case + because it will trigger DELETE_TCB too on that same loop. + + Also, there were places issuing SCTP_CMD_INIT_FAILED and ASSOC_FAILED + but returning SCTP_DISPOSITION_CONSUME, which would fool the scheme + above. Fix it by returning SCTP_DISPOSITION_ABORT instead. + + The macro is already prepared to handle such NULL pointer. + + Reported-by: Dmitry Vyukov + Signed-off-by: Marcelo Ricardo Leitner + Acked-by: Vlad Yasevich + Signed-off-by: David S. Miller + + net/sctp/sm_sideeffect.c | 11 ++++++----- + net/sctp/sm_statefuns.c | 17 ++++------------- + 2 files changed, 10 insertions(+), 18 deletions(-) + +commit 395ea8a9e73e184fc14153a033000bccf4213213 +Author: willy tarreau +Date: Sun Jan 10 07:54:56 2016 +0100 + + unix: properly account for FDs passed over unix sockets + + It is possible for a process to allocate and accumulate far more FDs than + the process' limit by sending them over a unix socket then closing them + to keep the process' fd count low. + + This change addresses this problem by keeping track of the number of FDs + in flight per user and preventing non-privileged processes from having + more FDs in flight than their configured FD limit. + + Reported-by: socketpair@gmail.com + Reported-by: Tetsuo Handa + Mitigates: CVE-2013-4312 (Linux 2.0+) + Suggested-by: Linus Torvalds + Acked-by: Hannes Frederic Sowa + Signed-off-by: Willy Tarreau + Signed-off-by: David S. Miller + + include/linux/sched.h | 1 + + net/unix/af_unix.c | 24 ++++++++++++++++++++---- + net/unix/garbage.c | 13 ++++++++----- + 3 files changed, 29 insertions(+), 9 deletions(-) + +commit cb207ab8fbd71dcfc4a49d533aba8085012543fd +Author: Sasha Levin +Date: Thu Jan 7 14:52:43 2016 -0500 + + net: sctp: prevent writes to cookie_hmac_alg from accessing invalid memory + + proc_dostring() needs an initialized destination string, while the one + provided in proc_sctp_do_hmac_alg() contains stack garbage. + + Thus, writing to cookie_hmac_alg would strlen() that garbage and end up + accessing invalid memory. + + Fixes: 3c68198e7 ("sctp: Make hmac algorithm selection for cookie generation dynamic") + Signed-off-by: Sasha Levin + Signed-off-by: David S. Miller + + net/sctp/sysctl.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 4014e09faf0fe9054119624ccfff1236e886b554 +Author: Quentin Casasnovas +Date: Tue Nov 24 17:13:21 2015 -0500 + + RDS: fix race condition when sending a message on unbound socket + + commit 8c7188b23474cca017b3ef354c4a58456f68303a upstream. + + Sasha's found a NULL pointer dereference in the RDS connection code when + sending a message to an apparently unbound socket. The problem is caused + by the code checking if the socket is bound in rds_sendmsg(), which checks + the rs_bound_addr field without taking a lock on the socket. This opens a + race where rs_bound_addr is temporarily set but where the transport is not + in rds_bind(), leading to a NULL pointer dereference when trying to + dereference 'trans' in __rds_conn_create(). + + Vegard wrote a reproducer for this issue, so kindly ask him to share if + you're interested. + + I cannot reproduce the NULL pointer dereference using Vegard's reproducer + with this patch, whereas I could without. + + Complete earlier incomplete fix to CVE-2015-6937: + + 74e98eb08588 ("RDS: verify the underlying transport exists before creating a connection") + + Cc: David S. Miller + + Reviewed-by: Vegard Nossum + Reviewed-by: Sasha Levin + Acked-by: Santosh Shilimkar + Signed-off-by: Quentin Casasnovas + Signed-off-by: David S. Miller + Signed-off-by: Jiri Slaby + + Conflicts: + + net/rds/send.c + + net/rds/connection.c | 6 ------ + 1 files changed, 0 insertions(+), 6 deletions(-) + +commit 206df8d01104344d7588d801016a281a4cd25556 +Author: Sasha Levin +Date: Tue Sep 8 10:53:40 2015 -0400 + + RDS: verify the underlying transport exists before creating a connection + + There was no verification that an underlying transport exists when creating + a connection, this would cause dereferencing a NULL ptr. + + It might happen on sockets that weren't properly bound before attempting to + send a message, which will cause a NULL ptr deref: + + [135546.047719] kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC KASAN + [135546.051270] Modules linked in: + [135546.051781] CPU: 4 PID: 15650 Comm: trinity-c4 Not tainted 4.2.0-next-20150902-sasha-00041-gbaa1222-dirty #2527 + [135546.053217] task: ffff8800835bc000 ti: ffff8800bc708000 task.ti: ffff8800bc708000 + [135546.054291] RIP: __rds_conn_create (net/rds/connection.c:194) + [135546.055666] RSP: 0018:ffff8800bc70fab0 EFLAGS: 00010202 + [135546.056457] RAX: dffffc0000000000 RBX: 0000000000000f2c RCX: ffff8800835bc000 + [135546.057494] RDX: 0000000000000007 RSI: ffff8800835bccd8 RDI: 0000000000000038 + [135546.058530] RBP: ffff8800bc70fb18 R08: 0000000000000001 R09: 0000000000000000 + [135546.059556] R10: ffffed014d7a3a23 R11: ffffed014d7a3a21 R12: 0000000000000000 + [135546.060614] R13: 0000000000000001 R14: ffff8801ec3d0000 R15: 0000000000000000 + [135546.061668] FS: 00007faad4ffb700(0000) GS:ffff880252000000(0000) knlGS:0000000000000000 + [135546.062836] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b + [135546.063682] CR2: 000000000000846a CR3: 000000009d137000 CR4: 00000000000006a0 + [135546.064723] Stack: + [135546.065048] ffffffffafe2055c ffffffffafe23fc1 ffffed00493097bf ffff8801ec3d0008 + [135546.066247] 0000000000000000 00000000000000d0 0000000000000000 ac194a24c0586342 + [135546.067438] 1ffff100178e1f78 ffff880320581b00 ffff8800bc70fdd0 ffff880320581b00 + [135546.068629] Call Trace: + [135546.069028] ? __rds_conn_create (include/linux/rcupdate.h:856 net/rds/connection.c:134) + [135546.069989] ? rds_message_copy_from_user (net/rds/message.c:298) + [135546.071021] rds_conn_create_outgoing (net/rds/connection.c:278) + [135546.071981] rds_sendmsg (net/rds/send.c:1058) + [135546.072858] ? perf_trace_lock (include/trace/events/lock.h:38) + [135546.073744] ? lockdep_init (kernel/locking/lockdep.c:3298) + [135546.074577] ? rds_send_drop_to (net/rds/send.c:976) + [135546.075508] ? __might_fault (./arch/x86/include/asm/current.h:14 mm/memory.c:3795) + [135546.076349] ? __might_fault (mm/memory.c:3795) + [135546.077179] ? rds_send_drop_to (net/rds/send.c:976) + [135546.078114] sock_sendmsg (net/socket.c:611 net/socket.c:620) + [135546.078856] SYSC_sendto (net/socket.c:1657) + [135546.079596] ? SYSC_connect (net/socket.c:1628) + [135546.080510] ? trace_dump_stack (kernel/trace/trace.c:1926) + [135546.081397] ? ring_buffer_unlock_commit (kernel/trace/ring_buffer.c:2479 kernel/trace/ring_buffer.c:2558 kernel/trace/ring_buffer.c:2674) + [135546.082390] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749) + [135546.083410] ? trace_event_raw_event_sys_enter (include/trace/events/syscalls.h:16) + [135546.084481] ? do_audit_syscall_entry (include/trace/events/syscalls.h:16) + [135546.085438] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749) + [135546.085515] rds_ib_laddr_check(): addr 36.74.25.172 ret -99 node type -1 + + Acked-by: Santosh Shilimkar + Signed-off-by: Sasha Levin + Signed-off-by: David S. Miller + + net/rds/connection.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +commit 173fa03f05cf0ad485d49a42cbdee8844d3a689a +Author: Steven Rostedt (Red Hat) +Date: Tue Jan 5 20:32:47 2016 -0500 + + ftrace/module: Call clean up function when module init fails early + + If the module init code fails after calling ftrace_module_init() and before + calling do_init_module(), we can suffer from a memory leak. This is because + ftrace_module_init() allocates pages to store the locations that ftrace + hooks are placed in the module text. If do_init_module() fails, it still + calls the MODULE_GOING notifiers which will tell ftrace to do a clean up of + the pages it allocated for the module. But if load_module() fails before + then, the pages allocated by ftrace_module_init() will never be freed. + + Call ftrace_release_mod() on the module if load_module() fails before + getting to do_init_module(). + + Link: http://lkml.kernel.org/r/567CEA31.1070507@intel.com + + Reported-by: "Qiu, PeiyangX" + Fixes: a949ae560a511 "ftrace/module: Hardcode ftrace_module_init() call into load_module()" + Cc: stable@vger.kernel.org # v2.6.38+ + Acked-by: Rusty Russell + Signed-off-by: Steven Rostedt + + include/linux/ftrace.h | 1 + + kernel/module.c | 6 ++++++ + 2 files changed, 7 insertions(+), 0 deletions(-) + +commit 1e5a4a81a4c16c8ac2e264b88a02cc2f42ed0399 +Author: Francesco Ruggeri +Date: Wed Jan 6 00:18:48 2016 -0800 + + net: possible use after free in dst_release + + dst_release should not access dst->flags after decrementing + __refcnt to 0. The dst_entry may be in dst_busy_list and + dst_gc_task may dst_destroy it before dst_release gets a chance + to access dst->flags. + + Fixes: d69bbf88c8d0 ("net: fix a race in dst_release()") + Fixes: 27b75c95f10d ("net: avoid RCU for NOCACHE dst") + Signed-off-by: Francesco Ruggeri + Acked-by: Eric Dumazet + Signed-off-by: David S. Miller + + net/core/dst.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +commit bfb0455793dd4e0f0b49d34a68b3249ab55565cc +Author: Alan +Date: Wed Jan 6 14:55:02 2016 +0000 + + mkiss: fix scribble on freed memory + + commit d79f16c046086f4fe0d42184a458e187464eb83e fixed a user triggerable + scribble on free memory but added a new one which allows the user to + scribble even more and user controlled data into freed space. + + As with 6pack we need to halt the queue before we free the buffers, because + the transmit logic is not protected by the semaphore. + + Signed-off-by: Alan Cox + Signed-off-by: David S. Miller + + drivers/net/hamradio/mkiss.c | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +commit 5cbbcbd32dc1949470f61d342503808fa9555276 +Author: David Miller +Date: Thu Dec 17 16:05:49 2015 -0500 + + mkiss: Fix use after free in mkiss_close(). + + Need to do the unregister_device() after all references to the driver + private have been done. + + Signed-off-by: David S. Miller + + drivers/net/hamradio/mkiss.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit b00171576794a98068e069a660f0991a6a5190ff +Author: One Thousand Gnomes +Date: Tue Jan 5 11:51:25 2016 +0000 + + 6pack: fix free memory scribbles + + commit acf673a3187edf72068ee2f92f4dc47d66baed47 fixed a user triggerable free + memory scribble but in doing so replaced it with a different one that allows + the user to control the data and scribble even more. + + sixpack_close is called by the tty layer in tty context. The tty context is + protected by sp_get() and sp_put(). However network layer activity via + sp_xmit() is not protected this way. We must therefore stop the queue + otherwise the user gets to dump a buffer mostly of their choice into freed + kernel pages. + + Signed-off-by: Alan Cox + Signed-off-by: David S. Miller + + drivers/net/hamradio/6pack.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +commit 5b64a833907cd230a3106aeba2304b2c1bcd116d +Author: David Miller +Date: Thu Dec 17 16:05:32 2015 -0500 + + 6pack: Fix use after free in sixpack_close(). + + Need to do the unregister_device() after all references to the driver + private have been done. + + Also we need to use del_timer_sync() for the timers so that we don't + have any asynchronous references after the unregister. + + Signed-off-by: David S. Miller + + drivers/net/hamradio/6pack.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +commit 4f9d532742656b3613d579220fd10c78f24ba37b +Author: Rabin Vincent +Date: Tue Jan 5 16:23:07 2016 +0100 + + net: filter: make JITs zero A for SKF_AD_ALU_XOR_X + + The SKF_AD_ALU_XOR_X ancillary is not like the other ancillary data + instructions since it XORs A with X while all the others replace A with + some loaded value. All the BPF JITs fail to clear A if this is used as + the first instruction in a filter. This was found using american fuzzy + lop. + + Add a helper to determine if A needs to be cleared given the first + instruction in a filter, and use this in the JITs. Except for ARM, the + rest have only been compile-tested. + + Fixes: 3480593131e0 ("net: filter: get rid of BPF_S_* enum") + Signed-off-by: Rabin Vincent + Acked-by: Daniel Borkmann + Acked-by: Alexei Starovoitov + Signed-off-by: David S. Miller + + arch/arm/net/bpf_jit_32.c | 16 +--------------- + arch/mips/net/bpf_jit.c | 16 +--------------- + arch/powerpc/net/bpf_jit_comp.c | 13 ++----------- + arch/sparc/net/bpf_jit_comp.c | 17 ++--------------- + include/linux/filter.h | 19 +++++++++++++++++++ + 5 files changed, 25 insertions(+), 56 deletions(-) + +commit 570d88f8acfffda92b89ae2e1c47320d47256034 +Author: John Fastabend +Date: Tue Jan 5 09:11:36 2016 -0800 + + net: sched: fix missing free per cpu on qstats + + When a qdisc is using per cpu stats (currently just the ingress + qdisc) only the bstats are being freed. This also free's the qstats. + + Fixes: b0ab6f92752b9f9d8 ("net: sched: enable per cpu qstats") + Signed-off-by: John Fastabend + Acked-by: Eric Dumazet + Acked-by: Daniel Borkmann + Signed-off-by: David S. Miller + + net/sched/sch_generic.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +commit 32c0ebc51857ee83470a10dcb234d308a0ed1881 +Author: Rabin Vincent +Date: Tue Jan 5 18:34:04 2016 +0100 + + ARM: net: bpf: fix zero right shift + + The LSR instruction cannot be used to perform a zero right shift since a + 0 as the immediate value (imm5) in the LSR instruction encoding means + that a shift of 32 is perfomed. See DecodeIMMShift() in the ARM ARM. + + Make the JIT skip generation of the LSR if a zero-shift is requested. + + This was found using american fuzzy lop. + + Signed-off-by: Rabin Vincent + Acked-by: Alexei Starovoitov + Signed-off-by: David S. Miller + + arch/arm/net/bpf_jit_32.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +commit 51f5d291750285efa4d4bbe84e5ec23dc00c8d2d +Author: Brad Spengler +Date: Wed Jan 6 20:35:57 2016 -0500 + + Don't perform hidden lookups in RBAC against the directory of + a file being opened with O_CREAT, reported by Karl Witt + + Conflicts: + + fs/namei.c + + fs/namei.c | 3 --- + 1 files changed, 0 insertions(+), 3 deletions(-) + +commit 5a8266a6b2769ccdb447256f95bc2577a73cccd1 +Author: Hannes Frederic Sowa +Date: Tue Jan 5 10:46:00 2016 +0100 + + bridge: Only call /sbin/bridge-stp for the initial network namespace + + [I stole this patch from Eric Biederman. He wrote:] + + > There is no defined mechanism to pass network namespace information + > into /sbin/bridge-stp therefore don't even try to invoke it except + > for bridge devices in the initial network namespace. + > + > It is possible for unprivileged users to cause /sbin/bridge-stp to be + > invoked for any network device name which if /sbin/bridge-stp does not + > guard against unreasonable arguments or being invoked twice on the + > same network device could cause problems. + + [Hannes: changed patch using netns_eq] + + Cc: Eric W. Biederman + Signed-off-by: Eric W. Biederman + Signed-off-by: Hannes Frederic Sowa + Signed-off-by: David S. Miller + + net/bridge/br_stp_if.c | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +commit 650d535cc39f0aeff2f57e60b6617be25d3ef48b +Author: Marcelo Ricardo Leitner +Date: Wed Dec 23 16:28:40 2015 -0200 + + sctp: use GFP_USER for user-controlled kmalloc + + Commit cacc06215271 ("sctp: use GFP_USER for user-controlled kmalloc") + missed two other spots. + + For connectx, as it's more likely to be used by kernel users of the API, + it detects if GFP_USER should be used or not. + + Fixes: cacc06215271 ("sctp: use GFP_USER for user-controlled kmalloc") + Reported-by: Dmitry Vyukov + Signed-off-by: Marcelo Ricardo Leitner + Signed-off-by: David S. Miller + + net/sctp/socket.c | 9 ++++++--- + 1 files changed, 6 insertions(+), 3 deletions(-) + +commit 5718a1f63c41fc156f729783423b002763779d04 +Author: Florian Westphal +Date: Thu Dec 31 14:26:33 2015 +0100 + + connector: bump skb->users before callback invocation + + Dmitry reports memleak with syskaller program. + Problem is that connector bumps skb usecount but might not invoke callback. + + So move skb_get to where we invoke the callback. + + Reported-by: Dmitry Vyukov + Signed-off-by: Florian Westphal + Signed-off-by: David S. Miller + + drivers/connector/connector.c | 11 +++-------- + 1 files changed, 3 insertions(+), 8 deletions(-) + +commit 2e6372e6a97f8d642416899861f91777f44f13b7 +Author: Rainer Weikusat +Date: Sun Jan 3 18:56:38 2016 +0000 + + af_unix: Fix splice-bind deadlock + + On 2015/11/06, Dmitry Vyukov reported a deadlock involving the splice + system call and AF_UNIX sockets, + + http://lists.openwall.net/netdev/2015/11/06/24 + + The situation was analyzed as + + (a while ago) A: socketpair() + B: splice() from a pipe to /mnt/regular_file + does sb_start_write() on /mnt + C: try to freeze /mnt + wait for B to finish with /mnt + A: bind() try to bind our socket to /mnt/new_socket_name + lock our socket, see it not bound yet + decide that it needs to create something in /mnt + try to do sb_start_write() on /mnt, block (it's + waiting for C). + D: splice() from the same pipe to our socket + lock the pipe, see that socket is connected + try to lock the socket, block waiting for A + B: get around to actually feeding a chunk from + pipe to file, try to lock the pipe. Deadlock. + + on 2015/11/10 by Al Viro, + + http://lists.openwall.net/netdev/2015/11/10/4 + + The patch fixes this by removing the kern_path_create related code from + unix_mknod and executing it as part of unix_bind prior acquiring the + readlock of the socket in question. This means that A (as used above) + will sb_start_write on /mnt before it acquires the readlock, hence, it + won't indirectly block B which first did a sb_start_write and then + waited for a thread trying to acquire the readlock. Consequently, A + being blocked by C waiting for B won't cause a deadlock anymore + (effectively, both A and B acquire two locks in opposite order in the + situation described above). + + Dmitry Vyukov() tested the original patch. + + Signed-off-by: Rainer Weikusat + Signed-off-by: David S. Miller + + Conflicts: + + net/unix/af_unix.c + + net/unix/af_unix.c | 70 +++++++++++++++++++++++++++++++-------------------- + 1 files changed, 42 insertions(+), 28 deletions(-) + +commit 2e729e557c571f3253e32472cd7d382ac16cf1c3 +Author: Qiu Peiyang +Date: Thu Dec 31 13:11:28 2015 +0800 + + tracing: Fix setting of start_index in find_next() + + When we do cat /sys/kernel/debug/tracing/printk_formats, we hit kernel + panic at t_show. + + general protection fault: 0000 [#1] PREEMPT SMP + CPU: 0 PID: 2957 Comm: sh Tainted: G W O 3.14.55-x86_64-01062-gd4acdc7 #2 + RIP: 0010:[] + [] t_show+0x22/0xe0 + RSP: 0000:ffff88002b4ebe80 EFLAGS: 00010246 + RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000004 + RDX: 0000000000000004 RSI: ffffffff81fd26a6 RDI: ffff880032f9f7b1 + RBP: ffff88002b4ebe98 R08: 0000000000001000 R09: 000000000000ffec + R10: 0000000000000000 R11: 000000000000000f R12: ffff880004d9b6c0 + R13: 7365725f6d706400 R14: ffff880004d9b6c0 R15: ffffffff82020570 + FS: 0000000000000000(0000) GS:ffff88003aa00000(0063) knlGS:00000000f776bc40 + CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 + CR2: 00000000f6c02ff0 CR3: 000000002c2b3000 CR4: 00000000001007f0 + Call Trace: + [] seq_read+0x2f6/0x3e0 + [] vfs_read+0x9b/0x160 + [] SyS_read+0x49/0xb0 + [] ia32_do_call+0x13/0x13 + ---[ end trace 5bd9eb630614861e ]--- + Kernel panic - not syncing: Fatal exception + + When the first time find_next calls find_next_mod_format, it should + iterate the trace_bprintk_fmt_list to find the first print format of + the module. However in current code, start_index is smaller than *pos + at first, and code will not iterate the list. Latter container_of will + get the wrong address with former v, which will cause mod_fmt be a + meaningless object and so is the returned mod_fmt->fmt. + + This patch will fix it by correcting the start_index. After fixed, + when the first time calls find_next_mod_format, start_index will be + equal to *pos, and code will iterate the trace_bprintk_fmt_list to + get the right module printk format, so is the returned mod_fmt->fmt. + + Link: http://lkml.kernel.org/r/5684B900.9000309@intel.com + + Cc: stable@vger.kernel.org # 3.12+ + Fixes: 102c9323c35a8 "tracing: Add __tracepoint_string() to export string pointers" + Signed-off-by: Qiu Peiyang + Signed-off-by: Steven Rostedt + + kernel/trace/trace_printk.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 0994af4b1930f32aa493dc08145cd304f8bfc8f4 +Author: Al Viro +Date: Mon Dec 28 20:47:08 2015 -0500 + + [PATCH] arm: fix handling of F_OFD_... in oabi_fcntl64() + + Cc: stable@vger.kernel.org # 3.15+ + Reviewed-by: Jeff Layton + Signed-off-by: Al Viro + + arch/arm/kernel/sys_oabi-compat.c | 73 +++++++++++++++++++------------------ + 1 files changed, 37 insertions(+), 36 deletions(-) + +commit 4ed030f65dcf3e6b0128032a49a7d75f947fa351 +Merge: de243c2 3adc55a +Author: Brad Spengler +Date: Tue Jan 5 18:10:10 2016 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 3adc55a5acfa429c2a7cc883aef08b960c0079b0 +Author: Brad Spengler +Date: Tue Jan 5 18:08:53 2016 -0500 + + Update to pax-linux-4.3.3-test16.patch: + - small cleanup in entry_64.S on x86 + - Emese fixed the initify plugin to recursively check variable initializers, reported by Rasmus Villemoes + - fixed an integer truncation of a partially uninitialized value bug in em_pop_sreg, reported by fx3 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4354) + - fixed alternatives patching of call insns under KERNEXEC/i386, reported by fly_a320 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4305) and TTgrsec (https://forums.grsecurity.net/viewtopic.php?f=3&t=4353) + - fixed a size overflow false positive that triggered in tcp_parse_options on arm, reported by iamb (https://forums.grsecurity.net/viewtopic.php?f=3&t=4350&p=15917#p15916) + - fixed a boot crash on amd64 with KERNEXEC/OR and CONTEXT_TRACKING, reported by Klaus Kusche (https://bugs.gentoo.org/show_bug.cgi?id=570420) + + arch/x86/entry/entry_64.S | 60 +++++----- + arch/x86/kernel/alternative.c | 2 +- + arch/x86/kvm/emulate.c | 4 +- + tools/gcc/initify_plugin.c | 123 +++++++++---------- + .../disable_size_overflow_hash.data | 4 +- + .../size_overflow_plugin/size_overflow_hash.data | 2 - + 6 files changed, 93 insertions(+), 102 deletions(-) + +commit de243c26efd0e423ca92db825af2c3f8eb1ca043 +Author: Brad Spengler +Date: Tue Dec 29 18:01:24 2015 -0500 + + It was noticed during an internal audit that the code under GRKERNSEC_PROC_MEMMAP + which aimed to enforce a 16MB minimum on RLIMIT_DATA for suid/sgid binaries only + did so if RLIMIT_DATA was set lower than PAGE_SIZE. + + This addition was only supplemental as GRKERNSEC_BRUTE is the main defense + against suid/sgid attacks and the flaw above would only eliminate the extra + entropy provided for the brk-managed heap, still leaving it with the minimum + of 16-bit entropy for mmap on x86 and 28 on x64. + + mm/mmap.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 8e264cfe47e5f08cdc9ed009a630277206cd2534 +Merge: 436201b 2584340 +Author: Brad Spengler +Date: Mon Dec 28 20:30:01 2015 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 2584340eab494e64ec1bf9eb5b0d1ae31f926306 +Author: Brad Spengler +Date: Mon Dec 28 20:29:28 2015 -0500 + + Update to pax-linux-4.3.3-test14.patch: + - fixed an integer sign conversion error in i2c_dw_pci_probe caught by the size overflow plugin, reported by Jean Lucas and ganymede (https://forums.grsecurity.net/viewtopic.php?f=3&t=4349) + - fixed shutdown crash with tboot and KERNEXEC, reported by perfinion + - fixed a few false positive and one real size overflow reports in hyperv, reported by hunger + - fixed compile regressions on armv5, reported by iamb (https://forums.grsecurity.net/viewtopic.php?f=3&t=4350) + - fixed an assert in the initify plugin that triggered in vic_register on arm + + arch/arm/include/asm/atomic.h | 7 +++++-- + arch/arm/include/asm/domain.h | 5 ++--- + arch/x86/kernel/tboot.c | 14 +++++++++----- + drivers/hv/channel.c | 4 +--- + drivers/i2c/busses/i2c-designware-pcidrv.c | 2 +- + drivers/net/hyperv/rndis_filter.c | 3 +-- + fs/exec.c | 4 ++-- + include/linux/atomic.h | 15 --------------- + net/core/skbuff.c | 3 ++- + tools/gcc/initify_plugin.c | 4 +++- + 10 files changed, 26 insertions(+), 35 deletions(-) + +commit 436201b6626b488d173c8076447000077c27b84a +Author: David Howells +Date: Fri Dec 18 01:34:26 2015 +0000 + + KEYS: Fix race between read and revoke + + This fixes CVE-2015-7550. + + There's a race between keyctl_read() and keyctl_revoke(). If the revoke + happens between keyctl_read() checking the validity of a key and the key's + semaphore being taken, then the key type read method will see a revoked key. + + This causes a problem for the user-defined key type because it assumes in + its read method that there will always be a payload in a non-revoked key + and doesn't check for a NULL pointer. + + Fix this by making keyctl_read() check the validity of a key after taking + semaphore instead of before. + + I think the bug was introduced with the original keyrings code. + + This was discovered by a multithreaded test program generated by syzkaller + (http://github.com/google/syzkaller). Here's a cleaned up version: + + #include + #include + #include + void *thr0(void *arg) + { + key_serial_t key = (unsigned long)arg; + keyctl_revoke(key); + return 0; + } + void *thr1(void *arg) + { + key_serial_t key = (unsigned long)arg; + char buffer[16]; + keyctl_read(key, buffer, 16); + return 0; + } + int main() + { + key_serial_t key = add_key("user", "%", "foo", 3, KEY_SPEC_USER_KEYRING); + pthread_t th[5]; + pthread_create(&th[0], 0, thr0, (void *)(unsigned long)key); + pthread_create(&th[1], 0, thr1, (void *)(unsigned long)key); + pthread_create(&th[2], 0, thr0, (void *)(unsigned long)key); + pthread_create(&th[3], 0, thr1, (void *)(unsigned long)key); + pthread_join(th[0], 0); + pthread_join(th[1], 0); + pthread_join(th[2], 0); + pthread_join(th[3], 0); + return 0; + } + + Build as: + + cc -o keyctl-race keyctl-race.c -lkeyutils -lpthread + + Run as: + + while keyctl-race; do :; done + + as it may need several iterations to crash the kernel. The crash can be + summarised as: + + BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 + IP: [] user_read+0x56/0xa3 + ... + Call Trace: + [] keyctl_read_key+0xb6/0xd7 + [] SyS_keyctl+0x83/0xe0 + [] entry_SYSCALL_64_fastpath+0x12/0x6f + + Reported-by: Dmitry Vyukov + Signed-off-by: David Howells + Tested-by: Dmitry Vyukov + Cc: stable@vger.kernel.org + Signed-off-by: James Morris + + security/keys/keyctl.c | 18 +++++++++--------- + 1 files changed, 9 insertions(+), 9 deletions(-) + +commit 195cea04477025da4a2078bd3e1fb7c4e11206c2 +Author: Brad Spengler +Date: Tue Dec 22 20:44:01 2015 -0500 + + Add new kernel command-line param: pax_size_overflow_report_only + If a user triggers a size_overflow violation that makes it difficult + to obtain the call trace without serial console/net console, they can + use this option to provide that information to us + + Documentation/kernel-parameters.txt | 5 +++++ + fs/exec.c | 12 +++++++++--- + init/main.c | 11 +++++++++++ + 3 files changed, 25 insertions(+), 3 deletions(-) + +commit 4254a8da5851df8c08cdca5c392916e8c105408d +Author: WANG Cong +Date: Mon Dec 21 10:55:45 2015 -0800 + + addrconf: always initialize sysctl table data + + When sysctl performs restrict writes, it allows to write from + a middle position of a sysctl file, which requires us to initialize + the table data before calling proc_dostring() for the write case. + + Fixes: 3d1bec99320d ("ipv6: introduce secret_stable to ipv6_devconf") + Reported-by: Sasha Levin + Acked-by: Hannes Frederic Sowa + Tested-by: Sasha Levin + Signed-off-by: Cong Wang + Signed-off-by: David S. Miller + + net/ipv6/addrconf.c | 11 ++++------- + 1 files changed, 4 insertions(+), 7 deletions(-) + +commit f8002863fb06c363180637046947a78a6ccb3d33 +Author: WANG Cong +Date: Wed Dec 16 23:39:04 2015 -0800 + + net: check both type and procotol for tcp sockets + + Dmitry reported the following out-of-bound access: + + Call Trace: + [] __asan_report_load4_noabort+0x3e/0x40 + mm/kasan/report.c:294 + [] sock_setsockopt+0x1284/0x13d0 net/core/sock.c:880 + [< inline >] SYSC_setsockopt net/socket.c:1746 + [] SyS_setsockopt+0x1fe/0x240 net/socket.c:1729 + [] entry_SYSCALL_64_fastpath+0x16/0x7a + arch/x86/entry/entry_64.S:185 + + This is because we mistake a raw socket as a tcp socket. + We should check both sk->sk_type and sk->sk_protocol to ensure + it is a tcp socket. + + Willem points out __skb_complete_tx_timestamp() needs to fix as well. + + Reported-by: Dmitry Vyukov + Cc: Willem de Bruijn + Cc: Eric Dumazet + Signed-off-by: Cong Wang + Acked-by: Willem de Bruijn + Signed-off-by: David S. Miller + + net/core/skbuff.c | 3 ++- + net/core/sock.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +commit bd6b3399804470a4ad8f34229469ca149dceba3d +Author: Colin Ian King +Date: Fri Dec 18 14:22:01 2015 -0800 + + proc: fix -ESRCH error when writing to /proc/$pid/coredump_filter + + Writing to /proc/$pid/coredump_filter always returns -ESRCH because commit + 774636e19ed51 ("proc: convert to kstrto*()/kstrto*_from_user()") removed + the setting of ret after the get_proc_task call and incorrectly left it as + -ESRCH. Instead, return 0 when successful. + + Example breakage: + + echo 0 > /proc/self/coredump_filter + bash: echo: write error: No such process + + Fixes: 774636e19ed51 ("proc: convert to kstrto*()/kstrto*_from_user()") + Signed-off-by: Colin Ian King + Acked-by: Kees Cook + Cc: [4.3+] + Signed-off-by: Andrew Morton + Signed-off-by: Linus Torvalds + + fs/proc/base.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit b28aca2b99ed08546778355fb9402c503ff9b29e +Author: Junichi Nomura +Date: Tue Dec 22 10:23:44 2015 -0700 + + block: ensure to split after potentially bouncing a bio + + blk_queue_bio() does split then bounce, which makes the segment + counting based on pages before bouncing and could go wrong. Move + the split to after bouncing, like we do for blk-mq, and the we + fix the issue of having the bio count for segments be wrong. + + Fixes: 54efd50bfd87 ("block: make generic_make_request handle arbitrarily sized bios") + Cc: stable@vger.kernel.org + Tested-by: Artem S. Tashkinov + Signed-off-by: Jens Axboe + + block/blk-core.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit e62a25e917a9e5b35ddd5b4f1b5e5e30fbd2e84c +Merge: f6f63ae ec72fa5 +Author: Brad Spengler +Date: Tue Dec 22 19:46:26 2015 -0500 + + Merge branch 'pax-test' into grsec-test + +commit ec72fa5f8d9cb4e223bad1b8b5c2e1071c222f2a +Author: Brad Spengler +Date: Tue Dec 22 19:45:51 2015 -0500 + + Update to pax-linux-4.3.3-test13.patch: + - Emese fixed a (probably) false positive integer truncation in xfs_da_grow_inode_int, reported by jdkbx (http://forums.grsecurity.net/viewtopic.php?f=3&t=4346) + - fixed a size overflow in btrfs/try_merge_map, reported by Alex W (https://bugs.archlinux.org/task/47173) and mathias and dwokfur (https://forums.grsecurity.net/viewtopic.php?f=3&t=4344) + + arch/arm/mm/fault.c | 2 +- + arch/x86/mm/fault.c | 2 +- + fs/btrfs/extent_map.c | 8 ++++++-- + fs/xfs/libxfs/xfs_da_btree.c | 4 +++- + 4 files changed, 11 insertions(+), 5 deletions(-) + +commit f6f63ae154cd45028add1dc41957878060d77fbf +Author: Brad Spengler +Date: Thu Dec 17 18:43:44 2015 -0500 + + ptrace_has_cap() checks whether the current process should be + treated as having a certain capability for ptrace checks + against another process. Until now, this was equivalent to + has_ns_capability(current, target_ns, CAP_SYS_PTRACE). + + However, if a root-owned process wants to enter a user + namespace for some reason without knowing who owns it and + therefore can't change to the namespace owner's uid and gid + before entering, as soon as it has entered the namespace, + the namespace owner can attach to it via ptrace and thereby + gain access to its uid and gid. + + While it is possible for the entering process to switch to + the uid of a claimed namespace owner before entering, + causing the attempt to enter to fail if the claimed uid is + wrong, this doesn't solve the problem of determining an + appropriate gid. + + With this change, the entering process can first enter the + namespace and then safely inspect the namespace's + properties, e.g. through /proc/self/{uid_map,gid_map}, + assuming that the namespace owner doesn't have access to + uid 0. + Signed-off-by: Jann Horn + + kernel/ptrace.c | 30 +++++++++++++++++++++++++----- + 1 files changed, 25 insertions(+), 5 deletions(-) + +commit e314f0fb63020f61543b401ff594e953c2c304e5 +Author: tadeusz.struk@intel.com +Date: Tue Dec 15 10:46:17 2015 -0800 + + net: fix uninitialized variable issue + + msg_iocb needs to be initialized on the recv/recvfrom path. + Otherwise afalg will wrongly interpret it as an async call. + + Cc: stable@vger.kernel.org + Reported-by: Harald Freudenberger + Signed-off-by: Tadeusz Struk + Signed-off-by: David S. Miller + + net/socket.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit a3f56a43ad56b8fcaf04f6327636ed2f5970de3b +Merge: dfa764c 142edcf +Author: Brad Spengler +Date: Wed Dec 16 21:01:17 2015 -0500 + + Merge branch 'pax-test' into grsec-test + +commit 142edcf1005a57fb8887823565cf0bafad2f313c +Author: Brad Spengler +Date: Wed Dec 16 21:00:57 2015 -0500 + + Update to pax-linux-4.3.3-test12.patch: + - Emese fixed a size overflow false positive in reiserfs/leaf_paste_entries, reported by Christian Apeltauer (https://bugs.gentoo.org/show_bug.cgi?id=568046) + - fixed a bunch of int/size_t mismatches in the drivers/tty/n_tty.c code causing size overflow false positives, reported by Toralf Förster, mathias (https://forums.grsecurity.net/viewtopic.php?f=3&t=4342), N8Fear (https://forums.grsecurity.net/viewtopic.php?f=3&t=4341) + + drivers/tty/n_tty.c | 16 ++++++++-------- + .../disable_size_overflow_hash.data | 2 ++ + .../size_overflow_plugin/size_overflow_hash.data | 6 ++---- + 3 files changed, 12 insertions(+), 12 deletions(-) + +commit dfa764cc549892a5bfc1083cac78b99032cae577 +Author: Hannes Frederic Sowa +Date: Tue Dec 15 22:59:12 2015 +0100 + + ipv6: automatically enable stable privacy mode if stable_secret set + + Bjørn reported that while we switch all interfaces to privacy stable mode + when setting the secret, we don't set this mode for new interfaces. This + does not make sense, so change this behaviour. + + Fixes: 622c81d57b392cc ("ipv6: generation of stable privacy addresses for link-local and autoconf") + Reported-by: Bjørn Mork + Cc: Bjørn Mork + Signed-off-by: Hannes Frederic Sowa + Signed-off-by: David S. Miller + + net/ipv6/addrconf.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +commit c2815a1fee03f222273e77c14e43f960da06f35a +Author: Brad Spengler +Date: Wed Dec 16 13:03:38 2015 -0500 + + Work around upstream limitation on the number of thread info flags causing a compilation error + Reported by fabled at http://forums.grsecurity.net/viewtopic.php?f=3&t=4339 + + arch/arm/kernel/entry-common.S | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +commit 8c9ae168e09ae49324d709d76d73d9fc4ca477e1 +Author: Brad Spengler +Date: Tue Dec 15 19:03:41 2015 -0500 + + Initial import of grsecurity 3.1 for Linux 4.3.3 + + Documentation/dontdiff | 2 + + Documentation/kernel-parameters.txt | 7 + + Documentation/sysctl/kernel.txt | 15 + + Makefile | 18 +- + arch/alpha/include/asm/cache.h | 4 +- + arch/alpha/kernel/osf_sys.c | 12 +- + arch/arc/Kconfig | 1 + + arch/arm/Kconfig | 1 + + arch/arm/Kconfig.debug | 1 + + arch/arm/include/asm/thread_info.h | 7 +- + arch/arm/kernel/process.c | 4 +- + arch/arm/kernel/ptrace.c | 9 + + arch/arm/kernel/traps.c | 7 +- + arch/arm/mm/Kconfig | 2 +- + arch/arm/mm/fault.c | 40 +- + arch/arm/mm/mmap.c | 8 +- + arch/arm/net/bpf_jit_32.c | 51 +- + arch/arm64/Kconfig.debug | 1 + + arch/avr32/include/asm/cache.h | 4 +- + arch/blackfin/Kconfig.debug | 1 + + arch/blackfin/include/asm/cache.h | 3 +- + arch/cris/include/arch-v10/arch/cache.h | 3 +- + arch/cris/include/arch-v32/arch/cache.h | 3 +- + arch/frv/include/asm/cache.h | 3 +- + arch/frv/mm/elf-fdpic.c | 4 +- + arch/hexagon/include/asm/cache.h | 6 +- + arch/ia64/Kconfig | 1 + + arch/ia64/include/asm/cache.h | 3 +- + arch/ia64/kernel/sys_ia64.c | 2 + + arch/ia64/mm/hugetlbpage.c | 2 + + arch/m32r/include/asm/cache.h | 4 +- + arch/m68k/include/asm/cache.h | 4 +- + arch/metag/mm/hugetlbpage.c | 1 + + arch/microblaze/include/asm/cache.h | 3 +- + arch/mips/Kconfig | 1 + + arch/mips/include/asm/cache.h | 3 +- + arch/mips/include/asm/thread_info.h | 11 +- + arch/mips/kernel/irq.c | 3 + + arch/mips/kernel/ptrace.c | 9 + + arch/mips/mm/mmap.c | 4 +- + arch/mn10300/proc-mn103e010/include/proc/cache.h | 4 +- + arch/mn10300/proc-mn2ws0050/include/proc/cache.h | 4 +- + arch/openrisc/include/asm/cache.h | 4 +- + arch/parisc/include/asm/cache.h | 5 +- + arch/parisc/kernel/sys_parisc.c | 4 + + arch/powerpc/Kconfig | 1 + + arch/powerpc/include/asm/cache.h | 4 +- + arch/powerpc/include/asm/thread_info.h | 5 +- + arch/powerpc/kernel/Makefile | 2 + + arch/powerpc/kernel/irq.c | 3 + + arch/powerpc/kernel/process.c | 10 +- + arch/powerpc/kernel/ptrace.c | 14 + + arch/powerpc/kernel/traps.c | 5 + + arch/powerpc/mm/slice.c | 2 +- + arch/s390/Kconfig.debug | 1 + + arch/s390/include/asm/cache.h | 4 +- + arch/score/include/asm/cache.h | 4 +- + arch/sh/include/asm/cache.h | 3 +- + arch/sh/mm/mmap.c | 6 +- + arch/sparc/include/asm/cache.h | 4 +- + arch/sparc/include/asm/pgalloc_64.h | 1 + + arch/sparc/include/asm/thread_info_64.h | 8 +- + arch/sparc/kernel/process_32.c | 6 +- + arch/sparc/kernel/process_64.c | 8 +- + arch/sparc/kernel/ptrace_64.c | 14 + + arch/sparc/kernel/sys_sparc_64.c | 8 +- + arch/sparc/kernel/syscalls.S | 8 +- + arch/sparc/kernel/traps_32.c | 8 +- + arch/sparc/kernel/traps_64.c | 28 +- + arch/sparc/kernel/unaligned_64.c | 2 +- + arch/sparc/mm/fault_64.c | 2 +- + arch/sparc/mm/hugetlbpage.c | 15 +- + arch/tile/Kconfig | 1 + + arch/tile/include/asm/cache.h | 3 +- + arch/tile/mm/hugetlbpage.c | 2 + + arch/um/include/asm/cache.h | 3 +- + arch/unicore32/include/asm/cache.h | 6 +- + arch/x86/Kconfig | 21 + + arch/x86/Kconfig.debug | 2 + + arch/x86/entry/common.c | 14 + + arch/x86/entry/entry_32.S | 2 +- + arch/x86/entry/entry_64.S | 2 +- + arch/x86/ia32/ia32_aout.c | 2 + + arch/x86/include/asm/floppy.h | 20 +- + arch/x86/include/asm/fpu/types.h | 69 +- + arch/x86/include/asm/io.h | 2 +- + arch/x86/include/asm/page.h | 12 +- + arch/x86/include/asm/paravirt_types.h | 23 +- + arch/x86/include/asm/processor.h | 12 +- + arch/x86/include/asm/thread_info.h | 6 +- + arch/x86/include/asm/uaccess.h | 2 +- + arch/x86/kernel/dumpstack.c | 10 +- + arch/x86/kernel/dumpstack_32.c | 2 +- + arch/x86/kernel/dumpstack_64.c | 2 +- + arch/x86/kernel/ioport.c | 13 + + arch/x86/kernel/irq_32.c | 3 + + arch/x86/kernel/irq_64.c | 4 + + arch/x86/kernel/ldt.c | 18 + + arch/x86/kernel/msr.c | 10 + + arch/x86/kernel/ptrace.c | 14 + + arch/x86/kernel/signal.c | 9 +- + arch/x86/kernel/sys_i386_32.c | 9 +- + arch/x86/kernel/sys_x86_64.c | 8 +- + arch/x86/kernel/traps.c | 5 + + arch/x86/kernel/verify_cpu.S | 1 + + arch/x86/kernel/vm86_32.c | 15 + + arch/x86/kvm/svm.c | 14 +- + arch/x86/mm/fault.c | 12 +- + arch/x86/mm/hugetlbpage.c | 15 +- + arch/x86/mm/init.c | 66 +- + arch/x86/mm/init_32.c | 6 +- + arch/x86/net/bpf_jit_comp.c | 4 + + arch/x86/platform/efi/efi_64.c | 2 +- + arch/x86/xen/Kconfig | 1 + + arch/xtensa/variants/dc232b/include/variant/core.h | 2 +- + arch/xtensa/variants/fsf/include/variant/core.h | 3 +- + crypto/ablkcipher.c | 2 +- + crypto/blkcipher.c | 2 +- + crypto/scatterwalk.c | 10 +- + drivers/acpi/acpica/hwxfsleep.c | 11 +- + drivers/acpi/custom_method.c | 4 + + drivers/block/cciss.h | 30 +- + drivers/block/smart1,2.h | 40 +- + drivers/cdrom/cdrom.c | 2 +- + drivers/char/Kconfig | 4 +- + drivers/char/genrtc.c | 1 + + drivers/char/ipmi/ipmi_si_intf.c | 8 +- + drivers/char/mem.c | 17 + + drivers/char/random.c | 5 +- + drivers/cpufreq/sparc-us3-cpufreq.c | 2 - + drivers/crypto/nx/nx-aes-ccm.c | 2 +- + drivers/crypto/nx/nx-aes-gcm.c | 2 +- + drivers/crypto/talitos.c | 2 +- + drivers/firewire/ohci.c | 4 + + drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 70 +- + drivers/gpu/drm/nouveau/nouveau_ttm.c | 28 +- + drivers/gpu/drm/ttm/ttm_bo_manager.c | 10 +- + drivers/gpu/drm/virtio/virtgpu_ttm.c | 10 +- + drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 10 +- + drivers/hid/hid-wiimote-debug.c | 2 +- + drivers/infiniband/hw/nes/nes_cm.c | 22 +- + drivers/iommu/Kconfig | 1 + + drivers/iommu/amd_iommu.c | 14 +- + drivers/isdn/gigaset/bas-gigaset.c | 32 +- + drivers/isdn/gigaset/ser-gigaset.c | 32 +- + drivers/isdn/gigaset/usb-gigaset.c | 32 +- + drivers/isdn/hisax/config.c | 2 +- + drivers/isdn/hisax/hfc_pci.c | 2 +- + drivers/isdn/hisax/hfc_sx.c | 2 +- + drivers/isdn/hisax/q931.c | 6 +- + drivers/isdn/i4l/isdn_concap.c | 6 +- + drivers/isdn/i4l/isdn_x25iface.c | 16 +- + drivers/md/bcache/Kconfig | 1 + + drivers/md/raid5.c | 8 + + drivers/media/pci/solo6x10/solo6x10-g723.c | 2 +- + drivers/media/platform/sti/c8sectpfe/Kconfig | 1 + + drivers/media/platform/vivid/vivid-osd.c | 1 + + drivers/media/radio/radio-cadet.c | 5 +- + drivers/media/usb/dvb-usb/cinergyT2-core.c | 91 +- + drivers/media/usb/dvb-usb/cinergyT2-fe.c | 182 +- + drivers/media/usb/dvb-usb/dvb-usb-firmware.c | 37 +- + drivers/media/usb/dvb-usb/technisat-usb2.c | 75 +- + drivers/message/fusion/mptbase.c | 9 + + drivers/misc/sgi-xp/xp_main.c | 12 +- + drivers/net/ethernet/brocade/bna/bna_enet.c | 8 +- + drivers/net/ppp/pppoe.c | 14 +- + drivers/net/ppp/pptp.c | 6 + + drivers/net/slip/slhc.c | 3 + + drivers/net/wan/lmc/lmc_media.c | 97 +- + drivers/net/wan/x25_asy.c | 6 +- + drivers/net/wan/z85230.c | 24 +- + drivers/net/wireless/ath/ath9k/Kconfig | 1 - + drivers/net/wireless/zd1211rw/zd_usb.c | 2 +- + drivers/pci/pci-sysfs.c | 2 +- + drivers/pci/proc.c | 9 + + drivers/platform/x86/asus-wmi.c | 12 + + drivers/rtc/rtc-dev.c | 3 + + drivers/scsi/bfa/bfa_fcs.c | 19 +- + drivers/scsi/bfa/bfa_fcs_lport.c | 29 +- + drivers/scsi/bfa/bfa_modules.h | 12 +- + drivers/scsi/hpsa.h | 40 +- + drivers/staging/dgnc/dgnc_mgmt.c | 1 + + drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +- + drivers/staging/lustre/lustre/libcfs/module.c | 10 +- + drivers/target/target_core_sbc.c | 17 +- + drivers/target/target_core_transport.c | 14 +- + drivers/tty/serial/uartlite.c | 4 +- + drivers/tty/sysrq.c | 2 +- + drivers/tty/vt/keyboard.c | 22 +- + drivers/uio/uio.c | 6 +- + drivers/usb/core/hub.c | 5 + + drivers/usb/gadget/function/f_uac1.c | 1 + + drivers/usb/gadget/function/u_uac1.c | 1 + + drivers/usb/host/hwa-hc.c | 9 +- + drivers/usb/usbip/vhci_sysfs.c | 2 +- + drivers/video/fbdev/arcfb.c | 2 +- + drivers/video/fbdev/matrox/matroxfb_DAC1064.c | 10 +- + drivers/video/fbdev/matrox/matroxfb_Ti3026.c | 5 +- + drivers/video/fbdev/sh_mobile_lcdcfb.c | 6 +- + drivers/video/logo/logo_linux_clut224.ppm | 2720 ++++----- + drivers/xen/xenfs/xenstored.c | 5 + + firmware/Makefile | 2 + + firmware/WHENCE | 20 +- + firmware/bnx2/bnx2-mips-06-6.2.3.fw.ihex | 5804 +++++++++++++++++ + firmware/bnx2/bnx2-mips-09-6.2.1b.fw.ihex | 6496 ++++++++++++++++++++ + fs/9p/vfs_inode.c | 4 +- + fs/attr.c | 1 + + fs/autofs4/waitq.c | 9 + + fs/binfmt_aout.c | 7 + + fs/binfmt_elf.c | 50 +- + fs/compat.c | 20 +- + fs/coredump.c | 17 +- + fs/dcache.c | 3 + + fs/debugfs/inode.c | 11 +- + fs/exec.c | 219 +- + fs/ext2/balloc.c | 4 +- + fs/ext2/super.c | 8 +- + fs/ext4/balloc.c | 4 +- + fs/fcntl.c | 4 + + fs/fhandle.c | 3 +- + fs/file.c | 4 + + fs/filesystems.c | 4 + + fs/fs_struct.c | 20 +- + fs/hugetlbfs/inode.c | 5 +- + fs/inode.c | 8 +- + fs/kernfs/dir.c | 6 + + fs/mount.h | 4 +- + fs/namei.c | 286 +- + fs/namespace.c | 24 + + fs/nfsd/nfscache.c | 2 +- + fs/open.c | 38 + + fs/overlayfs/inode.c | 11 +- + fs/overlayfs/super.c | 6 +- + fs/pipe.c | 2 +- + fs/posix_acl.c | 15 +- + fs/proc/Kconfig | 10 +- + fs/proc/array.c | 69 +- + fs/proc/base.c | 186 +- + fs/proc/cmdline.c | 4 + + fs/proc/devices.c | 4 + + fs/proc/fd.c | 17 +- + fs/proc/generic.c | 64 + + fs/proc/inode.c | 17 + + fs/proc/internal.h | 11 +- + fs/proc/interrupts.c | 4 + + fs/proc/kcore.c | 3 + + fs/proc/meminfo.c | 7 +- + fs/proc/namespaces.c | 4 +- + fs/proc/proc_net.c | 31 + + fs/proc/proc_sysctl.c | 52 +- + fs/proc/root.c | 8 + + fs/proc/stat.c | 69 +- + fs/proc/task_mmu.c | 66 +- + fs/readdir.c | 19 + + fs/reiserfs/item_ops.c | 24 +- + fs/reiserfs/super.c | 4 + + fs/select.c | 2 + + fs/seq_file.c | 30 +- + fs/splice.c | 8 + + fs/stat.c | 20 +- + fs/sysfs/dir.c | 30 +- + fs/sysv/inode.c | 11 +- + fs/utimes.c | 7 + + fs/xattr.c | 26 +- + grsecurity/Kconfig | 1182 ++++ + grsecurity/Makefile | 54 + + grsecurity/gracl.c | 2757 +++++++++ + grsecurity/gracl_alloc.c | 105 + + grsecurity/gracl_cap.c | 127 + + grsecurity/gracl_compat.c | 269 + + grsecurity/gracl_fs.c | 448 ++ + grsecurity/gracl_ip.c | 386 ++ + grsecurity/gracl_learn.c | 207 + + grsecurity/gracl_policy.c | 1786 ++++++ + grsecurity/gracl_res.c | 68 + + grsecurity/gracl_segv.c | 304 + + grsecurity/gracl_shm.c | 40 + + grsecurity/grsec_chdir.c | 19 + + grsecurity/grsec_chroot.c | 467 ++ + grsecurity/grsec_disabled.c | 445 ++ + grsecurity/grsec_exec.c | 189 + + grsecurity/grsec_fifo.c | 26 + + grsecurity/grsec_fork.c | 23 + + grsecurity/grsec_init.c | 290 + + grsecurity/grsec_ipc.c | 48 + + grsecurity/grsec_link.c | 65 + + grsecurity/grsec_log.c | 340 + + grsecurity/grsec_mem.c | 48 + + grsecurity/grsec_mount.c | 65 + + grsecurity/grsec_pax.c | 47 + + grsecurity/grsec_proc.c | 20 + + grsecurity/grsec_ptrace.c | 30 + + grsecurity/grsec_sig.c | 236 + + grsecurity/grsec_sock.c | 244 + + grsecurity/grsec_sysctl.c | 488 ++ + grsecurity/grsec_time.c | 16 + + grsecurity/grsec_tpe.c | 78 + + grsecurity/grsec_usb.c | 15 + + grsecurity/grsum.c | 64 + + include/linux/binfmts.h | 5 +- + include/linux/bitops.h | 2 +- + include/linux/capability.h | 13 + + include/linux/compiler-gcc.h | 5 + + include/linux/compiler.h | 8 + + include/linux/cred.h | 8 +- + include/linux/dcache.h | 5 +- + include/linux/fs.h | 24 +- + include/linux/fs_struct.h | 2 +- + include/linux/fsnotify.h | 6 + + include/linux/gracl.h | 342 + + include/linux/gracl_compat.h | 156 + + include/linux/gralloc.h | 9 + + include/linux/grdefs.h | 140 + + include/linux/grinternal.h | 230 + + include/linux/grmsg.h | 118 + + include/linux/grsecurity.h | 255 + + include/linux/grsock.h | 19 + + include/linux/ipc.h | 2 +- + include/linux/ipc_namespace.h | 2 +- + include/linux/kallsyms.h | 18 +- + include/linux/kmod.h | 5 + + include/linux/kobject.h | 2 +- + include/linux/lsm_hooks.h | 4 +- + include/linux/mm.h | 12 + + include/linux/mm_types.h | 4 +- + include/linux/module.h | 5 +- + include/linux/mount.h | 2 +- + include/linux/msg.h | 2 +- + include/linux/netfilter/xt_gradm.h | 9 + + include/linux/path.h | 4 +- + include/linux/perf_event.h | 13 +- + include/linux/pid_namespace.h | 2 +- + include/linux/printk.h | 2 +- + include/linux/proc_fs.h | 22 +- + include/linux/proc_ns.h | 2 +- + include/linux/ptrace.h | 24 +- + include/linux/random.h | 2 +- + include/linux/rbtree_augmented.h | 4 +- + include/linux/scatterlist.h | 12 +- + include/linux/sched.h | 114 +- + include/linux/security.h | 1 + + include/linux/sem.h | 2 +- + include/linux/seq_file.h | 5 + + include/linux/shm.h | 6 +- + include/linux/skbuff.h | 3 + + include/linux/slab.h | 9 - + include/linux/sysctl.h | 8 +- + include/linux/thread_info.h | 6 +- + include/linux/tty.h | 2 +- + include/linux/tty_driver.h | 4 +- + include/linux/uidgid.h | 5 + + include/linux/user_namespace.h | 2 +- + include/linux/utsname.h | 2 +- + include/linux/vermagic.h | 16 +- + include/linux/vmalloc.h | 20 +- + include/net/af_unix.h | 2 +- + include/net/dst.h | 33 + + include/net/ip.h | 2 +- + include/net/neighbour.h | 2 +- + include/net/net_namespace.h | 2 +- + include/net/sock.h | 4 +- + include/target/target_core_base.h | 2 +- + include/trace/events/fs.h | 53 + + include/uapi/linux/personality.h | 1 + + init/Kconfig | 4 +- + init/main.c | 35 +- + ipc/mqueue.c | 1 + + ipc/msg.c | 3 +- + ipc/sem.c | 3 +- + ipc/shm.c | 26 +- + ipc/util.c | 6 + + kernel/auditsc.c | 2 +- + kernel/bpf/syscall.c | 8 +- + kernel/capability.c | 41 +- + kernel/cgroup.c | 5 +- + kernel/compat.c | 1 + + kernel/configs.c | 11 + + kernel/cred.c | 112 +- + kernel/events/core.c | 16 +- + kernel/exit.c | 10 +- + kernel/fork.c | 86 +- + kernel/futex.c | 6 +- + kernel/futex_compat.c | 2 +- + kernel/kallsyms.c | 9 + + kernel/kcmp.c | 8 +- + kernel/kexec_core.c | 2 +- + kernel/kmod.c | 95 +- + kernel/kprobes.c | 7 +- + kernel/ksysfs.c | 2 + + kernel/locking/lockdep_proc.c | 10 +- + kernel/module.c | 108 +- + kernel/panic.c | 4 +- + kernel/pid.c | 23 +- + kernel/power/Kconfig | 2 + + kernel/printk/printk.c | 20 +- + kernel/ptrace.c | 56 +- + kernel/resource.c | 10 + + kernel/sched/core.c | 11 +- + kernel/signal.c | 37 +- + kernel/sys.c | 64 +- + kernel/sysctl.c | 172 +- + kernel/taskstats.c | 6 + + kernel/time/posix-timers.c | 8 + + kernel/time/time.c | 5 + + kernel/time/timekeeping.c | 3 + + kernel/time/timer_list.c | 13 +- + kernel/time/timer_stats.c | 10 +- + kernel/trace/Kconfig | 2 + + kernel/trace/trace_syscalls.c | 8 + + kernel/user_namespace.c | 15 + + lib/Kconfig.debug | 13 +- + lib/Kconfig.kasan | 2 +- + lib/is_single_threaded.c | 3 + + lib/list_debug.c | 65 +- + lib/nlattr.c | 2 + + lib/rbtree.c | 4 +- + lib/vsprintf.c | 39 +- + localversion-grsec | 1 + + mm/Kconfig | 8 +- + mm/Kconfig.debug | 1 + + mm/filemap.c | 1 + + mm/kmemleak.c | 4 +- + mm/memory.c | 2 +- + mm/mempolicy.c | 12 +- + mm/migrate.c | 3 +- + mm/mlock.c | 6 +- + mm/mmap.c | 93 +- + mm/mprotect.c | 8 + + mm/oom_kill.c | 28 +- + mm/page_alloc.c | 2 +- + mm/process_vm_access.c | 8 +- + mm/shmem.c | 36 +- + mm/slab.c | 14 +- + mm/slab_common.c | 2 +- + mm/slob.c | 12 + + mm/slub.c | 33 +- + mm/util.c | 3 + + mm/vmalloc.c | 129 +- + mm/vmstat.c | 29 +- + net/appletalk/atalk_proc.c | 2 +- + net/atm/lec.c | 6 +- + net/atm/mpoa_caches.c | 42 +- + net/bluetooth/sco.c | 3 + + net/can/bcm.c | 2 +- + net/can/proc.c | 2 +- + net/core/dev_ioctl.c | 7 +- + net/core/filter.c | 8 +- + net/core/net-procfs.c | 17 +- + net/core/pktgen.c | 2 +- + net/core/sock.c | 3 +- + net/core/sysctl_net_core.c | 2 +- + net/decnet/dn_dev.c | 2 +- + net/ipv4/devinet.c | 6 +- + net/ipv4/inet_hashtables.c | 4 + + net/ipv4/ip_input.c | 7 + + net/ipv4/ip_sockglue.c | 3 +- + net/ipv4/netfilter/ipt_CLUSTERIP.c | 2 +- + net/ipv4/netfilter/nf_nat_pptp.c | 2 +- + net/ipv4/route.c | 6 +- + net/ipv4/tcp_input.c | 4 +- + net/ipv4/tcp_ipv4.c | 29 +- + net/ipv4/tcp_minisocks.c | 9 +- + net/ipv4/tcp_timer.c | 11 + + net/ipv4/udp.c | 24 + + net/ipv6/addrconf.c | 13 +- + net/ipv6/proc.c | 2 +- + net/ipv6/tcp_ipv6.c | 26 +- + net/ipv6/udp.c | 7 + + net/ipx/ipx_proc.c | 2 +- + net/irda/irproc.c | 2 +- + net/llc/llc_proc.c | 2 +- + net/netfilter/Kconfig | 10 + + net/netfilter/Makefile | 1 + + net/netfilter/nf_conntrack_core.c | 8 + + net/netfilter/xt_gradm.c | 51 + + net/netfilter/xt_hashlimit.c | 4 +- + net/netfilter/xt_recent.c | 2 +- + net/sched/sch_api.c | 2 +- + net/sctp/socket.c | 4 +- + net/socket.c | 75 +- + net/sunrpc/Kconfig | 1 + + net/sunrpc/cache.c | 2 +- + net/sunrpc/stats.c | 2 +- + net/sysctl_net.c | 2 +- + net/unix/af_unix.c | 52 +- + net/vmw_vsock/vmci_transport_notify.c | 30 +- + net/vmw_vsock/vmci_transport_notify_qstate.c | 30 +- + net/x25/sysctl_net_x25.c | 2 +- + net/x25/x25_proc.c | 2 +- + scripts/package/Makefile | 2 +- + scripts/package/mkspec | 41 +- + security/Kconfig | 369 +- + security/apparmor/file.c | 4 +- + security/apparmor/lsm.c | 8 +- + security/commoncap.c | 36 +- + security/min_addr.c | 2 + + security/smack/smack_lsm.c | 8 +- + security/tomoyo/file.c | 12 +- + security/tomoyo/mount.c | 4 + + security/tomoyo/tomoyo.c | 20 +- + security/yama/Kconfig | 2 +- + security/yama/yama_lsm.c | 4 +- + sound/synth/emux/emux_seq.c | 14 +- + sound/usb/line6/driver.c | 40 +- + sound/usb/line6/toneport.c | 12 +- + tools/gcc/.gitignore | 1 + + tools/gcc/Makefile | 12 + + tools/gcc/gen-random-seed.sh | 8 + + tools/gcc/randomize_layout_plugin.c | 930 +++ + tools/gcc/size_overflow_plugin/.gitignore | 1 + + .../size_overflow_plugin/size_overflow_hash.data | 459 ++- + 511 files changed, 32631 insertions(+), 3196 deletions(-) + +commit a76adb92ce39aee8eec5a025c828030ad6135c6d +Author: Brad Spengler +Date: Tue Dec 15 14:31:49 2015 -0500 + + Update to pax-linux-4.3.3-test11.patch: + - fixed a few compile regressions with the recent plugin changes, reported by spender + - updated the size overflow hash table + + tools/gcc/latent_entropy_plugin.c | 2 +- + .../size_overflow_plugin/size_overflow_hash.data | 66 +++++++++++++++++--- + tools/gcc/stackleak_plugin.c | 2 +- + tools/gcc/structleak_plugin.c | 6 +-- + 4 files changed, 60 insertions(+), 16 deletions(-) + +commit f7284b1fc06628fcb2d35d2beecdea5454d46af9 +Author: Brad Spengler +Date: Tue Dec 15 11:50:24 2015 -0500 + + Apply structleak ICE fix for gcc < 4.9 + + tools/gcc/structleak_plugin.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +commit 92fe3eb9fd10ec7f7334decab1526989669b0287 +Author: Brad Spengler +Date: Tue Dec 15 07:57:06 2015 -0500 + + Update to pax-linux-4.3.1-test10.patch: + - Emese fixed INDIRECT_REF and TARGET_MEM_REF handling in the initify plugin + - Emese regenerated the size overflow hash tables for 4.3 + - fixed some compat syscall exit paths to restore r12 under KERNEXEC/or + - the latent entropy, stackleak and structleak plugins no longer split the entry block unnecessarily + + arch/x86/entry/entry_64.S | 2 +- + arch/x86/entry/entry_64_compat.S | 15 +- + scripts/package/builddeb | 2 +- + tools/gcc/initify_plugin.c | 11 +- + tools/gcc/latent_entropy_plugin.c | 20 +- + .../disable_size_overflow_hash.data | 4 + + .../size_overflow_plugin/size_overflow_hash.data | 5345 +++++++++++--------- + tools/gcc/stackleak_plugin.c | 26 +- + tools/gcc/structleak_plugin.c | 21 +- + 9 files changed, 3079 insertions(+), 2367 deletions(-) + +commit 5bd245cb687319079c2f1c0d6a1170791ed1ed2c +Merge: b5847e6 3548341 +Author: Brad Spengler +Date: Tue Dec 15 07:47:56 2015 -0500 + + Merge branch 'linux-4.3.y' into pax-4_3 + + Conflicts: + net/unix/af_unix.c + +commit b5847e6a896c5d99191135ca4d7c3b6be8f116ff +Author: Brad Spengler +Date: Wed Dec 9 23:11:36 2015 -0500 + + Update to pax-linux-4.3.1-test9.patch: + - fixed __get_user on x86 to lie less about the size of the load, reported by peetaur (https://forums.grsecurity.net/viewtopic.php?f=3&t=4332) + - Emese fixed an intentional overflow caused by gcc, reported by saironiq (https://forums.grsecurity.net/viewtopic.php?f=3&t=4333) + - Emese fixed a false positive overflow report in the forcedeth driver, reported by fx3 (https://forums.grsecurity.net/viewtopic.php?t=4334) + - Emese fixed a false positive overflow report in KVM's emulator, reported by fx3 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4336) + - Emese fixed the initify plugin to detect some captured use of __func__, reported by Rasmus Villemoes + - constrained shmmax and shmall to avoid triggering size overflow checks, reported by Mathias Krause + - the checker plugin can partially handle sparse's locking context annotations, it's context insensitive and thus not exactly useful for now, also see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59856 + + Makefile | 6 + + arch/x86/include/asm/compat.h | 4 + + arch/x86/include/asm/dma.h | 2 + + arch/x86/include/asm/pmem.h | 2 +- + arch/x86/include/asm/uaccess.h | 20 +- + arch/x86/kernel/apic/vector.c | 6 +- + arch/x86/kernel/cpu/mtrr/generic.c | 6 +- + arch/x86/kernel/cpu/perf_event_intel.c | 28 +- + arch/x86/kernel/head_64.S | 1 - + arch/x86/kvm/i8259.c | 10 +- + arch/x86/kvm/ioapic.c | 2 + + arch/x86/kvm/x86.c | 2 + + arch/x86/lib/usercopy_64.c | 2 +- + arch/x86/mm/mpx.c | 4 +- + arch/x86/mm/pageattr.c | 7 + + drivers/base/devres.c | 4 +- + drivers/base/power/runtime.c | 6 +- + drivers/base/regmap/regmap.c | 4 +- + drivers/block/drbd/drbd_receiver.c | 4 +- + drivers/block/drbd/drbd_worker.c | 6 +- + drivers/char/virtio_console.c | 6 +- + drivers/md/dm.c | 12 +- + drivers/net/ethernet/nvidia/forcedeth.c | 4 +- + drivers/net/macvtap.c | 4 +- + drivers/video/fbdev/core/fbmem.c | 10 +- + fs/compat.c | 3 +- + fs/coredump.c | 2 +- + fs/dcache.c | 13 +- + fs/fhandle.c | 2 +- + fs/file.c | 14 +- + fs/fs-writeback.c | 11 +- + fs/overlayfs/copy_up.c | 2 +- + fs/readdir.c | 3 +- + fs/super.c | 3 +- + include/linux/compiler.h | 36 ++- + include/linux/rcupdate.h | 8 + + include/linux/sched.h | 4 +- + include/linux/seqlock.h | 10 + + include/linux/spinlock.h | 17 +- + include/linux/srcu.h | 5 +- + include/linux/syscalls.h | 2 +- + include/linux/writeback.h | 3 +- + include/uapi/linux/swab.h | 6 +- + ipc/ipc_sysctl.c | 6 + + kernel/exit.c | 25 +- + kernel/resource.c | 4 +- + kernel/signal.c | 12 +- + kernel/user.c | 2 +- + kernel/workqueue.c | 6 +- + lib/rhashtable.c | 4 +- + net/compat.c | 2 +- + net/ipv4/xfrm4_mode_transport.c | 2 +- + security/keys/internal.h | 8 +- + security/keys/keyring.c | 4 - + sound/core/seq/seq_clientmgr.c | 8 +- + sound/core/seq/seq_compat.c | 2 +- + sound/core/seq/seq_memory.c | 6 +- + tools/gcc/checker_plugin.c | 415 +++++++++++++++++++- + tools/gcc/gcc-common.h | 1 + + tools/gcc/initify_plugin.c | 33 ++- + .../disable_size_overflow_hash.data | 1 + + .../size_overflow_plugin/size_overflow_hash.data | 1 - + 62 files changed, 708 insertions(+), 140 deletions(-) + +commit f2634c2f6995f4231616f24ed016f890c701f939 +Merge: 1241bff 5f8b236 +Author: Brad Spengler +Date: Wed Dec 9 21:50:47 2015 -0500 + + Merge branch 'linux-4.3.y' into pax-4_3 + + Conflicts: + arch/x86/kernel/fpu/xstate.c + arch/x86/kernel/head_64.S + +commit 1241bff82e3d7dadb05de0a60b8d2822afc6547c +Author: Brad Spengler +Date: Sun Dec 6 08:44:56 2015 -0500 + + Update to pax-linux-4.3-test8.patch: + - fixed integer truncation check in md introduced by upstream commits 284ae7cab0f7335c9e0aa8992b28415ef1a54c7c and 58c0fed400603a802968b23ddf78f029c5a84e41, reported by BeiKed9o (https://forums.grsecurity.net/viewtopic.php?f=3&t=4328) + - gcc plugin compilation problems will now also produce the output of the checking script to make diagnosis easier, reported by hunger + - Emese fixed a false positive size overflow report in __vhost_add_used_n, reported by quasar366 (https://forums.grsecurity.net/viewtopic.php?f=3&t=4329) + - fixed a potential integer truncation error in the raid1 code caught by the size overflow plugin, reported by d1b (https://forums.grsecurity.net/viewtopic.php?f=3&t=4331) + + Makefile | 5 +++ + drivers/md/md.c | 5 ++- + drivers/md/raid1.c | 2 +- + fs/proc/task_mmu.c | 3 ++ + .../disable_size_overflow_hash.data | 4 ++- + .../size_overflow_plugin/intentional_overflow.c | 32 ++++++++++++++++--- + .../size_overflow_plugin/size_overflow_hash.data | 2 - + .../size_overflow_plugin/size_overflow_plugin.c | 2 +- + 8 files changed, 43 insertions(+), 12 deletions(-) + +commit cce6a9f9bdd27096632ca1c0246dcc07f2eb1a18 +Author: Brad Spengler +Date: Fri Dec 4 14:24:12 2015 -0500 + + Initial import of pax-linux-4.3-test7.patch + + Documentation/dontdiff | 47 +- + Documentation/kbuild/makefiles.txt | 39 +- + Documentation/kernel-parameters.txt | 28 + + Makefile | 108 +- + arch/alpha/include/asm/atomic.h | 10 + + arch/alpha/include/asm/elf.h | 7 + + arch/alpha/include/asm/pgalloc.h | 6 + + arch/alpha/include/asm/pgtable.h | 11 + + arch/alpha/kernel/module.c | 2 +- + arch/alpha/kernel/osf_sys.c | 8 +- + arch/alpha/mm/fault.c | 141 +- + arch/arm/Kconfig | 2 +- + arch/arm/include/asm/atomic.h | 320 +- + arch/arm/include/asm/cache.h | 5 +- + arch/arm/include/asm/cacheflush.h | 2 +- + arch/arm/include/asm/checksum.h | 14 +- + arch/arm/include/asm/cmpxchg.h | 4 + + arch/arm/include/asm/cpuidle.h | 2 +- + arch/arm/include/asm/domain.h | 22 +- + arch/arm/include/asm/elf.h | 9 +- + arch/arm/include/asm/fncpy.h | 2 + + arch/arm/include/asm/futex.h | 10 + + arch/arm/include/asm/kmap_types.h | 2 +- + arch/arm/include/asm/mach/dma.h | 2 +- + arch/arm/include/asm/mach/map.h | 16 +- + arch/arm/include/asm/outercache.h | 2 +- + arch/arm/include/asm/page.h | 3 +- + arch/arm/include/asm/pgalloc.h | 20 + + arch/arm/include/asm/pgtable-2level-hwdef.h | 4 +- + arch/arm/include/asm/pgtable-2level.h | 3 + + arch/arm/include/asm/pgtable-3level.h | 3 + + arch/arm/include/asm/pgtable.h | 54 +- + arch/arm/include/asm/smp.h | 2 +- + arch/arm/include/asm/tls.h | 3 + + arch/arm/include/asm/uaccess.h | 79 +- + arch/arm/include/uapi/asm/ptrace.h | 2 +- + arch/arm/kernel/armksyms.c | 2 +- + arch/arm/kernel/cpuidle.c | 2 +- + arch/arm/kernel/entry-armv.S | 109 +- + arch/arm/kernel/entry-common.S | 40 +- + arch/arm/kernel/entry-header.S | 55 + + arch/arm/kernel/fiq.c | 3 + + arch/arm/kernel/module-plts.c | 7 +- + arch/arm/kernel/module.c | 38 +- + arch/arm/kernel/patch.c | 2 + + arch/arm/kernel/process.c | 90 +- + arch/arm/kernel/reboot.c | 1 + + arch/arm/kernel/setup.c | 20 +- + arch/arm/kernel/signal.c | 35 +- + arch/arm/kernel/smp.c | 2 +- + arch/arm/kernel/tcm.c | 4 +- + arch/arm/kernel/vmlinux.lds.S | 6 +- + arch/arm/kvm/arm.c | 8 +- + arch/arm/lib/copy_page.S | 1 + + arch/arm/lib/csumpartialcopyuser.S | 4 +- + arch/arm/lib/delay.c | 2 +- + arch/arm/lib/uaccess_with_memcpy.c | 4 +- + arch/arm/mach-exynos/suspend.c | 6 +- + arch/arm/mach-mvebu/coherency.c | 4 +- + arch/arm/mach-omap2/board-n8x0.c | 2 +- + arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 +- + arch/arm/mach-omap2/omap-smp.c | 1 + + arch/arm/mach-omap2/omap-wakeupgen.c | 2 +- + arch/arm/mach-omap2/omap_device.c | 4 +- + arch/arm/mach-omap2/omap_device.h | 4 +- + arch/arm/mach-omap2/omap_hwmod.c | 4 +- + arch/arm/mach-omap2/powerdomains43xx_data.c | 5 +- + arch/arm/mach-omap2/wd_timer.c | 6 +- + arch/arm/mach-shmobile/platsmp-apmu.c | 5 +- + arch/arm/mach-tegra/cpuidle-tegra20.c | 2 +- + arch/arm/mach-tegra/irq.c | 1 + + arch/arm/mach-ux500/pm.c | 1 + + arch/arm/mach-zynq/platsmp.c | 1 + + arch/arm/mm/Kconfig | 6 +- + arch/arm/mm/alignment.c | 8 + + arch/arm/mm/cache-l2x0.c | 2 +- + arch/arm/mm/context.c | 10 +- + arch/arm/mm/fault.c | 146 + + arch/arm/mm/fault.h | 12 + + arch/arm/mm/init.c | 39 + + arch/arm/mm/ioremap.c | 4 +- + arch/arm/mm/mmap.c | 30 +- + arch/arm/mm/mmu.c | 162 +- + arch/arm/net/bpf_jit_32.c | 3 + + arch/arm/plat-iop/setup.c | 2 +- + arch/arm/plat-omap/sram.c | 2 + + arch/arm64/include/asm/atomic.h | 10 + + arch/arm64/include/asm/percpu.h | 8 +- + arch/arm64/include/asm/pgalloc.h | 5 + + arch/arm64/include/asm/uaccess.h | 1 + + arch/arm64/mm/dma-mapping.c | 2 +- + arch/avr32/include/asm/elf.h | 8 +- + arch/avr32/include/asm/kmap_types.h | 4 +- + arch/avr32/mm/fault.c | 27 + + arch/frv/include/asm/atomic.h | 10 + + arch/frv/include/asm/kmap_types.h | 2 +- + arch/frv/mm/elf-fdpic.c | 3 +- + arch/ia64/Makefile | 1 + + arch/ia64/include/asm/atomic.h | 10 + + arch/ia64/include/asm/elf.h | 7 + + arch/ia64/include/asm/pgalloc.h | 12 + + arch/ia64/include/asm/pgtable.h | 13 +- + arch/ia64/include/asm/spinlock.h | 2 +- + arch/ia64/include/asm/uaccess.h | 27 +- + arch/ia64/kernel/module.c | 45 +- + arch/ia64/kernel/palinfo.c | 2 +- + arch/ia64/kernel/sys_ia64.c | 7 + + arch/ia64/kernel/vmlinux.lds.S | 2 +- + arch/ia64/mm/fault.c | 32 +- + arch/ia64/mm/init.c | 15 +- + arch/m32r/lib/usercopy.c | 6 + + arch/mips/cavium-octeon/dma-octeon.c | 2 +- + arch/mips/include/asm/atomic.h | 368 +- + arch/mips/include/asm/elf.h | 7 + + arch/mips/include/asm/exec.h | 2 +- + arch/mips/include/asm/hw_irq.h | 2 +- + arch/mips/include/asm/local.h | 57 + + arch/mips/include/asm/page.h | 2 +- + arch/mips/include/asm/pgalloc.h | 5 + + arch/mips/include/asm/pgtable.h | 3 + + arch/mips/include/asm/uaccess.h | 1 + + arch/mips/kernel/binfmt_elfn32.c | 7 + + arch/mips/kernel/binfmt_elfo32.c | 7 + + arch/mips/kernel/irq-gt641xx.c | 2 +- + arch/mips/kernel/irq.c | 6 +- + arch/mips/kernel/pm-cps.c | 2 +- + arch/mips/kernel/process.c | 12 - + arch/mips/kernel/sync-r4k.c | 24 +- + arch/mips/kernel/traps.c | 13 +- + arch/mips/mm/fault.c | 25 + + arch/mips/mm/mmap.c | 51 +- + arch/mips/sgi-ip27/ip27-nmi.c | 6 +- + arch/mips/sni/rm200.c | 2 +- + arch/mips/vr41xx/common/icu.c | 2 +- + arch/mips/vr41xx/common/irq.c | 4 +- + arch/parisc/include/asm/atomic.h | 10 + + arch/parisc/include/asm/elf.h | 7 + + arch/parisc/include/asm/pgalloc.h | 6 + + arch/parisc/include/asm/pgtable.h | 11 + + arch/parisc/include/asm/uaccess.h | 4 +- + arch/parisc/kernel/module.c | 50 +- + arch/parisc/kernel/sys_parisc.c | 15 + + arch/parisc/kernel/traps.c | 4 +- + arch/parisc/mm/fault.c | 140 +- + arch/powerpc/include/asm/atomic.h | 329 +- + arch/powerpc/include/asm/elf.h | 12 + + arch/powerpc/include/asm/exec.h | 2 +- + arch/powerpc/include/asm/kmap_types.h | 2 +- + arch/powerpc/include/asm/local.h | 46 + + arch/powerpc/include/asm/mman.h | 2 +- + arch/powerpc/include/asm/page.h | 8 +- + arch/powerpc/include/asm/page_64.h | 7 +- + arch/powerpc/include/asm/pgalloc-64.h | 7 + + arch/powerpc/include/asm/pgtable.h | 1 + + arch/powerpc/include/asm/pte-hash32.h | 1 + + arch/powerpc/include/asm/reg.h | 1 + + arch/powerpc/include/asm/smp.h | 2 +- + arch/powerpc/include/asm/spinlock.h | 42 +- + arch/powerpc/include/asm/uaccess.h | 141 +- + arch/powerpc/kernel/Makefile | 5 + + arch/powerpc/kernel/exceptions-64e.S | 4 +- + arch/powerpc/kernel/exceptions-64s.S | 2 +- + arch/powerpc/kernel/module_32.c | 15 +- + arch/powerpc/kernel/process.c | 46 - + arch/powerpc/kernel/signal_32.c | 2 +- + arch/powerpc/kernel/signal_64.c | 2 +- + arch/powerpc/kernel/traps.c | 21 + + arch/powerpc/kernel/vdso.c | 5 +- + arch/powerpc/lib/usercopy_64.c | 18 - + arch/powerpc/mm/fault.c | 56 +- + arch/powerpc/mm/mmap.c | 16 + + arch/powerpc/mm/slice.c | 13 +- + arch/powerpc/platforms/cell/spufs/file.c | 4 +- + arch/s390/include/asm/atomic.h | 10 + + arch/s390/include/asm/elf.h | 7 + + arch/s390/include/asm/exec.h | 2 +- + arch/s390/include/asm/uaccess.h | 13 +- + arch/s390/kernel/module.c | 22 +- + arch/s390/kernel/process.c | 24 - + arch/s390/mm/mmap.c | 16 + + arch/score/include/asm/exec.h | 2 +- + arch/score/kernel/process.c | 5 - + arch/sh/mm/mmap.c | 22 +- + arch/sparc/include/asm/atomic_64.h | 110 +- + arch/sparc/include/asm/cache.h | 2 +- + arch/sparc/include/asm/elf_32.h | 7 + + arch/sparc/include/asm/elf_64.h | 7 + + arch/sparc/include/asm/pgalloc_32.h | 1 + + arch/sparc/include/asm/pgalloc_64.h | 1 + + arch/sparc/include/asm/pgtable.h | 4 + + arch/sparc/include/asm/pgtable_32.h | 15 +- + arch/sparc/include/asm/pgtsrmmu.h | 5 + + arch/sparc/include/asm/setup.h | 4 +- + arch/sparc/include/asm/spinlock_64.h | 35 +- + arch/sparc/include/asm/thread_info_32.h | 1 + + arch/sparc/include/asm/thread_info_64.h | 2 + + arch/sparc/include/asm/uaccess.h | 1 + + arch/sparc/include/asm/uaccess_32.h | 28 +- + arch/sparc/include/asm/uaccess_64.h | 24 +- + arch/sparc/kernel/Makefile | 2 +- + arch/sparc/kernel/prom_common.c | 2 +- + arch/sparc/kernel/smp_64.c | 8 +- + arch/sparc/kernel/sys_sparc_32.c | 2 +- + arch/sparc/kernel/sys_sparc_64.c | 52 +- + arch/sparc/kernel/traps_64.c | 27 +- + arch/sparc/lib/Makefile | 2 +- + arch/sparc/lib/atomic_64.S | 57 +- + arch/sparc/lib/ksyms.c | 6 +- + arch/sparc/mm/Makefile | 2 +- + arch/sparc/mm/fault_32.c | 292 + + arch/sparc/mm/fault_64.c | 486 + + arch/sparc/mm/hugetlbpage.c | 22 +- + arch/sparc/mm/init_64.c | 10 +- + arch/tile/include/asm/atomic_64.h | 10 + + arch/tile/include/asm/uaccess.h | 4 +- + arch/um/Makefile | 4 + + arch/um/include/asm/kmap_types.h | 2 +- + arch/um/include/asm/page.h | 3 + + arch/um/include/asm/pgtable-3level.h | 1 + + arch/um/kernel/process.c | 16 - + arch/x86/Kconfig | 15 +- + arch/x86/Kconfig.cpu | 6 +- + arch/x86/Kconfig.debug | 4 +- + arch/x86/Makefile | 13 +- + arch/x86/boot/Makefile | 3 + + arch/x86/boot/bitops.h | 4 +- + arch/x86/boot/boot.h | 2 +- + arch/x86/boot/compressed/Makefile | 3 + + arch/x86/boot/compressed/efi_stub_32.S | 16 +- + arch/x86/boot/compressed/efi_thunk_64.S | 4 +- + arch/x86/boot/compressed/head_32.S | 4 +- + arch/x86/boot/compressed/head_64.S | 12 +- + arch/x86/boot/compressed/misc.c | 11 +- + arch/x86/boot/cpucheck.c | 16 +- + arch/x86/boot/header.S | 6 +- + arch/x86/boot/memory.c | 2 +- + arch/x86/boot/video-vesa.c | 1 + + arch/x86/boot/video.c | 2 +- + arch/x86/crypto/aes-x86_64-asm_64.S | 4 + + arch/x86/crypto/aesni-intel_asm.S | 106 +- + arch/x86/crypto/blowfish-x86_64-asm_64.S | 7 + + arch/x86/crypto/camellia-aesni-avx-asm_64.S | 10 + + arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 10 + + arch/x86/crypto/camellia-x86_64-asm_64.S | 7 + + arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 51 +- + arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 25 +- + arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 4 +- + arch/x86/crypto/ghash-clmulni-intel_asm.S | 4 + + arch/x86/crypto/salsa20-x86_64-asm_64.S | 4 + + arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 9 + + arch/x86/crypto/serpent-avx2-asm_64.S | 9 + + arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 4 + + arch/x86/crypto/sha1_ssse3_asm.S | 10 +- + arch/x86/crypto/sha256-avx-asm.S | 2 + + arch/x86/crypto/sha256-avx2-asm.S | 2 + + arch/x86/crypto/sha256-ssse3-asm.S | 2 + + arch/x86/crypto/sha512-avx-asm.S | 2 + + arch/x86/crypto/sha512-avx2-asm.S | 2 + + arch/x86/crypto/sha512-ssse3-asm.S | 2 + + arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 25 +- + arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 4 + + arch/x86/crypto/twofish-x86_64-asm_64.S | 3 + + arch/x86/entry/calling.h | 86 +- + arch/x86/entry/common.c | 13 +- + arch/x86/entry/entry_32.S | 351 +- + arch/x86/entry/entry_64.S | 619 +- + arch/x86/entry/entry_64_compat.S | 159 +- + arch/x86/entry/thunk_64.S | 2 + + arch/x86/entry/vdso/Makefile | 2 +- + arch/x86/entry/vdso/vdso2c.h | 8 +- + arch/x86/entry/vdso/vma.c | 41 +- + arch/x86/entry/vsyscall/vsyscall_64.c | 16 +- + arch/x86/entry/vsyscall/vsyscall_emu_64.S | 2 +- + arch/x86/ia32/ia32_signal.c | 23 +- + arch/x86/ia32/sys_ia32.c | 42 +- + arch/x86/include/asm/alternative-asm.h | 43 +- + arch/x86/include/asm/alternative.h | 4 +- + arch/x86/include/asm/apic.h | 2 +- + arch/x86/include/asm/apm.h | 4 +- + arch/x86/include/asm/atomic.h | 230 +- + arch/x86/include/asm/atomic64_32.h | 100 + + arch/x86/include/asm/atomic64_64.h | 164 +- + arch/x86/include/asm/bitops.h | 18 +- + arch/x86/include/asm/boot.h | 2 +- + arch/x86/include/asm/cache.h | 5 +- + arch/x86/include/asm/checksum_32.h | 12 +- + arch/x86/include/asm/cmpxchg.h | 39 + + arch/x86/include/asm/compat.h | 2 +- + arch/x86/include/asm/cpufeature.h | 17 +- + arch/x86/include/asm/desc.h | 78 +- + arch/x86/include/asm/desc_defs.h | 6 + + arch/x86/include/asm/div64.h | 2 +- + arch/x86/include/asm/elf.h | 33 +- + arch/x86/include/asm/emergency-restart.h | 2 +- + arch/x86/include/asm/fpu/internal.h | 42 +- + arch/x86/include/asm/fpu/types.h | 6 +- + arch/x86/include/asm/futex.h | 14 +- + arch/x86/include/asm/hw_irq.h | 4 +- + arch/x86/include/asm/i8259.h | 2 +- + arch/x86/include/asm/io.h | 22 +- + arch/x86/include/asm/irqflags.h | 5 + + arch/x86/include/asm/kprobes.h | 9 +- + arch/x86/include/asm/local.h | 106 +- + arch/x86/include/asm/mman.h | 15 + + arch/x86/include/asm/mmu.h | 14 +- + arch/x86/include/asm/mmu_context.h | 114 +- + arch/x86/include/asm/module.h | 17 +- + arch/x86/include/asm/nmi.h | 19 +- + arch/x86/include/asm/page.h | 1 + + arch/x86/include/asm/page_32.h | 12 +- + arch/x86/include/asm/page_64.h | 14 +- + arch/x86/include/asm/paravirt.h | 46 +- + arch/x86/include/asm/paravirt_types.h | 15 +- + arch/x86/include/asm/pgalloc.h | 23 + + arch/x86/include/asm/pgtable-2level.h | 2 + + arch/x86/include/asm/pgtable-3level.h | 7 + + arch/x86/include/asm/pgtable.h | 128 +- + arch/x86/include/asm/pgtable_32.h | 14 +- + arch/x86/include/asm/pgtable_32_types.h | 24 +- + arch/x86/include/asm/pgtable_64.h | 23 +- + arch/x86/include/asm/pgtable_64_types.h | 5 + + arch/x86/include/asm/pgtable_types.h | 26 +- + arch/x86/include/asm/preempt.h | 2 +- + arch/x86/include/asm/processor.h | 57 +- + arch/x86/include/asm/ptrace.h | 13 +- + arch/x86/include/asm/realmode.h | 4 +- + arch/x86/include/asm/reboot.h | 10 +- + arch/x86/include/asm/rmwcc.h | 84 +- + arch/x86/include/asm/rwsem.h | 60 +- + arch/x86/include/asm/segment.h | 27 +- + arch/x86/include/asm/smap.h | 43 + + arch/x86/include/asm/smp.h | 14 +- + arch/x86/include/asm/stackprotector.h | 4 +- + arch/x86/include/asm/stacktrace.h | 32 +- + arch/x86/include/asm/switch_to.h | 4 +- + arch/x86/include/asm/sys_ia32.h | 6 +- + arch/x86/include/asm/thread_info.h | 27 +- + arch/x86/include/asm/tlbflush.h | 77 +- + arch/x86/include/asm/uaccess.h | 192 +- + arch/x86/include/asm/uaccess_32.h | 28 +- + arch/x86/include/asm/uaccess_64.h | 169 +- + arch/x86/include/asm/word-at-a-time.h | 2 +- + arch/x86/include/asm/x86_init.h | 10 +- + arch/x86/include/asm/xen/page.h | 2 +- + arch/x86/include/uapi/asm/e820.h | 2 +- + arch/x86/kernel/Makefile | 2 +- + arch/x86/kernel/acpi/boot.c | 4 +- + arch/x86/kernel/acpi/sleep.c | 4 + + arch/x86/kernel/acpi/wakeup_32.S | 6 +- + arch/x86/kernel/alternative.c | 124 +- + arch/x86/kernel/apic/apic.c | 4 +- + arch/x86/kernel/apic/apic_flat_64.c | 6 +- + arch/x86/kernel/apic/apic_noop.c | 2 +- + arch/x86/kernel/apic/bigsmp_32.c | 2 +- + arch/x86/kernel/apic/io_apic.c | 8 +- + arch/x86/kernel/apic/msi.c | 2 +- + arch/x86/kernel/apic/probe_32.c | 4 +- + arch/x86/kernel/apic/vector.c | 4 +- + arch/x86/kernel/apic/x2apic_cluster.c | 2 +- + arch/x86/kernel/apic/x2apic_phys.c | 2 +- + arch/x86/kernel/apic/x2apic_uv_x.c | 2 +- + arch/x86/kernel/apm_32.c | 21 +- + arch/x86/kernel/asm-offsets.c | 20 + + arch/x86/kernel/asm-offsets_64.c | 1 + + arch/x86/kernel/cpu/Makefile | 4 - + arch/x86/kernel/cpu/amd.c | 2 +- + arch/x86/kernel/cpu/bugs_64.c | 2 + + arch/x86/kernel/cpu/common.c | 202 +- + arch/x86/kernel/cpu/intel_cacheinfo.c | 14 +- + arch/x86/kernel/cpu/mcheck/mce.c | 34 +- + arch/x86/kernel/cpu/mcheck/p5.c | 3 + + arch/x86/kernel/cpu/mcheck/winchip.c | 3 + + arch/x86/kernel/cpu/microcode/intel.c | 4 +- + arch/x86/kernel/cpu/mtrr/main.c | 2 +- + arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +- + arch/x86/kernel/cpu/perf_event.c | 10 +- + arch/x86/kernel/cpu/perf_event_amd_iommu.c | 2 +- + arch/x86/kernel/cpu/perf_event_intel.c | 6 +- + arch/x86/kernel/cpu/perf_event_intel_bts.c | 6 +- + arch/x86/kernel/cpu/perf_event_intel_cqm.c | 4 +- + arch/x86/kernel/cpu/perf_event_intel_pt.c | 44 +- + arch/x86/kernel/cpu/perf_event_intel_rapl.c | 2 +- + arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +- + arch/x86/kernel/cpu/perf_event_intel_uncore.h | 2 +- + arch/x86/kernel/crash_dump_64.c | 2 +- + arch/x86/kernel/doublefault.c | 8 +- + arch/x86/kernel/dumpstack.c | 24 +- + arch/x86/kernel/dumpstack_32.c | 25 +- + arch/x86/kernel/dumpstack_64.c | 62 +- + arch/x86/kernel/e820.c | 4 +- + arch/x86/kernel/early_printk.c | 1 + + arch/x86/kernel/espfix_64.c | 44 +- + arch/x86/kernel/fpu/core.c | 24 +- + arch/x86/kernel/fpu/init.c | 40 +- + arch/x86/kernel/fpu/regset.c | 22 +- + arch/x86/kernel/fpu/signal.c | 20 +- + arch/x86/kernel/fpu/xstate.c | 8 +- + arch/x86/kernel/ftrace.c | 18 +- + arch/x86/kernel/head64.c | 14 +- + arch/x86/kernel/head_32.S | 235 +- + arch/x86/kernel/head_64.S | 173 +- + arch/x86/kernel/i386_ksyms_32.c | 12 + + arch/x86/kernel/i8259.c | 10 +- + arch/x86/kernel/io_delay.c | 2 +- + arch/x86/kernel/ioport.c | 2 +- + arch/x86/kernel/irq.c | 8 +- + arch/x86/kernel/irq_32.c | 45 +- + arch/x86/kernel/jump_label.c | 10 +- + arch/x86/kernel/kgdb.c | 21 +- + arch/x86/kernel/kprobes/core.c | 28 +- + arch/x86/kernel/kprobes/opt.c | 16 +- + arch/x86/kernel/ksysfs.c | 2 +- + arch/x86/kernel/kvmclock.c | 20 +- + arch/x86/kernel/ldt.c | 25 + + arch/x86/kernel/livepatch.c | 12 +- + arch/x86/kernel/machine_kexec_32.c | 6 +- + arch/x86/kernel/mcount_64.S | 19 +- + arch/x86/kernel/module.c | 78 +- + arch/x86/kernel/msr.c | 2 +- + arch/x86/kernel/nmi.c | 34 +- + arch/x86/kernel/nmi_selftest.c | 4 +- + arch/x86/kernel/paravirt-spinlocks.c | 2 +- + arch/x86/kernel/paravirt.c | 45 +- + arch/x86/kernel/paravirt_patch_64.c | 8 + + arch/x86/kernel/pci-calgary_64.c | 2 +- + arch/x86/kernel/pci-iommu_table.c | 2 +- + arch/x86/kernel/pci-swiotlb.c | 2 +- + arch/x86/kernel/process.c | 80 +- + arch/x86/kernel/process_32.c | 29 +- + arch/x86/kernel/process_64.c | 14 +- + arch/x86/kernel/ptrace.c | 20 +- + arch/x86/kernel/pvclock.c | 8 +- + arch/x86/kernel/reboot.c | 44 +- + arch/x86/kernel/reboot_fixups_32.c | 2 +- + arch/x86/kernel/relocate_kernel_64.S | 3 +- + arch/x86/kernel/setup.c | 29 +- + arch/x86/kernel/setup_percpu.c | 29 +- + arch/x86/kernel/signal.c | 17 +- + arch/x86/kernel/smp.c | 2 +- + arch/x86/kernel/smpboot.c | 29 +- + arch/x86/kernel/step.c | 6 +- + arch/x86/kernel/sys_i386_32.c | 184 + + arch/x86/kernel/sys_x86_64.c | 22 +- + arch/x86/kernel/tboot.c | 14 +- + arch/x86/kernel/time.c | 8 +- + arch/x86/kernel/tls.c | 7 +- + arch/x86/kernel/tracepoint.c | 4 +- + arch/x86/kernel/traps.c | 53 +- + arch/x86/kernel/tsc.c | 2 +- + arch/x86/kernel/uprobes.c | 2 +- + arch/x86/kernel/vm86_32.c | 6 +- + arch/x86/kernel/vmlinux.lds.S | 153 +- + arch/x86/kernel/x8664_ksyms_64.c | 6 +- + arch/x86/kernel/x86_init.c | 6 +- + arch/x86/kvm/cpuid.c | 21 +- + arch/x86/kvm/emulate.c | 2 +- + arch/x86/kvm/lapic.c | 2 +- + arch/x86/kvm/paging_tmpl.h | 2 +- + arch/x86/kvm/svm.c | 10 +- + arch/x86/kvm/vmx.c | 62 +- + arch/x86/kvm/x86.c | 42 +- + arch/x86/lguest/boot.c | 3 +- + arch/x86/lib/atomic64_386_32.S | 164 + + arch/x86/lib/atomic64_cx8_32.S | 98 +- + arch/x86/lib/checksum_32.S | 99 +- + arch/x86/lib/clear_page_64.S | 3 + + arch/x86/lib/cmpxchg16b_emu.S | 3 + + arch/x86/lib/copy_page_64.S | 14 +- + arch/x86/lib/copy_user_64.S | 66 +- + arch/x86/lib/csum-copy_64.S | 14 +- + arch/x86/lib/csum-wrappers_64.c | 8 +- + arch/x86/lib/getuser.S | 74 +- + arch/x86/lib/insn.c | 8 +- + arch/x86/lib/iomap_copy_64.S | 2 + + arch/x86/lib/memcpy_64.S | 6 + + arch/x86/lib/memmove_64.S | 3 +- + arch/x86/lib/memset_64.S | 3 + + arch/x86/lib/mmx_32.c | 243 +- + arch/x86/lib/msr-reg.S | 2 + + arch/x86/lib/putuser.S | 87 +- + arch/x86/lib/rwsem.S | 6 +- + arch/x86/lib/usercopy_32.c | 359 +- + arch/x86/lib/usercopy_64.c | 20 +- + arch/x86/math-emu/fpu_aux.c | 2 +- + arch/x86/math-emu/fpu_entry.c | 4 +- + arch/x86/math-emu/fpu_system.h | 2 +- + arch/x86/mm/Makefile | 4 + + arch/x86/mm/extable.c | 26 +- + arch/x86/mm/fault.c | 570 +- + arch/x86/mm/gup.c | 6 +- + arch/x86/mm/highmem_32.c | 6 + + arch/x86/mm/hugetlbpage.c | 24 +- + arch/x86/mm/init.c | 111 +- + arch/x86/mm/init_32.c | 111 +- + arch/x86/mm/init_64.c | 46 +- + arch/x86/mm/iomap_32.c | 4 + + arch/x86/mm/ioremap.c | 52 +- + arch/x86/mm/kmemcheck/kmemcheck.c | 4 +- + arch/x86/mm/mmap.c | 40 +- + arch/x86/mm/mmio-mod.c | 10 +- + arch/x86/mm/numa.c | 2 +- + arch/x86/mm/pageattr.c | 38 +- + arch/x86/mm/pat.c | 12 +- + arch/x86/mm/pat_rbtree.c | 2 +- + arch/x86/mm/pf_in.c | 10 +- + arch/x86/mm/pgtable.c | 214 +- + arch/x86/mm/pgtable_32.c | 3 + + arch/x86/mm/setup_nx.c | 7 + + arch/x86/mm/tlb.c | 4 + + arch/x86/mm/uderef_64.c | 37 + + arch/x86/net/bpf_jit.S | 11 + + arch/x86/net/bpf_jit_comp.c | 13 +- + arch/x86/oprofile/backtrace.c | 6 +- + arch/x86/oprofile/nmi_int.c | 8 +- + arch/x86/oprofile/op_model_amd.c | 8 +- + arch/x86/oprofile/op_model_ppro.c | 7 +- + arch/x86/oprofile/op_x86_model.h | 2 +- + arch/x86/pci/intel_mid_pci.c | 2 +- + arch/x86/pci/irq.c | 8 +- + arch/x86/pci/pcbios.c | 144 +- + arch/x86/platform/efi/efi_32.c | 24 + + arch/x86/platform/efi/efi_64.c | 26 +- + arch/x86/platform/efi/efi_stub_32.S | 64 +- + arch/x86/platform/efi/efi_stub_64.S | 2 + + arch/x86/platform/intel-mid/intel-mid.c | 5 +- + arch/x86/platform/intel-mid/intel_mid_weak_decls.h | 6 +- + arch/x86/platform/intel-mid/mfld.c | 4 +- + arch/x86/platform/intel-mid/mrfl.c | 2 +- + arch/x86/platform/intel-quark/imr_selftest.c | 2 +- + arch/x86/platform/olpc/olpc_dt.c | 2 +- + arch/x86/power/cpu.c | 11 +- + arch/x86/realmode/init.c | 10 +- + arch/x86/realmode/rm/Makefile | 3 + + arch/x86/realmode/rm/header.S | 4 +- + arch/x86/realmode/rm/reboot.S | 4 + + arch/x86/realmode/rm/trampoline_32.S | 12 +- + arch/x86/realmode/rm/trampoline_64.S | 3 +- + arch/x86/realmode/rm/wakeup_asm.S | 5 +- + arch/x86/tools/Makefile | 2 +- + arch/x86/tools/relocs.c | 96 +- + arch/x86/um/mem_32.c | 2 +- + arch/x86/um/tls_32.c | 2 +- + arch/x86/xen/enlighten.c | 50 +- + arch/x86/xen/mmu.c | 19 +- + arch/x86/xen/smp.c | 16 +- + arch/x86/xen/xen-asm_32.S | 2 +- + arch/x86/xen/xen-head.S | 11 + + arch/x86/xen/xen-ops.h | 2 - + block/bio.c | 4 +- + block/blk-iopoll.c | 2 +- + block/blk-map.c | 2 +- + block/blk-softirq.c | 2 +- + block/bsg.c | 12 +- + block/compat_ioctl.c | 4 +- + block/genhd.c | 9 +- + block/partitions/efi.c | 8 +- + block/scsi_ioctl.c | 29 +- + crypto/cryptd.c | 4 +- + crypto/pcrypt.c | 2 +- + crypto/zlib.c | 12 +- + drivers/acpi/acpi_video.c | 2 +- + drivers/acpi/apei/apei-internal.h | 2 +- + drivers/acpi/apei/ghes.c | 4 +- + drivers/acpi/bgrt.c | 6 +- + drivers/acpi/blacklist.c | 4 +- + drivers/acpi/bus.c | 4 +- + drivers/acpi/device_pm.c | 4 +- + drivers/acpi/ec.c | 2 +- + drivers/acpi/pci_slot.c | 2 +- + drivers/acpi/processor_idle.c | 2 +- + drivers/acpi/processor_pdc.c | 2 +- + drivers/acpi/sleep.c | 2 +- + drivers/acpi/sysfs.c | 4 +- + drivers/acpi/thermal.c | 2 +- + drivers/acpi/video_detect.c | 7 +- + drivers/ata/libata-core.c | 12 +- + drivers/ata/libata-scsi.c | 2 +- + drivers/ata/libata.h | 2 +- + drivers/ata/pata_arasan_cf.c | 4 +- + drivers/atm/adummy.c | 2 +- + drivers/atm/ambassador.c | 8 +- + drivers/atm/atmtcp.c | 14 +- + drivers/atm/eni.c | 10 +- + drivers/atm/firestream.c | 8 +- + drivers/atm/fore200e.c | 14 +- + drivers/atm/he.c | 18 +- + drivers/atm/horizon.c | 4 +- + drivers/atm/idt77252.c | 36 +- + drivers/atm/iphase.c | 34 +- + drivers/atm/lanai.c | 12 +- + drivers/atm/nicstar.c | 46 +- + drivers/atm/solos-pci.c | 4 +- + drivers/atm/suni.c | 4 +- + drivers/atm/uPD98402.c | 16 +- + drivers/atm/zatm.c | 6 +- + drivers/base/bus.c | 4 +- + drivers/base/devtmpfs.c | 8 +- + drivers/base/node.c | 2 +- + drivers/base/platform-msi.c | 20 +- + drivers/base/power/domain.c | 11 +- + drivers/base/power/sysfs.c | 2 +- + drivers/base/power/wakeup.c | 8 +- + drivers/base/regmap/regmap-debugfs.c | 11 +- + drivers/base/syscore.c | 4 +- + drivers/block/cciss.c | 28 +- + drivers/block/cciss.h | 2 +- + drivers/block/cpqarray.c | 28 +- + drivers/block/cpqarray.h | 2 +- + drivers/block/drbd/drbd_bitmap.c | 2 +- + drivers/block/drbd/drbd_int.h | 8 +- + drivers/block/drbd/drbd_main.c | 12 +- + drivers/block/drbd/drbd_nl.c | 4 +- + drivers/block/drbd/drbd_receiver.c | 34 +- + drivers/block/drbd/drbd_worker.c | 8 +- + drivers/block/pktcdvd.c | 4 +- + drivers/block/rbd.c | 2 +- + drivers/bluetooth/btwilink.c | 2 +- + drivers/bus/arm-cci.c | 12 +- + drivers/cdrom/cdrom.c | 11 +- + drivers/cdrom/gdrom.c | 1 - + drivers/char/agp/compat_ioctl.c | 2 +- + drivers/char/agp/frontend.c | 4 +- + drivers/char/agp/intel-gtt.c | 4 +- + drivers/char/hpet.c | 2 +- + drivers/char/ipmi/ipmi_msghandler.c | 8 +- + drivers/char/ipmi/ipmi_si_intf.c | 8 +- + drivers/char/mem.c | 47 +- + drivers/char/nvram.c | 2 +- + drivers/char/pcmcia/synclink_cs.c | 16 +- + drivers/char/random.c | 12 +- + drivers/char/sonypi.c | 11 +- + drivers/char/tpm/tpm_acpi.c | 3 +- + drivers/char/tpm/tpm_eventlog.c | 4 +- + drivers/char/virtio_console.c | 4 +- + drivers/clk/clk-composite.c | 2 +- + drivers/clk/samsung/clk.h | 2 +- + drivers/clk/socfpga/clk-gate.c | 9 +- + drivers/clk/socfpga/clk-pll.c | 9 +- + drivers/clk/ti/clk.c | 8 +- + drivers/cpufreq/acpi-cpufreq.c | 17 +- + drivers/cpufreq/cpufreq-dt.c | 4 +- + drivers/cpufreq/cpufreq.c | 30 +- + drivers/cpufreq/cpufreq_governor.c | 2 +- + drivers/cpufreq/cpufreq_governor.h | 4 +- + drivers/cpufreq/cpufreq_ondemand.c | 10 +- + drivers/cpufreq/intel_pstate.c | 33 +- + drivers/cpufreq/p4-clockmod.c | 12 +- + drivers/cpufreq/sparc-us3-cpufreq.c | 67 +- + drivers/cpufreq/speedstep-centrino.c | 7 +- + drivers/cpuidle/driver.c | 2 +- + drivers/cpuidle/dt_idle_states.c | 2 +- + drivers/cpuidle/governor.c | 2 +- + drivers/cpuidle/sysfs.c | 2 +- + drivers/crypto/hifn_795x.c | 4 +- + drivers/devfreq/devfreq.c | 4 +- + drivers/dma/sh/shdma-base.c | 4 +- + drivers/dma/sh/shdmac.c | 2 +- + drivers/edac/edac_device.c | 4 +- + drivers/edac/edac_mc_sysfs.c | 2 +- + drivers/edac/edac_pci.c | 4 +- + drivers/edac/edac_pci_sysfs.c | 22 +- + drivers/edac/mce_amd.h | 2 +- + drivers/firewire/core-card.c | 6 +- + drivers/firewire/core-device.c | 2 +- + drivers/firewire/core-transaction.c | 1 + + drivers/firewire/core.h | 1 + + drivers/firmware/dmi-id.c | 2 +- + drivers/firmware/dmi_scan.c | 12 +- + drivers/firmware/efi/cper.c | 8 +- + drivers/firmware/efi/efi.c | 12 +- + drivers/firmware/efi/efivars.c | 2 +- + drivers/firmware/efi/runtime-map.c | 2 +- + drivers/firmware/google/gsmi.c | 2 +- + drivers/firmware/google/memconsole.c | 7 +- + drivers/firmware/memmap.c | 2 +- + drivers/firmware/psci.c | 2 +- + drivers/gpio/gpio-davinci.c | 6 +- + drivers/gpio/gpio-em.c | 2 +- + drivers/gpio/gpio-ich.c | 2 +- + drivers/gpio/gpio-omap.c | 4 +- + drivers/gpio/gpio-rcar.c | 2 +- + drivers/gpio/gpio-vr41xx.c | 2 +- + drivers/gpio/gpiolib.c | 12 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_device.c | 6 +- + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 90 +- + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 8 +- + .../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 14 +- + .../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 14 +- + drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 4 +- + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h | 2 +- + .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 16 +- + drivers/gpu/drm/drm_crtc.c | 2 +- + drivers/gpu/drm/drm_drv.c | 2 +- + drivers/gpu/drm/drm_fops.c | 12 +- + drivers/gpu/drm/drm_global.c | 14 +- + drivers/gpu/drm/drm_info.c | 13 +- + drivers/gpu/drm/drm_ioc32.c | 13 +- + drivers/gpu/drm/drm_ioctl.c | 2 +- + drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 10 +- + drivers/gpu/drm/i810/i810_drv.h | 4 +- + drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +- + drivers/gpu/drm/i915/i915_gem_gtt.c | 16 +- + drivers/gpu/drm/i915/i915_gem_gtt.h | 6 +- + drivers/gpu/drm/i915/i915_ioc32.c | 10 +- + drivers/gpu/drm/i915/intel_display.c | 26 +- + drivers/gpu/drm/imx/imx-drm-core.c | 2 +- + drivers/gpu/drm/mga/mga_drv.h | 4 +- + drivers/gpu/drm/mga/mga_ioc32.c | 10 +- + drivers/gpu/drm/mga/mga_irq.c | 8 +- + drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_drm.h | 1 - + drivers/gpu/drm/nouveau/nouveau_ioc32.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +- + drivers/gpu/drm/omapdrm/Makefile | 2 +- + drivers/gpu/drm/qxl/qxl_cmd.c | 12 +- + drivers/gpu/drm/qxl/qxl_debugfs.c | 8 +- + drivers/gpu/drm/qxl/qxl_drv.h | 8 +- + drivers/gpu/drm/qxl/qxl_ioctl.c | 10 +- + drivers/gpu/drm/qxl/qxl_irq.c | 16 +- + drivers/gpu/drm/qxl/qxl_ttm.c | 38 +- + drivers/gpu/drm/r128/r128_cce.c | 2 +- + drivers/gpu/drm/r128/r128_drv.h | 4 +- + drivers/gpu/drm/r128/r128_ioc32.c | 10 +- + drivers/gpu/drm/r128/r128_irq.c | 4 +- + drivers/gpu/drm/r128/r128_state.c | 4 +- + drivers/gpu/drm/radeon/mkregtable.c | 4 +- + drivers/gpu/drm/radeon/radeon_device.c | 2 +- + drivers/gpu/drm/radeon/radeon_drv.h | 2 +- + drivers/gpu/drm/radeon/radeon_ioc32.c | 12 +- + drivers/gpu/drm/radeon/radeon_irq.c | 6 +- + drivers/gpu/drm/radeon/radeon_state.c | 4 +- + drivers/gpu/drm/radeon/radeon_ttm.c | 4 +- + drivers/gpu/drm/tegra/dc.c | 2 +- + drivers/gpu/drm/tegra/dsi.c | 2 +- + drivers/gpu/drm/tegra/hdmi.c | 2 +- + drivers/gpu/drm/tegra/sor.c | 7 +- + drivers/gpu/drm/tilcdc/Makefile | 6 +- + drivers/gpu/drm/ttm/ttm_memory.c | 4 +- + drivers/gpu/drm/ttm/ttm_page_alloc.c | 18 +- + drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 18 +- + drivers/gpu/drm/udl/udl_fb.c | 1 - + drivers/gpu/drm/via/via_drv.h | 4 +- + drivers/gpu/drm/via/via_irq.c | 18 +- + drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +- + drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 8 +- + drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 4 +- + drivers/gpu/drm/vmwgfx/vmwgfx_marker.c | 2 +- + drivers/gpu/vga/vga_switcheroo.c | 4 +- + drivers/hid/hid-core.c | 4 +- + drivers/hid/hid-sensor-custom.c | 2 +- + drivers/hv/channel.c | 2 +- + drivers/hv/hv.c | 4 +- + drivers/hv/hv_balloon.c | 18 +- + drivers/hv/hyperv_vmbus.h | 2 +- + drivers/hwmon/acpi_power_meter.c | 6 +- + drivers/hwmon/applesmc.c | 2 +- + drivers/hwmon/asus_atk0110.c | 10 +- + drivers/hwmon/coretemp.c | 2 +- + drivers/hwmon/dell-smm-hwmon.c | 2 +- + drivers/hwmon/ibmaem.c | 2 +- + drivers/hwmon/iio_hwmon.c | 2 +- + drivers/hwmon/nct6683.c | 6 +- + drivers/hwmon/nct6775.c | 6 +- + drivers/hwmon/pmbus/pmbus_core.c | 10 +- + drivers/hwmon/sht15.c | 12 +- + drivers/hwmon/via-cputemp.c | 2 +- + drivers/i2c/busses/i2c-amd756-s4882.c | 2 +- + drivers/i2c/busses/i2c-nforce2-s4985.c | 2 +- + drivers/i2c/i2c-dev.c | 2 +- + drivers/ide/ide-cd.c | 2 +- + drivers/ide/ide-disk.c | 2 +- + drivers/iio/industrialio-core.c | 2 +- + drivers/iio/magnetometer/ak8975.c | 2 +- + drivers/infiniband/core/cm.c | 32 +- + drivers/infiniband/core/fmr_pool.c | 20 +- + drivers/infiniband/core/uverbs_cmd.c | 3 + + drivers/infiniband/hw/cxgb4/mem.c | 4 +- + drivers/infiniband/hw/mlx4/mad.c | 2 +- + drivers/infiniband/hw/mlx4/mcg.c | 2 +- + drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +- + drivers/infiniband/hw/mthca/mthca_cmd.c | 8 +- + drivers/infiniband/hw/mthca/mthca_main.c | 2 +- + drivers/infiniband/hw/mthca/mthca_mr.c | 6 +- + drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- + drivers/infiniband/hw/nes/nes.c | 4 +- + drivers/infiniband/hw/nes/nes.h | 40 +- + drivers/infiniband/hw/nes/nes_cm.c | 62 +- + drivers/infiniband/hw/nes/nes_mgt.c | 8 +- + drivers/infiniband/hw/nes/nes_nic.c | 40 +- + drivers/infiniband/hw/nes/nes_verbs.c | 10 +- + drivers/infiniband/hw/qib/qib.h | 1 + + drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 2 +- + drivers/input/gameport/gameport.c | 4 +- + drivers/input/input.c | 4 +- + drivers/input/joystick/sidewinder.c | 1 + + drivers/input/joystick/xpad.c | 4 +- + drivers/input/misc/ims-pcu.c | 4 +- + drivers/input/mouse/psmouse.h | 2 +- + drivers/input/mousedev.c | 2 +- + drivers/input/serio/serio.c | 4 +- + drivers/input/serio/serio_raw.c | 4 +- + drivers/input/touchscreen/htcpen.c | 2 +- + drivers/iommu/arm-smmu-v3.c | 2 +- + drivers/iommu/arm-smmu.c | 43 +- + drivers/iommu/io-pgtable-arm.c | 101 +- + drivers/iommu/io-pgtable.c | 11 +- + drivers/iommu/io-pgtable.h | 19 +- + drivers/iommu/iommu.c | 2 +- + drivers/iommu/ipmmu-vmsa.c | 13 +- + drivers/iommu/irq_remapping.c | 2 +- + drivers/irqchip/irq-gic.c | 2 +- + drivers/irqchip/irq-i8259.c | 2 +- + drivers/irqchip/irq-renesas-intc-irqpin.c | 2 +- + drivers/irqchip/irq-renesas-irqc.c | 2 +- + drivers/isdn/capi/capi.c | 10 +- + drivers/isdn/gigaset/interface.c | 8 +- + drivers/isdn/gigaset/usb-gigaset.c | 2 +- + drivers/isdn/hardware/avm/b1.c | 4 +- + drivers/isdn/i4l/isdn_common.c | 2 + + drivers/isdn/i4l/isdn_tty.c | 22 +- + drivers/isdn/icn/icn.c | 2 +- + drivers/isdn/mISDN/dsp_cmx.c | 2 +- + drivers/lguest/core.c | 10 +- + drivers/lguest/page_tables.c | 2 +- + drivers/lguest/x86/core.c | 12 +- + drivers/lguest/x86/switcher_32.S | 27 +- + drivers/md/bcache/closure.h | 2 +- + drivers/md/bitmap.c | 2 +- + drivers/md/dm-ioctl.c | 2 +- + drivers/md/dm-raid1.c | 18 +- + drivers/md/dm-stats.c | 6 +- + drivers/md/dm-stripe.c | 10 +- + drivers/md/dm-table.c | 2 +- + drivers/md/dm-thin-metadata.c | 4 +- + drivers/md/dm.c | 16 +- + drivers/md/md.c | 26 +- + drivers/md/md.h | 6 +- + drivers/md/persistent-data/dm-space-map-metadata.c | 4 +- + drivers/md/persistent-data/dm-space-map.h | 1 + + drivers/md/raid1.c | 4 +- + drivers/md/raid10.c | 18 +- + drivers/md/raid5.c | 22 +- + drivers/media/dvb-core/dvbdev.c | 2 +- + drivers/media/dvb-frontends/af9033.h | 2 +- + drivers/media/dvb-frontends/dib3000.h | 2 +- + drivers/media/dvb-frontends/dib7000p.h | 2 +- + drivers/media/dvb-frontends/dib8000.h | 2 +- + drivers/media/pci/cx88/cx88-video.c | 6 +- + drivers/media/pci/ivtv/ivtv-driver.c | 2 +- + drivers/media/pci/solo6x10/solo6x10-core.c | 2 +- + drivers/media/pci/solo6x10/solo6x10-p2m.c | 2 +- + drivers/media/pci/solo6x10/solo6x10.h | 2 +- + drivers/media/pci/tw68/tw68-core.c | 2 +- + drivers/media/platform/omap/omap_vout.c | 11 +- + drivers/media/platform/s5p-tv/mixer.h | 2 +- + drivers/media/platform/s5p-tv/mixer_grp_layer.c | 2 +- + drivers/media/platform/s5p-tv/mixer_reg.c | 2 +- + drivers/media/platform/s5p-tv/mixer_video.c | 24 +- + drivers/media/platform/s5p-tv/mixer_vp_layer.c | 2 +- + drivers/media/radio/radio-cadet.c | 2 + + drivers/media/radio/radio-maxiradio.c | 2 +- + drivers/media/radio/radio-shark.c | 2 +- + drivers/media/radio/radio-shark2.c | 2 +- + drivers/media/radio/radio-si476x.c | 2 +- + drivers/media/radio/wl128x/fmdrv_common.c | 2 +- + drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 12 +- + drivers/media/v4l2-core/v4l2-device.c | 4 +- + drivers/media/v4l2-core/v4l2-ioctl.c | 13 +- + drivers/memory/omap-gpmc.c | 21 +- + drivers/message/fusion/mptsas.c | 34 +- + drivers/mfd/ab8500-debugfs.c | 2 +- + drivers/mfd/kempld-core.c | 2 +- + drivers/mfd/max8925-i2c.c | 2 +- + drivers/mfd/tps65910.c | 2 +- + drivers/mfd/twl4030-irq.c | 9 +- + drivers/mfd/wm5110-tables.c | 2 +- + drivers/mfd/wm8998-tables.c | 2 +- + drivers/misc/c2port/core.c | 4 +- + drivers/misc/kgdbts.c | 4 +- + drivers/misc/lis3lv02d/lis3lv02d.c | 8 +- + drivers/misc/lis3lv02d/lis3lv02d.h | 2 +- + drivers/misc/mic/scif/scif_rb.c | 8 +- + drivers/misc/sgi-gru/gruhandles.c | 4 +- + drivers/misc/sgi-gru/gruprocfs.c | 8 +- + drivers/misc/sgi-gru/grutables.h | 154 +- + drivers/misc/sgi-xp/xp.h | 2 +- + drivers/misc/sgi-xp/xpc.h | 3 +- + drivers/misc/sgi-xp/xpc_main.c | 2 +- + drivers/mmc/card/block.c | 2 +- + drivers/mmc/host/dw_mmc.h | 2 +- + drivers/mmc/host/mmci.c | 4 +- + drivers/mmc/host/omap_hsmmc.c | 4 +- + drivers/mmc/host/sdhci-esdhc-imx.c | 7 +- + drivers/mmc/host/sdhci-s3c.c | 8 +- + drivers/mtd/chips/cfi_cmdset_0020.c | 2 +- + drivers/mtd/nand/denali.c | 1 + + drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 2 +- + drivers/mtd/nftlmount.c | 1 + + drivers/mtd/sm_ftl.c | 2 +- + drivers/net/bonding/bond_netlink.c | 2 +- + drivers/net/caif/caif_hsi.c | 2 +- + drivers/net/can/Kconfig | 2 +- + drivers/net/can/dev.c | 2 +- + drivers/net/can/vcan.c | 2 +- + drivers/net/dummy.c | 2 +- + drivers/net/ethernet/8390/ax88796.c | 4 +- + drivers/net/ethernet/altera/altera_tse_main.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-common.h | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-dcb.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe-desc.c | 27 +- + drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 143 +- + drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 64 +- + drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c | 10 +- + drivers/net/ethernet/amd/xgbe/xgbe-main.c | 15 +- + drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 27 +- + drivers/net/ethernet/amd/xgbe/xgbe-ptp.c | 4 +- + drivers/net/ethernet/amd/xgbe/xgbe.h | 10 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 11 +- + drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 3 +- + drivers/net/ethernet/broadcom/tg3.h | 1 + + drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 6 +- + drivers/net/ethernet/cavium/liquidio/lio_main.c | 11 +- + drivers/net/ethernet/chelsio/cxgb3/l2t.h | 2 +- + drivers/net/ethernet/dec/tulip/de4x5.c | 4 +- + drivers/net/ethernet/emulex/benet/be_main.c | 2 +- + drivers/net/ethernet/faraday/ftgmac100.c | 2 + + drivers/net/ethernet/faraday/ftmac100.c | 2 + + drivers/net/ethernet/intel/i40e/i40e_ptp.c | 2 +- + drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 2 +- + drivers/net/ethernet/mellanox/mlx4/en_tx.c | 4 +- + drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 7 +- + drivers/net/ethernet/neterion/vxge/vxge-config.c | 7 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 12 +- + .../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 2 +- + drivers/net/ethernet/realtek/r8169.c | 8 +- + drivers/net/ethernet/sfc/ptp.c | 2 +- + drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 +- + drivers/net/ethernet/via/via-rhine.c | 2 +- + drivers/net/geneve.c | 2 +- + drivers/net/hyperv/hyperv_net.h | 2 +- + drivers/net/hyperv/rndis_filter.c | 4 +- + drivers/net/ifb.c | 2 +- + drivers/net/ipvlan/ipvlan_core.c | 2 +- + drivers/net/macvlan.c | 20 +- + drivers/net/macvtap.c | 6 +- + drivers/net/nlmon.c | 2 +- + drivers/net/phy/phy_device.c | 6 +- + drivers/net/ppp/ppp_generic.c | 4 +- + drivers/net/slip/slhc.c | 2 +- + drivers/net/team/team.c | 4 +- + drivers/net/tun.c | 7 +- + drivers/net/usb/hso.c | 23 +- + drivers/net/usb/r8152.c | 2 +- + drivers/net/usb/sierra_net.c | 4 +- + drivers/net/virtio_net.c | 2 +- + drivers/net/vrf.c | 2 +- + drivers/net/vxlan.c | 4 +- + drivers/net/wimax/i2400m/rx.c | 2 +- + drivers/net/wireless/airo.c | 2 +- + drivers/net/wireless/at76c50x-usb.c | 2 +- + drivers/net/wireless/ath/ath10k/ce.c | 6 +- + drivers/net/wireless/ath/ath10k/htc.c | 7 +- + drivers/net/wireless/ath/ath10k/htc.h | 4 +- + drivers/net/wireless/ath/ath9k/ar9002_mac.c | 36 +- + drivers/net/wireless/ath/ath9k/ar9003_mac.c | 64 +- + drivers/net/wireless/ath/ath9k/hw.h | 4 +- + drivers/net/wireless/ath/ath9k/main.c | 22 +- + drivers/net/wireless/ath/wil6210/wil_platform.h | 2 +- + drivers/net/wireless/b43/phy_lp.c | 2 +- + drivers/net/wireless/iwlegacy/3945-mac.c | 4 +- + drivers/net/wireless/iwlwifi/dvm/debugfs.c | 34 +- + drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +- + drivers/net/wireless/mac80211_hwsim.c | 28 +- + drivers/net/wireless/rndis_wlan.c | 2 +- + drivers/net/wireless/rt2x00/rt2x00.h | 2 +- + drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +- + drivers/net/wireless/ti/wl1251/sdio.c | 12 +- + drivers/net/wireless/ti/wl12xx/main.c | 8 +- + drivers/net/wireless/ti/wl18xx/main.c | 6 +- + drivers/nfc/nfcwilink.c | 2 +- + drivers/of/fdt.c | 4 +- + drivers/oprofile/buffer_sync.c | 8 +- + drivers/oprofile/event_buffer.c | 2 +- + drivers/oprofile/oprof.c | 2 +- + drivers/oprofile/oprofile_stats.c | 10 +- + drivers/oprofile/oprofile_stats.h | 10 +- + drivers/oprofile/oprofilefs.c | 6 +- + drivers/oprofile/timer_int.c | 2 +- + drivers/parport/procfs.c | 4 +- + drivers/pci/host/pci-host-generic.c | 24 +- + drivers/pci/hotplug/acpiphp_ibm.c | 4 +- + drivers/pci/hotplug/cpcihp_generic.c | 6 +- + drivers/pci/hotplug/cpcihp_zt5550.c | 14 +- + drivers/pci/hotplug/cpqphp_nvram.c | 2 + + drivers/pci/hotplug/pci_hotplug_core.c | 6 +- + drivers/pci/hotplug/pciehp_core.c | 2 +- + drivers/pci/msi.c | 22 +- + drivers/pci/pci-sysfs.c | 6 +- + drivers/pci/pci.h | 2 +- + drivers/pci/pcie/aspm.c | 6 +- + drivers/pci/pcie/portdrv_pci.c | 2 +- + drivers/pci/probe.c | 2 +- + drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +- + drivers/pinctrl/pinctrl-at91.c | 5 +- + drivers/platform/chrome/chromeos_pstore.c | 2 +- + drivers/platform/x86/alienware-wmi.c | 4 +- + drivers/platform/x86/compal-laptop.c | 2 +- + drivers/platform/x86/hdaps.c | 2 +- + drivers/platform/x86/ibm_rtl.c | 2 +- + drivers/platform/x86/intel_oaktrail.c | 2 +- + drivers/platform/x86/msi-laptop.c | 16 +- + drivers/platform/x86/msi-wmi.c | 2 +- + drivers/platform/x86/samsung-laptop.c | 2 +- + drivers/platform/x86/samsung-q10.c | 2 +- + drivers/platform/x86/sony-laptop.c | 14 +- + drivers/platform/x86/thinkpad_acpi.c | 2 +- + drivers/pnp/pnpbios/bioscalls.c | 14 +- + drivers/pnp/pnpbios/core.c | 2 +- + drivers/power/pda_power.c | 7 +- + drivers/power/power_supply.h | 4 +- + drivers/power/power_supply_core.c | 7 +- + drivers/power/power_supply_sysfs.c | 6 +- + drivers/power/reset/at91-reset.c | 9 +- + drivers/powercap/powercap_sys.c | 136 +- + drivers/ptp/ptp_private.h | 2 +- + drivers/ptp/ptp_sysfs.c | 2 +- + drivers/regulator/core.c | 4 +- + drivers/regulator/max8660.c | 6 +- + drivers/regulator/max8973-regulator.c | 16 +- + drivers/regulator/mc13892-regulator.c | 8 +- + drivers/rtc/rtc-armada38x.c | 7 +- + drivers/rtc/rtc-cmos.c | 4 +- + drivers/rtc/rtc-ds1307.c | 2 +- + drivers/rtc/rtc-m48t59.c | 4 +- + drivers/rtc/rtc-test.c | 6 +- + drivers/scsi/be2iscsi/be_main.c | 2 +- + drivers/scsi/bfa/bfa_fcpim.h | 2 +- + drivers/scsi/bfa/bfa_ioc.h | 4 +- + drivers/scsi/fcoe/fcoe_sysfs.c | 12 +- + drivers/scsi/hosts.c | 4 +- + drivers/scsi/hpsa.c | 38 +- + drivers/scsi/hpsa.h | 2 +- + drivers/scsi/libfc/fc_exch.c | 50 +- + drivers/scsi/libsas/sas_ata.c | 2 +- + drivers/scsi/lpfc/lpfc.h | 8 +- + drivers/scsi/lpfc/lpfc_debugfs.c | 18 +- + drivers/scsi/lpfc/lpfc_init.c | 6 +- + drivers/scsi/lpfc/lpfc_scsi.c | 10 +- + drivers/scsi/megaraid/megaraid_sas.h | 2 +- + drivers/scsi/mpt2sas/mpt2sas_scsih.c | 8 +- + drivers/scsi/pmcraid.c | 20 +- + drivers/scsi/pmcraid.h | 8 +- + drivers/scsi/qla2xxx/qla_attr.c | 4 +- + drivers/scsi/qla2xxx/qla_gbl.h | 4 +- + drivers/scsi/qla2xxx/qla_os.c | 6 +- + drivers/scsi/qla4xxx/ql4_def.h | 2 +- + drivers/scsi/qla4xxx/ql4_os.c | 6 +- + drivers/scsi/scsi.c | 2 +- + drivers/scsi/scsi_lib.c | 8 +- + drivers/scsi/scsi_sysfs.c | 2 +- + drivers/scsi/scsi_transport_fc.c | 8 +- + drivers/scsi/scsi_transport_iscsi.c | 6 +- + drivers/scsi/scsi_transport_srp.c | 6 +- + drivers/scsi/sd.c | 6 +- + drivers/scsi/sg.c | 2 +- + drivers/scsi/sr.c | 21 +- + drivers/soc/tegra/fuse/fuse-tegra.c | 2 +- + drivers/spi/spi.c | 2 +- + drivers/staging/android/timed_output.c | 6 +- + drivers/staging/comedi/comedi_fops.c | 8 +- + drivers/staging/fbtft/fbtft-core.c | 2 +- + drivers/staging/fbtft/fbtft.h | 2 +- + drivers/staging/gdm724x/gdm_tty.c | 2 +- + drivers/staging/iio/accel/lis3l02dq_ring.c | 2 +- + drivers/staging/iio/adc/ad7280a.c | 4 +- + drivers/staging/lustre/lnet/selftest/brw_test.c | 12 +- + drivers/staging/lustre/lnet/selftest/framework.c | 4 - + drivers/staging/lustre/lnet/selftest/ping_test.c | 14 +- + drivers/staging/lustre/lustre/include/lustre_dlm.h | 2 +- + drivers/staging/lustre/lustre/include/obd.h | 2 +- + drivers/staging/octeon/ethernet-rx.c | 20 +- + drivers/staging/octeon/ethernet.c | 8 +- + drivers/staging/rdma/ipath/ipath_rc.c | 6 +- + drivers/staging/rdma/ipath/ipath_ruc.c | 6 +- + drivers/staging/rtl8188eu/include/hal_intf.h | 2 +- + drivers/staging/rtl8712/rtl871x_io.h | 2 +- + drivers/staging/sm750fb/sm750.c | 14 +- + drivers/staging/unisys/visorbus/visorbus_private.h | 4 +- + drivers/target/sbp/sbp_target.c | 4 +- + drivers/thermal/cpu_cooling.c | 9 +- + drivers/thermal/int340x_thermal/int3400_thermal.c | 6 +- + drivers/thermal/of-thermal.c | 17 +- + drivers/thermal/x86_pkg_temp_thermal.c | 2 +- + drivers/tty/cyclades.c | 6 +- + drivers/tty/hvc/hvc_console.c | 14 +- + drivers/tty/hvc/hvcs.c | 21 +- + drivers/tty/hvc/hvsi.c | 22 +- + drivers/tty/hvc/hvsi_lib.c | 4 +- + drivers/tty/ipwireless/tty.c | 27 +- + drivers/tty/moxa.c | 2 +- + drivers/tty/n_gsm.c | 4 +- + drivers/tty/n_tty.c | 3 +- + drivers/tty/pty.c | 4 +- + drivers/tty/rocket.c | 6 +- + drivers/tty/serial/8250/8250_core.c | 10 +- + drivers/tty/serial/ifx6x60.c | 2 +- + drivers/tty/serial/ioc4_serial.c | 6 +- + drivers/tty/serial/kgdb_nmi.c | 4 +- + drivers/tty/serial/kgdboc.c | 32 +- + drivers/tty/serial/msm_serial.c | 4 +- + drivers/tty/serial/samsung.c | 9 +- + drivers/tty/serial/serial_core.c | 8 +- + drivers/tty/synclink.c | 34 +- + drivers/tty/synclink_gt.c | 28 +- + drivers/tty/synclinkmp.c | 34 +- + drivers/tty/tty_io.c | 2 +- + drivers/tty/tty_ldisc.c | 8 +- + drivers/tty/tty_port.c | 22 +- + drivers/uio/uio.c | 13 +- + drivers/usb/atm/cxacru.c | 2 +- + drivers/usb/atm/usbatm.c | 24 +- + drivers/usb/class/cdc-acm.h | 2 +- + drivers/usb/core/devices.c | 6 +- + drivers/usb/core/devio.c | 12 +- + drivers/usb/core/hcd.c | 4 +- + drivers/usb/core/sysfs.c | 2 +- + drivers/usb/core/usb.c | 2 +- + drivers/usb/early/ehci-dbgp.c | 16 +- + drivers/usb/gadget/function/u_serial.c | 22 +- + drivers/usb/gadget/udc/dummy_hcd.c | 2 +- + drivers/usb/host/ehci-hcd.c | 2 +- + drivers/usb/host/ehci-hub.c | 4 +- + drivers/usb/host/ehci-q.c | 4 +- + drivers/usb/host/fotg210-hcd.c | 2 +- + drivers/usb/host/fusbh200-hcd.c | 2 +- + drivers/usb/host/hwa-hc.c | 2 +- + drivers/usb/host/ohci-hcd.c | 2 +- + drivers/usb/host/r8a66597.h | 2 +- + drivers/usb/host/uhci-hcd.c | 2 +- + drivers/usb/host/xhci-pci.c | 2 +- + drivers/usb/host/xhci.c | 2 +- + drivers/usb/misc/appledisplay.c | 4 +- + drivers/usb/serial/console.c | 8 +- + drivers/usb/storage/transport.c | 2 +- + drivers/usb/storage/usb.c | 2 +- + drivers/usb/storage/usb.h | 2 +- + drivers/usb/usbip/vhci.h | 2 +- + drivers/usb/usbip/vhci_hcd.c | 6 +- + drivers/usb/usbip/vhci_rx.c | 2 +- + drivers/usb/wusbcore/wa-hc.h | 4 +- + drivers/usb/wusbcore/wa-xfer.c | 2 +- + drivers/vfio/vfio.c | 2 +- + drivers/vhost/vringh.c | 20 +- + drivers/video/backlight/kb3886_bl.c | 2 +- + drivers/video/console/fbcon.c | 2 +- + drivers/video/fbdev/aty/aty128fb.c | 2 +- + drivers/video/fbdev/aty/atyfb_base.c | 8 +- + drivers/video/fbdev/aty/mach64_cursor.c | 5 +- + drivers/video/fbdev/core/fb_defio.c | 6 +- + drivers/video/fbdev/core/fbmem.c | 2 +- + drivers/video/fbdev/hyperv_fb.c | 4 +- + drivers/video/fbdev/i810/i810_accel.c | 1 + + drivers/video/fbdev/matrox/matroxfb_base.c | 2 +- + drivers/video/fbdev/mb862xx/mb862xxfb_accel.c | 16 +- + drivers/video/fbdev/nvidia/nvidia.c | 27 +- + drivers/video/fbdev/omap2/dss/display.c | 8 +- + drivers/video/fbdev/s1d13xxxfb.c | 6 +- + drivers/video/fbdev/smscufx.c | 4 +- + drivers/video/fbdev/udlfb.c | 36 +- + drivers/video/fbdev/uvesafb.c | 52 +- + drivers/video/fbdev/vesafb.c | 58 +- + drivers/video/fbdev/via/via_clock.h | 2 +- + drivers/xen/events/events_base.c | 6 +- + drivers/xen/evtchn.c | 4 +- + fs/Kconfig.binfmt | 2 +- + fs/afs/inode.c | 4 +- + fs/aio.c | 2 +- + fs/autofs4/waitq.c | 2 +- + fs/befs/endian.h | 6 +- + fs/binfmt_aout.c | 23 +- + fs/binfmt_elf.c | 670 +- + fs/binfmt_elf_fdpic.c | 4 +- + fs/block_dev.c | 2 +- + fs/btrfs/ctree.c | 9 +- + fs/btrfs/delayed-inode.c | 9 +- + fs/btrfs/delayed-inode.h | 6 +- + fs/btrfs/file.c | 10 +- + fs/btrfs/inode.c | 14 +- + fs/btrfs/super.c | 2 +- + fs/btrfs/sysfs.c | 2 +- + fs/btrfs/tests/free-space-tests.c | 8 +- + fs/btrfs/tree-log.h | 2 +- + fs/buffer.c | 2 +- + fs/cachefiles/bind.c | 6 +- + fs/cachefiles/daemon.c | 8 +- + fs/cachefiles/internal.h | 12 +- + fs/cachefiles/namei.c | 2 +- + fs/cachefiles/proc.c | 12 +- + fs/ceph/dir.c | 12 +- + fs/ceph/super.c | 4 +- + fs/cifs/cifs_debug.c | 12 +- + fs/cifs/cifsfs.c | 8 +- + fs/cifs/cifsglob.h | 54 +- + fs/cifs/file.c | 10 +- + fs/cifs/misc.c | 4 +- + fs/cifs/smb1ops.c | 80 +- + fs/cifs/smb2ops.c | 84 +- + fs/cifs/smb2pdu.c | 3 +- + fs/coda/cache.c | 10 +- + fs/compat.c | 4 +- + fs/compat_binfmt_elf.c | 2 + + fs/compat_ioctl.c | 12 +- + fs/configfs/dir.c | 10 +- + fs/coredump.c | 16 +- + fs/dcache.c | 51 +- + fs/ecryptfs/inode.c | 2 +- + fs/ecryptfs/miscdev.c | 2 +- + fs/exec.c | 362 +- + fs/ext2/xattr.c | 5 +- + fs/ext4/ext4.h | 20 +- + fs/ext4/mballoc.c | 44 +- + fs/ext4/resize.c | 16 +- + fs/ext4/super.c | 4 +- + fs/ext4/xattr.c | 5 +- + fs/fhandle.c | 3 +- + fs/file.c | 4 +- + fs/fs_struct.c | 8 +- + fs/fscache/cookie.c | 40 +- + fs/fscache/internal.h | 202 +- + fs/fscache/object.c | 26 +- + fs/fscache/operation.c | 38 +- + fs/fscache/page.c | 110 +- + fs/fscache/stats.c | 348 +- + fs/fuse/cuse.c | 10 +- + fs/fuse/dev.c | 4 +- + fs/gfs2/glock.c | 22 +- + fs/gfs2/glops.c | 4 +- + fs/gfs2/quota.c | 6 +- + fs/hugetlbfs/inode.c | 13 +- + fs/inode.c | 4 +- + fs/jffs2/erase.c | 3 +- + fs/jffs2/wbuf.c | 3 +- + fs/jfs/super.c | 2 +- + fs/kernfs/dir.c | 2 +- + fs/kernfs/file.c | 20 +- + fs/libfs.c | 10 +- + fs/lockd/clntproc.c | 4 +- + fs/namei.c | 16 +- + fs/namespace.c | 16 +- + fs/nfs/callback_xdr.c | 2 +- + fs/nfs/inode.c | 6 +- + fs/nfsd/nfs4proc.c | 2 +- + fs/nfsd/nfs4xdr.c | 2 +- + fs/nfsd/nfscache.c | 11 +- + fs/nfsd/vfs.c | 6 +- + fs/nls/nls_base.c | 26 +- + fs/nls/nls_euc-jp.c | 6 +- + fs/nls/nls_koi8-ru.c | 6 +- + fs/notify/fanotify/fanotify_user.c | 4 +- + fs/notify/notification.c | 4 +- + fs/ntfs/dir.c | 2 +- + fs/ntfs/super.c | 6 +- + fs/ocfs2/localalloc.c | 2 +- + fs/ocfs2/ocfs2.h | 10 +- + fs/ocfs2/suballoc.c | 12 +- + fs/ocfs2/super.c | 20 +- + fs/pipe.c | 72 +- + fs/posix_acl.c | 4 +- + fs/proc/array.c | 20 + + fs/proc/base.c | 4 +- + fs/proc/kcore.c | 34 +- + fs/proc/meminfo.c | 2 +- + fs/proc/nommu.c | 2 +- + fs/proc/proc_sysctl.c | 26 +- + fs/proc/task_mmu.c | 39 +- + fs/proc/task_nommu.c | 4 +- + fs/proc/vmcore.c | 16 +- + fs/qnx6/qnx6.h | 4 +- + fs/quota/netlink.c | 4 +- + fs/read_write.c | 2 +- + fs/reiserfs/do_balan.c | 2 +- + fs/reiserfs/procfs.c | 2 +- + fs/reiserfs/reiserfs.h | 4 +- + fs/seq_file.c | 4 +- + fs/splice.c | 43 +- + fs/squashfs/xattr.c | 12 +- + fs/sysv/sysv.h | 2 +- + fs/tracefs/inode.c | 8 +- + fs/udf/misc.c | 2 +- + fs/ufs/swab.h | 4 +- + fs/userfaultfd.c | 2 +- + fs/xattr.c | 21 + + fs/xfs/libxfs/xfs_bmap.c | 2 +- + fs/xfs/xfs_dir2_readdir.c | 7 +- + fs/xfs/xfs_ioctl.c | 2 +- + fs/xfs/xfs_linux.h | 4 +- + include/asm-generic/4level-fixup.h | 2 + + include/asm-generic/atomic-long.h | 156 +- + include/asm-generic/atomic64.h | 12 + + include/asm-generic/bitops/__fls.h | 2 +- + include/asm-generic/bitops/fls.h | 2 +- + include/asm-generic/bitops/fls64.h | 4 +- + include/asm-generic/bug.h | 6 +- + include/asm-generic/cache.h | 4 +- + include/asm-generic/emergency-restart.h | 2 +- + include/asm-generic/kmap_types.h | 4 +- + include/asm-generic/local.h | 13 + + include/asm-generic/pgtable-nopmd.h | 18 +- + include/asm-generic/pgtable-nopud.h | 15 +- + include/asm-generic/pgtable.h | 16 + + include/asm-generic/sections.h | 1 + + include/asm-generic/uaccess.h | 16 + + include/asm-generic/vmlinux.lds.h | 15 +- + include/crypto/algapi.h | 2 +- + include/drm/drmP.h | 16 +- + include/drm/drm_crtc_helper.h | 2 +- + include/drm/drm_mm.h | 2 +- + include/drm/i915_pciids.h | 2 +- + include/drm/intel-gtt.h | 4 +- + include/drm/ttm/ttm_memory.h | 2 +- + include/drm/ttm/ttm_page_alloc.h | 1 + + include/keys/asymmetric-subtype.h | 2 +- + include/linux/atmdev.h | 4 +- + include/linux/atomic.h | 17 +- + include/linux/audit.h | 2 +- + include/linux/average.h | 2 +- + include/linux/binfmts.h | 3 +- + include/linux/bitmap.h | 2 +- + include/linux/bitops.h | 8 +- + include/linux/blkdev.h | 2 +- + include/linux/blktrace_api.h | 2 +- + include/linux/cache.h | 8 + + include/linux/cdrom.h | 1 - + include/linux/cleancache.h | 2 +- + include/linux/clk-provider.h | 1 + + include/linux/compat.h | 6 +- + include/linux/compiler-gcc.h | 28 +- + include/linux/compiler.h | 157 +- + include/linux/configfs.h | 2 +- + include/linux/cpufreq.h | 3 +- + include/linux/cpuidle.h | 5 +- + include/linux/cpumask.h | 14 +- + include/linux/crypto.h | 4 +- + include/linux/ctype.h | 2 +- + include/linux/dcache.h | 4 +- + include/linux/decompress/mm.h | 2 +- + include/linux/devfreq.h | 2 +- + include/linux/device.h | 7 +- + include/linux/dma-mapping.h | 2 +- + include/linux/efi.h | 1 + + include/linux/elf.h | 2 + + include/linux/err.h | 4 +- + include/linux/extcon.h | 2 +- + include/linux/fb.h | 3 +- + include/linux/fdtable.h | 2 +- + include/linux/fs.h | 5 +- + include/linux/fs_struct.h | 2 +- + include/linux/fscache-cache.h | 2 +- + include/linux/fscache.h | 2 +- + include/linux/fsnotify.h | 2 +- + include/linux/genhd.h | 4 +- + include/linux/genl_magic_func.h | 2 +- + include/linux/gfp.h | 12 +- + include/linux/highmem.h | 12 + + include/linux/hwmon-sysfs.h | 6 +- + include/linux/i2c.h | 1 + + include/linux/if_pppox.h | 2 +- + include/linux/init.h | 12 +- + include/linux/init_task.h | 7 + + include/linux/interrupt.h | 6 +- + include/linux/iommu.h | 2 +- + include/linux/ioport.h | 2 +- + include/linux/ipc.h | 2 +- + include/linux/irq.h | 5 +- + include/linux/irqdesc.h | 2 +- + include/linux/irqdomain.h | 3 + + include/linux/jiffies.h | 16 +- + include/linux/key-type.h | 2 +- + include/linux/kgdb.h | 6 +- + include/linux/kmemleak.h | 4 +- + include/linux/kobject.h | 3 +- + include/linux/kobject_ns.h | 2 +- + include/linux/kref.h | 2 +- + include/linux/libata.h | 2 +- + include/linux/linkage.h | 1 + + include/linux/list.h | 15 + + include/linux/lockref.h | 26 +- + include/linux/math64.h | 10 +- + include/linux/mempolicy.h | 7 + + include/linux/mm.h | 102 +- + include/linux/mm_types.h | 20 + + include/linux/mmiotrace.h | 4 +- + include/linux/mmzone.h | 2 +- + include/linux/mod_devicetable.h | 4 +- + include/linux/module.h | 69 +- + include/linux/moduleloader.h | 16 + + include/linux/moduleparam.h | 4 +- + include/linux/net.h | 2 +- + include/linux/netdevice.h | 7 +- + include/linux/netfilter.h | 2 +- + include/linux/netfilter/nfnetlink.h | 2 +- + include/linux/nls.h | 4 +- + include/linux/notifier.h | 3 +- + include/linux/oprofile.h | 4 +- + include/linux/padata.h | 2 +- + include/linux/pci_hotplug.h | 3 +- + include/linux/percpu.h | 2 +- + include/linux/perf_event.h | 12 +- + include/linux/pipe_fs_i.h | 8 +- + include/linux/pm.h | 1 + + include/linux/pm_domain.h | 4 +- + include/linux/pm_runtime.h | 2 +- + include/linux/pnp.h | 2 +- + include/linux/poison.h | 4 +- + include/linux/power/smartreflex.h | 2 +- + include/linux/ppp-comp.h | 2 +- + include/linux/preempt.h | 21 + + include/linux/proc_ns.h | 2 +- + include/linux/psci.h | 2 +- + include/linux/quota.h | 2 +- + include/linux/random.h | 19 +- + include/linux/rculist.h | 16 + + include/linux/reboot.h | 14 +- + include/linux/regset.h | 3 +- + include/linux/relay.h | 2 +- + include/linux/rio.h | 2 +- + include/linux/rmap.h | 4 +- + include/linux/sched.h | 72 +- + include/linux/sched/sysctl.h | 1 + + include/linux/semaphore.h | 2 +- + include/linux/seq_file.h | 1 + + include/linux/signal.h | 2 +- + include/linux/skbuff.h | 12 +- + include/linux/slab.h | 47 +- + include/linux/slab_def.h | 14 +- + include/linux/slub_def.h | 2 +- + include/linux/smp.h | 2 + + include/linux/sock_diag.h | 2 +- + include/linux/sonet.h | 2 +- + include/linux/sunrpc/addr.h | 8 +- + include/linux/sunrpc/clnt.h | 2 +- + include/linux/sunrpc/svc.h | 2 +- + include/linux/sunrpc/svc_rdma.h | 18 +- + include/linux/sunrpc/svcauth.h | 2 +- + include/linux/swapops.h | 10 +- + include/linux/swiotlb.h | 3 +- + include/linux/syscalls.h | 21 +- + include/linux/syscore_ops.h | 2 +- + include/linux/sysctl.h | 3 +- + include/linux/sysfs.h | 9 +- + include/linux/sysrq.h | 3 +- + include/linux/tcp.h | 14 +- + include/linux/thread_info.h | 7 + + include/linux/tty.h | 4 +- + include/linux/tty_driver.h | 2 +- + include/linux/tty_ldisc.h | 2 +- + include/linux/types.h | 16 + + include/linux/uaccess.h | 6 +- + include/linux/uio_driver.h | 2 +- + include/linux/unaligned/access_ok.h | 24 +- + include/linux/usb.h | 12 +- + include/linux/usb/hcd.h | 1 + + include/linux/usb/renesas_usbhs.h | 2 +- + include/linux/vermagic.h | 21 +- + include/linux/vga_switcheroo.h | 8 +- + include/linux/vmalloc.h | 7 +- + include/linux/vmstat.h | 24 +- + include/linux/xattr.h | 5 +- + include/linux/zlib.h | 3 +- + include/media/v4l2-dev.h | 2 +- + include/media/v4l2-device.h | 2 +- + include/net/9p/transport.h | 2 +- + include/net/bluetooth/l2cap.h | 2 +- + include/net/bonding.h | 2 +- + include/net/caif/cfctrl.h | 6 +- + include/net/flow.h | 2 +- + include/net/genetlink.h | 2 +- + include/net/gro_cells.h | 2 +- + include/net/inet_connection_sock.h | 2 +- + include/net/inet_sock.h | 2 +- + include/net/inetpeer.h | 2 +- + include/net/ip_fib.h | 2 +- + include/net/ip_vs.h | 8 +- + include/net/ipv6.h | 2 +- + include/net/irda/ircomm_tty.h | 1 + + include/net/iucv/af_iucv.h | 2 +- + include/net/llc_c_ac.h | 2 +- + include/net/llc_c_ev.h | 4 +- + include/net/llc_c_st.h | 2 +- + include/net/llc_s_ac.h | 2 +- + include/net/llc_s_st.h | 2 +- + include/net/mac80211.h | 4 +- + include/net/neighbour.h | 2 +- + include/net/net_namespace.h | 18 +- + include/net/netlink.h | 2 +- + include/net/netns/conntrack.h | 6 +- + include/net/netns/ipv4.h | 4 +- + include/net/netns/ipv6.h | 4 +- + include/net/netns/xfrm.h | 2 +- + include/net/ping.h | 2 +- + include/net/protocol.h | 4 +- + include/net/rtnetlink.h | 2 +- + include/net/sctp/checksum.h | 4 +- + include/net/sctp/sm.h | 4 +- + include/net/sctp/structs.h | 2 +- + include/net/sock.h | 12 +- + include/net/tcp.h | 8 +- + include/net/xfrm.h | 13 +- + include/rdma/iw_cm.h | 2 +- + include/scsi/libfc.h | 3 +- + include/scsi/scsi_device.h | 6 +- + include/scsi/scsi_driver.h | 2 +- + include/scsi/scsi_transport_fc.h | 3 +- + include/scsi/sg.h | 2 +- + include/sound/compress_driver.h | 2 +- + include/sound/soc.h | 4 +- + include/trace/events/irq.h | 4 +- + include/uapi/linux/a.out.h | 8 + + include/uapi/linux/bcache.h | 5 +- + include/uapi/linux/byteorder/little_endian.h | 28 +- + include/uapi/linux/connector.h | 2 +- + include/uapi/linux/elf.h | 28 + + include/uapi/linux/screen_info.h | 3 +- + include/uapi/linux/swab.h | 6 +- + include/uapi/linux/xattr.h | 4 + + include/video/udlfb.h | 8 +- + include/video/uvesafb.h | 1 + + init/Kconfig | 2 +- + init/Makefile | 3 + + init/do_mounts.c | 14 +- + init/do_mounts.h | 8 +- + init/do_mounts_initrd.c | 30 +- + init/do_mounts_md.c | 6 +- + init/init_task.c | 4 + + init/initramfs.c | 38 +- + init/main.c | 30 +- + ipc/compat.c | 4 +- + ipc/ipc_sysctl.c | 8 +- + ipc/mq_sysctl.c | 4 +- + ipc/sem.c | 4 +- + ipc/shm.c | 6 + + kernel/audit.c | 8 +- + kernel/auditsc.c | 4 +- + kernel/bpf/core.c | 7 +- + kernel/capability.c | 3 + + kernel/compat.c | 38 +- + kernel/debug/debug_core.c | 16 +- + kernel/debug/kdb/kdb_main.c | 4 +- + kernel/events/core.c | 26 +- + kernel/events/internal.h | 10 +- + kernel/events/uprobes.c | 2 +- + kernel/exit.c | 2 +- + kernel/fork.c | 167 +- + kernel/futex.c | 11 +- + kernel/futex_compat.c | 2 +- + kernel/gcov/base.c | 7 +- + kernel/irq/manage.c | 2 +- + kernel/irq/msi.c | 19 +- + kernel/irq/spurious.c | 2 +- + kernel/jump_label.c | 5 + + kernel/kallsyms.c | 37 +- + kernel/kexec.c | 3 +- + kernel/kmod.c | 8 +- + kernel/kprobes.c | 4 +- + kernel/ksysfs.c | 2 +- + kernel/locking/lockdep.c | 7 +- + kernel/locking/mutex-debug.c | 12 +- + kernel/locking/mutex-debug.h | 4 +- + kernel/locking/mutex.c | 6 +- + kernel/module.c | 422 +- + kernel/notifier.c | 17 +- + kernel/padata.c | 4 +- + kernel/panic.c | 5 +- + kernel/pid.c | 2 +- + kernel/pid_namespace.c | 2 +- + kernel/power/process.c | 12 +- + kernel/profile.c | 14 +- + kernel/ptrace.c | 8 +- + kernel/rcu/rcutorture.c | 60 +- + kernel/rcu/tiny.c | 4 +- + kernel/rcu/tree.c | 44 +- + kernel/rcu/tree.h | 14 +- + kernel/rcu/tree_plugin.h | 14 +- + kernel/rcu/tree_trace.c | 12 +- + kernel/sched/auto_group.c | 4 +- + kernel/sched/core.c | 45 +- + kernel/sched/fair.c | 2 +- + kernel/sched/sched.h | 2 +- + kernel/signal.c | 12 +- + kernel/smpboot.c | 4 +- + kernel/softirq.c | 12 +- + kernel/sys.c | 10 +- + kernel/sysctl.c | 34 +- + kernel/time/alarmtimer.c | 2 +- + kernel/time/posix-cpu-timers.c | 4 +- + kernel/time/posix-timers.c | 24 +- + kernel/time/timer.c | 2 +- + kernel/time/timer_stats.c | 10 +- + kernel/trace/blktrace.c | 6 +- + kernel/trace/ftrace.c | 15 +- + kernel/trace/ring_buffer.c | 96 +- + kernel/trace/trace.c | 2 +- + kernel/trace/trace.h | 2 +- + kernel/trace/trace_clock.c | 4 +- + kernel/trace/trace_events.c | 1 - + kernel/trace/trace_functions_graph.c | 4 +- + kernel/trace/trace_mmiotrace.c | 8 +- + kernel/trace/trace_output.c | 10 +- + kernel/trace/trace_seq.c | 2 +- + kernel/trace/trace_stack.c | 2 +- + kernel/user_namespace.c | 2 +- + kernel/utsname_sysctl.c | 2 +- + kernel/watchdog.c | 2 +- + kernel/workqueue.c | 2 +- + lib/Kconfig.debug | 8 +- + lib/Makefile | 2 +- + lib/bitmap.c | 8 +- + lib/bug.c | 2 + + lib/debugobjects.c | 2 +- + lib/decompress_bunzip2.c | 3 +- + lib/decompress_unlzma.c | 4 +- + lib/div64.c | 4 +- + lib/dma-debug.c | 4 +- + lib/inflate.c | 2 +- + lib/ioremap.c | 4 +- + lib/kobject.c | 4 +- + lib/list_debug.c | 126 +- + lib/lockref.c | 44 +- + lib/percpu-refcount.c | 2 +- + lib/radix-tree.c | 2 +- + lib/random32.c | 2 +- + lib/show_mem.c | 2 +- + lib/strncpy_from_user.c | 2 +- + lib/strnlen_user.c | 2 +- + lib/swiotlb.c | 2 +- + lib/usercopy.c | 6 + + lib/vsprintf.c | 12 +- + mm/Kconfig | 6 +- + mm/backing-dev.c | 4 +- + mm/debug.c | 3 + + mm/filemap.c | 2 +- + mm/gup.c | 13 +- + mm/highmem.c | 6 +- + mm/hugetlb.c | 70 +- + mm/internal.h | 1 + + mm/maccess.c | 4 +- + mm/madvise.c | 37 + + mm/memory-failure.c | 6 +- + mm/memory.c | 424 +- + mm/mempolicy.c | 25 + + mm/mlock.c | 15 +- + mm/mm_init.c | 2 +- + mm/mmap.c | 582 +- + mm/mprotect.c | 137 +- + mm/mremap.c | 39 +- + mm/nommu.c | 21 +- + mm/page-writeback.c | 2 +- + mm/page_alloc.c | 49 +- + mm/percpu.c | 2 +- + mm/process_vm_access.c | 14 +- + mm/rmap.c | 45 +- + mm/shmem.c | 19 +- + mm/slab.c | 109 +- + mm/slab.h | 22 +- + mm/slab_common.c | 86 +- + mm/slob.c | 218 +- + mm/slub.c | 102 +- + mm/sparse-vmemmap.c | 4 +- + mm/sparse.c | 2 +- + mm/swap.c | 2 + + mm/swapfile.c | 12 +- + mm/util.c | 6 + + mm/vmalloc.c | 114 +- + mm/vmstat.c | 12 +- + net/8021q/vlan.c | 5 +- + net/8021q/vlan_netlink.c | 2 +- + net/9p/mod.c | 4 +- + net/9p/trans_fd.c | 2 +- + net/atm/atm_misc.c | 8 +- + net/atm/lec.h | 2 +- + net/atm/proc.c | 6 +- + net/atm/resources.c | 4 +- + net/ax25/sysctl_net_ax25.c | 2 +- + net/batman-adv/bat_iv_ogm.c | 8 +- + net/batman-adv/fragmentation.c | 2 +- + net/batman-adv/soft-interface.c | 8 +- + net/batman-adv/types.h | 6 +- + net/bluetooth/hci_sock.c | 2 +- + net/bluetooth/l2cap_core.c | 6 +- + net/bluetooth/l2cap_sock.c | 12 +- + net/bluetooth/rfcomm/sock.c | 4 +- + net/bluetooth/rfcomm/tty.c | 4 +- + net/bridge/br_netlink.c | 2 +- + net/bridge/netfilter/ebtables.c | 6 +- + net/caif/cfctrl.c | 11 +- + net/caif/chnl_net.c | 2 +- + net/can/af_can.c | 2 +- + net/can/gw.c | 6 +- + net/ceph/messenger.c | 4 +- + net/compat.c | 24 +- + net/core/datagram.c | 2 +- + net/core/dev.c | 16 +- + net/core/filter.c | 2 +- + net/core/flow.c | 6 +- + net/core/neighbour.c | 4 +- + net/core/net-sysfs.c | 2 +- + net/core/net_namespace.c | 8 +- + net/core/netpoll.c | 4 +- + net/core/rtnetlink.c | 15 +- + net/core/scm.c | 14 +- + net/core/skbuff.c | 8 +- + net/core/sock.c | 28 +- + net/core/sock_diag.c | 15 +- + net/core/sysctl_net_core.c | 22 +- + net/decnet/af_decnet.c | 1 + + net/decnet/sysctl_net_decnet.c | 4 +- + net/dsa/dsa.c | 2 +- + net/hsr/hsr_netlink.c | 2 +- + net/ieee802154/6lowpan/core.c | 2 +- + net/ieee802154/6lowpan/reassembly.c | 14 +- + net/ipv4/af_inet.c | 2 +- + net/ipv4/devinet.c | 18 +- + net/ipv4/fib_frontend.c | 6 +- + net/ipv4/fib_semantics.c | 2 +- + net/ipv4/inet_connection_sock.c | 4 +- + net/ipv4/inet_timewait_sock.c | 2 +- + net/ipv4/inetpeer.c | 2 +- + net/ipv4/ip_fragment.c | 15 +- + net/ipv4/ip_gre.c | 6 +- + net/ipv4/ip_sockglue.c | 2 +- + net/ipv4/ip_vti.c | 4 +- + net/ipv4/ipconfig.c | 6 +- + net/ipv4/ipip.c | 4 +- + net/ipv4/netfilter/arp_tables.c | 12 +- + net/ipv4/netfilter/ip_tables.c | 12 +- + net/ipv4/ping.c | 14 +- + net/ipv4/raw.c | 14 +- + net/ipv4/route.c | 32 +- + net/ipv4/sysctl_net_ipv4.c | 22 +- + net/ipv4/tcp_input.c | 6 +- + net/ipv4/tcp_probe.c | 2 +- + net/ipv4/udp.c | 10 +- + net/ipv4/xfrm4_policy.c | 18 +- + net/ipv6/addrconf.c | 18 +- + net/ipv6/af_inet6.c | 2 +- + net/ipv6/datagram.c | 2 +- + net/ipv6/icmp.c | 2 +- + net/ipv6/ip6_fib.c | 4 +- + net/ipv6/ip6_gre.c | 10 +- + net/ipv6/ip6_tunnel.c | 4 +- + net/ipv6/ip6_vti.c | 4 +- + net/ipv6/ipv6_sockglue.c | 2 +- + net/ipv6/netfilter/ip6_tables.c | 12 +- + net/ipv6/netfilter/nf_conntrack_reasm.c | 14 +- + net/ipv6/ping.c | 33 +- + net/ipv6/raw.c | 17 +- + net/ipv6/reassembly.c | 13 +- + net/ipv6/route.c | 2 +- + net/ipv6/sit.c | 4 +- + net/ipv6/sysctl_net_ipv6.c | 2 +- + net/ipv6/udp.c | 6 +- + net/ipv6/xfrm6_policy.c | 17 +- + net/irda/ircomm/ircomm_tty.c | 18 +- + net/iucv/af_iucv.c | 4 +- + net/iucv/iucv.c | 2 +- + net/key/af_key.c | 4 +- + net/l2tp/l2tp_eth.c | 38 +- + net/l2tp/l2tp_ip.c | 2 +- + net/l2tp/l2tp_ip6.c | 2 +- + net/mac80211/cfg.c | 8 +- + net/mac80211/ieee80211_i.h | 3 +- + net/mac80211/iface.c | 20 +- + net/mac80211/main.c | 2 +- + net/mac80211/pm.c | 4 +- + net/mac80211/rate.c | 2 +- + net/mac80211/sta_info.c | 2 +- + net/mac80211/util.c | 8 +- + net/mpls/af_mpls.c | 6 +- + net/netfilter/ipset/ip_set_core.c | 2 +- + net/netfilter/ipvs/ip_vs_conn.c | 6 +- + net/netfilter/ipvs/ip_vs_core.c | 4 +- + net/netfilter/ipvs/ip_vs_ctl.c | 14 +- + net/netfilter/ipvs/ip_vs_lblc.c | 2 +- + net/netfilter/ipvs/ip_vs_lblcr.c | 2 +- + net/netfilter/ipvs/ip_vs_sync.c | 6 +- + net/netfilter/ipvs/ip_vs_xmit.c | 4 +- + net/netfilter/nf_conntrack_acct.c | 2 +- + net/netfilter/nf_conntrack_ecache.c | 2 +- + net/netfilter/nf_conntrack_helper.c | 2 +- + net/netfilter/nf_conntrack_proto.c | 2 +- + net/netfilter/nf_conntrack_standalone.c | 2 +- + net/netfilter/nf_conntrack_timestamp.c | 2 +- + net/netfilter/nf_log.c | 10 +- + net/netfilter/nf_sockopt.c | 4 +- + net/netfilter/nfnetlink_log.c | 4 +- + net/netfilter/nft_compat.c | 9 +- + net/netfilter/xt_statistic.c | 8 +- + net/netlink/af_netlink.c | 4 +- + net/openvswitch/vport-internal_dev.c | 2 +- + net/packet/af_packet.c | 8 +- + net/phonet/pep.c | 6 +- + net/phonet/socket.c | 2 +- + net/phonet/sysctl.c | 2 +- + net/rds/cong.c | 6 +- + net/rds/ib.h | 2 +- + net/rds/ib_cm.c | 2 +- + net/rds/ib_recv.c | 4 +- + net/rds/iw.h | 2 +- + net/rds/iw_cm.c | 2 +- + net/rds/iw_recv.c | 4 +- + net/rds/rds.h | 2 +- + net/rds/tcp.c | 2 +- + net/rds/tcp_send.c | 2 +- + net/rxrpc/af_rxrpc.c | 2 +- + net/rxrpc/ar-ack.c | 14 +- + net/rxrpc/ar-call.c | 2 +- + net/rxrpc/ar-connection.c | 2 +- + net/rxrpc/ar-connevent.c | 2 +- + net/rxrpc/ar-input.c | 4 +- + net/rxrpc/ar-internal.h | 8 +- + net/rxrpc/ar-local.c | 2 +- + net/rxrpc/ar-output.c | 4 +- + net/rxrpc/ar-peer.c | 2 +- + net/rxrpc/ar-proc.c | 4 +- + net/rxrpc/ar-transport.c | 2 +- + net/rxrpc/rxkad.c | 4 +- + net/sched/sch_generic.c | 4 +- + net/sctp/ipv6.c | 6 +- + net/sctp/protocol.c | 10 +- + net/sctp/sm_sideeffect.c | 2 +- + net/sctp/socket.c | 21 +- + net/sctp/sysctl.c | 10 +- + net/socket.c | 18 +- + net/sunrpc/auth_gss/svcauth_gss.c | 4 +- + net/sunrpc/clnt.c | 4 +- + net/sunrpc/sched.c | 4 +- + net/sunrpc/svc.c | 4 +- + net/sunrpc/svcauth_unix.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma.c | 38 +- + net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 8 +- + net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 +- + net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +- + net/tipc/netlink_compat.c | 12 +- + net/tipc/subscr.c | 2 +- + net/unix/af_unix.c | 7 +- + net/unix/sysctl_net_unix.c | 2 +- + net/wireless/wext-core.c | 19 +- + net/xfrm/xfrm_policy.c | 16 +- + net/xfrm/xfrm_state.c | 33 +- + net/xfrm/xfrm_sysctl.c | 2 +- + scripts/Kbuild.include | 2 +- + scripts/Makefile.build | 2 +- + scripts/Makefile.clean | 3 +- + scripts/Makefile.host | 69 +- + scripts/basic/fixdep.c | 12 +- + scripts/dtc/checks.c | 14 +- + scripts/dtc/data.c | 6 +- + scripts/dtc/flattree.c | 8 +- + scripts/dtc/livetree.c | 4 +- + scripts/gcc-plugin.sh | 51 + + scripts/headers_install.sh | 1 + + scripts/kallsyms.c | 4 +- + scripts/kconfig/lkc.h | 5 +- + scripts/kconfig/menu.c | 2 +- + scripts/kconfig/symbol.c | 6 +- + scripts/link-vmlinux.sh | 2 +- + scripts/mod/file2alias.c | 14 +- + scripts/mod/modpost.c | 25 +- + scripts/mod/modpost.h | 6 +- + scripts/mod/sumversion.c | 2 +- + scripts/module-common.lds | 4 + + scripts/package/builddeb | 1 + + scripts/pnmtologo.c | 6 +- + scripts/sortextable.h | 6 +- + scripts/tags.sh | 2 +- + security/Kconfig | 692 +- + security/integrity/ima/ima.h | 4 +- + security/integrity/ima/ima_api.c | 2 +- + security/integrity/ima/ima_fs.c | 4 +- + security/integrity/ima/ima_queue.c | 2 +- + security/keys/key.c | 18 +- + security/selinux/avc.c | 6 +- + security/selinux/include/xfrm.h | 2 +- + security/yama/yama_lsm.c | 2 +- + sound/aoa/codecs/onyx.c | 7 +- + sound/aoa/codecs/onyx.h | 1 + + sound/core/oss/pcm_oss.c | 18 +- + sound/core/pcm_compat.c | 2 +- + sound/core/pcm_native.c | 4 +- + sound/core/sound.c | 2 +- + sound/drivers/mts64.c | 14 +- + sound/drivers/opl4/opl4_lib.c | 2 +- + sound/drivers/portman2x4.c | 3 +- + sound/firewire/amdtp.c | 4 +- + sound/firewire/amdtp.h | 4 +- + sound/firewire/isight.c | 10 +- + sound/firewire/scs1x.c | 8 +- + sound/oss/sb_audio.c | 2 +- + sound/oss/swarm_cs4297a.c | 6 +- + sound/pci/hda/hda_codec.c | 2 +- + sound/pci/ymfpci/ymfpci.h | 2 +- + sound/pci/ymfpci/ymfpci_main.c | 12 +- + sound/soc/codecs/sti-sas.c | 10 +- + sound/soc/soc-ac97.c | 6 +- + sound/soc/xtensa/xtfpga-i2s.c | 2 +- + tools/gcc/Makefile | 42 + + tools/gcc/checker_plugin.c | 150 + + tools/gcc/colorize_plugin.c | 215 + + tools/gcc/constify_plugin.c | 571 + + tools/gcc/gcc-common.h | 812 + + tools/gcc/initify_plugin.c | 552 + + tools/gcc/kallocstat_plugin.c | 188 + + tools/gcc/kernexec_plugin.c | 549 + + tools/gcc/latent_entropy_plugin.c | 470 + + tools/gcc/size_overflow_plugin/.gitignore | 2 + + tools/gcc/size_overflow_plugin/Makefile | 28 + + .../disable_size_overflow_hash.data |12422 ++++++++++++ + .../generate_size_overflow_hash.sh | 103 + + .../insert_size_overflow_asm.c | 416 + + .../size_overflow_plugin/intentional_overflow.c | 1010 + + .../size_overflow_plugin/remove_unnecessary_dup.c | 137 + + tools/gcc/size_overflow_plugin/size_overflow.h | 323 + + .../gcc/size_overflow_plugin/size_overflow_debug.c | 194 + + .../size_overflow_plugin/size_overflow_hash.data |20735 ++++++++++++++++++++ + .../size_overflow_hash_aux.data | 92 + + tools/gcc/size_overflow_plugin/size_overflow_ipa.c | 1226 ++ + .../gcc/size_overflow_plugin/size_overflow_misc.c | 505 + + .../size_overflow_plugin/size_overflow_plugin.c | 318 + + .../size_overflow_plugin_hash.c | 352 + + .../size_overflow_plugin/size_overflow_transform.c | 749 + + .../size_overflow_transform_core.c | 1010 + + tools/gcc/stackleak_plugin.c | 436 + + tools/gcc/structleak_plugin.c | 287 + + tools/include/linux/compiler.h | 8 + + tools/lib/api/Makefile | 2 +- + tools/perf/util/include/asm/alternative-asm.h | 3 + + tools/virtio/linux/uaccess.h | 2 +- + virt/kvm/kvm_main.c | 42 +- + 1944 files changed, 66925 insertions(+), 8949 deletions(-)